Skip to content

Commit 94d6687

Browse files
authored
Merge pull request #1891 from NREL/manual_j_more_improvements
Manual J more improvements for OS-HPXML 1.9.1
2 parents 09fb00c + 59d9cdb commit 94d6687

12 files changed

Lines changed: 449 additions & 437 deletions

File tree

BuildResidentialHPXML/README.md

Lines changed: 201 additions & 201 deletions
Large diffs are not rendered by default.

BuildResidentialHPXML/measure.xml

Lines changed: 204 additions & 204 deletions
Large diffs are not rendered by default.

Changelog.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
## OpenStudio-HPXML v1.10.0
1+
## OpenStudio-HPXML v1.9.1
22

33
__New Features__
4+
- 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).
45

56
__Bugfixes__
7+
- Fixes Manual J design load calculations for radiant floors.
68

79
## OpenStudio-HPXML v1.9.0
810

HPXMLtoOpenStudio/measure.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
<schema_version>3.1</schema_version>
44
<name>hpxm_lto_openstudio</name>
55
<uid>b1543b30-9465-45ff-ba04-1d1f85e763bc</uid>
6-
<version_id>c578c384-3ac2-4bc5-8764-763873807874</version_id>
7-
<version_modified>2024-11-27T16:38:08Z</version_modified>
6+
<version_id>175c233e-10dc-4e3f-a22d-39fbf43e6613</version_id>
7+
<version_modified>2024-12-07T00:08:45Z</version_modified>
88
<xml_checksum>D8922A73</xml_checksum>
99
<class_name>HPXMLtoOpenStudio</class_name>
1010
<display_name>HPXML to OpenStudio Translator</display_name>
@@ -393,7 +393,7 @@
393393
<filename>hvac_sizing.rb</filename>
394394
<filetype>rb</filetype>
395395
<usage_type>resource</usage_type>
396-
<checksum>B1744A25</checksum>
396+
<checksum>CD01834B</checksum>
397397
</file>
398398
<file>
399399
<filename>internal_gains.rb</filename>
@@ -621,7 +621,7 @@
621621
<filename>version.rb</filename>
622622
<filetype>rb</filetype>
623623
<usage_type>resource</usage_type>
624-
<checksum>FB92922A</checksum>
624+
<checksum>7BE504AA</checksum>
625625
</file>
626626
<file>
627627
<filename>waterheater.rb</filename>

HPXMLtoOpenStudio/resources/hvac_sizing.rb

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1275,17 +1275,17 @@ def self.process_load_floors(mj, hpxml_bldg, all_zone_loads, all_space_loads)
12751275
zone = space.zone
12761276

12771277
has_radiant_floor = get_has_radiant_floor(zone)
1278+
u_floor = 1.0 / floor.insulation_assembly_r_value
12781279

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

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

12901290
sum_ua_wall = 0.0
12911291
sum_a_wall = 0.0
@@ -1317,7 +1317,7 @@ def self.process_load_floors(mj, hpxml_bldg, all_zone_loads, all_space_loads)
13171317
u_wall = sum_ua_wall / sum_a_wall
13181318

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

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

1334-
clg_htm = (1.0 / floor.insulation_assembly_r_value) * ptdc_floor
1335-
htg_htm = (1.0 / floor.insulation_assembly_r_value) * ptdh_floor
1334+
clg_htm = u_floor * ptdc_floor
1335+
htg_htm = u_floor * ptdh_floor
13361336
else # E.g., floor over garage
1337-
clg_htm = (1.0 / floor.insulation_assembly_r_value) * (mj.cool_design_temps[adjacent_space] - mj.cool_setpoint)
1338-
htg_htm = (1.0 / floor.insulation_assembly_r_value) * (mj.heat_setpoint - mj.heat_design_temps[adjacent_space])
1337+
htd_adj = mj.heat_setpoint - mj.heat_design_temps[adjacent_space]
1338+
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)
1339+
clg_htm = u_floor * (mj.cool_design_temps[adjacent_space] - mj.cool_setpoint)
1340+
htg_htm = u_floor * htd_adj
13391341
end
13401342
end
13411343
clg_loads = clg_htm * floor.net_area
13421344
htg_loads = htg_htm * floor.net_area
13431345
all_zone_loads[zone].Cool_Floors += clg_loads
13441346
all_zone_loads[zone].Heat_Floors += htg_loads
1345-
all_space_loads[space].Cool_Roofs += clg_loads
1346-
all_space_loads[space].Heat_Roofs += htg_loads
1347+
all_space_loads[space].Cool_Floors += clg_loads
1348+
all_space_loads[space].Heat_Floors += htg_loads
13471349
detailed_output_values = DetailedOutputValues.new(area: floor.net_area,
13481350
heat_htm: htg_htm,
13491351
cool_htm: clg_htm,

HPXMLtoOpenStudio/resources/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

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

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
[![ci](https://github.com/NREL/OpenStudio-HPXML/workflows/ci/badge.svg)](https://github.com/NREL/OpenStudio-HPXML/actions)
55
[![Documentation Status](https://readthedocs.org/projects/openstudio-hpxml/badge/?version=latest)](https://openstudio-hpxml.readthedocs.io/en/latest/?badge=latest)
66

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

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

3537
## Measures
3638

docs/source/intro.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@ OpenStudio-HPXML capabilities include:
2020
- Optional HPXML inputs with transparent defaults
2121
- Schematron and XSD Schema input validation
2222

23+
.. note::
24+
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>`_.
25+
26+
.. note::
27+
28+
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.
29+
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``.
30+
2331
Accuracy vs Speed
2432
-----------------
2533

docs/source/testing_framework.rst

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ The current set of tests include:
1010
- RESNET® HERS® HVAC tests
1111
- RESNET HERS DSE tests
1212
- RESNET HERS Hot Water tests
13-
14-
OpenStudio-HPXML can be used to meet BPI-2400 software tests.
13+
- ACCA Manual J tests
1514

1615
Running Tests Locally
1716
---------------------

workflow/tests/ACCA_Examples/Bob_Ross_Residence_3-22.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -552,10 +552,10 @@
552552
<ExteriorAdjacentTo>garage</ExteriorAdjacentTo>
553553
<InteriorAdjacentTo>basement - conditioned</InteriorAdjacentTo>
554554
<Type>concrete block</Type>
555-
<Height>8.0</Height>
556-
<Area>260.0</Area>
555+
<Height>6.0</Height>
556+
<Area>156.0</Area>
557557
<Orientation>east</Orientation>
558-
<DepthBelowGrade>8.0</DepthBelowGrade>
558+
<DepthBelowGrade>6.0</DepthBelowGrade>
559559
<Insulation>
560560
<SystemIdentifier id='FoundationWallRecRoomEastPartitionInsulation'/>
561561
<AssemblyEffectiveRValue>1.71</AssemblyEffectiveRValue>

0 commit comments

Comments
 (0)