Skip to content

Revision to Sizing:Zone Error Message#8855

Merged
Myoldmopar merged 3 commits intodevelopfrom
8827LimitSizingZoneObjectMessageRevision
Jul 18, 2021
Merged

Revision to Sizing:Zone Error Message#8855
Myoldmopar merged 3 commits intodevelopfrom
8827LimitSizingZoneObjectMessageRevision

Conversation

@RKStrand
Copy link
Contributor

Pull request overview

  • Fixes Limit of Zone Cooling Design Supply Air Temperature in Sizing:Zone object #8827
  • This pull request provides code, unit tests, and modified documentation to fix a problem with the error messages for the supply air temperatures for the zone sizing object. When the object was read in, there was a built in assumption that neither the heating or cooling supply air temperature was negative. This was simply a test to avoid bad input. While "reasonable", this was never documented and led to a severe error. While very unlikely, it is possible that the values could be outside of the normal range. It was suggested that the logic be modified so that the error message was only a warning with a note to double check the input values. This was done and in addition it was verified that the heating supply air temperature is also greater than the cooling supply air temperature and that a severe error results if this is not the case. A new unit test was created to test the new subroutine that produces the new error messages. In addition, the documentation was enhanced so that the user knows that a warning will be produced if the supply air temperatures are negative and a severe error will be produced if the heating temperature is lower than the cooling temperature.

NOTE: ENHANCEMENTS MUST FOLLOW A SUBMISSION PROCESS INCLUDING A FEATURE PROPOSAL AND DESIGN DOCUMENT PRIOR TO SUBMITTING CODE

Pull Request Author

Add to this list or remove from it as applicable. This is a simple templated set of guidelines.

  • Title of PR should be user-synopsis style (clearly understandable in a standalone changelog context)
  • Label the PR with at least one of: Defect, Refactoring, NewFeature, Performance, and/or DoNoPublish
  • Pull requests that impact EnergyPlus code must also include unit tests to cover enhancement or defect repair
  • Author should provide a "walkthrough" of relevant code changes using a GitHub code review comment process
  • If any diffs are expected, author must demonstrate they are justified using plots and descriptions
  • If changes fix a defect, the fix should be demonstrated in plots and descriptions
  • If any defect files are updated to a more recent version, upload new versions here or on DevSupport
  • If IDD requires transition, transition source, rules, ExpandObjects, and IDFs must be updated, and add IDDChange label
  • If structural output changes, add to output rules file and add OutputChange label
  • If adding/removing any LaTeX docs or figures, update that document's CMakeLists file dependencies

Reviewer

This will not be exhaustively relevant to every PR.

  • Perform a Code Review on GitHub
  • If branch is behind develop, merge develop and build locally to check for side effects of the merge
  • If defect, verify by running develop branch and reproducing defect, then running PR and reproducing fix
  • If feature, test running new feature, try creative ways to break it
  • CI status: all green or justified
  • Check that performance is not impacted (CI Linux results include performance check)
  • Run Unit Test(s) locally
  • Check any new function arguments for performance impacts
  • Verify IDF naming conventions and styles, memos and notes and defaults
  • If new idf included, locally check the err file and other outputs

RKStrand added 3 commits June 29, 2021 16:09
Fixes a problem with the Sizing:Zone where there was an unwritten limit that the temperatures could not be less than zero.  Correction includes code changes, new subroutine, unit test, and documentation edits.
Forgot to run the clang-format thing before pushing the code.
@RKStrand RKStrand added the Defect Includes code to repair a defect in EnergyPlus label Jun 30, 2021
@RKStrand RKStrand requested review from Myoldmopar and mjwitte June 30, 2021 19:11
@RKStrand RKStrand self-assigned this Jun 30, 2021
Copy link
Member

@Myoldmopar Myoldmopar left a comment

Choose a reason for hiding this comment

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

All good here.

\paragraph{Field: Zone Cooling Design Supply Air Temperature}\label{field-zone-cooling-design-supply-air-temperature}

The supply air temperature in degrees Celsius for the zone cooling design air flow rate calculation. Air is supplied to the zone at this temperature during the cooling design day simulation, The zone load is met by varying the zone air flow rate. The maximum zone flow rate is saved as the~ zone cooling design air flow rate. This field is only used when Zone Cooling Design Supply Air Temperature Input Method = \textbf{SupplyAirTemperature}.
The supply air temperature in degrees Celsius for the zone cooling design air flow rate calculation. Air is supplied to the zone at this temperature during the cooling design day simulation. The zone load is met by varying the zone air flow rate. The maximum zone flow rate is saved as the~ zone cooling design air flow rate. This field is only used when Zone Cooling Design Supply Air Temperature Input Method = \textbf{SupplyAirTemperature}. If the value entered for this parameter is less than zero, a warning message is produced so that the user will double check the input to make sure it is correct.
Copy link
Member

Choose a reason for hiding this comment

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

Reasonable.

}
}

void ReportTemperatureInputError(
Copy link
Member

Choose a reason for hiding this comment

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

At first I wasn't quite sure why you were passing a zero in here, but this makes good sense now. Nice reuse of the new worker function.

" ** ~~~ ** ... incorrect Zone Heating Design Supply Air Temperature=[-2.00] is less than "
"Zone Cooling Design Supply Air Temperature=[-1.00]",
" ** ~~~ ** This is not allowed. Please check and revise your input."})));
}
Copy link
Member

Choose a reason for hiding this comment

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

Nice.

@Myoldmopar
Copy link
Member

I didn't see a defect file on the PR, the issue, or in DevSupport. The unit tests provide very good coverage, however, and the functionality being pulled into a small worker function makes it easy to understand the changes. This is good stuff. I pulled in develop and ran the full test suite, all good. CI is all happy as well. This is merging. Thanks @RKStrand

@Myoldmopar Myoldmopar merged commit 0295c89 into develop Jul 18, 2021
@Myoldmopar Myoldmopar deleted the 8827LimitSizingZoneObjectMessageRevision branch July 18, 2021 14:10
EnergyPlusData &state, std::string cObjectName, int const paramNum, Real64 comparisonTemperature, bool const shouldFlagSevere, bool &ErrorsFound)
{
if (state.dataIPShortCut->rNumericArgs(1) < comparisonTemperature) {
if (shouldFlagSevere) { // heating supply air temperature is lower than cooling supply air temperature--not allowed
Copy link
Contributor

Choose a reason for hiding this comment

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

@RKStrand I just encountered this error with a user's file. This seems overly strict. A warning would be fine, but halting the simulation seems overly strict. The only important thing is that the heating supply temp is greater than the heating setpoint. And likewise for cooling.

   ** Severe  ** Sizing:Zone="C00138" has invalid data.
   **   ~~~   ** ... incorrect Zone Heating Design Supply Air Temperature=[21.00] is less than Zone Cooling Design Supply Air Temperature=[24.00]
   **   ~~~   ** This is not allowed.  Please check and revise your input.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hmmm...I don't remember the specifics anymore as to why this was made a severe. In looking back at the issue, it seems like you advocated making this a warning. There are some other cases that are warnings. I'm not sure why this was made a "severe" except that it seems illogical to have a heating supply air temperature that is less than a cooling supply air temperature. I must not have foreseen this as a possibility. @Myoldmopar how should we proceed here?

Copy link
Contributor

Choose a reason for hiding this comment

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

@RKStrand Given that the original issues was about supply temps < 0, this check of heating > cooling supply temp added an additional constraint. I agree it typically might not make sense, so I would be fine with a warning. I will post a new issue for this.

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

Labels

Defect Includes code to repair a defect in EnergyPlus

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Limit of Zone Cooling Design Supply Air Temperature in Sizing:Zone object

7 participants