-
Notifications
You must be signed in to change notification settings - Fork 125
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
Sorting out check_nml_error calls #213
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…t do namelist checking.
…error if there is a problem in the namelist.
…eading but not another. Trying to catch these cases.
sit23
added
io
Input/output (including fieldnames)
priority:high
High-priority task
trip tests passing
priority:medium
Medium-piority task
and removed
priority:high
High-priority task
labels
Jun 25, 2021
penmaher
approved these changes
Jun 28, 2021
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.
Hi Stephen. No changes requested from me. Clear PR purpose, the changes are helpful, changes are straightforward and pass the trip tests. All good to merge in.
Thanks @penmaher. Merging now... |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Many of the fortran modules in Isca rely on reading namelists to set their parameters. The FMS upon which Isca is built has a built-in-method (
check_nml_error
) to make sure that the namelists are read in properly. This is to prevent problems such as when a namelist parameter is put in the namelist for a module that doesn't exist in that module. When this happens andcheck_nml_error
is not called, the reading of the namelist for that module fails, but the user is given no warning. The module in question then runs with its default values for all namelist parameters. This is clearly a bad thing, as you want to know when the namelist is not being read. On the other hand, when check_nml_error is run and it finds a problem as just descried, the model throws a fatal error.As described in issue #48, not all of Isca's modules do this error checking. This P/R aims to add namelist error checking to all remaining fortran files that include namelists. I first wrote a python script to find all of Isca's fortran files, and then find those that do error checking, and those that do not. I then manually went through and added the checks to all the modules it brought up. This should mean that namelist error checking is done my every module that requires it.
The trip tests have been performed for these files, and they pass: