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

Add new cloud standard name rule, and update cloud_area_fraction #37

Merged
merged 7 commits into from
Jun 26, 2023
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Metadata-standard-names.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ Note that appending '_on_previous_timestep' to standard_names in this section yi
* `real(kind=kind_phys)`: units = kg m-2
* `mass_content_of_cloud_liquid_water_in_atmosphere_layer`: Mass content of cloud liquid water in atmosphere layer
* `real(kind=kind_phys)`: units = kg m-2
* `cloud_area_fraction_in_atmosphere_layer`: Cloud area fraction in atmosphere layer
* `non-convective_cloud_area_fraction_in_atmosphere_layer`: cloud area fraction in atmosphere layer excluding clouds produced by the convective schemes
* `real(kind=kind_phys)`: units = 1
* `relative_humidity`: Relative humidity
* `real(kind=kind_phys)`: units = 1
Expand Down Expand Up @@ -802,9 +802,9 @@ Standard / required CCPP variables
* `integer(kind=)`: units = index
* `index_of_air_temperature_two_timesteps_back_in_xyz_dimensioned_restart_array`: Index of air temperature two timesteps back in xyz dimensioned restart array
* `integer(kind=)`: units = index
* `index_of_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_array`: Index of cloud area fraction in atmosphere layer in tracer concentration array
* `index_of_non-convective_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_array`: Index of non-convective cloud area fraction in atmosphere layer in tracer concentration array
* `integer(kind=)`: units = index
* `index_of_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array`: Index of cloud area fraction in atmosphere layer in xyz dimensioned restart array
* `index_of_non-convective_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array`: Index of non-convective cloud area fraction in atmosphere layer in xyz dimensioned restart array
* `integer(kind=)`: units = index
* `index_of_cloud_liquid_water_effective_radius_in_xyz_dimensioned_restart_array`: Index of cloud liquid water effective radius in xyz dimensioned restart array
* `integer(kind=)`: units = index
Expand Down Expand Up @@ -1967,7 +1967,7 @@ Standard / required CCPP variables
* `real(kind=kind_phys)`: units = kg kg-1
* `mass_number_concentration_of_cloud_liquid_water_particles_in_air_of_new_state`: Mass number concentration of cloud liquid water particles in air of new state
* `real(kind=kind_phys)`: units = kg-1
* `cloud_area_fraction_in_atmosphere_layer_of_new_state`: Cloud area fraction in atmosphere layer of new state
* `non-convective_cloud_area_fraction_in_atmosphere_layer_of_new_state`: Non-convective cloud area fraction in atmosphere layer of new state
* `real(kind=kind_phys)`: units = frac
* `graupel_mixing_ratio_wrt_moist_air_of_new_state`: Graupel mixing ratio wrt moist air of new state
* `real(kind=kind_phys)`: units = kg kg-1
Expand Down
5 changes: 5 additions & 0 deletions StandardNamesRules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,11 @@ CCPP Standard Name Rules
Otherwise the standard name should explicitly state the type of hydrometeor(s) the
named quantity represents (e.g. *graupel*).

#. By default, the term *cloud* refers to all cloud phases and cloud types. Otherwise
an additional prefix or suffix should be added to the standard name specifying what kind(s)
of clouds the variable repesents (e.g. *ice_cloud* if only including glaciated clouds, or
*cloud_at_500hPa* if only including clouds that exist at 500 hPa).

#. If possible, qualifiers should be limited in order to allow for a wide
applicability of the variable. In other words, don't qualify with _for ``_xyz``
unless a variable could not conceivably be used outside of the more
Expand Down
10 changes: 6 additions & 4 deletions standard_names.xml
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,9 @@
<standard_name name="mass_content_of_cloud_liquid_water_in_atmosphere_layer">
<type kind="kind_phys" units="kg m-2">real</type>
</standard_name>
<standard_name name="cloud_area_fraction_in_atmosphere_layer">
<standard_name
name="non-convective_cloud_area_fraction_in_atmosphere_layer"
Copy link
Collaborator

Choose a reason for hiding this comment

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

This violates the Standard Name Rules.
Rule 2 states that standard names must follow the CF metadata rules for constructing standard names. This document states:
"Standard names consist of lower-letters, digits and underscores, and begin with a letter. Upper case is not used."
Please remove dashes in standard names.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@gold2718 Good catch! I've gone ahead and removed the dash from the standard names.

Also, given that I am probably not going to be the only one who violates rule 2, I wonder if it would be worth adding a Github Action that checks that all of a PR's standard names are compliant? I'll go ahead and make a new issue so folks can discuss it there.

long_name="cloud area fraction in atmosphere layer excluding clouds produced by the convective schemes">
<type kind="kind_phys" units="1">real</type>
</standard_name>
<standard_name name="relative_humidity">
Expand Down Expand Up @@ -1241,10 +1243,10 @@
<standard_name name="index_of_air_temperature_two_timesteps_back_in_xyz_dimensioned_restart_array">
<type kind="" units="index">integer</type>
</standard_name>
<standard_name name="index_of_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_array">
<standard_name name="index_of_non-convective_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_array">
<type kind="" units="index">integer</type>
</standard_name>
<standard_name name="index_of_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array">
<standard_name name="index_of_non-convective_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array">
<type kind="" units="index">integer</type>
</standard_name>
<standard_name name="index_of_cloud_liquid_water_effective_radius_in_xyz_dimensioned_restart_array">
Expand Down Expand Up @@ -2993,7 +2995,7 @@
<standard_name name="mass_number_concentration_of_cloud_liquid_water_particles_in_air_of_new_state">
<type kind="kind_phys" units="kg-1">real</type>
</standard_name>
<standard_name name="cloud_area_fraction_in_atmosphere_layer_of_new_state">
<standard_name name="non-convective_cloud_area_fraction_in_atmosphere_layer_of_new_state">
<type kind="kind_phys" units="frac">real</type>
</standard_name>
<standard_name name="graupel_mixing_ratio_wrt_moist_air_of_new_state">
Expand Down