-
Notifications
You must be signed in to change notification settings - Fork 222
V25.2.0-IOFreeze: new DX Heating Coil Sizing Ratio fields #5492
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
Conversation
7ef6898 to
a86e174
Compare
|
CI Results for a86e174:
|
jmarrec
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suppose adding 2 lines in 3 model gtests would be good, but otherwise this is good to go
(also the optional assignment for non-optional getter in FT, but whatever)
| * [#5492](https://github.com/NREL/OpenStudio/pull/5492) - New DX Heating Coil Sizing Ratio fields | ||
| * Replaces `Minimum Outdoor Dry-Bulb Temperature for Compressor Operation` with `DX Heating Coil Sizing Ratio` for `AirLoopHVAC:UnitaryHeatPump:AirToAir:MultiSpeed` | ||
| * Deprecated methods for `AirLoopHVAC:UnitaryHeatPump:AirToAir:MultiSpeed`: | ||
| * `minimumOutdoorDryBulbTemperatureforCompressorOperation` | ||
| * `setMinimumOutdoorDryBulbTemperatureforCompressorOperation` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think you need to deprecate per se, but I'd look for it when I get to the C++ deprecation
Btw, the E+ PR is
| setNoLoadSupplyAirFlowRateControlSetToLowSpeed(true); | ||
| autosizeOutdoorAirFlowRateWhenNoCoolingorHeatingisNeeded(); | ||
| setString(OS_ZoneHVAC_WaterToAirHeatPumpFields::AvailabilityManagerListName, ""); | ||
| setDXHeatingCoilSizingRatio(1.0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright. non opt getter, one setter only, and Ctor defaults the required field
| // DEPRECATED | ||
| double AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed::minimumOutdoorDryBulbTemperatureforCompressorOperation() const { | ||
| DEPRECATED_AT_MSG(3, 11, 0, "TODO."); | ||
| return -999; | ||
| } | ||
|
|
||
| bool AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed::setMinimumOutdoorDryBulbTemperatureforCompressorOperation( | ||
| double minimumOutdoorDryBulbTemperatureforCompressorOperation) { | ||
| DEPRECATED_AT_MSG(3, 11, 0, "TODO."); | ||
| return false; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- TODO
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, so I reviewed the E+ C++ code for the corresponding PR, and this field was purely unused before.
MinOATCompressorHeating is grabbed from DXHeatingCoilIndex and MinOATCompressorCooling is grabbed from DXCoolingCoilIndex
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the former IDD note
N1 , \field Minimum Outdoor Dry-Bulb Temperature for Compressor Operation
\type real
\default -8.0
\units C
\note Needs to match the corresponding minimum outdoor temperature defined
\note in the DX heating coil object.
| // DEPRECATED | ||
| double AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed::minimumOutdoorDryBulbTemperatureforCompressorOperation() const { | ||
| DEPRECATED_AT_MSG(3, 11, 0, "TODO."); | ||
| return -999; | ||
| } | ||
|
|
||
| bool AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed::setMinimumOutdoorDryBulbTemperatureforCompressorOperation( | ||
| double minimumOutdoorDryBulbTemperatureforCompressorOperation) { | ||
| DEPRECATED_AT_MSG(3, 11, 0, "TODO."); | ||
| return false; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Proposed implementation in 983ee15
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally, since you are touched 4 classes, I'd see 4 model Gtests changes instead of one
| // DEPRECATED | ||
| double AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed::minimumOutdoorDryBulbTemperatureforCompressorOperation() const { | ||
| // Former v25.1.0 IDD note said this "Needs to match the corresponding minimum outdoor temperature defined in the DX heating coil object" | ||
| DEPRECATED_AT_MSG(3, 11, 0, | ||
| "This field was previously unused and removed in EnergyPlus 25.2.0. Set the Minimum OAT for Compressor Operation on the child " | ||
| "DX MultiSpeed Coils if any."); | ||
| if (auto hc_ = heatingCoil().optionalCast<CoilHeatingDXMultiSpeed>()) { | ||
| return hc_->minimumOutdoorDryBulbTemperatureforCompressorOperation(); | ||
| } | ||
| return -1000.0; | ||
| } | ||
|
|
||
| bool AirLoopHVACUnitaryHeatPumpAirToAirMultiSpeed::setMinimumOutdoorDryBulbTemperatureforCompressorOperation( | ||
| double minimumOutdoorDryBulbTemperatureforCompressorOperation) { | ||
| DEPRECATED_AT_MSG(3, 11, 0, | ||
| "This field was previously unused and removed in EnergyPlus 25.2.0. Set the Minimum OAT for Compressor Operation on the child " | ||
| "DX MultiSpeed Coils if any."); | ||
| if (auto hc_ = heatingCoil().optionalCast<CoilHeatingDXMultiSpeed>()) { | ||
| return hc_->setMinimumOutdoorDryBulbTemperatureforCompressorOperation(minimumOutdoorDryBulbTemperatureforCompressorOperation); | ||
| } | ||
|
|
||
| return false; | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@joseph-robertson My proposed implementation here.
I picked -1000.0 because that's what E+ GetMinOATCompressor does.
| // DXHeatingCoilSizingRatio | ||
| if ((value = modelObject.dXHeatingCoilSizingRatio())) { | ||
| idfObject.setDouble(ZoneHVAC_WaterToAirHeatPumpFields::DXHeatingCoilSizingRatio, value.get()); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Non optional, so shouldn't need to go though an optional and suffer the penalty
Pull request overview
Pull Request Author
src/model/test)src/energyplus/Test)src/osversion/VersionTranslator.cpp)Labels:
IDDChangeAPIChangePull Request - Ready for CIso that CI builds your PRReview Checklist
This will not be exhaustively relevant to every PR.