Skip to content

Commit

Permalink
Squashed 'hpxml-measures/' changes from 92aa5db83..02f3cf405
Browse files Browse the repository at this point in the history
02f3cf405 Update to latest HPXML schema for standby losses. Code backported from NREL/OpenStudio-HPXML#1150.
f62df2c38 Merge pull request #1183 from NREL/ground_conductivity
a7fffdf29 Latest results.
f0ab7cfb2 Use for GSHP model too.
813d36712 Latest results.
77f053032 Merge branch 'ground_conductivity' of https://github.com/NREL/OpenStudio-HPXML into ground_conductivity
bee3915af Bugfix.
98821f1b0 Latest results.
36beee646 Finish docs [ci skip]
4dc30f7ab First pass.
513bfaaa6 Merge pull request #1180 from NREL/surface_type_bugfix
a766a4a6e Fixes possible "Could not identify surface type for surface" error.
fddd2df60 Merge pull request #1179 from NREL/attached_dhw_dist
2da3ebec0 Latest results.

git-subtree-dir: hpxml-measures
git-subtree-split: 02f3cf405b229495fed6d8c9820ff375d576dc3f
  • Loading branch information
shorowit committed Sep 29, 2022
1 parent ba6dd45 commit 93c35c6
Show file tree
Hide file tree
Showing 26 changed files with 890 additions and 180 deletions.
19 changes: 15 additions & 4 deletions BuildResidentialHPXML/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,12 @@ def arguments(model) # rubocop:disable Lint/UnusedMethodArgument
arg.setDescription('Presence of nearby buildings, trees, obstructions for infiltration model. If not provided, the OS-HPXML default is used.')
args << arg

arg = OpenStudio::Measure::OSArgument.makeDoubleArgument('site_ground_conductivity', false)
arg.setDisplayName('Site: Ground Conductivity')
arg.setDescription('Conductivity of the ground soil. If not provided, the OS-HPXML default is used.')
arg.setUnits('Btu/hr-ft-F')
args << arg

arg = OpenStudio::Measure::OSArgument.makeStringArgument('site_zip_code', false)
arg.setDisplayName('Site: Zip Code')
arg.setDescription('Zip code of the home address.')
Expand Down Expand Up @@ -3724,7 +3730,11 @@ def self.set_header(hpxml, args)

def self.set_site(hpxml, args)
if args[:site_shielding_of_home].is_initialized
shielding_of_home = args[:site_shielding_of_home].get
hpxml.site.shielding_of_home = args[:site_shielding_of_home].get
end

if args[:site_ground_conductivity].is_initialized
hpxml.site.ground_conductivity = args[:site_ground_conductivity].get
end

if args[:site_type].is_initialized
Expand Down Expand Up @@ -3763,7 +3773,6 @@ def self.set_site(hpxml, args)
end

hpxml.site.azimuth_of_front_of_home = args[:geometry_unit_orientation]
hpxml.site.shielding_of_home = shielding_of_home
end

def self.set_neighbor_buildings(hpxml, args)
Expand Down Expand Up @@ -5219,7 +5228,8 @@ def self.set_water_heating_systems(hpxml, args)
if [HPXML::WaterHeaterTypeCombiTankless, HPXML::WaterHeaterTypeCombiStorage].include? water_heater_type
if args[:water_heater_standby_loss].is_initialized
if args[:water_heater_standby_loss].get > 0
standby_loss = args[:water_heater_standby_loss].get
standby_loss_units = HPXML::UnitsDegFPerHour
standby_loss_value = args[:water_heater_standby_loss].get
end
end
end
Expand Down Expand Up @@ -5282,7 +5292,8 @@ def self.set_water_heating_systems(hpxml, args)
recovery_efficiency: recovery_efficiency,
uses_desuperheater: uses_desuperheater,
related_hvac_idref: related_hvac_idref,
standby_loss: standby_loss,
standby_loss_units: standby_loss_units,
standby_loss_value: standby_loss_value,
jacket_r_value: jacket_r_value,
temperature: temperature,
heating_capacity: heating_capacity,
Expand Down
15 changes: 12 additions & 3 deletions BuildResidentialHPXML/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>build_residential_hpxml</name>
<uid>a13a8983-2b01-4930-8af2-42030b6e4233</uid>
<version_id>03a79ea8-0073-4958-a3bb-423259bbcdf9</version_id>
<version_modified>20220915T153454Z</version_modified>
<version_id>9a3394b8-30aa-4f07-a4c7-dfa6bbf1ba4b</version_id>
<version_modified>20220929T155118Z</version_modified>
<xml_checksum>2C38F48B</xml_checksum>
<class_name>BuildResidentialHPXML</class_name>
<display_name>HPXML Builder</display_name>
Expand Down Expand Up @@ -165,6 +165,15 @@
</choice>
</choices>
</argument>
<argument>
<name>site_ground_conductivity</name>
<display_name>Site: Ground Conductivity</display_name>
<description>Conductivity of the ground soil. If not provided, the OS-HPXML default is used.</description>
<type>Double</type>
<units>Btu/hr-ft-F</units>
<required>false</required>
<model_dependent>false</model_dependent>
</argument>
<argument>
<name>site_zip_code</name>
<display_name>Site: Zip Code</display_name>
Expand Down Expand Up @@ -6404,7 +6413,7 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>522E2920</checksum>
<checksum>C00BFDD4</checksum>
</file>
</files>
</measure>
3 changes: 3 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
__New Features__
- **Breaking Change**: Replaces `FrameFloors/FrameFloor` with `Floors/Floor`.
- **Breaking change**: Replaces `SoftwareInfo/extension/SimulationControl/DaylightSaving/Enabled` with `Building/Site/TimeZone/DSTObserved`.
- **Breaking Change**: Replaces `StandbyLoss` with `StandbyLoss[Units="F/hr"]/Value` for an indirect water heater.
- Allows SEER2/HSPF2 efficiency types for central air conditioners and heat pumps.
- Allows heating/cooling seasons that don't span the entire year.
- Allows calculating one or more utility bill scenarios (e.g., net metering vs feed-in tariff compensation types for a simulation with PV).
- Allows setting the EnergyPlus temperature capacitance multiplier.
- Allows setting the ground soil conductivity used for foundation heat transfer and ground source heat pumps.
- Allows setting the natural ventilation availability (days/week that operable windows can be opened); default changed from 7 to 3 (M/W/F).
- Allows specifying duct surface area multipliers.
- EnergyPlus modeling changes:
Expand Down Expand Up @@ -35,6 +37,7 @@ __Bugfixes__
- Fixes excessive heat transfer when foundation wall interior insulation does not start from the top of the wall.
- Fixes how relative paths are treated when using an OpenStudio Workflow.
- Fixes possible simulation error if a slab has an ExposedPerimeter near zero.
- Fixes possible "Could not identify surface type for surface" error.
- BuildResidentialHPXML measure:
- Fixes aspect ratio convention for single-family attached and multifamily dwelling units.

Expand Down
16 changes: 11 additions & 5 deletions HPXMLtoOpenStudio/measure.rb
Original file line number Diff line number Diff line change
Expand Up @@ -963,9 +963,12 @@ def self.add_foundation_wall(runner, model, spaces, foundation_wall, slab_frac,
int_rigid_r = foundation_wall.insulation_interior_r_value
end

soil_k_in = UnitConversions.convert(@hpxml.site.ground_conductivity, 'ft', 'in')

Constructions.apply_foundation_wall(model, [surface], "#{foundation_wall.id} construction",
ext_rigid_offset, int_rigid_offset, ext_rigid_height, int_rigid_height,
ext_rigid_r, int_rigid_r, mat_int_finish, mat_wall, height_ag)
ext_rigid_r, int_rigid_r, mat_int_finish, mat_wall, height_ag,
soil_k_in)

if not assembly_r.nil?
Constructions.check_surface_assembly_rvalue(runner, [surface], inside_film, nil, assembly_r, match)
Expand Down Expand Up @@ -1028,11 +1031,12 @@ def self.add_foundation_slab(model, spaces, slab, slab_exp_perim,
mat_carpet = Material.CoveringBare(slab.carpet_fraction,
slab.carpet_r_value)
end
soil_k_in = UnitConversions.convert(@hpxml.site.ground_conductivity, 'ft', 'in')

Constructions.apply_foundation_slab(model, surface, "#{slab.id} construction",
slab_under_r, slab_under_width, slab_gap_r, slab_perim_r,
slab_perim_depth, slab_whole_r, slab.thickness,
slab_exp_perim, mat_carpet, kiva_foundation)
slab_exp_perim, mat_carpet, soil_k_in, kiva_foundation)

return surface.adjacentFoundation.get
end
Expand Down Expand Up @@ -1557,7 +1561,7 @@ def self.add_heat_pump(runner, model, weather, spaces, airloop_map)

airloop_map[sys_id] = HVAC.apply_ground_to_air_heat_pump(model, runner, weather, heat_pump,
sequential_heat_load_fracs, sequential_cool_load_fracs,
living_zone)
living_zone, @hpxml.site.ground_conductivity)

end

Expand Down Expand Up @@ -2442,9 +2446,11 @@ def self.set_surface_exterior(model, spaces, surface, hpxml_surface)
HPXML::LocationOtherNonFreezingSpace, HPXML::LocationOtherHousingUnit].include? exterior_adjacent_to
set_surface_otherside_coefficients(surface, exterior_adjacent_to, model, spaces)
elsif HPXML::conditioned_below_grade_locations.include? exterior_adjacent_to
surface.createAdjacentSurface(create_or_get_space(model, spaces, HPXML::LocationLivingSpace))
adjacent_surface = surface.createAdjacentSurface(create_or_get_space(model, spaces, HPXML::LocationLivingSpace)).get
adjacent_surface.additionalProperties.setFeature('SurfaceType', surface.additionalProperties.getFeatureAsString('SurfaceType').get)
else
surface.createAdjacentSurface(create_or_get_space(model, spaces, exterior_adjacent_to))
adjacent_surface = surface.createAdjacentSurface(create_or_get_space(model, spaces, exterior_adjacent_to)).get
adjacent_surface.additionalProperties.setFeature('SurfaceType', surface.additionalProperties.getFeatureAsString('SurfaceType').get)
end
end

Expand Down
136 changes: 68 additions & 68 deletions HPXMLtoOpenStudio/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>hpxm_lto_openstudio</name>
<uid>b1543b30-9465-45ff-ba04-1d1f85e763bc</uid>
<version_id>6a814a43-be01-41c7-9bdc-d6c9c9784f9b</version_id>
<version_modified>20220919T151913Z</version_modified>
<version_id>65d82b9f-532d-400b-8f27-183b6b08f5f9</version_id>
<version_modified>20220929T155120Z</version_modified>
<xml_checksum>D8922A73</xml_checksum>
<class_name>HPXMLtoOpenStudio</class_name>
<display_name>HPXML to OpenStudio Translator</display_name>
Expand Down Expand Up @@ -229,12 +229,6 @@
<usage_type>resource</usage_type>
<checksum>1D3AE970</checksum>
</file>
<file>
<filename>materials.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>868FE0BE</checksum>
</file>
<file>
<filename>schedule_files/setpoints.csv</filename>
<filetype>csv</filetype>
Expand Down Expand Up @@ -331,12 +325,6 @@
<usage_type>resource</usage_type>
<checksum>0F94C201</checksum>
</file>
<file>
<filename>waterheater.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>500A5756</checksum>
</file>
<file>
<filename>meta_measure.rb</filename>
<filetype>rb</filetype>
Expand Down Expand Up @@ -367,30 +355,12 @@
<usage_type>resource</usage_type>
<checksum>2FD98C89</checksum>
</file>
<file>
<filename>hpxml_schema/HPXMLBaseElements.xsd</filename>
<filetype>xsd</filetype>
<usage_type>resource</usage_type>
<checksum>17563F8C</checksum>
</file>
<file>
<filename>hpxml_schema/HPXMLDataTypes.xsd</filename>
<filetype>xsd</filetype>
<usage_type>resource</usage_type>
<checksum>2B0922EC</checksum>
</file>
<file>
<filename>utility_bills.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>35B866E9</checksum>
</file>
<file>
<filename>hpxml_schematron/HPXMLvalidator.xml</filename>
<filetype>xml</filetype>
<usage_type>resource</usage_type>
<checksum>5DD85F0D</checksum>
</file>
<file>
<filename>misc_loads.rb</filename>
<filetype>rb</filetype>
Expand All @@ -403,24 +373,12 @@
<usage_type>resource</usage_type>
<checksum>FC171B98</checksum>
</file>
<file>
<filename>hvac.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>31912131</checksum>
</file>
<file>
<filename>simcontrols.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>3AFD26FF</checksum>
</file>
<file>
<filename>constructions.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>D8D5DE4D</checksum>
</file>
<file>
<filename>schedules.rb</filename>
<filetype>rb</filetype>
Expand Down Expand Up @@ -493,12 +451,6 @@
<usage_type>test</usage_type>
<checksum>D8E236C3</checksum>
</file>
<file>
<filename>test_hvac_sizing.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>DFD1B298</checksum>
</file>
<file>
<filename>test_weather.rb</filename>
<filetype>rb</filetype>
Expand All @@ -523,12 +475,6 @@
<usage_type>resource</usage_type>
<checksum>0D0399FA</checksum>
</file>
<file>
<filename>hvac_sizing.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>4D0D827D</checksum>
</file>
<file>
<filename>test_airflow.rb</filename>
<filetype>rb</filetype>
Expand All @@ -547,6 +493,36 @@
<usage_type>resource</usage_type>
<checksum>A2B7F8E1</checksum>
</file>
<file>
<filename>hotwater_appliances.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>1BAC39B2</checksum>
</file>
<file>
<filename>materials.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>24DCB986</checksum>
</file>
<file>
<filename>constructions.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>6F6B5865</checksum>
</file>
<file>
<filename>test_validation.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>675AC983</checksum>
</file>
<file>
<filename>hvac.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>41063A6B</checksum>
</file>
<file>
<version>
<software_program>OpenStudio</software_program>
Expand All @@ -556,43 +532,67 @@
<filename>measure.rb</filename>
<filetype>rb</filetype>
<usage_type>script</usage_type>
<checksum>4F98F3F7</checksum>
<checksum>927B84D4</checksum>
</file>
<file>
<filename>test_defaults.rb</filename>
<filename>test_hvac_sizing.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>7950A1A2</checksum>
<checksum>CEA9E398</checksum>
</file>
<file>
<filename>hpxml_defaults.rb</filename>
<filename>hvac_sizing.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>6ED20DA1</checksum>
<checksum>42C2E302</checksum>
</file>
<file>
<filename>hotwater_appliances.rb</filename>
<filename>waterheater.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>1BAC39B2</checksum>
<checksum>65181200</checksum>
</file>
<file>
<filename>hpxml_schematron/EPvalidator.xml</filename>
<filename>hpxml_schema/HPXMLBaseElements.xsd</filename>
<filetype>xsd</filetype>
<usage_type>resource</usage_type>
<checksum>32481882</checksum>
</file>
<file>
<filename>hpxml_schema/HPXMLDataTypes.xsd</filename>
<filetype>xsd</filetype>
<usage_type>resource</usage_type>
<checksum>5559DDD1</checksum>
</file>
<file>
<filename>hpxml_schematron/HPXMLvalidator.xml</filename>
<filetype>xml</filetype>
<usage_type>resource</usage_type>
<checksum>D133B230</checksum>
<checksum>6FFC25E9</checksum>
</file>
<file>
<filename>test_validation.rb</filename>
<filename>test_defaults.rb</filename>
<filetype>rb</filetype>
<usage_type>test</usage_type>
<checksum>F01525B5</checksum>
<checksum>48381849</checksum>
</file>
<file>
<filename>hpxml_defaults.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>23576669</checksum>
</file>
<file>
<filename>hpxml_schematron/EPvalidator.xml</filename>
<filetype>xml</filetype>
<usage_type>resource</usage_type>
<checksum>6499B5B3</checksum>
</file>
<file>
<filename>hpxml.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>FBEFBFF9</checksum>
<checksum>3450451E</checksum>
</file>
</files>
</measure>

0 comments on commit 93c35c6

Please sign in to comment.