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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant