-
Notifications
You must be signed in to change notification settings - Fork 193
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
Addresses #5227, updates to Controller:OutdoorAir #5237
Conversation
src/energyplus/ForwardTranslator/ForwardTranslateControllerOutdoorAir.cpp
Show resolved
Hide resolved
@@ -22427,15 +22427,15 @@ OS:Controller:OutdoorAir, | |||
\note This field is only used when the field High Humidity Control = Yes. | |||
\type real | |||
\minimum> 0 | |||
\default 1.0 | |||
\required-field |
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.
Making this required. Updating ctor to set to 1.0. Requires vt.
A19, \field Control High Indoor Humidity Based on Outdoor Humidity Ratio | ||
\note If No is selected, the outdoor air flow rate is modified any time indoor relative | ||
\note humidity is above the humidistat setpoint. If Yes is selected, the outdoor air | ||
\note flow rate is modified any time the indoor relative humidity is above the humidistat | ||
\note setpoint and the outdoor humidity ratio is less than the indoor humidity ratio. | ||
\note This field is only used when the field High Humidity Control = Yes. | ||
\type choice | ||
\default Yes | ||
\required-field |
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.
Making this required. Updating ctor to set to "Yes". Requires vt.
return retVal; | ||
bool ControllerOutdoorAir_Impl::setHumidistatControlZone(const ThermalZone& thermalZone) { | ||
bool result = setPointer(OS_Controller_OutdoorAirFields::HumidistatControlZoneName, thermalZone.handle()); | ||
result = result && setString(OS_Controller_OutdoorAirFields::HighHumidityControl, "Yes"); |
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.
Only setHumidistatControlZone
can set HighHumidityControl to "Yes".
} | ||
void ControllerOutdoorAir_Impl::resetHumidistatControlZone() { | ||
bool result = setString(OS_Controller_OutdoorAirFields::HumidistatControlZoneName, ""); | ||
result = result && setString(OS_Controller_OutdoorAirFields::HighHumidityControl, "No"); |
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.
Only resetHumidistatControlZone
can set HighHumidityControl to "No".
} else { | ||
LOG(Warn, modelObject.briefDescription() << " has a humidistat control zone " << zone_->nameString() | ||
<< " without a zone control humidistat; humidistat control zone field will not be translated"); | ||
idfObject.setString(openstudio::Controller_OutdoorAirFields::HighHumidityControl, "No"); |
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.
HumidistatControlZoneName is required when HighHumidityControl is "Yes"; so if we can't set HumidistatControlZoneName, then HighHumidityControl must be set to "No".
|
||
boost::optional<double> getHighHumidityOutdoorAirFlowRatio() const; | ||
double getHighHumidityOutdoorAirFlowRatio() const; |
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.
Breaking change since now required.
bool setHighHumidityOutdoorAirFlowRatio(double v); | ||
|
||
boost::optional<bool> getControlHighIndoorHumidityBasedOnOutdoorHumidityRatio() const; | ||
bool getControlHighIndoorHumidityBasedOnOutdoorHumidityRatio() const; |
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.
Breaking change since now required.
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'm fine with the API break, because I can't see it being used in the primary gems anyways.
Should add this to the TBD release notes ideally so we don't forget about it. And tag it with "APIChange"
(We could have deprecated the getControlXXX.... and replaced with a controlXXX getter.)
…pdate to E+ 24.2.0a)
f88f19c
to
1430a0e
Compare
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 adjusted the 3.8.0 release notes .md and generated the PDF.
@DavidGoldwasser @wenyikuang We've been historically doing this for every release. The format is much better than what's displayed on the 3.8.0 release https://github.com/NREL/OpenStudio/releases/v3.8.0 which in this specific case is purely the automated github changelog, not even sorted by importance or removing the Developer issues.
Can you please advise whether we keep doing this going forward?
- If so, friendly reminder to everyone that we should keep the habit of populating the TDB release notes with major changes at least, and to remind to produce the Release Notes at release time.
- If not, we should at least clean and reorganize the automatically generated Github changelog on the release page.
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.
@jmarrec I like the more advanced release notes that are https://github.com/NREL/OpenStudio/blob/develop/developer/doc/ReleaseNotes/
It's probably my fault that the release notes here https://github.com/NREL/OpenStudio/releases/tag/v3.8.0 don't look like they did for 3.7 https://github.com/NREL/OpenStudio/releases/tag/v3.7.0
I would like to automate builds more for 3.10 and later but we'll always have some hand written narratives. I can try to write those throughout the 6 month cycle and not wait to drop in at the end. But when we can pull in auto-generated change log that seems nice.
* [#5242](https://github.com/NREL/OpenStudio/pull/5242) - Update to EnergyPlus v24.2.0a | ||
* To see the full list of additions and changes, refer to the issue [#5240](https://github.com/NREL/OpenStudio/issues/5240) | ||
|
||
* [#5237](https://github.com/NREL/OpenStudio/pull/5237) - Updates to Controller:OutdoorAir | ||
* This PR implements the fields `Humidistat Control Zone Name` and `Electronic Enthalpy Limit Curve` | ||
* `ControllerOutdoorAir` has two API-breaking changes for `High Humidity Outdoor Air Flow Ratio` and `Control High Indoor Humidity Based on Outdoor Humidity Ratio`. These fields are now-required, so the getters no longer return an optional | ||
* `getHighHumidityOutdoorAirFlowRatio` (`boost::optional<double>` to `double`) | ||
* `getControlHighIndoorHumidityBasedOnOutdoorHumidityRatio` (`boost::optional<bool>` to `bool`) |
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.
- Start a 3.9.0 release notes with this API break and Update to EnergyPlus v24.2.0a #5242
--- | ||
# This YAML header controls the pandoc (via TeX) to PDF settings | ||
# To convert the markdown to pdf, do `pandoc release_notes.md -o release_notes.pdf` | ||
title: 'OpenStudio Release Notes - @VERSION@' | ||
author: | ||
- National Renewable Energy Laboratory | ||
colorlinks: true | ||
linkcolor: blue | ||
urlcolor: Mahogany | ||
toccolor: gray | ||
geometry: | ||
- margin=1in | ||
--- |
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 also adjusted the Release_Notes template.md to conform to latest format, and added some quick pandoc
settings to set the title, margin and colors. And most importantly, a reminder of how to generate the PDF from the Markdown file.
CI Results for 330ad0c:
|
Pull request overview
Checklist:
Pull Request Author
src/model/test
)src/energyplus/Test
)src/osversion/VersionTranslator.cpp
)Labels:
IDDChange
APIChange
Pull Request - Ready for CI
so that CI builds your PRReview Checklist
This will not be exhaustively relevant to every PR.