Change HPWH HeatingCapacity to be input capacity#2231
Conversation
…r than *output* capacity, similar to other water heater types.
| watts += [UnitConversions.convert(Waterheater.get_heating_input_capacity(water_heating_system.heating_capacity, water_heating_system.additional_properties.cop), 'btu/hr', 'w'), | ||
| watts += [UnitConversions.convert(water_heating_system.heating_capacity, 'btu/hr', 'w'), | ||
| UnitConversions.convert(water_heating_system.backup_heating_capacity, 'btu/hr', 'w')].max |
There was a problem hiding this comment.
FYI @joseph-robertson, this changes the electric panel defaulting code for a HPWH (and removes the Waterheater.get_heating_input_capacity method). I assume that's not a problem but just wanted to point it out.
HeatingCapacityHeatingCapacity to be input capacity
| base-dhw-tank-gas-outside.xml,1814.47,144.0,1093.67,0.0,1237.67,144.0,432.8,576.8,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | ||
| base-dhw-tank-gas.xml,1809.49,144.0,1100.83,0.0,1244.83,144.0,420.66,564.66,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | ||
| base-dhw-tank-heat-pump-capacities.xml,1807.85,144.0,1185.24,0.0,1329.24,144.0,334.61,478.61,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, | ||
| base-dhw-tank-heat-pump-capacities.xml,1807.17,144.0,1188.62,0.0,1332.62,144.0,330.55,474.55,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, |
There was a problem hiding this comment.
This is the only file that really changed. Now the 3000 Btu/hr (879 W) heating capacity in the HPXML file is (correctly) treated as an input capacity rather than an output capacity.
Some other files show very minor changes due to rounding.
|
|
||
| if water_heating_system.heating_capacity.nil? | ||
| water_heating_system.heating_capacity = (UnitConversions.convert(0.5, 'kW', 'Btu/hr') * water_heating_system.additional_properties.cop).round | ||
| water_heating_system.heating_capacity = UnitConversions.convert(0.5, 'kW', 'Btu/hr').round |
There was a problem hiding this comment.
No longer include the COP in the defaulting. Docs updated accordingly.
There was a problem hiding this comment.
Pull request overview
Updates the Heat Pump Water Heater (HPWH) interpretation of HeatingCapacity so it is treated as input capacity (instead of output), aligning HPWH behavior with other water heater types and updating tests/docs/baselines accordingly.
Changes:
- Reinterpret HPWH
HeatingCapacityas input capacity and update translation logic accordingly. - Update unit tests and workflow baseline result CSVs to reflect the new interpretation.
- Update documentation and changelog to record the breaking change.
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| workflow/tests/base_results/results_simulations_misc.csv | Updates expected simulation outputs for impacted HPWH cases. |
| workflow/tests/base_results/results_simulations_loads.csv | Updates expected load outputs for impacted HPWH cases. |
| workflow/tests/base_results/results_simulations_energy.csv | Updates expected energy outputs for impacted HPWH cases. |
| workflow/tests/base_results/results_simulations_bills.csv | Updates expected bill outputs for impacted HPWH cases. |
| HPXMLtoOpenStudio/tests/test_water_heater.rb | Updates HPWH capacity expectation to convert from input capacity to output using COP. |
| HPXMLtoOpenStudio/tests/test_electric_panel.rb | Updates expected service feeder power for HPWH input-capacity sizing. |
| HPXMLtoOpenStudio/tests/test_defaults.rb | Updates default HPWH HeatingCapacity expectation to input capacity (0.5 kW equivalent). |
| HPXMLtoOpenStudio/resources/waterheater.rb | Converts HPWH input capacity to coil output capacity using COP; removes now-unused helper. |
| HPXMLtoOpenStudio/resources/hvac.rb | Clarifies method documentation wording/units. |
| HPXMLtoOpenStudio/resources/defaults.rb | Updates default HPWH HeatingCapacity to be input capacity; updates service feeder sizing logic for HPWH. |
| HPXMLtoOpenStudio/measure.xml | Bumps measure metadata and checksums for updated resources/tests. |
| docs/source/workflow_inputs.rst | Updates documentation to state HPWH HeatingCapacity is input capacity and adjusts default description. |
| Changelog.md | Records breaking change for HPWH HeatingCapacity semantics. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Pull Request Description
For heat pump water heaters,
HeatingCapacityis now input rather than output capacity, similar to other water heater types. This information is also more readily available on product listings (example).Checklist
Not all may apply:
EPvalidator.sch) has been updatedopenstudio tasks.rb update_hpxmls)HPXMLtoOpenStudio/tests/test*.rband/orworkflow/tests/test*.rb)openstudio tasks.rb update_measureshas been run