Skip to content

Conversation

@mkavulich
Copy link
Collaborator

@mkavulich mkavulich commented Aug 27, 2025

Description

This PR addresses the following issues:

In addition, this PR organizes the "constants" section alphabetically, and replaces the too-specific dry_air_density base name with dry_air, and change dry_air_density to density_of_dry_air to better fit with naming conventions in the updated rules.

Issues

Copy link
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks ok to me

Copy link
Collaborator

@nusbaume nusbaume left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @mkavulich! I had a few questions, but nothing that should hold up this particular PR.

</standard_name>
<standard_name name="specific_heat_of_dry_air_at_constant_pressure">
<type kind="kind_phys" units="J kg-1 K-1">real</type>
<standard_name name="fresh_liquid_water_density_at_0c"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be density_of_fresh_liquid_water_at_0c in order to better follow standard name rules?

</standard_name>
<standard_name name="do_lagrangian_vertical_coordinate"
<standard_name name="flag_for_lagrangian_vertical_coordinate"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was there a reason this change was made? I thought there was a general desire to try and avoid flag_for_X because it can be ambiguous as to what a "True" value actually means. However maybe I have been misunderstanding what the consensus is?

mkavulich and others added 2 commits September 24, 2025 13:22
Jesse's suggestion

Co-authored-by: Jesse Nusbaumer <nusbaume@ucar.edu>
@mkavulich mkavulich merged commit 777e89e into ESCOMP:release/v1 Sep 24, 2025
3 checks passed
mkavulich added a commit that referenced this pull request Dec 8, 2025
## Description
This PR merges The `release/v1` branch into the `main` branch.

The `release/v1` branch was split off from `main` about a year ago, with the intention to make major rules and name changes to improve the consistency and maintainability of both the rules and the names, without giving major inconveniences/disruption to those currently making use of the main branch. After a year of discussion and changes, it is time to bring these changes to their final resting place in the main branch.

The major breaking and/or non-back-compatible changes can be summarized as such (See the subsections below for specific details about these changes):

 - the physics `kind` field is removed
 - the `long_name` field is changed to `description`
 - Several changes to particular terms and components of existing names have been made


After this PR is merged, a `v1.0.0` tag will be created, representing the first true "versioned" version of the ESM Standard Names. While more rule changes are likely in the future to resolve open and future issues, this should be a more stable jumping-off point to allow updates and reconciliation with the names in the CCPP physics repository, which has not been resolved in many years now.

For those who have not been following along with the discussion and changes related to the **v1** branch, here is a summary of each of the changes made on this branch:

### #85 First rules update, fixing misspelled standard names
This first change introduced some changes to the Rules document based on discussion in the CCPP framework regular meetings. These rules changes can be summarized as follows
 - Introduced a more rigorous and standardized formula for constructing new standard names, with specific rules and definitions of each component of the name, attempting to cover all possible cases 
 - Introduced the concept of "suffixes" to compliment prefixes, with mixing_ratio_wrt``_Y`` being the first example
 - Introduced the concept of "Reserved phrases"...for now only including "CCPP" as a reference to CCPP-specific variables

In addition, a large number of misspellings within the existing names and rules were fixed.

### #87 Second rules update in v1 branch, update several name types
This second change introduced the concept of "base names"; representing the main entity from which a standard name is constructed. Some existing prefixes (`surface_X` and `air_X`) were converted to suffixes (`X_at_surface` and `X_of_air`) to improve consistency with other existing names and rules, and some superfluous `surface` wording was removed from several names. The definitions for mixing ratios were improved, and the rules for constructing new names were updated and improved.

### #104 Add techincal specification, substitute abbreviations, include base name definitions
This third rules change included some info about technical specifications of the standard names repository, and some formatting improvements. Instances of the term `weight` were changed to `scaling_factor` to avoid potential confusion with the physical property of weight. `long_name` descriptions were added for all the new "base names" with a few minor exceptions. Some new abbreviations were defined to help shorten names. Some unused and duplicate entries were removed. Finally, CCPP-specific variables were consolidated into their own section.

### #116 Rename long_name --> description, update description rules, expand list of abbreviations
This fourth change renamed the `long_name` field to `description`, clarifying that this field should be unique, and improving/fixing some existing descriptions. Some more duplicate entries were removed. Some additional new abbreviations were defined to continue shortening names. Finally, continued defining more abbreviations to help shorten standard names further.

### #124 Remove `kind` entry, clarify rules for units and disallowed terms
This fifth and final change to the v1 branch (aside from another PR to resolve intervening changes from the main branch) updated the rules to clarify disallowed terms and the role of `units`, and removed the `kind` entry. The `constants` section was organized alphabetically, and changed some names regarding `dry_air`. 

## Issues
Resolves
 - #48 
 - #68 
 - #94 
 - #102

Also reference already-closed issues:
 - #92 
 - #93 
 - #95 
 - #103 

---------

Co-authored-by: Jesse Nusbaumer <nusbaume@ucar.edu>
Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
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.

3 participants