Skip to content

Commit 6cdbb25

Browse files
committed
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML into os380
# Conflicts: # HPXMLtoOpenStudio/measure.xml
2 parents c01039e + b63eed6 commit 6cdbb25

34 files changed

+4635
-2770
lines changed

Diff for: BuildResidentialHPXML/README.md

+39-13
Original file line numberDiff line numberDiff line change
@@ -2824,17 +2824,6 @@ The leakage value to outside for the supply ducts.
28242824

28252825
<br/>
28262826

2827-
**Ducts: Return Leakage to Outside Value**
2828-
2829-
The leakage value to outside for the return ducts.
2830-
2831-
- **Name:** ``ducts_return_leakage_to_outside_value``
2832-
- **Type:** ``Double``
2833-
2834-
- **Required:** ``true``
2835-
2836-
<br/>
2837-
28382827
**Ducts: Supply Location**
28392828

28402829
The location of the supply ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used.
@@ -2850,7 +2839,7 @@ The location of the supply ducts. If not provided, the OS-HPXML default (see <a
28502839

28512840
**Ducts: Supply Insulation R-Value**
28522841

2853-
The insulation r-value of the supply ducts excluding air films.
2842+
The nominal insulation r-value of the supply ducts excluding air films. Use 0 for uninsulated ducts.
28542843

28552844
- **Name:** ``ducts_supply_insulation_r``
28562845
- **Type:** ``Double``
@@ -2900,6 +2889,30 @@ The fraction of supply ducts surface area in the given location. Only used if Su
29002889

29012890
<br/>
29022891

2892+
**Ducts: Supply Fraction Rectangular**
2893+
2894+
The fraction of supply ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used.
2895+
2896+
- **Name:** ``ducts_supply_fraction_rectangular``
2897+
- **Type:** ``Double``
2898+
2899+
- **Units:** ``frac``
2900+
2901+
- **Required:** ``false``
2902+
2903+
<br/>
2904+
2905+
**Ducts: Return Leakage to Outside Value**
2906+
2907+
The leakage value to outside for the return ducts.
2908+
2909+
- **Name:** ``ducts_return_leakage_to_outside_value``
2910+
- **Type:** ``Double``
2911+
2912+
- **Required:** ``true``
2913+
2914+
<br/>
2915+
29032916
**Ducts: Return Location**
29042917

29052918
The location of the return ducts. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used.
@@ -2915,7 +2928,7 @@ The location of the return ducts. If not provided, the OS-HPXML default (see <a
29152928

29162929
**Ducts: Return Insulation R-Value**
29172930

2918-
The insulation r-value of the return ducts excluding air films.
2931+
The nominal insulation r-value of the return ducts excluding air films. Use 0 for uninsulated ducts.
29192932

29202933
- **Name:** ``ducts_return_insulation_r``
29212934
- **Type:** ``Double``
@@ -2978,6 +2991,19 @@ The number of return registers of the ducts. Only used to calculate default retu
29782991

29792992
<br/>
29802993

2994+
**Ducts: Return Fraction Rectangular**
2995+
2996+
The fraction of return ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'>Air Distribution</a>) is used.
2997+
2998+
- **Name:** ``ducts_return_fraction_rectangular``
2999+
- **Type:** ``Double``
3000+
3001+
- **Units:** ``frac``
3002+
3003+
- **Required:** ``false``
3004+
3005+
<br/>
3006+
29813007
**Mechanical Ventilation: Fan Type**
29823008

29833009
The type of the mechanical ventilation. Use 'none' if there is no mechanical ventilation system.

Diff for: BuildResidentialHPXML/measure.rb

+48-10
Original file line numberDiff line numberDiff line change
@@ -1708,20 +1708,14 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
17081708
arg.setDefaultValue(0.1)
17091709
args << arg
17101710

1711-
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ducts_return_leakage_to_outside_value', true)
1712-
arg.setDisplayName('Ducts: Return Leakage to Outside Value')
1713-
arg.setDescription('The leakage value to outside for the return ducts.')
1714-
arg.setDefaultValue(0.1)
1715-
args << arg
1716-
17171711
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('ducts_supply_location', duct_location_choices, false)
17181712
arg.setDisplayName('Ducts: Supply Location')
17191713
arg.setDescription("The location of the supply ducts. If not provided, the OS-HPXML default (see <a href='#{docs_base_url}#air-distribution'>Air Distribution</a>) is used.")
17201714
args << arg
17211715

17221716
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ducts_supply_insulation_r', true)
17231717
arg.setDisplayName('Ducts: Supply Insulation R-Value')
1724-
arg.setDescription('The insulation r-value of the supply ducts excluding air films.')
1718+
arg.setDescription('The nominal insulation r-value of the supply ducts excluding air films. Use 0 for uninsulated ducts.')
17251719
arg.setUnits('h-ft^2-R/Btu')
17261720
arg.setDefaultValue(0)
17271721
args << arg
@@ -1749,14 +1743,26 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
17491743
arg.setUnits('frac')
17501744
args << arg
17511745

1746+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ducts_supply_fraction_rectangular', false)
1747+
arg.setDisplayName('Ducts: Supply Fraction Rectangular')
1748+
arg.setDescription("The fraction of supply ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='#{docs_base_url}#air-distribution'>Air Distribution</a>) is used.")
1749+
arg.setUnits('frac')
1750+
args << arg
1751+
1752+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ducts_return_leakage_to_outside_value', true)
1753+
arg.setDisplayName('Ducts: Return Leakage to Outside Value')
1754+
arg.setDescription('The leakage value to outside for the return ducts.')
1755+
arg.setDefaultValue(0.1)
1756+
args << arg
1757+
17521758
arg = OpenStudio::Measure::OSArgument::makeChoiceArgument('ducts_return_location', duct_location_choices, false)
17531759
arg.setDisplayName('Ducts: Return Location')
17541760
arg.setDescription("The location of the return ducts. If not provided, the OS-HPXML default (see <a href='#{docs_base_url}#air-distribution'>Air Distribution</a>) is used.")
17551761
args << arg
17561762

17571763
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ducts_return_insulation_r', true)
17581764
arg.setDisplayName('Ducts: Return Insulation R-Value')
1759-
arg.setDescription('The insulation r-value of the return ducts excluding air films.')
1765+
arg.setDescription('The nominal insulation r-value of the return ducts excluding air films. Use 0 for uninsulated ducts.')
17601766
arg.setUnits('h-ft^2-R/Btu')
17611767
arg.setDefaultValue(0)
17621768
args << arg
@@ -1784,6 +1790,12 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
17841790
arg.setUnits('#')
17851791
args << arg
17861792

1793+
arg = OpenStudio::Measure::OSArgument::makeDoubleArgument('ducts_return_fraction_rectangular', false)
1794+
arg.setDisplayName('Ducts: Return Fraction Rectangular')
1795+
arg.setDescription("The fraction of return ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see <a href='#{docs_base_url}#air-distribution'>Air Distribution</a>) is used.")
1796+
arg.setUnits('frac')
1797+
args << arg
1798+
17871799
mech_vent_fan_type_choices = OpenStudio::StringVector.new
17881800
mech_vent_fan_type_choices << 'none'
17891801
mech_vent_fan_type_choices << HPXML::MechVentTypeExhaust
@@ -5870,6 +5882,17 @@ def self.set_ducts(hpxml_bldg, args, hvac_distribution)
58705882
ducts_supply_area_fraction = args[:ducts_supply_surface_area_fraction].get
58715883
end
58725884

5885+
if args[:ducts_supply_fraction_rectangular].is_initialized
5886+
ducts_supply_fraction_rectangular = args[:ducts_supply_fraction_rectangular].get
5887+
if ducts_supply_fraction_rectangular == 0
5888+
ducts_supply_fraction_rectangular = nil
5889+
ducts_supply_shape = HPXML::DuctShapeRound
5890+
elsif ducts_supply_fraction_rectangular == 1
5891+
ducts_supply_shape = HPXML::DuctShapeRectangular
5892+
ducts_supply_fraction_rectangular = nil
5893+
end
5894+
end
5895+
58735896
if args[:ducts_return_surface_area].is_initialized
58745897
ducts_return_surface_area = args[:ducts_return_surface_area].get
58755898
end
@@ -5904,13 +5927,26 @@ def self.set_ducts(hpxml_bldg, args, hvac_distribution)
59045927
ducts_return_buried_insulation_level = args[:ducts_return_buried_insulation_level].get
59055928
end
59065929

5930+
if args[:ducts_return_fraction_rectangular].is_initialized
5931+
ducts_return_fraction_rectangular = args[:ducts_return_fraction_rectangular].get
5932+
if ducts_return_fraction_rectangular == 0
5933+
ducts_return_fraction_rectangular = nil
5934+
ducts_return_shape = HPXML::DuctShapeRound
5935+
elsif ducts_return_fraction_rectangular == 1
5936+
ducts_return_shape = HPXML::DuctShapeRectangular
5937+
ducts_return_fraction_rectangular = nil
5938+
end
5939+
end
5940+
59075941
hvac_distribution.ducts.add(id: "Ducts#{hvac_distribution.ducts.size + 1}",
59085942
duct_type: HPXML::DuctTypeSupply,
59095943
duct_insulation_r_value: args[:ducts_supply_insulation_r],
59105944
duct_buried_insulation_level: ducts_supply_buried_insulation_level,
59115945
duct_location: ducts_supply_location,
59125946
duct_surface_area: ducts_supply_surface_area,
5913-
duct_fraction_area: ducts_supply_area_fraction)
5947+
duct_fraction_area: ducts_supply_area_fraction,
5948+
duct_shape: ducts_supply_shape,
5949+
duct_fraction_rectangular: ducts_supply_fraction_rectangular)
59145950

59155951
if not ([HPXML::HVACTypeEvaporativeCooler].include?(args[:cooling_system_type]) && args[:cooling_system_is_ducted])
59165952
hvac_distribution.ducts.add(id: "Ducts#{hvac_distribution.ducts.size + 1}",
@@ -5919,7 +5955,9 @@ def self.set_ducts(hpxml_bldg, args, hvac_distribution)
59195955
duct_buried_insulation_level: ducts_return_buried_insulation_level,
59205956
duct_location: ducts_return_location,
59215957
duct_surface_area: ducts_return_surface_area,
5922-
duct_fraction_area: ducts_return_area_fraction)
5958+
duct_fraction_area: ducts_return_area_fraction,
5959+
duct_shape: ducts_return_shape,
5960+
duct_fraction_rectangular: ducts_return_fraction_rectangular)
59235961
end
59245962

59255963
if (not ducts_supply_area_fraction.nil?) && (ducts_supply_area_fraction < 1)

Diff for: BuildResidentialHPXML/measure.xml

+33-15
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<schema_version>3.1</schema_version>
44
<name>build_residential_hpxml</name>
55
<uid>a13a8983-2b01-4930-8af2-42030b6e4233</uid>
6-
<version_id>5a875ec8-2d75-4240-b593-309efac2ff96</version_id>
7-
<version_modified>2024-03-26T22:15:51Z</version_modified>
6+
<version_id>c3c0c169-df40-4201-8c40-2491d3c416d2</version_id>
7+
<version_modified>2024-04-23T23:55:38Z</version_modified>
88
<xml_checksum>2C38F48B</xml_checksum>
99
<class_name>BuildResidentialHPXML</class_name>
1010
<display_name>HPXML Builder</display_name>
@@ -3454,15 +3454,6 @@
34543454
<model_dependent>false</model_dependent>
34553455
<default_value>0.1</default_value>
34563456
</argument>
3457-
<argument>
3458-
<name>ducts_return_leakage_to_outside_value</name>
3459-
<display_name>Ducts: Return Leakage to Outside Value</display_name>
3460-
<description>The leakage value to outside for the return ducts.</description>
3461-
<type>Double</type>
3462-
<required>true</required>
3463-
<model_dependent>false</model_dependent>
3464-
<default_value>0.1</default_value>
3465-
</argument>
34663457
<argument>
34673458
<name>ducts_supply_location</name>
34683459
<display_name>Ducts: Supply Location</display_name>
@@ -3556,7 +3547,7 @@
35563547
<argument>
35573548
<name>ducts_supply_insulation_r</name>
35583549
<display_name>Ducts: Supply Insulation R-Value</display_name>
3559-
<description>The insulation r-value of the supply ducts excluding air films.</description>
3550+
<description>The nominal insulation r-value of the supply ducts excluding air films. Use 0 for uninsulated ducts.</description>
35603551
<type>Double</type>
35613552
<units>h-ft^2-R/Btu</units>
35623553
<required>true</required>
@@ -3607,6 +3598,24 @@
36073598
<required>false</required>
36083599
<model_dependent>false</model_dependent>
36093600
</argument>
3601+
<argument>
3602+
<name>ducts_supply_fraction_rectangular</name>
3603+
<display_name>Ducts: Supply Fraction Rectangular</display_name>
3604+
<description>The fraction of supply ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see &lt;a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'&gt;Air Distribution&lt;/a&gt;) is used.</description>
3605+
<type>Double</type>
3606+
<units>frac</units>
3607+
<required>false</required>
3608+
<model_dependent>false</model_dependent>
3609+
</argument>
3610+
<argument>
3611+
<name>ducts_return_leakage_to_outside_value</name>
3612+
<display_name>Ducts: Return Leakage to Outside Value</display_name>
3613+
<description>The leakage value to outside for the return ducts.</description>
3614+
<type>Double</type>
3615+
<required>true</required>
3616+
<model_dependent>false</model_dependent>
3617+
<default_value>0.1</default_value>
3618+
</argument>
36103619
<argument>
36113620
<name>ducts_return_location</name>
36123621
<display_name>Ducts: Return Location</display_name>
@@ -3700,7 +3709,7 @@
37003709
<argument>
37013710
<name>ducts_return_insulation_r</name>
37023711
<display_name>Ducts: Return Insulation R-Value</display_name>
3703-
<description>The insulation r-value of the return ducts excluding air films.</description>
3712+
<description>The nominal insulation r-value of the return ducts excluding air films. Use 0 for uninsulated ducts.</description>
37043713
<type>Double</type>
37053714
<units>h-ft^2-R/Btu</units>
37063715
<required>true</required>
@@ -3760,6 +3769,15 @@
37603769
<required>false</required>
37613770
<model_dependent>false</model_dependent>
37623771
</argument>
3772+
<argument>
3773+
<name>ducts_return_fraction_rectangular</name>
3774+
<display_name>Ducts: Return Fraction Rectangular</display_name>
3775+
<description>The fraction of return ducts that are rectangular (as opposed to round); this affects the duct effective R-value used for modeling. If not provided, the OS-HPXML default (see &lt;a href='https://openstudio-hpxml.readthedocs.io/en/v1.7.0/workflow_inputs.html#air-distribution'&gt;Air Distribution&lt;/a&gt;) is used.</description>
3776+
<type>Double</type>
3777+
<units>frac</units>
3778+
<required>false</required>
3779+
<model_dependent>false</model_dependent>
3780+
</argument>
37633781
<argument>
37643782
<name>mech_vent_fan_type</name>
37653783
<display_name>Mechanical Ventilation: Fan Type</display_name>
@@ -7244,7 +7262,7 @@
72447262
<filename>README.md</filename>
72457263
<filetype>md</filetype>
72467264
<usage_type>readme</usage_type>
7247-
<checksum>6D56CD24</checksum>
7265+
<checksum>DBA0E5FD</checksum>
72487266
</file>
72497267
<file>
72507268
<filename>README.md.erb</filename>
@@ -7261,7 +7279,7 @@
72617279
<filename>measure.rb</filename>
72627280
<filetype>rb</filetype>
72637281
<usage_type>script</usage_type>
7264-
<checksum>36F74813</checksum>
7282+
<checksum>90280349</checksum>
72657283
</file>
72667284
<file>
72677285
<filename>geometry.rb</filename>

Diff for: Changelog.md

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ __New Features__
3232
- Allows optional ground diffusivity input.
3333
- Updates to using G-Functions from the [G-Function Library for Modeling Vertical Bore Ground Heat Exchanger](https://gdr.openei.org/submissions/1325).
3434
- Updated heating/cooling performance curves to reflect newer equipment.
35+
- Allows optional `Ducts/DuctShape` and `Ducts/DuctFractionRectangular` inputs, which affect duct effective R-value used for modeling.
3536
- Allows optional `HeatingAutosizingFactor`, `CoolingAutosizingFactor`, `BackupHeatingAutosizingFactor` inputs to scale HVAC equipment autosizing results.
3637
- Adds optional `Slab/extension/GapInsulationRValue` input for cases where a slab has horizontal (under slab) insulation.
3738
- Allows radiant barriers for additional locations (attic gable walls and floor); reduced emissivity due to dust assumed for radiant barriers on attic floor.

0 commit comments

Comments
 (0)