Skip to content

Commit

Permalink
Merge pull request #1891 from NREL/manual_j_more_improvements
Browse files Browse the repository at this point in the history
Manual J more improvements for OS-HPXML 1.9.1
  • Loading branch information
shorowit authored Dec 9, 2024
2 parents 09fb00c + 59d9cdb commit 94d6687
Show file tree
Hide file tree
Showing 12 changed files with 449 additions and 437 deletions.
402 changes: 201 additions & 201 deletions BuildResidentialHPXML/README.md

Large diffs are not rendered by default.

408 changes: 204 additions & 204 deletions BuildResidentialHPXML/measure.xml

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion Changelog.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
## OpenStudio-HPXML v1.10.0
## OpenStudio-HPXML v1.9.1

__New Features__
- Now can be used to obtain ACCA Manual J approval; see the [OpenStudio-HPXML documentation](https://openstudio-hpxml.readthedocs.io/en/latest/intro.html#capabilities).

__Bugfixes__
- Fixes Manual J design load calculations for radiant floors.

## OpenStudio-HPXML v1.9.0

Expand Down
8 changes: 4 additions & 4 deletions 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>c578c384-3ac2-4bc5-8764-763873807874</version_id>
<version_modified>2024-11-27T16:38:08Z</version_modified>
<version_id>175c233e-10dc-4e3f-a22d-39fbf43e6613</version_id>
<version_modified>2024-12-07T00:08:45Z</version_modified>
<xml_checksum>D8922A73</xml_checksum>
<class_name>HPXMLtoOpenStudio</class_name>
<display_name>HPXML to OpenStudio Translator</display_name>
Expand Down Expand Up @@ -393,7 +393,7 @@
<filename>hvac_sizing.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>B1744A25</checksum>
<checksum>CD01834B</checksum>
</file>
<file>
<filename>internal_gains.rb</filename>
Expand Down Expand Up @@ -621,7 +621,7 @@
<filename>version.rb</filename>
<filetype>rb</filetype>
<usage_type>resource</usage_type>
<checksum>FB92922A</checksum>
<checksum>7BE504AA</checksum>
</file>
<file>
<filename>waterheater.rb</filename>
Expand Down
24 changes: 13 additions & 11 deletions HPXMLtoOpenStudio/resources/hvac_sizing.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1275,17 +1275,17 @@ def self.process_load_floors(mj, hpxml_bldg, all_zone_loads, all_space_loads)
zone = space.zone

has_radiant_floor = get_has_radiant_floor(zone)
u_floor = 1.0 / floor.insulation_assembly_r_value

if floor.is_exterior
htd_adj = mj.htd
htd_adj += 25.0 if has_radiant_floor # Table 4A: Radiant floor over open crawlspace: HTM = U-Value × (HTD + 25)

clg_htm = (1.0 / floor.insulation_assembly_r_value) * (mj.ctd - 5.0 + mj.daily_range_temp_adjust[mj.daily_range_num])
htg_htm = (1.0 / floor.insulation_assembly_r_value) * htd_adj
clg_htm = u_floor * (mj.ctd - 5.0 + mj.daily_range_temp_adjust[mj.daily_range_num])
htg_htm = u_floor * htd_adj
else # Partition floor
adjacent_space = floor.exterior_adjacent_to
if floor.is_floor && [HPXML::LocationCrawlspaceVented, HPXML::LocationCrawlspaceUnvented, HPXML::LocationBasementUnconditioned].include?(adjacent_space)
u_floor = 1.0 / floor.insulation_assembly_r_value
if [HPXML::LocationCrawlspaceVented, HPXML::LocationCrawlspaceUnvented, HPXML::LocationBasementUnconditioned].include?(adjacent_space)

sum_ua_wall = 0.0
sum_a_wall = 0.0
Expand Down Expand Up @@ -1317,7 +1317,7 @@ def self.process_load_floors(mj, hpxml_bldg, all_zone_loads, all_space_loads)
u_wall = sum_ua_wall / sum_a_wall

htd_adj = mj.htd
htd_adj += 25.0 if has_radiant_floor && HPXML::LocationCrawlspaceVented # Table 4A: Radiant floor over open crawlspace: HTM = U-Value × (HTD + 25)
htd_adj += 25.0 if has_radiant_floor # Manual J Figure A12-6 footnote 2)

# Calculate partition temperature different cooling (PTDC) per Manual J Figure A12-17
# Calculate partition temperature different heating (PTDH) per Manual J Figure A12-6
Expand All @@ -1331,19 +1331,21 @@ def self.process_load_floors(mj, hpxml_bldg, all_zone_loads, all_space_loads)
ptdh_floor = u_wall * htd_adj / (4.0 * u_floor + u_wall)
end

clg_htm = (1.0 / floor.insulation_assembly_r_value) * ptdc_floor
htg_htm = (1.0 / floor.insulation_assembly_r_value) * ptdh_floor
clg_htm = u_floor * ptdc_floor
htg_htm = u_floor * ptdh_floor
else # E.g., floor over garage
clg_htm = (1.0 / floor.insulation_assembly_r_value) * (mj.cool_design_temps[adjacent_space] - mj.cool_setpoint)
htg_htm = (1.0 / floor.insulation_assembly_r_value) * (mj.heat_setpoint - mj.heat_design_temps[adjacent_space])
htd_adj = mj.heat_setpoint - mj.heat_design_temps[adjacent_space]
htd_adj += 25.0 if has_radiant_floor # Manual J Figure A12-6 footnote 2), and Table 4A: Radiant floor over garage: HTM = U-Value × (HTD + 25)
clg_htm = u_floor * (mj.cool_design_temps[adjacent_space] - mj.cool_setpoint)
htg_htm = u_floor * htd_adj
end
end
clg_loads = clg_htm * floor.net_area
htg_loads = htg_htm * floor.net_area
all_zone_loads[zone].Cool_Floors += clg_loads
all_zone_loads[zone].Heat_Floors += htg_loads
all_space_loads[space].Cool_Roofs += clg_loads
all_space_loads[space].Heat_Roofs += htg_loads
all_space_loads[space].Cool_Floors += clg_loads
all_space_loads[space].Heat_Floors += htg_loads
detailed_output_values = DetailedOutputValues.new(area: floor.net_area,
heat_htm: htg_htm,
cool_htm: clg_htm,
Expand Down
2 changes: 1 addition & 1 deletion HPXMLtoOpenStudio/resources/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

# Collection of methods related to software versions.
module Version
OS_HPXML_Version = '1.10.0' # Version of the OS-HPXML workflow
OS_HPXML_Version = '1.9.1' # Version of the OS-HPXML workflow
OS_Version = '3.9.0' # Required version of OpenStudio (can be 'X.X' or 'X.X.X')
HPXML_Version = '4.0' # HPXML schemaVersion

Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![ci](https://github.com/NREL/OpenStudio-HPXML/workflows/ci/badge.svg)](https://github.com/NREL/OpenStudio-HPXML/actions)
[![Documentation Status](https://readthedocs.org/projects/openstudio-hpxml/badge/?version=latest)](https://openstudio-hpxml.readthedocs.io/en/latest/?badge=latest)

OpenStudio-HPXML allows running residential EnergyPlus™ simulations using an [HPXML file](https://hpxml.nrel.gov/) for the building description.
OpenStudio-HPXML allows running residential [EnergyPlus™ simulations](https://energyplus.net/) using an [HPXML file](https://hpxml.nrel.gov/) for the building description.
It is intended to be used by user interfaces or other automated software workflows that automatically produce the HPXML file.

OpenStudio-HPXML can accommodate a wide range of different building technologies and geometries.
Expand All @@ -31,6 +31,8 @@ OpenStudio-HPXML capabilities include:
- Annual and timeseries outputs (energy, loads, temperatures, etc.)
- Optional HPXML inputs with transparent defaults
- Schematron and XSD Schema input validation
- Can be used for [DOE HOMES program approval](https://www.energy.gov/scep/single-family-modeling-solutions-home-efficiency-rebates-program)
- Can be used for [ACCA Manual J approval](https://www.acca.org/standards/approved-software)

## Measures

Expand Down
8 changes: 8 additions & 0 deletions docs/source/intro.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,14 @@ OpenStudio-HPXML capabilities include:
- Optional HPXML inputs with transparent defaults
- Schematron and XSD Schema input validation

.. note::
If you are seeking `DOE HOMES program approval <https://www.energy.gov/scep/single-family-modeling-solutions-home-efficiency-rebates-program>`_, OpenStudio-HPXML can be used to meet the `energy modeling software tests <https://www.energy.gov/scep/articles/home-efficiency-rebates-ira-section-50121-single-family-software-verification>`_.

.. note::

If you are seeking `ACCA Manual J approval <https://www.acca.org/standards/approved-software>`_ for your software, you will need to contact ACCA and go through their approval process.
OpenStudio-HPXML design load calculations can be used to obtain approval, but additional Manual J-specific HPXML inputs need to be specified; refer to the HPXML test files at ``workflow/tests/ACCA_Examples``.

Accuracy vs Speed
-----------------

Expand Down
3 changes: 1 addition & 2 deletions docs/source/testing_framework.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ The current set of tests include:
- RESNET® HERS® HVAC tests
- RESNET HERS DSE tests
- RESNET HERS Hot Water tests

OpenStudio-HPXML can be used to meet BPI-2400 software tests.
- ACCA Manual J tests

Running Tests Locally
---------------------
Expand Down
6 changes: 3 additions & 3 deletions workflow/tests/ACCA_Examples/Bob_Ross_Residence_3-22.xml
Original file line number Diff line number Diff line change
Expand Up @@ -552,10 +552,10 @@
<ExteriorAdjacentTo>garage</ExteriorAdjacentTo>
<InteriorAdjacentTo>basement - conditioned</InteriorAdjacentTo>
<Type>concrete block</Type>
<Height>8.0</Height>
<Area>260.0</Area>
<Height>6.0</Height>
<Area>156.0</Area>
<Orientation>east</Orientation>
<DepthBelowGrade>8.0</DepthBelowGrade>
<DepthBelowGrade>6.0</DepthBelowGrade>
<Insulation>
<SystemIdentifier id='FoundationWallRecRoomEastPartitionInsulation'/>
<AssemblyEffectiveRValue>1.71</AssemblyEffectiveRValue>
Expand Down
13 changes: 6 additions & 7 deletions workflow/tests/ACCA_Examples/Bob_Ross_Residence_3-23.xml
Original file line number Diff line number Diff line change
Expand Up @@ -357,10 +357,9 @@
<ExteriorAdjacentTo>ground</ExteriorAdjacentTo>
<InteriorAdjacentTo>crawlspace - unvented</InteriorAdjacentTo>
<Type>concrete block solid core</Type>
<Height>10.0</Height>
<Area>1740.0</Area>
<Orientation>north</Orientation>
<DepthBelowGrade>8.0</DepthBelowGrade>
<Height>2.0</Height>
<Area>348.0</Area>
<DepthBelowGrade>0.0</DepthBelowGrade>
<Insulation>
<SystemIdentifier id='FoundationWallCrawlspaceInsulation'/>
<AssemblyEffectiveRValue>7.3</AssemblyEffectiveRValue>
Expand All @@ -371,10 +370,10 @@
<ExteriorAdjacentTo>garage</ExteriorAdjacentTo>
<InteriorAdjacentTo>crawlspace - unvented</InteriorAdjacentTo>
<Type>concrete block solid core</Type>
<Height>10.0</Height>
<Area>260.0</Area>
<Height>2.0</Height>
<Area>52.0</Area>
<Orientation>east</Orientation>
<DepthBelowGrade>8.0</DepthBelowGrade>
<DepthBelowGrade>0.0</DepthBelowGrade>
<Insulation>
<SystemIdentifier id='FoundationWallRecRoomEastPartitionInsulation'/>
<AssemblyEffectiveRValue>7.3</AssemblyEffectiveRValue>
Expand Down
4 changes: 2 additions & 2 deletions workflow/tests/base_results/results_acca_hvac.csv
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ Bob_Ross_Residence_3-19.xml,15.0,93.0,48732.0,32721.0,0.0,48732.0,5392.0,7478.0,
Bob_Ross_Residence_3-2.xml,15.0,93.0,41962.0,30966.0,0.0,41962.0,4321.0,7478.0,1615.0,808.0,18183.0,0.0,0.0,2454.0,4196.0,0.0,2908.0,0.0,25911.0,2965.0,5849.0,2945.0,470.0,4163.0,0.0,0.0,0.0,3280.0,0.0,952.0,3552.0,1707.0,27.0,2872.0,565.0,0.0,1307.0,1000.0
Bob_Ross_Residence_3-20.xml,15.0,93.0,48009.0,32360.0,0.0,48009.0,4668.0,7478.0,1615.0,808.0,18183.0,0.0,0.0,2454.0,4196.0,2791.0,5815.0,0.0,27310.0,3022.0,5810.0,2945.0,470.0,4163.0,0.0,0.0,0.0,3280.0,457.0,1903.0,3552.0,1707.0,0.0,4807.0,565.0,627.0,2614.0,1000.0
Bob_Ross_Residence_3-21.xml,15.0,93.0,44547.0,31210.0,0.0,44547.0,4929.0,7478.0,1615.0,808.0,18183.0,0.0,0.0,2454.0,4196.0,2791.0,2093.0,0.0,26323.0,3139.0,5810.0,2945.0,470.0,4163.0,0.0,0.0,0.0,3280.0,457.0,799.0,3552.0,1707.0,0.0,4807.0,565.0,627.0,2614.0,1000.0
Bob_Ross_Residence_3-22.xml,15.0,93.0,55479.0,34561.0,0.0,55479.0,5817.0,7478.0,1615.0,808.0,29949.0,0.0,0.0,2709.0,4196.0,0.0,2908.0,0.0,28660.0,3316.0,5810.0,2945.0,470.0,6628.0,0.0,0.0,0.0,3280.0,0.0,952.0,3552.0,1707.0,0.0,2872.0,565.0,0.0,1307.0,1000.0
Bob_Ross_Residence_3-23.xml,15.0,93.0,39373.0,32746.0,0.0,39373.0,9948.0,5597.0,1615.0,808.0,10079.0,0.0,4222.0,0.0,4196.0,0.0,2908.0,0.0,26128.0,4490.0,4616.0,2945.0,470.0,3191.0,0.0,1382.0,0.0,3280.0,0.0,952.0,3095.0,1707.0,0.0,6450.0,4539.0,0.0,1307.0,604.0
Bob_Ross_Residence_3-22.xml,15.0,93.0,54948.0,34561.0,0.0,54948.0,5758.0,7478.0,1615.0,808.0,29422.0,0.0,0.0,2765.0,4196.0,0.0,2908.0,0.0,28660.0,3316.0,5810.0,2945.0,470.0,6628.0,0.0,0.0,0.0,3280.0,0.0,952.0,3552.0,1707.0,0.0,2872.0,565.0,0.0,1307.0,1000.0
Bob_Ross_Residence_3-23.xml,15.0,93.0,39253.0,32708.0,0.0,39253.0,9916.0,5597.0,1615.0,808.0,10079.0,0.0,4135.0,0.0,4196.0,0.0,2908.0,0.0,26093.0,4484.0,4616.0,2945.0,470.0,3191.0,0.0,1353.0,0.0,3280.0,0.0,952.0,3095.0,1707.0,0.0,6450.0,4539.0,0.0,1307.0,604.0
Bob_Ross_Residence_3-3.xml,15.0,93.0,41962.0,32754.0,0.0,41962.0,4321.0,7478.0,1615.0,808.0,18183.0,0.0,0.0,2454.0,4196.0,0.0,2908.0,0.0,27279.0,3140.0,6752.0,2945.0,470.0,4163.0,0.0,0.0,0.0,3280.0,0.0,952.0,3552.0,1707.0,317.0,2872.0,565.0,0.0,1307.0,1000.0
Bob_Ross_Residence_3-4.xml,15.0,93.0,41962.0,29729.0,0.0,41962.0,4321.0,7478.0,1615.0,808.0,18183.0,0.0,0.0,2454.0,4196.0,0.0,2908.0,0.0,24965.0,2845.0,5051.0,2945.0,470.0,4163.0,0.0,0.0,0.0,3280.0,0.0,952.0,3552.0,1707.0,0.0,2872.0,565.0,0.0,1307.0,1000.0
Bob_Ross_Residence_3-5.xml,15.0,93.0,41962.0,36796.0,0.0,41962.0,4321.0,7478.0,1615.0,808.0,18183.0,0.0,0.0,2454.0,4196.0,0.0,2908.0,0.0,30369.0,3534.0,9693.0,2945.0,470.0,4163.0,0.0,0.0,0.0,3280.0,0.0,952.0,3552.0,1707.0,73.0,2872.0,565.0,0.0,1307.0,1000.0
Expand Down

0 comments on commit 94d6687

Please sign in to comment.