CCPP Framework to provide API calls for suite inspection by host
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 25
- Forks
- 67
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 2
Description
Description
In the UFS (and copied in the SCM) the host needs to know information about the suite being run in order to conditionally allocate variables and set some control parameters. Right now, there is the messy situation that these control variables are set via namelist, regardless of what is actually in the SDF, which necessitated adding a bunch of consistency checks in the host code (see, e.g. https://github.com/NOAA-EMC/fv3atm/pull/302) and/or in the init stage of schemes. The namelist variables (most? all?) can go away if there was a way for the host to ask the framework if scheme X is present in the SDF.
Solution
Add a function in the CCPP API like scheme_in_suite_check('scheme_X') that returns a boolean.
Alternatives (optional)
Status quo: namelist variables that must be made consistent with the SDF (currently manually) and check for errors at run-time in the code.
Related to (optional)
Related to https://github.com/NOAA-EMC/fv3atm/pull/302.
Apologies if this functionality already exists or has been planned.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the CCPP API and how the framework reads the suite and SDF, then compare that path with the proposed scheme_in_suite_check('scheme_X') entry point. Done means the host can query whether a named scheme is present and receive a boolean without relying on manually synchronized namelist variables.
Written by the indexing model from the issue text.
Assessment
- Domain
- api
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100