Skip to content

Fix GHP experimental model rated conditions#2204

Open
yzhou601 wants to merge 44 commits into
masterfrom
GHP_experimental_rated_conditions
Open

Fix GHP experimental model rated conditions#2204
yzhou601 wants to merge 44 commits into
masterfrom
GHP_experimental_rated_conditions

Conversation

@yzhou601

@yzhou601 yzhou601 commented Apr 30, 2026

Copy link
Copy Markdown
Collaborator

Pull Request Description

GHP experimental models now directly use user-provided COP/EER in E+ coil objects, however, E+ coil rated conditions are different from GLHP rated conditions. We should convert user-provided GLHP COP/EER/capacities before adding coil inputs.

Checklist

Not all may apply:

  • Schematron validator (EPvalidator.sch) has been updated
  • Sample files have been added/updated (openstudio tasks.rb update_hpxmls)
  • Tests have been added/updated (e.g., HPXMLtoOpenStudio/tests/test*.rb and/or workflow/tests/test*.rb)
  • Documentation has been updated
  • Changelog has been updated
  • openstudio tasks.rb update_measures has been run
  • No unexpected changes to simulation results of sample files

@shorowit shorowit added this to the 1.13.0 milestone May 5, 2026
@shorowit shorowit moved this from Triage to In progress in OpenStudio-HPXML May 12, 2026
# E+ Capacity and EIR as function of temperature curves(bi-quadratic) generated using E+ HVACCurveFitTool
# See: https://bigladdersoftware.com/epx/docs/24-2/auxiliary-programs/hvac-performance-curve-fit-tool.html#hvac-performance-curve-fit-tool
# Catalog data from : https://files.climatemaster.com/Genesis-GS-Series-Product-Catalog.pdf, p180
# Catalog data from : https://www.climatemaster.com/download/18.274be999165850ccd5b5b73/1535543867815/lc377-climatemaster-commercial-tranquility-20-single-stage-ts-series-water-source-heat-pump-submittal-set.pdf

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Update outdated product links

GroundSourceCoolRatedWET = 85.0 # degF, Rated water entering temperature for ground-source systems, cooling
GroundSourceCoolRatedIDB = 80.0 # degF, Rated indoor drybulb for ground-source systems, cooling
GroundSourceCoolRatedIWB = 67.0 # degF, Rated indoor wetbulb for ground-source systems, cooling
GroundSourceHeatGLHPRatedEWT = 32.0 # degF, Rated water entering temperature for ground-source systems, heating

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

These variables are used to convert E+ rated conditions to GLHP rated conditions

Comment thread HPXMLtoOpenStudio/resources/hvac.rb Outdated
)
speed = OpenStudio::Model::CoilCoolingWaterToAirHeatPumpVariableSpeedEquationFitSpeedData.new(model, cap_ft_curve, cap_faf_curve, cap_fwf_curve, eir_ft_curve, eir_faf_curve, eir_fwf_curve, waste_heat_ft)
# convert GLHP rated COPs/capacities to E+ rated
rated_capacity_eplus = UnitConversions.convert(heat_pump.cooling_capacity, 'Btu/hr', 'W') / get_experimental_ghp_rated_condition_conversion(:clg, hp_ap.cool_cap_ft_spec[i]) * hp_ap.cool_capacity_ratios[i]

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Convert HPXML rated inputs (GLHP rated conditions) to E+ rated inputs

# Need to adjust the capacity to GLHP rated conditions
total_cap_curve_value_design = MathTools.biquadratic(UnitConversions.convert(mj.cool_indoor_wetbulb, 'F', 'C'), UnitConversions.convert(entering_temp, 'F', 'C'), clg_ap.cool_cap_ft_spec[hvac_cooling_speed])
total_cap_curve_value_glhp_rated = MathTools.biquadratic(UnitConversions.convert(HVAC::GroundSourceCoolRatedIWB, 'F', 'C'), UnitConversions.convert(HVAC::GroundSourceCoolGLHPRatedEWT, 'F', 'C'), clg_ap.cool_cap_ft_spec[hvac_cooling_speed])
total_cap_curve_value = total_cap_curve_value_design / total_cap_curve_value_glhp_rated

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Uses E+ performance curves to convert design condition to GLHP rated conditions (not E+ rated condition, so here we need to do curve calculation twice).

This will make the heat pumps sized at GLHP rated conditions, consistent with what user provides. Then the capacities will be converted to E+ rated inputs later when we creates E+ models.

Comment thread HPXMLtoOpenStudio/tests/test_hvac.rb Outdated
cool_eir_ft_spec = [1.1828664909, -0.0450835550, 0.0009273315, 0.0056194113, 0.0006683467, -0.0007256237]
cool_capacity_curve_value = MathTools.biquadratic(UnitConversions.convert(HVAC::GroundSourceCoolRatedIWB, 'F', 'C'), UnitConversions.convert(HVAC::GroundSourceCoolGLHPRatedEWT, 'F', 'C'), cool_cap_ft_spec)
cool_eir_curve_value = MathTools.biquadratic(UnitConversions.convert(HVAC::GroundSourceCoolRatedIWB, 'F', 'C'), UnitConversions.convert(HVAC::GroundSourceCoolGLHPRatedEWT, 'F', 'C'), cool_eir_ft_spec)
expected_clg_capacity = standard_clg_capacity / cool_capacity_curve_value

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Unit test to make sure the rated conditions are converted correctly.
The experimental model should have the consistent rated inputs as standard models before conversion.

@yzhou601 yzhou601 marked this pull request as ready for review May 23, 2026 01:16
yzhou601 and others added 8 commits May 28, 2026 12:09
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 10 comments.

Comment thread workflow/tests/util.rb
Comment thread HPXMLtoOpenStudio/tests/test_hvac.rb
Comment thread HPXMLtoOpenStudio/tests/test_hvac.rb Outdated
Comment thread HPXMLtoOpenStudio/tests/test_hvac.rb
Comment thread HPXMLtoOpenStudio/tests/test_hvac.rb Outdated
Comment thread HPXMLtoOpenStudio/tests/test_hvac.rb
Comment thread HPXMLtoOpenStudio/tests/test_hvac.rb Outdated
Comment thread HPXMLtoOpenStudio/resources/hvac.rb
Comment thread HPXMLtoOpenStudio/resources/hvac_sizing.rb
Comment thread HPXMLtoOpenStudio/resources/hvac_sizing.rb
yzhou601 and others added 5 commits June 1, 2026 15:11
indentation fix by AI

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Comment thread HPXMLtoOpenStudio/resources/hvac.rb Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@yzhou601 yzhou601 requested a review from jmaguire1 June 1, 2026 23:47
@yzhou601

Copy link
Copy Markdown
Collaborator Author

@jmaguire1 will check experimental model airflow/waterflow curves to make sure they're expected.

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

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

3 participants