Skip to content
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

Fix #8670 - Example IDF File not valid per IDD: UnitaryHybridAC_DedicatedOutsideAir.idf #8671

Merged
merged 4 commits into from
Mar 30, 2021

Conversation

jmarrec
Copy link
Contributor

@jmarrec jmarrec commented Mar 30, 2021

Pull request overview

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

@jmarrec jmarrec added the Defect Includes code to repair a defect in EnergyPlus label Mar 30, 2021
@jmarrec jmarrec self-assigned this Mar 30, 2021
@@ -857,6 +857,7 @@
0.1, !- Mode 9 Minimum Supply Air Mass Flow Rate Ratio
1, !- Mode 9 Maximum Supply Air Mass Flow Rate Ratio
, !- Mode 10 Name
, !- Mode 10 Supply Air Temperature Lookup Table Name
Copy link
Contributor

Choose a reason for hiding this comment

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

@jmarrec Energy+.idd is also missing this field.

  A110, \field Mode 10 Name
        \type alpha
        \retaincase
        \note Enter a name for Mode 10.
        \type alpha
        \retaincase
        \note Enter the name of the Supply Air Temperature Lookup Table for Mode 10.
        \note Units for lookup table values should be in C.
        \note If this field is blank, Mode 10 will not be considered for any time step that requires ventilation, heating, cooling, humidification, or dehumidification.
  A111, \field Mode 10 Supply Air Humidity Ratio Lookup Table Name
        \type object-list
        \object-list MultivariateFunctions
        \note Enter the name of the Supply Air Humidity Ratio Lookup Table for Mode 10.
        \note Units for lookup table values should be in kgWater/kgDryAir.
        \note If this field is blank, Mode 10 will not be considered for any time step that requires ventilation, heating, cooling, humidification, or dehumidification.
  A112, \field Mode 10 System Electric Power Lookup Table Name

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That would explain it... I'll add it

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the catch @mjwitte

Added IDD field in 670e196.

This object really would be better off being an actual Extensible object... It is 5000 lines long, 660 fields.

jmarrec added 2 commits March 30, 2021 15:37
vim regex `:'<,'>s/A\(\d\+\)/\='A'.(submatch(1)+1)/g`
@Myoldmopar
Copy link
Member

@mjwitte if you are satisfied with this, you don't need to wait on all of CI to finish. I believe this is the last thing that can go in prior to the wrap up PRs.

@mjwitte
Copy link
Contributor

mjwitte commented Mar 30, 2021

@Myoldmopar I'm a little puzzled why there weren't any diffs from the first change to idf only. Maybe it doesn't use these higher modes?

@jmarrec
Copy link
Contributor Author

jmarrec commented Mar 30, 2021

@Myoldmopar I'm a little puzzled why there weren't any diffs from the first change to idf only. Maybe it doesn't use these higher modes?

I think it's because the Mode 6 is plain empty. On

for (int modeIter = 0; modeIter <= Numberofoperatingmodes - 1; ++modeIter) {

Numberofoperatingmodes = 6

@jmarrec
Copy link
Contributor Author

jmarrec commented Mar 30, 2021

Yup,

for (int i = FirstModeAlphaNumber; i <= NumAlphas; i = i + NumberOfAlphasPerMode) {
if (!lAlphaBlanks(i)) {
++Numberofoperatingmodes;
} else {
break;
}
}

So when it reaches

    ,                        !- Mode 6 Name

lAlphaBlanks(i) is true, so break. The rest is never read

Really, None of the others are actually filled out. The IDF snippet should be truncated at the end of Mode 5. This looks like a case of IDF Editor filling the default fields out, because this object isn't extensible.

@jmarrec
Copy link
Contributor Author

jmarrec commented Mar 30, 2021

I cut the IDF object at end of Mode 5 in 24ad155 @mjwitte

Copy link
Contributor

@mjwitte mjwitte left a comment

Choose a reason for hiding this comment

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

@jmarrec I was just coming to the same conclusion that it's not using most of that object. It also doesn't even look at A8, \field Method to Choose Controlled Inputs and Part Runtime Fraction.
Tested the revised file locally. All good.

@mjwitte mjwitte merged commit d9eaa42 into develop Mar 30, 2021
@mjwitte mjwitte deleted the 8670_Fix_ZoneHVACHybridUnitaryAC branch March 30, 2021 14:39
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.

Example IDF File not valid per IDD: UnitaryHybridAC_DedicatedOutsideAir.idf
8 participants