Rules and dictionary of Standard Names

Submitted by ligia.bernardet on Thu, 07/01/2021 - 16:54

Dear CCPPers,

If you are a CCPP developer, you know that Standard Names are a key piece of metadata to describe the quantities that are communicated between the host model and the physics schemes. As the number of CCPP schemes grew over the years, so did the number of Standard Names. One problem is that the rules to create names for newly added quantities are not clear, and there is no easy mechanism for scheme developers associated with various modeling centers and host models to know which Standard Names are already in use. This issue is described at https://github.com/NCAR/ccpp-physics/issues/638

There are a few initiatives happening to address these shortcomings. First, a GitHub repository (https://github.com/ESCOMP/CCPPStandardNames) has been established to house the rules and a dictionary of Standard Names. Second, two PRs have been submitted to this repository with a proposal for rules for Standard Name creation (https://github.com/ESCOMP/CCPPStandardNames/pull/14) and with a list of Standard Names proposed for use in CCPP Physics schemes (https://github.com/ESCOMP/CCPPStandardNames/pull/13). Note that this is meant to be a dynamic dictionary: when new Standard Names are needed in CCPP, they should be added to the dictionary.

The proposed names do not conform to what is used today in the CCPP Physics schemes and in the host models that use CCPP (e.g., UFS Atmospheric Model, CCPP Single Column Model, etc.). To start addressing that, we have created PRs to replace non-compliant standard names with compliant ones. These PRs were submitted to the ccpp-physics repository (https://github.com/NCAR/ccpp-physics/pull/687), to the UFS Atmospheric Model repository (fv3atm, https://github.com/NOAA-EMC/fv3atm/pull/337) and to the ccpp-scm repository (https://github.com/NCAR/ccpp-scm/pull/269). While the changes are extensive, regression tests were conducted and, as expected, the runs with replaced Standard Names produce bit-for-bit identical results when compared against previously generated baselines.

Here is what we need from CCPP developers. As an initial step, please review and comment on the rules (https://github.com/ESCOMP/CCPPStandardNames/pull/14). As a follow up step, please review the proposed Standard Names. We welcome you to review all PRs, but to make things easier, here is our suggestion: CCPP users associated with the UFS should concentrate their review on the fv3atm repository, CCPP users associated with the SCM should concentrate their review on the SCM repository, and all others should concentrate their review on the Standard Names dictionary. Once the reviews are in over the next week or so, the CCPP team at DTC will reconcile the comments and make sure we all go forward together with a single, well curated, set of standard names.

If you have any questions about this request or process, please post in the CCPP Physics GitHub discussions (https://github.com/NCAR/ccpp-physics/discussions). 

Thanks, 

Ligia and the CCPP team at DTC