Skip to content

Commit

Permalink
Merge pull request #1111 from NREL/latest-os-hpxml
Browse files Browse the repository at this point in the history
Latest OS-HPXML
  • Loading branch information
joseph-robertson committed Jul 28, 2023
2 parents 447a86f + d1735d6 commit 91154f8
Show file tree
Hide file tree
Showing 60 changed files with 19,423 additions and 17,570 deletions.
16 changes: 9 additions & 7 deletions .github/workflows/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ jobs:

unit-tests:
runs-on: ubuntu-latest
needs: [format-files]
container:
image: docker://nrel/openstudio:3.6.1
steps:
Expand Down Expand Up @@ -72,6 +73,7 @@ jobs:

analysis-tests:
runs-on: ubuntu-latest
needs: [format-files]
container:
image: docker://nrel/openstudio:3.6.1
steps:
Expand Down Expand Up @@ -105,6 +107,7 @@ jobs:

integration-tests:
runs-on: ubuntu-latest
needs: [format-files]
steps:
- uses: actions/checkout@v3
with:
Expand Down Expand Up @@ -141,15 +144,14 @@ jobs:
gunzip -v project_national/national_upgrades/results_csvs/*.csv.gz
gunzip -v project_testing/testing_upgrades/results_csvs/*.csv.gz
tar -xvf project_national/national_baseline/simulation_output/*.tar.gz -C project_national/national_baseline/simulation_output
tar -xvf project_testing/testing_baseline/simulation_output/*.tar.gz -C project_testing/testing_baseline/simulation_output
tar -xvf project_national/national_baseline/simulation_output/*.tar.gz -C project_national/national_baseline/simulation_output --wildcards '*results_timeseries.csv' --wildcards '*.xml' --wildcards '*data_point_out.json' --wildcards '*.osw'
tar -xvf project_testing/testing_baseline/simulation_output/*.tar.gz -C project_testing/testing_baseline/simulation_output --wildcards '*results_timeseries.csv' --wildcards '*.xml' --wildcards '*data_point_out.json' --wildcards '*.osw' --wildcards '*in.osm' --wildcards '*in.idf'
tar -xvf project_national/national_upgrades/simulation_output/*.tar.gz -C project_national/national_upgrades/simulation_output
tar -xvf project_testing/testing_upgrades/simulation_output/*.tar.gz -C project_testing/testing_upgrades/simulation_output
tar -xvf project_national/national_upgrades/simulation_output/*.tar.gz -C project_national/national_upgrades/simulation_output --wildcards '*results_timeseries.csv' --wildcards '*.xml' --wildcards '*data_point_out.json' --wildcards '*.osw'
tar -xvf project_testing/testing_upgrades/simulation_output/*.tar.gz -C project_testing/testing_upgrades/simulation_output --wildcards '*results_timeseries.csv' --wildcards '*.xml' --wildcards '*data_point_out.json' --wildcards '*.osw' --wildcards '*in.osm' --wildcards '*in.idf'
- name: Process results
run: |
pip install pandas==1.5.3
python test/process_bsb_analysis.py
- name: Run tests
Expand Down Expand Up @@ -244,7 +246,7 @@ jobs:
- name: Compare samples and results
run: |
pip install numpy
pip install pandas==1.5.3
pip install pandas
pip install plotly
pip install kaleido
Expand Down Expand Up @@ -288,7 +290,7 @@ jobs:

update-results:
runs-on: ubuntu-latest
needs: [format-files,integration-tests]
needs: [integration-tests]
steps:
- uses: actions/checkout@v3
with:
Expand Down
6 changes: 3 additions & 3 deletions measures/ApplyUpgrade/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>apply_upgrade</name>
<uid>33f1654c-f734-43d1-b35d-9d2856e41b5a</uid>
<version_id>124b9613-198f-4e07-ae0e-7d37e9f65a35</version_id>
<version_modified>2023-06-16T15:53:01Z</version_modified>
<version_id>ccefea08-b9fa-4fc9-86f3-df7f8c25b2a9</version_id>
<version_modified>2023-07-26T21:20:25Z</version_modified>
<xml_checksum>9339BE01</xml_checksum>
<class_name>ApplyUpgrade</class_name>
<display_name>Apply Upgrade</display_name>
Expand Down Expand Up @@ -6342,7 +6342,7 @@
<filename>apply_upgrade_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>672FDD8F</checksum>
<checksum>A9826856</checksum>
</file>
</files>
</measure>
2 changes: 1 addition & 1 deletion measures/ApplyUpgrade/tests/apply_upgrade_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
require_relative '../../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/minitest_helper'
require_relative '../measure.rb'

class ApplyUpgradeTest < MiniTest::Test
class ApplyUpgradeTest < Minitest::Test
def test_SFD_1story_FB_UA_GRG_MSHP_FuelTanklessWH
osw_file = '../../UpgradeCosts/tests/SFD_1story_FB_UA_GRG_MSHP_FuelTanklessWH.osw'
puts "\nTesting #{File.basename(osw_file)}..."
Expand Down
6 changes: 3 additions & 3 deletions measures/QOIReport/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>qoi_report</name>
<uid>be0bfc7f-25c6-435a-9acd-2f5fa8ac817d</uid>
<version_id>37ef3716-cf1a-4fa0-a1f2-958125cd3669</version_id>
<version_modified>2023-07-17T17:11:48Z</version_modified>
<version_id>c8145d11-8579-451e-ac86-c5840d5d491b</version_id>
<version_modified>2023-07-26T21:20:25Z</version_modified>
<xml_checksum>15BF4E57</xml_checksum>
<class_name>QOIReport</class_name>
<display_name>QOI Report</display_name>
Expand Down Expand Up @@ -45,7 +45,7 @@
<filename>qoi_report_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>FDE812FB</checksum>
<checksum>CCE950C4</checksum>
</file>
</files>
</measure>
2 changes: 1 addition & 1 deletion measures/QOIReport/tests/qoi_report_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
require_relative '../../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/minitest_helper'
require_relative '../measure.rb'

class QOIReportTest < MiniTest::Test
class QOIReportTest < Minitest::Test
# create an instance of the measure
@@measure = QOIReport.new

Expand Down
6 changes: 3 additions & 3 deletions measures/UpgradeCosts/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>upgrade_costs</name>
<uid>ef51212c-acc4-48d7-9b29-cf2a5c6c4449</uid>
<version_id>21848d6d-6b88-4008-ad94-8295b7bf99ff</version_id>
<version_modified>2023-07-17T22:56:13Z</version_modified>
<version_id>4311142d-f830-44fe-b61a-8119e617015b</version_id>
<version_modified>2023-07-26T21:20:25Z</version_modified>
<xml_checksum>9BF1E6AC</xml_checksum>
<class_name>UpgradeCosts</class_name>
<display_name>Upgrade Costs</display_name>
Expand Down Expand Up @@ -201,7 +201,7 @@
<filename>upgrade_costs_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>58C11733</checksum>
<checksum>01E4157F</checksum>
</file>
</files>
</measure>
2 changes: 1 addition & 1 deletion measures/UpgradeCosts/tests/upgrade_costs_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
require_relative '../../../measures/ReportHPXMLOutput/measure.rb'
require_relative '../measure.rb'

class UpgradeCostsTest < MiniTest::Test
class UpgradeCostsTest < Minitest::Test
def test_SFD_1story_FB_UA_GRG_MSHP_FuelTanklessWH
cost_multipliers = {
'Fixed (1)' => 1,
Expand Down
2 changes: 1 addition & 1 deletion project_national/tests/test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
require_relative '../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/minitest_helper'
require_relative '../../test/integrity_checks'

class TestProjectNational < MiniTest::Test
class TestProjectNational < Minitest::Test
def test_housing_characteristics
begin
project_dir_name = File.basename(File.dirname(File.dirname(__FILE__)))
Expand Down
2 changes: 1 addition & 1 deletion project_testing/tests/test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
require_relative '../../resources/hpxml-measures/HPXMLtoOpenStudio/resources/minitest_helper'
require_relative '../../test/integrity_checks'

class TestProjectTesting < MiniTest::Test
class TestProjectTesting < Minitest::Test
def test_housing_characteristics
begin
project_dir_name = File.basename(File.dirname(File.dirname(__FILE__)))
Expand Down
8 changes: 7 additions & 1 deletion resources/hpxml-measures/BuildResidentialHPXML/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5113,7 +5113,13 @@ def self.set_ducts(args, hvac_distribution)
max_fraction_load_served = 0.0
hvac_distribution.hvac_systems.each do |hvac_system|
if hvac_system.respond_to?(:fraction_heat_load_served)
max_fraction_load_served = [max_fraction_load_served, hvac_system.fraction_heat_load_served].max
if hvac_system.is_a?(HPXML::HeatingSystem) && hvac_system.is_heat_pump_backup_system
# HP backup system, use HP fraction heat load served
fraction_heat_load_served = hvac_system.primary_heat_pump.fraction_heat_load_served
else
fraction_heat_load_served = hvac_system.fraction_heat_load_served
end
max_fraction_load_served = [max_fraction_load_served, fraction_heat_load_served].max
end
if hvac_system.respond_to?(:fraction_cool_load_served)
max_fraction_load_served = [max_fraction_load_served, hvac_system.fraction_cool_load_served].max
Expand Down
8 changes: 4 additions & 4 deletions resources/hpxml-measures/BuildResidentialHPXML/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>build_residential_hpxml</name>
<uid>a13a8983-2b01-4930-8af2-42030b6e4233</uid>
<version_id>7106e0ea-76b6-4905-9570-1aee1a32f1b1</version_id>
<version_modified>2023-07-18T23:32:03Z</version_modified>
<version_id>1fcda896-05c3-49a8-93d6-3d49c15fa301</version_id>
<version_modified>2023-07-26T21:30:02Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>BuildResidentialHPXML</class_name>
<display_name>HPXML Builder</display_name>
Expand Down Expand Up @@ -6691,7 +6691,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>F78D40DC</checksum>
<checksum>DA29841B</checksum>
</file>
<file>
<filename>geometry.rb</filename>
Expand All @@ -6703,7 +6703,7 @@
<filename>build_residential_hpxml_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>D9387578</checksum>
<checksum>F156DFA0</checksum>
</file>
</files>
</measure>
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
require_relative '../measure.rb'
require 'fileutils'

class BuildResidentialHPXMLTest < MiniTest::Test
class BuildResidentialHPXMLTest < Minitest::Test
def setup
@output_path = File.join(File.dirname(__FILE__), 'extra_files')
@model_save = false # true helpful for debugging, i.e., can render osm in 3D
Expand Down
2 changes: 2 additions & 0 deletions resources/hpxml-measures/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ __New Features__
- Adds "Peak Electricity: Annual Total (W)" output.
- Adds battery resilience hours output; allows requesting timeseries output.
- ReportUtilityBills measure: Allows reporting monthly utility bills in addition to (or instead of) annual bills.
- Update to 2022 EIA energy costs.

__Bugfixes__
- Fixes lighting multipliers not being applied when kWh/yr inputs are used.
Expand All @@ -16,6 +17,7 @@ __Bugfixes__
- Fixes error if heat pump `CompressorLockoutTemperature` == `BackupHeatingLockoutTemperature`.
- Fixes possible "Electricity category end uses do not sum to total" error for a heat pump w/o backup.
- Fixes error if conditioned basement has `InsulationSpansEntireSlab=true`.
- Fixes ReportSimulationOutput outputs for the Parametric Analysis Tool (PAT).
- BuildResidentialHPXML measure: Fixes air distribution CFA served when there is not a central system that meets 100% of the load.

## OpenStudio-HPXML v1.6.0
Expand Down
42 changes: 21 additions & 21 deletions resources/hpxml-measures/HPXMLtoOpenStudio/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.1</schema_version>
<name>hpxm_lto_openstudio</name>
<uid>b1543b30-9465-45ff-ba04-1d1f85e763bc</uid>
<version_id>6e25a3e5-f445-46f5-99c0-1aebcfb68c5e</version_id>
<version_modified>2023-07-17T18:38:57Z</version_modified>
<version_id>d39e4e63-ebe0-4d8b-9e76-751299a87885</version_id>
<version_modified>2023-07-26T21:30:07Z</version_modified>
<xml_checksum>D8922A73</xml_checksum>
<class_name>HPXMLtoOpenStudio</class_name>
<display_name>HPXML to OpenStudio Translator</display_name>
Expand Down Expand Up @@ -238,7 +238,7 @@
<filename>hpxml.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>66E3FB20</checksum>
<checksum>A2730455</checksum>
</file>
<file>
<filename>hpxml_defaults.rb</filename>
Expand Down Expand Up @@ -448,7 +448,7 @@
<filename>utility_bills.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>D605D60B</checksum>
<checksum>07DB4C49</checksum>
</file>
<file>
<filename>version.rb</filename>
Expand Down Expand Up @@ -484,103 +484,103 @@
<filename>test_airflow.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>57772CD3</checksum>
<checksum>16592A6F</checksum>
</file>
<file>
<filename>test_battery.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>E6B6B63E</checksum>
<checksum>9FA3A682</checksum>
</file>
<file>
<filename>test_defaults.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>A744894C</checksum>
<checksum>87CEB349</checksum>
</file>
<file>
<filename>test_enclosure.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>925E05C1</checksum>
<checksum>29313C59</checksum>
</file>
<file>
<filename>test_generator.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>9641B04E</checksum>
<checksum>808AB349</checksum>
</file>
<file>
<filename>test_hotwater_appliance.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>F36FD60C</checksum>
<checksum>AC9F9282</checksum>
</file>
<file>
<filename>test_hvac.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>E42B9F8E</checksum>
<checksum>21D51F9C</checksum>
</file>
<file>
<filename>test_hvac_sizing.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>D6D366C0</checksum>
<checksum>68733BE8</checksum>
</file>
<file>
<filename>test_lighting.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>B7FC720C</checksum>
<checksum>3645750A</checksum>
</file>
<file>
<filename>test_location.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>03FE784E</checksum>
<checksum>69CFC690</checksum>
</file>
<file>
<filename>test_miscloads.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>5C446C35</checksum>
<checksum>308C1B0D</checksum>
</file>
<file>
<filename>test_pv.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>63F44A56</checksum>
<checksum>5E376500</checksum>
</file>
<file>
<filename>test_schedules.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>414F4C13</checksum>
<checksum>65D51D3A</checksum>
</file>
<file>
<filename>test_simcontrols.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>CF8094A4</checksum>
<checksum>F6DC39F4</checksum>
</file>
<file>
<filename>test_validation.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>47AE7DEF</checksum>
<checksum>788ADA20</checksum>
</file>
<file>
<filename>test_water_heater.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>C9C9340E</checksum>
<checksum>E1AB8CF7</checksum>
</file>
<file>
<filename>test_weather.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>5B815DA9</checksum>
<checksum>1464E73A</checksum>
</file>
<file>
<filename>util.rb</filename>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,9 @@ def has_fuel(fuel, hpxml_doc = nil)
'HeatPumpFuel',
'BackupSystemFuel',
'FuelType',
'IntegratedHeatingSystemFuel'].each do |fuel_name|
'IntegratedHeatingSystemFuel',
'Heater/Type'].each do |fuel_name|
fuel = HPXML::HeaterTypeGas if fuel_name == 'Heater/Type' && fuel == HPXML::FuelTypeNaturalGas
if XMLHelper.has_element(hpxml_doc, "//#{fuel_name}[text() = '#{fuel}']")
return true
end
Expand Down

0 comments on commit 91154f8

Please sign in to comment.