Skip to content

Start user-configurable datamode for UFS - #450

Open
NickSzapiro-NOAA wants to merge 6 commits into
ESCOMP:mainfrom
NickSzapiro-NOAA:datm_ufs_escomp
Open

NickSzapiro-NOAA wants to merge 6 commits into
ESCOMP:mainfrom
NickSzapiro-NOAA:datm_ufs_escomp

Conversation

@NickSzapiro-NOAA

Copy link
Copy Markdown
Contributor

Description of changes

Current data component datamodes explicitly define the variables in streams and to advertise for export.
These implement maps of given input data to particular export variables using specific physics and processing details.

To complement, here user's configuration defines input and export variables.
Input and export variables are defined in (existing) ESMF configuration datm.streams and initialized exp[nameinmodel]=strm[nameinfile].
Since all export variables are advertised, nameinmodel needs to be in ESMF field dictionary.

Then coded calculations/conversions can operate on the exportState, triggered via switches in new calc_opts namelist option. These calculate on specific nameinmodel in exportState.

Specific notes

There are UFS-specific choices related to configuration via ESMF config and data atmosphere nameinmodel variables in calc_opts.

It seems variations of approach could really be shared across data components and modeling systems.
A configurable import-export datamode would also be interesting.

Contributors other than yourself, if any: Gemini AI.
Builds on #442 #396 #412

CDEPS Issues Fixed (include github issue #): #442

Are there dependencies on other component PRs (if so list):

Are changes expected to change answers (bfb, different to roundoff, more substantial): bfb

Any User Interface Changes (namelist or namelist defaults changes): Added datm_in calc_opts, off by default

Testing performed (e.g. aux_cdeps, CESM prealpha, etc): UFS regression testing

Hashes used for testing: TODO

This branch has not been deployed

No deployments
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.

1 participant