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

Create the input.nml file from global_control.nml.IN template #2733

Draft
wants to merge 7 commits into
base: develop
Choose a base branch
from

Conversation

dpsarmie
Copy link

Description

This PR aims to bridge the GW ad regression test workflow. The regression tests have a new global_control.nml.IN for all global regression tests. The idea is to allow the GW framework to use this template to generate the input.nml that is used in the GW.

By pulling from a unified namelist, changes made on the regression test side can easily be added to the GW side and vice versa.

The parsing scripts in ./ush/ will be changed to use atparse to generate the input.nml file from the global_control.nml.IN namelist.

This PR will resolve #2731 and ufs-community/ufs-weather-model#1664.

Type of change

  • New feature (adds functionality)

Change characteristics

  • Is this a breaking change (a change in existing functionality)? NO
  • Does this change require a documentation update? YES

How has this been tested?

  • Forecast-only on Hera, atmosphere only

Checklist

  • Any dependent changes have been merged and published
  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • I have made corresponding changes to the documentation if necessary

dpsarmie and others added 7 commits June 5, 2024 18:34
This represents the first pass of the parsing script. Tests show
that it is working as intended. Next iterations will trim down the
number of arguements as needed.
This commit reduced some of the redundant calls and settings that
were default in the global_control.nml.IN.  Changes were conservative
to avoid future conflicts with variables that need to have dynamic values.
Comments were also removed that were present in the previous commit.
Added a new function to compile the namelist after all environmental
variables have been defined. Allows for different coupling cases to
aggregate a finished namelist via atparse.
@dpsarmie
Copy link
Author

dpsarmie commented Jun 27, 2024

This is currently a work in progress. The UFS regression tests are currently being updated to work with GFSv17 and officially deprecating v16. This will probably cause changes to the global namelist template, so this will remain a draft until then.

Once I'm done updating the RT side and have a finalized global_control.nml.IN file, I'll circle back to this and finish up the rest.

The commit should be ~90% of the way there. Jun and I wanted to get this PR posted in case other people on the GW side wanted to look at the changes and to gather any input.

The global_control.nml.IN file added here will be removed in the final commit (just here for testing). The 'unified' namelist will be on the UFS regression test side once the PR is complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace current input.nml parser and add compatibility with RT namelist
1 participant