From 68ff5c792049fe6576fb121194bf7c3fb03cf9ae Mon Sep 17 00:00:00 2001 From: "Michael Kavulich, Jr" Date: Wed, 24 Sep 2025 14:32:06 -0600 Subject: [PATCH 1/5] Add proposed number density standard names from Issue 112 --- Metadata-standard-names.md | 40 ++++++++++++++ Metadata-standard-names.yaml | 102 +++++++++++++++++++++++++++++++++++ standard_names.xml | 80 +++++++++++++++++++++++++++ 3 files changed, 222 insertions(+) diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index a8b9f45..70465b2 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -407,6 +407,46 @@ Note that appending '_on_previous_timestep' to standard_names in this section yi * `real(kind=kind_phys)`: units = mol mol-1 * `volume_mixing_ratio_of_so2`: Sulfur dioxide volume mixing ratio * `real(kind=kind_phys)`: units = mol mol-1 +* `number_density_of_n`: Number density of neutral atomic nitrogen (N) in air + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_n_from_climatology`: Climatological number density of atomic nitrogen (N), e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_n2`: Number density of molecular nitrogen (N2) in air + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_n2_from_climatology`: Climatological number density molecular nitrogen (N2), e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_o`: Number density of neutral atomic oxygen (O) in air + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_o_from_climatology`: Climatological number density of atomic oxygen (O), e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_o2`: Number density of molecular oxygen (O2) in air + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_o2_from_climatology`: Climatological number density molecular oxygen (O2), e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_no`: Number density of nitric oxide (NO) in air + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_no_from_climatology`: Climatological number density of nitric oxide (NO), e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_ar`: Number density of argon (Ar) in air + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_ar_from_climatology`: Climatological number density of argon (Ar), e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_he`: Number density of helium (He) in air + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_he_from_climatology`: Climatological number density of helium (He), e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_h`: Number density of neutral atomic hydrogen (H) in air + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_h_from_climatology`: Climatological number density of atomic hydrogen (H), e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_anomalous_oxygen`: Number density of energetic, non-thermal atomic oxygen as defined in MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_anomalous_oxygen_from_climatology`: Climatological number density of anomalous energetic oxygen, e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_neutral_air`: Total number density of neutral air, including all neutral constituents + * `real(kind=kind_phys)`: units = m-3 +* `number_density_of_neutral_air_from_climatology`: Climatological total number density of neutral air, e.g., from MSIS + * `real(kind=kind_phys)`: units = m-3 ## atmospheric_composition: GOCART aerosols * `mass_fraction_of_dust001_in_air`: Dust bin1 mass fraction * `real(kind=kind_phys)`: units = kg kg-1 diff --git a/Metadata-standard-names.yaml b/Metadata-standard-names.yaml index d7f8f85..2bc127d 100644 --- a/Metadata-standard-names.yaml +++ b/Metadata-standard-names.yaml @@ -950,6 +950,108 @@ sections: type: real kind: kind_phys units: mol mol-1 + - name: number_density_of_n + long_name: Number density of neutral atomic nitrogen (N) in air + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_n_from_climatology + long_name: Climatological number density of atomic nitrogen (N), e.g., from MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_n2 + long_name: Number density of molecular nitrogen (N2) in air + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_n2_from_climatology + long_name: Climatological number density molecular nitrogen (N2), e.g., from MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_o + long_name: Number density of neutral atomic oxygen (O) in air + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_o_from_climatology + long_name: Climatological number density of atomic oxygen (O), e.g., from MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_o2 + long_name: Number density of molecular oxygen (O2) in air + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_o2_from_climatology + long_name: Climatological number density molecular oxygen (O2), e.g., from MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_no + long_name: Number density of nitric oxide (NO) in air + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_no_from_climatology + long_name: Climatological number density of nitric oxide (NO), e.g., from MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_ar + long_name: Number density of argon (Ar) in air + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_ar_from_climatology + long_name: Climatological number density of argon (Ar), e.g., from MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_he + long_name: Number density of helium (He) in air + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_he_from_climatology + long_name: Climatological number density of helium (He), e.g., from MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_h + long_name: Number density of neutral atomic hydrogen (H) in air + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_h_from_climatology + long_name: Climatological number density of atomic hydrogen (H), e.g., from MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_anomalous_oxygen + long_name: Number density of energetic, non-thermal atomic oxygen as defined in + MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_anomalous_oxygen_from_climatology + long_name: Climatological number density of anomalous energetic oxygen, e.g., + from MSIS + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_neutral_air + long_name: Total number density of neutral air, including all neutral constituents + type: real + kind: kind_phys + units: m-3 + - name: number_density_of_neutral_air_from_climatology + long_name: Climatological total number density of neutral air, e.g., from MSIS + type: real + kind: kind_phys + units: m-3 - name: 'atmospheric_composition: GOCART aerosols' comment: null standard_names: diff --git a/standard_names.xml b/standard_names.xml index 5658550..222378c 100644 --- a/standard_names.xml +++ b/standard_names.xml @@ -700,6 +700,86 @@ long_name="Sulfur dioxide volume mixing ratio"> real + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real +
Date: Thu, 25 Sep 2025 11:29:39 -0600 Subject: [PATCH 2/5] First attempt at chemical naming rules --- StandardNamesRules.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 8964187..a86712c 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -125,6 +125,17 @@ ESM Standard Name Rules aliases is below. Whenever such an alias exist, use the alias in the standard name and the full term in the long name. +#. Chemical species in standard names should be denoted by chemical formulae (e.g. co2, ch4, c5h8) + or commonly accepted designations (e.g. cfc12); generally shorter names are preferred. A few + very common species with well-established and unambiguous standard names (e.g. water, ozone) + are also included. In all cases, the long name should include specific details about the + substance's chemical makeup, as well as the phase/state of matter if relevant. + +#. If the ionization of the chemical species is relevant, it should be included in the standard + name as a prefix to the substance; e.g. number_density_of_ionized_he for ionized helium. If + relevant, the net ionization charge should be included as a suffix (in words, because +/- are + not valid standard name characters); e.g. number_density_of_ionized_he_plus_1 + #. 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. From 467a44f2da7df46cce8e72222e511c22f0a82cca Mon Sep 17 00:00:00 2001 From: "Michael Kavulich, Jr" Date: Thu, 25 Sep 2025 11:48:34 -0600 Subject: [PATCH 3/5] Some better wording and more examples for chemical rules --- StandardNamesRules.rst | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index a86712c..bff12d1 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -125,16 +125,17 @@ ESM Standard Name Rules aliases is below. Whenever such an alias exist, use the alias in the standard name and the full term in the long name. -#. Chemical species in standard names should be denoted by chemical formulae (e.g. co2, ch4, c5h8) - or commonly accepted designations (e.g. cfc12); generally shorter names are preferred. A few - very common species with well-established and unambiguous standard names (e.g. water, ozone) - are also included. In all cases, the long name should include specific details about the - substance's chemical makeup, as well as the phase/state of matter if relevant. - -#. If the ionization of the chemical species is relevant, it should be included in the standard - name as a prefix to the substance; e.g. number_density_of_ionized_he for ionized helium. If +#. Chemical species in standard names should be denoted by chemical formulae (e.g. ``co2``, + ``ch4``, ``c5h8``) or commonly accepted designations (e.g. ``cfc12``); generally when there are + multiple options the shorter name is preferred. A few species with well-established and + unambiguous common names (e.g. water, ozone) are also included. In all cases, the long name + should include specific details about the substance's chemical makeup, as well as the + phase/state of matter if relevant; e.g. ``water_vapor``, ``liquid_h2so4`` + +#. If the ionization of the chemical species is relevant, "ionized" should be included in the standard + name as a prefix to the substance; e.g. ``number_density_of_ionized_he`` for ionized helium. If relevant, the net ionization charge should be included as a suffix (in words, because +/- are - not valid standard name characters); e.g. number_density_of_ionized_he_plus_1 + not valid standard name characters); e.g. ``number_density_of_ionized_he_plus_1`` #. 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 From d00155895e79b4ae0c87909878bce025b1f42f96 Mon Sep 17 00:00:00 2001 From: "Michael Kavulich, Jr" Date: Wed, 22 Oct 2025 12:56:38 -0600 Subject: [PATCH 4/5] Meant standard name, not long name here --- StandardNamesRules.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 9ee4c57..239a380 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -135,7 +135,7 @@ ESM Standard Name Rules #. Chemical species in standard names should be denoted by chemical formulae (e.g. ``co2``, ``ch4``, ``c5h8``) or commonly accepted designations (e.g. ``cfc12``); generally when there are multiple options the shorter name is preferred. A few species with well-established and - unambiguous common names (e.g. water, ozone) are also included. In all cases, the long name + unambiguous common names (e.g. water, ozone) are also included. In all cases, the standard name should include specific details about the substance's chemical makeup, as well as the phase/state of matter if relevant; e.g. ``water_vapor``, ``liquid_h2so4`` From 5d5b7796ef8fab3a20338e85aacfd66799e18f61 Mon Sep 17 00:00:00 2001 From: "Michael Kavulich, Jr" Date: Wed, 5 Nov 2025 14:39:16 -0700 Subject: [PATCH 5/5] Move charge number to prefix --- StandardNamesRules.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 239a380..6145c8e 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -141,8 +141,8 @@ ESM Standard Name Rules #. If the ionization of the chemical species is relevant, "ionized" should be included in the standard name as a prefix to the substance; e.g. ``number_density_of_ionized_he`` for ionized helium. If - relevant, the net ionization charge should be included as a suffix (in words, because +/- are - not valid standard name characters); e.g. ``number_density_of_ionized_he_plus_1`` + relevant, the net ionization charge should be included as a prefix (in words, because +/- are + not valid standard name characters); e.g. ``number_density_of_plus_1_ionized_he`` #. 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