-
Notifications
You must be signed in to change notification settings - Fork 369
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
EAMxx: fix valgrind failures #6841
base: master
Are you sure you want to change the base?
Conversation
…adding Similar to what we do for FPE builds
|
This would mean a loss of some coverage, right? What's the alternate solution? |
Technically, yes. But the only alternative is to stuff the code with lots of if/ifdef, to make sure padding in packs is always valid. This is not much different from what we do for FPE. I think, as a double safety, we could make sure that packs and views in debug are always initialized with quiet_NaN() (or, more generally, with |
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.
If you plan a follow-on, this is fine.
In next. |
I was able to fix our valgrind failures by doing a few mods. Namely:
pow(UNINITED,exponent)
. The altearnative is to ensure the base is always inited, but there may be quite a few ramifications.se_XYZ
namelist variables in HOMME before reading them, in case they are missing in the input namelist. Usually, they are missing if not used (e.g., no point in settingse_ne
for DP runs, sincese_ne_x
andse_ne_y
will be used), but valgrind doesn't know that. @oksanaguba I added you as a reviewer for the handful of lines in namelist mod, just in case.i<10
was always going to be verified).NOTE: this PR does touch stuff outside of eamxx, so it will have to undergo nightly testing through next.