From 8f81306bed6e2daa55739e3a44e605b7a13d62d0 Mon Sep 17 00:00:00 2001 From: Scott Horowitz Date: Thu, 25 Jan 2024 11:48:22 -0700 Subject: [PATCH] Squashed 'hpxml-measures/' changes from 1531070587..067a2f4fcb 067a2f4fcb Merge pull request #1594 from NREL/whole_building_element 11df190d69 Update expected warning msg c766fb808b Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into whole_building_element 230a7177bf Merge pull request #1558 from NREL/autosizing_detailed_performance 4a1a2f44e4 Fix/update code, improve warning messages, add test. 19f740d930 Minor docs cleanup. 26f73782f8 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance 16e04ce9ee Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into whole_building_element ac23fdbc05 Merge pull request #1598 from NREL/error-emissions-runperiod 385a057ab7 Latest results. ea8db187b9 Update CI expected test results. e9ed98ffbb Fix bug. Expand test to include leap year, incorporate into existing base-simcontrol-runperiod-1-month.xml sample file. 5929b89c3d Add failing sample file with emissions scenarios and short run period. a473172fdb Merge branch 'autosizing_detailed_performance' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance c8dfaa714f address comments related to docs 7e7d7f0db3 Latest results. b655081b8d address comments 1bffa2cf72 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance 79605b0d87 Merge pull request #1596 from NREL/wh_installation_location 4b083fe237 Merge branch 'wh_installation_location' of https://github.com/NREL/OpenStudio-HPXML into wh_installation_location c7b48bb36c Updated documentation so all references to WH installation location are updated. Thanks Scott for pointing out I missed the other references to it. 04cae6b4b5 Update Changelog.md ab7ae0871e Fix CI test. fa23fdbdcd Latest results. 46d001651f Update documentation 080f971743 Minor update to logic to be consistent with ANSI 301 2022. ff419d5f4d Merge branch 'master' into autosizing_detailed_performance bafce2715a Convert dps to floats and test passes. 1b2eb7d25c Merge branch 'whole_building_element' of https://github.com/NREL/OpenStudio-HPXML into whole_building_element 86a438ef2f Expose arg in BuildResidentialHPXML measure. Update docs/changelog. 1076f40c07 Latest results. c763875bff Clean up temp file. 0c27b2be11 Use a warning instead of an error. Add base-bldgtype-mf-whole-building.xml simulation results to CI artifact. 586a7b06b4 Disallow building_id arg when WholeSFAorMFBuildingSimulation=true. Expand tests. a295a57cf4 Fix CI tests. ab5b3d1fa8 Revert. 13a2f86218 Bugfix. d8d0c8c7b0 This is simpler and should work. 8a2712fbe2 Replaces `-b ALL` with an element in the HPXML file, which allows us to perform validation specific to whole MF building simulations. c75b04ac09 New build test for perf data with apply_defaults=true. 9587aeb95d Latest results. 69730d7aaf Merge branch 'autosizing_detailed_performance' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance 6c5cedc713 reconfigure a test file 14fd75bf8e Small fix, noticed by @joseph-robertson. 2be3174fa5 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance c3fdc0713a update_measures 7b1c6eead7 docs and changelog d475647bb9 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance 5d9aa74af8 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance ebcc65c486 update hpxmls 21f675c788 fixed ci error and added a test for capacity and capacity fractions f59feb3721 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance 315d22a5af require nominal cooling heating capacities when capacities are provided in detailed performance data 83c2193438 Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into autosizing_detailed_performance 1b00e68f88 first cut to implement autosizing detailed performance data 66ebdb1090 add new test files git-subtree-dir: hpxml-measures git-subtree-split: 067a2f4fcbd86516600d46d0ef20cf9d5ed1a10c --- BuildResidentialHPXML/README.md | 13 +- BuildResidentialHPXML/measure.rb | 64 +- BuildResidentialHPXML/measure.xml | 32 +- .../tests/test_build_residential_hpxml.rb | 40 +- BuildResidentialScheduleFile/measure.rb | 16 +- BuildResidentialScheduleFile/measure.xml | 8 +- .../test_build_residential_schedule_file.rb | 8 +- Changelog.md | 4 + HPXMLtoOpenStudio/README.md | 2 +- HPXMLtoOpenStudio/measure.rb | 4 +- HPXMLtoOpenStudio/measure.xml | 28 +- HPXMLtoOpenStudio/resources/hpxml.rb | 26 +- HPXMLtoOpenStudio/resources/hpxml_defaults.rb | 42 +- .../hpxml_schematron/EPvalidator.xml | 19 +- HPXMLtoOpenStudio/resources/hvac.rb | 9 +- HPXMLtoOpenStudio/resources/hvac_sizing.rb | 12 +- HPXMLtoOpenStudio/resources/waterheater.rb | 8 +- HPXMLtoOpenStudio/tests/test_defaults.rb | 52 + HPXMLtoOpenStudio/tests/test_simcontrols.rb | 6 +- HPXMLtoOpenStudio/tests/test_validation.rb | 16 +- ReportSimulationOutput/measure.rb | 51 +- ReportSimulationOutput/measure.xml | 8 +- .../tests/test_report_sim_output.rb | 10 +- ReportUtilityBills/measure.rb | 9 +- ReportUtilityBills/measure.xml | 8 +- .../tests/test_report_utility_bills.rb | 12 +- docs/source/workflow_inputs.rst | 88 +- tasks.rb | 10 +- workflow/hpxml_inputs.json | 71 +- workflow/run_simulation.rb | 2 +- ...ml => base-bldgtype-mf-whole-building.xml} | 49 +- ...ar-speed-detailed-performance-autosize.xml | 643 +++++++ ...iled-performance-normalized-capacities.xml | 645 +++++++ ...ar-speed-detailed-performance-autosize.xml | 573 ++++++ ...ductless-detailed-performance-autosize.xml | 534 ++++++ ...p-ducted-detailed-performance-autosize.xml | 643 +++++++ ...ductless-detailed-performance-autosize.xml | 597 ++++++ .../base-multiple-sfd-buildings.xml | 1599 ----------------- .../base-simcontrol-runperiod-1-month.xml | 61 +- .../results_workflow_simulations1.csv | 7 + .../results_workflow_simulations1_bills.csv | 7 + .../results_workflow_simulations2.csv | 4 +- .../results_workflow_simulations2_bills.csv | 4 +- workflow/tests/test_other.rb | 84 +- workflow/tests/util.rb | 31 +- 45 files changed, 4247 insertions(+), 1912 deletions(-) rename workflow/sample_files/{base-multiple-mf-units.xml => base-bldgtype-mf-whole-building.xml} (98%) create mode 100644 workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-autosize.xml create mode 100644 workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-normalized-capacities.xml create mode 100644 workflow/sample_files/base-hvac-central-ac-only-var-speed-detailed-performance-autosize.xml create mode 100644 workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance-autosize.xml create mode 100644 workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-detailed-performance-autosize.xml create mode 100644 workflow/sample_files/base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml delete mode 100644 workflow/sample_files/base-multiple-sfd-buildings.xml diff --git a/BuildResidentialHPXML/README.md b/BuildResidentialHPXML/README.md index 84a4ad40d..1c5d2b6c6 100644 --- a/BuildResidentialHPXML/README.md +++ b/BuildResidentialHPXML/README.md @@ -33,6 +33,17 @@ Absolute/relative path of the existing HPXML file. If not provided, a new HPXML
+**Whole SFA/MF Building Simulation?** + +If the HPXML file represents a single family-attached/multifamily building with multiple dwelling units defined, specifies whether to run the HPXML file as a single whole building model. + +- **Name:** ``whole_sfa_or_mf_building_sim`` +- **Type:** ``Boolean`` + +- **Required:** ``false`` + +
+ **Software Info: Program Used** The name of the software program used. @@ -2287,7 +2298,7 @@ Type of capacity values for detailed performance data if available. Applies only - **Required:** ``false`` -- **Choices:** `Absolute capacities` +- **Choices:** `Absolute capacities`, `Normalized capacity fractions`
diff --git a/BuildResidentialHPXML/measure.rb b/BuildResidentialHPXML/measure.rb index aaf6dd1bd..9ee8fe735 100644 --- a/BuildResidentialHPXML/measure.rb +++ b/BuildResidentialHPXML/measure.rb @@ -49,6 +49,11 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument arg.setDescription('Absolute/relative path of the existing HPXML file. If not provided, a new HPXML file with one Building element is created. If provided, a new Building element will be appended to this HPXML file (e.g., to create a multifamily HPXML file describing multiple dwelling units).') args << arg + arg = OpenStudio::Measure::OSArgument::makeBoolArgument('whole_sfa_or_mf_building_sim', false) + arg.setDisplayName('Whole SFA/MF Building Simulation?') + arg.setDescription('If the HPXML file represents a single family-attached/multifamily building with multiple dwelling units defined, specifies whether to run the HPXML file as a single whole building model.') + args << arg + arg = OpenStudio::Measure::OSArgument.makeStringArgument('software_info_program_used', false) arg.setDisplayName('Software Info: Program Used') arg.setDescription('The name of the software program used.') @@ -1384,7 +1389,7 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument perf_data_capacity_type_choices = OpenStudio::StringVector.new perf_data_capacity_type_choices << 'Absolute capacities' - # perf_data_capacity_type_choices << 'Normalized capacity fractions' + perf_data_capacity_type_choices << 'Normalized capacity fractions' arg = OpenStudio::Measure::OSArgument.makeChoiceArgument('hvac_perf_data_capacity_type', perf_data_capacity_type_choices, false) arg.setDisplayName('HVAC Detailed Performance Data: Capacity Type') @@ -3608,7 +3613,7 @@ def self.create(runner, model, args, epw_path, hpxml_path, existing_hpxml_path) sorted_surfaces = model.getSurfaces.sort_by { |s| s.additionalProperties.getFeatureAsInteger('Index').get } sorted_subsurfaces = model.getSubSurfaces.sort_by { |ss| ss.additionalProperties.getFeatureAsInteger('Index').get } - hpxml = HPXML.new(hpxml_path: existing_hpxml_path, building_id: 'ALL') + hpxml = HPXML.new(hpxml_path: existing_hpxml_path) if not set_header(runner, hpxml, args) return false @@ -3811,6 +3816,10 @@ def self.set_header(runner, hpxml, args) hpxml.header.xml_generated_by = 'BuildResidentialHPXML' hpxml.header.transaction = 'create' + if args[:whole_sfa_or_mf_building_sim].is_initialized + hpxml.header.whole_sfa_or_mf_building_sim = args[:whole_sfa_or_mf_building_sim].get + end + if args[:schedules_vacancy_period].is_initialized begin_month, begin_day, begin_hour, end_month, end_day, end_hour = Schedule.parse_date_time_range(args[:schedules_vacancy_period].get) @@ -5232,23 +5241,23 @@ def self.set_cooling_systems(hpxml_bldg, args) outdoor_temperature, min_speed_cap_or_frac, max_speed_cap_or_frac, min_speed_cop, max_speed_cop = cooling_perf_data_data_point if hvac_perf_data_capacity_type == 'Absolute capacities' - min_speed_capacity = min_speed_cap_or_frac - max_speed_capacity = max_speed_cap_or_frac + min_speed_capacity = Float(min_speed_cap_or_frac) + max_speed_capacity = Float(max_speed_cap_or_frac) elsif hvac_perf_data_capacity_type == 'Normalized capacity fractions' - min_speed_capacity_fraction_of_nominal = min_speed_cap_or_frac - max_speed_capacity_fraction_of_nominal = max_speed_cap_or_frac + min_speed_capacity_fraction_of_nominal = Float(min_speed_cap_or_frac) + max_speed_capacity_fraction_of_nominal = Float(max_speed_cap_or_frac) end - clg_perf_data.add(outdoor_temperature: outdoor_temperature, + clg_perf_data.add(outdoor_temperature: Float(outdoor_temperature), capacity: min_speed_capacity, capacity_fraction_of_nominal: min_speed_capacity_fraction_of_nominal, capacity_description: HPXML::CapacityDescriptionMinimum, - efficiency_cop: min_speed_cop) - clg_perf_data.add(outdoor_temperature: outdoor_temperature, + efficiency_cop: Float(min_speed_cop)) + clg_perf_data.add(outdoor_temperature: Float(outdoor_temperature), capacity: max_speed_capacity, capacity_fraction_of_nominal: max_speed_capacity_fraction_of_nominal, capacity_description: HPXML::CapacityDescriptionMaximum, - efficiency_cop: max_speed_cop) + efficiency_cop: Float(max_speed_cop)) end end end @@ -5413,28 +5422,25 @@ def self.set_heat_pumps(hpxml_bldg, args) outdoor_temperature, min_speed_cap_or_frac, max_speed_cap_or_frac, min_speed_cop, max_speed_cop = heating_perf_data_data_point if hvac_perf_data_capacity_type == 'Absolute capacities' - min_speed_capacity = min_speed_cap_or_frac - max_speed_capacity = max_speed_cap_or_frac + min_speed_capacity = Float(min_speed_cap_or_frac) + max_speed_capacity = Float(max_speed_cap_or_frac) elsif hvac_perf_data_capacity_type == 'Normalized capacity fractions' - min_speed_capacity_fraction_of_nominal = min_speed_cap_or_frac - max_speed_capacity_fraction_of_nominal = max_speed_cap_or_frac + min_speed_capacity_fraction_of_nominal = Float(min_speed_cap_or_frac) + max_speed_capacity_fraction_of_nominal = Float(max_speed_cap_or_frac) end - htg_perf_data.add(outdoor_temperature: outdoor_temperature, + htg_perf_data.add(outdoor_temperature: Float(outdoor_temperature), capacity: min_speed_capacity, capacity_fraction_of_nominal: min_speed_capacity_fraction_of_nominal, capacity_description: HPXML::CapacityDescriptionMinimum, - efficiency_cop: min_speed_cop) - htg_perf_data.add(outdoor_temperature: outdoor_temperature, + efficiency_cop: Float(min_speed_cop)) + htg_perf_data.add(outdoor_temperature: Float(outdoor_temperature), capacity: max_speed_capacity, capacity_fraction_of_nominal: max_speed_capacity_fraction_of_nominal, capacity_description: HPXML::CapacityDescriptionMaximum, - efficiency_cop: max_speed_cop) + efficiency_cop: Float(max_speed_cop)) end - end - if args[:hvac_perf_data_capacity_type].is_initialized - hvac_perf_data_capacity_type = args[:hvac_perf_data_capacity_type].get hvac_perf_data_cooling_outdoor_temperatures = args[:hvac_perf_data_cooling_outdoor_temperatures].get.split(',').map(&:strip) hvac_perf_data_cooling_min_speed_capacities = args[:hvac_perf_data_cooling_min_speed_capacities].get.split(',').map(&:strip) hvac_perf_data_cooling_max_speed_capacities = args[:hvac_perf_data_cooling_max_speed_capacities].get.split(',').map(&:strip) @@ -5450,23 +5456,23 @@ def self.set_heat_pumps(hpxml_bldg, args) outdoor_temperature, min_speed_cap_or_frac, max_speed_cap_or_frac, min_speed_cop, max_speed_cop = cooling_perf_data_data_point if hvac_perf_data_capacity_type == 'Absolute capacities' - min_speed_capacity = min_speed_cap_or_frac - max_speed_capacity = max_speed_cap_or_frac + min_speed_capacity = Float(min_speed_cap_or_frac) + max_speed_capacity = Float(max_speed_cap_or_frac) elsif hvac_perf_data_capacity_type == 'Normalized capacity fractions' - min_speed_capacity_fraction_of_nominal = min_speed_cap_or_frac - max_speed_capacity_fraction_of_nominal = max_speed_cap_or_frac + min_speed_capacity_fraction_of_nominal = Float(min_speed_cap_or_frac) + max_speed_capacity_fraction_of_nominal = Float(max_speed_cap_or_frac) end - clg_perf_data.add(outdoor_temperature: outdoor_temperature, + clg_perf_data.add(outdoor_temperature: Float(outdoor_temperature), capacity: min_speed_capacity, capacity_fraction_of_nominal: min_speed_capacity_fraction_of_nominal, capacity_description: HPXML::CapacityDescriptionMinimum, - efficiency_cop: min_speed_cop) - clg_perf_data.add(outdoor_temperature: outdoor_temperature, + efficiency_cop: Float(min_speed_cop)) + clg_perf_data.add(outdoor_temperature: Float(outdoor_temperature), capacity: max_speed_capacity, capacity_fraction_of_nominal: max_speed_capacity_fraction_of_nominal, capacity_description: HPXML::CapacityDescriptionMaximum, - efficiency_cop: max_speed_cop) + efficiency_cop: Float(max_speed_cop)) end end end diff --git a/BuildResidentialHPXML/measure.xml b/BuildResidentialHPXML/measure.xml index 0f7703d69..1117d2c43 100644 --- a/BuildResidentialHPXML/measure.xml +++ b/BuildResidentialHPXML/measure.xml @@ -3,8 +3,8 @@ 3.1 build_residential_hpxml a13a8983-2b01-4930-8af2-42030b6e4233 - 54215a14-93ab-4f56-b310-4fdb6cc374e9 - 2024-01-17T16:52:35Z + 20c13f7b-9d7f-4d4f-b258-384312c93913 + 2024-01-25T17:44:12Z 2C38F48B BuildResidentialHPXML HPXML Builder @@ -27,6 +27,24 @@ false false + + whole_sfa_or_mf_building_sim + Whole SFA/MF Building Simulation? + If the HPXML file represents a single family-attached/multifamily building with multiple dwelling units defined, specifies whether to run the HPXML file as a single whole building model. + Boolean + false + false + + + true + true + + + false + false + + + software_info_program_used Software Info: Program Used @@ -2898,6 +2916,10 @@ Absolute capacities Absolute capacities + + Normalized capacity fractions + Normalized capacity fractions + @@ -7110,7 +7132,7 @@ README.md md readme - 3BA4B197 + 25A31E46 README.md.erb @@ -7127,7 +7149,7 @@ measure.rb rb script - EEE134EA + 1C5F33C0 geometry.rb @@ -7139,7 +7161,7 @@ test_build_residential_hpxml.rb rb test - 03168F56 + 85F5709E diff --git a/BuildResidentialHPXML/tests/test_build_residential_hpxml.rb b/BuildResidentialHPXML/tests/test_build_residential_hpxml.rb index 11249a007..477383d6d 100644 --- a/BuildResidentialHPXML/tests/test_build_residential_hpxml.rb +++ b/BuildResidentialHPXML/tests/test_build_residential_hpxml.rb @@ -68,6 +68,7 @@ def test_workflows 'extra-water-heater-attic.xml' => 'base-sfd.xml', 'extra-battery-crawlspace.xml' => 'base-sfd.xml', 'extra-battery-attic.xml' => 'base-sfd.xml', + 'extra-detailed-performance-autosize.xml' => 'base-sfd.xml', 'extra-sfa-atticroof-flat.xml' => 'base-sfa.xml', 'extra-sfa-atticroof-conditioned-eaves-gable.xml' => 'extra-sfa-slab.xml', @@ -341,9 +342,13 @@ def test_workflows flunk "Error: Did not successfully generate #{hpxml_file}." end - hpxml_path = File.absolute_path(File.join(@output_path, hpxml_file)) - hpxml = HPXML.new(hpxml_path: hpxml_path, building_id: 'ALL') + hpxml = HPXML.new(hpxml_path: hpxml_path) + if hpxml.errors.size > 0 + puts hpxml.errors.to_s + puts "\nError: Did not successfully validate #{hpxml_file}." + exit! + end hpxml.header.xml_generated_by = 'build_residential_hpxml_test.rb' hpxml.header.created_date_and_time = Time.new(2000, 1, 1).strftime('%Y-%m-%dT%H:%M:%S%:z') # Hard-code to prevent diffs @@ -356,7 +361,8 @@ def test_workflows puts errors.to_s puts "\nError: Did not successfully validate #{hpxml_file}." exit! - rescue Exception + rescue Exception => e + puts "#{e.message}\n#{e.backtrace.join("\n")}" flunk "Error: Did not successfully generate #{hpxml_file}" end end @@ -656,6 +662,7 @@ def _set_measure_argument_values(hpxml_file, args) args['permanent_spa_heater_type'] = HPXML::HeaterTypeElectricResistance elsif ['base-sfd2.xml'].include? hpxml_file args['existing_hpxml_path'] = File.join(File.dirname(__FILE__), 'extra_files/base-sfd.xml') + args['whole_sfa_or_mf_building_sim'] = true elsif ['base-sfa.xml'].include? hpxml_file args['geometry_unit_type'] = HPXML::ResidentialTypeSFA args['geometry_unit_cfa'] = 1800.0 @@ -672,8 +679,10 @@ def _set_measure_argument_values(hpxml_file, args) args['air_leakage_type'] = HPXML::InfiltrationTypeUnitTotal elsif ['base-sfa2.xml'].include? hpxml_file args['existing_hpxml_path'] = File.join(File.dirname(__FILE__), 'extra_files/base-sfa.xml') + args['whole_sfa_or_mf_building_sim'] = true elsif ['base-sfa3.xml'].include? hpxml_file args['existing_hpxml_path'] = File.join(File.dirname(__FILE__), 'extra_files/base-sfa2.xml') + args['whole_sfa_or_mf_building_sim'] = true elsif ['base-mf.xml'].include? hpxml_file args['geometry_unit_type'] = HPXML::ResidentialTypeApartment args['geometry_unit_cfa'] = 900.0 @@ -701,10 +710,13 @@ def _set_measure_argument_values(hpxml_file, args) args['air_leakage_type'] = HPXML::InfiltrationTypeUnitTotal elsif ['base-mf2.xml'].include? hpxml_file args['existing_hpxml_path'] = File.join(File.dirname(__FILE__), 'extra_files/base-mf.xml') + args['whole_sfa_or_mf_building_sim'] = true elsif ['base-mf3.xml'].include? hpxml_file args['existing_hpxml_path'] = File.join(File.dirname(__FILE__), 'extra_files/base-mf2.xml') + args['whole_sfa_or_mf_building_sim'] = true elsif ['base-mf4.xml'].include? hpxml_file args['existing_hpxml_path'] = File.join(File.dirname(__FILE__), 'extra_files/base-mf3.xml') + args['whole_sfa_or_mf_building_sim'] = true elsif ['base-sfd-header.xml'].include? hpxml_file args['software_info_program_used'] = 'Program' args['software_info_program_version'] = '1' @@ -723,6 +735,7 @@ def _set_measure_argument_values(hpxml_file, args) args['utility_bill_scenario_names'] = 'Bills' elsif ['base-sfd-header-no-duplicates.xml'].include? hpxml_file args['existing_hpxml_path'] = File.join(File.dirname(__FILE__), 'extra_files/base-sfd-header.xml') + args['whole_sfa_or_mf_building_sim'] = true end # Extras @@ -915,6 +928,27 @@ def _set_measure_argument_values(hpxml_file, args) elsif ['extra-battery-attic.xml'].include? hpxml_file args['battery_present'] = true args['battery_location'] = HPXML::LocationAttic + elsif ['extra-detailed-performance-autosize.xml'].include? hpxml_file + args['heating_system_type'] = 'none' + args['cooling_system_type'] = 'none' + args['heat_pump_type'] = HPXML::HVACTypeHeatPumpAirToAir + args['heat_pump_heating_efficiency'] = 10.0 + args['heat_pump_cooling_efficiency'] = 17.25 + args['heat_pump_cooling_compressor_type'] = HPXML::HVACCompressorTypeVariableSpeed + args['heat_pump_cooling_sensible_heat_fraction'] = 0.78 + args.delete('heat_pump_heating_capacity') + args.delete('heat_pump_cooling_capacity') + args['hvac_perf_data_capacity_type'] = 'Normalized capacity fractions' + args['hvac_perf_data_heating_outdoor_temperatures'] = '47.0, 17.0, 5.0' + args['hvac_perf_data_heating_min_speed_capacities'] = '0.28, 0.12, 0.05' + args['hvac_perf_data_heating_max_speed_capacities'] = '1.0, 0.69, 0.55' + args['hvac_perf_data_heating_min_speed_cops'] = '4.73, 1.84, 0.81' + args['hvac_perf_data_heating_max_speed_cops'] = '3.44, 2.66, 2.28' + args['hvac_perf_data_cooling_outdoor_temperatures'] = '95.0, 82.0' + args['hvac_perf_data_cooling_min_speed_capacities'] = '0.325, 0.37' + args['hvac_perf_data_cooling_max_speed_capacities'] = '1.0, 1.11' + args['hvac_perf_data_cooling_min_speed_cops'] = '4.47, 6.34' + args['hvac_perf_data_cooling_max_speed_cops'] = '2.71, 3.53' elsif ['extra-sfa-atticroof-flat.xml'].include? hpxml_file args['geometry_attic_type'] = HPXML::AtticTypeFlatRoof args['ducts_supply_leakage_to_outside_value'] = 0.0 diff --git a/BuildResidentialScheduleFile/measure.rb b/BuildResidentialScheduleFile/measure.rb index 11137efca..094c50c60 100644 --- a/BuildResidentialScheduleFile/measure.rb +++ b/BuildResidentialScheduleFile/measure.rb @@ -104,7 +104,6 @@ def run(model, runner, user_arguments) building_id = nil building_id = args[:building_id].get if args[:building_id].is_initialized - hpxml = HPXML.new(hpxml_path: hpxml_path, building_id: building_id) debug = false if args[:debug].is_initialized @@ -121,9 +120,7 @@ def run(model, runner, user_arguments) runner.registerInfo('Unable to retrieve the schedules random seed; setting it to 1.') end - # create EpwFile object - epw_path = Location.get_epw_path(hpxml.buildings[0], hpxml_path) - epw_file = OpenStudio::EpwFile.new(epw_path) + epw_path, epw_file = nil, nil output_csv_basename, _ = args[:output_csv_path].split('.csv') @@ -135,12 +132,17 @@ def run(model, runner, user_arguments) next if doc_buildings.size > 1 && building_id != 'ALL' && building_id != doc_building_id + hpxml = HPXML.new(hpxml_path: hpxml_path, building_id: doc_building_id) + hpxml_bldg = hpxml.buildings[0] + + if epw_path.nil? + epw_path = Location.get_epw_path(hpxml_bldg, hpxml_path) + epw_file = OpenStudio::EpwFile.new(epw_path) + end + # deterministically vary schedules across building units args[:random_seed] *= (i + 1) - # get hpxml_bldg - hpxml_bldg = hpxml.buildings.find { |hb| hb.building_id == doc_building_id } - # exit if number of occupants is zero if hpxml_bldg.building_occupancy.number_of_residents == 0 runner.registerInfo("#{doc_building_id}: Number of occupants set to zero; skipping generation of stochastic schedules.") diff --git a/BuildResidentialScheduleFile/measure.xml b/BuildResidentialScheduleFile/measure.xml index 005af8a71..a38d01b1b 100644 --- a/BuildResidentialScheduleFile/measure.xml +++ b/BuildResidentialScheduleFile/measure.xml @@ -3,8 +3,8 @@ 3.1 build_residential_schedule_file f770b2db-1a9f-4e99-99a7-7f3161a594b1 - 9ec834e5-1e45-45b2-ae76-fff1932ff81f - 2024-01-04T19:49:57Z + 3606c838-78bd-44c3-a156-89c18187577f + 2024-01-22T22:47:29Z 03F02484 BuildResidentialScheduleFile Schedule File Builder @@ -114,7 +114,7 @@ measure.rb rb script - 6445A4FB + DB493DC3 README.md @@ -912,7 +912,7 @@ test_build_residential_schedule_file.rb rb test - 9DCB6D11 + 2F6E6374 diff --git a/BuildResidentialScheduleFile/tests/test_build_residential_schedule_file.rb b/BuildResidentialScheduleFile/tests/test_build_residential_schedule_file.rb index 26578b9a9..051b7c1d1 100644 --- a/BuildResidentialScheduleFile/tests/test_build_residential_schedule_file.rb +++ b/BuildResidentialScheduleFile/tests/test_build_residential_schedule_file.rb @@ -280,7 +280,7 @@ def test_zero_occupants end def test_multiple_buildings - hpxml = _create_hpxml('base-multiple-sfd-buildings.xml') + hpxml = _create_hpxml('base-bldgtype-mf-whole-building.xml') hpxml.buildings.each do |hpxml_bldg| hpxml_bldg.header.schedules_filepaths = nil end @@ -359,7 +359,7 @@ def test_multiple_buildings end def test_multiple_buildings_id - hpxml = _create_hpxml('base-multiple-sfd-buildings.xml') + hpxml = _create_hpxml('base-bldgtype-mf-whole-building.xml') hpxml.buildings.each do |hpxml_bldg| hpxml_bldg.header.schedules_filepaths = nil end @@ -440,12 +440,12 @@ def _test_measure(expect_fail: false) assert_equal('Success', result.value.valueName) end - hpxml = HPXML.new(hpxml_path: @tmp_hpxml_path, building_id: 'ALL') + hpxml = HPXML.new(hpxml_path: @tmp_hpxml_path) return hpxml, result end def _create_hpxml(hpxml_name) - return HPXML.new(hpxml_path: File.join(@sample_files_path, hpxml_name), building_id: 'ALL') + return HPXML.new(hpxml_path: File.join(@sample_files_path, hpxml_name)) end end diff --git a/Changelog.md b/Changelog.md index f261b1aa7..63e1f4250 100644 --- a/Changelog.md +++ b/Changelog.md @@ -2,8 +2,10 @@ __New Features__ - Updates to HPXML v4.0-rc3. +- **Breaking change**: Modeling whole SFA/MF buildings is now specified using a `SoftwareInfo/extension/WholeSFAorMFBuildingSimulation=true` element instead of `building-id=ALL` argument. - Replaces `BuildingSummary/Site/extension/GroundConductivity` with `BuildingSummary/Site/Soil/Conductivity`. - Allows radiant barriers for additional locations (attic gable walls and floor); reduced emissivity due to dust assumed for radiant barriers on attic floor. +- Allows autosizing with detailed performance data inputs for variable-speed air source HVAC systems using `CapacityFractionOfNominal`. - Ground source heat pump enhancements: - Allows optional detailed inputs related to geothermal loop (`HVACPlant/GeothermalLoop`). - Allows optional ground diffusivity input. @@ -14,11 +16,13 @@ __New Features__ - Adds detailed performance data inputs for variable-speed air source HVAC systems. - Add soil and moisture type arguments (for determining ground conductivity and diffusivity) and optional geothermal loop arguments for ground source heat pumps. - The "Geometry: Building Number of Units" input is now written to the HPXML `NumberofUnitsInBuilding` element. +- Updated water heater installation location defaulting to match ANSI 301-2022 - Adds more error-checking for inappropriate inputs (e.g., HVAC SHR=0 or clothes washer IMEF=0). __Bugfixes__ - Fixes error if using AllowIncreasedFixedCapacities=true w/ HP detailed performance data. - Prevents mains water temperature from going below freezing (0 C). +- Fixes error if HPXML has emissions scenario and abbreviated run period. ## OpenStudio-HPXML v1.7.0 diff --git a/HPXMLtoOpenStudio/README.md b/HPXMLtoOpenStudio/README.md index 758fa3a13..f85d81f4d 100644 --- a/HPXMLtoOpenStudio/README.md +++ b/HPXMLtoOpenStudio/README.md @@ -68,7 +68,7 @@ If true, bypasses HPXML input validation for faster performance. WARNING: This s **BuildingID** -The ID of the HPXML Building. Only required if there are multiple Building elements in the HPXML file. Use 'ALL' to run all the HPXML Buildings (dwelling units) of a multifamily building in a single model. +The ID of the HPXML Building. Only required if the HPXML has multiple Building elements and WholeSFAorMFBuildingSimulation is not true. - **Name:** ``building_id`` - **Type:** ``String`` diff --git a/HPXMLtoOpenStudio/measure.rb b/HPXMLtoOpenStudio/measure.rb index c4dec4aab..5e1818f1f 100644 --- a/HPXMLtoOpenStudio/measure.rb +++ b/HPXMLtoOpenStudio/measure.rb @@ -63,7 +63,7 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument arg = OpenStudio::Measure::OSArgument.makeStringArgument('building_id', false) arg.setDisplayName('BuildingID') - arg.setDescription("The ID of the HPXML Building. Only required if there are multiple Building elements in the HPXML file. Use 'ALL' to run all the HPXML Buildings (dwelling units) of a multifamily building in a single model.") + arg.setDescription('The ID of the HPXML Building. Only required if the HPXML has multiple Building elements and WholeSFAorMFBuildingSimulation is not true.') args << arg return args @@ -137,7 +137,7 @@ def run(model, runner, user_arguments) fail 'Weather station EPW filepath has different values across dwelling units.' end - if (building_id == 'ALL') && (hpxml.buildings.size > 1) + if hpxml.header.whole_sfa_or_mf_building_sim && (hpxml.buildings.size > 1) if hpxml.buildings.map { |hpxml_bldg| hpxml_bldg.batteries.size }.sum > 0 # FUTURE: Figure out how to allow this. If we allow it, update docs and hpxml_translator_test.rb too. # Batteries use "TrackFacilityElectricDemandStoreExcessOnSite"; to support modeling of batteries in whole diff --git a/HPXMLtoOpenStudio/measure.xml b/HPXMLtoOpenStudio/measure.xml index f00d99841..0dd138fbc 100644 --- a/HPXMLtoOpenStudio/measure.xml +++ b/HPXMLtoOpenStudio/measure.xml @@ -3,8 +3,8 @@ 3.1 hpxm_lto_openstudio b1543b30-9465-45ff-ba04-1d1f85e763bc - 9fe90bc3-2a8c-4818-8806-48e7469ebf0c - 2024-01-19T17:39:23Z + 361ac26a-360a-4cc1-8109-45c3ff202272 + 2024-01-25T17:44:14Z D8922A73 HPXMLtoOpenStudio HPXML to OpenStudio Translator @@ -87,7 +87,7 @@ building_id BuildingID - The ID of the HPXML Building. Only required if there are multiple Building elements in the HPXML file. Use 'ALL' to run all the HPXML Buildings (dwelling units) of a multifamily building in a single model. + The ID of the HPXML Building. Only required if the HPXML has multiple Building elements and WholeSFAorMFBuildingSimulation is not true. String false false @@ -125,7 +125,7 @@ README.md md readme - A4165C6F + DCE171D6 README.md.erb @@ -142,7 +142,7 @@ measure.rb rb script - 045BD8A9 + C56D4A67 airflow.rb @@ -304,13 +304,13 @@ hpxml.rb rb resource - 44987E3C + EDE2A195 hpxml_defaults.rb rb resource - 916525C3 + 932395EE hpxml_schema/HPXML.xsd @@ -328,7 +328,7 @@ hpxml_schematron/EPvalidator.xml xml resource - 85D88CDE + 7EE89A2E hpxml_schematron/iso-schematron.xsd @@ -340,13 +340,13 @@ hvac.rb rb resource - 4CEA3B45 + A060839F hvac_sizing.rb rb resource - 94E05F98 + 7CE7B6AB lighting.rb @@ -556,7 +556,7 @@ waterheater.rb rb resource - 73019632 + EFED6196 weather.rb @@ -592,7 +592,7 @@ test_defaults.rb rb test - EF0F0416 + 75775259 test_enclosure.rb @@ -658,13 +658,13 @@ test_simcontrols.rb rb test - 800361DB + 211EB384 test_validation.rb rb test - C564EC22 + 913A9C1E test_water_heater.rb diff --git a/HPXMLtoOpenStudio/resources/hpxml.rb b/HPXMLtoOpenStudio/resources/hpxml.rb index efcbd19e9..269ea7c83 100644 --- a/HPXMLtoOpenStudio/resources/hpxml.rb +++ b/HPXMLtoOpenStudio/resources/hpxml.rb @@ -436,6 +436,7 @@ def initialize(hpxml_path: nil, schema_validator: nil, schematron_validator: nil @hpxml_path = hpxml_path @errors = [] @warnings = [] + building_id = nil if building_id.to_s.empty? hpxml_doc = nil if not hpxml_path.nil? @@ -453,16 +454,25 @@ def initialize(hpxml_path: nil, schema_validator: nil, schematron_validator: nil hpxml_doc = XMLHelper.get_element(doc, '/HPXML') Version.check_hpxml_version(XMLHelper.get_attribute_value(hpxml_doc, 'schemaVersion')) + # Get value of WholeSFAorMFBuildingSimulation element + whole_sfa_or_mf_building_sim = XMLHelper.get_value(hpxml_doc, 'SoftwareInfo/extension/WholeSFAorMFBuildingSimulation', :boolean) + whole_sfa_or_mf_building_sim = false if whole_sfa_or_mf_building_sim.nil? + has_mult_building_elements = XMLHelper.get_elements(hpxml_doc, 'Building').size > 1 + if has_mult_building_elements + if building_id.nil? && !whole_sfa_or_mf_building_sim + @errors << 'Multiple Building elements defined in HPXML file; provide Building ID argument or set WholeSFAorMFBuildingSimulation=true.' + return unless @errors.empty? + elsif whole_sfa_or_mf_building_sim && (not building_id.nil?) + @warnings << 'Multiple Building elements defined in HPXML file and WholeSFAorMFBuildingSimulation=true; Building ID argument will be ignored.' + building_id = nil + end + end + # Handle multiple buildings # Do this before schematron validation so that: # 1. We don't give schematron warnings for Building elements that are not of interest. # 2. The schematron validation occurs faster (as we're only validating one Building). - if (XMLHelper.get_elements(hpxml_doc, 'Building').size > 1) && (building_id.to_s.downcase != 'all') - if building_id.nil? - @errors << 'Multiple Building elements defined in HPXML file; Building ID argument must be provided.' - return unless @errors.empty? - end - + if has_mult_building_elements && (not building_id.nil?) # Discard all Building elements except the one of interest XMLHelper.get_elements(hpxml_doc, 'Building').reverse_each do |building| next if XMLHelper.get_attribute_value(XMLHelper.get_element(building, 'BuildingID'), 'id') == building_id @@ -680,7 +690,7 @@ def initialize(hpxml_object, *args) :software_program_version, :apply_ashrae140_assumptions, :temperature_capacitance_multiplier, :timestep, :sim_begin_month, :sim_begin_day, :sim_end_month, :sim_end_day, :sim_calendar_year, :eri_calculation_version, :co2index_calculation_version, :energystar_calculation_version, - :iecc_eri_calculation_version, :zerh_calculation_version] + :iecc_eri_calculation_version, :zerh_calculation_version, :whole_sfa_or_mf_building_sim] attr_accessor(*ATTRS) attr_reader(:emissions_scenarios) attr_reader(:utility_bill_scenarios) @@ -728,6 +738,7 @@ def to_doc(doc) XMLHelper.add_element(software_info, 'SoftwareProgramUsed', @software_program_used, :string) unless @software_program_used.nil? XMLHelper.add_element(software_info, 'SoftwareProgramVersion', @software_program_version, :string) unless @software_program_version.nil? XMLHelper.add_extension(software_info, 'ApplyASHRAE140Assumptions', @apply_ashrae140_assumptions, :boolean) unless @apply_ashrae140_assumptions.nil? + XMLHelper.add_extension(software_info, 'WholeSFAorMFBuildingSimulation', @whole_sfa_or_mf_building_sim, :boolean) unless @whole_sfa_or_mf_building_sim.nil? { 'ERICalculation' => @eri_calculation_version, 'CO2IndexCalculation' => @co2index_calculation_version, 'EnergyStarCalculation' => @energystar_calculation_version, @@ -777,6 +788,7 @@ def from_doc(hpxml) @sim_calendar_year = XMLHelper.get_value(hpxml, 'SoftwareInfo/extension/SimulationControl/CalendarYear', :integer) @temperature_capacitance_multiplier = XMLHelper.get_value(hpxml, 'SoftwareInfo/extension/SimulationControl/TemperatureCapacitanceMultiplier', :float) @apply_ashrae140_assumptions = XMLHelper.get_value(hpxml, 'SoftwareInfo/extension/ApplyASHRAE140Assumptions', :boolean) + @whole_sfa_or_mf_building_sim = XMLHelper.get_value(hpxml, 'SoftwareInfo/extension/WholeSFAorMFBuildingSimulation', :boolean) @emissions_scenarios.from_doc(XMLHelper.get_element(hpxml, 'SoftwareInfo')) @utility_bill_scenarios.from_doc(XMLHelper.get_element(hpxml, 'SoftwareInfo')) @unavailable_periods.from_doc(XMLHelper.get_element(hpxml, 'SoftwareInfo')) diff --git a/HPXMLtoOpenStudio/resources/hpxml_defaults.rb b/HPXMLtoOpenStudio/resources/hpxml_defaults.rb index 2fa9b9682..313080fec 100644 --- a/HPXMLtoOpenStudio/resources/hpxml_defaults.rb +++ b/HPXMLtoOpenStudio/resources/hpxml_defaults.rb @@ -1241,17 +1241,9 @@ def self.apply_hvac(runner, hpxml, hpxml_bldg, weather, convert_shared_systems) next unless heat_pump.heating_capacity_retention_fraction.nil? next unless heat_pump.heating_capacity_17F.nil? next if [HPXML::HVACTypeHeatPumpGroundToAir, HPXML::HVACTypeHeatPumpWaterLoopToAir].include? heat_pump.heat_pump_type + next unless heat_pump.heating_detailed_performance_data.empty? # set after hvac sizing - if not heat_pump.heating_detailed_performance_data.empty? - # Calculate heating capacity retention at 5F outdoor drybulb - target_odb = 5.0 - max_capacity_47 = heat_pump.heating_detailed_performance_data.find { |dp| dp.outdoor_temperature == HVAC::AirSourceHeatRatedODB && dp.capacity_description == HPXML::CapacityDescriptionMaximum }.capacity - heat_pump.heating_capacity_retention_fraction = (HVAC.interpolate_to_odb_table_point(heat_pump.heating_detailed_performance_data, HPXML::CapacityDescriptionMaximum, target_odb, :capacity) / max_capacity_47).round(5) - heat_pump.heating_capacity_retention_fraction = 0.0 if heat_pump.heating_capacity_retention_fraction < 0 - heat_pump.heating_capacity_retention_temp = target_odb - else - heat_pump.heating_capacity_retention_temp, heat_pump.heating_capacity_retention_fraction = HVAC.get_default_heating_capacity_retention(heat_pump.compressor_type, heat_pump.heating_efficiency_hspf) - end + heat_pump.heating_capacity_retention_temp, heat_pump.heating_capacity_retention_fraction = HVAC.get_default_heating_capacity_retention(heat_pump.compressor_type, heat_pump.heating_efficiency_hspf) heat_pump.heating_capacity_retention_fraction_isdefaulted = true heat_pump.heating_capacity_retention_temp_isdefaulted = true end @@ -1672,6 +1664,14 @@ def self.apply_detailed_performance_data_for_var_speed_systems(hpxml_bldg) if hvac_system.cooling_detailed_performance_data.empty? HVAC.set_cool_detailed_performance_data(hvac_system) else + # process capacity fraction of nominal + hvac_system.cooling_detailed_performance_data.each do |dp| + next unless dp.capacity.nil? + + dp.capacity = (dp.capacity_fraction_of_nominal * hvac_system.cooling_capacity).round(3) + dp.capacity_isdefaulted = true + end + # override some properties based on detailed performance data cool_rated_capacity = [hvac_system.cooling_capacity, 1.0].max cool_max_capacity = [hvac_system.cooling_detailed_performance_data.find { |dp| (dp.outdoor_temperature == HVAC::AirSourceCoolRatedODB) && (dp.capacity_description == HPXML::CapacityDescriptionMaximum) }.capacity, 1.0].max @@ -1683,6 +1683,24 @@ def self.apply_detailed_performance_data_for_var_speed_systems(hpxml_bldg) if hvac_system.heating_detailed_performance_data.empty? HVAC.set_heat_detailed_performance_data(hvac_system) else + # process capacity fraction of nominal + hvac_system.heating_detailed_performance_data.each do |dp| + next unless dp.capacity.nil? + + dp.capacity = (dp.capacity_fraction_of_nominal * hvac_system.heating_capacity).round(3) + dp.capacity_isdefaulted = true + end + + if hvac_system.heating_capacity_retention_fraction.nil? && hvac_system.heating_capacity_17F.nil? + # Calculate heating capacity retention at 5F outdoor drybulb + target_odb = 5.0 + max_capacity_47 = hvac_system.heating_detailed_performance_data.find { |dp| dp.outdoor_temperature == HVAC::AirSourceHeatRatedODB && dp.capacity_description == HPXML::CapacityDescriptionMaximum }.capacity + hvac_system.heating_capacity_retention_fraction = (HVAC.interpolate_to_odb_table_point(hvac_system.heating_detailed_performance_data, HPXML::CapacityDescriptionMaximum, target_odb, :capacity) / max_capacity_47).round(5) + hvac_system.heating_capacity_retention_fraction = 0.0 if hvac_system.heating_capacity_retention_fraction < 0 + hvac_system.heating_capacity_retention_temp = target_odb + hvac_system.heating_capacity_retention_fraction_isdefaulted = true + hvac_system.heating_capacity_retention_temp_isdefaulted = true + end # override some properties based on detailed performance data heat_rated_capacity = [hvac_system.heating_capacity, 1.0].max heat_max_capacity = [hvac_system.heating_detailed_performance_data.find { |dp| (dp.outdoor_temperature == HVAC::AirSourceHeatRatedODB) && (dp.capacity_description == HPXML::CapacityDescriptionMaximum) }.capacity, 1.0].max @@ -3071,6 +3089,8 @@ def self.apply_hvac_sizing(runner, hpxml_bldg, weather, cfa) if not htg_sys.heating_detailed_performance_data.empty? # Fixed values entered; Scale w/ heating_capacity in case allow_increased_fixed_capacities=true htg_sys.heating_detailed_performance_data.each do |dp| + next if dp.capacity.nil? # using autosized values, process later + htg_cap_dp = dp.capacity * scaling_factor if (dp.capacity - htg_cap_dp).abs >= 1.0 dp.capacity = Float(htg_cap_dp.round) @@ -3135,6 +3155,8 @@ def self.apply_hvac_sizing(runner, hpxml_bldg, weather, cfa) scaling_factor = Float(hvac_sizing_values.Cool_Capacity.round) / clg_sys.cooling_capacity unless clg_sys.cooling_capacity.nil? # Fixed values entered; Scale w/ cooling_capacity in case allow_increased_fixed_capacities=true clg_sys.cooling_detailed_performance_data.each do |dp| + next if dp.capacity.nil? # using autosized values + clg_cap_dp = dp.capacity * scaling_factor if (dp.capacity - clg_cap_dp).abs >= 1.0 dp.capacity = Float(clg_cap_dp.round) diff --git a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml index 0e729dfbe..f0a1fb133 100644 --- a/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml +++ b/HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml @@ -1417,7 +1417,6 @@ [HeatingDetailedPerformanceData] - Expected 1 element(s) for xpath: ../HeatingCapacity Expected 1 element(s) for xpath: ../CompressorType[text()="variable speed"] Expected 1 element(s) for xpath: PerformanceDataPoint[OutdoorTemperature=47 and CapacityDescription="minimum"] Expected 1 element(s) for xpath: PerformanceDataPoint[OutdoorTemperature=47 and CapacityDescription="maximum"] @@ -1429,7 +1428,6 @@ [CoolingDetailedPerformanceData] - Expected 1 element(s) for xpath: ../CoolingCapacity Expected 1 element(s) for xpath: ../CompressorType[text()="variable speed"] Expected 1 element(s) for xpath: PerformanceDataPoint[OutdoorTemperature=95 and CapacityDescription="minimum"] Expected 1 element(s) for xpath: PerformanceDataPoint[OutdoorTemperature=95 and CapacityDescription="maximum"] @@ -1437,12 +1435,27 @@ Expected 1 or more element(s) for xpath: PerformanceDataPoint[OutdoorTemperature!=95 and CapacityDescription="maximum"] + + + [HeatingDetailedPerformanceDataPointWithCapacity] + + Expected 1 element(s) for xpath: ../../../HeatingCapacity + + + + + [CoolingDetailedPerformanceDataPointWithCapacity] + + Expected 1 element(s) for xpath: ../../../CoolingCapacity + + [PerformanceDataPoint] - Expected 1 element(s) for xpath: Capacity + Expected 1 or more element(s) for xpath: Capacity | CapacityFractionOfNominal Expected Capacity to be greater than or equal to 0 + Expected CapacityFractionOfNominal to be greater than or equal to 0 Expected 1 element(s) for xpath: Efficiency[Units="COP"]/Value diff --git a/HPXMLtoOpenStudio/resources/hvac.rb b/HPXMLtoOpenStudio/resources/hvac.rb index 410a9ccc6..e8f3a3f69 100644 --- a/HPXMLtoOpenStudio/resources/hvac.rb +++ b/HPXMLtoOpenStudio/resources/hvac.rb @@ -1230,13 +1230,13 @@ def self.get_cool_capacity_ratios(hvac_system) def self.set_heat_curves_central_air_source(heating_system, use_cop = false) htg_ap = heating_system.additional_properties htg_ap.heat_rated_cfm_per_ton = get_default_heat_cfm_per_ton(heating_system.compressor_type, use_cop) - heating_capacity_retention_temp, heating_capacity_retention_fraction = get_heating_capacity_retention(heating_system) htg_ap.heat_cap_fflow_spec, htg_ap.heat_eir_fflow_spec = get_heat_cap_eir_fflow_spec(heating_system.compressor_type) htg_ap.heat_capacity_ratios = get_heat_capacity_ratios(heating_system) set_heat_c_d(heating_system) hspf = heating_system.heating_efficiency_hspf if heating_system.compressor_type == HPXML::HVACCompressorTypeSingleStage + heating_capacity_retention_temp, heating_capacity_retention_fraction = get_heating_capacity_retention(heating_system) htg_ap.heat_cap_ft_spec, htg_ap.heat_eir_ft_spec = get_heat_cap_eir_ft_spec(heating_system.compressor_type, heating_capacity_retention_temp, heating_capacity_retention_fraction) if not use_cop htg_ap.heat_rated_cops = [0.0353 * hspf**2 + 0.0331 * hspf + 0.9447] # Regression based on inverse model @@ -1247,6 +1247,7 @@ def self.set_heat_curves_central_air_source(heating_system, use_cop = false) end elsif heating_system.compressor_type == HPXML::HVACCompressorTypeTwoStage + heating_capacity_retention_temp, heating_capacity_retention_fraction = get_heating_capacity_retention(heating_system) htg_ap.heat_cap_ft_spec, htg_ap.heat_eir_ft_spec = get_heat_cap_eir_ft_spec(heating_system.compressor_type, heating_capacity_retention_temp, heating_capacity_retention_fraction) htg_ap.heat_rated_airflow_rate = htg_ap.heat_rated_cfm_per_ton[-1] htg_ap.heat_fan_speed_ratios = calc_fan_speed_ratios(htg_ap.heat_capacity_ratios, htg_ap.heat_rated_cfm_per_ton, htg_ap.heat_rated_airflow_rate) @@ -3549,13 +3550,17 @@ def self.ensure_nonzero_sizing_values(hpxml_bldg) hp_sys.backup_heating_capacity = [hp_sys.backup_heating_capacity, min_capacity].max unless hp_sys.backup_heating_capacity.nil? if not hp_sys.heating_detailed_performance_data.empty? hp_sys.heating_detailed_performance_data.each do |dp| + next if dp.capacity.nil? + speed = dp.capacity_description == HPXML::CapacityDescriptionMinimum ? 1 : 2 dp.capacity = [dp.capacity, min_capacity * speed].max end end - next unless not hp_sys.cooling_detailed_performance_data.empty? + next if hp_sys.cooling_detailed_performance_data.empty? hp_sys.cooling_detailed_performance_data.each do |dp| + next if dp.capacity.nil? + speed = dp.capacity_description == HPXML::CapacityDescriptionMinimum ? 1 : 2 dp.capacity = [dp.capacity, min_capacity * speed].max end diff --git a/HPXMLtoOpenStudio/resources/hvac_sizing.rb b/HPXMLtoOpenStudio/resources/hvac_sizing.rb index 58438f7e7..1ab3602a5 100644 --- a/HPXMLtoOpenStudio/resources/hvac_sizing.rb +++ b/HPXMLtoOpenStudio/resources/hvac_sizing.rb @@ -1715,10 +1715,16 @@ def self.adjust_outdoor_condition_var_speed(detailed_performance_data, adjusted_ capacity_retention_temperature, capacity_retention_fraction = HVAC.get_heating_capacity_retention(hvac_sys) end odb_adj = (1.0 - capacity_retention_fraction) / (rated_odb - capacity_retention_temperature) * (adjusted_outdoor_temp - rated_odb) + 1.0 - else + else # there are detailed performance data # Based on detailed performance data - capacity_max = detailed_performance_data.find { |dp| dp.outdoor_temperature == rated_odb && dp.capacity_description == HPXML::CapacityDescriptionMaximum }.capacity - odb_adj = HVAC.interpolate_to_odb_table_point(detailed_performance_data, HPXML::CapacityDescriptionMaximum, adjusted_outdoor_temp, :capacity) / capacity_max + max_rated_dp = detailed_performance_data.find { |dp| dp.outdoor_temperature == rated_odb && dp.capacity_description == HPXML::CapacityDescriptionMaximum } + if max_rated_dp.capacity.nil? + property = :capacity_fraction_of_nominal + else + property = :capacity + end + capacity_max = detailed_performance_data.find { |dp| dp.outdoor_temperature == rated_odb && dp.capacity_description == HPXML::CapacityDescriptionMaximum }.send(property) + odb_adj = HVAC.interpolate_to_odb_table_point(detailed_performance_data, HPXML::CapacityDescriptionMaximum, adjusted_outdoor_temp, property) / capacity_max end return odb_adj end diff --git a/HPXMLtoOpenStudio/resources/waterheater.rb b/HPXMLtoOpenStudio/resources/waterheater.rb index 87b53e456..1a2e8a3f2 100644 --- a/HPXMLtoOpenStudio/resources/waterheater.rb +++ b/HPXMLtoOpenStudio/resources/waterheater.rb @@ -1444,12 +1444,12 @@ def self.get_default_performance_adjustment(water_heating_system) def self.get_default_location(hpxml_bldg, climate_zone_iecc) iecc_zone = (climate_zone_iecc.nil? ? nil : climate_zone_iecc.zone) - if ['1A', '1B', '1C', '2A', '2B', '2C', '3B', '3C'].include? iecc_zone + if ['1A', '1B', '1C', '2A', '2B', '2C', '3A', '3B', '3C'].include? iecc_zone location_hierarchy = [HPXML::LocationGarage, HPXML::LocationConditionedSpace] - elsif ['3A', '4A', '4B', '4C', '5A', '5B', '5C', '6A', '6B', '6C', '7', '8'].include? iecc_zone - location_hierarchy = [HPXML::LocationBasementConditioned, - HPXML::LocationBasementUnconditioned, + elsif ['4A', '4B', '4C', '5A', '5B', '5C', '6A', '6B', '6C', '7', '8'].include? iecc_zone + location_hierarchy = [HPXML::LocationBasementUnconditioned, + HPXML::LocationBasementConditioned, HPXML::LocationConditionedSpace] elsif iecc_zone.nil? location_hierarchy = [HPXML::LocationBasementConditioned, diff --git a/HPXMLtoOpenStudio/tests/test_defaults.rb b/HPXMLtoOpenStudio/tests/test_defaults.rb index bcfeeedfb..e075e68f6 100644 --- a/HPXMLtoOpenStudio/tests/test_defaults.rb +++ b/HPXMLtoOpenStudio/tests/test_defaults.rb @@ -1537,6 +1537,35 @@ def test_air_source_heat_pumps XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) _default_hpxml, default_hpxml_bldg = _test_measure() _test_default_air_to_air_heat_pump_values(default_hpxml_bldg.heat_pumps[0], 0.88, HPXML::HVACCompressorTypeVariableSpeed, 0.66, -0.11, -0.22, nil, nil, 9876, nil, 14.0, 8.0, nil, nil, 40.0) + + # Test w/ detailed performance data and autosizing + heating_capacity_fractions = [0.35, 1.0, 0.2, 0.75, 0.1, 0.65] + cooling_capacity_fractions = [0.2, 1.0, 0.45, 1] + heating_capacities = [] + cooling_capacities = [] + hpxml_bldg.heat_pumps[0].heating_detailed_performance_data.each_with_index do |dp, idx| + dp.capacity_fraction_of_nominal = heating_capacity_fractions[idx] + heating_capacities << dp.capacity + end + hpxml_bldg.heat_pumps[0].cooling_detailed_performance_data.each_with_index do |dp, idx| + dp.capacity_fraction_of_nominal = cooling_capacity_fractions[idx] + cooling_capacities << dp.capacity + end + XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) + _default_hpxml, default_hpxml_bldg = _test_measure() + # Test that fractions are not used when capacities are provided + _test_default_detailed_performance_capacities(default_hpxml_bldg.heat_pumps[0], 36000, 36000, heating_capacities, cooling_capacities) + + hpxml_bldg.heat_pumps[0].heating_detailed_performance_data.each_with_index do |dp, idx| + dp.capacity = nil + heating_capacities << 36000 * heating_capacity_fractions[idx] + end + hpxml_bldg.heat_pumps[0].cooling_detailed_performance_data.each_with_index do |dp, idx| + dp.capacity = nil + cooling_capacities << 36000 * cooling_capacity_fractions[idx] + end + # Test that fractions are used when capacities are missing + _test_default_detailed_performance_capacities(default_hpxml_bldg.heat_pumps[0], 36000, 36000, heating_capacities, cooling_capacities) end def test_pthp @@ -4276,6 +4305,29 @@ def _test_default_air_to_air_heat_pump_values(heat_pump, shr, compressor_type, f end end + def _test_default_detailed_performance_capacities(heat_pump, heating_nominal_capacity, cooling_nominal_capacity, heating_capacities, cooling_capacities) + if cooling_nominal_capacity.nil? + assert(heat_pump.cooling_capacity > 0) + else + assert_equal(cooling_nominal_capacity, heat_pump.cooling_capacity) + end + if heating_nominal_capacity.nil? + assert(heat_pump.heating_capacity > 0) + else + assert_equal(heating_nominal_capacity, heat_pump.heating_capacity) + end + if not heat_pump.heating_detailed_performance_data.empty? + heat_pump.heating_detailed_performance_data.each_with_index do |dp, idx| + assert_equal(heating_capacities[idx], dp.capacity) + end + end + if not heat_pump.cooling_detailed_performance_data.empty? + heat_pump.cooling_detailed_performance_data.each_with_index do |dp, idx| + assert_equal(cooling_capacities[idx], dp.capacity) + end + end + end + def _test_default_pthp_values(heat_pump, shr, cooling_capacity, heating_capacity, heating_capacity_17F, heating_capacity_retention_fraction, heating_capacity_retention_temp, crankcase_heater_watts) diff --git a/HPXMLtoOpenStudio/tests/test_simcontrols.rb b/HPXMLtoOpenStudio/tests/test_simcontrols.rb index e987b6d31..eeb324bc0 100644 --- a/HPXMLtoOpenStudio/tests/test_simcontrols.rb +++ b/HPXMLtoOpenStudio/tests/test_simcontrols.rb @@ -40,9 +40,9 @@ def test_run_period_1month begin_month, begin_day, end_month, end_day = get_run_period_month_and_days(model) assert_equal(2, begin_month) - assert_equal(1, begin_day) - assert_equal(2, end_month) - assert_equal(28, end_day) + assert_equal(15, begin_day) + assert_equal(3, end_month) + assert_equal(15, end_day) end def test_timestep_1hour diff --git a/HPXMLtoOpenStudio/tests/test_validation.rb b/HPXMLtoOpenStudio/tests/test_validation.rb index efa0f1215..f8156b478 100644 --- a/HPXMLtoOpenStudio/tests/test_validation.rb +++ b/HPXMLtoOpenStudio/tests/test_validation.rb @@ -205,8 +205,8 @@ def test_schema_schematron_error_messages "Expected Location to be 'conditioned space' or 'basement - unconditioned' or 'basement - conditioned' or 'attic - unvented' or 'attic - vented' or 'garage' or 'crawlspace - unvented' or 'crawlspace - vented' or 'crawlspace - conditioned' or 'other exterior' or 'other housing unit' or 'other heated space' or 'other multifamily buffer space' or 'other non-freezing space'"], 'manufactured-home-reference-floor' => ['There are references to "manufactured home belly" or "manufactured home underbelly" but ResidentialFacilityType is not "manufactured home".', 'There must be at least one ceiling adjacent to "crawlspace - vented".'], - 'missing-capacity-detailed-performance' => ['Expected 1 element(s) for xpath: ../CoolingCapacity', - 'Expected 1 element(s) for xpath: ../HeatingCapacity'], + 'missing-capacity-detailed-performance' => ['Expected 1 element(s) for xpath: ../../../HeatingCapacity', + 'Expected 1 element(s) for xpath: ../../../CoolingCapacity'], 'missing-cfis-supplemental-fan' => ['Expected 1 element(s) for xpath: SupplementalFan'], 'missing-distribution-cfa-served' => ['Expected 1 element(s) for xpath: ../../../ConditionedFloorAreaServed [context: /HPXML/Building/BuildingDetails/Systems/HVAC/HVACDistribution/DistributionSystemType/AirDistribution/Ducts[not(DuctSurfaceArea)], id: "Ducts2"]'], 'missing-duct-area' => ['Expected 1 or more element(s) for xpath: FractionDuctArea | DuctSurfaceArea [context: /HPXML/Building/BuildingDetails/Systems/HVAC/HVACDistribution/DistributionSystemType/AirDistribution/Ducts[DuctLocation], id: "Ducts2"]'], @@ -1404,25 +1404,21 @@ def test_ruby_error_messages hpxml, _hpxml_bldg = _create_hpxml('base-schedules-simple-vacancy.xml') hpxml.header.unavailable_periods[0].column_name = 'foobar' elsif ['unique-objects-vary-across-units-epw'].include? error_case - building_id = 'ALL' - hpxml, hpxml_bldg = _create_hpxml('base-multiple-sfd-buildings.xml', building_id: building_id) + hpxml, hpxml_bldg = _create_hpxml('base-bldgtype-mf-whole-building.xml', building_id: building_id) hpxml_bldg.climate_and_risk_zones.weather_station_epw_filepath = 'USA_AZ_Phoenix-Sky.Harbor.Intl.AP.722780_TMY3.epw' elsif ['unique-objects-vary-across-units-dst'].include? error_case - building_id = 'ALL' - hpxml, hpxml_bldg = _create_hpxml('base-multiple-sfd-buildings.xml', building_id: building_id) + hpxml, hpxml_bldg = _create_hpxml('base-bldgtype-mf-whole-building.xml', building_id: building_id) hpxml_bldg.dst_begin_month = 3 hpxml_bldg.dst_begin_day = 15 hpxml_bldg.dst_end_month = 10 hpxml_bldg.dst_end_day = 15 elsif ['unique-objects-vary-across-units-tmains'].include? error_case - building_id = 'ALL' - hpxml, hpxml_bldg = _create_hpxml('base-multiple-sfd-buildings.xml', building_id: building_id) + hpxml, hpxml_bldg = _create_hpxml('base-bldgtype-mf-whole-building.xml', building_id: building_id) hpxml_bldg.hot_water_distributions[0].dwhr_facilities_connected = HPXML::DWHRFacilitiesConnectedOne hpxml_bldg.hot_water_distributions[0].dwhr_equal_flow = true hpxml_bldg.hot_water_distributions[0].dwhr_efficiency = 0.55 elsif ['whole-mf-building-batteries'].include? error_case - building_id = 'ALL' - hpxml, hpxml_bldg = _create_hpxml('base-multiple-sfd-buildings.xml', building_id: building_id) + hpxml, hpxml_bldg = _create_hpxml('base-bldgtype-mf-whole-building.xml', building_id: building_id) hpxml_bldg.batteries.add(id: 'Battery1', type: HPXML::BatteryTypeLithiumIon) elsif ['whole-mf-building-dehumidifiers-unit-multiplier'].include? error_case diff --git a/ReportSimulationOutput/measure.rb b/ReportSimulationOutput/measure.rb index 0efbc0ce7..b699eaa4c 100644 --- a/ReportSimulationOutput/measure.rb +++ b/ReportSimulationOutput/measure.rb @@ -605,7 +605,7 @@ def run(runner, user_arguments) end # Retrieve outputs - outputs = get_outputs(runner, args, building_id) + outputs = get_outputs(runner, args) if not check_for_errors(runner, outputs) return false @@ -679,9 +679,9 @@ def get_timestamps(msgpackData, hpxml_header, hpxml_bldgs, args) return timestamps, timestamps_dst, timestamps_utc end - def get_n_hours_per_period(timeseries_frequency, sim_start_day_of_year, sim_end_day_of_year, year) + def get_n_hours_per_period(timeseries_frequency, sim_start_day, sim_end_day, year) if timeseries_frequency == 'daily' - n_hours_per_period = [24] * (sim_end_day_of_year - sim_start_day_of_year + 1) + n_hours_per_period = [24] * (sim_end_day - sim_start_day + 1) elsif timeseries_frequency == 'monthly' n_days_per_month = Constants.NumDaysInMonths(year) n_days_per_period = n_days_per_month[@hpxml_header.sim_begin_month - 1..@hpxml_header.sim_end_month - 1] @@ -694,8 +694,8 @@ def get_n_hours_per_period(timeseries_frequency, sim_start_day_of_year, sim_end_ def rollup_timeseries_output_to_daily_or_monthly(timeseries_output, timeseries_frequency, average = false) year = @hpxml_header.sim_calendar_year - sim_start_day_of_year, sim_end_day_of_year, _sim_start_hour, _sim_end_hour = get_sim_times_of_year(year) - n_hours_per_period = get_n_hours_per_period(timeseries_frequency, sim_start_day_of_year, sim_end_day_of_year, year) + sim_start_day, sim_end_day, _sim_start_hour, _sim_end_hour = get_sim_times_of_year(year) + n_hours_per_period = get_n_hours_per_period(timeseries_frequency, sim_start_day, sim_end_day, year) fail 'Unexpected failure for n_hours_per_period calculations.' if n_hours_per_period.sum != timeseries_output.size ts_output = [] @@ -709,7 +709,7 @@ def rollup_timeseries_output_to_daily_or_monthly(timeseries_output, timeseries_f return ts_output end - def get_outputs(runner, args, building_id) + def get_outputs(runner, args) outputs = {} args = setup_timeseries_includes(@emissions, args) @@ -1105,7 +1105,7 @@ def sanitize_name(name) heated_zones = eval(@model.getBuilding.additionalProperties.getFeatureAsString('heated_zones').get) heated_zones.each do |heated_zone| var_name = 'Temperature: Heating Setpoint' - if building_id == 'ALL' + if @hpxml_header.whole_sfa_or_mf_building_sim unit_num = @model.getThermalZones.find { |z| z.name.to_s == heated_zone }.spaces[0].buildingUnit.get.additionalProperties.getFeatureAsInteger('unit_num').get var_name = "Temperature: Unit#{unit_num} Heating Setpoint" end @@ -1119,7 +1119,7 @@ def sanitize_name(name) cooled_zones = eval(@model.getBuilding.additionalProperties.getFeatureAsString('cooled_zones').get) cooled_zones.each do |cooled_zone| var_name = 'Temperature: Cooling Setpoint' - if building_id == 'ALL' + if @hpxml_header.whole_sfa_or_mf_building_sim unit_num = @model.getThermalZones.find { |z| z.name.to_s == cooled_zone }.spaces[0].buildingUnit.get.additionalProperties.getFeatureAsInteger('unit_num').get var_name = "Temperature: Unit#{unit_num} Cooling Setpoint" end @@ -1199,11 +1199,9 @@ def sanitize_name(name) # Use annual value for all hours hourly_elec_factors = [scenario.elec_value] * 8760 end - year = 1999 # Try non-leap year for calculations - sim_start_day_of_year, sim_end_day_of_year, sim_start_hour, sim_end_hour = get_sim_times_of_year(year) - hourly_elec_factors = hourly_elec_factors[sim_start_hour..sim_end_hour] # Calculate annual/timeseries emissions for each end use + do_trim = true @end_uses.each do |eu_key, end_use| fuel_type, _end_use_type = eu_key next unless fuel_type == FT::Elec @@ -1211,14 +1209,21 @@ def sanitize_name(name) hourly_elec = end_use.hourly_output - if hourly_elec.size == hourly_elec_factors[sim_start_hour..sim_end_hour].size + 24 - # Use leap-year for calculations - year = 2000 - sim_start_day_of_year, sim_end_day_of_year, sim_start_hour, sim_end_hour = get_sim_times_of_year(year) - # Duplicate Feb 28 Cambium values for Feb 29 - hourly_elec_factors = hourly_elec_factors[0..1415] + hourly_elec_factors[1392..1415] + hourly_elec_factors[1416..8759] + # Trim hourly electricity factors to the run period; do once. + if do_trim + do_trim = false + + year = 1999 # Try non-leap year for calculations + _sim_start_day, _sim_end_day, sim_start_hour, sim_end_hour = get_sim_times_of_year(year) + if hourly_elec.size == hourly_elec_factors[sim_start_hour..sim_end_hour].size + 24 + # Duplicate Feb 28 Cambium values for Feb 29 + hourly_elec_factors = hourly_elec_factors[0..1415] + hourly_elec_factors[1392..1415] + hourly_elec_factors[1416..8759] + # Use leap-year for calculations + year = 2000 + _sim_start_day, _sim_end_day, sim_start_hour, sim_end_hour = get_sim_times_of_year(year) + end + hourly_elec_factors = hourly_elec_factors[sim_start_hour..sim_end_hour] end - hourly_elec_factors = hourly_elec_factors[sim_start_hour..sim_end_hour] # Trim to sim period fail 'Unexpected failure for emissions calculations.' if hourly_elec_factors.size != hourly_elec.size @@ -1329,11 +1334,11 @@ def sanitize_name(name) end def get_sim_times_of_year(year) - sim_start_day_of_year = Schedule.get_day_num_from_month_day(year, @hpxml_header.sim_begin_month, @hpxml_header.sim_begin_day) - sim_end_day_of_year = Schedule.get_day_num_from_month_day(year, @hpxml_header.sim_end_month, @hpxml_header.sim_end_day) - sim_start_hour = (sim_start_day_of_year - 1) * 24 - sim_end_hour = sim_end_day_of_year * 24 - 1 - return sim_start_day_of_year, sim_end_day_of_year, sim_start_hour, sim_end_hour + sim_start_day = Schedule.get_day_num_from_month_day(year, @hpxml_header.sim_begin_month, @hpxml_header.sim_begin_day) + sim_end_day = Schedule.get_day_num_from_month_day(year, @hpxml_header.sim_end_month, @hpxml_header.sim_end_day) + sim_start_hour = (sim_start_day - 1) * 24 + sim_end_hour = sim_end_day * 24 - 1 + return sim_start_day, sim_end_day, sim_start_hour, sim_end_hour end def check_for_errors(runner, outputs) diff --git a/ReportSimulationOutput/measure.xml b/ReportSimulationOutput/measure.xml index 9154fd44f..fcd2547d5 100644 --- a/ReportSimulationOutput/measure.xml +++ b/ReportSimulationOutput/measure.xml @@ -3,8 +3,8 @@ 3.1 report_simulation_output df9d170c-c21a-4130-866d-0d46b06073fd - be0a8583-ee3d-4ba1-b96a-5670a43777ae - 2023-11-17T15:16:05Z + 0d7ac76a-2f58-4799-8897-3f9489356f68 + 2024-01-25T16:08:21Z 9BF1E6AC ReportSimulationOutput HPXML Simulation Output Report @@ -1929,13 +1929,13 @@ measure.rb rb script - 86EC8E47 + 318063A9 test_report_sim_output.rb rb test - 637B509E + 54F83E1B diff --git a/ReportSimulationOutput/tests/test_report_sim_output.rb b/ReportSimulationOutput/tests/test_report_sim_output.rb index d670911f8..e0f2c477c 100644 --- a/ReportSimulationOutput/tests/test_report_sim_output.rb +++ b/ReportSimulationOutput/tests/test_report_sim_output.rb @@ -924,8 +924,7 @@ def test_timeseries_hourly_zone_temperatures_mf_spaces end def test_timeseries_hourly_zone_temperatures_whole_mf_building - args_hash = { 'hpxml_path' => File.join(File.dirname(__FILE__), '../../workflow/sample_files/base-multiple-mf-units.xml'), - 'building_id' => 'ALL', + args_hash = { 'hpxml_path' => File.join(File.dirname(__FILE__), '../../workflow/sample_files/base-bldgtype-mf-whole-building.xml'), 'skip_validation' => true, 'timeseries_frequency' => 'hourly', 'include_timeseries_zone_temperatures' => true } @@ -1192,14 +1191,15 @@ def test_timeseries_timestep_10min end def test_timeseries_hourly_runperiod_1month - expected_values = { 'hourly' => 28 * 24, - 'monthly' => 1 } + expected_values = { 'hourly' => 30 * 24, # Feb 15 - Mar 15, w/ leap day + 'monthly' => 2 } # Feb, Mar expected_values.each do |timeseries_frequency, expected_value| args_hash = { 'hpxml_path' => File.join(File.dirname(__FILE__), '../../workflow/sample_files/base-simcontrol-runperiod-1-month.xml'), 'skip_validation' => true, 'timeseries_frequency' => timeseries_frequency, - 'include_timeseries_fuel_consumptions' => true } + 'include_timeseries_fuel_consumptions' => true, + 'include_timeseries_emission_fuels' => true } annual_csv, timeseries_csv = _test_measure(args_hash) assert(File.exist?(annual_csv)) assert(File.exist?(timeseries_csv)) diff --git a/ReportUtilityBills/measure.rb b/ReportUtilityBills/measure.rb index 64e857530..9ba49acf1 100644 --- a/ReportUtilityBills/measure.rb +++ b/ReportUtilityBills/measure.rb @@ -169,7 +169,7 @@ def energyPlusOutputRequests(runner, user_arguments) @hpxml_buildings = hpxml.buildings if @hpxml_header.utility_bill_scenarios.has_detailed_electric_rates uses_unit_multipliers = @hpxml_buildings.select { |hpxml_bldg| hpxml_bldg.building_construction.number_of_units > 1 }.size > 0 - if uses_unit_multipliers || (@hpxml_buildings.size > 1 && building_id == 'ALL') + if uses_unit_multipliers || (@hpxml_buildings.size > 1 && hpxml.header.whole_sfa_or_mf_building_sim) return result end end @@ -247,8 +247,11 @@ def run(runner, user_arguments) @hpxml_buildings = hpxml.buildings if @hpxml_header.utility_bill_scenarios.has_detailed_electric_rates uses_unit_multipliers = @hpxml_buildings.select { |hpxml_bldg| hpxml_bldg.building_construction.number_of_units > 1 }.size > 0 - if uses_unit_multipliers || @hpxml_buildings.size > 1 - runner.registerWarning('Cannot currently calculate utility bills based on detailed electric rates for an HPXML with unit multipliers or multiple Building elements.') + if uses_unit_multipliers + runner.registerWarning('Cannot currently calculate utility bills based on detailed electric rates for an HPXML with unit multipliers.') + return false + elsif @hpxml_buildings.size > 1 && hpxml.header.whole_sfa_or_mf_building_sim + runner.registerWarning('Cannot currently calculate utility bills based on detailed electric rates for a whole SFA/MF building simulation.') return false end end diff --git a/ReportUtilityBills/measure.xml b/ReportUtilityBills/measure.xml index 2f5cff8ec..303eebdf9 100644 --- a/ReportUtilityBills/measure.xml +++ b/ReportUtilityBills/measure.xml @@ -3,8 +3,8 @@ 3.1 report_utility_bills ca88a425-e59a-4bc4-af51-c7e7d1e960fe - 00195856-fc00-4476-b601-ab53286b33cf - 2023-11-17T15:16:06Z + db22c147-7d2d-4ba8-b023-5d16ec2f39bf + 2024-01-25T17:00:07Z 15BF4E57 ReportUtilityBills Utility Bills Report @@ -142,7 +142,7 @@ measure.rb rb script - 4A038500 + 682BAC64 detailed_rates/Sample Flat Rate Min Annual Charge.json @@ -322,7 +322,7 @@ test_report_utility_bills.rb rb test - 07F2D0DB + E597FDF5 diff --git a/ReportUtilityBills/tests/test_report_utility_bills.rb b/ReportUtilityBills/tests/test_report_utility_bills.rb index ee375ad52..905ff1183 100644 --- a/ReportUtilityBills/tests/test_report_utility_bills.rb +++ b/ReportUtilityBills/tests/test_report_utility_bills.rb @@ -378,7 +378,17 @@ def test_warning_detailed_rates_unit_multipliers hpxml = HPXML.new(hpxml_path: File.join(@sample_files_path, 'base-misc-unit-multiplier.xml')) hpxml.header.utility_bill_scenarios.add(name: 'Test 1', elec_tariff_filepath: '../../ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate.json') XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) - expected_warnings = ['Cannot currently calculate utility bills based on detailed electric rates for an HPXML with unit multipliers or multiple Building elements.'] + expected_warnings = ['Cannot currently calculate utility bills based on detailed electric rates for an HPXML with unit multipliers.'] + actual_bills, _actual_monthly_bills = _test_measure(expected_warnings: expected_warnings) + assert_nil(actual_bills) + end + + def test_warning_detailed_rates_whole_sfa_mf_building + @args_hash['hpxml_path'] = File.absolute_path(@tmp_hpxml_path) + hpxml = HPXML.new(hpxml_path: File.join(@sample_files_path, 'base-bldgtype-mf-whole-building.xml')) + hpxml.header.utility_bill_scenarios.add(name: 'Test 1', elec_tariff_filepath: '../../ReportUtilityBills/resources/detailed_rates/Sample Tiered Rate.json') + XMLHelper.write_file(hpxml.to_doc, @tmp_hpxml_path) + expected_warnings = ['Cannot currently calculate utility bills based on detailed electric rates for a whole SFA/MF building simulation.'] actual_bills, _actual_monthly_bills = _test_measure(expected_warnings: expected_warnings) assert_nil(actual_bills) end diff --git a/docs/source/workflow_inputs.rst b/docs/source/workflow_inputs.rst index 96ee2d9a2..9ca19ad48 100644 --- a/docs/source/workflow_inputs.rst +++ b/docs/source/workflow_inputs.rst @@ -343,7 +343,7 @@ HPXML Building OpenStudio-HPXML can be used to model either individual residential :ref:`bldg_type_units` or :ref:`bldg_type_bldgs`. -Each residential dwelling unit is entered in ``/HPXML/Building``. +In either case, each residential dwelling unit is entered as a ``/HPXML/Building``. ========================= ====== ======= =========== ======== ======= ============================================== Element Type Units Constraints Required Default Notes @@ -356,34 +356,40 @@ Each residential dwelling unit is entered in ``/HPXML/Building``. Dwelling Units ************** -The OpenStudio-HPXML workflow was originally developed to model individual residential dwelling units -- either a single-family detached (SFD) building, or a single unit of a single-family attached (SFA) or multifamily (MF) building. +OpenStudio-HPXML was originally developed to model individual residential dwelling units -- either a single-family detached (SFD) building, or a single unit of a single-family attached (SFA) or multifamily (MF) building. This approach: - Is required/desired for certain applications (e.g., a Home Energy Score or an Energy Rating Index calculation). - Improves runtime speed by being able to simulate individual units in parallel (as opposed to simulating the entire building). -When modeling individual units of SFA/MF buildings, current capabilities include: - -- Defining surfaces adjacent to generic SFA/MF spaces (e.g., "other housing unit" or "other multifamily buffer space"), in which temperature profiles will be assumed (see :ref:`hpxmllocations`). -- Locating various building components (e.g., ducts, water heaters, appliances) in these SFA/MF spaces. -- Defining shared systems (HVAC, water heating, mechanical ventilation, etc.), in which individual systems are modeled with adjustments to approximate their energy use attributed to the unit. +For these simulations: -Note that only the energy use attributed to each dwelling unit is calculated. +- Surfaces can be defined adjacent to generic SFA/MF spaces (e.g., "other housing unit" or "other multifamily buffer space") with assumed temperature profiles (see :ref:`hpxmllocations`). +- Various building components (e.g., ducts, water heaters, appliances) can be located in these SFA/MF spaces. +- Shared systems (HVAC, water heating, mechanical ventilation, etc.) serving multiple dwelling units can be defined, in which these systems are approximated as individual systems with efficiency adjustments to estimate the energy use attributed to the unit. +- Energy use attributed only to the dwelling unit is calculated. .. _bldg_type_bldgs: Whole SFA/MF Buildings ********************** -As of OpenStudio-HPXML v1.7.0, a new capability was added for modeling whole SFA/MF buildings in a single combined simulation. +As of v1.7.0, OpenStudio-HPXML can model whole SFA/MF buildings in a single combined simulation. + +Modeling a whole SFA/MF building is defined in ``/HPXML/SoftwareInfo/extension``. + + ================================== ======== ===== =========== ======== ======== ======================================================== + Element Type Units Constraints Required Default Notes + ================================== ======== ===== =========== ======== ======== ======================================================== + ``WholeSFAorMFBuildingSimulation`` boolean No false Whether to run an individual dwelling unit or whole building for SFA/MF + ================================== ======== ===== =========== ======== ======== ======================================================== For these simulations: -- Each dwelling unit is described by a separate ``Building`` element in the HPXML file. -- To run the single combined simulation, specify the Building ID as 'ALL' in the run_simulation.rb script or OpenStudio workflow. - Unit multipliers (using the ``NumberofUnits`` element) can be specified to model *unique* dwelling units, rather than *all* dwelling units, reducing simulation runtime. - Adjacent SFA/MF common spaces are still modeled using assumed temperature profiles, not as separate thermal zones. - Shared systems are still modeled as individual systems, not shared systems connected to multiple dwelling unit. +- Energy use for the entire building is calculated. Notes/caveats about this approach: @@ -391,8 +397,6 @@ Notes/caveats about this approach: - Batteries are not currently supported. Dehumidifiers and ground-source heat pumps are only supported if ``NumberofUnits`` is 1. - Utility bill calculations using detailed rates are not supported. -Note that only the energy use for the entire building is calculated. - .. _buildingsite: HPXML Building Site @@ -2483,20 +2487,21 @@ Detailed Cooling Performance Data For air-source HVAC systems with detailed cooling performance data, two or more pairs of minimum/maximum capacity data are entered in ``CoolingDetailedPerformanceData/PerformanceDataPoint``. - ================================= ======== ====== =========== ======== ========= ========================================== - Element Type Units Constraints Required Default Notes - ================================= ======== ====== =========== ======== ========= ========================================== - ``OutdoorTemperature`` double F See [#]_ Yes Outdoor drybulb temperature - ``Capacity`` double Btu/hr >= 0 Yes Cooling capacity at the specified outdoor temperature - ``CapacityDescription`` string See [#]_ Yes Whether the datapoint corresponds to minimum or maximum capacity - ``Efficiency[Units="COP"]/Value`` double W/W > 0 Yes Cooling efficiency at the specified outdoor temperature - ================================= ======== ====== =========== ======== ========= ========================================== + ============================================== ======== ============== =========== ======== ========= ========================================== + Element Type Units Constraints Required Default Notes + ============================================== ======== ============== =========== ======== ========= ========================================== + ``OutdoorTemperature`` double F See [#]_ Yes Outdoor drybulb temperature + ``Capacity`` or ``CapacityFractionOfNominal`` double Btu/hr or frac >= 0 Yes [#]_ Cooling capacity or capacity fraction at the specified outdoor temperature + ``CapacityDescription`` string See [#]_ Yes Whether the datapoint corresponds to minimum or maximum capacity + ``Efficiency[Units="COP"]/Value`` double W/W > 0 Yes Cooling efficiency at the specified outdoor temperature + ============================================== ======== ============== =========== ======== ========= ========================================== .. [#] One of the minimum/maximum datapoint pairs must occur at the 95F rated outdoor temperature condition. The other datapoint pairs can be at any temperature. + .. [#] If Capacity is provided, the nominal capacity (``CoolingCapacity``) must also be set in the parent object. .. [#] CapacityDescription choices are "minimum" and "maximum". -In addition, the parent object must provide the ``CoolingCapacity`` and the ``CompressorType`` must be set to "variable speed". +In addition, the ``CompressorType`` must be set to "variable speed" in the parent object. For heat pumps, :ref:`htg_detailed_perf_data` must also be provided. Note that when detailed cooling performance data is provided, some other inputs (like SEER) are ignored. @@ -2507,20 +2512,21 @@ Detailed Heating Performance Data For air-source HVAC systems with detailed heating performance data, two or more pairs of minimum/maximum capacity data are entered in ``HeatingDetailedPerformanceData/PerformanceDataPoint``. - ================================= ======== ====== =========== ======== ========= ========================================== - Element Type Units Constraints Required Default Notes - ================================= ======== ====== =========== ======== ========= ========================================== - ``OutdoorTemperature`` double F See [#]_ Yes Outdoor drybulb temperature - ``Capacity`` double Btu/hr >= 0 Yes Heating capacity at the specified outdoor temperature - ``CapacityDescription`` string See [#]_ Yes Whether the datapoint corresponds to minimum or maximum capacity - ``Efficiency[Units="COP"]/Value`` double W/W > 0 Yes Heating efficiency at the specified outdoor temperature - ================================= ======== ====== =========== ======== ========= ========================================== + ============================================== ======== ============== =========== ======== ========= ========================================== + Element Type Units Constraints Required Default Notes + ============================================== ======== ============== =========== ======== ========= ========================================== + ``OutdoorTemperature`` double F See [#]_ Yes Outdoor drybulb temperature + ``Capacity`` or ``CapacityFractionOfNominal`` double Btu/hr or frac >= 0 Yes [#]_ Heating capacity or capacity fraction at the specified outdoor temperature + ``CapacityDescription`` string See [#]_ Yes Whether the datapoint corresponds to minimum or maximum capacity + ``Efficiency[Units="COP"]/Value`` double W/W > 0 Yes Heating efficiency at the specified outdoor temperature + ============================================== ======== ============== =========== ======== ========= ========================================== .. [#] One of the minimum/maximum datapoint pairs must occur at the 47F rated outdoor temperature condition. The other datapoint pairs can be at any temperature. + .. [#] If Capacity is provided, the nominal capacity (``HeatingCapacity``) must also be set in the parent object. .. [#] CapacityDescription choices are "minimum" and "maximum". -In addition, the parent object must provide the ``HeatingCapacity`` and the ``CompressorType`` must be set to "variable speed". +In addition, the ``CompressorType`` must be set to "variable speed" in the parent object. For heat pumps, :ref:`clg_detailed_perf_data` must also be provided. Note that when detailed cooling performance data is provided, some other inputs (like HSPF and HeatingCapacityRetention) are ignored. @@ -3260,9 +3266,9 @@ Each conventional storage water heater is entered as a ``/HPXML/Building/Buildin See :ref:`hpxmllocations` for descriptions. .. [#] If Location not provided, defaults to the first present space type: - \- **IECC zones 1-3, excluding 3A**: "garage", "conditioned space" + \- **IECC zones 1-3**: "garage", "conditioned space" - \- **IECC zones 3A, 4-8, unknown**: "basement - conditioned", "basement - unconditioned", "conditioned space" + \- **IECC zones 3-8, unknown**: "basement - unconditioned", "basement - conditioned", "conditioned space" .. [#] NumberofUnitsServed only required if IsSharedSystem is true, in which case it must be > 1. .. [#] If TankVolume not provided, defaults based on Table 8 in the `2014 BAHSP `_. @@ -3315,9 +3321,9 @@ Each instantaneous tankless water heater is entered as a ``/HPXML/Building/Build See :ref:`hpxmllocations` for descriptions. .. [#] If Location not provided, defaults to the first present space type: - \- **IECC zones 1-3, excluding 3A**: "garage", "conditioned space" + \- **IECC zones 1-3**: "garage", "conditioned space" - \- **IECC zones 3A, 4-8, unknown**: "basement - conditioned", "basement - unconditioned", "conditioned space" + \- **IECC zones 3-8, unknown**: "basement - unconditioned", "basement - conditioned", "conditioned space" .. [#] NumberofUnitsServed only required if IsSharedSystem is true, in which case it must be > 1. .. [#] If PerformanceAdjustment not provided, defaults to 0.94 (UEF) or 0.92 (EF) based on `ANSI/RESNET/ICC 301-2019 `_. @@ -3357,9 +3363,9 @@ Each heat pump water heater is entered as a ``/HPXML/Building/BuildingDetails/Sy See :ref:`hpxmllocations` for descriptions. .. [#] If Location not provided, defaults to the first present space type: - \- **IECC zones 1-3, excluding 3A**: "garage", "conditioned space" + \- **IECC zones 1-3**: "garage", "conditioned space" - \- **IECC zones 3A, 4-8, unknown**: "basement - conditioned", "basement - unconditioned", "conditioned space" + \- **IECC zones 3-8, unknown**: "basement - unconditioned", "basement - conditioned", "conditioned space" .. [#] NumberofUnitsServed only required if IsSharedSystem is true, in which case it must be > 1. .. [#] The sum of all ``FractionDHWLoadServed`` (across all WaterHeatingSystems) must equal to 1. @@ -3401,9 +3407,9 @@ Each combination boiler w/ storage tank (sometimes referred to as an indirect wa See :ref:`hpxmllocations` for descriptions. .. [#] If Location not provided, defaults to the first present space type: - \- **IECC zones 1-3, excluding 3A**: "garage", "conditioned space" + \- **IECC zones 1-3**: "garage", "conditioned space" - \- **IECC zones 3A, 4-8, unknown**: "basement - conditioned", "basement - unconditioned", "conditioned space" + \- **IECC zones 3-8, unknown**: "basement - unconditioned", "basement - conditioned", "conditioned space" .. [#] NumberofUnitsServed only required if IsSharedSystem is true, in which case it must be > 1. .. [#] The sum of all ``FractionDHWLoadServed`` (across all WaterHeatingSystems) must equal to 1. @@ -3437,9 +3443,9 @@ Each combination boiler w/ tankless coil is entered as a ``/HPXML/Building/Build See :ref:`hpxmllocations` for descriptions. .. [#] If Location not provided, defaults to the first present space type: - \- **IECC zones 1-3, excluding 3A**: "garage", "conditioned space" + \- **IECC zones 1-3**: "garage", "conditioned space" - \- **IECC zones 3A, 4-8, unknown**: "basement - conditioned", "basement - unconditioned", "conditioned space" + \- **IECC zones 3-8, unknown**: "basement - unconditioned", "basement - conditioned", "conditioned space" .. [#] NumberofUnitsServed only required if IsSharedSystem is true, in which case it must be > 1. .. [#] The sum of all ``FractionDHWLoadServed`` (across all WaterHeatingSystems) must equal to 1. diff --git a/tasks.rb b/tasks.rb index 8dae3626b..42cafe732 100644 --- a/tasks.rb +++ b/tasks.rb @@ -56,19 +56,15 @@ def create_hpxmls runner = OpenStudio::Measure::OSRunner.new(OpenStudio::WorkflowJSON.new) num_apply_measures = 1 - if hpxml_path.include?('base-multiple-sfd-buildings') - num_apply_measures = 3 - elsif hpxml_path.include?('base-multiple-mf-units') + if hpxml_path.include?('base-bldgtype-mf-whole-building.xml') num_apply_measures = 6 end for i in 1..num_apply_measures measures['BuildResidentialHPXML'][0]['existing_hpxml_path'] = hpxml_path if i > 1 - if hpxml_path.include?('base-multiple-sfd-buildings') || hpxml_path.include?('base-multiple-mf-units') + if hpxml_path.include?('base-bldgtype-mf-whole-building.xml') suffix = "_#{i}" if i > 1 measures['BuildResidentialHPXML'][0]['schedules_filepaths'] = "../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic#{suffix}.csv" - end - if hpxml_path.include?('base-multiple-mf-units') measures['BuildResidentialHPXML'][0]['geometry_foundation_type'] = (i <= 2 ? 'UnconditionedBasement' : 'AboveApartment') measures['BuildResidentialHPXML'][0]['geometry_attic_type'] = (i >= 5 ? 'VentedAttic' : 'BelowApartment') end @@ -98,7 +94,7 @@ def create_hpxmls end end - hpxml = HPXML.new(hpxml_path: hpxml_path, building_id: 'ALL') + hpxml = HPXML.new(hpxml_path: hpxml_path) if hpxml_path.include? 'ASHRAE_Standard_140' apply_hpxml_modification_ashrae_140(hpxml) else diff --git a/workflow/hpxml_inputs.json b/workflow/hpxml_inputs.json index bc0f7db7f..7c209ff13 100644 --- a/workflow/hpxml_inputs.json +++ b/workflow/hpxml_inputs.json @@ -1729,6 +1729,24 @@ "hvac_perf_data_cooling_min_speed_cops": "4.47, 6.34", "hvac_perf_data_cooling_max_speed_cops": "2.71, 3.53" }, + "sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-normalized-capacities.xml": { + "parent_hpxml": "sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance.xml", + "hvac_perf_data_capacity_type": "Normalized capacity fractions", + "hvac_perf_data_heating_min_speed_capacities": "0.28, 0.12, 0.05", + "hvac_perf_data_heating_max_speed_capacities": "1.0, 0.69, 0.55", + "hvac_perf_data_cooling_min_speed_capacities": "0.325, 0.37", + "hvac_perf_data_cooling_max_speed_capacities": "1.0, 1.11" + }, + "sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-autosize.xml": { + "parent_hpxml": "sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance.xml", + "heat_pump_heating_capacity": null, + "heat_pump_cooling_capacity": null, + "hvac_perf_data_capacity_type": "Normalized capacity fractions", + "hvac_perf_data_heating_min_speed_capacities": "0.28, 0.12, 0.05", + "hvac_perf_data_heating_max_speed_capacities": "1.0, 0.69, 0.55", + "hvac_perf_data_cooling_min_speed_capacities": "0.325, 0.37", + "hvac_perf_data_cooling_max_speed_capacities": "1.0, 1.11" + }, "sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-other-temperatures.xml": { "parent_hpxml": "sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance.xml", "hvac_perf_data_capacity_type": "Absolute capacities", @@ -1830,6 +1848,13 @@ "hvac_perf_data_cooling_min_speed_cops": "4.47, 6.34", "hvac_perf_data_cooling_max_speed_cops": "2.71, 3.53" }, + "sample_files/base-hvac-central-ac-only-var-speed-detailed-performance-autosize.xml": { + "parent_hpxml": "sample_files/base-hvac-central-ac-only-var-speed-detailed-performance.xml", + "cooling_system_cooling_capacity": null, + "hvac_perf_data_capacity_type": "Normalized capacity fractions", + "hvac_perf_data_cooling_min_speed_capacities": "0.325, 0.37", + "hvac_perf_data_cooling_max_speed_capacities": "1.0, 1.11" + }, "sample_files/base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml": { "parent_hpxml": "sample_files/base-hvac-central-ac-only-1-speed.xml", "heat_pump_type": "air-to-air", @@ -2163,6 +2188,13 @@ "hvac_perf_data_cooling_min_speed_cops": "4.05, 8.03", "hvac_perf_data_cooling_max_speed_cops": "3.27, 3.27" }, + "sample_files/base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance-autosize.xml": { + "parent_hpxml": "sample_files/base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance.xml", + "cooling_system_cooling_capacity": null, + "hvac_perf_data_capacity_type": "Normalized capacity fractions", + "hvac_perf_data_cooling_min_speed_capacities": "0.255, 0.28", + "hvac_perf_data_cooling_max_speed_capacities": "1.0, 1.033" + }, "sample_files/base-hvac-mini-split-heat-pump-ducted.xml": { "parent_hpxml": "sample_files/base.xml", "heating_system_type": "none", @@ -2210,6 +2242,16 @@ "hvac_perf_data_cooling_min_speed_cops": "4.02, 4.61", "hvac_perf_data_cooling_max_speed_cops": "2.86, 3.29" }, + "sample_files/base-hvac-mini-split-heat-pump-ducted-detailed-performance-autosize.xml": { + "parent_hpxml": "sample_files/base-hvac-mini-split-heat-pump-ducted-detailed-performance.xml", + "heat_pump_heating_capacity": null, + "heat_pump_cooling_capacity": null, + "hvac_perf_data_capacity_type": "Normalized capacity fractions", + "hvac_perf_data_heating_min_speed_capacities": "0.26, 0.20, 0.18", + "hvac_perf_data_heating_max_speed_capacities": "1.33, 1.02, 0.91", + "hvac_perf_data_cooling_min_speed_capacities": "0.27, 0.28", + "hvac_perf_data_cooling_max_speed_capacities": "1.08, 1.16" + }, "sample_files/base-hvac-mini-split-heat-pump-ducted-cooling-only.xml": { "parent_hpxml": "sample_files/base-hvac-mini-split-heat-pump-ducted.xml", "heat_pump_heating_capacity": 0, @@ -2247,6 +2289,16 @@ "hvac_perf_data_cooling_min_speed_cops": "4.05, 8.03", "hvac_perf_data_cooling_max_speed_cops": "3.27, 3.27" }, + "sample_files/base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml": { + "parent_hpxml": "sample_files/base-hvac-mini-split-heat-pump-ductless-detailed-performance.xml", + "heat_pump_heating_capacity": null, + "heat_pump_cooling_capacity": null, + "hvac_perf_data_capacity_type": "Normalized capacity fractions", + "hvac_perf_data_heating_min_speed_capacities": "0.34, 0.21, 0.23", + "hvac_perf_data_heating_max_speed_capacities": "1.57, 1.21, 1.00", + "hvac_perf_data_cooling_min_speed_capacities": "0.29, 0.54", + "hvac_perf_data_cooling_max_speed_capacities": "1.18, 1.11" + }, "sample_files/base-hvac-mini-split-heat-pump-ductless-heating-capacity-17f.xml": { "parent_hpxml": "sample_files/base-hvac-mini-split-heat-pump-ductless.xml" }, @@ -2900,12 +2952,9 @@ "permanent_spa_heater_annual_kwh": 1300, "permanent_spa_heater_usage_multiplier": 0.9 }, - "sample_files/base-multiple-sfd-buildings.xml": { - "parent_hpxml": "sample_files/base.xml", - "clothes_dryer_present": false - }, - "sample_files/base-multiple-mf-units.xml": { + "sample_files/base-bldgtype-mf-whole-building.xml": { "parent_hpxml": "sample_files/base.xml", + "whole_sfa_or_mf_building_sim": true, "geometry_unit_type": "apartment unit", "geometry_unit_right_wall_is_adiabatic": true, "geometry_unit_cfa": 1200, @@ -2931,7 +2980,8 @@ "heating_system_type": "ElectricResistance", "heating_system_fuel": "electricity", "heating_system_heating_efficiency": 1, - "heating_system_heating_capacity": 12000 + "heating_system_heating_capacity": 12000, + "clothes_dryer_present": false }, "sample_files/base-pv.xml": { "parent_hpxml": "sample_files/base.xml", @@ -3157,7 +3207,14 @@ }, "sample_files/base-simcontrol-runperiod-1-month.xml": { "parent_hpxml": "sample_files/base.xml", - "simulation_control_run_period": "Feb 1 - Feb 28" + "weather_station_epw_filepath": "US_CO_Boulder_AMY_2012.epw", + "simulation_control_run_period": "Feb 15 - Mar 15", + "emissions_scenario_names": "Cambium Hourly MidCase LRMER RMPA, Cambium Hourly LowRECosts LRMER RMPA, Cambium Annual MidCase AER National, eGRID RMPA, eGRID RMPA", + "emissions_types": "CO2e, CO2e, CO2e, SO2, NOx", + "emissions_electricity_units": "kg/MWh, kg/MWh, kg/MWh, lb/MWh, lb/MWh", + "emissions_electricity_values_or_filepaths": "../../HPXMLtoOpenStudio/resources/data/cambium/LRMER_MidCase.csv, ../../HPXMLtoOpenStudio/resources/data/cambium/LRMER_LowRECosts.csv, 392.6, 0.384, 0.67", + "emissions_electricity_number_of_header_rows": "1, 1, , , ", + "emissions_electricity_column_numbers": "17, 17, , , " }, "sample_files/base-simcontrol-temperature-capacitance-multiplier.xml": { "parent_hpxml": "sample_files/base.xml", diff --git a/workflow/run_simulation.rb b/workflow/run_simulation.rb index 49234a912..6998f615c 100644 --- a/workflow/run_simulation.rb +++ b/workflow/run_simulation.rb @@ -142,7 +142,7 @@ def run_workflow(basedir, rundir, hpxml, debug, timeseries_output_freq, timeseri options[:ep_input_format] = t end - opts.on('-b', '--building-id ID', 'ID of Building to simulate (required when multiple HPXML Building elements); use "ALL" to simulate a single whole MF building') do |t| + opts.on('-b', '--building-id ID', 'ID of Building to simulate (required if the HPXML has multiple Building elements and WholeSFAorMFBuildingSimulation is not true)') do |t| options[:building_id] = t end diff --git a/workflow/sample_files/base-multiple-mf-units.xml b/workflow/sample_files/base-bldgtype-mf-whole-building.xml similarity index 98% rename from workflow/sample_files/base-multiple-mf-units.xml rename to workflow/sample_files/base-bldgtype-mf-whole-building.xml index 731a0a7d1..13aa4bc7c 100644 --- a/workflow/sample_files/base-multiple-mf-units.xml +++ b/workflow/sample_files/base-bldgtype-mf-whole-building.xml @@ -8,6 +8,7 @@ + true 60 @@ -421,14 +422,6 @@ 6.0 3.2 - - - conditioned space - electricity - 3.73 - true - 150.0 - conditioned space @@ -933,14 +926,6 @@ 6.0 3.2 - - - conditioned space - electricity - 3.73 - true - 150.0 - conditioned space @@ -1333,14 +1318,6 @@ 6.0 3.2 - - - conditioned space - electricity - 3.73 - true - 150.0 - conditioned space @@ -1733,14 +1710,6 @@ 6.0 3.2 - - - conditioned space - electricity - 3.73 - true - 150.0 - conditioned space @@ -2190,14 +2159,6 @@ 6.0 3.2 - - - conditioned space - electricity - 3.73 - true - 150.0 - conditioned space @@ -2647,14 +2608,6 @@ 6.0 3.2 - - - conditioned space - electricity - 3.73 - true - 150.0 - conditioned space diff --git a/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-autosize.xml b/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-autosize.xml new file mode 100644 index 000000000..0a8fef775 --- /dev/null +++ b/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-autosize.xml @@ -0,0 +1,643 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + + + air-to-air + electricity + variable speed + 0.78 + integrated + electricity + + Percent + 1.0 + + 36000.0 + 1.0 + 1.0 + + SEER + 17.25 + + + HSPF + 10.0 + + + + 95.0 + 0.325 + minimum + + COP + 4.47 + + + + 95.0 + 1.0 + maximum + + COP + 2.71 + + + + 82.0 + 0.37 + minimum + + COP + 6.34 + + + + 82.0 + 1.11 + maximum + + COP + 3.53 + + + + + + 47.0 + 0.28 + minimum + + COP + 4.73 + + + + 47.0 + 1.0 + maximum + + COP + 3.44 + + + + 17.0 + 0.12 + minimum + + COP + 1.84 + + + + 17.0 + 0.69 + maximum + + COP + 2.66 + + + + 5.0 + 0.05 + minimum + + COP + 0.81 + + + + 5.0 + 0.55 + maximum + + COP + 2.28 + + + + + + + + 68.0 + 78.0 + + + + + + regular velocity + + supply + + CFM25 + 75.0 + to outside + + + + return + + CFM25 + 25.0 + to outside + + + + + supply + 4.0 + attic - unvented + 150.0 + + + + return + 0.0 + attic - unvented + 50.0 + + + + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + true + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file diff --git a/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-normalized-capacities.xml b/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-normalized-capacities.xml new file mode 100644 index 000000000..3477cf851 --- /dev/null +++ b/workflow/sample_files/base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-normalized-capacities.xml @@ -0,0 +1,645 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + + + air-to-air + electricity + 36000.0 + 36000.0 + variable speed + 0.78 + integrated + electricity + + Percent + 1.0 + + 36000.0 + 1.0 + 1.0 + + SEER + 17.25 + + + HSPF + 10.0 + + + + 95.0 + 0.325 + minimum + + COP + 4.47 + + + + 95.0 + 1.0 + maximum + + COP + 2.71 + + + + 82.0 + 0.37 + minimum + + COP + 6.34 + + + + 82.0 + 1.11 + maximum + + COP + 3.53 + + + + + + 47.0 + 0.28 + minimum + + COP + 4.73 + + + + 47.0 + 1.0 + maximum + + COP + 3.44 + + + + 17.0 + 0.12 + minimum + + COP + 1.84 + + + + 17.0 + 0.69 + maximum + + COP + 2.66 + + + + 5.0 + 0.05 + minimum + + COP + 0.81 + + + + 5.0 + 0.55 + maximum + + COP + 2.28 + + + + + + + + 68.0 + 78.0 + + + + + + regular velocity + + supply + + CFM25 + 75.0 + to outside + + + + return + + CFM25 + 25.0 + to outside + + + + + supply + 4.0 + attic - unvented + 150.0 + + + + return + 0.0 + attic - unvented + 50.0 + + + + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + true + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file diff --git a/workflow/sample_files/base-hvac-central-ac-only-var-speed-detailed-performance-autosize.xml b/workflow/sample_files/base-hvac-central-ac-only-var-speed-detailed-performance-autosize.xml new file mode 100644 index 000000000..d5744e285 --- /dev/null +++ b/workflow/sample_files/base-hvac-central-ac-only-var-speed-detailed-performance-autosize.xml @@ -0,0 +1,573 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + + central air conditioner + electricity + variable speed + 1.0 + + SEER + 17.25 + + 0.78 + + + 95.0 + 0.325 + minimum + + COP + 4.47 + + + + 95.0 + 1.0 + maximum + + COP + 2.71 + + + + 82.0 + 0.37 + minimum + + COP + 6.34 + + + + 82.0 + 1.11 + maximum + + COP + 3.53 + + + + + + + + 78.0 + + + + + + regular velocity + + supply + + CFM25 + 75.0 + to outside + + + + return + + CFM25 + 25.0 + to outside + + + + + supply + 4.0 + attic - unvented + 150.0 + + + + return + 0.0 + attic - unvented + 50.0 + + + + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + true + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file diff --git a/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance-autosize.xml b/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance-autosize.xml new file mode 100644 index 000000000..6b2464f90 --- /dev/null +++ b/workflow/sample_files/base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance-autosize.xml @@ -0,0 +1,534 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + mini-split + electricity + variable speed + 1.0 + + SEER + 21.5 + + 0.73 + + + 95.0 + 0.255 + minimum + + COP + 4.05 + + + + 95.0 + 1.0 + maximum + + COP + 3.27 + + + + 82.0 + 0.28 + minimum + + COP + 8.03 + + + + 82.0 + 1.033 + maximum + + COP + 3.27 + + + + + + + + 78.0 + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + true + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file diff --git a/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-detailed-performance-autosize.xml b/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-detailed-performance-autosize.xml new file mode 100644 index 000000000..6cba39435 --- /dev/null +++ b/workflow/sample_files/base-hvac-mini-split-heat-pump-ducted-detailed-performance-autosize.xml @@ -0,0 +1,643 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + + + mini-split + electricity + variable speed + 0.73 + integrated + electricity + + Percent + 1.0 + + 36000.0 + 1.0 + 1.0 + + SEER + 16.7 + + + HSPF + 11.3 + + + + 95.0 + 0.27 + minimum + + COP + 4.02 + + + + 95.0 + 1.08 + maximum + + COP + 2.86 + + + + 82.0 + 0.28 + minimum + + COP + 4.61 + + + + 82.0 + 1.16 + maximum + + COP + 3.29 + + + + + + 47.0 + 0.26 + minimum + + COP + 4.35 + + + + 47.0 + 1.33 + maximum + + COP + 3.21 + + + + 17.0 + 0.2 + minimum + + COP + 2.92 + + + + 17.0 + 1.02 + maximum + + COP + 2.15 + + + + 5.0 + 0.18 + minimum + + COP + 2.6 + + + + 5.0 + 0.91 + maximum + + COP + 1.93 + + + + + + + + 68.0 + 78.0 + + + + + + regular velocity + + supply + + CFM25 + 15.0 + to outside + + + + return + + CFM25 + 5.0 + to outside + + + + + supply + 0.0 + attic - unvented + 30.0 + + + + return + 0.0 + attic - unvented + 10.0 + + + + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + true + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file diff --git a/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml b/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml new file mode 100644 index 000000000..8d9be637f --- /dev/null +++ b/workflow/sample_files/base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml @@ -0,0 +1,597 @@ + + + + HPXML + tasks.rb + 2000-01-01T00:00:00-07:00 + create + + + + + 60 + + + + Bills + + + + + + + + +
+ CO +
+
+ + proposed workscope + + + + + suburban + stand-alone + no units above or below + 180 + + electricity + natural gas + + + + single-family detached + 2.0 + 1.0 + 8.0 + 3 + 2 + 2700.0 + 21600.0 + + + + + 2006 + 5B + + + + USA_CO_Denver.Intl.AP.725650_TMY3 + + USA_CO_Denver.Intl.AP.725650_TMY3.epw + + + + + + + + 50.0 + + ACH + 3.0 + + 21600.0 + + + + + + + + false + + + false + + + + + + + + + + + true + + + + + + + + + + + attic - unvented + 1509.3 + asphalt or fiberglass shingles + 0.7 + 0.92 + 6.0 + + + 2.3 + + + + + + + outside + basement - conditioned + 115.6 + wood siding + 0.7 + 0.92 + + + 23.0 + + + + + + + outside + conditioned space + + + + 1200.0 + wood siding + 0.7 + 0.92 + + gypsum board + + + + 23.0 + + + + + outside + attic - unvented + gable + + + + 225.0 + wood siding + 0.7 + 0.92 + + + 4.0 + + + + + + + ground + basement - conditioned + 8.0 + 1200.0 + 8.0 + 7.0 + + gypsum board + + + + + continuous - exterior + 8.9 + 0.0 + 8.0 + + + continuous - interior + 0.0 + + + + + + + + attic - unvented + conditioned space + ceiling + + + + 1350.0 + + gypsum board + + + + 39.3 + + + + + + + basement - conditioned + 1350.0 + 4.0 + 150.0 + + + + 0.0 + 0.0 + + + + + + 0.0 + 0.0 + + + + 0.0 + 0.0 + + + + + + + 108.0 + 0 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 90 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 108.0 + 180 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + 72.0 + 270 + 0.33 + 0.45 + + + 0.7 + 0.85 + + 0.67 + + + + + + + + 40.0 + 180 + 4.4 + + + + + + + + + + + + + mini-split + electricity + variable speed + 0.73 + 1.0 + 1.0 + + SEER + 21.5 + + + HSPF + 10.5 + + + + 95.0 + 0.29 + minimum + + COP + 4.05 + + + + 95.0 + 1.18 + maximum + + COP + 3.27 + + + + 82.0 + 0.54 + minimum + + COP + 8.03 + + + + 82.0 + 1.11 + maximum + + COP + 3.27 + + + + + + 47.0 + 0.34 + minimum + + COP + 4.81 + + + + 47.0 + 1.57 + maximum + + COP + 3.17 + + + + 17.0 + 0.21 + minimum + + COP + 1.96 + + + + 17.0 + 1.21 + maximum + + COP + 2.31 + + + + 5.0 + 0.23 + minimum + + COP + 1.71 + + + + 5.0 + 1.0 + maximum + + COP + 1.96 + + + + + + + + 68.0 + 78.0 + + + + + + electricity + storage water heater + conditioned space + 40.0 + 1.0 + 18767.0 + 0.95 + 125.0 + + + + + + 50.0 + + + + 0.0 + + + + + shower head + true + + + + faucet + false + + + + + + + conditioned space + 1.21 + 380.0 + 0.12 + 1.09 + 27.0 + 6.0 + 3.2 + + + + conditioned space + electricity + 3.73 + true + 150.0 + + + + conditioned space + 307.0 + 12 + 0.12 + 1.09 + 22.32 + 4.0 + + + + conditioned space + 650.0 + true + + + + conditioned space + electricity + false + + + + false + + + + + + interior + 0.4 + + + + + + + interior + 0.1 + + + + + + + interior + 0.25 + + + + + + + exterior + 0.4 + + + + + + + exterior + 0.1 + + + + + + + exterior + 0.25 + + + + + + + + + TV other + + kWh/year + 620.0 + + + + + other + + kWh/year + 2457.0 + + + 0.855 + 0.045 + + + + +
+
\ No newline at end of file diff --git a/workflow/sample_files/base-multiple-sfd-buildings.xml b/workflow/sample_files/base-multiple-sfd-buildings.xml deleted file mode 100644 index 4c8c76046..000000000 --- a/workflow/sample_files/base-multiple-sfd-buildings.xml +++ /dev/null @@ -1,1599 +0,0 @@ - - - - HPXML - tasks.rb - 2000-01-01T00:00:00-07:00 - create - - - - - 60 - - - - Bills - - - - - - - - -
- CO -
-
- - proposed workscope - - - - - suburban - stand-alone - no units above or below - 180 - - electricity - natural gas - - - - single-family detached - 2.0 - 1.0 - 8.0 - 3 - 2 - 2700.0 - 21600.0 - - - ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic.csv - - - - - 2006 - 5B - - - - USA_CO_Denver.Intl.AP.725650_TMY3 - - USA_CO_Denver.Intl.AP.725650_TMY3.epw - - - - - - - - 50.0 - - ACH - 3.0 - - 21600.0 - - - - - - - - false - - - false - - - - - - - - - - - true - - - - - - - - - - - attic - unvented - 1509.3 - asphalt or fiberglass shingles - 0.7 - 0.92 - 6.0 - - - 2.3 - - - - - - - outside - basement - conditioned - 115.6 - wood siding - 0.7 - 0.92 - - - 23.0 - - - - - - - outside - conditioned space - - - - 1200.0 - wood siding - 0.7 - 0.92 - - gypsum board - - - - 23.0 - - - - - outside - attic - unvented - gable - - - - 225.0 - wood siding - 0.7 - 0.92 - - - 4.0 - - - - - - - ground - basement - conditioned - 8.0 - 1200.0 - 8.0 - 7.0 - - gypsum board - - - - - continuous - exterior - 8.9 - 0.0 - 8.0 - - - continuous - interior - 0.0 - - - - - - - - attic - unvented - conditioned space - ceiling - - - - 1350.0 - - gypsum board - - - - 39.3 - - - - - - - basement - conditioned - 1350.0 - 4.0 - 150.0 - - - - 0.0 - 0.0 - - - - - - 0.0 - 0.0 - - - - 0.0 - 0.0 - - - - - - - 108.0 - 0 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - 72.0 - 90 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - 108.0 - 180 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - 72.0 - 270 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - - - - 40.0 - 180 - 4.4 - - - - - - - - - - - - - - - - - natural gas - 36000.0 - - AFUE - 0.92 - - 1.0 - - - - - central air conditioner - electricity - 24000.0 - single stage - 1.0 - - SEER - 13.0 - - 0.73 - - - - - 68.0 - 78.0 - - - - - - regular velocity - - supply - - CFM25 - 75.0 - to outside - - - - return - - CFM25 - 25.0 - to outside - - - - - supply - 4.0 - attic - unvented - 150.0 - - - - return - 0.0 - attic - unvented - 50.0 - - - - - - - - - electricity - storage water heater - conditioned space - 40.0 - 1.0 - 18767.0 - 0.95 - 125.0 - - - - - - 50.0 - - - - 0.0 - - - - - shower head - true - - - - faucet - false - - - - - - - conditioned space - 1.21 - 380.0 - 0.12 - 1.09 - 27.0 - 6.0 - 3.2 - - - - conditioned space - 307.0 - 12 - 0.12 - 1.09 - 22.32 - 4.0 - - - - conditioned space - 650.0 - true - - - - conditioned space - electricity - false - - - - false - - - - - - interior - 0.4 - - - - - - - interior - 0.1 - - - - - - - interior - 0.25 - - - - - - - exterior - 0.4 - - - - - - - exterior - 0.1 - - - - - - - exterior - 0.25 - - - - - - - - - TV other - - kWh/year - 620.0 - - - - - other - - kWh/year - 2457.0 - - - 0.855 - 0.045 - - - - -
- - - - -
- CO -
-
- - proposed workscope - - - - - suburban - stand-alone - no units above or below - 180 - - electricity - natural gas - - - - single-family detached - 2.0 - 1.0 - 8.0 - 3 - 2 - 2700.0 - 21600.0 - - - ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic_2.csv - - - - - 2006 - 5B - - - - USA_CO_Denver.Intl.AP.725650_TMY3 - - USA_CO_Denver.Intl.AP.725650_TMY3.epw - - - - - - - - 50.0 - - ACH - 3.0 - - 21600.0 - - - - - - - - false - - - false - - - - - - - - - - - true - - - - - - - - - - - attic - unvented - 1509.3 - asphalt or fiberglass shingles - 0.7 - 0.92 - 6.0 - - - 2.3 - - - - - - - outside - basement - conditioned - 115.6 - wood siding - 0.7 - 0.92 - - - 23.0 - - - - - - - outside - conditioned space - - - - 1200.0 - wood siding - 0.7 - 0.92 - - gypsum board - - - - 23.0 - - - - - outside - attic - unvented - gable - - - - 225.0 - wood siding - 0.7 - 0.92 - - - 4.0 - - - - - - - ground - basement - conditioned - 8.0 - 1200.0 - 8.0 - 7.0 - - gypsum board - - - - - continuous - exterior - 8.9 - 0.0 - 8.0 - - - continuous - interior - 0.0 - - - - - - - - attic - unvented - conditioned space - ceiling - - - - 1350.0 - - gypsum board - - - - 39.3 - - - - - - - basement - conditioned - 1350.0 - 4.0 - 150.0 - - - - 0.0 - 0.0 - - - - - - 0.0 - 0.0 - - - - 0.0 - 0.0 - - - - - - - 108.0 - 0 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - 72.0 - 90 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - 108.0 - 180 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - 72.0 - 270 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - - - - 40.0 - 180 - 4.4 - - - - - - - - - - - - - - - - - natural gas - 36000.0 - - AFUE - 0.92 - - 1.0 - - - - - central air conditioner - electricity - 24000.0 - single stage - 1.0 - - SEER - 13.0 - - 0.73 - - - - - 68.0 - 78.0 - - - - - - regular velocity - - supply - - CFM25 - 75.0 - to outside - - - - return - - CFM25 - 25.0 - to outside - - - - - supply - 4.0 - attic - unvented - 150.0 - - - - return - 0.0 - attic - unvented - 50.0 - - - - - - - - - electricity - storage water heater - conditioned space - 40.0 - 1.0 - 18767.0 - 0.95 - 125.0 - - - - - - 50.0 - - - - 0.0 - - - - - shower head - true - - - - faucet - false - - - - - - - conditioned space - 1.21 - 380.0 - 0.12 - 1.09 - 27.0 - 6.0 - 3.2 - - - - conditioned space - 307.0 - 12 - 0.12 - 1.09 - 22.32 - 4.0 - - - - conditioned space - 650.0 - true - - - - conditioned space - electricity - false - - - - false - - - - - - interior - 0.4 - - - - - - - interior - 0.1 - - - - - - - interior - 0.25 - - - - - - - exterior - 0.4 - - - - - - - exterior - 0.1 - - - - - - - exterior - 0.25 - - - - - - - - - TV other - - kWh/year - 620.0 - - - - - other - - kWh/year - 2457.0 - - - 0.855 - 0.045 - - - - -
- - - - -
- CO -
-
- - proposed workscope - - - - - suburban - stand-alone - no units above or below - 180 - - electricity - natural gas - - - - single-family detached - 2.0 - 1.0 - 8.0 - 3 - 2 - 2700.0 - 21600.0 - - - ../../HPXMLtoOpenStudio/resources/schedule_files/occupancy-stochastic_3.csv - - - - - 2006 - 5B - - - - USA_CO_Denver.Intl.AP.725650_TMY3 - - USA_CO_Denver.Intl.AP.725650_TMY3.epw - - - - - - - - 50.0 - - ACH - 3.0 - - 21600.0 - - - - - - - - false - - - false - - - - - - - - - - - true - - - - - - - - - - - attic - unvented - 1509.3 - asphalt or fiberglass shingles - 0.7 - 0.92 - 6.0 - - - 2.3 - - - - - - - outside - basement - conditioned - 115.6 - wood siding - 0.7 - 0.92 - - - 23.0 - - - - - - - outside - conditioned space - - - - 1200.0 - wood siding - 0.7 - 0.92 - - gypsum board - - - - 23.0 - - - - - outside - attic - unvented - gable - - - - 225.0 - wood siding - 0.7 - 0.92 - - - 4.0 - - - - - - - ground - basement - conditioned - 8.0 - 1200.0 - 8.0 - 7.0 - - gypsum board - - - - - continuous - exterior - 8.9 - 0.0 - 8.0 - - - continuous - interior - 0.0 - - - - - - - - attic - unvented - conditioned space - ceiling - - - - 1350.0 - - gypsum board - - - - 39.3 - - - - - - - basement - conditioned - 1350.0 - 4.0 - 150.0 - - - - 0.0 - 0.0 - - - - - - 0.0 - 0.0 - - - - 0.0 - 0.0 - - - - - - - 108.0 - 0 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - 72.0 - 90 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - 108.0 - 180 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - 72.0 - 270 - 0.33 - 0.45 - - - 0.7 - 0.85 - - 0.67 - - - - - - - - 40.0 - 180 - 4.4 - - - - - - - - - - - - - - - - - natural gas - 36000.0 - - AFUE - 0.92 - - 1.0 - - - - - central air conditioner - electricity - 24000.0 - single stage - 1.0 - - SEER - 13.0 - - 0.73 - - - - - 68.0 - 78.0 - - - - - - regular velocity - - supply - - CFM25 - 75.0 - to outside - - - - return - - CFM25 - 25.0 - to outside - - - - - supply - 4.0 - attic - unvented - 150.0 - - - - return - 0.0 - attic - unvented - 50.0 - - - - - - - - - electricity - storage water heater - conditioned space - 40.0 - 1.0 - 18767.0 - 0.95 - 125.0 - - - - - - 50.0 - - - - 0.0 - - - - - shower head - true - - - - faucet - false - - - - - - - conditioned space - 1.21 - 380.0 - 0.12 - 1.09 - 27.0 - 6.0 - 3.2 - - - - conditioned space - 307.0 - 12 - 0.12 - 1.09 - 22.32 - 4.0 - - - - conditioned space - 650.0 - true - - - - conditioned space - electricity - false - - - - false - - - - - - interior - 0.4 - - - - - - - interior - 0.1 - - - - - - - interior - 0.25 - - - - - - - exterior - 0.4 - - - - - - - exterior - 0.1 - - - - - - - exterior - 0.25 - - - - - - - - - TV other - - kWh/year - 620.0 - - - - - other - - kWh/year - 2457.0 - - - 0.855 - 0.045 - - - - -
-
\ No newline at end of file diff --git a/workflow/sample_files/base-simcontrol-runperiod-1-month.xml b/workflow/sample_files/base-simcontrol-runperiod-1-month.xml index 5aa2f23d8..5cc4ff0c4 100644 --- a/workflow/sample_files/base-simcontrol-runperiod-1-month.xml +++ b/workflow/sample_files/base-simcontrol-runperiod-1-month.xml @@ -11,10 +11,61 @@ 60 2 - 1 - 2 - 28 + 15 + 3 + 15 + + + Cambium Hourly MidCase LRMER RMPA + CO2e + + electricity + kg/MWh + ../../HPXMLtoOpenStudio/resources/data/cambium/LRMER_MidCase.csv + 1 + 17 + + + + Cambium Hourly LowRECosts LRMER RMPA + CO2e + + electricity + kg/MWh + ../../HPXMLtoOpenStudio/resources/data/cambium/LRMER_LowRECosts.csv + 1 + 17 + + + + Cambium Annual MidCase AER National + CO2e + + electricity + kg/MWh + 392.6 + + + + eGRID RMPA + SO2 + + electricity + lb/MWh + 0.384 + + + + eGRID RMPA + NOx + + electricity + lb/MWh + 0.67 + + + Bills @@ -63,9 +114,9 @@ - USA_CO_Denver.Intl.AP.725650_TMY3 + US_CO_Boulder_AMY_2012 - USA_CO_Denver.Intl.AP.725650_TMY3.epw + US_CO_Boulder_AMY_2012.epw diff --git a/workflow/tests/base_results/results_workflow_simulations1.csv b/workflow/tests/base_results/results_workflow_simulations1.csv index 4726db578..ed4560df8 100644 --- a/workflow/tests/base_results/results_workflow_simulations1.csv +++ b/workflow/tests/base_results/results_workflow_simulations1.csv @@ -53,6 +53,7 @@ base-bldgtype-mf-unit-shared-pv.xml,26.804,2.356,26.175,1.727,0.629,0.0,0.0,0.0, base-bldgtype-mf-unit-shared-water-heater-recirc.xml,30.742,30.742,17.637,17.637,13.105,0.0,0.0,0.0,0.0,0.0,0.0,0.006,0.0,0.0,2.927,0.526,0.0,1.096,0.0,2.026,0.0,0.206,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,2.791,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.793,0.0,12.312,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.732,0.0,8.892,9.374,0.569,0.0,0.0,0.0,0.0,1056.9,1589.1,1589.1,3.648,7.73,0.0,-0.017,2.512,0.0,0.0,0.426,3.986,-2.697,0.0,0.0,-0.014,0.0,-0.386,1.61,0.0,0.696,0.0,0.0,-4.663,-0.809,0.0,-0.012,-1.035,0.0,0.0,-0.036,-1.036,5.505,0.0,0.0,-0.009,0.0,-0.376,-0.624,-1.314,-0.362,0.0,0.0,7.097,1.218,1354.8,997.6,11171.6,3093.4,0.0,12000.0,12000.0,0.0,6.8,91.76,5886.0,0.0,2576.0,0.0,287.0,1490.0,0.0,0.0,0.0,0.0,1532.0,7051.0,0.0,3264.0,0.0,103.0,157.0,0.0,0.0,0.0,0.0,206.0,3320.0,520.0,0.0,-280.0,800.0 base-bldgtype-mf-unit-shared-water-heater.xml,29.646,29.646,16.541,16.541,13.105,0.0,0.0,0.0,0.0,0.0,0.0,0.006,0.0,0.0,2.927,0.526,0.0,0.0,0.0,2.026,0.0,0.206,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,2.791,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.793,0.0,12.312,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.732,0.0,8.892,9.374,0.569,0.0,0.0,0.0,0.0,1004.2,1536.4,1536.4,3.648,7.73,0.0,-0.017,2.512,0.0,0.0,0.426,3.986,-2.697,0.0,0.0,-0.014,0.0,-0.386,1.61,0.0,0.696,0.0,0.0,-4.663,-0.809,0.0,-0.012,-1.035,0.0,0.0,-0.036,-1.036,5.505,0.0,0.0,-0.009,0.0,-0.376,-0.624,-1.314,-0.362,0.0,0.0,7.097,1.218,1354.8,997.6,11171.6,3093.4,0.0,12000.0,12000.0,0.0,6.8,91.76,5886.0,0.0,2576.0,0.0,287.0,1490.0,0.0,0.0,0.0,0.0,1532.0,7051.0,0.0,3264.0,0.0,103.0,157.0,0.0,0.0,0.0,0.0,206.0,3320.0,520.0,0.0,-280.0,800.0 base-bldgtype-mf-unit.xml,26.804,26.804,26.175,26.175,0.629,0.0,0.0,0.0,0.0,0.0,0.0,0.005,0.0,0.0,3.012,0.548,9.527,0.0,0.0,2.026,0.0,0.206,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,2.791,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.629,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.581,0.0,9.236,9.374,0.576,0.0,0.0,0.0,0.0,1655.4,2001.6,2001.6,3.449,7.707,0.0,-0.016,2.473,0.0,0.0,0.424,3.936,-2.551,0.0,0.0,-0.012,0.0,-0.395,1.279,0.0,0.677,0.0,0.0,-4.566,-0.771,0.0,-0.011,-1.11,0.0,0.0,-0.044,-1.142,5.651,0.0,0.0,-0.007,0.0,-0.385,-0.518,-1.333,-0.392,0.0,0.0,7.4,1.256,1354.8,997.6,11171.5,3093.4,0.0,12000.0,12000.0,0.0,6.8,91.76,5886.0,0.0,2576.0,0.0,287.0,1490.0,0.0,0.0,0.0,0.0,1532.0,7051.0,0.0,3264.0,0.0,103.0,157.0,0.0,0.0,0.0,0.0,206.0,3320.0,520.0,0.0,-280.0,800.0 +base-bldgtype-mf-whole-building.xml,219.072,219.072,219.072,219.072,0.0,0.0,0.0,0.0,0.0,0.0,34.933,0.0,0.0,0.0,22.982,0.0,55.565,0.0,0.0,14.641,0.0,1.363,0.0,0.0,0.0,0.0,13.318,0.0,0.0,1.912,2.192,0.0,9.172,0.0,12.693,50.302,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,34.878,0.0,51.452,55.316,3.602,0.0,0.0,0.0,1.0,22267.0,16276.3,22267.0,54.129,56.723,0.0,7.757,18.924,0.0,0.0,2.282,27.69,-27.42,0.0,0.0,7.753,0.0,-1.243,57.917,0.0,0.0,0.0,0.0,-51.005,-7.748,0.0,-1.12,-3.356,0.0,0.0,-0.07,-3.931,29.943,0.0,0.0,-3.882,0.0,-1.218,-13.978,-8.411,0.0,0.0,0.0,50.831,6.893,8128.5,5988.0,67056.9,16864.7,0.0,72000.0,72000.0,0.0,6.8,91.76,88106.0,0.0,18018.0,0.0,1722.0,10488.0,0.0,2376.0,0.0,3860.0,51642.0,53050.0,0.0,21576.0,0.0,618.0,1104.0,0.0,630.0,0.0,2244.0,6954.0,19920.0,0.0,0.0,0.0,0.0 base-bldgtype-sfa-unit-2stories.xml,50.938,50.938,34.548,34.548,16.39,0.0,0.0,0.0,0.0,0.0,0.0,0.214,0.0,0.0,3.381,0.598,9.079,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,16.39,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,15.285,0.0,10.28,9.11,0.613,0.0,0.0,0.0,0.0,2111.0,3056.0,3056.0,17.841,15.556,0.0,2.437,5.073,0.298,4.382,0.64,7.13,-8.585,0.0,0.0,0.0,5.027,-0.069,7.099,0.0,0.73,0.0,2.271,-8.897,-2.5,0.0,-0.004,-0.668,-0.027,1.593,-0.021,-1.066,7.911,0.0,0.0,0.0,-4.019,-0.064,-1.707,-2.597,-0.164,0.0,1.365,7.881,2.01,1354.8,997.6,11171.5,2624.7,0.0,48000.0,36000.0,0.0,6.8,91.76,27715.0,7446.0,5147.0,0.0,575.0,5634.0,0.0,0.0,1524.0,1447.0,5942.0,16951.0,4421.0,6528.0,0.0,207.0,333.0,0.0,0.0,0.0,1340.0,803.0,3320.0,0.0,0.0,0.0,0.0 base-bldgtype-sfa-unit-atticroof-cathedral.xml,97.453,97.453,37.106,37.106,60.347,0.0,0.0,0.0,0.0,0.0,0.0,0.787,0.0,0.0,5.013,0.942,9.088,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,60.347,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,56.272,0.0,15.98,9.11,0.623,0.0,0.0,0.0,0.0,2152.6,4262.0,4262.0,36.45,28.479,49.534,0.0,2.942,0.289,3.702,0.668,4.716,-5.325,0.0,0.0,0.0,3.447,-0.844,7.54,0.0,0.773,0.0,0.0,-9.663,-2.68,8.461,0.0,-0.16,0.004,1.534,0.119,0.028,5.085,0.0,0.0,0.0,-4.279,-0.806,-0.856,-1.185,-0.094,0.0,0.0,7.124,1.829,1354.8,997.6,11171.6,2624.7,0.0,48000.0,36000.0,0.0,6.8,91.76,43367.0,0.0,3210.0,0.0,575.0,4469.0,27649.0,0.0,1524.0,0.0,5942.0,24053.0,0.0,4963.0,0.0,207.0,210.0,14551.0,0.0,0.0,0.0,803.0,3320.0,0.0,0.0,0.0,0.0 base-bldgtype-sfa-unit-infil-compartmentalization-test.xml,42.239,42.239,29.828,29.828,12.411,0.0,0.0,0.0,0.0,0.0,0.0,0.091,0.0,0.0,2.796,0.473,9.289,0.0,0.0,3.268,0.0,0.27,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,5.583,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,12.411,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,11.509,0.0,8.083,9.225,0.613,0.0,0.0,0.0,0.0,1828.5,2548.6,2548.6,13.175,10.707,0.0,2.351,2.372,0.293,4.249,0.625,3.57,-4.311,0.0,0.0,0.0,4.688,-0.044,3.042,0.0,0.728,0.0,3.162,-7.556,-1.812,0.0,0.016,-0.292,-0.028,1.539,-0.025,-0.616,3.963,0.0,0.0,0.0,-4.113,-0.042,-0.776,-1.237,-0.167,0.0,1.634,6.835,1.456,1354.8,997.6,11171.5,2829.7,0.0,24000.0,24000.0,0.0,6.8,91.76,21402.0,8128.0,2576.0,0.0,575.0,4088.0,0.0,0.0,1524.0,1447.0,3064.0,13940.0,5226.0,3264.0,0.0,207.0,170.0,0.0,0.0,0.0,1340.0,413.0,3320.0,240.0,0.0,-560.0,800.0 @@ -179,6 +180,8 @@ base-hvac-air-to-air-heat-pump-var-speed-backup-boiler-hvac-seasons.xml,53.616,5 base-hvac-air-to-air-heat-pump-var-speed-backup-boiler-switchover-temperature.xml,56.607,56.607,37.565,37.565,19.042,0.0,0.0,0.0,0.0,0.0,4.02,0.233,0.0,0.072,2.464,0.482,9.018,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.042,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,27.307,14.185,16.31,9.075,0.615,0.0,0.0,225.0,10.0,3034.2,2882.5,3034.2,23.177,17.738,0.0,3.297,3.6,0.506,7.421,0.614,9.851,-12.664,0.0,0.0,0.0,8.25,-0.008,5.77,0.0,0.715,0.0,10.51,-8.794,-2.468,0.0,-0.174,-0.487,-0.056,2.65,-0.037,-1.586,11.749,0.0,0.0,0.0,-6.307,-0.005,-1.521,-3.068,-0.175,0.0,5.101,7.984,2.042,1354.8,997.6,11171.5,2563.5,0.0,18000.0,18000.0,60000.0,6.8,91.76,31147.0,7507.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed-backup-boiler.xml,53.723,53.723,38.803,38.803,14.92,0.0,0.0,0.0,0.0,0.0,5.151,0.357,0.0,0.056,2.464,0.483,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,14.92,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,27.971,11.129,16.346,9.075,0.614,0.0,0.0,1.0,10.0,3202.1,2882.4,3202.1,22.934,17.738,0.0,3.324,3.646,0.513,7.529,0.631,10.095,-12.703,0.0,0.0,0.0,8.332,-0.059,5.884,0.0,0.728,0.0,11.091,-8.914,-2.501,0.0,-0.142,-0.453,-0.051,2.716,-0.024,-1.382,11.71,0.0,0.0,0.0,-6.295,-0.055,-1.437,-3.069,-0.164,0.0,5.274,7.864,2.009,1354.8,997.6,11171.6,2563.5,0.0,18000.0,18000.0,60000.0,6.8,91.76,31147.0,7507.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed-backup-furnace.xml,53.7,53.7,38.942,38.942,14.758,0.0,0.0,0.0,0.0,0.0,4.916,0.334,0.0,0.445,2.473,0.482,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,14.758,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,28.195,12.251,16.463,9.075,0.614,0.0,0.0,2.0,8.0,3212.2,2882.3,3212.2,26.385,17.729,0.0,3.269,3.648,0.513,7.535,0.631,10.099,-12.695,0.0,0.0,0.0,8.327,-0.059,4.804,0.0,0.729,0.0,12.407,-8.905,-2.499,0.0,-0.151,-0.462,-0.052,2.686,-0.026,-1.413,11.718,0.0,0.0,0.0,-6.343,-0.055,-1.173,-3.115,-0.166,0.0,5.289,7.873,2.011,1354.8,997.6,11171.6,2563.5,0.0,18000.0,18000.0,60000.0,6.8,91.76,39742.0,16102.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 +base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-autosize.xml,42.815,42.815,42.815,42.815,0.0,0.0,0.0,0.0,0.0,0.0,8.728,0.56,0.31,0.011,2.749,0.164,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,25.751,0.322,15.106,9.075,0.614,0.0,0.0,0.0,0.0,7017.5,3772.5,7017.5,24.43,18.47,0.0,3.367,3.648,0.513,7.536,0.631,10.106,-12.695,0.0,0.0,0.0,8.329,-0.062,4.808,0.0,0.73,0.0,9.894,-8.91,-2.5,0.0,-0.085,-0.462,-0.052,2.688,-0.026,-1.406,11.718,0.0,0.0,0.0,-6.341,-0.058,-1.17,-3.109,-0.165,0.0,3.907,7.868,2.009,1354.8,997.6,11171.6,2563.5,0.0,31147.0,31147.0,36000.0,6.8,91.76,31147.0,7507.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 +base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-normalized-capacities.xml,42.417,42.417,42.417,42.417,0.0,0.0,0.0,0.0,0.0,0.0,8.766,0.51,0.133,0.006,2.597,0.113,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,25.279,0.139,14.705,9.075,0.614,0.0,0.0,0.0,0.0,6969.8,3564.3,6969.8,24.192,18.091,0.0,3.386,3.648,0.513,7.536,0.631,10.106,-12.695,0.0,0.0,0.0,8.328,-0.062,4.808,0.0,0.73,0.0,9.409,-8.91,-2.5,0.0,-0.065,-0.462,-0.052,2.687,-0.026,-1.406,11.718,0.0,0.0,0.0,-6.342,-0.058,-1.17,-3.107,-0.165,0.0,3.493,7.868,2.009,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,36000.0,6.8,91.76,31147.0,7507.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-other-temperatures.xml,50.041,50.041,50.041,50.041,0.0,0.0,0.0,0.0,0.0,0.0,9.692,0.717,5.724,0.327,3.182,0.106,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,25.665,6.051,14.672,9.075,0.614,0.0,0.0,0.0,0.0,8393.7,3435.0,8393.7,24.188,18.194,0.0,3.366,3.646,0.513,7.534,0.631,10.107,-12.683,0.0,0.0,0.0,8.323,-0.065,4.807,0.0,0.729,0.0,9.802,-8.906,-2.499,0.0,-0.066,-0.464,-0.052,2.685,-0.026,-1.406,11.73,0.0,0.0,0.0,-6.348,-0.061,-1.17,-3.107,-0.166,0.0,3.46,7.871,2.01,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,36000.0,6.8,91.76,31147.0,7507.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed-detailed-performance.xml,42.376,42.376,42.376,42.376,0.0,0.0,0.0,0.0,0.0,0.0,8.726,0.512,0.13,0.006,2.595,0.115,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,25.13,0.136,14.712,9.075,0.614,0.0,0.0,0.0,0.0,6971.0,3559.8,6971.0,24.193,18.088,0.0,3.389,3.646,0.513,7.534,0.631,10.107,-12.683,0.0,0.0,0.0,8.322,-0.065,4.807,0.0,0.729,0.0,9.254,-8.906,-2.499,0.0,-0.068,-0.464,-0.052,2.685,-0.026,-1.406,11.73,0.0,0.0,0.0,-6.348,-0.061,-1.17,-3.107,-0.166,0.0,3.499,7.871,2.01,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,36000.0,6.8,91.76,31147.0,7507.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed.xml,40.908,40.908,40.908,40.908,0.0,0.0,0.0,0.0,0.0,0.0,7.802,0.252,0.322,0.015,2.105,0.12,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,23.727,0.337,14.405,9.075,0.614,0.0,0.0,0.0,0.0,7018.6,2768.7,7018.6,24.247,18.073,0.0,3.444,3.645,0.513,7.532,0.631,10.105,-12.683,0.0,0.0,0.0,8.319,-0.065,4.807,0.0,0.729,0.0,7.804,-8.906,-2.499,0.0,-0.054,-0.464,-0.052,2.685,-0.026,-1.406,11.73,0.0,0.0,0.0,-6.348,-0.061,-1.17,-3.106,-0.166,0.0,3.179,7.871,2.01,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,36000.0,6.8,91.76,31147.0,7507.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 @@ -195,6 +198,7 @@ base-hvac-boiler-wood-only.xml,49.414,49.414,30.391,30.391,0.0,0.0,0.0,19.023,0. base-hvac-central-ac-only-1-speed-seer2.xml,35.806,35.806,35.806,35.806,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.325,1.144,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,14.068,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,3506.5,3506.5,0.0,18.78,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.072,-0.471,-0.052,2.665,-0.032,-1.454,11.85,0.0,0.0,0.0,-6.918,-0.064,-1.194,-3.021,-0.167,0.0,3.156,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,24000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-only-1-speed.xml,35.819,35.819,35.819,35.819,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.338,1.144,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,14.068,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,3513.2,3513.2,0.0,18.78,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.072,-0.471,-0.052,2.665,-0.032,-1.454,11.85,0.0,0.0,0.0,-6.918,-0.064,-1.194,-3.021,-0.167,0.0,3.156,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,24000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-only-2-speed.xml,34.186,34.186,34.186,34.186,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.144,0.706,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,14.48,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,3088.8,3088.8,0.0,19.368,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.09,-0.471,-0.052,2.666,-0.032,-1.454,11.85,0.0,0.0,0.0,-6.917,-0.064,-1.194,-3.021,-0.167,0.0,3.574,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,24000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 +base-hvac-central-ac-only-var-speed-detailed-performance-autosize.xml,34.903,34.903,34.903,34.903,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.15,0.416,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,15.946,9.075,0.661,0.0,0.0,0.0,3.0,2070.7,3898.6,3898.6,0.0,18.634,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.166,-0.471,-0.052,2.667,-0.032,-1.453,11.85,0.0,0.0,0.0,-6.916,-0.064,-1.195,-3.031,-0.167,0.0,5.117,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,19564.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-only-var-speed-detailed-performance.xml,33.715,33.715,33.715,33.715,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.26,0.118,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,14.439,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,3515.6,3515.6,0.0,17.851,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.09,-0.471,-0.052,2.666,-0.032,-1.454,11.85,0.0,0.0,0.0,-6.917,-0.064,-1.194,-3.023,-0.167,0.0,3.571,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,36000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-only-var-speed.xml,33.347,33.347,33.347,33.347,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.738,0.273,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,15.276,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,2902.2,2902.2,0.0,18.997,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.13,-0.471,-0.052,2.667,-0.032,-1.453,11.85,0.0,0.0,0.0,-6.916,-0.064,-1.194,-3.026,-0.167,0.0,4.423,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,24000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml,47.527,47.527,47.527,47.527,0.0,0.0,0.0,0.0,0.0,0.0,9.535,1.746,0.309,0.031,4.437,1.176,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.316,0.34,14.481,9.075,0.614,0.0,0.0,0.0,0.0,7344.8,3548.8,7344.8,25.253,19.073,0.0,3.498,3.645,0.513,7.531,0.631,10.104,-12.683,0.0,0.0,0.0,8.317,-0.065,4.807,0.0,0.729,0.0,6.329,-8.906,-2.499,0.0,-0.058,-0.464,-0.052,2.685,-0.026,-1.406,11.73,0.0,0.0,0.0,-6.349,-0.061,-1.17,-3.106,-0.166,0.0,3.231,7.871,2.01,1354.8,997.6,11171.6,2563.5,0.0,36000.0,24000.0,36000.0,6.8,91.76,31147.0,7507.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 @@ -246,9 +250,11 @@ base-hvac-install-quality-ground-to-air-heat-pump.xml,42.513,42.513,42.513,42.51 base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml,33.87,33.87,33.87,33.87,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.336,0.198,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,12.742,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,2953.2,2953.2,0.0,14.158,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.018,-0.472,-0.052,2.664,-0.032,-1.455,11.85,0.0,0.0,0.0,-6.92,-0.064,-1.194,-3.021,-0.167,0.0,1.83,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,24000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,15306.0,1848.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-mini-split-heat-pump-ducted.xml,41.386,41.386,41.386,41.386,0.0,0.0,0.0,0.0,0.0,0.0,8.076,0.201,0.121,0.005,2.597,0.095,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.44,0.126,12.616,9.075,0.614,0.0,0.0,0.0,0.0,4873.7,2791.1,4873.7,19.228,14.111,0.0,3.607,3.644,0.513,7.528,0.631,10.102,-12.683,0.0,0.0,0.0,8.312,-0.065,4.807,0.0,0.73,0.0,3.387,-8.906,-2.499,0.0,0.019,-0.465,-0.052,2.683,-0.026,-1.407,11.73,0.0,0.0,0.0,-6.351,-0.061,-1.17,-3.103,-0.166,0.0,1.346,7.871,2.01,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,36000.0,6.8,91.76,26181.0,2541.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,15306.0,1848.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-air-conditioner-only-ducted.xml,33.207,33.207,33.207,33.207,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.8,0.07,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,12.473,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,2570.0,2570.0,0.0,13.958,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.005,-0.472,-0.052,2.664,-0.032,-1.456,11.85,0.0,0.0,0.0,-6.92,-0.064,-1.194,-3.019,-0.167,0.0,1.548,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,24000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,15306.0,1848.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 +base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance-autosize.xml,33.63,33.63,33.63,33.63,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,3.238,0.055,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,10.955,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,2584.0,2584.0,0.0,11.722,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,-0.472,-0.052,2.665,-0.032,-1.455,11.85,0.0,0.0,0.0,-6.919,-0.064,-1.194,-3.011,-0.167,0.0,0.0,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,14282.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance.xml,32.927,32.927,32.927,32.927,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.586,0.004,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,10.954,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,2665.0,2665.0,0.0,11.722,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,-0.472,-0.052,2.664,-0.032,-1.455,11.85,0.0,0.0,0.0,-6.919,-0.064,-1.194,-3.011,-0.167,0.0,0.0,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,36000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-air-conditioner-only-ductless.xml,33.302,33.302,33.302,33.302,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.941,0.024,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,10.955,9.075,0.661,0.0,0.0,0.0,0.0,2070.7,2505.3,2505.3,0.0,11.717,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.02,-0.472,-0.052,2.665,-0.032,-1.455,11.85,0.0,0.0,0.0,-6.919,-0.064,-1.194,-3.011,-0.167,0.0,0.0,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,24000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ducted-cooling-only.xml,32.472,32.472,32.472,32.472,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,2.089,0.045,9.061,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,11.961,9.075,0.661,0.0,0.0,0.0,0.0,2020.7,2372.1,2372.1,0.0,13.738,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.012,-0.472,-0.052,2.664,-0.032,-1.456,11.85,0.0,0.0,0.0,-6.92,-0.064,-1.194,-3.016,-0.167,0.0,1.019,8.007,2.036,1354.8,997.6,11171.5,2563.5,0.0,0.0,36000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,15306.0,1848.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 +base-hvac-mini-split-heat-pump-ducted-detailed-performance-autosize.xml,41.046,41.046,41.046,41.046,0.0,0.0,0.0,0.0,0.0,0.0,7.295,0.223,0.0,0.0,3.145,0.091,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.726,0.0,12.913,9.075,0.614,0.0,0.0,0.0,0.0,4159.1,2773.4,4159.1,19.226,14.088,0.0,3.598,3.644,0.513,7.528,0.631,10.102,-12.683,0.0,0.0,0.0,8.313,-0.065,4.807,0.0,0.73,0.0,3.681,-8.906,-2.499,0.0,0.007,-0.465,-0.052,2.683,-0.026,-1.407,11.73,0.0,0.0,0.0,-6.351,-0.061,-1.17,-3.105,-0.166,0.0,1.656,7.871,2.01,1354.8,997.6,11171.6,2563.5,0.0,26181.0,26181.0,36000.0,6.8,91.76,26181.0,2541.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,15306.0,1848.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ducted-detailed-performance.xml,40.45,40.45,40.45,40.45,0.0,0.0,0.0,0.0,0.0,0.0,6.99,0.144,0.0,0.0,2.988,0.036,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.28,0.0,12.658,9.075,0.614,0.0,0.0,0.0,0.0,4056.3,2621.1,4056.3,18.97,13.938,0.0,3.612,3.644,0.513,7.528,0.631,10.102,-12.683,0.0,0.0,0.0,8.312,-0.065,4.807,0.0,0.73,0.0,3.222,-8.906,-2.499,0.0,0.017,-0.465,-0.052,2.683,-0.026,-1.407,11.73,0.0,0.0,0.0,-6.351,-0.061,-1.17,-3.103,-0.166,0.0,1.392,7.871,2.01,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,36000.0,6.8,91.76,26181.0,2541.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,15306.0,1848.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ducted-heating-only.xml,37.004,37.004,37.004,37.004,0.0,0.0,0.0,0.0,0.0,0.0,6.558,0.122,0.053,0.002,0.0,0.0,8.992,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,18.855,0.055,0.0,9.075,0.588,0.0,0.0,0.0,0.0,4362.5,1621.8,4362.5,19.31,0.0,0.0,3.623,3.647,0.513,7.511,0.632,10.112,-12.683,0.0,0.0,0.0,8.145,-0.069,4.809,0.0,0.73,0.0,2.953,-8.906,-2.499,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1354.8,997.6,11171.6,2563.5,0.0,36000.0,0.0,36000.0,6.8,91.76,26181.0,2541.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ducted.xml,39.246,39.246,39.246,39.246,0.0,0.0,0.0,0.0,0.0,0.0,6.631,0.076,0.055,0.001,2.144,0.047,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.088,0.056,12.324,9.075,0.614,0.0,0.0,0.0,0.0,4286.8,2405.9,4286.8,19.079,13.974,0.0,3.618,3.644,0.513,7.528,0.631,10.102,-12.683,0.0,0.0,0.0,8.312,-0.065,4.807,0.0,0.73,0.0,3.025,-8.906,-2.499,0.0,0.028,-0.465,-0.052,2.683,-0.026,-1.407,11.73,0.0,0.0,0.0,-6.351,-0.061,-1.17,-3.102,-0.166,0.0,1.045,7.871,2.01,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,36000.0,6.8,91.76,26181.0,2541.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,15306.0,1848.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 @@ -256,6 +262,7 @@ base-hvac-mini-split-heat-pump-ductless-backup-baseboard.xml,38.911,38.911,38.91 base-hvac-mini-split-heat-pump-ductless-backup-furnace-ducts-defaults.xml,45.478,45.478,36.476,36.476,9.001,0.0,0.0,0.0,0.0,0.0,3.395,0.043,0.0,0.271,2.445,0.028,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,9.001,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,17.335,7.472,11.194,9.075,0.614,0.0,0.0,2.0,0.0,2921.7,2618.4,2921.7,17.264,12.083,0.0,3.742,3.641,0.512,7.519,0.63,10.092,-12.69,0.0,0.0,0.0,8.311,-0.063,5.886,0.0,0.729,0.0,0.111,-8.912,-2.5,0.0,0.043,-0.456,-0.051,2.714,-0.024,-1.38,11.724,0.0,0.0,0.0,-6.304,-0.059,-1.435,-3.05,-0.164,0.0,0.0,7.866,2.009,1354.8,997.6,11171.6,2563.5,0.0,18000.0,18000.0,60000.0,6.8,91.76,24589.0,950.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-backup-furnace.xml,45.186,45.186,36.285,36.285,8.901,0.0,0.0,0.0,0.0,0.0,3.202,0.039,0.0,0.268,2.455,0.028,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.901,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,16.569,7.389,11.294,9.075,0.614,0.0,0.0,1.0,0.0,2848.6,2599.9,2848.6,17.577,11.92,0.0,3.723,3.642,0.513,7.524,0.631,10.099,-12.677,0.0,0.0,0.0,8.303,-0.066,4.807,0.0,0.73,0.0,0.41,-8.905,-2.499,0.0,0.034,-0.465,-0.052,2.683,-0.026,-1.407,11.737,0.0,0.0,0.0,-6.353,-0.062,-1.171,-3.096,-0.166,0.0,0.0,7.873,2.011,1354.8,997.6,11171.6,2563.5,0.0,18000.0,18000.0,60000.0,6.8,91.76,26570.0,2930.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-backup-stove.xml,48.473,48.473,36.218,36.218,0.0,12.255,0.0,0.0,0.0,0.0,3.392,0.06,0.0,0.0,2.445,0.028,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,12.255,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,17.225,7.353,11.194,9.075,0.614,0.0,0.0,2.0,0.0,2921.7,2618.4,2921.7,16.995,12.083,0.0,3.742,3.641,0.512,7.519,0.63,10.092,-12.69,0.0,0.0,0.0,8.311,-0.063,5.886,0.0,0.729,0.0,0.0,-8.912,-2.5,0.0,0.043,-0.456,-0.051,2.714,-0.024,-1.38,11.724,0.0,0.0,0.0,-6.304,-0.059,-1.435,-3.05,-0.164,0.0,0.0,7.866,2.009,1354.8,997.6,11171.6,2563.5,0.0,18000.0,18000.0,60000.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 +base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml,38.746,38.746,38.746,38.746,0.0,0.0,0.0,0.0,0.0,0.0,6.449,0.069,0.0,0.0,1.93,0.006,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,16.178,0.0,11.293,9.075,0.614,0.0,0.0,0.0,0.0,3918.7,2501.4,3918.7,16.439,11.918,0.0,3.742,3.642,0.513,7.524,0.631,10.099,-12.677,0.0,0.0,0.0,8.302,-0.066,4.807,0.0,0.73,0.0,0.0,-8.905,-2.499,0.0,0.034,-0.465,-0.052,2.683,-0.026,-1.407,11.737,0.0,0.0,0.0,-6.354,-0.062,-1.171,-3.096,-0.166,0.0,0.0,7.873,2.011,1354.8,997.6,11171.6,2563.5,0.0,23640.0,23640.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-detailed-performance.xml,38.968,38.968,38.968,38.968,0.0,0.0,0.0,0.0,0.0,0.0,6.705,0.036,0.0,0.0,1.932,0.003,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,16.178,0.0,11.293,9.075,0.614,0.0,0.0,0.0,0.0,3979.6,2668.3,3979.6,16.439,11.917,0.0,3.742,3.642,0.513,7.524,0.631,10.099,-12.677,0.0,0.0,0.0,8.302,-0.066,4.807,0.0,0.73,0.0,0.0,-8.905,-2.499,0.0,0.034,-0.465,-0.052,2.683,-0.026,-1.407,11.737,0.0,0.0,0.0,-6.354,-0.062,-1.171,-3.096,-0.166,0.0,0.0,7.873,2.011,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-heating-capacity-17f.xml,38.212,38.212,38.212,38.212,0.0,0.0,0.0,0.0,0.0,0.0,5.664,0.051,0.0,0.0,2.199,0.006,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,16.178,0.0,11.294,9.075,0.614,0.0,0.0,0.0,0.0,3660.8,2367.3,3660.8,16.439,11.917,0.0,3.742,3.642,0.513,7.524,0.631,10.099,-12.677,0.0,0.0,0.0,8.302,-0.066,4.807,0.0,0.73,0.0,0.0,-8.905,-2.499,0.0,0.034,-0.465,-0.052,2.683,-0.026,-1.407,11.737,0.0,0.0,0.0,-6.354,-0.062,-1.171,-3.096,-0.166,0.0,0.0,7.873,2.011,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless.xml,38.212,38.212,38.212,38.212,0.0,0.0,0.0,0.0,0.0,0.0,5.664,0.051,0.0,0.0,2.199,0.006,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,16.178,0.0,11.294,9.075,0.614,0.0,0.0,0.0,0.0,3660.8,2367.3,3660.8,16.439,11.917,0.0,3.742,3.642,0.513,7.524,0.631,10.099,-12.677,0.0,0.0,0.0,8.302,-0.066,4.807,0.0,0.73,0.0,0.0,-8.905,-2.499,0.0,0.034,-0.465,-0.052,2.683,-0.026,-1.407,11.737,0.0,0.0,0.0,-6.354,-0.062,-1.171,-3.096,-0.166,0.0,0.0,7.873,2.011,1354.8,997.6,11171.6,2563.5,0.0,36000.0,36000.0,0.0,6.8,91.76,23640.0,0.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,13458.0,0.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 diff --git a/workflow/tests/base_results/results_workflow_simulations1_bills.csv b/workflow/tests/base_results/results_workflow_simulations1_bills.csv index f38da8b8a..d438339a5 100644 --- a/workflow/tests/base_results/results_workflow_simulations1_bills.csv +++ b/workflow/tests/base_results/results_workflow_simulations1_bills.csv @@ -53,6 +53,7 @@ base-bldgtype-mf-unit-shared-pv.xml,358.03,144.0,960.62,-897.25,207.37,144.0,6.6 base-bldgtype-mf-unit-shared-water-heater-recirc.xml,1074.11,144.0,647.28,0.0,791.28,144.0,138.83,282.83,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-mf-unit-shared-water-heater.xml,1033.89,144.0,607.06,0.0,751.06,144.0,138.83,282.83,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-mf-unit.xml,1255.28,144.0,960.62,0.0,1104.62,144.0,6.66,150.66,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-bldgtype-mf-whole-building.xml,8904.04,864.0,8040.04,0.0,8904.04,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-sfa-unit-2stories.xml,1729.56,144.0,1267.93,0.0,1411.93,144.0,173.63,317.63,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-sfa-unit-atticroof-cathedral.xml,2289.08,144.0,1361.8,0.0,1505.8,144.0,639.28,783.28,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-bldgtype-sfa-unit-infil-compartmentalization-test.xml,1514.18,144.0,1094.71,0.0,1238.71,144.0,131.47,275.47,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -179,6 +180,8 @@ base-hvac-air-to-air-heat-pump-var-speed-backup-boiler-hvac-seasons.xml,1866.34, base-hvac-air-to-air-heat-pump-var-speed-backup-boiler-switchover-temperature.xml,1868.36,144.0,1378.64,0.0,1522.64,144.0,201.72,345.72,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed-backup-boiler.xml,1870.14,144.0,1424.09,0.0,1568.09,144.0,158.05,302.05,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed-backup-furnace.xml,1873.53,144.0,1429.2,0.0,1573.2,144.0,156.33,300.33,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-autosize.xml,1715.32,144.0,1571.32,0.0,1715.32,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-normalized-capacities.xml,1700.74,144.0,1556.74,0.0,1700.74,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed-detailed-performance-other-temperatures.xml,1980.54,144.0,1836.54,0.0,1980.54,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed-detailed-performance.xml,1699.22,144.0,1555.22,0.0,1699.22,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-air-to-air-heat-pump-var-speed.xml,1645.35,144.0,1501.35,0.0,1645.35,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -195,6 +198,7 @@ base-hvac-boiler-wood-only.xml,1544.71,144.0,1115.36,0.0,1259.36,0.0,0.0,0.0,0.0 base-hvac-central-ac-only-1-speed-seer2.xml,1458.08,144.0,1314.08,0.0,1458.08,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-only-1-speed.xml,1458.56,144.0,1314.56,0.0,1458.56,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-only-2-speed.xml,1398.66,144.0,1254.66,0.0,1398.66,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-central-ac-only-var-speed-detailed-performance-autosize.xml,1424.95,144.0,1280.95,0.0,1424.95,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-only-var-speed-detailed-performance.xml,1381.34,144.0,1237.34,0.0,1381.34,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-only-var-speed.xml,1367.86,144.0,1223.86,0.0,1367.86,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-central-ac-plus-air-to-air-heat-pump-heating.xml,1888.27,144.0,1744.27,0.0,1888.27,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -246,9 +250,11 @@ base-hvac-install-quality-ground-to-air-heat-pump.xml,1704.26,144.0,1560.26,0.0, base-hvac-install-quality-mini-split-air-conditioner-only-ducted.xml,1387.05,144.0,1243.05,0.0,1387.05,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-install-quality-mini-split-heat-pump-ducted.xml,1662.89,144.0,1518.89,0.0,1662.89,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-air-conditioner-only-ducted.xml,1362.71,144.0,1218.71,0.0,1362.71,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance-autosize.xml,1378.23,144.0,1234.23,0.0,1378.23,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-air-conditioner-only-ductless-detailed-performance.xml,1352.43,144.0,1208.43,0.0,1352.43,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-air-conditioner-only-ductless.xml,1366.2,144.0,1222.2,0.0,1366.2,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ducted-cooling-only.xml,1335.72,144.0,1191.72,0.0,1335.72,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-mini-split-heat-pump-ducted-detailed-performance-autosize.xml,1650.41,144.0,1506.41,0.0,1650.41,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ducted-detailed-performance.xml,1628.54,144.0,1484.54,0.0,1628.54,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ducted-heating-only.xml,1502.06,144.0,1358.06,0.0,1502.06,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ducted.xml,1584.35,144.0,1440.35,0.0,1584.35,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 @@ -256,6 +262,7 @@ base-hvac-mini-split-heat-pump-ductless-backup-baseboard.xml,1572.03,144.0,1428. base-hvac-mini-split-heat-pump-ductless-backup-furnace-ducts-defaults.xml,1722.04,144.0,1338.69,0.0,1482.69,144.0,95.35,239.35,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-backup-furnace.xml,1713.96,144.0,1331.67,0.0,1475.67,144.0,94.29,238.29,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-backup-stove.xml,1901.83,144.0,1329.22,0.0,1473.22,0.0,0.0,0.0,0.0,428.61,428.61,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 +base-hvac-mini-split-heat-pump-ductless-detailed-performance-autosize.xml,1565.98,144.0,1421.98,0.0,1565.98,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-detailed-performance.xml,1574.13,144.0,1430.13,0.0,1574.13,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless-heating-capacity-17f.xml,1546.39,144.0,1402.39,0.0,1546.39,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 base-hvac-mini-split-heat-pump-ductless.xml,1546.39,144.0,1402.39,0.0,1546.39,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 diff --git a/workflow/tests/base_results/results_workflow_simulations2.csv b/workflow/tests/base_results/results_workflow_simulations2.csv index 4252af919..6606ccbda 100644 --- a/workflow/tests/base_results/results_workflow_simulations2.csv +++ b/workflow/tests/base_results/results_workflow_simulations2.csv @@ -82,7 +82,7 @@ base-schedules-simple.xml,58.275,58.275,35.874,35.874,22.401,0.0,0.0,0.0,0.0,0.0 base-simcontrol-calendar-year-custom.xml,58.082,58.082,35.81,35.81,22.272,0.0,0.0,0.0,0.0,0.0,0.0,0.367,0.0,0.0,4.328,0.822,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.272,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.857,0.0,14.298,9.075,0.614,0.0,0.0,0.0,0.0,2119.6,3382.2,3382.2,23.032,18.929,0.0,3.557,3.645,0.513,7.53,0.631,10.1,-12.683,0.0,0.0,0.0,8.316,-0.063,4.807,0.0,0.729,0.0,4.834,-8.905,-2.499,0.0,-0.048,-0.46,-0.051,2.707,-0.025,-1.394,11.73,0.0,0.0,0.0,-6.328,-0.059,-1.165,-3.252,-0.165,0.0,3.11,7.873,2.011,1354.8,997.6,11171.6,2563.5,0.0,36000.0,24000.0,0.0,6.8,91.76,32235.0,8595.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-simcontrol-daylight-saving-custom.xml,58.106,58.106,35.839,35.839,22.267,0.0,0.0,0.0,0.0,0.0,0.0,0.367,0.0,0.0,4.352,0.827,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.267,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.853,0.0,14.394,9.075,0.614,0.0,0.0,0.0,0.0,2119.4,3372.6,3372.6,23.032,18.927,0.0,3.557,3.645,0.513,7.529,0.631,10.101,-12.683,0.0,0.0,0.0,8.313,-0.064,4.807,0.0,0.729,0.0,4.833,-8.905,-2.499,0.0,-0.054,-0.464,-0.052,2.685,-0.026,-1.408,11.73,0.0,0.0,0.0,-6.35,-0.06,-1.171,-3.106,-0.166,0.0,3.145,7.873,2.011,1354.8,997.6,11171.6,2563.5,0.0,36000.0,24000.0,0.0,6.8,91.76,32235.0,8595.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-simcontrol-daylight-saving-disabled.xml,58.077,58.077,35.824,35.824,22.254,0.0,0.0,0.0,0.0,0.0,0.0,0.367,0.0,0.0,4.339,0.824,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.254,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.84,0.0,14.338,9.075,0.614,0.0,0.0,0.0,0.0,2119.4,3295.8,3295.8,23.032,18.536,0.0,3.556,3.643,0.513,7.531,0.63,10.089,-12.683,0.0,0.0,0.0,8.311,-0.06,4.804,0.0,0.727,0.0,4.829,-8.9,-2.496,0.0,-0.053,-0.465,-0.052,2.684,-0.027,-1.417,11.73,0.0,0.0,0.0,-6.348,-0.056,-1.175,-3.132,-0.163,0.0,3.122,7.877,2.013,1354.8,997.6,11171.6,2563.5,0.0,36000.0,24000.0,0.0,6.8,91.76,32235.0,8595.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 -base-simcontrol-runperiod-1-month.xml,9.3245,9.3245,2.9023,2.9023,6.4222,0.0,0.0,0.0,0.0,0.0,0.0,0.1059,0.0,0.0,0.1034,0.0,0.8277,0.0,0.0,0.3993,0.0,0.0322,0.0,0.0,0.0,0.0,0.1421,0.0,0.0,0.0268,0.0281,0.116,0.1286,0.0,0.1838,0.8083,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6.4222,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6.0126,0.0,0.0,0.8385,0.0511,0.0,0.0,0.0,0.0,2100.14,0.0,2100.14,24.5039,0.0,0.0,0.6218,0.6514,0.0921,1.7783,0.1114,1.8005,-1.9863,0.0,0.0,0.0,2.3104,0.001,0.8916,0.0,0.1316,0.0,1.3929,-1.4353,-0.3993,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,104.12,83.97,907.03,208.14,0.0,36000.0,24000.0,0.0,6.8,91.76,32235.0,8595.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 +base-simcontrol-runperiod-1-month.xml,11.2983,11.2983,3.0501,3.0501,8.2483,0.0,0.0,0.0,0.0,0.0,0.0,0.134,0.0,0.0,0.1114,0.0,0.9133,0.0,0.0,0.4149,0.0,0.0309,0.0,0.0,0.0,0.0,0.1749,0.0,0.0,0.0273,0.0304,0.1243,0.1311,0.0,0.1823,0.7751,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,8.2483,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,7.7246,0.0,0.0,0.9277,0.0547,0.0,0.0,0.0,0.0,2114.87,0.0,2114.87,23.327,0.0,0.0,0.6031,0.6599,0.0934,2.0549,0.1159,1.8318,-2.3729,0.0,0.0,0.0,3.8129,0.0131,0.8692,0.0,0.1228,0.0,1.7278,-1.4632,-0.4151,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,112.68,85.62,980.71,225.04,0.0,36000.0,24000.0,0.0,10.22,91.4,30666.0,8343.0,7102.0,0.0,543.0,6470.0,0.0,0.0,1844.0,2054.0,4311.0,18522.0,5156.0,7000.0,0.0,204.0,251.0,0.0,0.0,0.0,1985.0,606.0,3320.0,0.0,0.0,0.0,0.0 base-simcontrol-temperature-capacitance-multiplier.xml,57.995,57.995,35.736,35.736,22.26,0.0,0.0,0.0,0.0,0.0,0.0,0.367,0.0,0.0,4.268,0.808,9.016,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.528,0.0,2.114,8.374,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,22.26,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,20.846,0.0,14.05,9.075,0.614,0.0,0.0,0.0,0.0,2110.3,3355.2,3355.2,22.973,18.841,0.0,3.626,3.641,0.512,7.527,0.628,10.073,-12.689,0.0,0.0,0.0,8.292,-0.053,4.803,0.0,0.728,0.0,4.827,-8.896,-2.498,0.0,-0.221,-0.462,-0.052,2.69,-0.027,-1.419,11.724,0.0,0.0,0.0,-6.346,-0.05,-1.179,-3.176,-0.164,0.0,2.994,7.882,2.012,1354.8,997.6,11171.6,2563.5,0.0,36000.0,24000.0,0.0,6.8,91.76,32235.0,8595.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-simcontrol-timestep-10-mins-occupancy-stochastic-10-mins.xml,59.49,59.49,36.077,36.077,23.413,0.0,0.0,0.0,0.0,0.0,0.0,0.386,0.0,0.0,4.524,0.862,9.018,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,23.413,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.924,0.0,14.931,9.074,0.616,0.0,0.0,0.333,1.0,8643.3,8929.7,9252.7,37.369,22.44,0.0,3.607,3.669,0.517,7.596,0.642,10.189,-12.601,0.0,0.0,0.0,8.33,-0.062,5.307,0.0,0.775,0.0,5.113,-8.958,-2.509,0.0,-0.176,-0.489,-0.056,2.705,-0.032,-1.437,11.752,0.0,0.0,0.0,-6.328,-0.058,-1.279,-3.002,-0.179,0.0,3.366,8.296,2.0,1354.7,998.0,11182.0,2565.9,0.0,36000.0,24000.0,0.0,6.8,91.76,32235.0,8595.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 base-simcontrol-timestep-10-mins-occupancy-stochastic-60-mins.xml,59.411,59.411,36.07,36.07,23.341,0.0,0.0,0.0,0.0,0.0,0.0,0.385,0.0,0.0,4.522,0.861,9.014,0.0,0.0,4.51,0.0,0.334,0.0,0.0,0.0,0.0,2.22,0.0,0.0,0.319,0.365,1.513,1.529,0.0,2.116,8.384,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,23.341,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.857,0.0,14.924,9.071,0.614,0.0,0.0,0.0,0.167,6063.1,7308.9,7308.9,35.1,21.787,0.0,3.607,3.669,0.517,7.594,0.642,10.187,-12.601,0.0,0.0,0.0,8.326,-0.062,5.255,0.0,0.771,0.0,5.101,-8.955,-2.502,0.0,-0.176,-0.489,-0.056,2.703,-0.033,-1.438,11.752,0.0,0.0,0.0,-6.332,-0.057,-1.264,-3.005,-0.186,0.0,3.364,8.284,2.008,1354.7,998.0,11168.8,2562.9,0.0,36000.0,24000.0,0.0,6.8,91.76,32235.0,8595.0,7508.0,0.0,575.0,6840.0,0.0,0.0,1949.0,2171.0,4597.0,18787.0,5329.0,7037.0,0.0,207.0,265.0,0.0,0.0,0.0,2010.0,619.0,3320.0,0.0,0.0,0.0,0.0 @@ -115,7 +115,7 @@ house023.xml,138.233,138.233,63.089,63.089,0.0,75.144,0.0,0.0,0.0,0.0,0.0,1.892, house024.xml,129.312,129.312,43.836,43.836,0.0,85.476,0.0,0.0,0.0,0.0,0.0,2.126,0.0,0.0,5.355,0.479,16.754,0.0,0.0,3.916,0.0,0.396,0.058,0.0,0.0,0.0,2.005,0.0,0.0,0.632,0.457,3.396,1.833,0.0,2.653,3.778,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,85.476,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,70.468,0.0,15.704,14.653,2.088,0.0,0.0,0.0,0.0,2752.4,3570.5,3601.7,72.07,17.436,0.0,7.179,30.082,0.0,0.0,0.681,7.227,-7.897,0.0,0.0,5.183,0.0,-0.106,25.399,0.0,1.837,0.0,11.769,-8.64,-2.539,0.0,0.586,1.25,0.0,0.0,-0.04,-0.295,6.002,0.0,0.0,0.512,0.0,-0.099,-1.46,-0.332,-0.196,0.0,2.942,5.524,1.377,2176.1,2226.5,14983.5,4452.7,0.0,85000.0,30000.0,0.0,16.16,89.24,60408.0,12599.0,4381.0,0.0,318.0,17712.0,0.0,4475.0,0.0,4266.0,16658.0,21858.0,1379.0,4060.0,0.0,149.0,6404.0,0.0,1183.0,0.0,3109.0,2254.0,3320.0,7046.0,2607.0,3639.0,800.0 house025.xml,104.514,104.514,69.46,69.46,35.054,0.0,0.0,0.0,0.0,0.0,6.618,1.06,0.0,0.0,18.797,2.597,12.215,0.0,0.0,9.263,0.0,0.783,0.0,0.0,0.0,0.0,4.105,0.0,0.0,0.359,0.282,2.094,1.383,0.0,1.858,8.046,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,35.054,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,36.855,0.0,47.577,8.321,3.83,0.0,0.0,0.0,0.0,4332.1,6893.6,6893.6,36.405,32.763,0.0,3.375,17.544,0.0,0.0,2.164,7.392,-5.637,0.0,0.0,6.835,0.0,-1.322,13.719,0.0,0.41,0.0,4.938,-8.606,-4.03,0.0,1.089,5.672,0.0,0.0,0.437,1.931,12.471,0.0,0.0,5.647,0.0,-1.32,-0.743,-0.165,-0.005,0.0,6.095,11.506,5.233,1341.9,1264.5,3496.9,1343.1,0.0,158000.0,81000.0,33000.0,24.62,91.58,54383.0,20091.0,4722.0,0.0,1238.0,9584.0,0.0,6119.0,0.0,1863.0,10768.0,32216.0,8770.0,7687.0,0.0,752.0,4348.0,0.0,2236.0,0.0,1707.0,2197.0,4520.0,9615.0,5967.0,2849.0,800.0 house026.xml,56.735,56.735,24.856,24.856,31.879,0.0,0.0,0.0,0.0,0.0,0.0,0.045,0.0,0.0,0.0,0.0,0.0,0.0,0.0,6.534,0.251,0.548,0.299,0.0,0.0,0.0,1.987,0.0,0.0,0.447,0.338,2.514,1.528,0.934,2.114,7.317,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,17.742,0.0,14.137,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,13.596,0.0,0.0,8.607,2.075,0.0,0.0,0.0,0.0,1553.8,1299.3,1553.8,17.399,0.0,0.0,1.773,6.876,0.233,0.0,0.198,4.407,-2.924,0.0,0.0,7.132,0.0,-0.05,2.498,0.0,3.138,0.0,0.0,-6.701,-3.094,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1295.3,1282.5,8580.0,3023.7,0.0,84000.0,0.0,0.0,24.62,91.58,22421.0,0.0,3869.0,0.0,128.0,5749.0,0.0,5824.0,0.0,1459.0,5391.0,16896.0,0.0,5493.0,0.0,78.0,2390.0,0.0,2232.0,0.0,2192.0,1191.0,3320.0,2344.0,0.0,1544.0,800.0 -house027.xml,72.565,72.565,31.685,31.685,40.88,0.0,0.0,0.0,0.0,0.0,0.0,0.436,0.0,0.0,7.85,0.993,0.0,0.0,0.0,5.947,0.218,0.485,0.927,0.0,0.0,0.0,1.724,0.0,0.0,0.447,0.338,2.514,0.105,0.0,2.114,7.587,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.933,0.0,17.879,0.0,3.069,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,18.776,0.0,23.222,8.564,5.23,0.0,0.0,0.0,0.0,1579.5,3648.6,3648.6,24.054,23.236,0.719,1.784,7.914,0.454,0.0,0.593,4.982,-3.982,0.0,0.0,0.383,3.36,-0.138,1.752,0.0,10.446,0.0,2.033,-8.791,-2.847,0.489,1.125,0.656,0.056,0.0,-0.113,0.132,5.429,0.0,0.0,0.095,3.842,-0.139,-0.365,-0.97,-3.474,0.0,2.575,10.726,3.101,1610.9,1574.7,10579.5,3728.4,0.0,75000.0,36000.0,0.0,24.62,91.58,33087.0,7577.0,4494.0,0.0,375.0,6506.0,550.0,250.0,4088.0,1516.0,7731.0,19084.0,3678.0,4014.0,0.0,228.0,2868.0,270.0,163.0,0.0,2277.0,2267.0,3320.0,5496.0,1758.0,2939.0,800.0 +house027.xml,73.458,73.458,31.285,31.285,42.173,0.0,0.0,0.0,0.0,0.0,0.0,0.463,0.0,0.0,7.475,0.941,0.0,0.0,0.0,5.947,0.218,0.485,0.927,0.0,0.0,0.0,1.724,0.0,0.0,0.447,0.338,2.514,0.105,0.0,2.114,7.587,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,21.172,0.0,17.932,0.0,3.069,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,19.943,0.0,21.86,8.564,5.271,0.0,0.0,0.0,0.0,1581.0,3606.3,3606.3,24.164,22.774,0.721,1.786,7.94,0.454,0.0,0.594,4.989,-4.006,0.0,0.0,0.321,3.265,-0.167,1.463,0.0,10.465,0.0,2.143,-7.25,-2.861,0.501,1.161,0.793,0.063,0.0,-0.105,0.214,5.405,0.0,0.0,0.149,3.861,-0.167,-0.276,-0.891,-3.327,0.0,2.467,8.837,3.086,1610.9,1574.7,10579.7,3728.4,0.0,75000.0,36000.0,0.0,24.62,91.58,33087.0,7577.0,4494.0,0.0,375.0,6506.0,550.0,250.0,4088.0,1516.0,7731.0,19084.0,3678.0,4014.0,0.0,228.0,2868.0,270.0,163.0,0.0,2277.0,2267.0,3320.0,5496.0,1758.0,2939.0,800.0 house028.xml,67.9,67.9,29.948,29.948,37.951,0.0,0.0,0.0,0.0,0.0,0.0,0.294,0.0,0.0,7.366,1.488,0.0,0.0,0.0,6.138,0.226,0.503,0.618,0.0,0.0,0.0,2.104,0.0,0.0,0.528,0.39,0.229,0.114,0.0,2.35,7.602,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,13.451,0.0,18.114,3.047,3.339,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,12.672,0.0,23.505,10.226,3.615,0.0,0.0,0.0,0.0,1527.5,3496.6,3496.6,20.253,23.027,0.77,1.666,7.189,0.358,0.0,0.442,4.977,-3.803,0.0,0.0,0.246,2.526,-0.046,4.068,0.0,4.486,0.0,1.624,-9.071,-2.899,0.603,1.217,-0.512,0.105,0.0,0.06,0.058,6.213,0.0,0.0,0.064,1.834,-0.047,-1.09,-1.226,-1.653,0.0,3.084,11.532,3.238,1857.7,1859.4,12951.6,4219.3,0.0,75000.0,36000.0,0.0,24.62,91.58,31422.0,8678.0,4365.0,0.0,315.0,5287.0,616.0,180.0,3569.0,1488.0,6925.0,19789.0,3915.0,5630.0,0.0,203.0,2207.0,374.0,113.0,0.0,2235.0,1562.0,3550.0,5049.0,2024.0,2025.0,1000.0 house029.xml,77.585,77.585,30.042,30.042,47.543,0.0,0.0,0.0,0.0,0.0,0.0,0.702,0.0,0.0,6.207,0.835,0.0,0.0,0.0,6.543,0.274,0.569,0.76,0.0,0.0,0.0,1.981,0.0,0.0,0.447,0.338,2.514,0.105,0.0,2.114,6.653,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,31.878,0.0,12.596,0.0,3.069,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,31.61,0.0,13.462,9.614,0.0,0.0,0.0,0.0,0.0,1614.8,3028.9,3028.9,28.366,13.891,0.0,3.365,14.613,0.393,0.0,0.296,6.288,-6.011,0.0,0.0,6.904,0.0,-0.085,7.303,0.0,7.308,0.0,3.181,-8.387,-3.714,0.0,1.13,-0.707,0.01,0.0,0.069,0.462,5.273,0.0,0.0,-0.462,0.0,-0.08,-0.803,-1.051,-1.526,0.0,1.247,7.157,2.828,1610.9,1574.7,11033.0,3888.2,0.0,77000.0,36000.0,0.0,17.24,91.22,29357.0,2294.0,4924.0,0.0,157.0,7940.0,0.0,2973.0,0.0,2105.0,8965.0,16260.0,-172.0,4914.0,0.0,131.0,2819.0,0.0,914.0,0.0,2691.0,1642.0,3320.0,3901.0,903.0,2197.0,800.0 house030.xml,58.682,58.682,17.191,17.191,0.0,0.0,41.491,0.0,0.0,0.0,0.0,0.056,0.0,0.0,0.0,0.0,0.0,0.0,0.0,5.324,0.272,0.497,0.57,0.0,0.0,0.0,1.834,0.0,0.0,0.366,0.286,0.168,0.096,0.701,1.879,5.143,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,23.166,0.0,13.289,2.238,2.799,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,17.478,0.0,0.0,7.715,2.206,0.0,0.0,0.0,0.0,1133.9,975.2,1133.9,15.963,0.0,0.0,1.673,10.157,0.486,1.1,1.039,5.182,-3.325,0.0,0.0,0.0,3.437,-0.041,2.725,0.0,5.693,0.0,0.0,-7.831,-2.959,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1066.1,992.7,6763.6,2580.9,0.0,87000.0,0.0,0.0,17.24,91.22,19021.0,0.0,3366.0,0.0,474.0,6930.0,0.0,0.0,3528.0,1036.0,3688.0,10321.0,0.0,2595.0,0.0,278.0,2202.0,0.0,0.0,0.0,1324.0,832.0,3090.0,1714.0,0.0,1114.0,600.0 diff --git a/workflow/tests/base_results/results_workflow_simulations2_bills.csv b/workflow/tests/base_results/results_workflow_simulations2_bills.csv index 70f9d1ee4..d7908ba2d 100644 --- a/workflow/tests/base_results/results_workflow_simulations2_bills.csv +++ b/workflow/tests/base_results/results_workflow_simulations2_bills.csv @@ -82,7 +82,7 @@ base-schedules-simple.xml,1841.9,144.0,1316.6,0.0,1460.6,144.0,237.3,381.3,0.0,0 base-simcontrol-calendar-year-custom.xml,1838.15,144.0,1314.22,0.0,1458.22,144.0,235.93,379.93,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 base-simcontrol-daylight-saving-custom.xml,1839.19,144.0,1315.31,0.0,1459.31,144.0,235.88,379.88,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 base-simcontrol-daylight-saving-disabled.xml,1838.48,144.0,1314.74,0.0,1458.74,144.0,235.74,379.74,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -base-simcontrol-runperiod-1-month.xml,198.54,12.0,106.51,0.0,118.51,12.0,68.03,80.03,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +base-simcontrol-runperiod-1-month.xml,223.34,12.01,111.94,0.0,123.95,12.01,87.38,99.39,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 base-simcontrol-temperature-capacitance-multiplier.xml,1835.31,144.0,1311.51,0.0,1455.51,144.0,235.8,379.8,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 base-simcontrol-timestep-10-mins-occupancy-stochastic-10-mins.xml,1860.06,144.0,1324.04,0.0,1468.04,144.0,248.02,392.02,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 base-simcontrol-timestep-10-mins-occupancy-stochastic-60-mins.xml,1859.03,144.0,1323.77,0.0,1467.77,144.0,247.26,391.26,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 @@ -115,7 +115,7 @@ house023.xml,5128.81,144.0,2303.07,0.0,2447.07,0.0,0.0,0.0,0.0,2681.74,2681.74,0 house024.xml,4794.71,144.0,1600.25,0.0,1744.25,0.0,0.0,0.0,0.0,3050.46,3050.46,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 house025.xml,3023.76,144.0,2240.98,0.0,2384.98,144.0,494.78,638.78,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 house026.xml,1539.91,144.0,801.94,0.0,945.94,144.0,449.97,593.97,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 -house027.xml,1887.26,144.0,1022.24,0.0,1166.24,144.0,577.02,721.02,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +house027.xml,1892.61,144.0,1009.35,0.0,1153.35,144.0,595.26,739.26,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 house028.xml,1789.89,144.0,966.21,0.0,1110.21,144.0,535.68,679.68,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 house029.xml,2145.83,144.0,1175.73,0.0,1319.73,144.0,682.1,826.1,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 house030.xml,2376.92,144.0,672.79,0.0,816.79,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1560.13,1560.13,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/workflow/tests/test_other.rb b/workflow/tests/test_other.rb index 8f7160ad7..b5dc44ea4 100644 --- a/workflow/tests/test_other.rb +++ b/workflow/tests/test_other.rb @@ -231,56 +231,68 @@ def test_template_osws end end - def test_multiple_buildings + def test_mf_building_simulations + rb_path = File.join(File.dirname(__FILE__), '..', 'run_simulation.rb') + sample_files_path = File.join(File.dirname(__FILE__), '..', 'sample_files') + csv_output_path = File.join(sample_files_path, 'run', 'results_annual.csv') + bills_csv_path = File.join(sample_files_path, 'run', 'results_bills.csv') + run_log = File.join(sample_files_path, 'run', 'run.log') dryer_warning_msg = 'Warning: No clothes dryer specified, the model will not include clothes dryer energy use.' - ['base-multiple-sfd-buildings.xml', - 'base-multiple-mf-units.xml'].each do |hpxml_name| - xml = File.join(File.dirname(__FILE__), '..', 'sample_files', hpxml_name) - rb_path = File.join(File.dirname(__FILE__), '..', 'run_simulation.rb') - csv_output_path = File.join(File.dirname(xml), 'run', 'results_annual.csv') - bills_csv_path = File.join(File.dirname(xml), 'run', 'results_bills.csv') - run_log = File.join(File.dirname(xml), 'run', 'run.log') + [true, false].each do |whole_sfa_or_mf_building_sim| + tmp_hpxml_path = File.join(sample_files_path, 'tmp.xml') + hpxml = HPXML.new(hpxml_path: File.join(sample_files_path, 'base-bldgtype-mf-whole-building.xml')) + hpxml.header.whole_sfa_or_mf_building_sim = whole_sfa_or_mf_building_sim + XMLHelper.write_file(hpxml.to_doc, tmp_hpxml_path) - # Check successful simulation when providing correct building ID - command = "\"#{OpenStudio.getOpenStudioCLI}\" \"#{rb_path}\" -x \"#{xml}\" --building-id MyBuilding_2" + # Check for when building-id argument is not provided + command = "\"#{OpenStudio.getOpenStudioCLI}\" \"#{rb_path}\" -x \"#{tmp_hpxml_path}\"" system(command, err: File::NULL) - assert_equal(true, File.exist?(csv_output_path)) - assert_equal(true, File.exist?(bills_csv_path)) + if whole_sfa_or_mf_building_sim + # Simulation should be successful + assert_equal(true, File.exist?(csv_output_path)) + assert_equal(true, File.exist?(bills_csv_path)) - if hpxml_name == 'base-multiple-sfd-buildings.xml' - # Check that we have exactly one warning (i.e., check we are only validating a single Building element against schematron) - assert_equal(1, File.readlines(run_log).select { |l| l.include? dryer_warning_msg }.size) + # Check that we have multiple warnings, one for each Building element + assert_equal(6, File.readlines(run_log).select { |l| l.include? dryer_warning_msg }.size) else - assert_equal(0, File.readlines(run_log).select { |l| l.include? dryer_warning_msg }.size) + # Simulation should be unsuccessful (building_id or WholeSFAorMFBuildingSimulation=true is required) + assert_equal(false, File.exist?(csv_output_path)) + assert_equal(false, File.exist?(bills_csv_path)) + assert_equal(1, File.readlines(run_log).select { |l| l.include? 'Multiple Building elements defined in HPXML file; provide Building ID argument or set WholeSFAorMFBuildingSimulation=true.' }.size) end - # Check unsuccessful simulation when providing incorrect building ID - command = "\"#{OpenStudio.getOpenStudioCLI}\" \"#{rb_path}\" -x \"#{xml}\" --building-id MyFoo" + # Check for when building-id argument is provided + command = "\"#{OpenStudio.getOpenStudioCLI}\" \"#{rb_path}\" -x \"#{tmp_hpxml_path}\" --building-id MyBuilding_2" system(command, err: File::NULL) - assert_equal(false, File.exist?(csv_output_path)) - assert_equal(false, File.exist?(bills_csv_path)) - assert_equal(1, File.readlines(run_log).select { |l| l.include? "Could not find Building element with ID 'MyFoo'." }.size) + if whole_sfa_or_mf_building_sim + # Simulation should be successful (WholeSFAorMFBuildingSimulation is true, so building-id argument is ignored) + # Note: We don't want to override WholeSFAorMFBuildingSimulation because we may have Schematron validation based on it, and it would be wrong to + # validate the HPXML for one use case (whole building model) while running it for a different unit case (individual dwelling unit model). + assert_equal(true, File.exist?(csv_output_path)) + assert_equal(true, File.exist?(bills_csv_path)) + assert_equal(1, File.readlines(run_log).select { |l| l.include? 'Multiple Building elements defined in HPXML file and WholeSFAorMFBuildingSimulation=true; Building ID argument will be ignored.' }.size) + else + # Simulation should be successful + assert_equal(true, File.exist?(csv_output_path)) + assert_equal(true, File.exist?(bills_csv_path)) - # Check unsuccessful simulation when not providing building ID - command = "\"#{OpenStudio.getOpenStudioCLI}\" \"#{rb_path}\" -x \"#{xml}\"" + # Check that we have exactly one warning (i.e., check we are only validating a single Building element against schematron) + assert_equal(1, File.readlines(run_log).select { |l| l.include? dryer_warning_msg }.size) + end + + next unless not whole_sfa_or_mf_building_sim + + # Check for when building-id argument is invalid (incorrect building ID) + # Simulation should be unsuccessful + command = "\"#{OpenStudio.getOpenStudioCLI}\" \"#{rb_path}\" -x \"#{tmp_hpxml_path}\" --building-id MyFoo" system(command, err: File::NULL) assert_equal(false, File.exist?(csv_output_path)) assert_equal(false, File.exist?(bills_csv_path)) - assert_equal(1, File.readlines(run_log).select { |l| l.include? 'Multiple Building elements defined in HPXML file; Building ID argument must be provided.' }.size) - - # Check successful simulation when running whole building - command = "\"#{OpenStudio.getOpenStudioCLI}\" \"#{rb_path}\" -x \"#{xml}\" --building-id ALL" - system(command, err: File::NULL) - assert_equal(true, File.exist?(csv_output_path)) - assert_equal(true, File.exist?(bills_csv_path)) + assert_equal(1, File.readlines(run_log).select { |l| l.include? "Could not find Building element with ID 'MyFoo'." }.size) - if hpxml_name == 'base-multiple-sfd-buildings.xml' - # Check that we now have three warnings, one for each Building element - assert_equal(3, File.readlines(run_log).select { |l| l.include? dryer_warning_msg }.size) - else - assert_equal(0, File.readlines(run_log).select { |l| l.include? dryer_warning_msg }.size) - end + # Cleanup + File.delete(tmp_hpxml_path) if File.exist? tmp_hpxml_path end end diff --git a/workflow/tests/util.rb b/workflow/tests/util.rb index c7a1e66fd..e65d2b563 100644 --- a/workflow/tests/util.rb +++ b/workflow/tests/util.rb @@ -7,14 +7,13 @@ def run_simulation_tests(xmls) all_results_bills = {} Parallel.map(xmls, in_threads: Parallel.processor_count) do |xml| next if xml.end_with? '-10x.xml' - next if xml.include? 'base-multiple-sfd-buildings' # Separate tests cover this - next if xml.include? 'base-multiple-mf-units' # Separate tests cover this xml_name = File.basename(xml) results = _run_xml(xml, Parallel.worker_number) all_results[xml_name], all_results_bills[xml_name], timeseries_results = results - next unless xml.include?('sample_files') || xml.include?('real_homes') + next unless xml.include?('sample_files') || xml.include?('real_homes') # Exclude e.g. ASHRAE 140 files + next if xml.include? 'base-bldgtype-mf-whole-building' # Already has multiple dwelling units # Also run with a 10x unit multiplier (2 identical dwelling units each with a 5x # unit multiplier) and check how the results compare to the original run @@ -27,7 +26,7 @@ def run_simulation_tests(xmls) def _run_xml(xml, worker_num, apply_unit_multiplier = false, results_1x = nil, timeseries_results_1x = nil) unit_multiplier = 1 if apply_unit_multiplier - hpxml = HPXML.new(hpxml_path: xml, building_id: 'ALL') + hpxml = HPXML.new(hpxml_path: xml) hpxml.buildings.each do |hpxml_bldg| next unless hpxml_bldg.building_construction.number_of_units.nil? @@ -55,11 +54,14 @@ def _run_xml(xml, worker_num, apply_unit_multiplier = false, results_1x = nil, t end hpxml.buildings << hpxml_bldg.dup end + unit_multiplier = hpxml.buildings.map { |hpxml_bldg| hpxml_bldg.building_construction.number_of_units }.sum / orig_multiplier + if unit_multiplier > 1 + hpxml.header.whole_sfa_or_mf_building_sim = true + end xml.gsub!('.xml', '-10x.xml') hpxml_doc = hpxml.to_doc() hpxml.set_unique_hpxml_ids(hpxml_doc) XMLHelper.write_file(hpxml_doc, xml) - unit_multiplier = hpxml.buildings.map { |hpxml_bldg| hpxml_bldg.building_construction.number_of_units }.sum / orig_multiplier end print "Testing #{File.basename(xml)}...\n" @@ -69,9 +71,6 @@ def _run_xml(xml, worker_num, apply_unit_multiplier = false, results_1x = nil, t # inside the ReportSimulationOutput measure. cli_path = OpenStudio.getOpenStudioCLI command = "\"#{cli_path}\" \"#{File.join(File.dirname(__FILE__), '../run_simulation.rb')}\" -x \"#{xml}\" --add-component-loads -o \"#{rundir}\" --debug --monthly ALL" - if unit_multiplier > 1 - command += ' -b ALL' - end success = system(command) if unit_multiplier > 1 @@ -97,7 +96,7 @@ def _run_xml(xml, worker_num, apply_unit_multiplier = false, results_1x = nil, t hpxml_defaults_path = File.join(rundir, 'in.xml') schema_validator = XMLValidator.get_schema_validator(File.join(File.dirname(__FILE__), '..', '..', 'HPXMLtoOpenStudio', 'resources', 'hpxml_schema', 'HPXML.xsd')) schematron_validator = XMLValidator.get_schematron_validator(File.join(File.dirname(__FILE__), '..', '..', 'HPXMLtoOpenStudio', 'resources', 'hpxml_schematron', 'EPvalidator.xml')) - hpxml = HPXML.new(hpxml_path: hpxml_defaults_path, schema_validator: schema_validator, schematron_validator: schematron_validator, building_id: 'ALL') # Validate in.xml to ensure it can be run back through OS-HPXML + hpxml = HPXML.new(hpxml_path: hpxml_defaults_path, schema_validator: schema_validator, schematron_validator: schematron_validator) # Validate in.xml to ensure it can be run back through OS-HPXML if not hpxml.errors.empty? puts 'ERRORS:' hpxml.errors.each do |error| @@ -179,7 +178,7 @@ def _verify_outputs(rundir, hpxml_path, results, hpxml, unit_multiplier) hpxml_bldg.collapse_enclosure_surfaces() hpxml_bldg.delete_adiabatic_subsurfaces() - # Check run.log warnings + # Check for unexpected run.log messages File.readlines(File.join(rundir, 'run.log')).each do |message| next if message.strip.empty? next if message.start_with? 'Info: ' @@ -239,7 +238,7 @@ def _verify_outputs(rundir, hpxml_path, results, hpxml, unit_multiplier) next if message.include? 'It is not possible to eliminate all HVAC energy use (e.g. crankcase/defrost energy) in EnergyPlus during an unavailable period.' next if message.include? 'It is not possible to eliminate all water heater energy use (e.g. parasitics) in EnergyPlus during an unavailable period.' end - if hpxml_path.include? 'base-location-AMY-2012.xml' + if hpxml_bldg.climate_and_risk_zones.weather_station_epw_filepath.include? 'US_CO_Boulder_AMY_2012.epw' next if message.include? 'No design condition info found; calculating design conditions from EPW weather data.' end if hpxml_bldg.building_construction.number_of_units > 1 @@ -254,7 +253,7 @@ def _verify_outputs(rundir, hpxml_path, results, hpxml, unit_multiplier) if hpxml_header.utility_bill_scenarios.has_detailed_electric_rates uses_unit_multipliers = hpxml.buildings.select { |hpxml_bldg| hpxml_bldg.building_construction.number_of_units > 1 }.size > 0 if uses_unit_multipliers || hpxml.buildings.size > 1 - next if message.include? 'Cannot currently calculate utility bills based on detailed electric rates for an HPXML with unit multipliers or multiple Building elements' + next if message.include? 'Cannot currently calculate utility bills based on detailed electric rates for an HPXML with unit multipliers.' end end @@ -380,6 +379,10 @@ def _verify_outputs(rundir, hpxml_path, results, hpxml, unit_multiplier) if hpxml_path.include? 'house044.xml' next if message.include? 'FixViewFactors: View factors not complete. Check for bad surface descriptions or unenclosed zone' end + # TODO: Check why this warning occurs + if hpxml_path.include? 'base-bldgtype-mf-whole-building' + next if message.include? 'SHR adjusted to achieve valid outlet air properties and the simulation continues.' + end flunk "Unexpected eplusout.err message found for #{File.basename(hpxml_path)}: #{message}" end @@ -1032,6 +1035,10 @@ def get_tolerances(key) # Check that there is no difference abs_delta_tol = 0 abs_frac_tol = nil + elsif key.include?('Emissions:') + # Check that the emissions difference is less than 100 lb or less than 5% + abs_delta_tol = 100 + abs_frac_tol = 0.05 else fail "Unexpected results key: #{key}." end