-
Notifications
You must be signed in to change notification settings - Fork 394
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
Fixes and Documentation for Performance Overrides and Reporting #7822
Conversation
Dr. Latex (@Myoldmopar) could you look at the tables I just added? They have a lot of columns and could probably be made to render better. @mjwitte could you look over the IOref docs for the PerformancePrecisionTradeoffs object that is new and let me know what you think? |
@mjwitte I ended up making updates to the "classic" EP-Launch for this update, could you please do some checking when you test the next installer? |
Fixed the unit test that was failing but I did not see any issue with HospitalLowEnergy when run locally. Maybe it is just a timeout since it runs so slowly. |
I pushed a change that you can evaluate @JasonGlazer. It uses footnotes for long column names to help fit very wide tables onto a normal page. If you like it, you can adapt it and use it as you need. If not, just discard those changes. Here's one table I modified in this branch now: |
@Myoldmopar Is there a way to indicate where the wrapping should occur? I think that might be better than using abbreviations. |
With a tabularx environment, you can use a |
Hopefully the tables are good enough. |
@Myoldmopar and @mjwitte I would guess these failed tests don't have anything to do with my code but just that it has already fallen behind develop. Should I remerge develop or would you rather not have me put more onto the CI machines? |
@JasonGlazer The convection unit test is unrelated, and I'm hoping I have a fix in a different branch that will merge soon. However, the two performance log unit tests are popping up in a bunch of branches spuriously. It looks to me like it could be due to one of two things.
I would advise you to make the changes to the unit test file names, and make sure you are calling to clear those variables during the clear_state process. Then pull in develop one more time, CI should be happier, and we'll get this merged. |
|
||
\begin{lstlisting} | ||
|
||
\end{lstlisting} |
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.
Did you mean to put something in this block?
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.
Good question
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.
No need for this, I put examples in the IOref docs
13 & FALSE & CarrollMRT & MODE05 & 1 & 1 & TRUE & 1.00 & 32.76 \tabularnewline | ||
\bottomrule | ||
\end{longtable} | ||
} |
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.
The tables look good in the CI built IORef.
…. Made use of two files for append perflog unit tests
…tput-files/eplusout-perflogcsv.tex
@Myoldmopar I think I addressed everything you brought up. |
Excellent! I'll take a final look and we'll get this in. |
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, I think I'll just build this locally and test it quickly instead of waiting on CI to do it all. Save the CI cycles for other PRs.
Thanks for cleaning all this up, this is much nicer.
@@ -62,8 +62,3 @@ \section{eplusout\_perflog.csv} | |||
When using this file it is good to set PerformancePrecisionTradeoffs to default values the first time to establish a baseline then change one input at a time and rerunning to understand the impact of that input. The total runtime decrease | |||
and the impact on energy and the ocscillation variables should be considered prior to committing to a specific PerformancePrecisionTradeoffs scheme. | |||
|
|||
An example is shown below: |
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.
👍
@@ -404,6 +404,7 @@ void EnergyPlus::clearAllStates() | |||
UnitHeater::clear_state(); | |||
UnitVentilator::clear_state(); | |||
UserDefinedComponents::clear_state(); | |||
UtilityRoutines::clear_state(); |
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.
Very nice. There was a time when clear_states
were being added almost daily, but now it's a very rare thing for a namespace/module to not have one. This is good.
@@ -99,6 +99,14 @@ namespace UtilityRoutines { | |||
bool outputErrorHeader(true); | |||
ObjexxFCL::gio::Fmt fmtLD("*"); | |||
ObjexxFCL::gio::Fmt fmtA("(A)"); | |||
std::string appendPerfLog_headerRow(""); |
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 see that these are only in the cc file, not the header. That is a very good thing. There is no reason the implementation of this needs to be exposed to any other file, and the clear_state function clears these. 👍
// the following was added for unit testing to clear the static strings | ||
if (colHeader == "RESET" && colValue == "RESET") { | ||
headerRow = ""; | ||
valuesRow = ""; | ||
appendPerfLog_headerRow = ""; |
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 think a more ideal thing would be to just have a function called clearPerfLogHeaders()
rather than relying on special header names to clear these. But that is OK for right now. Next time you work on this area, please clean this out.
@@ -179,7 +179,7 @@ TEST_F(EnergyPlusFixture, UtilityRoutines_appendPerfLog2) | |||
// make sure the static variables are cleared | |||
UtilityRoutines::appendPerfLog("RESET", "RESET"); | |||
|
|||
DataStringGlobals::outputPerfLogFileName = "eplusout_perflog.csv"; | |||
DataStringGlobals::outputPerfLogFileName = "eplusout_2_perflog.csv"; |
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.
Nice.
The only failure is the |
Some tasks were identified prior to the I/O freeze for #7761 that are being completed in the pull request. This includes some code fixes but primarily is the documentation related to that work.
Pull Request Author
Add to this list or remove from it as applicable. This is a simple templated set of guidelines.
Reviewer
This will not be exhaustively relevant to every PR.