Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unvented crawlspace upgrade #870

Merged
merged 20 commits into from
Apr 11, 2022
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
216 changes: 208 additions & 8 deletions measures/ApplyUpgrade/measure.xml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions measures/ApplyUpgrade/resources/constants.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ def self.CostMultiplierChoices
'Wall Area, Below-Grade (ft^2)',
'Floor Area, Conditioned (ft^2)',
'Floor Area, Lighting (ft^2)',
'Floor Area, Foundation (ft^2)',
'Floor Area, Attic (ft^2)',
'Roof Area (ft^2)',
'Window Area (ft^2)',
Expand Down
2 changes: 2 additions & 0 deletions measures/UpgradeCosts/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,8 @@ def get_cost_multiplier(cost_mult_type, hpxml)
cost_mult += hpxml['enclosure_floor_area_conditioned_ft_2']
elsif cost_mult_type == 'Floor Area, Lighting (ft^2)'
cost_mult += hpxml['enclosure_floor_area_lighting_ft_2']
elsif cost_mult_type == 'Floor Area, Foundation (ft^2)'
cost_mult += hpxml['enclosure_floor_area_foundation_ft_2']
elsif cost_mult_type == 'Floor Area, Attic (ft^2)'
cost_mult += hpxml['enclosure_ceiling_area_thermal_boundary_ft_2']
elsif cost_mult_type == 'Roof Area (ft^2)'
Expand Down
52 changes: 14 additions & 38 deletions measures/UpgradeCosts/measure.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
<schema_version>3.0</schema_version>
<name>upgrade_costs</name>
<uid>ef51212c-acc4-48d7-9b29-cf2a5c6c4449</uid>
<version_id>9b1eb7e3-5f92-44e5-af96-8169942724cd</version_id>
<version_modified>20220330T152602Z</version_modified>
<version_id>8c67fb72-9e7b-45c0-8e28-fd349070cb48</version_id>
<version_modified>20220404T170903Z</version_modified>
<xml_checksum>9BF1E6AC</xml_checksum>
<class_name>UpgradeCosts</class_name>
<display_name>Upgrade Costs</display_name>
Expand Down Expand Up @@ -34,23 +34,6 @@
</attribute>
</attributes>
<files>
<file>
<filename>upgrade_costs_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>F25590D1</checksum>
</file>
<file>
<version>
<software_program>OpenStudio</software_program>
<identifier>3.1.0</identifier>
<min_compatible>3.1.0</min_compatible>
</version>
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>D0876D4F</checksum>
</file>
<file>
<filename>SFD_1story_FB_UA_GRG_MSHP_FuelTanklessWH.osw</filename>
<filetype>osw</filetype>
Expand Down Expand Up @@ -184,28 +167,21 @@
<checksum>1E1F2E06</checksum>
</file>
<file>
<filename>.pytest_cache/CACHEDIR.TAG</filename>
<filetype>TAG</filetype>
<usage_type>test</usage_type>
<checksum>D9821B2F</checksum>
</file>
<file>
<filename>.pytest_cache/README.md</filename>
<filetype>md</filetype>
<usage_type>test</usage_type>
<checksum>E3C5B70C</checksum>
</file>
<file>
<filename>.pytest_cache/v/cache/nodeids</filename>
<filetype></filetype>
<filename>upgrade_costs_test.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>0D4CBB29</checksum>
<checksum>62737BEF</checksum>
</file>
<file>
<filename>.pytest_cache/v/cache/stepwise</filename>
<filetype></filetype>
<usage_type>test</usage_type>
<checksum>0D4CBB29</checksum>
<version>
<software_program>OpenStudio</software_program>
<identifier>3.1.0</identifier>
<min_compatible>3.1.0</min_compatible>
</version>
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>7A11261B</checksum>
</file>
</files>
</measure>
24 changes: 24 additions & 0 deletions measures/UpgradeCosts/tests/upgrade_costs_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ def test_SFD_1story_FB_UA_GRG_MSHP_FuelTanklessWH
'Floor Area, Conditioned (ft^2)' => 2250.0 * 2,
'Floor Area, Attic (ft^2)' => 2250.0,
'Floor Area, Lighting (ft^2)' => 2250.0 * 2 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 2250.0,
'Roof Area (ft^2)' => 1338.0 + 101.0 * 2 + 1237.0 + 61.0,
'Window Area (ft^2)' => 0.12 * (196.0 + 96.0 * 2 + 429.0 + 292.0 + 525.0 - 96.0 * 2),
'Door Area (ft^2)' => 30.0,
Expand All @@ -41,6 +42,7 @@ def test_SFD_1story_FB_UA_GRG_RoomAC_ElecBoiler_FuelTanklessWH
'Floor Area, Conditioned (ft^2)' => 1000.0 * 2,
'Floor Area, Attic (ft^2)' => 1000.0,
'Floor Area, Lighting (ft^2)' => 1000.0 * 2 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 1000.0,
'Roof Area (ft^2)' => 640.0 + 101.0 * 2 + 599.0,
'Window Area (ft^2)' => 0.12 * (106.0 + 96.0 * 2 + 267.0 + 202.0 + 363.0 - 96.0 * 2),
'Door Area (ft^2)' => 40.0,
Expand All @@ -66,6 +68,7 @@ def test_SFD_1story_UB_UA_ASHP2_HPWH
'Floor Area, Conditioned (ft^2)' => 3000.0,
'Floor Area, Attic (ft^2)' => 3000.0,
'Floor Area, Lighting (ft^2)' => 3000.0,
'Floor Area, Foundation (ft^2)' => 3000.0,
'Roof Area (ft^2)' => 1677.0 * 2,
'Window Area (ft^2)' => 0.12 * (327.0 * 2 + 588.0 * 2),
'Door Area (ft^2)' => 40.0,
Expand All @@ -91,6 +94,7 @@ def test_SFD_1story_UB_UA_GRG_ACV_FuelFurnace_HPWH
'Floor Area, Conditioned (ft^2)' => 4500.0,
'Floor Area, Attic (ft^2)' => 4500.0,
'Floor Area, Lighting (ft^2)' => 4500.0 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 4500.0,
'Roof Area (ft^2)' => 2596.0 + 101.0 * 2 + 2471.0 + 85.0,
'Window Area (ft^2)' => 0.12 * (310.0 + 96.0 * 2 + 635.0 + 406.0 + 731.0 - 96.0 * 2),
'Door Area (ft^2)' => 20.0,
Expand All @@ -116,6 +120,7 @@ def test_SFD_1story_UB_UA_GRG_ACV_FuelFurnace_PortableHeater_HPWH
'Floor Area, Conditioned (ft^2)' => 4500.0,
'Floor Area, Attic (ft^2)' => 4500.0,
'Floor Area, Lighting (ft^2)' => 4500.0 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 4500.0,
'Roof Area (ft^2)' => 2596.0 + 101.0 * 2 + 2471.0 + 85.0,
'Window Area (ft^2)' => 0.12 * (310.0 + 96.0 * 2 + 635.0 + 406.0 + 731.0 - 96.0 * 2),
'Door Area (ft^2)' => 20.0,
Expand All @@ -141,6 +146,7 @@ def test_SFD_2story_CS_UA_AC2_FuelBoiler_FuelTankWH
'Floor Area, Conditioned (ft^2)' => 1000.0 * 2,
'Floor Area, Attic (ft^2)' => 1000.0,
'Floor Area, Lighting (ft^2)' => 1000.0 * 2,
'Floor Area, Foundation (ft^2)' => 1000.0,
'Roof Area (ft^2)' => 559.0 * 2,
'Window Area (ft^2)' => 0.12 * (189.0 * 4 + 339.0 * 4),
'Door Area (ft^2)' => 20.0,
Expand All @@ -166,6 +172,7 @@ def test_SFD_2story_CS_UA_GRG_ASHPV_FuelTanklessWH
'Floor Area, Conditioned (ft^2)' => 1500.0 * 2,
'Floor Area, Attic (ft^2)' => 1500.0 + 144.0,
'Floor Area, Lighting (ft^2)' => 1500.0 * 2 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 1500.0 - 144.0,
'Roof Area (ft^2)' => 839.0 + 101.0 * 2 + 798.0,
'Window Area (ft^2)' => 0.12 * (135.0 + 96.0 * 4 + 320.0 * 2 + 231.0 * 2 + 416.0 * 2 + 327.0 - 96.0 * 2),
'Door Area (ft^2)' => 20.0,
Expand All @@ -191,6 +198,7 @@ def test_SFD_2story_FB_UA_GRG_AC1_ElecBaseboard_FuelTankWH
'Floor Area, Conditioned (ft^2)' => 1500.0 * 3,
'Floor Area, Attic (ft^2)' => 1548.0 + 144.0,
'Floor Area, Lighting (ft^2)' => 1500.0 * 3 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 1500.0 - 96.0,
'Roof Area (ft^2)' => 865.0 + 101.0 * 2 + 825.0,
'Window Area (ft^2)' => 0.12 * (2819.59 - 96.0 * 2),
'Door Area (ft^2)' => 20.0,
Expand All @@ -216,6 +224,7 @@ def test_SFD_2story_FB_UA_GRG_AC1_UnitHeater_FuelTankWH
'Floor Area, Conditioned (ft^2)' => 1500.0 * 3,
'Floor Area, Attic (ft^2)' => 1548.0 + 144.0,
'Floor Area, Lighting (ft^2)' => 1500.0 * 3 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 1500.0 - 96.0,
'Roof Area (ft^2)' => 865.0 + 101.0 * 2 + 825.0,
'Window Area (ft^2)' => 0.12 * (2819.59 - 96.0 * 2),
'Door Area (ft^2)' => 20.0,
Expand All @@ -241,6 +250,7 @@ def test_SFD_2story_FB_UA_GRG_GSHP_ElecTanklessWH
'Floor Area, Conditioned (ft^2)' => 1500.0 * 3,
'Floor Area, Attic (ft^2)' => 1548.0 + 144.0,
'Floor Area, Lighting (ft^2)' => 1500.0 * 3 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 1500.0 - 96.0,
'Roof Area (ft^2)' => 865.0 + 101.0 * 2 + 825.0,
'Window Area (ft^2)' => 0.12 * (2819.59 - 96.0 * 2),
'Door Area (ft^2)' => 30.0,
Expand All @@ -266,6 +276,7 @@ def test_SFD_2story_PB_UA_ElecFurnace_ElecTankWH
'Floor Area, Conditioned (ft^2)' => 1000.0 * 2,
'Floor Area, Attic (ft^2)' => 1000.0,
'Floor Area, Lighting (ft^2)' => 1000.0 * 2,
'Floor Area, Foundation (ft^2)' => 0.0,
'Roof Area (ft^2)' => 559.0 * 2,
'Window Area (ft^2)' => 0.12 * (189.0 * 4 + 339.0 * 4),
'Door Area (ft^2)' => 40.0,
Expand All @@ -291,6 +302,7 @@ def test_SFD_2story_S_UA_GRG_ASHP1_FuelTanklessWH
'Floor Area, Conditioned (ft^2)' => 1500.0 * 2,
'Floor Area, Attic (ft^2)' => 1500.0 + 144.0,
'Floor Area, Lighting (ft^2)' => 1500.0 * 2 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 1500.0 - 144.0,
'Roof Area (ft^2)' => 839.0 + 101.0 * 2 + 798.0,
'Window Area (ft^2)' => 0.12 * (135.0 + 96.0 * 4 + 320.0 * 2 + 231.0 * 2 + 416.0 * 2 + 327.0 - 96.0 * 2),
'Door Area (ft^2)' => 40.0,
Expand All @@ -316,6 +328,7 @@ def test_SFD_2story_S_UA_GRG_ASHP1_Fireplace_FuelTanklessWH
'Floor Area, Conditioned (ft^2)' => 1500.0 * 2,
'Floor Area, Attic (ft^2)' => 1500.0 + 144.0,
'Floor Area, Lighting (ft^2)' => 1500.0 * 2 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 1500.0 - 144.0,
'Roof Area (ft^2)' => 839.0 + 101.0 * 2 + 798.0,
'Window Area (ft^2)' => 0.12 * (135.0 + 96.0 * 4 + 320.0 * 2 + 231.0 * 2 + 416.0 * 2 + 327.0 - 96.0 * 2),
'Door Area (ft^2)' => 40.0,
Expand All @@ -341,6 +354,7 @@ def test_SFD_2story_S_UA_GRG_ASHP1_Fireplace_FuelTanklessWH_ERV
'Floor Area, Conditioned (ft^2)' => 1500.0 * 2,
'Floor Area, Attic (ft^2)' => 1500.0 + 144.0,
'Floor Area, Lighting (ft^2)' => 1500.0 * 2 + 12.0 * 24.0,
'Floor Area, Foundation (ft^2)' => 1500.0 - 144.0,
'Roof Area (ft^2)' => 839.0 + 101.0 * 2 + 798.0,
'Window Area (ft^2)' => 0.12 * (135.0 + 96.0 * 4 + 320.0 * 2 + 231.0 * 2 + 416.0 * 2 + 327.0 - 96.0 * 2),
'Door Area (ft^2)' => 40.0,
Expand All @@ -366,6 +380,7 @@ def test_SFA_2story_UB_Furnace_RoomAC_FuelTankWH
'Floor Area, Conditioned (ft^2)' => 250.0 * 2,
'Floor Area, Attic (ft^2)' => 250.0,
'Floor Area, Lighting (ft^2)' => 250.0 * 2,
'Floor Area, Foundation (ft^2)' => 250.0,
'Roof Area (ft^2)' => 140.0 * 2,
'Window Area (ft^2)' => 0.18 * (94.28 * 4 + 169.7 * 2),
'Door Area (ft^2)' => 20.0,
Expand All @@ -391,6 +406,7 @@ def test_SFA_2story_UB_FuelBoiler_RoomAC_FuelTankWH
'Floor Area, Conditioned (ft^2)' => 250.0 * 2,
'Floor Area, Attic (ft^2)' => 250.0,
'Floor Area, Lighting (ft^2)' => 250.0 * 2,
'Floor Area, Foundation (ft^2)' => 250.0,
'Roof Area (ft^2)' => 140.0 * 2,
'Window Area (ft^2)' => 0.18 * (94.28 * 4 + 169.7 * 2),
'Door Area (ft^2)' => 20.0,
Expand All @@ -416,6 +432,7 @@ def test_SFA_2story_UB_ASHP2_HPWH
'Floor Area, Conditioned (ft^2)' => 250.0 * 2,
'Floor Area, Attic (ft^2)' => 250.0,
'Floor Area, Lighting (ft^2)' => 250.0 * 2,
'Floor Area, Foundation (ft^2)' => 250.0,
'Roof Area (ft^2)' => 140.0 * 2,
'Window Area (ft^2)' => 0.18 * (94.28 * 4 + 169.7 * 2),
'Door Area (ft^2)' => 20.0,
Expand All @@ -441,6 +458,7 @@ def test_SFA_2story_FB_FuelBoiler_RoomAC_FuelTankWH
'Floor Area, Conditioned (ft^2)' => 167.0 + 167.0 * 2,
'Floor Area, Attic (ft^2)' => 167.0,
'Floor Area, Lighting (ft^2)' => 167.0 + 167.0 * 2,
'Floor Area, Foundation (ft^2)' => 167.0,
'Roof Area (ft^2)' => 93.0 * 2,
'Window Area (ft^2)' => 0.18 * (139.0 * 2 + 77.0 * 4),
'Door Area (ft^2)' => 20.0,
Expand All @@ -466,6 +484,7 @@ def test_MF_2story_UB_Furnace_AC1_FuelTankWH
'Floor Area, Conditioned (ft^2)' => 500.0,
'Floor Area, Attic (ft^2)' => 0.0,
'Floor Area, Lighting (ft^2)' => 500.0,
'Floor Area, Foundation (ft^2)' => 500.0,
'Roof Area (ft^2)' => 0.0,
'Window Area (ft^2)' => 0.18 * (240.0 + 133.0),
'Door Area (ft^2)' => 0.0, # door is in the corridor
Expand All @@ -491,6 +510,7 @@ def test_MF_2story_UB_FuelBoiler_AC1_FuelTankWH
'Floor Area, Conditioned (ft^2)' => 500.0,
'Floor Area, Attic (ft^2)' => 0.0,
'Floor Area, Lighting (ft^2)' => 500.0,
'Floor Area, Foundation (ft^2)' => 500.0,
'Roof Area (ft^2)' => 0.0,
'Window Area (ft^2)' => 0.18 * (240.0 + 133.0),
'Door Area (ft^2)' => 0.0, # door is in the corridor
Expand All @@ -516,6 +536,7 @@ def test_MF_2story_UB_ASHP2_HPWH
'Floor Area, Conditioned (ft^2)' => 500.0,
'Floor Area, Attic (ft^2)' => 0.0,
'Floor Area, Lighting (ft^2)' => 500.0,
'Floor Area, Foundation (ft^2)' => 500.0,
'Roof Area (ft^2)' => 0.0,
'Window Area (ft^2)' => 0.18 * (240.0 + 133.0),
'Door Area (ft^2)' => 0.0, # door is in the corridor
Expand All @@ -541,6 +562,7 @@ def test_MF_1story_UB_Furnace_AC1_FuelTankWH
'Floor Area, Conditioned (ft^2)' => 500.0,
'Floor Area, Attic (ft^2)' => 0.0,
'Floor Area, Lighting (ft^2)' => 500.0,
'Floor Area, Foundation (ft^2)' => 500.0,
'Roof Area (ft^2)' => 500.0,
'Window Area (ft^2)' => 0.18 * (240.0 + 133.0),
'Door Area (ft^2)' => 0.0, # door is in the corridor
Expand Down Expand Up @@ -611,6 +633,8 @@ def _test_cost_multipliers(osw_file, cost_multipliers)
hpxml['enclosure_floor_area_conditioned_ft_2'] = hpxml_output_report.get_cost_multiplier(hpxml_in, 'Enclosure: Floor Area Conditioned')
elsif cost_mult_type == 'Floor Area, Lighting (ft^2)'
hpxml['enclosure_floor_area_lighting_ft_2'] = hpxml_output_report.get_cost_multiplier(hpxml_in, 'Enclosure: Floor Area Lighting')
elsif cost_mult_type == 'Floor Area, Foundation (ft^2)'
hpxml['enclosure_floor_area_foundation_ft_2'] = hpxml_output_report.get_cost_multiplier(hpxml_in, 'Enclosure: Floor Area Foundation')
elsif cost_mult_type == 'Floor Area, Attic (ft^2)'
hpxml['enclosure_ceiling_area_thermal_boundary_ft_2'] = hpxml_output_report.get_cost_multiplier(hpxml_in, 'Enclosure: Ceiling Area Thermal Boundary')
elsif cost_mult_type == 'Roof Area (ft^2)'
Expand Down
26 changes: 26 additions & 0 deletions project_national/national_upgrades.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,20 @@ upgrades:
multiplier: Wall Area, Above-Grade, Conditioned (ft^2)
lifetime: 999

- upgrade_name: Foundation Type
options:
- option: Geometry Foundation Type|Unvented Crawlspace
apply_logic:
and:
- Geometry Foundation Type|Vented Crawlspace
- or:
- Geometry Building Level MF|None
- Geometry Building Level MF|Bottom
joseph-robertson marked this conversation as resolved.
Show resolved Hide resolved
costs:
- value: 0.84
multiplier: Floor Area, Foundation (ft^2)
lifetime: 999

- upgrade_name: Rim Joists
options:
- option: Insulation Rim Joist|R-13, Interior
Expand Down Expand Up @@ -154,6 +168,18 @@ upgrades:
- value: 2.21
multiplier: Wall Area, Above-Grade, Conditioned (ft^2)
lifetime: 999
- option: Geometry Foundation Type|Unvented Crawlspace
apply_logic:
and:
- Geometry Foundation Type|Vented Crawlspace
- or:
- Geometry Building Level MF|None
- Geometry Building Level MF|Bottom

costs:
- value: 0.84
multiplier: Floor Area, Foundation (ft^2)
lifetime: 999
- option: Insulation Rim Joist|R-13, Interior
costs:
- value: 3.11
Expand Down
25 changes: 25 additions & 0 deletions project_testing/testing_upgrades.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,20 @@ upgrades:
multiplier: Wall Area, Above-Grade, Conditioned (ft^2)
lifetime: 999

- upgrade_name: Foundation Type
options:
- option: Geometry Foundation Type|Unvented Crawlspace
apply_logic:
and:
- Geometry Foundation Type|Vented Crawlspace
- or:
- Geometry Building Level MF|None
- Geometry Building Level MF|Bottom
costs:
- value: 0.84
multiplier: Floor Area, Foundation (ft^2)
lifetime: 999

- upgrade_name: Rim Joists
options:
- option: Insulation Rim Joist|R-13, Interior
Expand Down Expand Up @@ -167,6 +181,17 @@ upgrades:
- value: 2.21
multiplier: Wall Area, Above-Grade, Conditioned (ft^2)
lifetime: 999
- option: Geometry Foundation Type|Unvented Crawlspace
apply_logic:
and:
- Geometry Foundation Type|Vented Crawlspace
- or:
- Geometry Building Level MF|None
- Geometry Building Level MF|Bottom
costs:
- value: 0.84
multiplier: Floor Area, Foundation (ft^2)
lifetime: 999
- option: Insulation Rim Joist|R-13, Interior
costs:
- value: 3.11
Expand Down
15 changes: 15 additions & 0 deletions resources/hpxml-measures/BuildResidentialHPXML/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2912,6 +2912,11 @@ def arguments(model)
args << arg
end

arg = OpenStudio::Measure::OSArgument.makeStringArgument('additional_properties', false)
arg.setDisplayName('Additional Properties')
arg.setDescription("Additional properties specified as key-value pairs (i.e., key=value). If multiple additional properties, use a |-separated list. For example, 'LowIncome=false|Remodeled|Description=2-story home in Denver'. These properties will be stored in the HPXML file under /HPXML/SoftwareInfo/extension/AdditionalProperties.")
args << arg

arg = OpenStudio::Measure::OSArgument::makeBoolArgument('apply_defaults', false)
arg.setDisplayName('Apply Default Values?')
arg.setDescription('If true, applies OS-HPXML default values to the HPXML output file.')
Expand Down Expand Up @@ -3513,6 +3518,16 @@ def self.set_header(hpxml, runner, args)
wood_pellets_value: wood_pellets_value)
end
end

if args[:additional_properties].is_initialized
extension_properties = {}
additional_properties = args[:additional_properties].get.split('|').map(&:strip)
additional_properties.each do |additional_property|
key, value = additional_property.split('=').map(&:strip)
extension_properties[key] = value
end
hpxml.header.extension_properties = extension_properties
end
end

def self.set_site(hpxml, runner, args)
Expand Down
Loading