-
Notifications
You must be signed in to change notification settings - Fork 141
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
Bug Flag cleanup #1089
Bug Flag cleanup #1089
Conversation
@laurenchilutti |
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.
All is good except the changes to make_exchange_reproduce. That is a feature used for perfornance and not a bug or workaround. Please restore this functionality.
You need to create an issue for this PR and link it in the description. |
@laurenchilutti, all the pe's are writing out the error messages. |
@thomas-robinson @rem1776 Could one of you add MiKyung as a reviewer on this? I don;t have approproate permissions in this repository to add reviewers. And for everyone reviewing: I have changes I'm ready to push as soon as my land model test finishes. |
…ly ouput to root pe now
…nize nested if loop for mpp_error calls related to deprecated bug flags
@mlee03 @uramirez8707 My latest commit should address all comments so far. Let me know if you see any other improvements I could make to the code |
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 mpp_error fatal should be called by all of the cores. This should be changed.
When you change the indents, you take responsibility for those lines of code. This doesn't need to be changed, but you should be aware.
data_override/data_override.F90
Outdated
@@ -201,6 +201,13 @@ subroutine data_override_init(Atm_domain_in, Ocean_domain_in, Ice_domain_in, Lan | |||
unit = stdlog() | |||
write(unit, data_override_nml) | |||
|
|||
! grid_center_bug is no longer supported. | |||
if (grid_center_bug) then | |||
if (mpp_pe() == mpp_root_pe()) call mpp_error(FATAL, "data_override_init: You have overridden the default " // & |
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.
why is only mpp_root_pe
calling the fatal?
horiz_interp/horiz_interp.F90
Outdated
"and set it to .true. in horiz_interp_nml. This is a temporary workaround to " // & | ||
"allow for consistency in continuing experiments. Please remove this namelist " ) | ||
if (reproduce_siena) then | ||
if (mpp_pe() == mpp_root_pe()) call mpp_error(FATAL, "horiz_interp_mod: You have overridden the default " // & |
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.
why is only mpp_root_pe
calling the fatal?
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.
@thomas-robinson, that's my fault. The error messages were being written out by all the pe's
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.
@mlee03 Yes printing the error is good for a FATAL
message. All of the PEs should hit this, call MPI_ABORT
in mpp_error
, and produce the same tracebacks. If some of them go past this, it will create different tracebacks for different cores even though they all experienced the same issue.
The only time you want to potentially limit a call to mpp_error would be if you are calling a WARNING
, especially in a loop.
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.
Thanks for catching this, now that I have a better understanding I will go ahead and remove the if (mpp_pe() == mpp_root_pe())
preceding all of the FATAL errors.
interpolator/interpolator.F90
Outdated
call write_version_number("INTERPOLATOR_MOD", version) | ||
|
||
if (mpp_pe() == mpp_root_pe() ) write (stdlog(), nml=interpolator_nml) | ||
if (mpp_pe() == mpp_root_pe() ) write (stdlog(), nml=interpolator_nml) | ||
|
||
module_is_initialized = .true. | ||
module_is_initialized = .true. |
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.
This is fine, BUT now you own these lines of code. git blame
will show up as you.
… a whitespace change in interpolator
Description
The following are outdated flags used in FMS that I am phasing out:
NOT REMOVING:
reproduce_null_char_bug_flag: needed by MOM6 until MOM6 switches to fms2io
make_exchange_reproduce: a feature of FMS that needs to remain
In this PR I have removed any code associated with these flags, but am allowing the flags to still be defined in a namelist as long as the flag is set to
.false.
. If set to.true.
, a fatal will be issued.Fixes #1093
How Has This Been Tested?
Tested via make check on Gaea
Tested with land model intel19 on gaea
Checklist:
make distcheck
passes