Skip to content

fix: address misc hvac_library.osm issues#888

Open
Ski90Moo wants to merge 3 commits into
openstudiocoalition:developfrom
Ski90Moo:chore/address-misc-issues
Open

fix: address misc hvac_library.osm issues#888
Ski90Moo wants to merge 3 commits into
openstudiocoalition:developfrom
Ski90Moo:chore/address-misc-issues

Conversation

@Ski90Moo

Copy link
Copy Markdown

Summary

Changes

All changes are in src/openstudio_app/Resources/default/hvac_library.osm:

Test plan

  • Open the default HVAC library in OpenStudio Application and confirm all three new/modified entries appear in the HVAC Components panel
  • Drag the 2-speed DX dehumidification unitary system onto an air loop and confirm it loads without errors
  • Verify the defrost heater capacity field is autosize for the affected coil
  • Confirm no regressions in other library entries

🤖 Generated with Claude Code

Ski90Moo and others added 3 commits June 25, 2026 10:15
Hardcoded values (1e-07 for the VRF system, 2000 for the four DX
heating coils) prevented EnergyPlus from sizing defrost heater power
to the equipment capacity.

Fixes openstudiocoalition#770
…ree DX heat pump

"Multi Speed HP AirToAir" was categorized as a heat pump but used a
2-stage gas heating coil with electric supplemental heat, so it is
renamed to "Multi Speed DX_Clg Gas_Htg" to reflect its actual coils.

A new AirLoopHVAC:UnitaryHeatPump:AirToAir:MultiSpeed object named
"Multi Speed HP AirToAir" is added with a genuine 2-stage DX heating
coil (reverse-cycle defrost, autosized resistive defrost heater) and
2-stage DX cooling coil, matching the example provided in the issue.

Fixes openstudiocoalition#834
…ication to hvac library

Adds 'Unitary - 2-Speed DX Elec heat - Cycling - Dehumidify' to the default HVAC
library, using OS:Coil:Cooling:DX:TwoStageWithHumidityControlMode and CoolReheat
dehumidification control — a common high-humidity climate system not previously
buildable from the OpenStudio App UI. All five referenced objects (fan, heating coil,
cooling coil, supplemental coil, availability schedule) reuse existing library entries.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Ski90Moo

Copy link
Copy Markdown
Author

Test Results

All tests completed against hvac_library.osm loaded in OpenStudio 3.11.0.

MCP / Programmatic Inspection

Test Result
All changed/added entries present in library (14 AirLoopHVACUnitarySystem objects)
Unitary - 2-Speed DX Elec heat - Cycling - Dehumidify present with correct handle
Resistive defrost heater capacity = autosize at all 6 affected locations
CoilCoolingDXTwoStageWithHumidityControlMode referenced by new unitary system resolves correctly
New unitary system key fields: CoolReheat, BlowThrough, LatentOrSensibleLoadControl, SupplyAirFlowRate
All UUID references (fan, coils, supplemental coil, schedule) accepted on model load — no errors

Manual GUI

Test Result
Unitary - 2-Speed DX Elec heat - Cycling - Dehumidify drags onto air loop without errors

EnergyPlus Simulations (via MCP)

Two annual simulations were run using the MCP server (OpenStudio 3.11.0 / EnergyPlus 24.x).

Simulation 1 — PSZ-HP, Denver CO (CZ 5B)
Exercises: defrost heater autosize fix (commit 434fd01a) and DX heat pump entries (commit 129f4770)

Metric Value
Status ✅ Success — no fatal or severe errors
EUI 44.5 kBtu/ft²
Total site energy 202 GJ
Unmet heating hours 16.5
Unmet cooling hours 0

Simulation 2 — 2-speed DX + CoolReheat, Houston TX (CZ 2A)
Exercises: new dehumidification unitary system (commit bf96e804)

Metric Value
Status ✅ Success — no fatal or severe errors
EUI 29.5 kBtu/ft²
Total site energy 134 GJ
Unmet heating hours 10.7
Unmet cooling hours 0.3

Houston (CZ 2A — hot-humid) was chosen to exercise the CoolReheat dehumidification path during the annual run.

Note on CoolReheat + Humidistat

EnergyPlus requires a ZoneControl:Humidistat object (with both humidifying and dehumidifying setpoint schedules) in the controlling zone whenever DehumidificationControlType = CoolReheat is active. This is a building model requirement, not a library object requirement — the humidistat is placed in the zone, not in the HVAC component. Users dragging Unitary - 2-Speed DX Elec heat - Cycling - Dehumidify from the library will need to add a humidistat to their thermal zone before simulating.

0, !- Basin Heater Capacity {W/K}
2, !- Basin Heater Setpoint Temperature {C}
, !- Basin Heater Operating Schedule
NaturalGas, !- Fuel Type

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't fuel type be Electricity?

Comment thread src/openstudio_app/Resources/default/hvac_library.osm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants