From 8765c13a313545958ff6dc0455fe410f9655897f Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Mon, 17 May 2021 16:58:22 -0600 Subject: [PATCH 01/10] Initial import of file with rules to create Standard Names. --- StandardNamesRules.rst | 515 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 515 insertions(+) create mode 100644 StandardNamesRules.rst diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst new file mode 100644 index 0000000..8cfcc74 --- /dev/null +++ b/StandardNamesRules.rst @@ -0,0 +1,515 @@ +.. # define a hard line break for HTML +.. |br| raw:: html + +
+ +******************* +CCPP Standard Names +******************* + +This document contains information about the rules used to create Standard Names +for use with the Common Community Physics Package (CCPP). It describes the + +* CCPP Standard Name Rules +* Standard Name Qualifiers +* Other common standard name components +* Acronyms, Abbreviations, Aliases + +.. _Rules: +======================== +CCPP Standard Name Rules +======================== + +#. Standard names should be identical to those from the Climate and Forecast (CF) + metadata conventions unless an appropriate name does not exist in that standard. + https://cfconventions.org/standard-names.html (use the latest version). + +#. When a standard name doesn’t exist in the CF conventions, follow their + guidelines for standard name construction at this URL: + http://cfconventions.org/Data/cf-standard-names/docs/guidelines.html. Standard + names may be qualified by the addition of phrases in certain standard forms and + order. The "Qualifications" section of the CF guidelines should be used to + provide information about a variable's horizontal surface (e.g. at_cloud_base), + component (i.e. direction of variable, e.g. downward), medium (e.g. + in_stratosphere), process (e.g. due_to_deep convection), or condition (e.g., + assuming_clear_sky). The order defined by the CF rules should be observed. These + qualifications do not change the units of the quantity. + + All of the following phrases in brackets are optional. The words in ``this font`` + appear explicitly as stated, while the words in *italic* indicate other + words or phrases to be substituted. The new standard name is constructed by + joining the base standard name to the qualifiers using underscores. + + [*surface*] [*component*] standard_name [``at`` *surface*] [``in`` *medium*] + [``due_to`` *process*] [``assuming`` *condition*] + + See the list of currently-used :numref:`qualifications %s ` for help. + +#. Variables are current and instantaneous unless specified. Variables that are not + current (e.g., previous timestep) or non-instantaneous (e.g., accumulated values) + should have qualifiers in the standard name to describe what they represent. + +#. By default (when not specified otherwise), variables are grid means or centers + (defined by the host). If a variable is defined at a different physical location, + a qualifier should be used to denote this. For example, for variables + representing quantities at the interface between grid cells vertically, + use at_interface. + +#. 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 + narrowly-defined context OR a variable without the scope-narrowing qualifiers + already exists and cannot be reused. + +#. Spell out acronyms unless they are obvious to a vast majority of + scientists/developers who may come across them. Here is a list of + currently-used aliases where either is acceptable. + +#. For control-oriented variables, if the variable is a Fortran logical, + use flag_for_X. If it is any other data type, use control_for_X.All flags + should be Fortran logicals. + +#. No punctuation should appear in standard names except for underscores (_). + +#. Standard names are case insensitive, i.e. example = EXAMPLE. + +.. _Qualifiers: +======================== +Qualifiers +======================== +black = existing CF qualifier +**bold** = **proposed new qualifier** + +---------- +XY-surface +---------- + +Prefixes +======== + +|toa +|tropopause +|surface + +Suffixes +======== + +|at_adiabatic_condensation_level +|at_cloud_top +|at_convective_cloud_top +at_cloud_base +at_convective_cloud_base +at_freezing_level +at_ground_level +at_maximum_wind_speed_level +at_sea_floor +at_sea_ice_base +at_sea_level +at_top_of_atmosphere_boundary_layer +at_top_of_atmosphere_model +at_top_of_dry_convection +**at_interface** +**at_surface_adjacent_layer OR at_bottom_layer OR at_lowest_model_layer** +**at_2m** +**at_10m** +**at_bottom_interface** +**at_pressure_levels** +**at_top_of_viscous_sublayer** +**at_various_atmosphere_layers** + +--------- +Component +--------- + +Prefixes +======== + +upward +downward +northward +southward +eastward +westward +x +y + +--------------------------- +Special Radiation Component +--------------------------- + +Prefixes +======== + +net +upwelling +downwelling +incoming +outgoing + +------ +Medium +------ + +Suffixes +======== + +in_air +in_atmosphere_boundary_layer +in_mesosphere +in_sea_ice +in_sea_water +in_soil +in_soil_water +in_stratosphere +in_thermosphere +in_troposphere +in_atmosphere +in_surface_snow +**in__thermocline** +**in_canopy** +**in_lake** +**in_aquifer** +**in_aquifer_and_saturated_soil** +**in_convective_tower** +**etween_soil_bottom_and_water_table** + +------- +Process +------- + +Suffixes +======== + +due_to_advection +due_to_convection +due_to_deep_convection +due_to_diabatic_processes +due_to_diffusion +due_to_dry_convection +due_to_gravity_wave_drag +due_to_gyre +due_to_isostatic_adjustment +due_to_large_scale_precipitation +due_to_longwave_heating +due_to_moist_convection +due_to_overturning +due_to_shallow_convection +due_to_shortwave_heating +due_to_thermodynamics +due_to_background +**due_to_subgrid_scale_vertical_mixing** +**due_to_convective_microphysics** +**due_to_model_physics** +**due_to_convective_gravity_wave_drag** +**due_to_shoc** +**due_to_dynamics** + +--------- +Condition +--------- + +Suffixes +======== + +assuming_clear_sky +assuming_deep_snow +assuming_no_snow +**over_land** +**over_ocean** +**over_ice** +**for_momentum** +**for_heat** +**for_moisture** +**for_heat_and_moisture** +**assuming_shallow** +**assuming_deep** + +---- +Time +---- + +Suffixes +======== + +**of_new_state OR updated_by_physics** +**on_physics_timestep** +**on_dynamics_timestep** +**on_radiation_timestep** +**on_previous_timestep** +**N_timesteps_back** + +------------- +Computational +------------- + +Prefixes and Suffixes +===================== + +**real** +**for_coupling** +**for_chemistry_coupling** +**from_coupled_process** +**from_wave_model** +**collection_array** +**lower_bound_of** +**upper_bound_of** +**unfiltered** +**nonnegative** +**flag_for** +**control_for** +**number_of** +**index_of** +**vertical_index_at** +**vertical_dimension_of** +**volumetric** +**cumulative** +**multiplied_by_timestep** +**iounit_of** +**filename_of** +**frequency_of** +**period_of** +**XYZ_dimensioned** +**tendency_of_X** +**generic_tendency** +**for_current_mpi_rank** +**for_current_cubed_sphere_tile** +**plus_one** +**minus_one** +**one_way_coupling_of_X_to_Y** +**for_radiation** +**for_deep_convection** +**for_microphysics** +**directory_for_X_source_code** +**flag_for_reading_X_from_input** +**tunable_parameters[s]_for_X** +**map_of** + +--------------- +Transformations +--------------- + +Prefixes +======== +change_over_time_in_X +[horizontal_]convergence_of_X +correlation_of_X_and_Y[_over_Z] +covariance_of_X_and_Y[_over_Z] +component_derivative_of_X +derivative_of_X_wrt_Y +direction_of_X +[horizontal_]divergence_of_X +histogram_of_X[_over_Z] +integral_of_Y_wrt_X +ln_X +log10_X +magnitude_of_X +probability_distribution_of_X[_over_Z] +probability_density_function_of_X[_over_Z] +product_of_X_and_Y +ratio_of_X_to_Y +square_of_X +tendency_of_X +**standard_deviation_of_X** +**reciprocal_of_X** +**cosine_of_X** +**sine_of_X** +**variance_of_X** + +===================================== +Other common standard name components +===================================== + +--------------- +Special phrases +--------------- + ++------------------------+-------------------------------------------------------------------------------------+ +| **Phrase** | **Meaning** | ++========================+=====================================================================================+ +| anomaly | difference from climatology | ++------------------------+-------------------------------------------------------------------------------------+ +| area | horizontal area unless otherwise stated | ++------------------------+-------------------------------------------------------------------------------------+ +| atmosphere | used instead of in_air for quantities which are large-scale rather than local | ++------------------------+-------------------------------------------------------------------------------------+ +| condensed_water | liquid and ice | ++------------------------+-------------------------------------------------------------------------------------+ +|frozen_water | ice | ++------------------------+-------------------------------------------------------------------------------------+ +| longwave | longwave radiation | ++------------------------+-------------------------------------------------------------------------------------+ +| moisture | water in all phases contained in soil | ++------------------------+-------------------------------------------------------------------------------------+ +| ocean | used instead of in_sea_water for quantities which are large-scale rather than local | ++------------------------+-------------------------------------------------------------------------------------+ +| shortwave | shortwave radiation | ++------------------------+-------------------------------------------------------------------------------------+ +| specific | per unit mass unless otherwise stated | ++------------------------+-------------------------------------------------------------------------------------+ +| unfrozen_water | liquid and vapor | ++------------------------+-------------------------------------------------------------------------------------+ +| water | water in all phases if not otherwise qualified | ++------------------------+-------------------------------------------------------------------------------------+ +| **dimensionless** | **lacking units** | ++------------------------+-------------------------------------------------------------------------------------+ +| **kinematic** | **refers to surface fluxes in "native" units (K m s-1 and kg kg-1 m s-1)** | ++------------------------+-------------------------------------------------------------------------------------+ +| **direct** | **used in radiation (as opposed to diffuse)** | ++------------------------+-------------------------------------------------------------------------------------+ +| **diffuse** | **used in radiation (as opposed to direct)** | ++------------------------+-------------------------------------------------------------------------------------+ + + +---------------- +Chemical Species +---------------- + ++------------------------+ +| **Species** | ++========================+ +|carbon_dioxide | +|dimethyl_sulfide | +|nitrate | +|nitrate_and_nitrite | +|nitrite | +|oxygen | +|ozone | +|phosphate | +|silicate | +|sulfate | +|sulfur_dioxide | ++------------------------+ + + +Generic Names +The following names are used with consistent meanings and units as elements in +other standard names, although they are themselves too general to be chosen as +standard names. They are recorded here for reference only. These are not +standard names. + +------------ +Generic Name +------------ + ++-------------------------------------------+-----------------+ +| **Generic Name** | **Units** | ++===========================================+=================+ +| amount | kg m-2 | ++-------------------------------------------+-----------------+ +| area | m2 | ++-------------------------------------------+-----------------+ +| area_fraction | 1 | ++-------------------------------------------+-----------------+ +| binary_mask | 1 | ++-------------------------------------------+-----------------+ +| data_mask | 1 | ++-------------------------------------------+-----------------+ +| density | kg m-3 | ++-------------------------------------------+-----------------+ +| energy | J | ++-------------------------------------------+-----------------+ +| energy_content | J m-2 | ++-------------------------------------------+-----------------+ +| energy_density | J m-3 | ++-------------------------------------------+-----------------+ +| frequency | s-1 | ++-------------------------------------------+-----------------+ +| frequency_of_occurrence | s-1 | ++-------------------------------------------+-----------------+ +| heat_flux | W m-2 | ++-------------------------------------------+-----------------+ +| heat_transport | W | ++-------------------------------------------+-----------------+ +| horizontal_streamfunction | m2 s-1 | ++-------------------------------------------+-----------------+ +| horizontal_velocity_potential | m2 s-1 | ++-------------------------------------------+-----------------+ +| mass | kg | ++-------------------------------------------+-----------------+ +| mass_flux | kg m-2 s-1 | ++-------------------------------------------+-----------------+ +| mass_fraction | 1 | ++-------------------------------------------+-----------------+ +| mass_mixing_ratio | 1 | ++-------------------------------------------+-----------------+ +| mass_transport k | g s-1 | ++-------------------------------------------+-----------------+ +| mole_fraction | 1 | ++-------------------------------------------+-----------------+ +| mole_flux mol | m-2 s-1 | ++-------------------------------------------+-----------------+ +| momentum_flux | Pa | ++-------------------------------------------+-----------------+ +| partial_pressure | Pa | ++-------------------------------------------+-----------------+ +| period | s | ++-------------------------------------------+-----------------+ +| power | W | ++-------------------------------------------+-----------------+ +| pressure | Pa | ++-------------------------------------------+-----------------+ +| probability | 1 | ++-------------------------------------------+-----------------+ +| radiative_flux | W m-2 | ++-------------------------------------------+-----------------+ +| specific_eddy_kinetic_energy | m2 s-2 | ++-------------------------------------------+-----------------+ +| speed | m s-1 | ++-------------------------------------------+-----------------+ +| stress | Pa | ++-------------------------------------------+-----------------+ +| temperature | K | ++-------------------------------------------+-----------------+ +| thickness | m | ++-------------------------------------------+-----------------+ +| velocity | m s-1 | ++-------------------------------------------+-----------------+ +| volume | m3 | ++-------------------------------------------+-----------------+ +| volume_flux | m s-1 | ++-------------------------------------------+-----------------+ +| volume_fraction | 1 | ++-------------------------------------------+-----------------+ +| volume_transport | m3 s-1 | ++-------------------------------------------+-----------------+ +| vorticity | s-1 | ++-------------------------------------------+-----------------+ + +================================ +Acronyms, Abbreviations, Aliases +================================ + + ++---------------------+---------------------------------------------------------+ +| **Short** | **Meaning** | ++=====================+=========================================================+ +| ir | infrared | ++---------------------+---------------------------------------------------------+ +| IR | infared | ++---------------------+---------------------------------------------------------+ +| lwe | liquid water equivalent | ++---------------------+---------------------------------------------------------+ +| max | maximum | ++---------------------+---------------------------------------------------------+ +| min | minimum | ++---------------------+---------------------------------------------------------+ +| nir | near-infrared part of the EM spectrum (radiation) | ++---------------------+---------------------------------------------------------+ +| stp | standard temperature (0 degC) and pressure (101325 Pa) | ++---------------------+---------------------------------------------------------+ +| toa | top of atmosphere | ++---------------------+---------------------------------------------------------+ +| TKE | turbulent kinetic energy | ++---------------------+---------------------------------------------------------+ +| tke | turbulent kinetic energy | ++---------------------+---------------------------------------------------------+ +| uv | ultraviolet part of the EM spectrum (radiation) | ++---------------------+---------------------------------------------------------+ +| UV | ultraviolet part of the EM spectrum (radiation) | ++---------------------+---------------------------------------------------------+ +| vis | visible part of the EM spectrum (radiation) | ++---------------------+---------------------------------------------------------+ +| VIS | visible (light spectrum) | ++---------------------+---------------------------------------------------------+ +| wrt | with respect to | ++---------------------+---------------------------------------------------------+ From 60a6068b218d7a52a2ed65184f1ca7044cf42701 Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Mon, 17 May 2021 21:41:57 -0600 Subject: [PATCH 02/10] Improve format. --- StandardNamesRules.rst | 57 ++++++++++++++++++++++++++---------------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 8cfcc74..b06e5a9 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -10,19 +10,20 @@ CCPP Standard Names This document contains information about the rules used to create Standard Names for use with the Common Community Physics Package (CCPP). It describes the -* CCPP Standard Name Rules -* Standard Name Qualifiers +* CCPP Standard Name rules +* Standard Name qualifiers * Other common standard name components -* Acronyms, Abbreviations, Aliases +* Acronyms, abbreviations, and aliases -.. _Rules: +.. _Rules ======================== CCPP Standard Name Rules ======================== -#. Standard names should be identical to those from the Climate and Forecast (CF) - metadata conventions unless an appropriate name does not exist in that standard. - https://cfconventions.org/standard-names.html (use the latest version). +#. Standard names should be identical to those from the latest version of the + `Climate and Forecast (CF) + metadata conventions `_ + unless an appropriate name does not exist in that standard. #. When a standard name doesn’t exist in the CF conventions, follow their guidelines for standard name construction at this URL: @@ -58,12 +59,13 @@ CCPP Standard Name Rules #. 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 - narrowly-defined context OR a variable without the scope-narrowing qualifiers + narrowly-defined context or a variable without the scope-narrowing qualifiers already exists and cannot be reused. #. Spell out acronyms unless they are obvious to a vast majority of - scientists/developers who may come across them. Here is a list of - currently-used aliases where either is acceptable. + scientists/developers who may come across them. Here is a + :numref:`list of currently-used aliases %s ` where either is + acceptable. #. For control-oriented variables, if the variable is a Fortran logical, use flag_for_X. If it is any other data type, use control_for_X.All flags @@ -74,10 +76,12 @@ CCPP Standard Name Rules #. Standard names are case insensitive, i.e. example = EXAMPLE. .. _Qualifiers: + ======================== Qualifiers ======================== black = existing CF qualifier + **bold** = **proposed new qualifier** ---------- @@ -87,16 +91,16 @@ XY-surface Prefixes ======== -|toa -|tropopause -|surface +| toa +| tropopause +| surface Suffixes ======== -|at_adiabatic_condensation_level -|at_cloud_top -|at_convective_cloud_top +| at_adiabatic_condensation_level +| at_cloud_top +| at_convective_cloud_top at_cloud_base at_convective_cloud_base at_freezing_level @@ -165,7 +169,7 @@ in_thermosphere in_troposphere in_atmosphere in_surface_snow -**in__thermocline** +**in_diurnal_thermocline** **in_canopy** **in_lake** **in_aquifer** @@ -338,7 +342,7 @@ Special phrases +------------------------+-------------------------------------------------------------------------------------+ | longwave | longwave radiation | +------------------------+-------------------------------------------------------------------------------------+ -| moisture | water in all phases contained in soil | +| moisture | water in all phases contained in soil | +------------------------+-------------------------------------------------------------------------------------+ | ocean | used instead of in_sea_water for quantities which are large-scale rather than local | +------------------------+-------------------------------------------------------------------------------------+ @@ -368,15 +372,25 @@ Chemical Species | **Species** | +========================+ |carbon_dioxide | ++------------------------+ |dimethyl_sulfide | ++------------------------+ |nitrate | ++------------------------+ |nitrate_and_nitrite | ++------------------------+ |nitrite | ++------------------------+ |oxygen | ++------------------------+ |ozone | ++------------------------+ |phosphate | ++------------------------+ |silicate | ++------------------------+ |sulfate | ++------------------------+ |sulfur_dioxide | +------------------------+ @@ -475,10 +489,11 @@ Generic Name | vorticity | s-1 | +-------------------------------------------+-----------------+ -================================ -Acronyms, Abbreviations, Aliases -================================ +.. _Aliases: +==================================== +Acronyms, Abbreviations, and Aliases +==================================== +---------------------+---------------------------------------------------------+ | **Short** | **Meaning** | From 3f5c882b8ac15f0d3e8dd7b47071aa3743ab15be Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Mon, 17 May 2021 21:56:15 -0600 Subject: [PATCH 03/10] Format updates. --- StandardNamesRules.rst | 321 ++++++++++++++++++++--------------------- 1 file changed, 160 insertions(+), 161 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index b06e5a9..905ab63 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -20,10 +20,10 @@ for use with the Common Community Physics Package (CCPP). It describes the CCPP Standard Name Rules ======================== -#. Standard names should be identical to those from the latest version of the - `Climate and Forecast (CF) - metadata conventions `_ - unless an appropriate name does not exist in that standard. +#. Standard names should be identical to those from the latest version + of the `Climate and Forecast (CF) metadata + conventions `_ unless + an appropriate name does not exist in that standard. #. When a standard name doesn’t exist in the CF conventions, follow their guidelines for standard name construction at this URL: @@ -44,7 +44,7 @@ CCPP Standard Name Rules [*surface*] [*component*] standard_name [``at`` *surface*] [``in`` *medium*] [``due_to`` *process*] [``assuming`` *condition*] - See the list of currently-used :numref:`qualifications %s ` for help. + See the list of currently-used :numref:`qualifications %s ` for help. #. Variables are current and instantaneous unless specified. Variables that are not current (e.g., previous timestep) or non-instantaneous (e.g., accumulated values) @@ -64,7 +64,7 @@ CCPP Standard Name Rules #. Spell out acronyms unless they are obvious to a vast majority of scientists/developers who may come across them. Here is a - :numref:`list of currently-used aliases %s ` where either is + :numref:`list of currently-used aliases %s ` where either is acceptable. #. For control-oriented variables, if the variable is a Fortran logical, @@ -75,7 +75,7 @@ CCPP Standard Name Rules #. Standard names are case insensitive, i.e. example = EXAMPLE. -.. _Qualifiers: +.. _qualifiers: ======================== Qualifiers @@ -101,25 +101,24 @@ Suffixes | at_adiabatic_condensation_level | at_cloud_top | at_convective_cloud_top -at_cloud_base -at_convective_cloud_base -at_freezing_level -at_ground_level -at_maximum_wind_speed_level -at_sea_floor -at_sea_ice_base -at_sea_level -at_top_of_atmosphere_boundary_layer -at_top_of_atmosphere_model -at_top_of_dry_convection -**at_interface** -**at_surface_adjacent_layer OR at_bottom_layer OR at_lowest_model_layer** -**at_2m** -**at_10m** -**at_bottom_interface** -**at_pressure_levels** -**at_top_of_viscous_sublayer** -**at_various_atmosphere_layers** +| at_cloud_base +| at_convective_cloud_base +| at_freezing_level +| at_ground_level +| at_maximum_wind_speed_level +| at_sea_ice_base +| at_sea_level +| at_top_of_atmosphere_boundary_layer +| at_top_of_atmosphere_model +| at_top_of_dry_convection +| **at_interface** +| **at_surface_adjacent_layer OR at_bottom_layer OR at_lowest_model_layer** +| **at_2m** +| **at_10m** +| **at_bottom_interface** +| **at_pressure_levels** +| **at_top_of_viscous_sublayer** +| **at_various_atmosphere_layers** --------- Component @@ -128,14 +127,14 @@ Component Prefixes ======== -upward -downward -northward -southward -eastward -westward -x -y +| upward +| downward +| northward +| southward +| eastward +| westward +| x +| y --------------------------- Special Radiation Component @@ -144,11 +143,11 @@ Special Radiation Component Prefixes ======== -net -upwelling -downwelling -incoming -outgoing +| net +| upwelling +| downwelling +| incoming +voutgoing ------ Medium @@ -157,25 +156,25 @@ Medium Suffixes ======== -in_air -in_atmosphere_boundary_layer -in_mesosphere -in_sea_ice -in_sea_water -in_soil -in_soil_water -in_stratosphere -in_thermosphere -in_troposphere -in_atmosphere -in_surface_snow -**in_diurnal_thermocline** -**in_canopy** -**in_lake** -**in_aquifer** -**in_aquifer_and_saturated_soil** -**in_convective_tower** -**etween_soil_bottom_and_water_table** +| in_air +| in_atmosphere_boundary_layer +| in_mesosphere +| in_sea_ice +| in_sea_water +| in_soil +| in_soil_water +| in_stratosphere +| in_thermosphere +| in_troposphere +| in_atmosphere +| in_surface_snow +| **in_diurnal_thermocline** +| **in_canopy** +| **in_lake** +| **in_aquifer** +| **in_aquifer_and_saturated_soil** +| **in_convective_tower** +| **between_soil_bottom_and_water_table** ------- Process @@ -184,29 +183,29 @@ Process Suffixes ======== -due_to_advection -due_to_convection -due_to_deep_convection -due_to_diabatic_processes -due_to_diffusion -due_to_dry_convection -due_to_gravity_wave_drag -due_to_gyre -due_to_isostatic_adjustment -due_to_large_scale_precipitation -due_to_longwave_heating -due_to_moist_convection -due_to_overturning -due_to_shallow_convection -due_to_shortwave_heating -due_to_thermodynamics -due_to_background -**due_to_subgrid_scale_vertical_mixing** -**due_to_convective_microphysics** -**due_to_model_physics** -**due_to_convective_gravity_wave_drag** -**due_to_shoc** -**due_to_dynamics** +| due_to_advection +| due_to_convection +| due_to_deep_convection +| due_to_diabatic_processes +| due_to_diffusion +| due_to_dry_convection +| due_to_gravity_wave_drag +| due_to_gyre +| due_to_isostatic_adjustment +| due_to_large_scale_precipitation +| due_to_longwave_heating +| due_to_moist_convection +| due_to_overturning +| due_to_shallow_convection +| due_to_shortwave_heating +| due_to_thermodynamics +| due_to_background +| **due_to_subgrid_scale_vertical_mixing** +| **due_to_convective_microphysics** +| **due_to_model_physics** +| **due_to_convective_gravity_wave_drag** +| **due_to_shoc** +| **due_to_dynamics** --------- Condition @@ -215,18 +214,18 @@ Condition Suffixes ======== -assuming_clear_sky -assuming_deep_snow -assuming_no_snow -**over_land** -**over_ocean** -**over_ice** -**for_momentum** -**for_heat** -**for_moisture** -**for_heat_and_moisture** -**assuming_shallow** -**assuming_deep** +| assuming_clear_sky +| assuming_deep_snow +| assuming_no_snow +| **over_land** +| **over_ocean** +| **over_ice** +| **for_momentum** +| **for_heat** +| **for_moisture** +| **for_heat_and_moisture** +| **assuming_shallow** +| **assuming_deep** ---- Time @@ -235,12 +234,12 @@ Time Suffixes ======== -**of_new_state OR updated_by_physics** -**on_physics_timestep** -**on_dynamics_timestep** -**on_radiation_timestep** -**on_previous_timestep** -**N_timesteps_back** +| **of_new_state OR updated_by_physics** +| **on_physics_timestep** +| **on_dynamics_timestep** +| **on_radiation_timestep** +| **on_previous_timestep** +| **N_timesteps_back** ------------- Computational @@ -249,44 +248,44 @@ Computational Prefixes and Suffixes ===================== -**real** -**for_coupling** -**for_chemistry_coupling** -**from_coupled_process** -**from_wave_model** -**collection_array** -**lower_bound_of** -**upper_bound_of** -**unfiltered** -**nonnegative** -**flag_for** -**control_for** -**number_of** -**index_of** -**vertical_index_at** -**vertical_dimension_of** -**volumetric** -**cumulative** -**multiplied_by_timestep** -**iounit_of** -**filename_of** -**frequency_of** -**period_of** -**XYZ_dimensioned** -**tendency_of_X** -**generic_tendency** -**for_current_mpi_rank** -**for_current_cubed_sphere_tile** -**plus_one** -**minus_one** -**one_way_coupling_of_X_to_Y** -**for_radiation** -**for_deep_convection** -**for_microphysics** -**directory_for_X_source_code** -**flag_for_reading_X_from_input** -**tunable_parameters[s]_for_X** -**map_of** +| **real** +| **for_coupling** +| **for_chemistry_coupling** +| **from_coupled_process** +| **from_wave_model** +| **collection_array** +| **lower_bound_of** +| **upper_bound_of** +| **unfiltered** +| **nonnegative** +| **flag_for** +| **control_for** +| **number_of** +| **index_of** +| **vertical_index_at** +| **vertical_dimension_of** +| **volumetric** +| **cumulative** +| **multiplied_by_timestep** +| **iounit_of** +| **filename_of** +| **frequency_of** +| **period_of** +| **XYZ_dimensioned** +| **tendency_of_X** +| **generic_tendency** +| **for_current_mpi_rank** +| **for_current_cubed_sphere_tile** +| **plus_one** +| **minus_one** +| **one_way_coupling_of_X_to_Y** +| **for_radiation** +| **for_deep_convection** +| **for_microphysics** +| **directory_for_X_source_code** +| **flag_for_reading_X_from_input** +| **tunable_parameters[s]_for_X** +| **map_of** --------------- Transformations @@ -294,30 +293,30 @@ Transformations Prefixes ======== -change_over_time_in_X -[horizontal_]convergence_of_X -correlation_of_X_and_Y[_over_Z] -covariance_of_X_and_Y[_over_Z] -component_derivative_of_X -derivative_of_X_wrt_Y -direction_of_X -[horizontal_]divergence_of_X -histogram_of_X[_over_Z] -integral_of_Y_wrt_X -ln_X -log10_X -magnitude_of_X -probability_distribution_of_X[_over_Z] -probability_density_function_of_X[_over_Z] -product_of_X_and_Y -ratio_of_X_to_Y -square_of_X -tendency_of_X -**standard_deviation_of_X** -**reciprocal_of_X** -**cosine_of_X** -**sine_of_X** -**variance_of_X** +| change_over_time_in_X +| [horizontal_]convergence_of_X +| correlation_of_X_and_Y[_over_Z] +| covariance_of_X_and_Y[_over_Z] +| component_derivative_of_X +| derivative_of_X_wrt_Y +| direction_of_X +| [horizontal_]divergence_of_X +| histogram_of_X[_over_Z] +| integral_of_Y_wrt_X +| ln_X +| log10_X +| magnitude_of_X +| probability_distribution_of_X[_over_Z] +| probability_density_function_of_X[_over_Z] +| product_of_X_and_Y +| ratio_of_X_to_Y +| square_of_X +| tendency_of_X +| **standard_deviation_of_X** +| **reciprocal_of_X** +| **cosine_of_X** +| **sine_of_X** +| **variance_of_X** ===================================== Other common standard name components From a42ae9d42cd9868138ba17869ddaa837c92e7b6a Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Mon, 17 May 2021 22:09:39 -0600 Subject: [PATCH 04/10] Improve format. --- StandardNamesRules.rst | 56 +++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 36 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 905ab63..c0828bb 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -16,7 +16,7 @@ for use with the Common Community Physics Package (CCPP). It describes the * Acronyms, abbreviations, and aliases .. _Rules -======================== + CCPP Standard Name Rules ======================== @@ -44,7 +44,7 @@ CCPP Standard Name Rules [*surface*] [*component*] standard_name [``at`` *surface*] [``in`` *medium*] [``due_to`` *process*] [``assuming`` *condition*] - See the list of currently-used :numref:`qualifications %s ` for help. + See the list of currently-used :ref:`qualifications %s ` for help. #. Variables are current and instantaneous unless specified. Variables that are not current (e.g., previous timestep) or non-instantaneous (e.g., accumulated values) @@ -64,7 +64,7 @@ CCPP Standard Name Rules #. Spell out acronyms unless they are obvious to a vast majority of scientists/developers who may come across them. Here is a - :numref:`list of currently-used aliases %s ` where either is + :ref:`list of currently-used aliases %s ` where either is acceptable. #. For control-oriented variables, if the variable is a Fortran logical, @@ -77,26 +77,25 @@ CCPP Standard Name Rules .. _qualifiers: -======================== Qualifiers ======================== + black = existing CF qualifier **bold** = **proposed new qualifier** ----------- XY-surface ---------- Prefixes -======== +^^^^^^^^ | toa | tropopause | surface Suffixes -======== +^^^^^^^^ | at_adiabatic_condensation_level | at_cloud_top @@ -120,12 +119,12 @@ Suffixes | **at_top_of_viscous_sublayer** | **at_various_atmosphere_layers** ---------- + Component --------- Prefixes -======== +^^^^^^^^ | upward | downward @@ -136,25 +135,23 @@ Prefixes | x | y ---------------------------- Special Radiation Component --------------------------- Prefixes -======== +^^^^^^^^ | net | upwelling | downwelling | incoming -voutgoing +| outgoing ------- Medium ------ Suffixes -======== +^^^^^^^^ | in_air | in_atmosphere_boundary_layer @@ -176,12 +173,11 @@ Suffixes | **in_convective_tower** | **between_soil_bottom_and_water_table** -------- Process ------- Suffixes -======== +^^^^^^^^ | due_to_advection | due_to_convection @@ -207,12 +203,11 @@ Suffixes | **due_to_shoc** | **due_to_dynamics** ---------- Condition --------- Suffixes -======== +^^^^^^^^ | assuming_clear_sky | assuming_deep_snow @@ -227,12 +222,11 @@ Suffixes | **assuming_shallow** | **assuming_deep** ----- Time ---- Suffixes -======== +^^^^^^^^ | **of_new_state OR updated_by_physics** | **on_physics_timestep** @@ -241,12 +235,11 @@ Suffixes | **on_previous_timestep** | **N_timesteps_back** -------------- Computational ------------- Prefixes and Suffixes -===================== +^^^^^^^^^^^^^^^^^^^^^ | **real** | **for_coupling** @@ -287,12 +280,11 @@ Prefixes and Suffixes | **tunable_parameters[s]_for_X** | **map_of** ---------------- Transformations --------------- Prefixes -======== +^^^^^^^^ | change_over_time_in_X | [horizontal_]convergence_of_X | correlation_of_X_and_Y[_over_Z] @@ -318,11 +310,9 @@ Prefixes | **sine_of_X** | **variance_of_X** -===================================== Other common standard name components ===================================== ---------------- Special phrases --------------- @@ -362,8 +352,6 @@ Special phrases | **diffuse** | **used in radiation (as opposed to direct)** | +------------------------+-------------------------------------------------------------------------------------+ - ----------------- Chemical Species ---------------- @@ -393,17 +381,14 @@ Chemical Species |sulfur_dioxide | +------------------------+ - Generic Names +------------- + The following names are used with consistent meanings and units as elements in other standard names, although they are themselves too general to be chosen as standard names. They are recorded here for reference only. These are not standard names. ------------- -Generic Name ------------- - +-------------------------------------------+-----------------+ | **Generic Name** | **Units** | +===========================================+=================+ @@ -490,7 +475,6 @@ Generic Name .. _Aliases: -==================================== Acronyms, Abbreviations, and Aliases ==================================== @@ -511,11 +495,11 @@ Acronyms, Abbreviations, and Aliases +---------------------+---------------------------------------------------------+ | stp | standard temperature (0 degC) and pressure (101325 Pa) | +---------------------+---------------------------------------------------------+ -| toa | top of atmosphere | +| tke | turbulent kinetic energy | +---------------------+---------------------------------------------------------+ | TKE | turbulent kinetic energy | +---------------------+---------------------------------------------------------+ -| tke | turbulent kinetic energy | +| toa | top of atmosphere | +---------------------+---------------------------------------------------------+ | uv | ultraviolet part of the EM spectrum (radiation) | +---------------------+---------------------------------------------------------+ From 0ec0f285b4c35f4cd3b0f623bfc796cd65f1dfdb Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Tue, 18 May 2021 13:54:09 -0600 Subject: [PATCH 05/10] Formatting updates. --- StandardNamesRules.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index c0828bb..e566fb6 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -44,7 +44,7 @@ CCPP Standard Name Rules [*surface*] [*component*] standard_name [``at`` *surface*] [``in`` *medium*] [``due_to`` *process*] [``assuming`` *condition*] - See the list of currently-used :ref:`qualifications %s ` for help. + See the list of currently-used :ref:`qualifications ` for help. #. Variables are current and instantaneous unless specified. Variables that are not current (e.g., previous timestep) or non-instantaneous (e.g., accumulated values) @@ -64,7 +64,7 @@ CCPP Standard Name Rules #. Spell out acronyms unless they are obvious to a vast majority of scientists/developers who may come across them. Here is a - :ref:`list of currently-used aliases %s ` where either is + :ref:`list of currently-used aliases ` where either is acceptable. #. For control-oriented variables, if the variable is a Fortran logical, From 5d000c92401b06515dfc077001a7281e501c2ec5 Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Fri, 21 May 2021 13:44:59 -0600 Subject: [PATCH 06/10] Remove upper duplicate upper case aliases. --- StandardNamesRules.rst | 4 ---- 1 file changed, 4 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index e566fb6..40d25b8 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -497,8 +497,6 @@ Acronyms, Abbreviations, and Aliases +---------------------+---------------------------------------------------------+ | tke | turbulent kinetic energy | +---------------------+---------------------------------------------------------+ -| TKE | turbulent kinetic energy | -+---------------------+---------------------------------------------------------+ | toa | top of atmosphere | +---------------------+---------------------------------------------------------+ | uv | ultraviolet part of the EM spectrum (radiation) | @@ -507,7 +505,5 @@ Acronyms, Abbreviations, and Aliases +---------------------+---------------------------------------------------------+ | vis | visible part of the EM spectrum (radiation) | +---------------------+---------------------------------------------------------+ -| VIS | visible (light spectrum) | -+---------------------+---------------------------------------------------------+ | wrt | with respect to | +---------------------+---------------------------------------------------------+ From 2c8c0953f789741aab43bbceda29779f441becea Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Fri, 21 May 2021 13:46:35 -0600 Subject: [PATCH 07/10] Remove another duplicate upper case alias. --- StandardNamesRules.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 40d25b8..95661c8 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -501,8 +501,6 @@ Acronyms, Abbreviations, and Aliases +---------------------+---------------------------------------------------------+ | uv | ultraviolet part of the EM spectrum (radiation) | +---------------------+---------------------------------------------------------+ -| UV | ultraviolet part of the EM spectrum (radiation) | -+---------------------+---------------------------------------------------------+ | vis | visible part of the EM spectrum (radiation) | +---------------------+---------------------------------------------------------+ | wrt | with respect to | From cfdadaea86ada76a1452f92264d8451319cab230 Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Thu, 22 Jul 2021 21:21:01 -0600 Subject: [PATCH 08/10] Addressed reviewers' comments regarding formatting, typos, and unclear rules. --- StandardNamesRules.rst | 107 +++++++++++++++++++++-------------------- 1 file changed, 55 insertions(+), 52 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 95661c8..2501474 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -20,7 +20,7 @@ for use with the Common Community Physics Package (CCPP). It describes the CCPP Standard Name Rules ======================== -#. Standard names should be identical to those from the latest version +#. Standard names should be identical to those from the la\ version of the `Climate and Forecast (CF) metadata conventions `_ unless an appropriate name does not exist in that standard. @@ -36,15 +36,15 @@ CCPP Standard Name Rules assuming_clear_sky). The order defined by the CF rules should be observed. These qualifications do not change the units of the quantity. - All of the following phrases in brackets are optional. The words in ``this font`` - appear explicitly as stated, while the words in *italic* indicate other + All of the following phrases in brackets are optional. The words in *italic* + appear explicitly as stated, while the words in ``this font`` indicate other words or phrases to be substituted. The new standard name is constructed by joining the base standard name to the qualifiers using underscores. - [*surface*] [*component*] standard_name [``at`` *surface*] [``in`` *medium*] - [``due_to`` *process*] [``assuming`` *condition*] + [``surface``] [``component``] standard_name [*at* ``surface``] [*in* ``medium``] + [*due_to* ``process``] [*assuming* ``condition``] - See the list of currently-used :ref:`qualifications ` for help. + See the list of currently-used qualifiers below for help. #. Variables are current and instantaneous unless specified. Variables that are not current (e.g., previous timestep) or non-instantaneous (e.g., accumulated values) @@ -57,18 +57,17 @@ CCPP Standard Name Rules use at_interface. #. 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 + 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 narrowly-defined context or a variable without the scope-narrowing qualifiers already exists and cannot be reused. #. Spell out acronyms unless they are obvious to a vast majority of - scientists/developers who may come across them. Here is a - :ref:`list of currently-used aliases ` where either is - acceptable. + scientists/developers who may come across them. A + list of currently-used aliases is below. #. For control-oriented variables, if the variable is a Fortran logical, - use flag_for_X. If it is any other data type, use control_for_X.All flags + use flag_for ``_X``. If it is any other data type, use control_for ``_X``. All flags should be Fortran logicals. #. No punctuation should appear in standard names except for underscores (_). @@ -84,6 +83,8 @@ black = existing CF qualifier **bold** = **proposed new qualifier** +``this font`` = words or phrases to be substituted + XY-surface ---------- @@ -111,7 +112,7 @@ Suffixes | at_top_of_atmosphere_model | at_top_of_dry_convection | **at_interface** -| **at_surface_adjacent_layer OR at_bottom_layer OR at_lowest_model_layer** +| **at_surface_adjacent_layer** | **at_2m** | **at_10m** | **at_bottom_interface** @@ -228,25 +229,24 @@ Time Suffixes ^^^^^^^^ -| **of_new_state OR updated_by_physics** +| **of_new_state** | **on_physics_timestep** | **on_dynamics_timestep** + | **on_radiation_timestep** | **on_previous_timestep** -| **N_timesteps_back** +| ``N`` **_timesteps_back** Computational ------------- -Prefixes and Suffixes -^^^^^^^^^^^^^^^^^^^^^ +Prefixes +^^^^^^^^ -| **real** | **for_coupling** | **for_chemistry_coupling** | **from_coupled_process** | **from_wave_model** -| **collection_array** | **lower_bound_of** | **upper_bound_of** | **unfiltered** @@ -259,56 +259,61 @@ Prefixes and Suffixes | **vertical_dimension_of** | **volumetric** | **cumulative** -| **multiplied_by_timestep** | **iounit_of** | **filename_of** | **frequency_of** | **period_of** | **XYZ_dimensioned** -| **tendency_of_X** +| **tendency_of** ``X`` | **generic_tendency** +| **one_way_coupling_of** ``_X`` **_to** ``_Y`` +| **tunable_parameter[s]_for** ``_X`` +| **map_of** + +Suffixes +^^^^^^^^ + +| **collection_array** +| **multiplied_by_timestep** | **for_current_mpi_rank** | **for_current_cubed_sphere_tile** | **plus_one** | **minus_one** -| **one_way_coupling_of_X_to_Y** | **for_radiation** | **for_deep_convection** | **for_microphysics** -| **directory_for_X_source_code** -| **flag_for_reading_X_from_input** -| **tunable_parameters[s]_for_X** -| **map_of** +| **directory_for** ``_X`` **_source_code** +| **flag_for_reading** ``_X`` **_from_input** Transformations --------------- Prefixes ^^^^^^^^ -| change_over_time_in_X -| [horizontal_]convergence_of_X -| correlation_of_X_and_Y[_over_Z] -| covariance_of_X_and_Y[_over_Z] -| component_derivative_of_X -| derivative_of_X_wrt_Y -| direction_of_X -| [horizontal_]divergence_of_X -| histogram_of_X[_over_Z] -| integral_of_Y_wrt_X -| ln_X -| log10_X -| magnitude_of_X -| probability_distribution_of_X[_over_Z] -| probability_density_function_of_X[_over_Z] -| product_of_X_and_Y -| ratio_of_X_to_Y -| square_of_X -| tendency_of_X -| **standard_deviation_of_X** -| **reciprocal_of_X** -| **cosine_of_X** -| **sine_of_X** -| **variance_of_X** +| change_over_time_in ``_X`` +| convergence_of ``_X`` or horizontal_convergence_of ``_X`` +| correlation_of ``_X`` _and ``_Y`` [_over ``_Z``] +| covariance_of ``_X`` _and ``_Y`` [_over ``_Z``] +| component_derivative_of ``_X`` +| derivative_of ``_X`` _wrt ``_Y`` +| direction_of ``_X`` +| divergence_of ``_X`` or horizontal_divergence_of ``_X`` +| histogram_of ``_X`` [_over ``_Z``] +| integral_of ``_Y`` _wrt ``_X`` +| ln ``_X`` +| log10 ``_X`` +| magnitude_of ``_X`` +| probability_distribution_of ``_X`` [_over ``_Z``] +| probability_density_function_of ``_X``[_over ``_Z``] +| product_of ``_X`` _and ``_Y`` +| ratio_of ``_X`` _to ``_Y`` +| square_of ``_X`` +| tendency_of ``_X`` +| **standard_deviation_of** ``_X`` +| **reciprocal_of** ``_X`` +| **cosine_of** ``_X`` +| **sine_of** ``_X`` +| **variance_of** ``_X`` Other common standard name components ===================================== @@ -481,9 +486,7 @@ Acronyms, Abbreviations, and Aliases +---------------------+---------------------------------------------------------+ | **Short** | **Meaning** | +=====================+=========================================================+ -| ir | infrared | -+---------------------+---------------------------------------------------------+ -| IR | infared | +| ir | infared | +---------------------+---------------------------------------------------------+ | lwe | liquid water equivalent | +---------------------+---------------------------------------------------------+ From 286b0a1b9a45b0a89708357f3b3470aadc1aee23 Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Thu, 22 Jul 2021 21:28:26 -0600 Subject: [PATCH 09/10] Fixed typo. --- StandardNamesRules.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 2501474..0482512 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -304,7 +304,7 @@ Prefixes | log10 ``_X`` | magnitude_of ``_X`` | probability_distribution_of ``_X`` [_over ``_Z``] -| probability_density_function_of ``_X``[_over ``_Z``] +| probability_density_function_of ``_X`` [_over ``_Z``] | product_of ``_X`` _and ``_Y`` | ratio_of ``_X`` _to ``_Y`` | square_of ``_X`` From 7d62c374f886cade0810252b376bcb943ed7be49 Mon Sep 17 00:00:00 2001 From: ligiabernardet Date: Fri, 23 Jul 2021 12:26:22 -0600 Subject: [PATCH 10/10] Address comments regarding suffixes/prefixes/infixes. --- StandardNamesRules.rst | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 0482512..ae2d7af 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -243,10 +243,6 @@ Computational Prefixes ^^^^^^^^ -| **for_coupling** -| **for_chemistry_coupling** -| **from_coupled_process** -| **from_wave_model** | **lower_bound_of** | **upper_bound_of** | **unfiltered** @@ -270,9 +266,20 @@ Prefixes | **tunable_parameter[s]_for** ``_X`` | **map_of** + +Infixes +^^^^^^^ + +| **directory_for** ``_X`` **_source_code** +| **flag_for_reading** ``_X`` **_from_input** + Suffixes ^^^^^^^^ +| **for_coupling** +| **for_chemistry_coupling** +| **from_coupled_process** +| **from_wave_model** | **collection_array** | **multiplied_by_timestep** | **for_current_mpi_rank** @@ -282,8 +289,6 @@ Suffixes | **for_radiation** | **for_deep_convection** | **for_microphysics** -| **directory_for** ``_X`` **_source_code** -| **flag_for_reading** ``_X`` **_from_input** Transformations ---------------