Skip to content

Commit 1b0432b

Browse files
authored
Merge pull request #2228 from NatLabRockies/minor_updates
Minor updates
2 parents 6888735 + afa8903 commit 1b0432b

3 files changed

Lines changed: 97 additions & 91 deletions

File tree

HPXMLtoOpenStudio/measure.xml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<schema_version>3.1</schema_version>
44
<name>hpxml_to_openstudio</name>
55
<uid>b1543b30-9465-45ff-ba04-1d1f85e763bc</uid>
6-
<version_id>033831a5-9516-48c0-9ed2-d9f07b0e1609</version_id>
7-
<version_modified>2026-05-21T21:45:00Z</version_modified>
6+
<version_id>40a959a9-0600-4ced-87d0-95260a45a38b</version_id>
7+
<version_modified>2026-06-17T16:15:54Z</version_modified>
88
<xml_checksum>D8922A73</xml_checksum>
99
<class_name>HPXMLToOpenStudio</class_name>
1010
<display_name>HPXML to OpenStudio Translator</display_name>
@@ -217,7 +217,7 @@
217217
<filename>airflow.rb</filename>
218218
<filetype>rb</filetype>
219219
<usage_type>resource</usage_type>
220-
<checksum>FEB9F10E</checksum>
220+
<checksum>50E3B7E9</checksum>
221221
</file>
222222
<file>
223223
<filename>battery.rb</filename>
@@ -367,7 +367,7 @@
367367
<filename>defaults.rb</filename>
368368
<filetype>rb</filetype>
369369
<usage_type>resource</usage_type>
370-
<checksum>4044148D</checksum>
370+
<checksum>A3B194F3</checksum>
371371
</file>
372372
<file>
373373
<filename>electric_panel.rb</filename>
@@ -391,19 +391,19 @@
391391
<filename>geometry.rb</filename>
392392
<filetype>rb</filetype>
393393
<usage_type>resource</usage_type>
394-
<checksum>7F402CF9</checksum>
394+
<checksum>4666E48F</checksum>
395395
</file>
396396
<file>
397397
<filename>hotwater_appliances.rb</filename>
398398
<filetype>rb</filetype>
399399
<usage_type>resource</usage_type>
400-
<checksum>3413BD58</checksum>
400+
<checksum>E0198FBF</checksum>
401401
</file>
402402
<file>
403403
<filename>hpxml.rb</filename>
404404
<filetype>rb</filetype>
405405
<usage_type>resource</usage_type>
406-
<checksum>4741A9D8</checksum>
406+
<checksum>7BB98B65</checksum>
407407
</file>
408408
<file>
409409
<filename>hpxml_schema/HPXML.xsd</filename>
@@ -421,7 +421,7 @@
421421
<filename>hpxml_schematron/EPvalidator.sch</filename>
422422
<filetype>sch</filetype>
423423
<usage_type>resource</usage_type>
424-
<checksum>0D042BF0</checksum>
424+
<checksum>54FA6347</checksum>
425425
</file>
426426
<file>
427427
<filename>hpxml_schematron/iso-schematron.xsd</filename>
@@ -715,7 +715,7 @@
715715
<filename>waterheater.rb</filename>
716716
<filetype>rb</filetype>
717717
<usage_type>resource</usage_type>
718-
<checksum>C9FBD6FB</checksum>
718+
<checksum>C428F4AB</checksum>
719719
</file>
720720
<file>
721721
<filename>weather.rb</filename>
@@ -751,7 +751,7 @@
751751
<filename>test_defaults.rb</filename>
752752
<filetype>rb</filetype>
753753
<usage_type>test</usage_type>
754-
<checksum>396FC7B6</checksum>
754+
<checksum>BE1661EA</checksum>
755755
</file>
756756
<file>
757757
<filename>test_electric_panel.rb</filename>
@@ -763,7 +763,7 @@
763763
<filename>test_enclosure.rb</filename>
764764
<filetype>rb</filetype>
765765
<usage_type>test</usage_type>
766-
<checksum>F3EDA5AC</checksum>
766+
<checksum>0DA5536E</checksum>
767767
</file>
768768
<file>
769769
<filename>test_generator.rb</filename>
@@ -829,7 +829,7 @@
829829
<filename>test_validation.rb</filename>
830830
<filetype>rb</filetype>
831831
<usage_type>test</usage_type>
832-
<checksum>08D1113A</checksum>
832+
<checksum>EA35509A</checksum>
833833
</file>
834834
<file>
835835
<filename>test_vehicle.rb</filename>
@@ -841,7 +841,7 @@
841841
<filename>test_water_heater.rb</filename>
842842
<filetype>rb</filetype>
843843
<usage_type>test</usage_type>
844-
<checksum>8DBA3BD3</checksum>
844+
<checksum>F216022C</checksum>
845845
</file>
846846
<file>
847847
<filename>test_weather.rb</filename>

HPXMLtoOpenStudio/resources/hotwater_appliances.rb

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -615,11 +615,12 @@ def self.calc_dishwasher_energy_gpd(runner, eri_version, hpxml_bldg, dishwasher,
615615
end
616616

617617
if Constants::ERIVersions.index(eri_version) >= Constants::ERIVersions.index('2019A')
618-
if dishwasher.rated_annual_kwh.nil?
619-
dishwasher.rated_annual_kwh = calc_dishwasher_annual_kwh_from_ef(dishwasher.energy_factor)
618+
rated_annual_kwh = dishwasher.rated_annual_kwh
619+
if rated_annual_kwh.nil?
620+
rated_annual_kwh = calc_dishwasher_annual_kwh_from_ef(dishwasher.energy_factor)
620621
end
621622
lcy = dishwasher.label_usage * 52.0
622-
kwh_per_cyc = ((dishwasher.label_annual_gas_cost * 0.5497 / dishwasher.label_gas_rate - dishwasher.rated_annual_kwh * dishwasher.label_electric_rate * 0.02504 / dishwasher.label_electric_rate) / (dishwasher.label_electric_rate * 0.5497 / dishwasher.label_gas_rate - 0.02504)) / lcy
623+
kwh_per_cyc = ((dishwasher.label_annual_gas_cost * 0.5497 / dishwasher.label_gas_rate - rated_annual_kwh * dishwasher.label_electric_rate * 0.02504 / dishwasher.label_electric_rate) / (dishwasher.label_electric_rate * 0.5497 / dishwasher.label_gas_rate - 0.02504)) / lcy
623624
if n_occ.nil? # Asset calculation
624625
if Constants::ERIVersions.index(eri_version) >= Constants::ERIVersions.index('latest') # FIXME: Change from 'latest' when incorporated in 301 standard
625626
# RESNET HERS Addendum 81 Eq. 4.2-36a
@@ -637,18 +638,19 @@ def self.calc_dishwasher_energy_gpd(runner, eri_version, hpxml_bldg, dishwasher,
637638
dwcpy = scy * (12.0 / dishwasher.place_setting_capacity)
638639
annual_kwh = kwh_per_cyc * dwcpy
639640

640-
gpd = (dishwasher.rated_annual_kwh - kwh_per_cyc * lcy) * 0.02504 * dwcpy / 365.0
641+
gpd = (rated_annual_kwh - kwh_per_cyc * lcy) * 0.02504 * dwcpy / 365.0
641642
else
642-
if dishwasher.energy_factor.nil?
643-
dishwasher.energy_factor = calc_dishwasher_ef_from_annual_kwh(dishwasher.rated_annual_kwh)
643+
energy_factor = dishwasher.energy_factor
644+
if energy_factor.nil?
645+
energy_factor = calc_dishwasher_ef_from_annual_kwh(dishwasher.rated_annual_kwh)
644646
end
645647
dwcpy = (88.4 + 34.9 * nbeds) * (12.0 / dishwasher.place_setting_capacity)
646-
annual_kwh = ((86.3 + 47.73 / dishwasher.energy_factor) / 215.0) * dwcpy
648+
annual_kwh = ((86.3 + 47.73 / energy_factor) / 215.0) * dwcpy
647649

648650
if Constants::ERIVersions.index(eri_version) >= Constants::ERIVersions.index('2014A')
649-
gpd = dwcpy * (4.6415 * (1.0 / dishwasher.energy_factor) - 1.9295) / 365.0
651+
gpd = dwcpy * (4.6415 * (1.0 / energy_factor) - 1.9295) / 365.0
650652
else
651-
gpd = ((88.4 + 34.9 * nbeds) * 8.16 - (88.4 + 34.9 * nbeds) * 12.0 / dishwasher.place_setting_capacity * (4.6415 * (1.0 / dishwasher.energy_factor) - 1.9295)) / 365.0
653+
gpd = ((88.4 + 34.9 * nbeds) * 8.16 - (88.4 + 34.9 * nbeds) * 12.0 / dishwasher.place_setting_capacity * (4.6415 * (1.0 / energy_factor) - 1.9295)) / 365.0
652654
end
653655
end
654656

@@ -714,13 +716,15 @@ def self.calc_clothes_dryer_energy(runner, eri_version, hpxml_bldg, clothes_drye
714716
end
715717

716718
if Constants::ERIVersions.index(eri_version) >= Constants::ERIVersions.index('2019A')
717-
if clothes_dryer.combined_energy_factor.nil?
718-
clothes_dryer.combined_energy_factor = calc_clothes_dryer_cef_from_ef(clothes_dryer.energy_factor)
719+
combined_energy_factor = clothes_dryer.combined_energy_factor
720+
if combined_energy_factor.nil?
721+
combined_energy_factor = calc_clothes_dryer_cef_from_ef(clothes_dryer.energy_factor)
719722
end
720-
if clothes_washer.integrated_modified_energy_factor.nil?
721-
clothes_washer.integrated_modified_energy_factor = calc_clothes_washer_imef_from_mef(clothes_washer.modified_energy_factor)
723+
integrated_modified_energy_factor = clothes_washer.integrated_modified_energy_factor
724+
if integrated_modified_energy_factor.nil?
725+
integrated_modified_energy_factor = calc_clothes_washer_imef_from_mef(clothes_washer.modified_energy_factor)
722726
end
723-
rmc = (0.97 * (clothes_washer.capacity / clothes_washer.integrated_modified_energy_factor) - clothes_washer.rated_annual_kwh / 312.0) / ((2.0104 * clothes_washer.capacity + 1.4242) * 0.455) + 0.04
727+
rmc = (0.97 * (clothes_washer.capacity / integrated_modified_energy_factor) - clothes_washer.rated_annual_kwh / 312.0) / ((2.0104 * clothes_washer.capacity + 1.4242) * 0.455) + 0.04
724728
if n_occ.nil? # Asset calculation
725729
if Constants::ERIVersions.index(eri_version) >= Constants::ERIVersions.index('latest') # FIXME: Change from 'latest' when incorporated in 301 standard
726730
# RESNET HERS Addendum 81 Eq. 4.2-34
@@ -736,32 +740,34 @@ def self.calc_clothes_dryer_energy(runner, eri_version, hpxml_bldg, clothes_drye
736740
scy = 123.0 + 61.0 * n_occ # Eq. 1 from http://www.fsec.ucf.edu/en/publications/pdf/fsec-pf-464-15.pdf
737741
end
738742
acy = scy * ((3.0 * 2.08 + 1.59) / (clothes_washer.capacity * 2.08 + 1.59))
739-
annual_kwh = (((rmc - 0.04) * 100) / 55.5) * (8.45 / clothes_dryer.combined_energy_factor) * acy
743+
annual_kwh = (((rmc - 0.04) * 100) / 55.5) * (8.45 / combined_energy_factor) * acy
740744
if clothes_dryer.fuel_type == HPXML::FuelTypeElectricity
741745
annual_therm = 0.0
742746
else
743747
annual_therm = annual_kwh * 3412.0 * (1.0 - 0.07) * (3.73 / 3.30) / 100000
744748
annual_kwh = annual_kwh * 0.07 * (3.73 / 3.30)
745749
end
746750
else
747-
if clothes_dryer.energy_factor.nil?
748-
clothes_dryer.energy_factor = calc_clothes_dryer_ef_from_cef(clothes_dryer.combined_energy_factor)
751+
energy_factor = clothes_dryer.energy_factor
752+
if energy_factor.nil?
753+
energy_factor = calc_clothes_dryer_ef_from_cef(clothes_dryer.combined_energy_factor)
749754
end
750-
if clothes_washer.modified_energy_factor.nil?
751-
clothes_washer.modified_energy_factor = calc_clothes_washer_mef_from_imef(clothes_washer.integrated_modified_energy_factor)
755+
modified_energy_factor = clothes_washer.modified_energy_factor
756+
if modified_energy_factor.nil?
757+
modified_energy_factor = calc_clothes_washer_mef_from_imef(clothes_washer.integrated_modified_energy_factor)
752758
end
753759
if clothes_dryer.control_type == HPXML::ClothesDryerControlTypeTimer
754760
field_util_factor = 1.18
755761
elsif clothes_dryer.control_type == HPXML::ClothesDryerControlTypeMoisture
756762
field_util_factor = 1.04
757763
end
758764
if clothes_dryer.fuel_type == HPXML::FuelTypeElectricity
759-
annual_kwh = 12.5 * (164.0 + 46.5 * nbeds) * (field_util_factor / clothes_dryer.energy_factor) * ((clothes_washer.capacity / clothes_washer.modified_energy_factor) - clothes_washer.rated_annual_kwh / 392.0) / (0.2184 * (clothes_washer.capacity * 4.08 + 0.24))
765+
annual_kwh = 12.5 * (164.0 + 46.5 * nbeds) * (field_util_factor / energy_factor) * ((clothes_washer.capacity / modified_energy_factor) - clothes_washer.rated_annual_kwh / 392.0) / (0.2184 * (clothes_washer.capacity * 4.08 + 0.24))
760766
annual_therm = 0.0
761767
else
762-
annual_kwh = 12.5 * (164.0 + 46.5 * nbeds) * (field_util_factor / 3.01) * ((clothes_washer.capacity / clothes_washer.modified_energy_factor) - clothes_washer.rated_annual_kwh / 392.0) / (0.2184 * (clothes_washer.capacity * 4.08 + 0.24))
763-
annual_therm = annual_kwh * 3412.0 * (1.0 - 0.07) * (3.01 / clothes_dryer.energy_factor) / 100000
764-
annual_kwh = annual_kwh * 0.07 * (3.01 / clothes_dryer.energy_factor)
768+
annual_kwh = 12.5 * (164.0 + 46.5 * nbeds) * (field_util_factor / 3.01) * ((clothes_washer.capacity / modified_energy_factor) - clothes_washer.rated_annual_kwh / 392.0) / (0.2184 * (clothes_washer.capacity * 4.08 + 0.24))
769+
annual_therm = annual_kwh * 3412.0 * (1.0 - 0.07) * (3.01 / energy_factor) / 100000
770+
annual_kwh = annual_kwh * 0.07 * (3.01 / energy_factor)
765771
end
766772
end
767773

0 commit comments

Comments
 (0)