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

Update HVAC models per RESNET HVAC addendum #1879

Draft
wants to merge 168 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
168 commits
Select commit Hold shift + click to select a range
7e5af49
updated fan watts per cfm default, added fan model type
yzhou601 Nov 9, 2024
bee0df1
update measures
yzhou601 Nov 9, 2024
54e3ad7
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Nov 13, 2024
a7d4806
fix tests, changed defrost fan power cubic calculation to follow the …
yzhou601 Nov 13, 2024
b40b1e6
one more fix
yzhou601 Nov 14, 2024
06c27af
Latest results.
Nov 14, 2024
2d1fb0c
revert measured w/cfm defaults, updated rated fan power default, docs…
yzhou601 Nov 14, 2024
22af55b
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
yzhou601 Nov 14, 2024
554f49a
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Nov 14, 2024
bf5d323
update_measures
yzhou601 Nov 14, 2024
ac9c0e1
temporarily reverted indoor sensibility change
yzhou601 Nov 15, 2024
c2c484d
Latest results.
Nov 15, 2024
f05a5bf
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Nov 25, 2024
a322dc4
update measures
yzhou601 Nov 25, 2024
9c9d5be
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
yzhou601 Nov 25, 2024
3cae1a8
Latest results.
Nov 25, 2024
f2f9135
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Dec 11, 2024
1edbedd
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Dec 12, 2024
7a5f48a
Updated indoor sensitivity coefficients
yzhou601 Dec 13, 2024
abb9663
added temperature bounds for indoor sensitivity
yzhou601 Dec 13, 2024
01c5315
Latest results.
Dec 13, 2024
c495f89
Latest results.
Dec 13, 2024
f1e8a75
renamed fanmotortype, and started variable speed assumption update
yzhou601 Dec 13, 2024
7ffcbff
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
yzhou601 Dec 13, 2024
ab5d5eb
one more rename
yzhou601 Dec 13, 2024
f0fe87e
Allows optional EER or EER2 inputs for central air conditioners/heat …
shorowit Dec 13, 2024
32d32c9
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
shorowit Dec 13, 2024
96c7f41
A couple more comments [ci skip]
shorowit Dec 13, 2024
4c4b2bf
Fix approach, use placeholder.
shorowit Dec 13, 2024
f0c441f
Allow CI simulation results even when unit tests fail.
shorowit Dec 13, 2024
0ad8ce4
Latest results.
Dec 13, 2024
4fa0b69
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
shorowit Dec 13, 2024
f5de7a6
Latest results.
Dec 13, 2024
d9e50cb
changed room ac/ ptac eer to ceer to follow similar logic, some rename
yzhou601 Dec 16, 2024
2d3dee3
remove use_eer, use_eer_cop variables, address comments
yzhou601 Dec 16, 2024
6c97afb
update measures
yzhou601 Dec 16, 2024
ac32c75
Latest results.
Dec 17, 2024
e759a59
Create is_room_dx_hvac_system method to centralize logic, and other m…
shorowit Dec 17, 2024
1a574b7
Merge pull request #1897 from NREL/eer_inputs
shorowit Dec 17, 2024
17f9051
fix unit tests
yzhou601 Dec 17, 2024
00db61d
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Dec 17, 2024
2bd0386
Latest results.
Dec 17, 2024
9fa94f3
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
shorowit Dec 24, 2024
2e79ad3
Add EER2 defaults based on regression of ENERGY STAR products.
shorowit Dec 24, 2024
de85bbb
Latest results.
Dec 24, 2024
d96cf24
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
shorowit Dec 24, 2024
f5d763a
Remove EER defaulting from defaults.rb, update tests in test_defaults…
shorowit Dec 24, 2024
8fdffff
Latest results.
Dec 24, 2024
e067c09
Eliminate diffs
shorowit Dec 24, 2024
74696c4
Merge branch 'eer_defaults' of https://github.com/NREL/OpenStudio-HPX…
shorowit Dec 24, 2024
7a1d223
Latest results.
Dec 24, 2024
b4beb83
Merge pull request #1902 from NREL/eer_defaults
shorowit Dec 26, 2024
6b2f3e8
Update default crankcase heater power.
shorowit Dec 26, 2024
c18ed4f
Small bugfix and cleanup.
shorowit Dec 26, 2024
3a1c29b
First pass.
shorowit Dec 26, 2024
c36aa2f
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
shorowit Dec 26, 2024
d1b6749
Update Changelog.md
shorowit Dec 26, 2024
fc157cf
Latest results.
Dec 26, 2024
8a55975
Update comment [ci skip]
shorowit Dec 27, 2024
29708df
Use uppercase letters for PSC/BPM, add full names in docs
shorowit Dec 27, 2024
889667d
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
shorowit Jan 3, 2025
26b721a
Latest results.
Jan 3, 2025
85effef
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
shorowit Jan 3, 2025
46c1362
update EPvalidator.xml
yzhou601 Jan 3, 2025
f317c36
simplify calculate_fan_power_from_curve and minor doc fix
yzhou601 Jan 3, 2025
5bdc554
update calculate_fan_power_from_curve
yzhou601 Jan 3, 2025
80776d1
Add capacity & power datapoint checks.
shorowit Jan 3, 2025
5a8c811
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
shorowit Jan 3, 2025
143b37e
Simplify extrapolation bounds.
shorowit Jan 3, 2025
11d271c
Minor code cleanup.
shorowit Jan 3, 2025
3ea0043
Perform extrapolation until values become negative.
shorowit Jan 6, 2025
f865e5c
Simplify implementation to remove step search [ci skip]
shorowit Jan 6, 2025
b90c066
Restrict outdoor temperatures for detailed datapoints so we can apply…
shorowit Jan 7, 2025
bb03af4
power calculation for ptac/pthp
yzhou601 Jan 7, 2025
b2caf33
elsif instead of else
yzhou601 Jan 7, 2025
d67c410
simplify indoor temperature bounds
yzhou601 Jan 7, 2025
63bff27
Latest results.
Jan 7, 2025
fc63ba3
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
shorowit Jan 7, 2025
d01e7ff
Fixes some CI failures.
shorowit Jan 7, 2025
631fd33
Revert max compressor temp input.
shorowit Jan 9, 2025
061a46a
fix max power program
yzhou601 Jan 10, 2025
f3738bb
update measure
yzhou601 Jan 10, 2025
63204b7
Merge branch 'datapoint_extrapolation' of https://github.com/NREL/Ope…
yzhou601 Jan 10, 2025
4727080
Latest results.
Jan 10, 2025
4e79872
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
shorowit Jan 11, 2025
814cce1
Latest results.
Jan 11, 2025
ba5a075
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
shorowit Jan 13, 2025
5634c0a
Small docs image improvement [ci skip]
shorowit Jan 13, 2025
da7b493
Fix adaptive step size method and address PR review comments.
shorowit Jan 15, 2025
03f284c
Remove debug code
shorowit Jan 15, 2025
c986342
Latest results.
Jan 15, 2025
03cd5f1
Disallow 60F heating/cooling datapoints and address additional review…
shorowit Jan 15, 2025
5848d90
Forgot to commit these changes too
shorowit Jan 15, 2025
e3badf5
Update test.
shorowit Jan 15, 2025
a803ed6
Latest results.
Jan 15, 2025
bb1638b
Double tolerance to reduce number of datapoints by 2x with minimal im…
shorowit Jan 16, 2025
2851dd1
Merge branch 'datapoint_extrapolation' of https://github.com/NREL/Ope…
shorowit Jan 16, 2025
f2412b2
Latest results.
Jan 16, 2025
df1499e
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
shorowit Jan 16, 2025
ab23aaf
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
shorowit Jan 16, 2025
2d40a2c
Implement 50% RESNET rule for min cooling ODB extrapolation. Code cle…
shorowit Jan 16, 2025
e698b9b
Bugfix and rename variables for clarity.
shorowit Jan 16, 2025
3f93237
Latest results.
Jan 16, 2025
1dfc3c6
Bugfix for situation where cooling input power is increasing at lower…
shorowit Jan 17, 2025
00efee5
Latest results.
Jan 17, 2025
0ea97fd
Using a more conservative min ODB temperature for cooling performance…
shorowit Jan 17, 2025
0f16d7c
Merge branch 'datapoint_extrapolation' of https://github.com/NREL/Ope…
shorowit Jan 17, 2025
259226a
Latest results.
Jan 17, 2025
b9e3429
Merge pull request #1904 from NREL/datapoint_extrapolation
shorowit Jan 17, 2025
5d2d34e
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Jan 28, 2025
706672c
update measures
yzhou601 Jan 28, 2025
3f0b0e3
implemented most default assumptions into OS-HPXML, still needs to re…
yzhou601 Jan 30, 2025
f191e0b
fix a few issues to run test files
yzhou601 Jan 30, 2025
5869e03
fix compressor type default using seer
yzhou601 Feb 3, 2025
b65e5da
fix bugs in current capacity17F and retention
yzhou601 Feb 3, 2025
d42a771
revert 17F requirement, first cut to model 3 speeds
yzhou601 Feb 5, 2025
0b219eb
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Feb 5, 2025
5329c9d
bugfixes
yzhou601 Feb 5, 2025
a0e3b2f
more fixes, update measures
yzhou601 Feb 5, 2025
8cd88d0
fix pthp hspf calculation
yzhou601 Feb 6, 2025
5c17fcc
remove requirement of heating/cooling capacity for detailed performan…
yzhou601 Feb 6, 2025
d4092db
oops, specified the wrong capacities
yzhou601 Feb 6, 2025
af5e4fd
Latest results.
Feb 6, 2025
b2d5488
Update docs/changelog for where we are heading. [ci skip]
shorowit Feb 6, 2025
6d92d56
Rename data_array to datapoints_by_stage, convert to hash. And a bit …
shorowit Feb 7, 2025
9a0de11
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
shorowit Feb 7, 2025
4fdf904
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Feb 11, 2025
2160a12
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
yzhou601 Feb 11, 2025
785774a
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
yzhou601 Feb 11, 2025
2eed57d
Latest results.
Feb 12, 2025
b52c0ca
add unit test for default variable speed detailed performance data
yzhou601 Feb 12, 2025
5553bdd
fix some ci errors
yzhou601 Feb 12, 2025
18b9995
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
yzhou601 Feb 12, 2025
c47adc8
Fix CI failure.
shorowit Feb 12, 2025
c388087
Fix measure; not sure what happened before.
shorowit Feb 12, 2025
849bebf
More fix on the BuildResidential test
yzhou601 Feb 12, 2025
e00c9e9
Use capacity rounding consistent with what hvac_sizing.rb does
shorowit Feb 12, 2025
2c65c7d
Latest results.
Feb 12, 2025
c0328e4
Latest results.
Feb 12, 2025
f5e09fe
Update expected values.
shorowit Feb 12, 2025
4ccf04c
improve epvalidator for capacity consistency
yzhou601 Feb 12, 2025
6067959
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
yzhou601 Feb 12, 2025
6b268d3
update measures
yzhou601 Feb 12, 2025
4b1ce41
EPvalidator.xml improvements
yzhou601 Feb 13, 2025
73c8ff1
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
shorowit Feb 13, 2025
e985386
relax requirements for nominal speed data points
yzhou601 Feb 13, 2025
820442e
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
yzhou601 Feb 13, 2025
c86c1f5
oops
yzhou601 Feb 13, 2025
c1b85ec
fix test file fraction of nominal
yzhou601 Feb 14, 2025
09de5d8
Latest results.
Feb 14, 2025
6aac7c1
fix unit tests with nominal datapoints being optional
yzhou601 Feb 14, 2025
6244315
Merge branch 'resnet_heat_pump' of https://github.com/NREL/OpenStudio…
yzhou601 Feb 14, 2025
4835427
Replaces `HeatingCapacityRetention[Fraction | Temperature]` with `Hea…
shorowit Feb 15, 2025
88747ff
Just a little cleanup.
shorowit Feb 15, 2025
30ac6bc
Latest results.
Feb 15, 2025
6a3ce39
Merge pull request #1931 from NREL/heating_capacity_fraction_17F
shorowit Feb 17, 2025
3658a9c
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
shorowit Feb 19, 2025
6cd1de5
Latest results.
Feb 19, 2025
55583b1
Update documentation/changelog to reflect current use of detailed per…
shorowit Feb 20, 2025
1d95fa3
Merge branch 'master' of https://github.com/NREL/OpenStudio-HPXML int…
shorowit Feb 20, 2025
c4378f1
Bugfix and update test.
shorowit Feb 20, 2025
0bd35e0
Fix CI error for WLHP simulations
shorowit Feb 20, 2025
0679d22
Small fixes.
shorowit Feb 21, 2025
4a96b38
Latest results.
Feb 21, 2025
99e752e
Fix interpolation bug, values now match RESNET spreadsheet.
shorowit Feb 21, 2025
097d036
Latest results.
Feb 22, 2025
c5b4f62
Set rated cfm/ton to 400. (Code will be simplified in a subsequent PR.)
shorowit Feb 22, 2025
db75216
Latest results.
Feb 22, 2025
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
13 changes: 8 additions & 5 deletions HPXMLtoOpenStudio/resources/hpxml_schematron/EPvalidator.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1752,16 +1752,19 @@

<sch:pattern>
<sch:title>[HeatingDetailedPerformanceDataPointWithCapacity]</sch:title>
<sch:rule context='/h:HPXML/h:Building/h:BuildingDetails/h:Systems/h:HVAC/h:HVACPlant/*/h:HeatingDetailedPerformanceData/h:PerformanceDataPoint/h:Capacity'>
<sch:assert role='ERROR' test='(number(../../../h:HeatingCapacity) = number(../../h:PerformanceDataPoint[h:OutdoorTemperature=47 and h:CapacityDescription="nominal"]/h:Capacity)) or not (../../../h:HeatingCapacity)'>Expected ../../../HeatingCapacity to be equal to ../../PerformanceDataPoint[OutdoorTemperature=47 and CapacityDescription="nominal"]/Capacity</sch:assert>
<sch:assert role='ERROR' test='(number(../../../h:HeatingCapacity17F) = number(../../h:PerformanceDataPoint[h:OutdoorTemperature=17 and h:CapacityDescription="nominal"]/h:Capacity)) or not (../../../h:HeatingCapacity17F)'>Expected ../../../HeatingCapacity17F to be equal to ../../PerformanceDataPoint[OutdoorTemperature=17 and CapacityDescription="nominal"]/Capacity</sch:assert>
<sch:rule context='/h:HPXML/h:Building/h:BuildingDetails/h:Systems/h:HVAC/h:HVACPlant/*/h:HeatingDetailedPerformanceData/h:PerformanceDataPoint[number(h:OutdoorTemperature)=47 and h:CapacityDescription="nominal"]/h:Capacity'>
<sch:assert role='ERROR' test='(number(../../../h:HeatingCapacity) &gt;= 0.99 * number(../h:Capacity)) or not (../../../h:HeatingCapacity)'>Expected ../../../HeatingCapacity to be equal to ../Capacity</sch:assert>
<sch:assert role='ERROR' test='(number(../../../h:HeatingCapacity) &lt;= 1.01 * number(../h:Capacity)) or not (../../../h:HeatingCapacity)'>Expected ../../../HeatingCapacity to be equal to ../Capacity</sch:assert>
<sch:assert role='ERROR' test='(number(../../../h:HeatingCapacity17F) &gt;= 0.99 * number(../../h:PerformanceDataPoint[h:OutdoorTemperature=17 and h:CapacityDescription="nominal"]/h:Capacity)) or not (../../../h:HeatingCapacity17F)'>Expected ../../../HeatingCapacity17F to be equal to ../../PerformanceDataPoint[OutdoorTemperature=17 and CapacityDescription="nominal"]/Capacity</sch:assert>
<sch:assert role='ERROR' test='(number(../../../h:HeatingCapacity17F) &lt;= 1.01 * number(../../h:PerformanceDataPoint[h:OutdoorTemperature=17 and h:CapacityDescription="nominal"]/h:Capacity)) or not (../../../h:HeatingCapacity17F)'>Expected ../../../HeatingCapacity17F to be equal to ../../PerformanceDataPoint[OutdoorTemperature=17 and CapacityDescription="nominal"]/Capacity</sch:assert>
</sch:rule>
</sch:pattern>

<sch:pattern>
<sch:title>[CoolingDetailedPerformanceDataPointWithCapacity]</sch:title>
<sch:rule context='/h:HPXML/h:Building/h:BuildingDetails/h:Systems/h:HVAC/h:HVACPlant/*/h:CoolingDetailedPerformanceData/h:PerformanceDataPoint/h:Capacity'>
<sch:assert role='ERROR' test='(number(../../../h:CoolingCapacity) = number(../../h:PerformanceDataPoint[h:OutdoorTemperature=95 and h:CapacityDescription="nominal"]/h:Capacity)) or not (../../../h:CoolingCapacity)'>Expected ../../../CoolingCapacity to be equal to ../../PerformanceDataPoint[OutdoorTemperature=95 and CapacityDescription="nominal"]/Capacity</sch:assert>
<sch:rule context='/h:HPXML/h:Building/h:BuildingDetails/h:Systems/h:HVAC/h:HVACPlant/*/h:CoolingDetailedPerformanceData/h:PerformanceDataPoint[number(h:OutdoorTemperature)=95 and h:CapacityDescription="nominal"]/h:Capacity'>
<sch:assert role='ERROR' test='(number(../../../h:CoolingCapacity) &gt;= 0.99 * number(../h:Capacity)) or not (../../../h:CoolingCapacity)'>Expected ../../../CoolingCapacity to be equal to ../Capacity</sch:assert>
<sch:assert role='ERROR' test='(number(../../../h:CoolingCapacity) &lt;= 1.01 * number(../h:Capacity)) or not (../../../h:CoolingCapacity)'>Expected ../../../CoolingCapacity to be equal to ../Capacity</sch:assert>
</sch:rule>
</sch:pattern>

Expand Down
8 changes: 8 additions & 0 deletions HPXMLtoOpenStudio/tests/test_validation.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1165,6 +1165,9 @@ def test_ruby_error_messages
'emissions-wrong-rows' => ['Emissions File has invalid number of rows'],
'geothermal-loop-multiple-attached-hps' => ["Multiple heat pumps found attached to geothermal loop 'GeothermalLoop1'."],
'heat-pump-backup-system-load-fraction' => ['Heat pump backup system cannot have a fraction heat load served specified.'],
'hvac-detailed-performance-inconsistent-capacities' => ['Expected ../../../HeatingCapacity to be equal to ../Capacity',
'Expected ../../../HeatingCapacity17F to be equal to ../../PerformanceDataPoint[OutdoorTemperature=17 and CapacityDescription="nominal"]/Capacity',
'Expected ../../../CoolingCapacity to be equal to ../Capacity'],
'hvac-cooling-detailed-performance-incomplete-pair' => ['Cooling detailed performance data for outdoor temperature = 105.0 is incomplete; there must be exactly one minimum and one maximum capacity datapoint.'],
'hvac-cooling-detailed-performance-invalid-data' => ['Cooling detailed performance data for outdoor temperature = 82.0 is invalid; Power (capacity / COP) at minimum capacity must be less than power at maximum capacity.',
'Cooling detailed performance data for outdoor temperature = 95.0 is invalid; Maximum capacity must be greater than minimum capacity.'],
Expand Down Expand Up @@ -1357,6 +1360,11 @@ def test_ruby_error_messages
when 'heat-pump-switchover-temp-elec-backup'
hpxml, hpxml_bldg = _create_hpxml('base-hvac-air-to-air-heat-pump-1-speed.xml')
hpxml_bldg.heat_pumps[0].backup_heating_switchover_temp = 35.0
when 'hvac-detailed-performance-inconsistent-capacities'
hpxml, hpxml_bldg = _create_hpxml('base-hvac-air-to-air-heat-pump-var-speed-detailed-performance.xml')
hpxml_bldg.heat_pumps[0].heating_capacity = 10000
hpxml_bldg.heat_pumps[0].cooling_capacity = 10000
hpxml_bldg.heat_pumps[0].heating_capacity_17F = 1000
when 'hvac-cooling-detailed-performance-incomplete-pair'
hpxml, hpxml_bldg = _create_hpxml('base-hvac-air-to-air-heat-pump-var-speed-detailed-performance.xml')
hpxml_bldg.heat_pumps[0].cooling_detailed_performance_data.add(
Expand Down