From 8a343c5ce95ea1c621a92507425978b9e19c3576 Mon Sep 17 00:00:00 2001 From: Dom Heinzeller Date: Thu, 19 Dec 2024 08:56:38 -0700 Subject: [PATCH 01/15] Update StandardNamesRules.rst: add _due_to_planetary_boundary_layer (#80) * Update StandardNamesRules.rst: add _due_to_PBL_processes and other process suffixes --- StandardNamesRules.rst | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 8c3d0e8..5f2a9cd 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -121,8 +121,9 @@ CCPP Standard Name Rules 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. A - list of currently-used aliases is below. + scientists/developers who may come across them. A list of currently-used + aliases is below. Whenever such an alias exist, use the alias in the + standard name and the full term in the long name. #. 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 @@ -253,7 +254,9 @@ Suffixes | due_to_diabatic_processes | due_to_diffusion | due_to_dry_convection -| due_to_gravity_wave_drag +| due_to_GWD (long name: due to gravity wave drag) +| **due_to_convective_GWD** (long name: due to convective gravity wave drag) +| **due_to_orographic_GWD** (long name: due to orographic gravity wave drag) | due_to_gyre | due_to_isostatic_adjustment | due_to_large_scale_precipitation @@ -261,13 +264,13 @@ Suffixes | due_to_moist_convection | due_to_overturning | due_to_shallow_convection +| **due_to_PBL_processes** (long name: due to planetary boundary layer processes) | 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** From 71d9a92b3c19e39930a803de99334e81558378fc Mon Sep 17 00:00:00 2001 From: Steve Vahl <42982505+svahl991@users.noreply.github.com> Date: Thu, 2 Jan 2025 09:49:40 -0700 Subject: [PATCH 02/15] Add/modify skin temperature at surface variables. (#84) * Add JEDI skin temperature variables * Change sea to ocean --- Metadata-standard-names.md | 10 ++++++++-- standard_names.xml | 18 ++++++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index ff4c230..688d804 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -1799,9 +1799,15 @@ Variables related to the compute environment * `real(kind=kind_phys)`: units = cm * `surface_roughness_length_over_water`: Surface roughness length over water * `real(kind=kind_phys)`: units = cm -* `surface_skin_temperature`: Surface skin temperature +* `skin_temperature_at_surface`: Skin temperature at surface * `real(kind=kind_phys)`: units = K -* `surface_skin_temperature_over_land`: Surface skin temperature over land +* `skin_temperature_at_surface_over_ice`: Skin temperature at surface over (or where) ice + * `real(kind=kind_phys)`: units = K +* `skin_temperature_at_surface_over_land`: Skin temperature at surface over (or where) land + * `real(kind=kind_phys)`: units = K +* `skin_temperature_at_surface_over_ocean`: Skin temperature at surface over (or where) ocean + * `real(kind=kind_phys)`: units = K +* `skin_temperature_at_surface_over_snow`: Skin temperature at surface over (or where) snow * `real(kind=kind_phys)`: units = K * `surface_snow_area_fraction_over_ice`: Surface snow area fraction over ice * `real(kind=kind_phys)`: units = fraction diff --git a/standard_names.xml b/standard_names.xml index 79f73dc..053c677 100644 --- a/standard_names.xml +++ b/standard_names.xml @@ -2826,10 +2826,24 @@ real - + real - + + real + + + real + + + real + + real From 0e5ae18a8cf06b51dc2fca9efee2aaf09677609a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Barr=C3=A9?= Date: Thu, 13 Feb 2025 10:34:59 -0500 Subject: [PATCH 03/15] add emissions names (#86) This adds emissions names to the CCPP standard names --- Metadata-standard-names.md | 56 +++++++++++++++++++ standard_names.xml | 110 +++++++++++++++++++++++++++++++++++++ 2 files changed, 166 insertions(+) diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index 688d804..4228546 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -8,6 +8,7 @@ * [diagnostics](#diagnostics) * [atmospheric_composition](#atmospheric_composition) * [atmospheric_composition: GOCART aerosols](#atmospheric_composition-gocart-aerosols) +* [emissions: Community Emissions Data System (CEDS)](#emissions-community-emissions-data-system-ceds) * [required framework-provided variables](#required-framework-provided-variables) * [optional framework-provided variables](#optional-framework-provided-variables) * [system variables](#system-variables) @@ -451,6 +452,61 @@ Note that appending '_on_previous_timestep' to standard_names in this section yi * `real(kind=kind_phys)`: units = m-1 * `volume_extinction_in_air_due_to_aerosol_particles_lambda3`: Aerosol extinction at wavelength3 * `real(kind=kind_phys)`: units = m-1 +## emissions: Community Emissions Data System (CEDS) +* `emissions_of_co_due_to_anthropogenic`: Carbon monoxide emissions from anthropogenic sources, total + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_no_due_to_anthropogenic`: Nitric oxide emissions from anthropogenic sources, total + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_hcho_due_to_anthropogenic`: Formaldehyde emissions from anthropogenic sources, total + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_co_due_to_anthropogenic_agriculture`: Carbon monoxide emissions from anthropogenic non-combustion agricultural sector + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_no_due_to_anthropogenic_agriculture`: Nitric oxide emissions from anthropogenic non-combustion agricultural sector + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_hcho_due_to_anthropogenic_agriculture`: Formaldehyde emissions from anthropogenic non-combustion agricultural sector + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_co_due_to_anthropogenic_energy`: Carbon monoxide emissions from anthropogenic non-combustion energy transformation and extraction + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_no_due_to_anthropogenic_energy`: Nitric oxide emissions from anthropogenic non-combustion energy transformation and extraction + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_hcho_due_to_anthropogenic_energy`: Formaldehyde emissions from anthropogenic non-combustion energy transformation and extraction + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_co_due_to_anthropogenic_industry`: Carbon monoxide emissions from anthropogenic industrial combustion and processes + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_no_due_to_anthropogenic_industry`: Nitric oxide emissions from anthropogenic industrial combustion and processes + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_hcho_due_to_anthropogenic_industry`: Formaldehyde emissions from anthropogenic industrial combustion and processes + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_co_due_to_anthropogenic_rco`: Carbon monoxide emissions from anthropogenic residential, commercial, and others + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_no_due_to_anthropogenic_rco`: Nitric oxide emissions from anthropogenic residential, commercial, and others + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_hcho_due_to_anthropogenic_rco`: Formaldehyde emissions from anthropogenic residential, commercial, and others + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_co_due_to_anthropogenic_shipping`: Carbon monoxide emissions from anthropogenic international shipping + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_no_due_to_anthropogenic_shipping`: Nitric oxide emissions from anthropogenic international shipping + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_hcho_due_to_anthropogenic_shipping`: Formaldehyde emissions from anthropogenic international shipping + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_co_due_to_anthropogenic_solvents`: Carbon monoxide emissions from anthropogenic solvents + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_no_due_to_anthropogenic_solvents`: Nitric oxide emissions from anthropogenic solvents + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_hcho_due_to_anthropogenic_solvents`: Formaldehyde emissions from anthropogenic solvents + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_co_due_to_anthropogenic_transportation`: Carbon monoxide emissions from anthropogenic surface Transportation (Road, Rail, Other) + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_no_due_to_anthropogenic_transportation`: Nitric oxide emissions from anthropogenic surface Transportation (Road, Rail, Other) + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_hcho_due_to_anthropogenic_transportation`: Formaldehyde emissions from anthropogenic surface Transportation (Road, Rail, Other) + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_co_due_to_anthropogenic_waste`: Carbon monoxide emissions from anthropogenic waste disposal and handling + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_no_due_to_anthropogenic_waste`: Nitric oxide emissions from anthropogenic waste disposal and handling + * `real(kind=kind_phys)`: units = kg m-2 s-1 +* `emissions_of_hcho_due_to_anthropogenic_waste`: Formaldehyde emissions from anthropogenic waste disposal and handling + * `real(kind=kind_phys)`: units = kg m-2 s-1 ## required framework-provided variables Required CCPP framework-provided variables * `ccpp_error_message`: Error message for error handling in CCPP diff --git a/standard_names.xml b/standard_names.xml index 053c677..a16ec7f 100644 --- a/standard_names.xml +++ b/standard_names.xml @@ -791,6 +791,116 @@ real +
+ + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + + + real + +
Date: Thu, 20 Mar 2025 14:56:21 -0600 Subject: [PATCH 04/15] Changes after rename of CCPPStandardNames --> ESMStandardNames (#98) - Remove references to CCPP except where relevant - Cherry-pick changes to tools/write_standard_name_table.py from release branch that allows for subsections in standard names and markdown table - Group CCPP-specific variables into a dedicated section - Change some long_name descriptions to remove CCPP-specific wording - A few more details in README.md --- Metadata-standard-names.md | 30 +++--- README.md | 10 +- StandardNamesRules.rst | 8 +- standard_names.xml | 96 ++++++++++--------- ...me_check.py => ccpp_meta_stdname_check.py} | 2 +- tools/check_name_rules.py | 2 +- tools/check_xml_unique.py | 2 +- tools/write_standard_name_table.py | 32 ++++--- 8 files changed, 98 insertions(+), 84 deletions(-) rename tools/{meta_stdname_check.py => ccpp_meta_stdname_check.py} (99%) diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index 4228546..0e30f86 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -1,4 +1,4 @@ -# CCPP Standard Name Library +# Earth System Modeling Standard Name Library #### Table of Contents * [dimensions](#dimensions) * [constants](#constants) @@ -8,9 +8,8 @@ * [diagnostics](#diagnostics) * [atmospheric_composition](#atmospheric_composition) * [atmospheric_composition: GOCART aerosols](#atmospheric_composition-gocart-aerosols) -* [emissions: Community Emissions Data System (CEDS)](#emissions-community-emissions-data-system-ceds) -* [required framework-provided variables](#required-framework-provided-variables) -* [optional framework-provided variables](#optional-framework-provided-variables) +* [emissions](#emissions) +* [Application-specific variables](#application-specific-variables) * [system variables](#system-variables) * [GFS_typedefs_GFS_control_type](#gfs_typedefs_gfs_control_type) * [GFS_typedefs_GFS_interstitial_type](#gfs_typedefs_gfs_interstitial_type) @@ -62,10 +61,8 @@ Currently, the only dimension which supports all six dimension types is horizont * `integer`: units = index * `vertical_index_at_top_interface`: Vertical index at top interface * `integer`: units = index -* `number_of_openmp_threads`: Total number of thread blocks which the host model may use to call CCPP physics run groups during the CCPP run phase. +* `number_of_openmp_threads`: Total number of thread blocks OpenMP (shared-memory) parallel threads. * `integer`: units = count -* `ccpp_thread_number`: Number of current thread block. This variable may only be used during CCPP run phase - * `integer`: units = index ## constants * `avogadro_number`: Avogadro number * `real(kind=kind_phys)`: units = molecules mol-1 @@ -452,7 +449,8 @@ Note that appending '_on_previous_timestep' to standard_names in this section yi * `real(kind=kind_phys)`: units = m-1 * `volume_extinction_in_air_due_to_aerosol_particles_lambda3`: Aerosol extinction at wavelength3 * `real(kind=kind_phys)`: units = m-1 -## emissions: Community Emissions Data System (CEDS) +## emissions +Emissions variables, contributed for the Community Emissions Data System (CEDS) * `emissions_of_co_due_to_anthropogenic`: Carbon monoxide emissions from anthropogenic sources, total * `real(kind=kind_phys)`: units = kg m-2 s-1 * `emissions_of_no_due_to_anthropogenic`: Nitric oxide emissions from anthropogenic sources, total @@ -507,13 +505,15 @@ Note that appending '_on_previous_timestep' to standard_names in this section yi * `real(kind=kind_phys)`: units = kg m-2 s-1 * `emissions_of_hcho_due_to_anthropogenic_waste`: Formaldehyde emissions from anthropogenic waste disposal and handling * `real(kind=kind_phys)`: units = kg m-2 s-1 -## required framework-provided variables +## Application-specific variables +Variable names only for use with a specific application +### required framework-provided variables Required CCPP framework-provided variables * `ccpp_error_message`: Error message for error handling in CCPP * `character(kind=len=512)`: units = none * `ccpp_error_code`: Error code for error handling in CCPP * `integer(kind=)`: units = 1 -## optional framework-provided variables +### optional framework-provided variables Optional CCPP framework-provided variables * `scheme_name`: CCPP physics scheme name * `character(kind=len=64)`: units = none @@ -525,6 +525,12 @@ Optional CCPP framework-provided variables * `real(kind=kind_phys)`: units = none * `number_of_ccpp_constituents`: Number of constituents managed by CCPP Framework * `integer(kind=)`: units = count +* `ccpp_block_count`: Ccpp block count + * `integer(kind=)`: units = count +* `ccpp_block_sizes`: Ccpp block sizes + * `integer(kind=)`: units = count +* `ccpp_thread_number`: Number of current thread block. This variable may only be used during CCPP run phase + * `integer`: units = index ## system variables Variables related to the compute environment * `flag_for_mpi_root`: Flag for MPI root @@ -556,10 +562,6 @@ Variables related to the compute environment * `real(kind=kind_phys)`: units = m2 s-1 * `sigma_pressure_hybrid_coordinate_b_coefficient`: Sigma pressure hybrid coordinate b coefficient * `real(kind=kind_phys)`: units = 1 -* `ccpp_block_count`: Ccpp block count - * `integer(kind=)`: units = count -* `ccpp_block_sizes`: Ccpp block sizes - * `integer(kind=)`: units = count * `cellular_automata_finer_grid`: Cellular automata finer grid * `integer(kind=)`: units = count * `cellular_automata_lifetime`: Cellular automata lifetime diff --git a/README.md b/README.md index 1cc2fdb..d9ef1d2 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,14 @@ -# CCPPStandardNames +# ESMStandardNames -The CCPPStandardNames Repository contains community-accepted CCPP +The Earth System Modeling Standard Names Repository contains community-accepted Standard Names, publishing tools, and search tools. A Markdown file describing the standard names -[is included](https://github.com/ESCOMP/CCPPStandardNames/blob/master/Metadata-standard-names.md). +[is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md). +Rules governing the designation and format of standard names can be found in [StandardNamesRules.rst](https://github.com/ESCOMP/ESMStandardNames/blob/main/StandardNamesRules.rst) -To regenerate the standard name Markdown file, run: +Edits to standard names should be made in the xml file, using the included python tools to generate +the human-readable standard name Markdown file: ``` tools/write_standard_name_table.py standard_names.xml ``` diff --git a/StandardNamesRules.rst b/StandardNamesRules.rst index 5f2a9cd..8964187 100644 --- a/StandardNamesRules.rst +++ b/StandardNamesRules.rst @@ -4,13 +4,13 @@
******************* -CCPP Standard Names +Earth System Modeling 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 +for use with Earth System Models. It describes the -* CCPP Standard Name rules +* ESM Standard Name rules * Standard Name qualifiers * Other common standard name components * Acronyms, abbreviations, and aliases @@ -18,7 +18,7 @@ for use with the Common Community Physics Package (CCPP). It describes the .. _Rules -CCPP Standard Name Rules +ESM Standard Name Rules ======================== #. Standard names should be identical to those from the latest version diff --git a/standard_names.xml b/standard_names.xml index a16ec7f..02907ed 100644 --- a/standard_names.xml +++ b/standard_names.xml @@ -1,4 +1,4 @@ - +
integer + long_name="Total number of thread blocks OpenMP (shared-memory) parallel threads."> integer - - integer -
@@ -791,7 +787,8 @@ real
-
+
real @@ -901,39 +898,52 @@ real
-
- - character - - - integer - -
-
- - character - - - ccpp_constituent_prop_ptr_t - - - real - - - real - - - integer - +
+
+ + character + + + integer + +
+
+ + character + + + ccpp_constituent_prop_ptr_t + + + real + + + real + + + integer + + + integer + + + integer + + + integer + +
@@ -983,12 +993,6 @@ real - - integer - - - integer - integer diff --git a/tools/meta_stdname_check.py b/tools/ccpp_meta_stdname_check.py similarity index 99% rename from tools/meta_stdname_check.py rename to tools/ccpp_meta_stdname_check.py index d343027..dbf2b46 100755 --- a/tools/meta_stdname_check.py +++ b/tools/ccpp_meta_stdname_check.py @@ -37,7 +37,7 @@ from collections import OrderedDict ################################################ -#Add CCPP framework (lib) modules to python path +# Add lib modules to python path ################################################ _CURR_DIR = os.path.dirname(os.path.abspath(__file__)) diff --git a/tools/check_name_rules.py b/tools/check_name_rules.py index 2a67336..d9d1a0a 100755 --- a/tools/check_name_rules.py +++ b/tools/check_name_rules.py @@ -10,7 +10,7 @@ import re ################################################ -#Add CCPP framework (lib) modules to python path +# Add lib modules to python path ################################################ _CURR_DIR = os.path.dirname(os.path.abspath(__file__)) diff --git a/tools/check_xml_unique.py b/tools/check_xml_unique.py index 20d7ce9..35dfc01 100755 --- a/tools/check_xml_unique.py +++ b/tools/check_xml_unique.py @@ -11,7 +11,7 @@ import copy ################################################ -#Add CCPP framework (lib) modules to python path +# Add lib modules to python path ################################################ _CURR_DIR = os.path.dirname(os.path.abspath(__file__)) diff --git a/tools/write_standard_name_table.py b/tools/write_standard_name_table.py index c89d794..6e8a7ce 100755 --- a/tools/write_standard_name_table.py +++ b/tools/write_standard_name_table.py @@ -12,7 +12,7 @@ import re ################################################ -#Add CCPP framework (lib) modules to python path +# Add lib modules to python path ################################################ _CURR_DIR = os.path.dirname(os.path.abspath(__file__)) @@ -63,21 +63,20 @@ def convert_text_to_link(text_str): def standard_name_to_long_name(prop_dict, context=None): ######################################################################## """Translate a standard_name to its default long_name - Note: This code is copied from the CCPP Framework. >>> standard_name_to_long_name({'standard_name':'cloud_optical_depth_layers_from_0p55mu_to_0p99mu'}) 'Cloud optical depth layers from 0.55mu to 0.99mu' >>> standard_name_to_long_name({'local_name':'foo'}) #doctest: +IGNORE_EXCEPTION_DETAIL Traceback (most recent call last): - CCPPError: No standard name to convert foo to long name + KeyError: No standard name to convert foo to long name >>> standard_name_to_long_name({}) #doctest: +IGNORE_EXCEPTION_DETAIL Traceback (most recent call last): - CCPPError: No standard name to convert to long name + KeyError: No standard name to convert to long name >>> standard_name_to_long_name({'local_name':'foo'}, context=ParseContext(linenum=3, filename='foo.F90')) #doctest: +IGNORE_EXCEPTION_DETAIL Traceback (most recent call last): - CCPPError: No standard name to convert foo to long name at foo.F90:3 + KeyError: No standard name to convert foo to long name at foo.F90:3 >>> standard_name_to_long_name({}, context=ParseContext(linenum=3, filename='foo.F90')) #doctest: +IGNORE_EXCEPTION_DETAIL Traceback (most recent call last): - CCPPError: No standard name to convert to long name at foo.F90:3 + KeyError: No standard name to convert to long name at foo.F90:3 """ # We assume that standar_name has been checked for validity # Make the first char uppercase and replace each underscore with a space @@ -104,7 +103,7 @@ def standard_name_to_long_name(prop_dict, context=None): # end if ctxt = context_string(context) emsg = 'No standard name to convert{} to long name{}' - raise CCPPError(emsg.format(lname, ctxt)) + raise KeyError(emsg.format(lname, ctxt)) # end if return long_name @@ -129,7 +128,7 @@ def parse_command_line(args, description): def convert_xml_to_markdown(root, library_name, snl): ############################################################################### snl.write('# {}\n'.format(library_name)) - # Write a table of contents + # Write a table of contents for top-level sections snl.write('#### Table of Contents\n') for section in root: sec_name = section.get('name') @@ -138,15 +137,19 @@ def convert_xml_to_markdown(root, library_name, snl): # end for snl.write('\n') for section in root: + parse_section(snl, section) + +############################################################################### +def parse_section(snl, sec, level='##'): +############################################################################### # Step through the sections - sec_name = section.get('name') - sec_comment = section.get('comment') - snl.write('## {}\n'.format(sec_name)) + sec_name = sec.get('name') + sec_comment = sec.get('comment') + snl.write(f'{level} {sec_name}\n') if sec_comment is not None: # First, squeeze out the spacing while sec_comment.find(' ') >= 0: sec_comment = sec_comment.replace(' ', ' ') - # end while while sec_comment: sec_comment = sec_comment.lstrip() cind = sec_comment.find('\\n') @@ -159,7 +162,10 @@ def convert_xml_to_markdown(root, library_name, snl): # end if # end while # end if - for std_name in section: + for std_name in sec: + if std_name.tag == 'section': + parse_section(snl, std_name, level + '#') + continue stdn_name = std_name.get('name') stdn_longname = std_name.get('long_name') if stdn_longname is None: From eb2be9387bfc702f1238d20ed3f89caa9b22945f Mon Sep 17 00:00:00 2001 From: MayeulDestouchesMF Date: Thu, 27 Mar 2025 16:21:15 +0100 Subject: [PATCH 05/15] Remove a code owner (#107) * Remove old code owner * Add new UKMO code owner --------- Co-authored-by: DESTOUCHES Mayeul --- CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODEOWNERS b/CODEOWNERS index c3be267..98cfb65 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -3,7 +3,7 @@ # These owners will be the default owners for everything in the repo. -* @cacraigucar @climbfuji @dustinswales @gold2718 @grantfirl @mattldawson @mkavulich @mwaxmonsky @nusbaume @peverwhee @svahl991 @MayeulDestouches @ss421 +* @cacraigucar @climbfuji @dustinswales @gold2718 @grantfirl @mattldawson @mkavulich @mwaxmonsky @nusbaume @peverwhee @MarekWlasak @svahl991 @ss421 # Order is important. The last matching pattern has the most precedence. # So if a pull request only touches javascript files, only these owners From 1e37329382aeb2f11bcb546ebdd927afa8bc8cf1 Mon Sep 17 00:00:00 2001 From: Michael Kavulich Date: Thu, 3 Apr 2025 08:18:07 -0600 Subject: [PATCH 06/15] Cherry-picked from V1 branch: fix misspellings in Standard Names (#106) There are many misspellings in the existing main branch, not only in the long_name descriptions but in the standard_name entries themselves. This PR addresses the ones I have identified so far. --- Metadata-standard-names.md | 22 +++++++++++----------- standard_names.xml | 22 +++++++++++----------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index 0e30f86..c7bdf69 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -86,7 +86,7 @@ Currently, the only dimension which supports all six dimension types is horizont * `real(kind=kind_phys)`: units = kg m-3 * `ratio_of_water_vapor_to_dry_air_gas_constants_minus_one`: (Rwv / Rdair) - 1.0 * `real(kind=kind_phys)`: units = 1 -* `standard_gravitational_acceleration`: scalar constant representing gravitiational acceleration +* `standard_gravitational_acceleration`: scalar constant representing gravitational acceleration * `real(kind=kind_phys)`: units = m s-2 ## coordinates * `latitude`: Latitude @@ -546,7 +546,7 @@ Variables related to the compute environment * `real(kind=kind_phys)`: units = 1 * `aerosol_aware_multiplicative_rain_conversion_parameter_for_shallow_convection`: Aerosol aware multiplicative rain conversion parameter for shallow convection * `real(kind=kind_phys)`: units = 1 -* `number_of_microphysics_varaibles_in_xy_dimensioned_restart_array`: Number of microphysics varaibles in xy dimensioned restart array +* `number_of_microphysics_variables_in_xy_dimensioned_restart_array`: Number of microphysics variables in xy dimensioned restart array * `integer(kind=)`: units = count * `number_of_microphysics_variables_in_xyz_dimensioned_restart_array`: Number of microphysics variables in xyz dimensioned restart array * `integer(kind=)`: units = count @@ -740,7 +740,7 @@ Variables related to the compute environment * `integer(kind=)`: units = 1 * `control_for_land_surface_scheme_dynamic_vegetation`: Control for land surface scheme dynamic vegetation * `integer(kind=)`: units = 1 -* `indentifier_for_exponential_cloud_overlap_method`: Indentifier for exponential cloud overlap method +* `identifier_for_exponential_cloud_overlap_method`: Identifier for exponential cloud overlap method * `integer(kind=)`: units = 1 * `identifier_for_exponential_random_cloud_overlap_method`: Identifier for exponential random cloud overlap method * `integer(kind=)`: units = 1 @@ -906,7 +906,7 @@ Variables related to the compute environment * `integer(kind=)`: units = 1 * `control_for_land_surface_scheme_runoff_and_groundwater`: Control for land surface scheme runoff and groundwater * `integer(kind=)`: units = 1 -* `identifer_for_scale_aware_mass_flux_deep_convection`: Identifer for scale aware mass flux deep convection +* `identifier_for_scale_aware_mass_flux_deep_convection`: Identifier for scale aware mass flux deep convection * `integer(kind=)`: units = 1 * `identifier_for_scale_aware_mass_flux_shallow_convection`: Identifier for scale aware mass flux shallow convection * `integer(kind=)`: units = 1 @@ -1126,7 +1126,7 @@ Variables related to the compute environment * `integer(kind=)`: units = index * `index_of_upward_virtual_potential_temperature_flux_in_xyz_dimensioned_restart_array`: Index of upward virtual potential temperature flux in xyz dimensioned restart array * `integer(kind=)`: units = index -* `index_of_subgrid_cloud_area_fracation_in_atmosphere_layer_in_xyz_dimensioned_restart_array`: Index of subgrid cloud area fracation in atmosphere layer in xyz dimensioned restart array +* `index_of_subgrid_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array`: Index of subgrid cloud area fraction in atmosphere layer in xyz dimensioned restart array * `integer(kind=)`: units = index * `index_of_timestep`: Index of timestep * `integer(kind=)`: units = index @@ -1156,7 +1156,7 @@ Variables related to the compute environment * `real(kind=kind_phys)`: units = m * `do_allow_supersaturation_after_sedimentation`: Do allow supersaturation after sedimentation * `logical(kind=)`: units = flag -* `autoconverion_to_snow_size_threshold`: Autoconverion to snow size threshold +* `autoconversion_to_snow_size_threshold`: Autoconversion to snow size threshold * `real(kind=kind_phys)`: units = um * `bergeron_findeisen_process_efficiency_factor`: Bergeron findeisen process efficiency factor * `real(kind=kind_phys)`: units = fraction @@ -1404,7 +1404,7 @@ Variables related to the compute environment * `real(kind=kind_phys)`: units = 1 * `total_amplitude_of_sppt_perturbation`: Total amplitude of sppt perturbation * `real(kind=kind_phys)`: units = 1 -* `do_turbulent_orographic_form_drag_in_unified_gravity_wave_physics_gravitiy_wave_drag_scheme`: Do turbulent orographic form drag in unified gravity wave physics gravitiy wave drag scheme +* `do_turbulent_orographic_form_drag_in_unified_gravity_wave_physics_gravity_wave_drag_scheme`: Do turbulent orographic form drag in unified gravity wave physics gravity wave drag scheme * `logical(kind=)`: units = flag * `updraft_area_fraction_in_scale_aware_tke_moist_edmf_pbl_scheme`: Updraft area fraction in scale aware tke moist edmf pbl scheme * `real(kind=kind_phys)`: units = fraction @@ -1574,7 +1574,7 @@ Variables related to the compute environment * `real(kind=kind_phys)`: units = K2 * `tendency_of_air_temperature_due_to_nonphysics`: Tendency of air temperature due to nonphysics * `real(kind=kind_phys)`: units = K s-1 -* `tendency_of_air_temperature_to_withold_from_sppt`: Tendency of air temperature to withold from sppt +* `tendency_of_air_temperature_to_withhold_from_sppt`: Tendency of air temperature to withhold from sppt * `real(kind=kind_phys)`: units = K s-1 * `tendency_of_activated_cloud_condensation_nuclei_from_climatology`: Tendency of activated cloud condensation nuclei from climatology * `real(kind=kind_phys)`: units = kg-1 s-1 @@ -1594,7 +1594,7 @@ Variables related to the compute environment * `real(kind=kind_phys)`: units = kg kg-1 * `weight_for_momentum_at_top_of_viscous_sublayer`: Weight for momentum at top of viscous sublayer * `real(kind=kind_phys)`: units = 1 -* `weight_for_potental_temperature_at_top_of_viscous_sublayer`: Weight for potental temperature at top of viscous sublayer +* `weight_for_potential_temperature_at_top_of_viscous_sublayer`: Weight for potential temperature at top of viscous sublayer * `real(kind=kind_phys)`: units = 1 * `weight_for_specific_humidity_at_top_of_viscous_sublayer`: Weight for specific humidity at top of viscous sublayer * `real(kind=kind_phys)`: units = 1 @@ -1926,7 +1926,7 @@ Variables related to the compute environment ## GFS_typedefs_GFS_coupling_type * `cellular_automata_global_pattern_from_coupled_process`: Cellular automata global pattern from coupled process * `real(kind=kind_phys)`: units = 1 -* `convective_cloud_condesate_after_rainout`: Convective cloud condesate after rainout +* `convective_cloud_condensate_after_rainout`: Convective cloud condensate after rainout * `real(kind=kind_phys)`: units = kg kg-1 * `cumulative_surface_downwelling_diffuse_nir_shortwave_flux_for_coupling_multiplied_by_timestep`: Cumulative surface downwelling diffuse nir shortwave flux for coupling multiplied by timestep * `real(kind=kind_phys)`: units = J m-2 @@ -1940,7 +1940,7 @@ Variables related to the compute environment * `real(kind=kind_phys)`: units = J m-2 * `cumulative_surface_downwelling_shortwave_flux_for_coupling_multiplied_by_timestep`: Cumulative surface downwelling shortwave flux for coupling multiplied by timestep * `real(kind=kind_phys)`: units = J m-2 -* `cumulative_surface_net_downwellling_diffuse_nir_shortwave_flux_for_coupling_multiplied_by_timestep`: Cumulative surface net downwellling diffuse nir shortwave flux for coupling multiplied by timestep +* `cumulative_surface_net_downwelling_diffuse_nir_shortwave_flux_for_coupling_multiplied_by_timestep`: Cumulative surface net downwelling diffuse nir shortwave flux for coupling multiplied by timestep * `real(kind=kind_phys)`: units = J m-2 * `cumulative_surface_net_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep`: Cumulative surface net downwelling diffuse uv and vis shortwave flux for coupling multiplied by timestep * `real(kind=kind_phys)`: units = J m-2 diff --git a/standard_names.xml b/standard_names.xml index 02907ed..983946a 100644 --- a/standard_names.xml +++ b/standard_names.xml @@ -115,7 +115,7 @@ + long_name="scalar constant representing gravitational acceleration"> real
@@ -969,7 +969,7 @@ real - + integer @@ -1260,7 +1260,7 @@ integer - + integer @@ -1509,7 +1509,7 @@ integer - + integer @@ -1839,7 +1839,7 @@ integer - + integer @@ -1884,7 +1884,7 @@ logical - + real @@ -2256,7 +2256,7 @@ real - + logical @@ -2512,7 +2512,7 @@ real - + real @@ -2542,7 +2542,7 @@ real - + real @@ -3049,7 +3049,7 @@ real - + real @@ -3070,7 +3070,7 @@ real - + real From 139788b6c4c2b7fdb7433c3f6dc5ef1f570b320e Mon Sep 17 00:00:00 2001 From: mo-hlawrence <67629973+mo-hlawrence@users.noreply.github.com> Date: Thu, 22 May 2025 20:08:25 +0100 Subject: [PATCH 07/15] add glomap dust modes (#111) This PR adds in new aerosol variables needed for the Met Office LFRIC forecast model. These are the number and mass fractions for the two dust modes in the UKCA/GLOMAP aerosol model. --- Metadata-standard-names.md | 10 ++++++++++ standard_names.xml | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index c7bdf69..a8b9f45 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -8,6 +8,7 @@ * [diagnostics](#diagnostics) * [atmospheric_composition](#atmospheric_composition) * [atmospheric_composition: GOCART aerosols](#atmospheric_composition-gocart-aerosols) +* [atmospheric_composition: GLOMAP/UKCA aerosols](#atmospheric_composition-glomapukca-aerosols) * [emissions](#emissions) * [Application-specific variables](#application-specific-variables) * [system variables](#system-variables) @@ -449,6 +450,15 @@ Note that appending '_on_previous_timestep' to standard_names in this section yi * `real(kind=kind_phys)`: units = m-1 * `volume_extinction_in_air_due_to_aerosol_particles_lambda3`: Aerosol extinction at wavelength3 * `real(kind=kind_phys)`: units = m-1 +## atmospheric_composition: GLOMAP/UKCA aerosols +* `mass_fraction_of_dust_coarse_aerosol_particles_in_air`: Mass fraction of coarse mode dust aerosol particles + * `real(kind=kind_phys)`: units = kg kg-1 +* `mass_fraction_of_dust_accumulation_aerosol_particles_in_air`: Mass fraction of accumulation mode dust aerosol particles + * `real(kind=kind_phys)`: units = kg kg-1 +* `number_fraction_of_coarse_aerosol_particles_in_air`: Number fraction of coarse mode dust aerosol particles + * `real(kind=kind_phys)`: units = 1 +* `number_fraction_of_accumulation_aerosol_particles_in_air`: Number fraction of accumulation mode dust aerosol particles + * `real(kind=kind_phys)`: units = 1 ## emissions Emissions variables, contributed for the Community Emissions Data System (CEDS) * `emissions_of_co_due_to_anthropogenic`: Carbon monoxide emissions from anthropogenic sources, total diff --git a/standard_names.xml b/standard_names.xml index 983946a..5658550 100644 --- a/standard_names.xml +++ b/standard_names.xml @@ -787,6 +787,24 @@ real
+
+ + real + + + real + + + real + + + real + +
Date: Tue, 1 Jul 2025 09:34:02 -0600 Subject: [PATCH 08/15] Add xml to yaml converter, update Markdown and Yaml files automatically when pull requests are merged (#117) This pull request adds the capability to render the XML standard names dictionary to Yaml, in addition to the existing rendering to Markdown. I decided to render comments into long strings that the Python Yaml library then wraps correctly. I validated the resulting Yaml file using https://yamlchecker.com and it is valid. This pull request further updates the existing GitHub action for consistency and standard Yaml formatting (2-space indentation), and replaces the check if the Markdown is updated with tests to render the xml to both md and yaml. Lastly, a second GitHub workflow is added that automatically renders the xml to md and yaml and commits the files to the repository. This action is only run when the authoritative branch (main) is updated (push = merge a pull request). I tested this action in my fork of ESM standard names (see https://github.com/climbfuji/CCPPStandardNames/actions/runs/15637497788/job/44056347886). What I did not test is how this works with branch protection (my main branch was not protected). We will find out if additional settings/changes are needed once this PR is approved and merged. Closes #113 --- .github/workflows/commit_to_main.yml | 56 + .github/workflows/pull_request_ci.yml | 62 +- Metadata-standard-names.md | 2 +- Metadata-standard-names.yaml | 5689 +++++++++++++++++++++++++ README.md | 13 +- tools/write_standard_name_table.py | 201 +- 6 files changed, 5917 insertions(+), 106 deletions(-) create mode 100644 .github/workflows/commit_to_main.yml create mode 100644 Metadata-standard-names.yaml diff --git a/.github/workflows/commit_to_main.yml b/.github/workflows/commit_to_main.yml new file mode 100644 index 0000000..42ab65f --- /dev/null +++ b/.github/workflows/commit_to_main.yml @@ -0,0 +1,56 @@ +name: Render xml standard name dictionary to markdown and yaml and commit to repository + +on: + push: + branches: + - main + +jobs: + update-md-and-yaml: + name: Render xml to markdown and yaml and commit + runs-on: ubuntu-latest + + permissions: + contents: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: "3.x" + + - name: Configure git + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get -y install libxml2-utils + python -m pip install --upgrade pip + python -m pip install PyYaml + + - name: Render xml to markdown + run: | + tools/write_standard_name_table.py --output-format md standard_names.xml + echo "The following changes will be committed (git diff Metadata-standard-names.md):" + git diff Metadata-standard-names.md + git add Metadata-standard-names.md + + - name: Rendering xml to yaml + run: | + tools/write_standard_name_table.py --output-format yaml standard_names.xml + echo "The following changes will be committed (git diff Metadata-standard-names.yaml):" + git diff Metadata-standard-names.yaml + git add Metadata-standard-names.yaml + + - name: Commit and push changes + run: | + git commit -m "Update Metadata-standard-names.{md,yaml} from standard_names.xml" || echo "No changes to commit" + git push + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pull_request_ci.yml b/.github/workflows/pull_request_ci.yml index 949494c..df746e0 100644 --- a/.github/workflows/pull_request_ci.yml +++ b/.github/workflows/pull_request_ci.yml @@ -1,26 +1,33 @@ name: Pull request checks on: - pull_request: workflow_dispatch: + pull_request: + branches: + - main + - release/* jobs: check-unique-standard-names: + name: Check for duplicates in standard names runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - name: Setup Python + uses: actions/setup-python@v4 with: python-version: "3.x" - - name: Install xmllint + - name: Install dependencies run: | - sudo apt-get update - sudo apt-get -y install libxml2-utils + sudo apt-get update + sudo apt-get -y install libxml2-utils - name: Check for duplicate standard names - run: tools/check_xml_unique.py standard_names.xml + run: | + tools/check_xml_unique.py standard_names.xml check-name-rules: name: Check standard names against rules @@ -30,42 +37,49 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - name: Setup Python + uses: actions/setup-python@v4 with: python-version: "3.x" - # Install dependencies - name: Install dependencies run: | sudo apt-get update sudo apt-get -y install libxml2-utils - - name: Checks standard names against character rules run: | python3 tools/check_name_rules.py -s standard_names.xml - check-rerendered-markdown: + test-rendering: + name: Test rendering xml file to markdown and yaml runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - name: Setup Python + uses: actions/setup-python@v4 with: python-version: "3.x" - - name: Install xmllint + - name: Install dependencies run: | - sudo apt-get update - sudo apt-get -y install libxml2-utils + sudo apt-get update + sudo apt-get -y install libxml2-utils + python -m pip install --upgrade pip + python -m pip install PyYaml - - name: Check markdown has been rerendered + - name: Test rendering xml file to markdown run: | - # Checks if the saved markdown matches freshly rendered markdown. - # If this fails you have likely forgotten to rerun the write script - # after adding a new name, or updating its description. - checksum=$(sha256sum Metadata-standard-names.md) - tools/write_standard_name_table.py standard_names.xml - test "$checksum" = "$(sha256sum Metadata-standard-names.md)" - + tools/write_standard_name_table.py --output-format md standard_names.xml + echo "The following changes will be committed when this pull request is merged (git diff Metadata-standard-names.md; " + echo "assuming that 'Metadata-standard-names.md' wasn't updated and matches the version in the authoritative branch):" + git diff Metadata-standard-names.md + - name: Test rendering xml file to yaml + run: | + tools/write_standard_name_table.py --output-format yaml standard_names.xml + echo "The following changes will be committed when this pull request is merged (git diff Metadata-standard-names.yaml; " + echo "assuming that 'Metadata-standard-names.yaml' wasn't updated and matches the version in the authoritative branch):" + git diff Metadata-standard-names.yaml diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index a8b9f45..35c7921 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -1,4 +1,4 @@ -# Earth System Modeling Standard Name Library +# Earth System Modeling Standard Name Library - add some chunk here to test auto update #### Table of Contents * [dimensions](#dimensions) * [constants](#constants) diff --git a/Metadata-standard-names.yaml b/Metadata-standard-names.yaml new file mode 100644 index 0000000..88fd9db --- /dev/null +++ b/Metadata-standard-names.yaml @@ -0,0 +1,5689 @@ +library_name: Earth System Modeling Standard Name Library - add some chunk here to test auto update +sections: +- name: dimensions + comment: 'Dimension standard names may come in sets of six related standard names + for each dimension: [dim_name]_dimension -- The full dimension size [dim_name]_loop_extent + -- Size of dim for current call [dim_name]_begin - Start index for dimension [dim_name]_end + - End index for dimension [dim_name]_index - Single index for dimension [dim_name]_selection + - Array of selected indices for dimension Note that the cap generator may substitute + among standard names in this category in order to properly call suite parts and + individual schemes. In the substitutions below, the name on the left is the standard_name + in the dimensions field of the caller while the name(s) on the right is (are) + the standard name(s) of the callee (in the form used in the subroutine call). + [dim_name]_dimension ==> 1:[dim_name]_loop_extent [dim_name]_loop_extent ==> 1:[dim_name]_loop_extent + [dim_name]_begin:[dim_name]_end ==> 1:[dim_name]_loop_extent [dim_name]_begin:[dim_name]_end + ==> 1:[dim_name]_dimension Also note that horizontal_dimension should be used + in xxx_[timestep_]init and xxx_[timestep_]final routines but not in xxx_run routines. + Currently, the only dimension which supports all six dimension types is horizontal_dimension. + This and other supported dimension standard names are listed below.' + standard_names: + - name: horizontal_dimension + long_name: Size horizontal dimension + type: integer + kind: null + units: count + - name: vertical_layer_dimension + long_name: number of vertical layers + type: integer + kind: null + units: count + - name: vertical_layer_dimension_extended_up_by_1 + long_name: number of vertical layers extended up by 1 + type: integer + kind: null + units: count + - name: vertical_interface_dimension + long_name: number of vertical interfaces + type: integer + kind: null + units: count + - name: vertical_layer_index + long_name: index of a particular vertical layer + type: integer + kind: null + units: index + - name: vertical_interface_index + long_name: index of a particular vertical interface + type: integer + kind: null + units: index + - name: vertical_index_at_surface_adjacent_layer + long_name: Vertical index at surface adjacent layer + type: integer + kind: null + units: index + - name: vertical_index_at_top_adjacent_layer + long_name: Vertical index at top adjacent layer + type: integer + kind: null + units: index + - name: vertical_index_at_surface_interface + long_name: Vertical index at surface interface + type: integer + kind: null + units: index + - name: vertical_index_at_top_interface + long_name: Vertical index at top interface + type: integer + kind: null + units: index + - name: number_of_openmp_threads + long_name: Total number of thread blocks OpenMP (shared-memory) parallel threads. + type: integer + kind: null + units: count +- name: constants + comment: null + standard_names: + - name: avogadro_number + long_name: Avogadro number + type: real + kind: kind_phys + units: molecules mol-1 + - name: base_state_surface_pressure_for_hybrid_vertical_coordinate + long_name: Base state surface pressure for hybrid vertical coordinate + type: real + kind: kind_phys + units: Pa + - name: boltzmann_constant + long_name: Boltzmann constant + type: real + kind: kind_phys + units: J K-1 + - name: gas_constant_of_dry_air + long_name: Gas constant of dry air + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: seconds_in_calendar_day + long_name: Seconds in calendar day + type: integer + kind: kind_phys + units: s + - name: specific_heat_of_dry_air_at_constant_pressure + long_name: Specific heat of dry air at constant pressure + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: specific_heat_of_liquid_water_at_20c + long_name: specific heat of liquid water at 20c + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: latent_heat_of_vaporization_of_water_at_0c + long_name: latent heat of vaporization of water at 0c + type: real + kind: kind_phys + units: J kg-1 + - name: dry_air_density_at_stp + long_name: density of dry air at STP + type: real + kind: kind_phys + units: kg m-3 + - name: fresh_liquid_water_density_at_0c + long_name: density of liquid water at 0c + type: real + kind: kind_phys + units: kg m-3 + - name: ratio_of_water_vapor_to_dry_air_gas_constants_minus_one + long_name: (Rwv / Rdair) - 1.0 + type: real + kind: kind_phys + units: 1 + - name: standard_gravitational_acceleration + long_name: scalar constant representing gravitational acceleration + type: real + kind: kind_phys + units: m s-2 +- name: coordinates + comment: null + standard_names: + - name: latitude + long_name: Latitude + type: real + kind: kind_phys + units: degree_north + - name: longitude + long_name: Longitude + type: real + kind: kind_phys + units: degree_east + - name: cell_area + long_name: Cell area + type: real + kind: kind_phys + units: m2 + - name: cell_weight + long_name: Cell weight + type: real + kind: kind_phys + units: 1 +- name: state_variables + comment: Note that appending '_on_previous_timestep' to standard_names in this section + yields another valid standard_name + standard_names: + - name: physics_state_due_to_dynamics + long_name: Physics state due to dynamics + type: physics_state + kind: kind_phys + units: none + - name: timestep_for_physics + long_name: Timestep for physics + type: integer + kind: kind_phys + units: s + - name: total_tendency_of_physics + long_name: Total tendency of physics + type: physics_tend + kind: kind_phys + units: none + - name: air_pressure_at_top_of_atmosphere_model + long_name: Air pressure at top of atmosphere model + type: real + kind: kind_phys + units: Pa + - name: air_pressure_at_sea_level + long_name: Air pressure at sea level + type: real + kind: kind_phys + units: Pa + - name: air_pressure_at_surface + long_name: Air pressure at local surface + type: real + kind: kind_phys + units: Pa + - name: surface_pressure_of_dry_air + long_name: Surface pressure of dry air + type: real + kind: kind_phys + units: Pa + - name: surface_geopotential + long_name: Surface geopotential + type: real + kind: kind_phys + units: m2 s-2 + - name: air_temperature + long_name: Air temperature + type: real + kind: kind_phys + units: K + - name: air_temperature_on_previous_timestep + long_name: Air temperature on previous timestep + type: real + kind: kind_phys + units: K + - name: x_wind + long_name: Horizontal wind in a direction perpendicular to y_wind + type: real + kind: kind_phys + units: m s-1 + - name: y_wind + long_name: Horizontal wind in a direction perpendicular to x_wind + type: real + kind: kind_phys + units: m s-1 + - name: eastward_wind + long_name: Wind vector component, positive when directed eastward + type: real + kind: kind_phys + units: m s-1 + - name: northward_wind + long_name: Wind vector component, positive when directed northward + type: real + kind: kind_phys + units: m s-1 + - name: eastward_wind_at_10m + long_name: Wind vector component at 10m, positive when directed eastward + type: real + kind: kind_phys + units: m s-1 + - name: northward_wind_at_10m + long_name: Wind vector component at 10m, positive when directed northward + type: real + kind: kind_phys + units: m s-1 + - name: eastward_wind_at_surface + long_name: Wind vector component closest to surface, positive when directed eastward + type: real + kind: kind_phys + units: m s-1 + - name: northward_wind_at_surface + long_name: Wind vector component closest to surface, positive when directed northward + type: real + kind: kind_phys + units: m s-1 + - name: wind_speed_at_surface + long_name: Scalar wind speed closest to surface + type: real + kind: kind_phys + units: m s-1 + - name: wind_from_direction_at_surface + long_name: Direction, from north, of wind speed closest to surface + type: real + kind: kind_phys + units: degrees + - name: dry_static_energy + long_name: Dry static energy Content of Atmosphere Layer + type: real + kind: kind_phys + units: J kg-1 + - name: do_lagrangian_vertical_coordinate + long_name: flag indicating if vertical coordinate is lagrangian + type: logical + kind: '' + units: flag + - name: lagrangian_tendency_of_air_pressure + long_name: Vertical pressure velocity + type: real + kind: kind_phys + units: Pa s-1 + - name: dry_air_density + long_name: Density of dry air + type: real + kind: kind_phys + units: kg m-3 + - name: air_pressure + long_name: Midpoint air pressure + type: real + kind: kind_phys + units: Pa + - name: air_pressure_of_dry_air + long_name: Dry midpoint pressure + type: real + kind: kind_phys + units: Pa + - name: air_pressure_thickness + long_name: Air pressure thickness + type: real + kind: kind_phys + units: Pa + - name: air_pressure_thickness_of_dry_air + long_name: Air pressure thickness of dry air + type: real + kind: kind_phys + units: Pa + - name: reciprocal_of_air_pressure_thickness + long_name: Reciprocal of air pressure thickness + type: real + kind: kind_phys + units: Pa-1 + - name: reciprocal_of_air_pressure_thickness_of_dry_air + long_name: Reciprocal of air pressure thickness of dry air + type: real + kind: kind_phys + units: Pa-1 + - name: ln_air_pressure + long_name: Ln air pressure + type: real + kind: kind_phys + units: 1 + - name: ln_air_pressure_of_dry_air + long_name: Ln air pressure of dry air + type: real + kind: kind_phys + units: 1 + - name: reciprocal_of_dimensionless_exner_function_wrt_surface_air_pressure + long_name: inverse exner function w.r.t. surface pressure, (ps/p)^(R/cp) + type: real + kind: kind_phys + units: 1 + - name: geopotential_height + long_name: geopotential height w.r.t. sea level + type: real + kind: kind_phys + units: m + - name: geopotential_height_at_surface + long_name: Geopotential height at local surface w.r.t. sea level + type: real + kind: kind_phys + units: m + - name: geopotential_height_wrt_surface + long_name: geopotential height w.r.t. local surface + type: real + kind: kind_phys + units: m + - name: geopotential_height_wrt_surface_at_interfaces + long_name: geopotential height w.r.t. local surface at interfaces + type: real + kind: kind_phys + units: m + - name: potentially_advected_quantities + long_name: Potentially advected quantities + type: real + kind: kind_phys + units: various + - name: air_pressure_at_interfaces + long_name: Air pressure at interfaces + type: real + kind: kind_phys + units: Pa + - name: air_pressure_of_dry_air_at_interfaces + long_name: Air pressure of dry air at interfaces + type: real + kind: kind_phys + units: Pa + - name: ln_air_pressure_at_interfaces + long_name: Ln air pressure at interfaces + type: real + kind: kind_phys + units: 1 + - name: ln_air_pressure_of_dry_air_at_interfaces + long_name: Ln air pressure of dry air at interfaces + type: real + kind: kind_phys + units: 1 + - name: air_pressure_extended_up_by_1 + long_name: Air pressure extended up by 1 + type: real + kind: kind_phys + units: Pa + - name: largest_model_top_pressure_that_allows_molecular_diffusion + long_name: Largest model top pressure that allows molecular diffusion + type: real + kind: kind_phys + units: Pa + - name: do_molecular_diffusion + long_name: Do molecular diffusion + type: logical + kind: kind_phys + units: flag + - name: is_initialized_physics_grid + long_name: Flag to indicate if physics grid is initialized + type: logical + kind: kind_phys + units: flag + - name: control_for_negative_constituent_warning + long_name: Logging setting for negative constituent mass fixer + type: character + kind: len=* + units: 1 + - name: geopotential_height_at_interfaces + long_name: Geopotential height at interfaces + type: real + kind: kind_phys + units: m + - name: vertically_integrated_total_energy_of_initial_state + long_name: Vertically integrated total energy of initial state + type: real + kind: kind_phys + units: J m-2 + - name: vertically_integrated_total_energy_of_current_state + long_name: Vertically integrated total energy of current state + type: real + kind: kind_phys + units: J m-2 + - name: vertically_integrated_total_water_of_initial_state + long_name: Vertically integrated total water of initial state + type: real + kind: kind_phys + units: kg m-2 + - name: vertically_integrated_total_water_of_current_state + long_name: Vertically integrated total water of current state + type: real + kind: kind_phys + units: kg m-2 + - name: tendency_of_dry_air_enthalpy_at_constant_pressure + long_name: Tendency of dry air enthalpy at constant pressure + type: real + kind: kind_phys + units: J kg-1 s-1 + - name: tendency_of_air_temperature + long_name: Change in temperature from a parameterization + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_model_physics + long_name: Total change in air temperature from a physics suite + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_potential_temperature + long_name: Change in potential temperature from a parameterization + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_potential_temperature_due_to_model_physics + long_name: Tendency of air potential temperature due to model physics + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_x_wind + long_name: Change in x wind from a parameterization + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_x_wind_due_to_model_physics + long_name: Tendency of x wind due to model physics + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_y_wind + long_name: Change in y wind from a parameterization + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_y_wind_due_to_model_physics + long_name: Tendency of y wind due to model physics + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_eastward_wind + long_name: Change in eastward wind from a parameterization + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_eastward_wind_due_to_model_physics + long_name: Total change in eastward wind from a physics suite + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_northward_wind + long_name: Change in northward wind from a parameterization + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_northward_wind_due_to_model_physics + long_name: Total change in northward wind from a physics suite + type: real + kind: kind_phys + units: m s-2 + - name: air_horizontal_streamfunction + long_name: Scalar function describing the stream lines of the wind + type: real + kind: kind_phys + units: m2 s-1 + - name: air_horizontal_velocity_potential + long_name: Scalar potential of the wind + type: real + kind: kind_phys + units: m2 s-1 + - name: air_upward_absolute_vorticity + long_name: The upward (kth) component of the curl of the vector wind field + type: real + kind: kind_phys + units: s-1 + - name: air_horizontal_divergence + long_name: The (horizontal) divergence of the 2-D vector wind field + type: real + kind: kind_phys + units: s-1 + - name: surface_upward_heat_flux_in_air + long_name: Surface upward heat flux in air + type: real + kind: kind_phys + units: W m-2 + - name: cumulative_boundary_flux_of_total_energy + long_name: Cumulative boundary flux of total energy + type: real + kind: kind_phys + units: W m-2 + - name: cumulative_boundary_flux_of_total_water + long_name: Cumulative boundary flux of total water + type: real + kind: kind_phys + units: W m-2 + - name: us_standard_air_pressure_at_sea_level + long_name: US Standard Atmospheric pressure at sea level + type: real + kind: kind_phys + units: Pa + - name: surface_reference_pressure + long_name: Reference pressure used in definition of potential temperature, Exner + function, etc. + type: real + kind: kind_phys + units: Pa + - name: reference_pressure_in_atmosphere_layer + long_name: reference pressure in atmosphere layer + type: real + kind: kind_phys + units: Pa + - name: reference_air_pressure_normalized_by_surface_air_pressure + long_name: reference pressure normalized by surface pressure + type: real + kind: kind_phys + units: 1 + - name: reference_pressure_in_atmosphere_layer_normalized_by_surface_reference_pressure + long_name: Reference pressure in atmosphere layer normalized by surface reference + pressure + type: real + kind: kind_phys + units: 1 + - name: dimensionless_exner_function + long_name: exner function + type: real + kind: kind_phys + units: 1 + - name: air_potential_temperature + long_name: air potential temperature + type: real + kind: kind_phys + units: K + - name: air_potential_temperature_on_previous_timestep + long_name: air potential temperature on previous timestep + type: real + kind: kind_phys + units: K + - name: virtual_temperature + long_name: virtual temperature + type: real + kind: kind_phys + units: K + - name: virtual_potential_temperature + long_name: virtual potential temperature + type: real + kind: kind_phys + units: K + - name: composition_dependent_gas_constant_of_dry_air + long_name: Composition dependent gas constant of dry air + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: composition_dependent_specific_heat_of_dry_air_at_constant_pressure + long_name: composition dependent specific heat of dry air at constant pressure + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: composition_dependent_ratio_of_dry_air_gas_constant_to_specific_heat_of_dry_air_at_constant_pressure + long_name: composition dependent ratio of dry air gas constant to specific heat + of dry air at constant pressure + type: real + kind: kind_phys + units: 1 + - name: ratio_of_water_vapor_gas_constant_to_composition_dependent_dry_air_gas_constant_minus_one + long_name: (Rwv / Rdair) - 1.0 + type: real + kind: kind_phys + units: 1 + - name: mass_content_of_cloud_ice_in_atmosphere_layer + long_name: Mass content of cloud ice in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_cloud_liquid_water_in_atmosphere_layer + long_name: Mass content of cloud liquid water in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_rain_in_atmosphere_layer + long_name: Mass content of rain in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_snow_in_atmosphere_layer + long_name: Mass content of snow in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_graupel_in_atmosphere_layer + long_name: Mass content of graupel in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_hail_in_atmosphere_layer + long_name: Mass content of hail in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: nonconvective_cloud_area_fraction_in_atmosphere_layer + long_name: cloud area fraction in atmosphere layer excluding clouds produced by + the convective schemes + type: real + kind: kind_phys + units: fraction + - name: relative_humidity + long_name: Relative humidity + type: real + kind: kind_phys + units: fraction + - name: relative_humidity_at_2m + long_name: Relative humidity at 2m + type: real + kind: kind_phys + units: fraction + - name: gravitational_acceleration + long_name: Gravitational acceleration + type: real + kind: kind_phys + units: m s-2 +- name: land_surface + comment: null + standard_names: + - name: land_ice_area_fraction_of_cell_area + long_name: fraction of horizontal area of grid cell that is land ice + type: real + kind: kind_phys + units: frac + - name: mass_content_of_water_in_top_soil_layer + long_name: content per unit area of water in top layer of soil + type: real + kind: kind_phys + units: kg m-2 + - name: surface_snow_density + long_name: Surface snow density + type: real + kind: kind_phys + units: kg m-3 + - name: urban_area_fraction_of_cell_area + long_name: fraction of horizontal area of grid cell that is urban + type: real + kind: kind_phys + units: frac + - name: volume_fraction_of_liquid_water_in_soil_at_critical_point + long_name: volume fraction of water in liquid phase in soil at critical point + type: real + kind: kind_phys + units: m3 m-3 + - name: volume_fraction_of_liquid_water_in_soil_at_saturation + long_name: volume fraction of water in liquid phase in soil at saturation + type: real + kind: kind_phys + units: m3 m-3 + - name: volume_fraction_of_liquid_water_in_soil_at_wilting_point + long_name: volume fraction of water in liquid phase in soil at wilting point + type: real + kind: kind_phys + units: m3 m-3 +- name: diagnostics + comment: null + standard_names: + - name: total_precipitation_rate_at_surface + long_name: Total precipitation rate at surface + type: real + kind: kind_phys + units: m s-1 +- name: atmospheric_composition + comment: null + standard_names: + - name: number_of_chemical_species + long_name: Number of chemical species + type: integer + kind: kind_phys + units: count + - name: number_of_tracers + long_name: Number of tracers + type: integer + kind: kind_phys + units: count + - name: water_vapor_mixing_ratio_wrt_moist_air + long_name: Ratio of the mass of water vapor to the mass of moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: Ratio of the mass of water vapor to the mass of moist air and hydrometeors + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: Ratio of the mass of water vapor to the mass of moist air and hydrometeors + at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: mole_fraction_of_water_vapor + long_name: Mole fraction of water vapor + type: real + kind: kind_phys + units: mol mol-1 + - name: water_vapor_mixing_ratio_wrt_dry_air + long_name: Ratio of the mass of water vapor to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: Ratio of the mass of water vapor to the mass of dry air at all interfaces + excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: Ratio of the mass of liquid water to the mass of moist air and condensed + water + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: Ratio of the mass of liquid water to the mass of moist air and condensed + water at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air + long_name: Ratio of the mass of liquid water to the mass of moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_dry_air + long_name: Ratio of the mass of liquid water to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: Ratio of the mass of liquid water to the mass of dry air at all interfaces + excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: Ratio of the mass of ice to the mass of moist air and condensed water + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: Ratio of the mass of ice to the mass of moist air and condensed water + at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_ice_mixing_ratio_wrt_dry_air + long_name: Ratio of the mass of ice to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_ice_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: Ratio of the mass of ice to the mass of dry air at all interfaces excluding + surface + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: ratio of the mass of rain to the mass of moist air and condensed water + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: ratio of the mass of rain to the mass of moist air and condensed water + at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_moist_air + long_name: ratio of the mass of rain to the mass of moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_dry_air + long_name: ratio of the mass of rain to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: ratio of the mass of rain to the mass of dry air at all interfaces + excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: total_water_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: ratio of the mass of water to the mass of moist air and condensed water + type: real + kind: kind_phys + units: kg kg-1 + - name: total_water_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: ratio of the mass of water to the mass of moist air and condensed water + at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: total_water_mixing_ratio_wrt_dry_air + long_name: ratio of the mass of water to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: total_water_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: ratio of the mass of water to the mass of dry air at all interfaces + excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_assuming_saturation + long_name: saturated water vapor mixing ratio with respect to moist air and condensed + water + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces_assuming_saturation + long_name: saturated water vapor mixing ratio with respect to moist air and condensed + water at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: derivative_of_ln_water_vapor_partial_pressure_assuming_saturation_wrt_air_temperature + long_name: log derivative of the water vapor partial pressure at saturation with + respect to air temperature + type: real + kind: kind_phys + units: K-1 + - name: derivative_of_ln_water_vapor_partial_pressure_assuming_saturation_wrt_air_temperature_at_top_interfaces + long_name: log derivative of the water vapor partial pressure at saturation with + respect to air temperature at all interfaces excluding surface + type: real + kind: kind_phys + units: K-1 + - name: mole_fraction_of_ozone_in_air + long_name: Mole fraction of ozone in air + type: real + kind: kind_phys + units: mol mol-1 + - name: mole_fraction_of_carbon_dioxide_in_air + long_name: Mole fraction of carbon dioxide in air + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_ch4 + long_name: Methane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_co + long_name: Carbon monoxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_co2 + long_name: Carbon dioxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_ccl4 + long_name: Tetrachloromethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_cfc11 + long_name: Trichlorofluoromethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_cfc12 + long_name: Dichlorodifluoromethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_cfc113 + long_name: 1,1,2-Trichloro-1,2,2-trifluoroethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_cfc22 + long_name: Chlorodifluoromethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_o2 + long_name: Dioxygen volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_n2o + long_name: Nitrous oxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_no2 + long_name: Nitrogen dioxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_no + long_name: Nitrogen oxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_o3 + long_name: Ozone volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_hcho + long_name: Formaldehyde volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_c5h8 + long_name: Isoprene volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_so2 + long_name: Sulfur dioxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 +- name: 'atmospheric_composition: GOCART aerosols' + comment: null + standard_names: + - name: mass_fraction_of_dust001_in_air + long_name: Dust bin1 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust002_in_air + long_name: Dust bin2 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust003_in_air + long_name: Dust bin3 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust004_in_air + long_name: Dust bin4 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust005_in_air + long_name: Dust bin5 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt001_in_air + long_name: Sea salt bin5 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt002_in_air + long_name: Sea salt bin2 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt003_in_air + long_name: Sea salt bin3 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt004_in_air + long_name: Sea salt bin4 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt005_in_air + long_name: Sea salt bin5 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_hydrophobic_black_carbon_in_air + long_name: Hydrophobic black carbon mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_hydrophilic_black_carbon_in_air + long_name: Hydrophilic black carbon mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_hydrophobic_organic_carbon_in_air + long_name: Hydrophobic organic carbon mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_hydrophilic_organic_carbon_in_air + long_name: Hydrophilic organic carbon mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sulfate_in_air + long_name: Sulfate mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_nitrate001_in_air + long_name: Nitrate bin1 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_nitrate002_in_air + long_name: Nitrate bin2 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_nitrate003_in_air + long_name: Nitrate bin3 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: volume_extinction_in_air_due_to_aerosol_particles_lambda1 + long_name: Aerosol extinction at wavelength1 + type: real + kind: kind_phys + units: m-1 + - name: volume_extinction_in_air_due_to_aerosol_particles_lambda2 + long_name: Aerosol extinction at wavelength2 + type: real + kind: kind_phys + units: m-1 + - name: volume_extinction_in_air_due_to_aerosol_particles_lambda3 + long_name: Aerosol extinction at wavelength3 + type: real + kind: kind_phys + units: m-1 +- name: 'atmospheric_composition: GLOMAP/UKCA aerosols' + comment: null + standard_names: + - name: mass_fraction_of_dust_coarse_aerosol_particles_in_air + long_name: Mass fraction of coarse mode dust aerosol particles + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust_accumulation_aerosol_particles_in_air + long_name: Mass fraction of accumulation mode dust aerosol particles + type: real + kind: kind_phys + units: kg kg-1 + - name: number_fraction_of_coarse_aerosol_particles_in_air + long_name: Number fraction of coarse mode dust aerosol particles + type: real + kind: kind_phys + units: 1 + - name: number_fraction_of_accumulation_aerosol_particles_in_air + long_name: Number fraction of accumulation mode dust aerosol particles + type: real + kind: kind_phys + units: 1 +- name: emissions + comment: Emissions variables, contributed for the Community Emissions Data System + (CEDS) + standard_names: + - name: emissions_of_co_due_to_anthropogenic + long_name: Carbon monoxide emissions from anthropogenic sources, total + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic + long_name: Nitric oxide emissions from anthropogenic sources, total + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic + long_name: Formaldehyde emissions from anthropogenic sources, total + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_agriculture + long_name: Carbon monoxide emissions from anthropogenic non-combustion agricultural + sector + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_agriculture + long_name: Nitric oxide emissions from anthropogenic non-combustion agricultural + sector + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_agriculture + long_name: Formaldehyde emissions from anthropogenic non-combustion agricultural + sector + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_energy + long_name: Carbon monoxide emissions from anthropogenic non-combustion energy + transformation and extraction + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_energy + long_name: Nitric oxide emissions from anthropogenic non-combustion energy transformation + and extraction + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_energy + long_name: Formaldehyde emissions from anthropogenic non-combustion energy transformation + and extraction + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_industry + long_name: Carbon monoxide emissions from anthropogenic industrial combustion + and processes + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_industry + long_name: Nitric oxide emissions from anthropogenic industrial combustion and + processes + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_industry + long_name: Formaldehyde emissions from anthropogenic industrial combustion and + processes + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_rco + long_name: Carbon monoxide emissions from anthropogenic residential, commercial, + and others + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_rco + long_name: Nitric oxide emissions from anthropogenic residential, commercial, + and others + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_rco + long_name: Formaldehyde emissions from anthropogenic residential, commercial, + and others + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_shipping + long_name: Carbon monoxide emissions from anthropogenic international shipping + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_shipping + long_name: Nitric oxide emissions from anthropogenic international shipping + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_shipping + long_name: Formaldehyde emissions from anthropogenic international shipping + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_solvents + long_name: Carbon monoxide emissions from anthropogenic solvents + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_solvents + long_name: Nitric oxide emissions from anthropogenic solvents + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_solvents + long_name: Formaldehyde emissions from anthropogenic solvents + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_transportation + long_name: Carbon monoxide emissions from anthropogenic surface Transportation + (Road, Rail, Other) + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_transportation + long_name: Nitric oxide emissions from anthropogenic surface Transportation (Road, + Rail, Other) + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_transportation + long_name: Formaldehyde emissions from anthropogenic surface Transportation (Road, + Rail, Other) + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_waste + long_name: Carbon monoxide emissions from anthropogenic waste disposal and handling + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_waste + long_name: Nitric oxide emissions from anthropogenic waste disposal and handling + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_waste + long_name: Formaldehyde emissions from anthropogenic waste disposal and handling + type: real + kind: kind_phys + units: kg m-2 s-1 +- name: Application-specific variables + comment: Variable names only for use with a specific application + standard_names: [] +- name: system variables + comment: Variables related to the compute environment + standard_names: + - name: flag_for_mpi_root + long_name: Flag for MPI root + type: logical + kind: '' + units: flag + - name: log_output_unit + long_name: Log output unit + type: integer + kind: '' + units: 1 +- name: GFS_typedefs_GFS_control_type + comment: null + standard_names: + - name: sigma_pressure_hybrid_coordinate_a_coefficient + long_name: Sigma pressure hybrid coordinate a coefficient + type: real + kind: kind_phys + units: Pa + - name: radiatively_active_gases_as_string + long_name: Radiatively active gases as string + type: character + kind: len=128 + units: none + - name: aerosol_aware_multiplicative_rain_conversion_parameter_for_deep_convection + long_name: Aerosol aware multiplicative rain conversion parameter for deep convection + type: real + kind: kind_phys + units: 1 + - name: aerosol_aware_multiplicative_rain_conversion_parameter_for_shallow_convection + long_name: Aerosol aware multiplicative rain conversion parameter for shallow + convection + type: real + kind: kind_phys + units: 1 + - name: number_of_microphysics_variables_in_xy_dimensioned_restart_array + long_name: Number of microphysics variables in xy dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_microphysics_variables_in_xyz_dimensioned_restart_array + long_name: Number of microphysics variables in xyz dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_random_numbers + long_name: Number of random numbers + type: integer + kind: '' + units: count + - name: multiplicative_tuning_parameter_for_atmosphere_diffusivity + long_name: Multiplicative tuning parameter for atmosphere diffusivity + type: real + kind: kind_phys + units: 1 + - name: atmosphere_heat_diffusivity_due_to_background + long_name: Atmosphere heat diffusivity due to background + type: real + kind: kind_phys + units: m2 s-1 + - name: max_atmosphere_heat_diffusivity_due_to_background + long_name: Max atmosphere heat diffusivity due to background + type: real + kind: kind_phys + units: m2 s-1 + - name: atmosphere_momentum_diffusivity_due_to_background + long_name: Atmosphere momentum diffusivity due to background + type: real + kind: kind_phys + units: m2 s-1 + - name: sigma_pressure_hybrid_coordinate_b_coefficient + long_name: Sigma pressure hybrid coordinate b coefficient + type: real + kind: kind_phys + units: 1 + - name: cellular_automata_finer_grid + long_name: Cellular automata finer grid + type: integer + kind: '' + units: count + - name: cellular_automata_lifetime + long_name: Cellular automata lifetime + type: integer + kind: '' + units: count + - name: cellular_automata_seed_frequency + long_name: Cellular automata seed frequency + type: integer + kind: '' + units: count + - name: cellular_automata_seed_probability + long_name: Cellular automata seed probability + type: real + kind: kind_phys + units: fraction + - name: identifier_for_2018_scale_aware_tke_moist_edmf_pbl + long_name: Identifier for 2018 scale aware tke moist edmf pbl + type: integer + kind: '' + units: 1 + - name: control_for_scale_aware_tke_moist_edmf_pbl_scheme + long_name: Control for scale aware tke moist edmf pbl scheme + type: integer + kind: '' + units: 1 + - name: identifier_for_2019_scale_aware_tke_moist_edmf_pbl + long_name: Identifier for 2019 scale aware tke moist edmf pbl + type: integer + kind: '' + units: 1 + - name: cloud_condensate_autoconversion_threshold_coefficient + long_name: Cloud condensate autoconversion threshold coefficient + type: real + kind: kind_phys + units: 1 + - name: cloud_condensate_autoconversion_threshold_coefficient_for_deep_convection + long_name: Cloud condensate autoconversion threshold coefficient for deep convection + type: real + kind: kind_phys + units: 1 + - name: control_for_cloud_area_fraction_option + long_name: Control for cloud area fraction option + type: integer + kind: '' + units: 1 + - name: reciprocal_of_cloud_phase_transition_temperature_range + long_name: Reciprocal of cloud phase transition temperature range + type: real + kind: kind_phys + units: K-1 + - name: cloud_phase_transition_threshold_temperature + long_name: Cloud phase transition threshold temperature + type: real + kind: kind_phys + units: K + - name: control_for_cloud_species_mixing_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for cloud species mixing in mellor yamada nakanishi niino pbl + scheme + type: integer + kind: '' + units: 1 + - name: control_for_cloud_pdf_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for cloud pdf in mellor yamada nakanishi niino pbl scheme + type: integer + kind: '' + units: 1 + - name: precipitation_evaporation_coefficient + long_name: Precipitation evaporation coefficient + type: real + kind: kind_phys + units: 1 + - name: coefficient_for_variable_bulk_richardson_number_over_land + long_name: Coefficient for variable bulk richardson number over land + type: real + kind: kind_phys + units: 1 + - name: coefficient_for_variable_bulk_richardson_number_over_water + long_name: Coefficient for variable bulk richardson number over water + type: real + kind: kind_phys + units: 1 + - name: autoconversion_to_snow_coefficient + long_name: Autoconversion to snow coefficient + type: real + kind: kind_phys + units: 1 + - name: autoconversion_to_snow_coefficient_for_deep_convection + long_name: Autoconversion to snow coefficient for deep convection + type: real + kind: kind_phys + units: 1 + - name: autoconversion_to_rain_coefficient + long_name: Autoconversion to rain coefficient + type: real + kind: kind_phys + units: 1 + - name: autoconversion_to_rain_coefficient_for_deep_convection + long_name: Autoconversion to rain coefficient for deep convection + type: real + kind: kind_phys + units: 1 + - name: chemical_tracer_scavenging_fractions + long_name: Chemical tracer scavenging fractions + type: real + kind: kind_phys + units: fraction + - name: cloud_condensate_detrainment_coefficient + long_name: Cloud condensate detrainment coefficient + type: real + kind: kind_phys + units: 1 + - name: control_for_convective_cloud_diagnostics + long_name: Control for convective cloud diagnostics + type: real + kind: kind_phys + units: 1 + - name: cosine_of_solar_declination_angle + long_name: Cosine of solar declination angle + type: real + kind: kind_phys + units: 1 + - name: control_for_sgs_cloud_radiation_coupling_in_mellor_yamamda_nakanishi_niino_pbl_scheme + long_name: Control for sgs cloud radiation coupling in mellor yamamda nakanishi + niino pbl scheme + type: integer + kind: '' + units: 1 + - name: tunable_parameter_for_critical_cloud_top_entrainment_instability_criteria + long_name: Tunable parameter for critical cloud top entrainment instability criteria + type: real + kind: kind_phys + units: 1 + - name: critical_relative_humidity_at_top_of_atmosphere_boundary_layer + long_name: Critical relative humidity at top of atmosphere boundary layer + type: real + kind: kind_phys + units: fraction + - name: critical_relative_humidity_at_surface + long_name: Critical relative humidity at surface + type: real + kind: kind_phys + units: fraction + - name: critical_relative_humidity_at_toa + long_name: Critical relative humidity at toa + type: real + kind: kind_phys + units: fraction + - name: date_and_time_at_model_initialization_in_iso_order + long_name: Date and time at model initialization in iso order + type: integer + kind: '' + units: 1 + - name: date_and_time_at_model_initialization_in_united_states_order + long_name: Date and time at model initialization in united states order + type: integer + kind: '' + units: 1 + - name: decorrelation_length_used_by_overlap_method + long_name: Decorrelation length used by overlap method + type: real + kind: kind_phys + units: km + - name: density_of_fresh_water + long_name: Density of fresh water + type: real + kind: kind_phys + units: kg m-3 + - name: depth_of_soil_layers + long_name: Depth of soil layers + type: real + kind: kind_phys + units: m + - name: tunable_parameter_1_for_detrainment_and_precipitation_partitioning_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter 1 for detrainment and precipitation partitioning + in chikira sugiyama deep convection + type: real + kind: kind_phys + units: m + - name: tunable_parameter_2_for_detrainment_and_precipitation_partitioning_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter 2 for detrainment and precipitation partitioning + in chikira sugiyama deep convection + type: real + kind: kind_phys + units: m + - name: detrainment_conversion_parameter_for_deep_convection + long_name: Detrainment conversion parameter for deep convection + type: real + kind: kind_phys + units: m-1 + - name: detrainment_conversion_parameter_for_shallow_convection + long_name: Detrainment conversion parameter for shallow convection + type: real + kind: kind_phys + units: m-1 + - name: do_unified_gravity_wave_physics_diagnostics + long_name: Do unified gravity wave physics diagnostics + type: logical + kind: '' + units: flag + - name: do_chemical_tracer_diagnostics + long_name: Do chemical tracer diagnostics + type: logical + kind: '' + units: flag + - name: sigma_pressure_threshold_at_upper_extent_of_background_diffusion + long_name: Sigma pressure threshold at upper extent of background diffusion + type: real + kind: kind_phys + units: 1 + - name: directory_for_rte_rrtmgp_source_code + long_name: Directory for rte rrtmgp source code + type: character + kind: len=128 + units: none + - name: do_mellor_yamada_janjic_pbl_scheme + long_name: Do mellor yamada janjic pbl scheme + type: logical + kind: '' + units: flag + - name: do_mellor_yamada_janjic_surface_layer_scheme + long_name: Do mellor yamada janjic surface layer scheme + type: logical + kind: '' + units: flag + - name: do_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Do mellor yamada nakanishi niino pbl scheme + type: logical + kind: '' + units: flag + - name: do_mellor_yamada_nakanishi_niino_surface_layer_scheme + long_name: Do mellor yamada nakanishi niino surface layer scheme + type: logical + kind: '' + units: flag + - name: do_unified_gravity_wave_physics_gravity_wave_drag_scheme + long_name: Do unified gravity wave physics gravity wave drag scheme + type: logical + kind: '' + units: flag + - name: downdraft_area_fraction_in_scale_aware_tke_moist_edmf_pbl_scheme + long_name: Downdraft area fraction in scale aware tke moist edmf pbl scheme + type: real + kind: kind_phys + units: fraction + - name: downdraft_fraction_reaching_surface_over_land_for_deep_convection + long_name: Downdraft fraction reaching surface over land for deep convection + type: real + kind: kind_phys + units: fraction + - name: downdraft_fraction_reaching_surface_over_water_for_deep_convection + long_name: Downdraft fraction reaching surface over water for deep convection + type: real + kind: kind_phys + units: fraction + - name: control_for_edmf_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for edmf in mellor yamada nakanishi niino pbl scheme + type: integer + kind: '' + units: 1 + - name: control_for_edmf_momentum_transport_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for edmf momentum transport in mellor yamada nakanishi niino + pbl scheme + type: integer + kind: '' + units: 1 + - name: control_for_edmf_partitioning_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for edmf partitioning in mellor yamada nakanishi niino pbl + scheme + type: integer + kind: '' + units: 1 + - name: control_for_edmf_tke_transport_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for edmf tke transport in mellor yamada nakanishi niino pbl + scheme + type: integer + kind: '' + units: 1 + - name: surface_layer_scheme_enthalpy_flux_factor + long_name: Surface layer scheme enthalpy flux factor + type: real + kind: kind_phys + units: 1 + - name: tunable_parameter_for_entrainment_efficiency_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter for entrainment efficiency in chikira sugiyama deep + convection + type: real + kind: kind_phys + units: 1 + - name: entrainment_rate_coefficient_for_deep_convection + long_name: Entrainment rate coefficient for deep convection + type: real + kind: kind_phys + units: 1 + - name: entrainment_rate_coefficient_for_shallow_convection + long_name: Entrainment rate coefficient for shallow convection + type: real + kind: kind_phys + units: 1 + - name: equation_of_time + long_name: Equation of time + type: real + kind: kind_phys + units: radian + - name: relative_humidity_threshold_for_condensation + long_name: Relative humidity threshold for condensation + type: real + kind: kind_phys + units: fraction + - name: do_arakawa_wu_downdrafts_for_deep_convection + long_name: Do arakawa wu downdrafts for deep convection + type: logical + kind: '' + units: flag + - name: do_debug_output + long_name: Do debug output + type: logical + kind: '' + units: flag + - name: do_diagnostics + long_name: Do diagnostics + type: logical + kind: '' + units: flag + - name: do_xyz_dimensioned_diagnostics + long_name: Do xyz dimensioned diagnostics + type: logical + kind: '' + units: flag + - name: do_flip + long_name: Do flip + type: logical + kind: '' + units: flag + - name: control_for_flux_adjusting_surface_data_assimilation_system + long_name: Control for flux adjusting surface data assimilation system + type: integer + kind: '' + units: 1 + - name: do_flux_form_in_chikira_sugiyama_deep_convection_scheme + long_name: Do flux form in chikira sugiyama deep convection scheme + type: logical + kind: '' + units: flag + - name: do_nrl_2015_ozone_scheme + long_name: Do nrl 2015 ozone scheme + type: logical + kind: '' + units: flag + - name: do_prescribed_aerosols + long_name: Do prescribed aerosols + type: logical + kind: '' + units: flag + - name: do_aerosol_physics + long_name: Do aerosol physics + type: logical + kind: '' + units: flag + - name: do_arakawa_wu_adjustment + long_name: Do arakawa wu adjustment + type: logical + kind: '' + units: flag + - name: do_canopy_heat_storage_in_land_surface_scheme + long_name: Do canopy heat storage in land surface scheme + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_canopy_stomatal_resistance + long_name: Control for land surface scheme canopy stomatal resistance + type: integer + kind: '' + units: 1 + - name: do_cellular_automata + long_name: Do cellular automata + type: logical + kind: '' + units: flag + - name: do_chemistry_coupling + long_name: Do chemistry coupling + type: logical + kind: '' + units: flag + - name: do_chikira_sugiyama_deep_convection_scheme + long_name: Do chikira sugiyama deep convection scheme + type: logical + kind: '' + units: flag + - name: do_in_cloud_condensate + long_name: Do in cloud condensate + type: logical + kind: '' + units: flag + - name: do_cloud_effective_radii + long_name: Do cloud effective radii + type: logical + kind: '' + units: flag + - name: control_for_cloud_overlap_method_for_radiation + long_name: Control for cloud overlap method for radiation + type: integer + kind: '' + units: 1 + - name: identifier_for_constant_decorrelation_length_method + long_name: Identifier for constant decorrelation length method + type: integer + kind: '' + units: 1 + - name: do_convective_gravity_wave_drag + long_name: Do convective gravity wave drag + type: logical + kind: '' + units: flag + - name: do_convective_transport_of_tracers + long_name: Do convective transport of tracers + type: logical + kind: '' + units: flag + - name: do_converting_hydrometeors_from_moist_to_dry_air + long_name: Do converting hydrometeors from moist to dry air + type: logical + kind: '' + units: flag + - name: do_crick_elimination + long_name: Do crick elimination + type: logical + kind: '' + units: flag + - name: identifier_for_decorrelation_length_cloud_overlap_method + long_name: Identifier for decorrelation length cloud overlap method + type: integer + kind: '' + units: 1 + - name: control_for_decorrelation_length_method + long_name: Control for decorrelation length method + type: integer + kind: '' + units: 1 + - name: control_for_shortwave_radiation_aerosols + long_name: Control for shortwave radiation aerosols + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_dynamic_vegetation + long_name: Control for land surface scheme dynamic vegetation + type: integer + kind: '' + units: 1 + - name: identifier_for_exponential_cloud_overlap_method + long_name: Identifier for exponential cloud overlap method + type: integer + kind: '' + units: 1 + - name: identifier_for_exponential_random_cloud_overlap_method + long_name: Identifier for exponential random cloud overlap method + type: integer + kind: '' + units: 1 + - name: identifier_for_fer_hires_microphysics_scheme + long_name: Identifier for fer hires microphysics scheme + type: integer + kind: '' + units: 1 + - name: is_first_timestep + long_name: Is first timestep + type: logical + kind: '' + units: flag + - name: do_surface_flux_coupling + long_name: Do surface flux coupling + type: logical + kind: '' + units: flag + - name: do_fractional_landmask + long_name: Do fractional landmask + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_frozen_soil_permeability + long_name: Control for land surface scheme frozen soil permeability + type: integer + kind: '' + units: 1 + - name: do_cellular_automata_gaussian_spatial_filter + long_name: Do cellular automata gaussian spatial filter + type: logical + kind: '' + units: flag + - name: do_gcycle_surface_option + long_name: Do gcycle surface option + type: logical + kind: '' + units: flag + - name: do_generic_tendency_due_to_deep_convection + long_name: Do generic tendency due to deep convection + type: logical + kind: '' + units: flag + - name: do_generic_tendency_due_to_gravity_wave_drag + long_name: Do generic tendency due to gravity wave drag + type: logical + kind: '' + units: flag + - name: do_generic_tendency_due_to_planetary_boundary_layer + long_name: Do generic tendency due to planetary boundary layer + type: logical + kind: '' + units: flag + - name: do_generic_tendency_due_to_shallow_convection + long_name: Do generic tendency due to shallow convection + type: logical + kind: '' + units: flag + - name: identifier_for_grell_freitas_deep_convection + long_name: Identifier for grell freitas deep convection + type: integer + kind: '' + units: 1 + - name: identifier_for_grell_freitas_shallow_convection + long_name: Identifier for grell freitas shallow convection + type: integer + kind: '' + units: 1 + - name: do_gfdl_microphysics_radiation_interaction + long_name: Do gfdl microphysics radiation interaction + type: logical + kind: '' + units: flag + - name: identifier_for_gfdl_microphysics_scheme + long_name: Identifier for gfdl microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_global_cellular_automata + long_name: Do global cellular automata + type: logical + kind: '' + units: flag + - name: do_global_cellular_automata_closure + long_name: Do global cellular automata closure + type: logical + kind: '' + units: flag + - name: do_global_cellular_automata_deep_convective_entrainment + long_name: Do global cellular automata deep convective entrainment + type: logical + kind: '' + units: flag + - name: do_global_cellular_automata_trigger + long_name: Do global cellular automata trigger + type: logical + kind: '' + units: flag + - name: do_gravity_wave_drag + long_name: Do gravity wave drag + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_surface_snow_albedo + long_name: Control for land surface scheme surface snow albedo + type: integer + kind: '' + units: 1 + - name: do_gsl_drag_suite_large_scale_orographic_and_blocking_drag + long_name: Do gsl drag suite large scale orographic and blocking drag + type: logical + kind: '' + units: flag + - name: do_gsl_drag_suite_small_scale_orographic_drag + long_name: Do gsl drag suite small scale orographic drag + type: logical + kind: '' + units: flag + - name: do_gsl_drag_suite_turbulent_orographic_form_drag + long_name: Do gsl drag suite turbulent orographic form drag + type: logical + kind: '' + units: flag + - name: do_hybrid_edmf_pbl_scheme + long_name: Do hybrid edmf pbl scheme + type: logical + kind: '' + units: flag + - name: identifier_for_hogan_decorrelation_length_method + long_name: Identifier for hogan decorrelation length method + type: integer + kind: '' + units: 1 + - name: do_hurricane_specific_code_in_scale_aware_mass_flux_deep_convection + long_name: Do hurricane specific code in scale aware mass flux deep convection + type: logical + kind: '' + units: flag + - name: do_hurricane_specific_code_in_scale_aware_mass_flux_shallow_convection + long_name: Do hurricane specific code in scale aware mass flux shallow convection + type: logical + kind: '' + units: flag + - name: do_hydrostatic_solver + long_name: Do hydrostatic solver + type: logical + kind: '' + units: flag + - name: control_for_ice_cloud_condensation_nuclei_forcing + long_name: Control for ice cloud condensation nuclei forcing + type: integer + kind: '' + units: 1 + - name: do_separate_advection_of_condensate_species + long_name: Do separate advection of condensate species + type: logical + kind: '' + units: flag + - name: control_for_initial_time_date + long_name: Control for initial time date + type: integer + kind: '' + units: 1 + - name: control_for_lake_surface_scheme + long_name: Control for lake surface scheme + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme + long_name: Control for land surface scheme + type: integer + kind: '' + units: 1 + - name: do_cloud_area_fraction_option_for_radiation + long_name: Do cloud area fraction option for radiation + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_lower_boundary_soil_temperature + long_name: Control for land surface scheme lower boundary soil temperature + type: integer + kind: '' + units: 1 + - name: control_for_lw_clouds_subgrid_approximation + long_name: Control for lw clouds subgrid approximation + type: integer + kind: '' + units: 1 + - name: control_for_deep_convection_scheme + long_name: Control for deep convection scheme + type: integer + kind: '' + units: 1 + - name: control_for_shallow_convection_scheme + long_name: Control for shallow convection scheme + type: integer + kind: '' + units: 1 + - name: control_for_maximum_cloud_overlap_method + long_name: Control for maximum cloud overlap method + type: integer + kind: '' + units: 1 + - name: identifier_for_maximum_random_cloud_overlap_method + long_name: Identifier for maximum random cloud overlap method + type: integer + kind: '' + units: 1 + - name: control_for_microphysics_scheme + long_name: Control for microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_moorthi_stratus + long_name: Do moorthi stratus + type: logical + kind: '' + units: flag + - name: identifier_for_morrison_gettelman_microphysics_scheme + long_name: Identifier for morrison gettelman microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_mountain_blocking_for_sppt + long_name: Do mountain blocking for sppt + type: logical + kind: '' + units: flag + - name: identifier_for_noah_land_surface_scheme + long_name: Identifier for noah land surface scheme + type: integer + kind: '' + units: 1 + - name: do_noah_lsm_ua_extension + long_name: Do noah lsm ua extension + type: logical + kind: '' + units: flag + - name: identifier_for_noah_wrfv4_land_surface_scheme + long_name: Identifier for noah wrfv4 land surface scheme + type: integer + kind: '' + units: 1 + - name: identifier_for_noahmp_land_surface_scheme + long_name: Identifier for noahmp land surface scheme + type: integer + kind: '' + units: 1 + - name: do_nsstm_analysis_in_gcycle + long_name: Do nsstm analysis in gcycle + type: logical + kind: '' + units: flag + - name: control_for_nsstm + long_name: Control for nsstm + type: integer + kind: '' + units: 1 + - name: identifier_for_new_tiedtke_deep_convection + long_name: Identifier for new tiedtke deep convection + type: integer + kind: '' + units: 1 + - name: identifier_for_new_tiedtke_shallow_convection + long_name: Identifier for new tiedtke shallow convection + type: integer + kind: '' + units: 1 + - name: do_surface_layer_scheme_ocean_currents + long_name: Do surface layer scheme ocean currents + type: logical + kind: '' + units: flag + - name: do_old_pbl_scheme + long_name: Do old pbl scheme + type: logical + kind: '' + units: flag + - name: control_for_optical_property_for_ice_clouds_for_longwave_radiation + long_name: Control for optical property for ice clouds for longwave radiation + type: integer + kind: '' + units: 1 + - name: control_for_optical_property_for_ice_clouds_for_shortwave_radiation + long_name: Control for optical property for ice clouds for shortwave radiation + type: integer + kind: '' + units: 1 + - name: control_for_optical_property_for_liquid_clouds_for_longwave_radiation + long_name: Control for optical property for liquid clouds for longwave radiation + type: integer + kind: '' + units: 1 + - name: control_for_optical_property_for_liquid_clouds_for_shortwave_radiation + long_name: Control for optical property for liquid clouds for shortwave radiation + type: integer + kind: '' + units: 1 + - name: identifier_for_oreopoulos_decorrelation_length_method + long_name: Identifier for oreopoulos decorrelation length method + type: integer + kind: '' + units: 1 + - name: do_output_of_tendency_of_air_temperature_due_to_longwave_heating_on_radiation_timestep_assuming_clear_sky + long_name: Do output of tendency of air temperature due to longwave heating on + radiation timestep assuming clear sky + type: logical + kind: '' + units: flag + - name: do_output_of_tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_timestep_assuming_clear_sky + long_name: Do output of tendency of air temperature due to shortwave heating on + radiation timestep assuming clear sky + type: logical + kind: '' + units: flag + - name: do_nrl_2006_ozone_scheme + long_name: Do nrl 2006 ozone scheme + type: logical + kind: '' + units: flag + - name: control_for_pdf_shape_for_microphysics + long_name: Control for pdf shape for microphysics + type: integer + kind: '' + units: 1 + - name: do_surface_layer_scheme_surface_drag_coefficient_for_momentum_in_air_perturbations + long_name: Do surface layer scheme surface drag coefficient for momentum in air + perturbations + type: logical + kind: '' + units: flag + - name: disable_precipitation_radiative_effect + long_name: Disable precipitation radiative effect + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_precipitation_type_partition + long_name: Control for land surface scheme precipitation type partition + type: integer + kind: '' + units: 1 + - name: do_dominant_precipitation_type_partition + long_name: Do dominant precipitation type partition + type: logical + kind: '' + units: flag + - name: do_radar_reflectivity + long_name: Do radar reflectivity + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_radiative_transfer + long_name: Control for land surface scheme radiative transfer + type: integer + kind: '' + units: 1 + - name: identifier_for_random_cloud_overlap_method + long_name: Identifier for random cloud overlap method + type: integer + kind: '' + units: 1 + - name: do_random_clouds_in_relaxed_arakawa_schubert_deep_convection + long_name: Do random clouds in relaxed arakawa schubert deep convection + type: logical + kind: '' + units: flag + - name: do_relaxed_arakawa_schubert_deep_convection + long_name: Do relaxed arakawa schubert deep convection + type: logical + kind: '' + units: flag + - name: do_read_leaf_area_index_from_input + long_name: Do read leaf area index from input + type: logical + kind: '' + units: flag + - name: do_read_surface_albedo_for_diffused_shortwave_from_input + long_name: Do read surface albedo for diffused shortwave from input + type: logical + kind: '' + units: flag + - name: do_limited_surface_roughness_length_over_ocean + long_name: Do limited surface roughness length over ocean + type: logical + kind: '' + units: flag + - name: do_reference_pressure_theta + long_name: Do reference pressure theta + type: logical + kind: '' + units: flag + - name: is_restart + long_name: Is restart + type: logical + kind: '' + units: flag + - name: do_rrtmgp_radiation_scheme + long_name: Do rrtmgp radiation scheme + type: logical + kind: '' + units: flag + - name: identifier_for_ruc_land_surface_scheme + long_name: Identifier for ruc land surface scheme + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_runoff_and_groundwater + long_name: Control for land surface scheme runoff and groundwater + type: integer + kind: '' + units: 1 + - name: identifier_for_scale_aware_mass_flux_deep_convection + long_name: Identifier for scale aware mass flux deep convection + type: integer + kind: '' + units: 1 + - name: identifier_for_scale_aware_mass_flux_shallow_convection + long_name: Identifier for scale aware mass flux shallow convection + type: integer + kind: '' + units: 1 + - name: identifier_for_simplified_arakawa_schubert_deep_convection + long_name: Identifier for simplified arakawa schubert deep convection + type: integer + kind: '' + units: 1 + - name: identifier_for_simplified_arakawa_schubert_shallow_convection + long_name: Identifier for simplified arakawa schubert shallow convection + type: integer + kind: '' + units: 1 + - name: do_scale_aware_mass_flux_deep_convection + long_name: Do scale aware mass flux deep convection + type: logical + kind: '' + units: flag + - name: do_scale_aware_shin_hong_pbl_scheme + long_name: Do scale aware shin hong pbl scheme + type: logical + kind: '' + units: flag + - name: do_scale_aware_tke_moist_edmf_pbl + long_name: Do scale aware tke moist edmf pbl + type: logical + kind: '' + units: flag + - name: do_sgs_cellular_automata + long_name: Do sgs cellular automata + type: logical + kind: '' + units: flag + - name: do_simplified_arakawa_schubert_shallow_convection + long_name: Do simplified arakawa schubert shallow convection + type: logical + kind: '' + units: flag + - name: do_shoc + long_name: Do shoc + type: logical + kind: '' + units: flag + - name: do_shoc_after_convection + long_name: Do shoc after convection + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_soil_and_snow_temperature_time_integration + long_name: Control for land surface scheme soil and snow temperature time integration + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_soil_moisture_factor_stomatal_resistance + long_name: Control for land surface scheme soil moisture factor stomatal resistance + type: integer + kind: '' + units: 1 + - name: control_for_solar_constant + long_name: Control for solar constant + type: integer + kind: '' + units: 1 + - name: do_stochastic_cloud_fraction_perturbations + long_name: Do stochastic cloud fraction perturbations + type: logical + kind: '' + units: flag + - name: do_stochastic_microphysics_perturbations + long_name: Do stochastic microphysics perturbations + type: logical + kind: '' + units: flag + - name: do_stochastic_physics_perturbations + long_name: Do stochastic physics perturbations + type: logical + kind: '' + units: flag + - name: do_stochastic_radiative_heating_perturbations + long_name: Do stochastic radiative heating perturbations + type: logical + kind: '' + units: flag + - name: do_stochastic_shum_option + long_name: Do stochastic shum option + type: logical + kind: '' + units: flag + - name: do_stochastic_skeb_option + long_name: Do stochastic skeb option + type: logical + kind: '' + units: flag + - name: do_stratospheric_water_vapor_physics + long_name: Do stratospheric water vapor physics + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_supercooled_liquid_water + long_name: Control for land surface scheme supercooled liquid water + type: integer + kind: '' + units: 1 + - name: control_for_surface_emissivity + long_name: Control for surface emissivity + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_surface_layer_drag_coefficient + long_name: Control for land surface scheme surface layer drag coefficient + type: integer + kind: '' + units: 1 + - name: control_for_surface_roughness_option_over_water + long_name: Control for surface roughness option over water + type: integer + kind: '' + units: 1 + - name: control_for_sw_clouds_subgrid_approximation + long_name: Control for sw clouds subgrid approximation + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_thermal_conductivity_option + long_name: Control for land surface scheme thermal conductivity option + type: integer + kind: '' + units: 1 + - name: identifier_for_thompson_microphysics_scheme + long_name: Identifier for thompson microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_ugwp_version_0 + long_name: Do ugwp version 0 + type: logical + kind: '' + units: flag + - name: do_ugwp_version_0_nonorographic_gwd + long_name: Do ugwp version 0 nonorographic gwd + type: logical + kind: '' + units: flag + - name: do_ugwp_version_0_orographic_gwd + long_name: Do ugwp version 0 orographic gwd + type: logical + kind: '' + units: flag + - name: do_ugwp_version_1 + long_name: Do ugwp version 1 + type: logical + kind: '' + units: flag + - name: do_ugwp_version_1_nonorographic_gwd + long_name: Do ugwp version 1 nonorographic gwd + type: logical + kind: '' + units: flag + - name: do_ugwp_version_1_orographic_gwd + long_name: Do ugwp version 1 orographic gwd + type: logical + kind: '' + units: flag + - name: do_shoc_cloud_area_fraction_for_radiation + long_name: Do shoc cloud area fraction for radiation + type: logical + kind: '' + units: flag + - name: control_for_surface_layer_scheme_skin_temperature_update + long_name: Control for surface layer scheme skin temperature update + type: integer + kind: '' + units: 1 + - name: control_for_surface_albedo + long_name: Control for surface albedo + type: integer + kind: '' + units: 1 + - name: control_for_prescribed_co2 + long_name: Control for prescribed co2 + type: integer + kind: '' + units: 1 + - name: control_for_vertical_index_direction + long_name: Control for vertical index direction + type: integer + kind: '' + units: 1 + - name: do_ocean_wave_coupling + long_name: Do ocean wave coupling + type: logical + kind: '' + units: flag + - name: do_one_way_ocean_wave_coupling_to_atmosphere + long_name: Do one way ocean wave coupling to atmosphere + type: logical + kind: '' + units: flag + - name: identifier_for_wsm6_microphysics_scheme + long_name: Identifier for wsm6 microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_ysu_pbl_scheme + long_name: Do ysu pbl scheme + type: logical + kind: '' + units: flag + - name: identifier_for_zhao_carr_microphysics_scheme + long_name: Identifier for zhao carr microphysics scheme + type: integer + kind: '' + units: 1 + - name: identifier_for_zhao_carr_pdf_microphysics_scheme + long_name: Identifier for zhao carr pdf microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_hurricane_specific_code_in_hybrid_edmf_pbl_scheme + long_name: Do hurricane specific code in hybrid edmf pbl scheme + type: logical + kind: '' + units: flag + - name: do_integrated_dynamics_through_earths_atmosphere + long_name: Do integrated dynamics through earths atmosphere + type: logical + kind: '' + units: flag + - name: do_print + long_name: Do print + type: logical + kind: '' + units: flag + - name: do_save_shallow_convective_cloud_area_fraction + long_name: Do save shallow convective cloud area fraction + type: logical + kind: '' + units: flag + - name: do_tke_dissipation_heating + long_name: Do tke dissipation heating + type: logical + kind: '' + units: flag + - name: do_call_longwave_radiation + long_name: Do call longwave radiation + type: logical + kind: '' + units: flag + - name: do_rrtmg_cloud_optics + long_name: Do rrtmg cloud optics + type: logical + kind: '' + units: flag + - name: do_rrtmgp_cloud_optics_look_up_table + long_name: Do rrtmgp cloud optics look up table + type: logical + kind: '' + units: flag + - name: do_rrtmgp_cloud_optics_with_pade_approximation + long_name: Do rrtmgp cloud optics with pade approximation + type: logical + kind: '' + units: flag + - name: do_rrtmgp_longwave_jacobian + long_name: Do rrtmgp longwave jacobian + type: logical + kind: '' + units: flag + - name: do_call_shortwave_radiation + long_name: Do call shortwave radiation + type: logical + kind: '' + units: flag + - name: do_longwave_scattering_in_cloud_optics + long_name: Do longwave scattering in cloud optics + type: logical + kind: '' + units: flag + - name: do_tracer_xyz_dimensioned_diagnostics + long_name: Do tracer xyz dimensioned diagnostics + type: logical + kind: '' + units: flag + - name: control_for_variable_bulk_richardson_number + long_name: Control for variable bulk richardson number + type: real + kind: kind_phys + units: 1 + - name: date_and_time_of_forecast_in_united_states_order + long_name: Date and time of forecast in united states order + type: integer + kind: '' + units: 1 + - name: forecast_utc_hour + long_name: Forecast utc hour + type: real + kind: kind_phys + units: h + - name: forecast_time + long_name: Forecast time + type: real + kind: kind_phys + units: h + - name: forecast_time_on_previous_timestep + long_name: Forecast time on previous timestep + type: real + kind: kind_phys + units: h + - name: period_of_longwave_radiation_calls + long_name: Period of longwave radiation calls + type: real + kind: kind_phys + units: s + - name: period_of_shortwave_radiation_calls + long_name: Period of shortwave radiation calls + type: real + kind: kind_phys + units: s + - name: all_ice_cloud_threshold_temperature + long_name: All ice cloud threshold temperature + type: real + kind: kind_phys + units: K + - name: control_for_gravitational_settling_of_cloud_droplets + long_name: Control for gravitational settling of cloud droplets + type: integer + kind: '' + units: 1 + - name: control_for_drag_suite_gravity_wave_drag + long_name: Control for drag suite gravity wave drag + type: integer + kind: '' + units: 1 + - name: horizontal_loop_extent + long_name: Horizontal loop extent + type: integer + kind: '' + units: count + - name: period_of_diagnostics_reset + long_name: Period of diagnostics reset + type: real + kind: kind_phys + units: h + - name: tunable_parameter_for_ice_supersaturation + long_name: Tunable parameter for ice supersaturation + type: real + kind: kind_phys + units: 1 + - name: index_of_ice_vegetation_category + long_name: Index of ice vegetation category + type: integer + kind: '' + units: index + - name: vertical_dimension_of_sea_ice + long_name: Vertical dimension of sea ice + type: integer + kind: '' + units: count + - name: index_of_air_temperature_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Index of air temperature on previous timestep in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: index_of_air_temperature_two_timesteps_back_in_xyz_dimensioned_restart_array + long_name: Index of air temperature two timesteps back in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: index_of_nonconvective_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_array + long_name: Index of nonconvective cloud area fraction in atmosphere layer in tracer + concentration array + type: integer + kind: '' + units: index + - name: index_of_nonconvective_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array + long_name: Index of nonconvective cloud area fraction in atmosphere layer in xyz + dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_cloud_liquid_water_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of cloud liquid water effective radius in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: index_of_convective_cloud_area_fraction_in_xyz_dimensioned_restart_array + long_name: Index of convective cloud area fraction in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: index_of_convective_cloud_condensate_mixing_ratio_wrt_moist_air_in_xyz_dimensioned_restart_array + long_name: Index of convective cloud condensate mixing ratio wrt moist air in + xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_horizontal_gridpoint_for_debug_output + long_name: Index of horizontal gridpoint for debug output + type: integer + kind: '' + units: index + - name: index_of_first_chemical_tracer_in_tracer_concentration_array + long_name: Index of first chemical tracer in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_graupel_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of graupel mixing ratio wrt moist air in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_graupel_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of graupel effective radius in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_graupel_in_tracer_concentration_array + long_name: Index of mass number concentration of graupel in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_cloud_ice_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of cloud ice mixing ratio wrt moist air in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_cloud_ice_in_tracer_concentration_array + long_name: Index of mass number concentration of cloud ice in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_cloud_ice_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of cloud ice effective radius in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array + long_name: Index of mass number concentration of nonhygroscopic ice nucleating + aerosols in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of cloud liquid water mixing ratio wrt moist air in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array + long_name: Index of mass number concentration of cloud droplets in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_mass_weighted_rime_factor_in_tracer_concentration_array + long_name: Index of mass weighted rime factor in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_ozone_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of ozone mixing ratio wrt moist air in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_rain_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of rain effective radius in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_rain_in_tracer_concentration_array + long_name: Index of mass number concentration of rain in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_rain_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of rain mixing ratio wrt moist air in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_snow_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of snow effective radius in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_snow_in_tracer_concentration_array + long_name: Index of mass number concentration of snow in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_snow_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of snow mixing ratio wrt moist air in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_specific_humidity_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Index of specific humidity on previous timestep in xyz dimensioned + restart array + type: integer + kind: '' + units: index + - name: index_of_specific_humidity_two_timesteps_back_in_xyz_dimensioned_restart_array + long_name: Index of specific humidity two timesteps back in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: control_for_stochastic_land_surface_perturbation + long_name: Control for stochastic land surface perturbation + type: integer + kind: '' + units: 1 + - name: index_of_surface_air_pressure_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Index of surface air pressure on previous timestep in xyz dimensioned + restart array + type: integer + kind: '' + units: index + - name: index_of_surface_air_pressure_two_timesteps_back_in_xyz_dimensioned_tracer_array + long_name: Index of surface air pressure two timesteps back in xyz dimensioned + tracer array + type: integer + kind: '' + units: index + - name: index_of_enhancement_to_wind_speed_at_surface_adjacent_layer_due_to_convectionin_in_xy_dimensioned_restart_array + long_name: Index of enhancement to wind speed at surface adjacent layer due to + convectionin in xy dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_turbulent_kinetic_energy_in_tracer_concentration_array + long_name: Index of turbulent kinetic energy in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array + long_name: Index of mass number concentration of hygroscopic aerosols in tracer + concentration array + type: integer + kind: '' + units: index + - name: index_of_specific_humidity_in_tracer_concentration_array + long_name: Index of specific humidity in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_atmosphere_heat_diffusivity_in_xyz_dimensioned_restart_array + long_name: Index of atmosphere heat diffusivity in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_upward_virtual_potential_temperature_flux_in_xyz_dimensioned_restart_array + long_name: Index of upward virtual potential temperature flux in xyz dimensioned + restart array + type: integer + kind: '' + units: index + - name: index_of_subgrid_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array + long_name: Index of subgrid cloud area fraction in atmosphere layer in xyz dimensioned + restart array + type: integer + kind: '' + units: index + - name: index_of_timestep + long_name: Index of timestep + type: integer + kind: '' + units: index + - name: reciprocal_of_grid_scale_range + long_name: Reciprocal of grid scale range + type: real + kind: kind_phys + units: rad2 m-2 + - name: iounit_of_log + long_name: Iounit of log + type: integer + kind: '' + units: 1 + - name: iounit_of_namelist + long_name: Iounit of namelist + type: integer + kind: '' + units: 1 + - name: forecast_julian_day + long_name: Forecast julian day + type: real + kind: kind_phys + units: days + - name: min_lake_ice_area_fraction + long_name: Min lake ice area fraction + type: real + kind: kind_phys + units: fraction + - name: multiplicative_tuning_parameter_for_reduced_latent_heat_flux_due_to_canopy_heat_storage + long_name: Multiplicative tuning parameter for reduced latent heat flux due to + canopy heat storage + type: real + kind: kind_phys + units: 1 + - name: max_tendency_of_air_potential_temperature_due_to_large_scale_precipitation + long_name: Max tendency of air potential temperature due to large scale precipitation + type: real + kind: kind_phys + units: K s-1 + - name: lower_bound_of_vertical_dimension_of_surface_snow + long_name: Lower bound of vertical dimension of surface snow + type: integer + kind: '' + units: count + - name: land_surface_perturbation_magnitudes + long_name: Land surface perturbation magnitudes + type: real + kind: kind_phys + units: variable + - name: max_critical_relative_humidity + long_name: Max critical relative humidity + type: real + kind: kind_phys + units: fraction + - name: max_grid_scale + long_name: Max grid scale + type: real + kind: kind_phys + units: m2 rad-2 + - name: maximum_soil_moisture_content_for_land_surface_model + long_name: Maximum soil moisture content for land surface model + type: real + kind: kind_phys + units: m + - name: do_allow_supersaturation_after_sedimentation + long_name: Do allow supersaturation after sedimentation + type: logical + kind: '' + units: flag + - name: autoconversion_to_snow_size_threshold + long_name: Autoconversion to snow size threshold + type: real + kind: kind_phys + units: um + - name: bergeron_findeisen_process_efficiency_factor + long_name: Bergeron findeisen process efficiency factor + type: real + kind: kind_phys + units: fraction + - name: relative_variance_of_subgrid_cloud_condensate_distribution + long_name: Relative variance of subgrid cloud condensate distribution + type: real + kind: kind_phys + units: kg2 kg-2 + - name: prescribed_number_concentration_of_cloud_droplets + long_name: Prescribed number concentration of cloud droplets + type: real + kind: kind_phys + units: m-3 + - name: do_prescribed_number_concentration_of_cloud_droplets + long_name: Do prescribed number concentration of cloud droplets + type: logical + kind: '' + units: flag + - name: do_cloud_ice_processes + long_name: Do cloud ice processes + type: logical + kind: '' + units: flag + - name: do_gmao_autoconversion_to_snow + long_name: Do gmao autoconversion to snow + type: logical + kind: '' + units: flag + - name: do_graupel_instead_of_hail + long_name: Do graupel instead of hail + type: logical + kind: '' + units: flag + - name: do_hail_instead_of_graupel + long_name: Do hail instead of graupel + type: logical + kind: '' + units: flag + - name: do_heterogeneous_nucleation + long_name: Do heterogeneous nucleation + type: logical + kind: '' + units: flag + - name: do_liu_autoconversion_to_rain + long_name: Do liu autoconversion to rain + type: logical + kind: '' + units: flag + - name: do_seifert_and_beheng_2001_autoconversion + long_name: Do seifert and beheng 2001 autoconversion + type: logical + kind: '' + units: flag + - name: do_uniform_subcolumns + long_name: Do uniform subcolumns + type: logical + kind: '' + units: flag + - name: do_prescribed_number_concentration_of_graupel + long_name: Do prescribed number concentration of graupel + type: logical + kind: '' + units: flag + - name: do_prescribed_number_concentration_of_cloud_ice + long_name: Do prescribed number concentration of cloud ice + type: logical + kind: '' + units: flag + - name: prescribed_number_concentration_of_graupel + long_name: Prescribed number concentration of graupel + type: real + kind: kind_phys + units: m-3 + - name: prescribed_number_concentration_of_cloud_ice + long_name: Prescribed number concentration of cloud ice + type: real + kind: kind_phys + units: m-3 + - name: minimum_cloud_condensate_mixing_ratio_wrt_moist_air_threshold + long_name: Minimum cloud condensate mixing ratio wrt moist air threshold + type: real + kind: kind_phys + units: kg kg-1 + - name: minimum_cloud_liquid_water_mixing_ratio_wrt_moist_air_threshold + long_name: Minimum cloud liquid water mixing ratio wrt moist air threshold + type: real + kind: kind_phys + units: kg kg-1 + - name: minimum_cloud_ice_mixing_ratio_wrt_moist_air_threshold + long_name: Minimum cloud ice mixing ratio wrt moist air threshold + type: real + kind: kind_phys + units: kg kg-1 + - name: relative_humidity_threshold_for_ice_nucleation + long_name: Relative humidity threshold for ice nucleation + type: real + kind: kind_phys + units: fraction + - name: timescale_for_autoconversion_to_snow + long_name: Timescale for autoconversion to snow + type: real + kind: kind_phys + units: s + - name: alpha_tuning_coefficient_for_morrison_gettelman_microphysics_scheme + long_name: Alpha tuning coefficient for morrison gettelman microphysics scheme + type: real + kind: kind_phys + units: 1 + - name: control_for_precipitation_area_fraction_method + long_name: Control for precipitation area fraction method + type: character + kind: len=16 + units: none + - name: minimum_large_ice_fraction + long_name: Minimum large ice fraction + type: real + kind: kind_phys + units: fraction + - name: minimum_pressure_in_rrtmgp + long_name: Minimum pressure in rrtmgp + type: real + kind: kind_phys + units: Pa + - name: min_grid_scale + long_name: Min grid scale + type: real + kind: kind_phys + units: m2 rad-2 + - name: minimum_soil_moisture_content_for_land_surface_model + long_name: Minimum soil moisture content for land surface model + type: real + kind: kind_phys + units: m + - name: minimum_temperature_in_rrtmgp + long_name: Minimum temperature in rrtmgp + type: real + kind: kind_phys + units: K + - name: control_for_total_water_mixing_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for total water mixing in mellor yamada nakanishi niino pbl + scheme + type: integer + kind: '' + units: 1 + - name: control_for_mixing_length_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for mixing length in mellor yamada nakanishi niino pbl scheme + type: integer + kind: '' + units: 1 + - name: momentum_transport_reduction_factor_due_to_pressure_gradient_force_for_deep_convection + long_name: Momentum transport reduction factor due to pressure gradient force + for deep convection + type: real + kind: kind_phys + units: fraction + - name: momentum_transport_reduction_factor_due_to_pressure_gradient_force_for_shallow_convection + long_name: Momentum transport reduction factor due to pressure gradient force + for shallow convection + type: real + kind: kind_phys + units: fraction + - name: mpi_communicator + long_name: Mpi communicator + type: integer + kind: '' + units: index + - name: mpi_rank + long_name: Mpi rank + type: integer + kind: '' + units: index + - name: mpi_root + long_name: Mpi root + type: integer + kind: '' + units: index + - name: number_of_mpi_tasks + long_name: Number of mpi tasks + type: integer + kind: '' + units: count + - name: tunable_parameter_for_critical_cloud_workfunction_in_relaxed_arakawa_schubert_deep_convection + long_name: Tunable parameter for critical cloud workfunction in relaxed arakawa + schubert deep convection + type: real + kind: kind_phys + units: 1 + - name: tunable_parameters_for_convective_gravity_wave_drag + long_name: Tunable parameters for convective gravity wave drag + type: real + kind: kind_phys + units: 1 + - name: multiplicative_tunable_parameters_for_mountain_blocking_and_orographic_gravity_wave_drag + long_name: Multiplicative tunable parameters for mountain blocking and orographic + gravity wave drag + type: real + kind: kind_phys + units: 1 + - name: control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for additional diagnostics in mellor yamada nakanishi niino + pbl scheme + type: integer + kind: '' + units: 1 + - name: filename_of_namelist + long_name: Filename of namelist + type: character + kind: len=64 + units: none + - name: filename_of_internal_namelist + long_name: Filename of internal namelist + type: character + kind: len=256 + units: none + - name: number_of_xy_dimensioned_auxiliary_arrays + long_name: Number of xy dimensioned auxiliary arrays + type: integer + kind: '' + units: count + - name: number_of_pdf_based_variables_in_xyz_dimensioned_restart_array + long_name: Number of pdf based variables in xyz dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_xyz_dimensioned_auxiliary_arrays + long_name: Number of xyz dimensioned auxiliary arrays + type: integer + kind: '' + units: count + - name: number_of_radiatively_active_gases + long_name: Number of radiatively active gases + type: integer + kind: '' + units: count + - name: number_of_aerosol_tracers + long_name: Number of aerosol tracers + type: integer + kind: '' + units: count + - name: number_of_gaussian_quadrature_angles_for_radiation + long_name: Number of gaussian quadrature angles for radiation + type: integer + kind: '' + units: count + - name: number_of_chemical_tracers + long_name: Number of chemical tracers + type: integer + kind: '' + units: count + - name: number_of_condensate_species + long_name: Number of condensate species + type: integer + kind: '' + units: count + - name: number_of_cloud_types_in_chikira_sugiyama_deep_convection + long_name: Number of cloud types in chikira sugiyama deep convection + type: integer + kind: '' + units: count + - name: number_of_convective_cloud_variables_in_xyz_dimensioned_restart_array + long_name: Number of convective cloud variables in xyz dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_days_in_current_year + long_name: Number of days in current year + type: integer + kind: '' + units: days + - name: number_of_equatorial_longitude_points + long_name: Number of equatorial longitude points + type: integer + kind: '' + units: count + - name: number_of_variables_in_xy_dimensioned_restart_array + long_name: Number of variables in xy dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_variables_in_xyz_dimensioned_restart_array + long_name: Number of variables in xyz dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_frozen_precipitation_species + long_name: Number of frozen precipitation species + type: integer + kind: '' + units: count + - name: number_of_hydrometeors + long_name: Number of hydrometeors + type: integer + kind: '' + units: count + - name: number_of_independent_cellular_automata + long_name: Number of independent cellular automata + type: integer + kind: '' + units: count + - name: number_of_iterations_to_spin_up_cellular_automata + long_name: Number of iterations to spin up cellular automata + type: integer + kind: '' + units: count + - name: number_of_perturbed_land_surface_variables + long_name: Number of perturbed land surface variables + type: integer + kind: '' + units: count + - name: number_of_latitude_points + long_name: Number of latitude points + type: integer + kind: '' + units: count + - name: number_of_lines_in_internal_namelist + long_name: Number of lines in internal namelist + type: integer + kind: '' + units: count + - name: number_of_longwave_bands + long_name: Number of longwave bands + type: integer + kind: '' + units: count + - name: number_of_longwave_spectral_points + long_name: Number of longwave spectral points + type: integer + kind: '' + units: count + - name: number_of_x_points_for_current_cubed_sphere_tile + long_name: Number of x points for current cubed sphere tile + type: integer + kind: '' + units: count + - name: number_of_x_points_for_current_mpi_rank + long_name: Number of x points for current mpi rank + type: integer + kind: '' + units: count + - name: number_of_y_points_for_current_cubed_sphere_tile + long_name: Number of y points for current cubed sphere tile + type: integer + kind: '' + units: count + - name: number_of_y_points_for_current_mpi_rank + long_name: Number of y points for current mpi rank + type: integer + kind: '' + units: count + - name: number_of_diagnostics_variables_for_radiation + long_name: Number of diagnostics variables for radiation + type: integer + kind: '' + units: count + - name: number_of_ice_roughness_categories + long_name: Number of ice roughness categories + type: integer + kind: '' + units: count + - name: number_of_spectral_wave_truncation_for_simplified_arakawa_schubert_convection + long_name: Number of spectral wave truncation for simplified arakawa schubert + convection + type: integer + kind: '' + units: count + - name: number_of_statistical_measures_of_subgrid_orography + long_name: Number of statistical measures of subgrid orography + type: integer + kind: '' + units: count + - name: number_of_shortwave_bands + long_name: Number of shortwave bands + type: integer + kind: '' + units: count + - name: number_of_shortwave_spectral_points + long_name: Number of shortwave spectral points + type: integer + kind: '' + units: count + - name: index_of_cubed_sphere_tile + long_name: Index of cubed sphere tile + type: integer + kind: '' + units: index + - name: number_of_timesteps_between_diagnostics_resetting + long_name: Number of timesteps between diagnostics resetting + type: integer + kind: '' + units: count + - name: number_of_timesteps_between_longwave_radiation_calls + long_name: Number of timesteps between longwave radiation calls + type: integer + kind: '' + units: count + - name: number_of_timesteps_between_shortwave_radiation_calls + long_name: Number of timesteps between shortwave radiation calls + type: integer + kind: '' + units: count + - name: number_of_timesteps_between_surface_cycling_calls + long_name: Number of timesteps between surface cycling calls + type: integer + kind: '' + units: count + - name: number_of_timesteps_for_concurrent_radiation_and_remainder_physics_calls_after_model_initialization + long_name: Number of timesteps for concurrent radiation and remainder physics + calls after model initialization + type: integer + kind: '' + units: count + - name: number_of_tracers_plus_one + long_name: Number of tracers plus one + type: integer + kind: '' + units: count + - name: vertical_dimension_for_radiation + long_name: Vertical dimension for radiation + type: integer + kind: '' + units: count + - name: vertical_interface_dimension_for_radiation + long_name: Vertical interface dimension for radiation + type: integer + kind: '' + units: count + - name: multiplicative_tuning_parameter_for_potential_evaporation + long_name: Multiplicative tuning parameter for potential evaporation + type: real + kind: kind_phys + units: 1 + - name: air_pressure_at_bottom_extent_of_rayleigh_damping + long_name: Air pressure at bottom extent of rayleigh damping + type: real + kind: kind_phys + units: Pa + - name: rain_conversion_parameter_for_deep_convection + long_name: Rain conversion parameter for deep convection + type: real + kind: kind_phys + units: m-1 + - name: rain_conversion_parameter_for_shallow_convection + long_name: Rain conversion parameter for shallow convection + type: real + kind: kind_phys + units: m-1 + - name: rain_evaporation_coefficient_over_ocean_for_deep_convection + long_name: Rain evaporation coefficient over ocean for deep convection + type: real + kind: kind_phys + units: fraction + - name: rain_evaporation_coefficient_over_land_for_deep_convection + long_name: Rain evaporation coefficient over land for deep convection + type: real + kind: kind_phys + units: fraction + - name: filename_of_rrtmgp_longwave_cloud_optics_coefficients + long_name: Filename of rrtmgp longwave cloud optics coefficients + type: character + kind: len=128 + units: none + - name: filename_of_rrtmgp_shortwave_cloud_optics_coefficients + long_name: Filename of rrtmgp shortwave cloud optics coefficients + type: character + kind: len=128 + units: none + - name: filename_of_rrtmgp_longwave_k_distribution + long_name: Filename of rrtmgp longwave k distribution + type: character + kind: len=128 + units: none + - name: filename_of_rrtmgp_shortwave_k_distribution + long_name: Filename of rrtmgp shortwave k distribution + type: character + kind: len=128 + units: none + - name: do_rrtmgp_shortwave_and_rrtmg_longwave_radiation + long_name: Do rrtmgp shortwave and rrtmg longwave radiation + type: logical + kind: '' + units: flag + - name: min_sea_ice_area_fraction + long_name: Min sea ice area fraction + type: real + kind: kind_phys + units: fraction + - name: forecast_time_in_seconds + long_name: Forecast time in seconds + type: real + kind: kind_phys + units: s + - name: random_number_seed_for_cellular_automata + long_name: Random number seed for cellular automata + type: integer + kind: '' + units: 1 + - name: random_number_seed_for_deep_convection + long_name: Random number seed for deep convection + type: integer + kind: '' + units: 1 + - name: control_for_tke_dissipation_method + long_name: Control for tke dissipation method + type: real + kind: kind_phys + units: 1 + - name: uncentering_coefficient_for_implicit_tke_integration + long_name: Uncentering coefficient for implicit tke integration + type: real + kind: kind_phys + units: 1 + - name: pressure_threshold_for_increased_tke_dissipation + long_name: Pressure threshold for increased tke dissipation + type: real + kind: kind_phys + units: Pa + - name: multiplicative_tunable_parameter_for_tke_dissipation + long_name: Multiplicative tunable parameter for tke dissipation + type: real + kind: kind_phys + units: 1 + - name: multiplicative_tunable_parameter_for_tke_dissipation_at_surface_adjacent_layer + long_name: Multiplicative tunable parameter for tke dissipation at surface adjacent + layer + type: real + kind: kind_phys + units: 1 + - name: sine_of_solar_declination_angle + long_name: Sine of solar declination angle + type: real + kind: kind_phys + units: 1 + - name: vertical_dimension_of_surface_snow + long_name: Vertical dimension of surface snow + type: integer + kind: '' + units: count + - name: control_for_soil_type_dataset + long_name: Control for soil type dataset + type: integer + kind: '' + units: 1 + - name: vertical_dimension_of_soil + long_name: Vertical dimension of soil + type: integer + kind: '' + units: count + - name: vertical_dimension_of_soil_internal_to_land_surface_scheme + long_name: Vertical dimension of soil internal to land surface scheme + type: integer + kind: '' + units: count + - name: solar_constant + long_name: Solar constant + type: real + kind: kind_phys + units: W m-2 + - name: starting_x_index_for_current_mpi_rank + long_name: Starting x index for current mpi rank + type: integer + kind: '' + units: index + - name: starting_y_index_for_current_mpi_rank + long_name: Starting y index for current mpi rank + type: integer + kind: '' + units: index + - name: multiplicative_tuning_parameter_for_reduced_surface_heat_fluxes_due_to_canopy_heat_storage + long_name: Multiplicative tuning parameter for reduced surface heat fluxes due + to canopy heat storage + type: real + kind: kind_phys + units: 1 + - name: thickness_of_soil_layers_for_land_surface_model + long_name: Thickness of soil layers for land surface model + type: real + kind: kind_phys + units: m + - name: cellular_automata_vertical_velocity_perturbation_threshold_for_deep_convection + long_name: Cellular automata vertical velocity perturbation threshold for deep + convection + type: real + kind: kind_phys + units: m s-1 + - name: period_of_maximum_diagnostics_reset + long_name: Period of maximum diagnostics reset + type: real + kind: kind_phys + units: s + - name: timescale_for_rayleigh_damping + long_name: Timescale for rayleigh damping + type: real + kind: kind_phys + units: d + - name: time_elapsed_since_diagnostics_reset + long_name: Time elapsed since diagnostics reset + type: real + kind: kind_phys + units: h + - name: timestep_for_dynamics + long_name: Timestep for dynamics + type: real + kind: kind_phys + units: s + - name: do_tke_advection + long_name: Do tke advection + type: logical + kind: '' + units: flag + - name: control_for_tke_budget_output + long_name: Control for tke budget output + type: integer + kind: '' + units: 1 + - name: multiplicative_tuning_parameter_for_tke_dissipative_heating + long_name: Multiplicative tuning parameter for tke dissipative heating + type: real + kind: kind_phys + units: 1 + - name: total_amplitude_of_sppt_perturbation + long_name: Total amplitude of sppt perturbation + type: real + kind: kind_phys + units: 1 + - name: do_turbulent_orographic_form_drag_in_unified_gravity_wave_physics_gravity_wave_drag_scheme + long_name: Do turbulent orographic form drag in unified gravity wave physics gravity + wave drag scheme + type: logical + kind: '' + units: flag + - name: updraft_area_fraction_in_scale_aware_tke_moist_edmf_pbl_scheme + long_name: Updraft area fraction in scale aware tke moist edmf pbl scheme + type: real + kind: kind_phys + units: fraction + - name: tunable_parameter_1_for_maximum_cloud_base_updraft_velocity_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter 1 for maximum cloud base updraft velocity in chikira + sugiyama deep convection + type: real + kind: kind_phys + units: m s-1 + - name: tunable_parameter_2_for_maximum_cloud_base_updraft_velocity_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter 2 for maximum cloud base updraft velocity in chikira + sugiyama deep convection + type: real + kind: kind_phys + units: m s-1 + - name: upper_bound_of_vertical_dimension_of_surface_snow + long_name: Upper bound of vertical dimension of surface snow + type: integer + kind: '' + units: count + - name: index_of_urban_vegetation_category + long_name: Index of urban vegetation category + type: integer + kind: '' + units: index + - name: land_surface_perturbation_variables + long_name: Land surface perturbation variables + type: character + kind: len=3 + units: none + - name: control_for_vegetation_dataset + long_name: Control for vegetation dataset + type: integer + kind: '' + units: 1 + - name: vertical_layer_dimension_minus_one + long_name: Vertical layer dimension minus one + type: integer + kind: '' + units: count + - name: sigma_pressure_hybrid_vertical_coordinate + long_name: Sigma pressure hybrid vertical coordinate + type: real + kind: kind_phys + units: 1 + - name: lower_bound_for_depth_of_sea_temperature_for_nsstm + long_name: Lower bound for depth of sea temperature for nsstm + type: integer + kind: '' + units: mm + - name: upper_bound_for_depth_of_sea_temperature_for_nsstm + long_name: Upper bound for depth of sea temperature for nsstm + type: integer + kind: '' + units: mm + - name: index_of_water_vegetation_category + long_name: Index of water vegetation category + type: integer + kind: '' + units: index + - name: filename_of_micm_configuration + long_name: Filename of micm configuration + type: character + kind: len=* + units: none +- name: GFS_typedefs_GFS_interstitial_type + comment: null + standard_names: + - name: cloud_ice_mixing_ratio_wrt_moist_air_interstitial + long_name: Cloud ice mixing ratio wrt moist air interstitial + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_interstitial + long_name: Cloud liquid water mixing ratio wrt moist air interstitial + type: real + kind: kind_phys + units: kg kg-1 + - name: radiatively_active_gases + long_name: Radiatively active gases + type: character + kind: len=128 + units: none + - name: process_split_cumulative_tendency_of_air_temperature + long_name: Process split cumulative tendency of air temperature + type: real + kind: kind_phys + units: K s-1 + - name: process_split_cumulative_tendency_of_mass_number_concentration_of_cloud_liquid_water_particles_in_air + long_name: Process split cumulative tendency of mass number concentration of cloud + liquid water particles in air + type: real + kind: kind_phys + units: kg-1 s-1 + - name: process_split_cumulative_tendency_of_graupel_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of graupel mixing ratio wrt moist + air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_cloud_ice_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of cloud ice mixing ratio wrt moist + air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols + long_name: Process split cumulative tendency of mass number concentration of nonhygroscopic + ice nucleating aerosols + type: real + kind: kind_phys + units: kg-1 s-1 + - name: process_split_cumulative_tendency_of_mass_number_concentration_of_cloud_ice_water_crystals_in_air + long_name: Process split cumulative tendency of mass number concentration of cloud + ice water crystals in air + type: real + kind: kind_phys + units: kg-1 s-1 + - name: process_split_cumulative_tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of cloud liquid water mixing ratio + wrt moist air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_ozone_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of ozone mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_rain_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of rain mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_snow_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of snow mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_tracers + long_name: Process split cumulative tendency of tracers + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_turbulent_kinetic_energy + long_name: Process split cumulative tendency of turbulent kinetic energy + type: real + kind: kind_phys + units: J s-1 + - name: process_split_cumulative_tendency_of_mass_number_concentration_of_hygroscopic_aerosols + long_name: Process split cumulative tendency of mass number concentration of hygroscopic + aerosols + type: real + kind: kind_phys + units: kg-1 s-1 + - name: process_split_cumulative_tendency_of_specific_humidity + long_name: Process split cumulative tendency of specific humidity + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_x_wind + long_name: Process split cumulative tendency of x wind + type: real + kind: kind_phys + units: m s-2 + - name: process_split_cumulative_tendency_of_y_wind + long_name: Process split cumulative tendency of y wind + type: real + kind: kind_phys + units: m s-2 + - name: vertical_interface_dimension_interstitial + long_name: Vertical interface dimension interstitial + type: integer + kind: '' + units: count +- name: GFS_typedefs_GFS_tbd_type + comment: null + standard_names: + - name: absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag + long_name: Absolute momentum flux due to nonorographic gravity wave drag + type: real + kind: kind_phys + units: various + - name: cumulative_lwe_thickness_of_convective_precipitation_amount_between_sw_radiation_calls + long_name: Cumulative lwe thickness of convective precipitation amount between + sw radiation calls + type: real + kind: kind_phys + units: m + - name: mass_number_concentration_of_aerosol_from_gocart_climatology + long_name: Mass number concentration of aerosol from gocart climatology + type: real + kind: kind_phys + units: kg-1 + - name: air_temperature_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Air temperature on previous timestep in xyz dimensioned restart array + type: real + kind: kind_phys + units: K + - name: air_temperature_two_timesteps_back + long_name: Air temperature two timesteps back + type: real + kind: kind_phys + units: K + - name: atmosphere_boundary_layer_thickness + long_name: Atmosphere boundary layer thickness + type: real + kind: kind_phys + units: m + - name: atmosphere_heat_diffusivity_from_shoc + long_name: Atmosphere heat diffusivity from shoc + type: real + kind: kind_phys + units: m2 s-1 + - name: atmosphere_updraft_convective_mass_flux_at_cloud_base_by_cloud_type + long_name: Atmosphere updraft convective mass flux at cloud base by cloud type + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: cloud_fraction_for_mg + long_name: Cloud fraction for mg + type: real + kind: kind_phys + units: fraction + - name: counter_for_grell_freitas_convection + long_name: Counter for grell freitas convection + type: integer + kind: '' + units: count + - name: convective_cloud_area_fraction + long_name: Convective cloud area fraction + type: real + kind: kind_phys + units: fraction + - name: convective_cloud_condensate_mixing_ratio_wrt_moist_air + long_name: Convective cloud condensate mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: effective_radius_of_stratiform_cloud_graupel_particle + long_name: Effective radius of stratiform cloud graupel particle + type: real + kind: kind_phys + units: um + - name: effective_radius_of_stratiform_cloud_ice_particle + long_name: Effective radius of stratiform cloud ice particle + type: real + kind: kind_phys + units: um + - name: effective_radius_of_stratiform_cloud_liquid_water_particle + long_name: Effective radius of stratiform cloud liquid water particle + type: real + kind: kind_phys + units: um + - name: effective_radius_of_stratiform_cloud_rain_particle + long_name: Effective radius of stratiform cloud rain particle + type: real + kind: kind_phys + units: um + - name: effective_radius_of_stratiform_cloud_snow_particle + long_name: Effective radius of stratiform cloud snow particle + type: real + kind: kind_phys + units: um + - name: stratospheric_water_vapor_forcing + long_name: Stratospheric water vapor forcing + type: real + kind: kind_phys + units: various + - name: heat_exchange_coefficient_for_myj_schemes + long_name: Heat exchange coefficient for myj schemes + type: real + kind: kind_phys + units: m s-1 + - name: ice_nucleation_number_from_climatology + long_name: Ice nucleation number from climatology + type: real + kind: kind_phys + units: kg-1 + - name: upward_virtual_potential_temperature_flux + long_name: Upward virtual potential temperature flux + type: real + kind: kind_phys + units: K m s-1 + - name: surface_upward_specific_humidity_flux_for_mellor_yamada_janjic_surface_layer_scheme + long_name: Surface upward specific humidity flux for mellor yamada janjic surface + layer scheme + type: real + kind: kind_phys + units: m s-1 kg kg-1 + - name: cumulative_max_vertical_index_at_cloud_base_between_sw_radiation_calls + long_name: Cumulative max vertical index at cloud base between sw radiation calls + type: real + kind: kind_phys + units: 1 + - name: map_of_block_column_number_to_global_i_index + long_name: Map of block column number to global i index + type: integer + kind: '' + units: index + - name: map_of_block_column_number_to_global_j_index + long_name: Map of block column number to global j index + type: integer + kind: '' + units: index + - name: turbulent_mixing_length + long_name: Turbulent mixing length + type: real + kind: kind_phys + units: m + - name: specific_humidity_on_previous_timestep + long_name: Specific humidity on previous timestep + type: real + kind: kind_phys + units: kg kg-1 + - name: tendency_of_specific_humidity_due_to_nonphysics + long_name: Tendency of specific humidity due to nonphysics + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: momentum_exchange_coefficient_for_myj_schemes + long_name: Momentum exchange coefficient for myj schemes + type: real + kind: kind_phys + units: m s-1 + - name: ozone_forcing + long_name: Ozone forcing + type: real + kind: kind_phys + units: various + - name: air_potential_temperature_at_top_of_viscous_sublayer + long_name: Air potential temperature at top of viscous sublayer + type: real + kind: kind_phys + units: K + - name: variance_of_specific_humidity + long_name: Variance of specific humidity + type: real + kind: kind_phys + units: kg2 kg-2 + - name: random_number + long_name: Random number + type: real + kind: kind_phys + units: 1 + - name: random_number_seed_for_mcica_longwave + long_name: Random number seed for mcica longwave + type: integer + kind: '' + units: 1 + - name: random_number_seed_for_mcica_shortwave + long_name: Random number seed for mcica shortwave + type: integer + kind: '' + units: 1 + - name: cumulative_min_vertical_index_at_cloud_base_between_sw_radiation_calls + long_name: Cumulative min vertical index at cloud base between sw radiation calls + type: real + kind: kind_phys + units: 1 + - name: specific_humidity_at_top_of_viscous_sublayer + long_name: Specific humidity at top of viscous sublayer + type: real + kind: kind_phys + units: kg kg-1 + - name: stability_function_for_heat + long_name: Stability function for heat + type: real + kind: kind_phys + units: 1 + - name: subgrid_scale_cloud_area_fraction_in_atmosphere_layer + long_name: Subgrid scale cloud area fraction in atmosphere layer + type: real + kind: kind_phys + units: fraction + - name: subgrid_scale_cloud_ice_mixing_ratio_wrt_moist_air + long_name: Subgrid scale cloud ice mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: subgrid_scale_cloud_liquid_water_mixing_ratio_wrt_moist_air + long_name: Subgrid scale cloud liquid water mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: subgrid_scale_cloud_fraction_from_shoc + long_name: Subgrid scale cloud fraction from shoc + type: real + kind: kind_phys + units: fraction + - name: surface_air_pressure_on_previous_timestep + long_name: Surface air pressure on previous timestep + type: real + kind: kind_phys + units: Pa + - name: surface_air_pressure_two_timesteps_back + long_name: Surface air pressure two timesteps back + type: real + kind: kind_phys + units: Pa + - name: control_for_surface_layer_evaporation + long_name: Control for surface layer evaporation + type: real + kind: kind_phys + units: 1 + - name: surface_specific_humidity_for_myj_schemes + long_name: Surface specific humidity for myj schemes + type: real + kind: kind_phys + units: kg kg-1 + - name: enhancement_to_wind_speed_at_surface_adjacent_layer_due_to_convection + long_name: Enhancement to wind speed at surface adjacent layer due to convection + type: real + kind: kind_phys + units: m s-1 + - name: covariance_of_air_temperature_and_specific_humidity + long_name: Covariance of air temperature and specific humidity + type: real + kind: kind_phys + units: K kg kg-1 + - name: variance_of_air_temperature + long_name: Variance of air temperature + type: real + kind: kind_phys + units: K2 + - name: tendency_of_air_temperature_due_to_nonphysics + long_name: Tendency of air temperature due to nonphysics + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_to_withhold_from_sppt + long_name: Tendency of air temperature to withhold from sppt + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_activated_cloud_condensation_nuclei_from_climatology + long_name: Tendency of activated cloud condensation nuclei from climatology + type: real + kind: kind_phys + units: kg-1 s-1 + - name: lwe_thickness_of_rain_amount_on_dynamics_timestep_for_coupling + long_name: Lwe thickness of rain amount on dynamics timestep for coupling + type: real + kind: kind_phys + units: m + - name: lwe_thickness_of_snowfall_amount_on_dynamics_timestep_for_coupling + long_name: Lwe thickness of snowfall amount on dynamics timestep for coupling + type: real + kind: kind_phys + units: m + - name: nonadvected_turbulent_kinetic_energy_multiplied_by_2 + long_name: Nonadvected turbulent kinetic energy multiplied by 2 + type: real + kind: kind_phys + units: m2 s-2 + - name: x_wind_at_top_of_viscous_sublayer + long_name: X wind at top of viscous sublayer + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_at_top_of_viscous_sublayer + long_name: Y wind at top of viscous sublayer + type: real + kind: kind_phys + units: m s-1 + - name: specific_humidity_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Specific humidity on previous timestep in xyz dimensioned restart array + type: real + kind: kind_phys + units: kg kg-1 + - name: specific_humidity_two_timesteps_back + long_name: Specific humidity two timesteps back + type: real + kind: kind_phys + units: kg kg-1 + - name: weight_for_momentum_at_top_of_viscous_sublayer + long_name: Weight for momentum at top of viscous sublayer + type: real + kind: kind_phys + units: 1 + - name: weight_for_potential_temperature_at_top_of_viscous_sublayer + long_name: Weight for potential temperature at top of viscous sublayer + type: real + kind: kind_phys + units: 1 + - name: weight_for_specific_humidity_at_top_of_viscous_sublayer + long_name: Weight for specific humidity at top of viscous sublayer + type: real + kind: kind_phys + units: 1 +- name: GFS_typedefs_GFS_sfcprop_type + comment: null + standard_names: + - name: wet_canopy_area_fraction + long_name: Wet canopy area fraction + type: real + kind: kind_phys + units: fraction + - name: baseline_surface_longwave_emissivity + long_name: Baseline surface longwave emissivity + type: real + kind: kind_phys + units: fraction + - name: baseline_surface_roughness_length + long_name: Baseline surface roughness length + type: real + kind: kind_phys + units: m + - name: air_temperature_in_canopy + long_name: Air temperature in canopy + type: real + kind: kind_phys + units: K + - name: air_vapor_pressure_in_canopy + long_name: Air vapor pressure in canopy + type: real + kind: kind_phys + units: Pa + - name: canopy_intercepted_ice_mass + long_name: Canopy intercepted ice mass + type: real + kind: kind_phys + units: mm + - name: canopy_intercepted_liquid_water + long_name: Canopy intercepted liquid water + type: real + kind: kind_phys + units: mm + - name: canopy_water_amount + long_name: Canopy water amount + type: real + kind: kind_phys + units: kg m-2 + - name: cloud_condensed_water_mixing_ratio_wrt_moist_air_at_surface_over_ice + long_name: Cloud condensed water mixing ratio wrt moist air at surface over ice + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_condensed_water_mixing_ratio_wrt_moist_air_at_surface_over_land + long_name: Cloud condensed water mixing ratio wrt moist air at surface over land + type: real + kind: kind_phys + units: kg kg-1 + - name: coefficient_c_0 + long_name: Coefficient c 0 + type: real + kind: kind_phys + units: 1 + - name: coefficient_c_d + long_name: Coefficient c d + type: real + kind: kind_phys + units: 1 + - name: coefficient_w_0 + long_name: Coefficient w 0 + type: real + kind: kind_phys + units: 1 + - name: coefficient_w_d + long_name: Coefficient w d + type: real + kind: kind_phys + units: 1 + - name: convective_precipitation_rate_on_previous_timestep + long_name: Convective precipitation rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: deep_soil_temperature + long_name: Deep soil temperature + type: real + kind: kind_phys + units: K + - name: frozen_precipitation_density + long_name: Frozen precipitation density + type: real + kind: kind_phys + units: kg m-3 + - name: heat_content_in_diurnal_thermocline + long_name: Heat content in diurnal thermocline + type: real + kind: kind_phys + units: K m + - name: diurnal_thermocline_layer_thickness + long_name: Diurnal thermocline layer thickness + type: real + kind: kind_phys + units: m + - name: x_current_in_diurnal_thermocline + long_name: X current in diurnal thermocline + type: real + kind: kind_phys + units: m2 s-1 + - name: y_current_in_diurnal_thermocline + long_name: Y current in diurnal thermocline + type: real + kind: kind_phys + units: m2 s-1 + - name: volumetric_equilibrium_soil_moisture + long_name: Volumetric equilibrium soil moisture + type: real + kind: kind_phys + units: m3 m-3 + - name: explicit_precipitation_rate_on_previous_timestep + long_name: Explicit precipitation rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: fast_soil_pool_mass_content_of_carbon + long_name: Fast soil pool mass content of carbon + type: real + kind: kind_phys + units: g m-2 + - name: fine_root_mass_content + long_name: Fine root mass content + type: real + kind: kind_phys + units: g m-2 + - name: control_for_frozen_soil_physics + long_name: Control for frozen soil physics + type: real + kind: kind_phys + units: 1 + - name: precipitation_type + long_name: Precipitation type + type: real + kind: kind_phys + units: 1 + - name: strong_cosz_area_fraction + long_name: Strong cosz area fraction + type: real + kind: kind_phys + units: fraction + - name: weak_cosz_area_fraction + long_name: Weak cosz area fraction + type: real + kind: kind_phys + units: fraction + - name: free_convection_layer_thickness_in_sea_water + long_name: Free convection layer thickness in sea water + type: real + kind: kind_phys + units: m + - name: consecutive_calls_for_grell_freitas_convection + long_name: Consecutive calls for grell freitas convection + type: real + kind: kind_phys + units: 1 + - name: graupel_precipitation_rate_on_previous_timestep + long_name: Graupel precipitation rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: ground_temperature + long_name: Ground temperature + type: real + kind: kind_phys + units: K + - name: ice_precipitation_rate_on_previous_timestep + long_name: Ice precipitation rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: control_for_diurnal_thermocline_calculation + long_name: Control for diurnal thermocline calculation + type: real + kind: kind_phys + units: 1 + - name: temperature_in_ice_layer + long_name: Temperature in ice layer + type: real + kind: kind_phys + units: K + - name: surface_upward_specific_humidity_flux + long_name: Surface upward specific humidity flux + type: real + kind: kind_phys + units: kg kg-1 m s-1 + - name: surface_upward_temperature_flux + long_name: Surface upward temperature flux + type: real + kind: kind_phys + units: K m s-1 + - name: lake_area_fraction + long_name: Lake area fraction + type: real + kind: kind_phys + units: fraction + - name: lake_depth + long_name: Lake depth + type: real + kind: kind_phys + units: m + - name: water_storage_in_lake + long_name: Water storage in lake + type: real + kind: kind_phys + units: mm + - name: land_area_fraction + long_name: Land area fraction + type: real + kind: kind_phys + units: fraction + - name: depth_from_snow_surface_at_bottom_interface + long_name: Depth from snow surface at bottom interface + type: real + kind: kind_phys + units: m + - name: leaf_area_index + long_name: Leaf area index + type: real + kind: kind_phys + units: 1 + - name: leaf_mass_content + long_name: Leaf mass content + type: real + kind: kind_phys + units: g m-2 + - name: lwe_thickness_of_convective_precipitation_amount_on_previous_timestep + long_name: Lwe thickness of convective precipitation amount on previous timestep + type: real + kind: kind_phys + units: m + - name: lwe_thickness_of_explicit_precipitation_amount_on_previous_timestep + long_name: Lwe thickness of explicit precipitation amount on previous timestep + type: real + kind: kind_phys + units: m + - name: lwe_thickness_of_graupel_amount_on_previous_timestep + long_name: Lwe thickness of graupel amount on previous timestep + type: real + kind: kind_phys + units: m + - name: lwe_thickness_of_ice_precipitation_amount_on_previous_timestep + long_name: Lwe thickness of ice precipitation amount on previous timestep + type: real + kind: kind_phys + units: m + - name: snow_mass_on_previous_timestep + long_name: Snow mass on previous timestep + type: real + kind: kind_phys + units: m + - name: max_vegetation_area_fraction + long_name: Max vegetation area fraction + type: real + kind: kind_phys + units: fraction + - name: nir_albedo_strong_cosz + long_name: Nir albedo strong cosz + type: real + kind: kind_phys + units: fraction + - name: nir_albedo_weak_cosz + long_name: Nir albedo weak cosz + type: real + kind: kind_phys + units: fraction + - name: vis_albedo_strong_cosz + long_name: Vis albedo strong cosz + type: real + kind: kind_phys + units: fraction + - name: vis_albedo_weak_cosz + long_name: Vis albedo weak cosz + type: real + kind: kind_phys + units: fraction + - name: min_vegetation_area_fraction + long_name: Min vegetation area fraction + type: real + kind: kind_phys + units: fraction + - name: monin_obukhov_similarity_function_for_heat + long_name: Monin obukhov similarity function for heat + type: real + kind: kind_phys + units: 1 + - name: monin_obukhov_similarity_function_for_momentum + long_name: Monin obukhov similarity function for momentum + type: real + kind: kind_phys + units: 1 + - name: dimensionless_age_of_surface_snow + long_name: Dimensionless age of surface snow + type: real + kind: kind_phys + units: 1 + - name: nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep + long_name: Nonnegative lwe thickness of precipitation amount on dynamics timestep + type: real + kind: kind_phys + units: m + - name: normalized_soil_wetness_for_land_surface_model + long_name: Normalized soil wetness for land surface model + type: real + kind: kind_phys + units: fraction + - name: number_of_snow_layers + long_name: Number of snow layers + type: real + kind: kind_phys + units: 1 + - name: ocean_mixed_layer_thickness + long_name: Ocean mixed layer thickness + type: real + kind: kind_phys + units: m + - name: height_above_mean_sea_level + long_name: Height above mean sea level + type: real + kind: kind_phys + units: m + - name: height_above_mean_sea_level_at_surface + long_name: Height above mean sea level at local surface + type: real + kind: kind_phys + units: m + - name: unfiltered_height_above_mean_sea_level + long_name: Unfiltered height above mean sea level + type: real + kind: kind_phys + units: m + - name: air_potential_temperature_at_2m + long_name: Air potential temperature at 2m + type: real + kind: kind_phys + units: K + - name: ratio_of_wind_at_surface_adjacent_layer_to_wind_at_10m + long_name: Ratio of wind at surface adjacent layer to wind at 10m + type: real + kind: kind_phys + units: ratio + - name: reciprocal_of_obukhov_length + long_name: Reciprocal of obukhov length + type: real + kind: kind_phys + units: m-1 + - name: sea_area_fraction + long_name: Sea area fraction + type: real + kind: kind_phys + units: fraction + - name: sea_ice_area_fraction_of_sea_area_fraction + long_name: Sea ice area fraction of sea area fraction + type: real + kind: kind_phys + units: fraction + - name: sea_ice_temperature + long_name: Sea ice temperature + type: real + kind: kind_phys + units: K + - name: sea_ice_thickness + long_name: Sea ice thickness + type: real + kind: kind_phys + units: m + - name: area_type + long_name: Area type + type: real + kind: kind_phys + units: 1 + - name: reference_sea_surface_temperature + long_name: Reference sea surface temperature + type: real + kind: kind_phys + units: K + - name: sea_surface_temperature + long_name: Sea surface temperature + type: real + kind: kind_phys + units: K + - name: sea_water_salinity_in_diurnal_thermocline + long_name: Sea water salinity in diurnal thermocline + type: real + kind: kind_phys + units: ppt m + - name: surface_sensible_heat_due_to_rainfall + long_name: Surface sensible heat due to rainfall + type: real + kind: kind_phys + units: W + - name: derivative_of_heat_content_in_diurnal_thermocline_wrt_surface_skin_temperature + long_name: Derivative of heat content in diurnal thermocline wrt surface skin + temperature + type: real + kind: kind_phys + units: m + - name: derivative_of_diurnal_thermocline_layer_thickness_wrt_surface_skin_temperature + long_name: Derivative of diurnal thermocline layer thickness wrt surface skin + temperature + type: real + kind: kind_phys + units: m K-1 + - name: slow_soil_pool_mass_content_of_carbon + long_name: Slow soil pool mass content of carbon + type: real + kind: kind_phys + units: g m-2 + - name: surface_albedo_assuming_deep_snow_on_previous_timestep + long_name: Surface albedo assuming deep snow on previous timestep + type: real + kind: kind_phys + units: fraction + - name: lwe_thickness_of_ice_in_surface_snow + long_name: Lwe thickness of ice in surface snow + type: real + kind: kind_phys + units: mm + - name: lwe_thickness_of_liquid_water_in_surface_snow + long_name: Lwe thickness of liquid water in surface snow + type: real + kind: kind_phys + units: mm + - name: lwe_thickness_of_snowfall_amount_on_previous_timestep + long_name: Lwe thickness of snowfall amount on previous timestep + type: real + kind: kind_phys + units: mm + - name: lwe_snowfall_rate + long_name: Lwe snowfall rate + type: real + kind: kind_phys + units: mm s-1 + - name: snowfall_rate_on_previous_timestep + long_name: Snowfall rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: temperature_in_surface_snow + long_name: Temperature in surface snow + type: real + kind: kind_phys + units: K + - name: temperature_in_surface_snow_at_surface_adjacent_layer_over_ice + long_name: Temperature in surface snow at surface adjacent layer over ice + type: real + kind: kind_phys + units: K + - name: temperature_in_surface_snow_at_surface_adjacent_layer_over_land + long_name: Temperature in surface snow at surface adjacent layer over land + type: real + kind: kind_phys + units: K + - name: soil_temperature + long_name: Soil temperature + type: real + kind: kind_phys + units: K + - name: soil_temperature_for_land_surface_model + long_name: Soil temperature for land surface model + type: real + kind: kind_phys + units: K + - name: volumetric_soil_moisture_between_soil_bottom_and_water_table + long_name: Volumetric soil moisture between soil bottom and water table + type: real + kind: kind_phys + units: m3 m-3 + - name: water_vapor_mixing_ratio_wrt_moist_air_at_2m + long_name: mixing ratio of the mass of water vapor to the mass of moist air, at + two meters above surface + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_at_2m + long_name: mixing ratio of the mass of water vapor to the mass of moist air and + hydrometeors, at two meters above surface + type: real + kind: kind_phys + units: kg kg-1 + - name: specified_surface_upward_specific_humidity_flux + long_name: Specified surface upward specific humidity flux + type: real + kind: kind_phys + units: kg kg-1 m s-1 + - name: specified_surface_upward_temperature_flux + long_name: Specified surface upward temperature flux + type: real + kind: kind_phys + units: K m s-1 + - name: standard_deviation_of_subgrid_orography + long_name: Standard deviation of subgrid orography + type: real + kind: kind_phys + units: m + - name: statistical_measures_of_subgrid_orography_collection_array + long_name: Statistical measures of subgrid orography collection array + type: real + kind: kind_phys + units: various + - name: stem_area_index + long_name: Stem area index + type: real + kind: kind_phys + units: 1 + - name: stem_mass_content + long_name: Stem mass content + type: real + kind: kind_phys + units: g m-2 + - name: molecular_sublayer_temperature_correction_in_sea_water + long_name: Molecular sublayer temperature correction in sea water + type: real + kind: kind_phys + units: K + - name: molecular_sublayer_thickness_in_sea_water + long_name: Molecular sublayer thickness in sea water + type: real + kind: kind_phys + units: m + - name: surface_albedo_diffuse_nir_over_ice + long_name: Surface albedo diffuse nir over ice + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_diffuse_nir_over_land + long_name: Surface albedo diffuse nir over land + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_diffuse_visible_over_ice + long_name: Surface albedo diffuse visible over ice + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_diffuse_visible_over_land + long_name: Surface albedo diffuse visible over land + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_direct_nir_over_ice + long_name: Surface albedo direct nir over ice + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_direct_nir_over_land + long_name: Surface albedo direct nir over land + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_direct_visible_over_ice + long_name: Surface albedo direct visible over ice + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_direct_visible_over_land + long_name: Surface albedo direct visible over land + type: real + kind: kind_phys + units: fraction + - name: surface_diffused_shortwave_albedo_over_ice + long_name: Surface diffused shortwave albedo over ice + type: real + kind: kind_phys + units: fraction + - name: surface_diffused_shortwave_albedo_over_land + long_name: Surface diffused shortwave albedo over land + type: real + kind: kind_phys + units: fraction + - name: surface_drag_coefficient_for_heat_and_moisture_for_noahmp + long_name: Surface drag coefficient for heat and moisture for noahmp + type: real + kind: kind_phys + units: 1 + - name: surface_drag_coefficient_for_momentum_for_noahmp + long_name: Surface drag coefficient for momentum for noahmp + type: real + kind: kind_phys + units: 1 + - name: surface_exchange_coefficient_for_heat + long_name: Surface exchange coefficient for heat + type: real + kind: kind_phys + units: W m-2 K-1 + - name: surface_exchange_coefficient_for_heat_at_2m + long_name: Surface exchange coefficient for heat at 2m + type: real + kind: kind_phys + units: m s-1 + - name: surface_exchange_coefficient_for_moisture + long_name: Surface exchange coefficient for moisture + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: surface_exchange_coefficient_for_moisture_at_2m + long_name: Surface exchange coefficient for moisture at 2m + type: real + kind: kind_phys + units: m s-1 + - name: surface_friction_velocity + long_name: Surface friction velocity + type: real + kind: kind_phys + units: m s-1 + - name: surface_friction_velocity_for_momentum + long_name: Surface friction velocity for momentum + type: real + kind: kind_phys + units: m s-1 + - name: surface_upward_latent_heat_flux + long_name: Surface upward latent heat flux + type: real + kind: kind_phys + units: W m-2 + - name: surface_longwave_emissivity_over_ice + long_name: Surface longwave emissivity over ice + type: real + kind: kind_phys + units: fraction + - name: surface_longwave_emissivity_over_land + long_name: Surface longwave emissivity over land + type: real + kind: kind_phys + units: fraction + - name: surface_roughness_length + long_name: Surface roughness length + type: real + kind: kind_phys + units: cm + - name: surface_roughness_length_from_wave_model + long_name: Surface roughness length from wave model + type: real + kind: kind_phys + units: cm + - name: surface_roughness_length_over_ice + long_name: Surface roughness length over ice + type: real + kind: kind_phys + units: cm + - name: surface_roughness_length_over_land + long_name: Surface roughness length over land + type: real + kind: kind_phys + units: cm + - name: surface_roughness_length_over_water + long_name: Surface roughness length over water + type: real + kind: kind_phys + units: cm + - name: skin_temperature_at_surface + long_name: Skin temperature at surface + type: real + kind: kind_phys + units: K + - name: skin_temperature_at_surface_over_ice + long_name: Skin temperature at surface over (or where) ice + type: real + kind: kind_phys + units: K + - name: skin_temperature_at_surface_over_land + long_name: Skin temperature at surface over (or where) land + type: real + kind: kind_phys + units: K + - name: skin_temperature_at_surface_over_ocean + long_name: Skin temperature at surface over (or where) ocean + type: real + kind: kind_phys + units: K + - name: skin_temperature_at_surface_over_snow + long_name: Skin temperature at surface over (or where) snow + type: real + kind: kind_phys + units: K + - name: surface_snow_area_fraction_over_ice + long_name: Surface snow area fraction over ice + type: real + kind: kind_phys + units: fraction + - name: surface_snow_area_fraction_over_land + long_name: Surface snow area fraction over land + type: real + kind: kind_phys + units: fraction + - name: surface_snow_free_albedo_over_land + long_name: Surface snow free albedo over land + type: real + kind: kind_phys + units: fraction + - name: lwe_surface_snow + long_name: Lwe surface snow + type: real + kind: kind_phys + units: mm + - name: surface_specific_humidity + long_name: Surface specific humidity + type: real + kind: kind_phys + units: kg kg-1 + - name: ratio_of_height_to_monin_obukhov_length + long_name: Ratio of height to monin obukhov length + type: real + kind: kind_phys + units: 1 + - name: air_temperature_at_2m + long_name: Air temperature at 2m + type: real + kind: kind_phys + units: K + - name: surface_temperature_scale + long_name: Surface temperature scale + type: real + kind: kind_phys + units: K + - name: time_since_last_snowfall + long_name: Time since last snowfall + type: real + kind: kind_phys + units: s + - name: surface_snow_amount_over_ice + long_name: Surface snow amount over ice + type: real + kind: kind_phys + units: kg m-2 + - name: surface_snow_amount_over_land + long_name: Surface snow amount over land + type: real + kind: kind_phys + units: kg m-2 + - name: upper_bound_of_max_albedo_assuming_deep_snow + long_name: Upper bound of max albedo assuming deep snow + type: real + kind: kind_phys + units: fraction + - name: vegetation_area_fraction + long_name: Vegetation area fraction + type: real + kind: kind_phys + units: fraction + - name: canopy_temperature + long_name: Canopy temperature + type: real + kind: kind_phys + units: K + - name: volume_fraction_of_frozen_soil_moisture_for_land_surface_model + long_name: Volume fraction of frozen soil moisture for land surface model + type: real + kind: kind_phys + units: fraction + - name: volume_fraction_of_condensed_water_in_soil + long_name: Volume fraction of condensed water in soil + type: real + kind: kind_phys + units: fraction + - name: volume_fraction_of_soil_moisture_for_land_surface_model + long_name: Volume fraction of soil moisture for land surface model + type: real + kind: kind_phys + units: fraction + - name: volume_fraction_of_unfrozen_water_in_soil + long_name: Volume fraction of unfrozen water in soil + type: real + kind: kind_phys + units: fraction + - name: volume_fraction_of_unfrozen_soil_moisture_for_land_surface_model + long_name: Volume fraction of unfrozen soil moisture for land surface model + type: real + kind: kind_phys + units: fraction + - name: lwe_thickness_of_surface_snow_amount + long_name: Lwe thickness of surface snow amount + type: real + kind: kind_phys + units: mm + - name: water_storage_in_aquifer + long_name: Water storage in aquifer + type: real + kind: kind_phys + units: mm + - name: water_storage_in_aquifer_and_saturated_soil + long_name: Water storage in aquifer and saturated soil + type: real + kind: kind_phys + units: mm + - name: water_table_depth + long_name: Water table depth + type: real + kind: kind_phys + units: m + - name: water_table_recharge_assuming_deep + long_name: Water table recharge assuming deep + type: real + kind: kind_phys + units: m + - name: water_table_recharge_assuming_shallow + long_name: Water table recharge assuming shallow + type: real + kind: kind_phys + units: m + - name: water_vapor_mixing_ratio_wrt_moist_air_at_surface_over_ice + long_name: Water vapor mixing ratio wrt moist air at surface over ice + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_at_surface_over_land + long_name: Water vapor mixing ratio wrt moist air at surface over land + type: real + kind: kind_phys + units: kg kg-1 + - name: wood_mass_content + long_name: Wood mass content + type: real + kind: kind_phys + units: g m-2 +- name: GFS_typedefs_GFS_coupling_type + comment: null + standard_names: + - name: cellular_automata_global_pattern_from_coupled_process + long_name: Cellular automata global pattern from coupled process + type: real + kind: kind_phys + units: 1 + - name: convective_cloud_condensate_after_rainout + long_name: Convective cloud condensate after rainout + type: real + kind: kind_phys + units: kg kg-1 + - name: cumulative_surface_downwelling_diffuse_nir_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling diffuse nir shortwave flux for coupling + multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling diffuse uv and vis shortwave flux for + coupling multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_direct_nir_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling direct nir shortwave flux for coupling + multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling direct uv and vis shortwave flux for + coupling multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_longwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling longwave flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling shortwave flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_diffuse_nir_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling diffuse nir shortwave flux for coupling + multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling diffuse uv and vis shortwave flux + for coupling multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_direct_nir_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling direct nir shortwave flux for coupling + multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling direct uv and vis shortwave flux + for coupling multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_longwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling longwave flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling shortwave flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_upward_latent_heat_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface upward latent heat flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_upward_sensible_heat_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface upward sensible heat flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_x_momentum_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface x momentum flux for coupling multiplied by timestep + type: real + kind: kind_phys + units: Pa s + - name: cumulative_surface_y_momentum_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface y momentum flux for coupling multiplied by timestep + type: real + kind: kind_phys + units: Pa s + - name: cellular_automata_area_fraction_for_deep_convection_from_coupled_process + long_name: Cellular automata area fraction for deep convection from coupled process + type: real + kind: kind_phys + units: fraction + - name: atmosphere_heat_diffusivity_for_chemistry_coupling + long_name: Atmosphere heat diffusivity for chemistry coupling + type: real + kind: kind_phys + units: m2 s-1 + - name: specific_humidity_at_2m_for_coupling + long_name: Specific humidity at 2m for coupling + type: real + kind: kind_phys + units: kg kg-1 + - name: surface_air_pressure_for_coupling + long_name: Surface air pressure for coupling + type: real + kind: kind_phys + units: Pa + - name: surface_downwelling_diffuse_nir_shortwave_flux_for_coupling + long_name: Surface downwelling diffuse nir shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling + long_name: Surface downwelling diffuse uv and vis shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_direct_nir_shortwave_flux_for_coupling + long_name: Surface downwelling direct nir shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling + long_name: Surface downwelling direct uv and vis shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_longwave_flux_for_coupling + long_name: Surface downwelling longwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_shortwave_flux_for_coupling + long_name: Surface downwelling shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_diffuse_nir_shortwave_flux_for_coupling + long_name: Surface net downwelling diffuse nir shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling + long_name: Surface net downwelling diffuse uv and vis shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_direct_nir_shortwave_flux_for_coupling + long_name: Surface net downwelling direct nir shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling + long_name: Surface net downwelling direct uv and vis shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_longwave_flux_for_coupling + long_name: Surface net downwelling longwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_shortwave_flux_for_coupling + long_name: Surface net downwelling shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_skin_temperature_for_coupling + long_name: Surface skin temperature for coupling + type: real + kind: kind_phys + units: K + - name: surface_upward_latent_heat_flux_for_coupling + long_name: Surface upward latent heat flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_upward_sensible_heat_flux_for_chemistry_coupling + long_name: Surface upward sensible heat flux for chemistry coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_upward_sensible_heat_flux_for_coupling + long_name: Surface upward sensible heat flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_x_momentum_flux_for_coupling + long_name: Surface x momentum flux for coupling + type: real + kind: kind_phys + units: Pa + - name: surface_y_momentum_flux_for_coupling + long_name: Surface y momentum flux for coupling + type: real + kind: kind_phys + units: Pa + - name: temperature_at_2m_for_coupling + long_name: Temperature at 2m for coupling + type: real + kind: kind_phys + units: K + - name: tendency_of_specific_humidity_due_to_moist_convection_for_coupling + long_name: Tendency of specific humidity due to moist convection for coupling + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: x_wind_at_10m_for_coupling + long_name: X wind at 10m for coupling + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_at_10m_for_coupling + long_name: Y wind at 10m for coupling + type: real + kind: kind_phys + units: m s-1 + - name: cumulative_lwe_thickness_of_convective_precipitation_amount_for_coupling + long_name: Cumulative lwe thickness of convective precipitation amount for coupling + type: real + kind: kind_phys + units: m + - name: cumulative_lwe_thickness_of_precipitation_amount_for_coupling + long_name: Cumulative lwe thickness of precipitation amount for coupling + type: real + kind: kind_phys + units: m + - name: cumulative_lwe_thickness_of_snow_amount_for_coupling + long_name: Cumulative lwe thickness of snow amount for coupling + type: real + kind: kind_phys + units: m + - name: physics_field_for_coupling + long_name: Physics field for coupling + type: real + kind: kind_phys + units: m2 s-2 + - name: rrtmgp_jacobian_of_lw_flux_upward + long_name: Rrtmgp jacobian of lw flux upward + type: real + kind: kind_phys + units: W m-2 K-1 + - name: rrtmgp_lw_flux_profile_downward_allsky + long_name: Rrtmgp lw flux profile downward allsky + type: real + kind: kind_phys + units: W m-2 + - name: rrtmgp_lw_flux_profile_upward_allsky + long_name: Rrtmgp lw flux profile upward allsky + type: real + kind: kind_phys + units: W m-2 + - name: area_type_from_coupled_process + long_name: Area type from coupled process + type: real + kind: kind_phys + units: 1 + - name: surface_downwelling_diffuse_nir_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling diffuse nir shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_diffuse_uv_and_vis_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling diffuse uv and vis shortwave flux on radiation + timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_direct_nir_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling direct nir shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_direct_uv_and_vis_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling direct uv and vis shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_longwave_flux_on_radiation_timestep + long_name: Surface downwelling longwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_shortwave_flux_on_radiation_timestep + long_name: Surface net downwelling shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_nir_albedo_diffuse_rad_for_coupling + long_name: Surface nir albedo diffuse rad for coupling + type: real + kind: kind_phys + units: fraction + - name: surface_nir_albedo_direct_rad_for_coupling + long_name: Surface nir albedo direct rad for coupling + type: real + kind: kind_phys + units: fraction + - name: lwe_surface_snow_from_coupled_process + long_name: Lwe surface snow from coupled process + type: real + kind: kind_phys + units: m + - name: surface_upward_latent_heat_flux_from_coupled_process + long_name: Surface upward latent heat flux from coupled process + type: real + kind: kind_phys + units: W m-2 + - name: surface_upward_sensible_heat_flux_from_coupled_process + long_name: Surface upward sensible heat flux from coupled process + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_diffuse_nir_shortwave_flux_on_radiation_timestep + long_name: Surface upwelling diffuse nir shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_diffuse_uv_and_vis_shortwave_flux_on_radiation_timestep + long_name: Surface upwelling diffuse uv and vis shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_direct_nir_shortwave_flux_on_radiation_timestep + long_name: Surface upwelling direct nir shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_direct_uv_and_vis_shortwave_flux_on_radiation_timestep + long_name: Surface upwelling direct uv and vis shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_longwave_flux_from_coupled_process + long_name: Surface upwelling longwave flux from coupled process + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_longwave_flux_on_radiation_timestep + long_name: Surface upwelling longwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_vis_albedo_diffuse_rad_for_coupling + long_name: Surface vis albedo diffuse rad for coupling + type: real + kind: kind_phys + units: fraction + - name: surface_vis_albedo_direct_rad_for_coupling + long_name: Surface vis albedo direct rad for coupling + type: real + kind: kind_phys + units: fraction + - name: surface_x_momentum_flux_from_coupled_process + long_name: Surface x momentum flux from coupled process + type: real + kind: kind_phys + units: Pa + - name: surface_y_momentum_flux_from_coupled_process + long_name: Surface y momentum flux from coupled process + type: real + kind: kind_phys + units: Pa + - name: tendency_of_nonhygroscopic_ice_nucleating_aerosols_at_surface_adjacent_layer + long_name: Tendency of nonhygroscopic ice nucleating aerosols at surface adjacent + layer + type: real + kind: kind_phys + units: kg-1 s-1 + - name: tendency_of_hygroscopic_aerosols_at_surface_adjacent_layer + long_name: Tendency of hygroscopic aerosols at surface adjacent layer + type: real + kind: kind_phys + units: kg-1 s-1 + - name: updated_tendency_of_air_temperature_due_to_longwave_heating_on_physics_timestep + long_name: Updated tendency of air temperature due to longwave heating on physics + timestep + type: real + kind: kind_phys + units: K s-1 + - name: cellular_automata_vertical_weight + long_name: Cellular automata vertical weight + type: real + kind: kind_phys + units: fraction + - name: shum_weights_from_coupled_process + long_name: Shum weights from coupled process + type: real + kind: kind_phys + units: 1 + - name: skeb_x_wind_weights_from_coupled_process + long_name: Skeb x wind weights from coupled process + type: real + kind: kind_phys + units: 1 + - name: skeb_y_wind_weights_from_coupled_process + long_name: Skeb y wind weights from coupled process + type: real + kind: kind_phys + units: 1 + - name: sppt_weights_from_coupled_process + long_name: Sppt weights from coupled process + type: real + kind: kind_phys + units: 1 + - name: surface_stochastic_weights_from_coupled_process + long_name: Surface stochastic weights from coupled process + type: real + kind: kind_phys + units: 1 +- name: GFS_typedefs_GFS_statein_type + comment: null + standard_names: + - name: air_pressure_at_lowest_model_interface + long_name: Air pressure at lowest model interface + type: real + kind: kind_phys + units: Pa + - name: air_pressure_at_surface_adjacent_layer + long_name: Air pressure at surface adjacent layer + type: real + kind: kind_phys + units: Pa + - name: air_temperature_at_surface_adjacent_layer + long_name: Air temperature at surface adjacent layer + type: real + kind: kind_phys + units: K + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_at_surface_adjacent_layer + long_name: Cloud liquid water mixing ratio wrt moist air at surface adjacent layer + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_cloud_liquid_water_particles_in_air + long_name: Mass number concentration of cloud liquid water particles in air + type: real + kind: kind_phys + units: kg-1 + - name: surface_dimensionless_exner_function + long_name: Surface dimensionless exner function + type: real + kind: kind_phys + units: 1 + - name: dimensionless_exner_function_at_surface_adjacent_layer + long_name: Dimensionless exner function at surface adjacent layer + type: real + kind: kind_phys + units: 1 + - name: dimensionless_exner_function_at_interfaces + long_name: Dimensionless exner function at interfaces + type: real + kind: kind_phys + units: 1 + - name: dissipation_estimate_of_air_temperature_at_model_layers + long_name: Dissipation estimate of air temperature at model layers + type: real + kind: kind_phys + units: K + - name: geopotential + long_name: Geopotential + type: real + kind: kind_phys + units: m2 s-2 + - name: geopotential_at_interfaces + long_name: Geopotential at interfaces + type: real + kind: kind_phys + units: m2 s-2 + - name: graupel_mixing_ratio_wrt_moist_air + long_name: Graupel mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_graupel_in_air + long_name: Mass number concentration of graupel in air + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols + long_name: Mass number concentration of nonhygroscopic ice nucleating aerosols + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_cloud_ice_water_crystals_in_air + long_name: Mass number concentration of cloud ice water crystals in air + type: real + kind: kind_phys + units: kg-1 + - name: ozone_mixing_ratio_wrt_moist_air + long_name: Ozone mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_rain_water_in_air + long_name: Mass number concentration of rain water in air + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_snow_in_air + long_name: Mass number concentration of snow in air + type: real + kind: kind_phys + units: kg-1 + - name: snow_mixing_ratio_wrt_moist_air + long_name: Snow mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: tracer_concentration + long_name: Tracer concentration + type: real + kind: kind_phys + units: kg kg-1 + - name: turbulent_kinetic_energy + long_name: Turbulent kinetic energy + type: real + kind: kind_phys + units: J + - name: mass_number_concentration_of_hygroscopic_aerosols + long_name: Mass number concentration of hygroscopic aerosols + type: real + kind: kind_phys + units: kg-1 + - name: specific_humidity_at_surface_adjacent_layer + long_name: Specific humidity at surface adjacent layer + type: real + kind: kind_phys + units: kg kg-1 + - name: x_wind_at_surface_adjacent_layer + long_name: X wind at surface adjacent layer + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_at_surface_adjacent_layer + long_name: Y wind at surface adjacent layer + type: real + kind: kind_phys + units: m s-1 +- name: GFS_typedefs_GFS_cldprop_type + comment: null + standard_names: + - name: convective_cloud_area_fraction_between_sw_radiation_calls_from_cnvc90 + long_name: Convective cloud area fraction between sw radiation calls from cnvc90 + type: real + kind: kind_phys + units: fraction + - name: pressure_at_convective_cloud_base_between_sw_radiation_calls_from_cnvc90 + long_name: Pressure at convective cloud base between sw radiation calls from cnvc90 + type: real + kind: kind_phys + units: Pa + - name: pressure_at_convective_cloud_top_between_sw_radiation_calls_from_cnvc90 + long_name: Pressure at convective cloud top between sw radiation calls from cnvc90 + type: real + kind: kind_phys + units: Pa +- name: GFS_typedefs_GFS_radtend_type + comment: null + standard_names: + - name: cosine_of_solar_zenith_angle_for_daytime_points_on_radiation_timestep + long_name: Cosine of solar zenith angle for daytime points on radiation timestep + type: real + kind: kind_phys + units: 1 + - name: cosine_of_solar_zenith_angle_on_radiation_timestep + long_name: Cosine of solar zenith angle on radiation timestep + type: real + kind: kind_phys + units: 1 + - name: surface_lw_fluxes_assuming_total_and_clear_sky_on_radiation_timestep + long_name: Surface lw fluxes assuming total and clear sky on radiation timestep + type: sfcflw_type + kind: '' + units: W m-2 + - name: surface_albedo_for_diffused_shortwave_on_radiation_timestep + long_name: Surface albedo for diffused shortwave on radiation timestep + type: real + kind: kind_phys + units: fraction + - name: surface_longwave_emissivity + long_name: Surface longwave emissivity + type: real + kind: kind_phys + units: fraction + - name: air_temperature_at_surface_adjacent_layer_on_radiation_timestep + long_name: Air temperature at surface adjacent layer on radiation timestep + type: real + kind: kind_phys + units: K + - name: surface_sw_fluxes_assuming_total_and_clear_sky_on_radiation_timestep + long_name: Surface sw fluxes assuming total and clear sky on radiation timestep + type: sfcfsw_type + kind: '' + units: W m-2 + - name: tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_timestep + long_name: Tendency of air temperature due to longwave heating assuming clear + sky on radiation timestep + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_integrated_dynamics_through_earths_atmosphere + long_name: Tendency of air temperature due to integrated dynamics through earths + atmosphere + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_longwave_heating_on_radiation_timestep + long_name: Tendency of air temperature due to longwave heating on radiation timestep + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_timestep + long_name: Tendency of air temperature due to shortwave heating assuming clear + sky on radiation timestep + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_timestep + long_name: Tendency of air temperature due to shortwave heating on radiation timestep + type: real + kind: kind_phys + units: K s-1 +- name: GFS_typedefs_GFS_grid_type + comment: null + standard_names: + - name: longitude_interpolation_weight_for_aerosol_forcing + long_name: Longitude interpolation weight for aerosol forcing + type: real + kind: kind_phys + units: 1 + - name: latitude_interpolation_weight_for_aerosol_forcing + long_name: Latitude interpolation weight for aerosol forcing + type: real + kind: kind_phys + units: 1 + - name: characteristic_grid_lengthscale + long_name: Characteristic grid lengthscale + type: real + kind: kind_phys + units: m + - name: longitude_interpolation_weight_for_cloud_nuclei_forcing + long_name: Longitude interpolation weight for cloud nuclei forcing + type: real + kind: kind_phys + units: 1 + - name: latitude_interpolation_weight_for_cloud_nuclei_forcing + long_name: Latitude interpolation weight for cloud nuclei forcing + type: real + kind: kind_phys + units: 1 + - name: cosine_of_latitude + long_name: Cosine of latitude + type: real + kind: kind_phys + units: 1 + - name: latitude_interpolation_weight_complement_for_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag + long_name: Latitude interpolation weight complement for absolute momentum flux + due to nonorographic gravity wave drag + type: real + kind: kind_phys + units: 1 + - name: latitude_interpolation_weight_for_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag + long_name: Latitude interpolation weight for absolute momentum flux due to nonorographic + gravity wave drag + type: real + kind: kind_phys + units: 1 + - name: lower_longitude_index_of_aerosol_forcing_for_interpolation + long_name: Lower longitude index of aerosol forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_aerosol_forcing_for_interpolation + long_name: Lower latitude index of aerosol forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_longitude_index_of_cloud_nuclei_forcing_for_interpolation + long_name: Lower longitude index of cloud nuclei forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_cloud_nuclei_forcing_for_interpolation + long_name: Lower latitude index of cloud nuclei forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag_for_interpolation + long_name: Lower latitude index of absolute momentum flux due to nonorographic + gravity wave drag for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_ozone_forcing_for_interpolation + long_name: Lower latitude index of ozone forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_stratospheric_water_vapor_forcing_for_interpolation + long_name: Lower latitude index of stratospheric water vapor forcing for interpolation + type: integer + kind: '' + units: index + - name: latitude_interpolation_weight_for_ozone_forcing + long_name: Latitude interpolation weight for ozone forcing + type: real + kind: kind_phys + units: 1 + - name: sine_of_latitude + long_name: Sine of latitude + type: real + kind: kind_phys + units: 1 + - name: upper_longitude_index_of_aerosol_forcing_for_interpolation + long_name: Upper longitude index of aerosol forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_aerosol_forcing_for_interpolation + long_name: Upper latitude index of aerosol forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_longitude_index_of_cloud_nuclei_forcing_for_interpolation + long_name: Upper longitude index of cloud nuclei forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_cloud_nuclei_forcing_for_interpolation + long_name: Upper latitude index of cloud nuclei forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag_for_interpolation + long_name: Upper latitude index of absolute momentum flux due to nonorographic + gravity wave drag for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_ozone_forcing_for_interpolation + long_name: Upper latitude index of ozone forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_stratospheric_water_vapor_forcing_for_interpolation + long_name: Upper latitude index of stratospheric water vapor forcing for interpolation + type: integer + kind: '' + units: index + - name: latitude_interpolation_weight_for_stratospheric_water_vapor_forcing + long_name: Latitude interpolation weight for stratospheric water vapor forcing + type: real + kind: kind_phys + units: 1 +- name: GFS_typedefs_GFS_stateout_type + comment: null + standard_names: + - name: air_temperature_of_new_state_at_surface_adjacent_layer + long_name: Air temperature of new state at surface adjacent layer + type: real + kind: kind_phys + units: K + - name: air_temperature_of_new_state + long_name: Air temperature of new state + type: real + kind: kind_phys + units: K + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_of_new_state + long_name: Cloud liquid water mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_cloud_liquid_water_particles_in_air_of_new_state + long_name: Mass number concentration of cloud liquid water particles in air of + new state + type: real + kind: kind_phys + units: kg-1 + - name: nonconvective_cloud_area_fraction_in_atmosphere_layer_of_new_state + long_name: Nonconvective cloud area fraction in atmosphere layer of new state + type: real + kind: kind_phys + units: fraction + - name: graupel_mixing_ratio_wrt_moist_air_of_new_state + long_name: Graupel mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_graupel_of_new_state + long_name: Mass number concentration of graupel of new state + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_of_new_state + long_name: Mass number concentration of nonhygroscopic ice nucleating aerosols + of new state + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_cloud_ice_water_crystals_in_air_of_new_state + long_name: Mass number concentration of cloud ice water crystals in air of new + state + type: real + kind: kind_phys + units: kg-1 + - name: cloud_ice_mixing_ratio_wrt_moist_air_of_new_state + long_name: Cloud ice mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_weighted_rime_factor_of_new_state + long_name: Mass weighted rime factor of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: ozone_concentration_of_new_state + long_name: Ozone concentration of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_rain_of_new_state + long_name: Mass number concentration of rain of new state + type: real + kind: kind_phys + units: kg-1 + - name: rain_mixing_ratio_wrt_moist_air_of_new_state + long_name: Rain mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_snow_of_new_state + long_name: Mass number concentration of snow of new state + type: real + kind: kind_phys + units: kg-1 + - name: snow_mixing_ratio_wrt_moist_air_of_new_state + long_name: Snow mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: tracer_concentration_of_new_state + long_name: Tracer concentration of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_hygroscopic_aerosols_of_new_state + long_name: Mass number concentration of hygroscopic aerosols of new state + type: real + kind: kind_phys + units: kg-1 + - name: specific_humidity_of_new_state_at_surface_adjacent_layer + long_name: Specific humidity of new state at surface adjacent layer + type: real + kind: kind_phys + units: kg kg-1 + - name: specific_humidity_of_new_state + long_name: Specific humidity of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: x_wind_of_new_state_at_surface_adjacent_layer + long_name: X wind of new state at surface adjacent layer + type: real + kind: kind_phys + units: m s-1 + - name: x_wind_of_new_state + long_name: X wind of new state + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_of_new_state_at_surface_adjacent_layer + long_name: Y wind of new state at surface adjacent layer + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_of_new_state + long_name: Y wind of new state + type: real + kind: kind_phys + units: m s-1 diff --git a/README.md b/README.md index d9ef1d2..138c7c9 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,9 @@ # ESMStandardNames -The Earth System Modeling Standard Names Repository contains community-accepted -Standard Names, publishing tools, and search tools. +The Earth System Modeling Standard Names Repository contains community-accepted Standard Names, publishing tools, and search tools. -A Markdown file describing the standard names -[is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md). Rules governing the designation and format of standard names can be found in [StandardNamesRules.rst](https://github.com/ESCOMP/ESMStandardNames/blob/main/StandardNamesRules.rst) -Edits to standard names should be made in the xml file, using the included python tools to generate -the human-readable standard name Markdown file: -``` -tools/write_standard_name_table.py standard_names.xml -``` +A [Markdown file describing the standard names is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md), as well as a [Yaml version of the XML file](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.yaml). -Then, commit the new Metadata-standard-names.md file and push to GitHub. +Edits to standard names must be made in the xml file `standard_names.xml` only. When pull requests are merged into the authoritative branch, a tool is run in GitHub actions that automatically updates the human-readable standard name Markdown file and the Yaml version. diff --git a/tools/write_standard_name_table.py b/tools/write_standard_name_table.py index 6e8a7ce..dae423e 100755 --- a/tools/write_standard_name_table.py +++ b/tools/write_standard_name_table.py @@ -1,15 +1,17 @@ #!/usr/bin/env python3 """ -Convert a metadata standard-name XML library file to a documentation format. +Convert a metadata standard-name XML library file to another format. """ # Python library imports +from collections import OrderedDict import xml.etree.ElementTree as ET import os.path import argparse import sys import re +import yaml ################################################ # Add lib modules to python path @@ -19,23 +21,31 @@ sys.path.append(os.path.join(_CURR_DIR, "lib")) ####################################### -#Import needed framework python modules +# Import needed framework python modules ####################################### from xml_tools import validate_xml_file, read_xml_file from xml_tools import find_schema_file, find_schema_version ####################################### -#Regular expressions +# Regular expressions ####################################### _REAL_SUBST_RE = re.compile(r"(.*\d)p(\d.*)") _DROPPED_LINK_CHARS_RE = re.compile(r"[^a-z_-]") +####################################### +# Custom representer for OrderedDict +####################################### + +def ordered_dict_representer(dumper, data): + return dumper.represent_mapping(yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, data.items()) +yaml.add_representer(OrderedDict, ordered_dict_representer) + ######################################################################## def convert_text_to_link(text_str): - +######################################################################## """ When Markdown converts a header string into an internal document link it applies certain @@ -44,18 +54,18 @@ def convert_text_to_link(text_str): in order to produce the correct link. """ - #First trim the string to remove leading/trailing white space: + # First trim the string to remove leading/trailing white space: link_str = text_str.strip() - #Next, make sure all text is lowercase: + # Next, make sure all text is lowercase: link_str = link_str.lower() - #Then, replace all spaces with dashes: + # Then, replace all spaces with dashes: link_str = link_str.replace(" ", "-") - #Finally, remove all characters that aren't - #letters, underscores, or dashes: - link_str = _DROPPED_LINK_CHARS_RE.sub("",link_str) + # Finally, remove all characters that aren't + # letters, underscores, or dashes: + link_str = _DROPPED_LINK_CHARS_RE.sub("", link_str) return link_str @@ -78,7 +88,7 @@ def standard_name_to_long_name(prop_dict, context=None): Traceback (most recent call last): KeyError: No standard name to convert to long name at foo.F90:3 """ - # We assume that standar_name has been checked for validity + # We assume that standard_name has been checked for validity # Make the first char uppercase and replace each underscore with a space if 'standard_name' in prop_dict: standard_name = prop_dict['standard_name'] @@ -119,8 +129,8 @@ def parse_command_line(args, description): parser.add_argument("--output-filename", metavar='', type=str, default='Metadata-standard-names', help="Name of output file (without extension)") - parser.add_argument("--output-format", metavar='md', type=str, default='md', - help="Format of output file") + parser.add_argument("--output-format", metavar='[md|yaml]', type=str, default=None, + required=True, help="Format of output file") pargs = parser.parse_args(args) return pargs @@ -132,7 +142,7 @@ def convert_xml_to_markdown(root, library_name, snl): snl.write('#### Table of Contents\n') for section in root: sec_name = section.get('name') - sec_name_link = convert_text_to_link(sec_name) #convert string to link text + sec_name_link = convert_text_to_link(sec_name) # convert string to link text snl.write(f"* [{sec_name}](#{sec_name_link})\n") # end for snl.write('\n') @@ -142,65 +152,110 @@ def convert_xml_to_markdown(root, library_name, snl): ############################################################################### def parse_section(snl, sec, level='##'): ############################################################################### - # Step through the sections - sec_name = sec.get('name') - sec_comment = sec.get('comment') - snl.write(f'{level} {sec_name}\n') - if sec_comment is not None: - # First, squeeze out the spacing - while sec_comment.find(' ') >= 0: - sec_comment = sec_comment.replace(' ', ' ') - while sec_comment: - sec_comment = sec_comment.lstrip() - cind = sec_comment.find('\\n') - if cind > 0: - snl.write('{}\n'.format(sec_comment[0:cind])) - sec_comment = sec_comment[cind+2:] - else: - snl.write('{}\n'.format(sec_comment)) - sec_comment = '' - # end if - # end while - # end if - for std_name in sec: - if std_name.tag == 'section': - parse_section(snl, std_name, level + '#') - continue - stdn_name = std_name.get('name') - stdn_longname = std_name.get('long_name') - if stdn_longname is None: - sdict = {'standard_name':stdn_name} - stdn_longname = standard_name_to_long_name(sdict) + # Step through the sections + sec_name = sec.get('name') + sec_comment = sec.get('comment') + snl.write(f'{level} {sec_name}\n') + if sec_comment is not None: + # First, squeeze out the spacing + while sec_comment.find(' ') >= 0: + sec_comment = sec_comment.replace(' ', ' ') + while sec_comment: + sec_comment = sec_comment.lstrip() + cind = sec_comment.find('\\n') + if cind > 0: + snl.write('{}\n'.format(sec_comment[0:cind])) + sec_comment = sec_comment[cind + 2:] + else: + snl.write('{}\n'.format(sec_comment)) + sec_comment = '' # end if - snl.write("* `{}`: {}\n".format(stdn_name, stdn_longname)) - # Should only be a type in the standard_name text - for item in std_name: - if item.tag == 'type': - txt = item.text - kind = item.get('kind') - if kind is None: - kstr = '' - else: - kstr = "(kind={})".format(kind) - # end if - units = item.get('units') - snl.write(' * `{}{}`: units = {}\n'.format(txt, kstr, - units)) + # end while + # end if + for std_name in sec: + if std_name.tag == 'section': + parse_section(snl, std_name, level + '#') + continue + stdn_name = std_name.get('name') + stdn_longname = std_name.get('long_name') + if stdn_longname is None: + sdict = {'standard_name': stdn_name} + stdn_longname = standard_name_to_long_name(sdict) + # end if + snl.write("* `{}`: {}\n".format(stdn_name, stdn_longname)) + # Should only be a type in the standard_name text + for item in std_name: + if item.tag == 'type': + txt = item.text + kind = item.get('kind') + if kind is None: + kstr = '' else: - emsg = "Unknown standard name property, '{}'" - raise ValueError(emsg.format(item.tag)) + kstr = "(kind={})".format(kind) # end if - # end for + units = item.get('units') + snl.write(' * `{}{}`: units = {}\n'.format(txt, kstr, + units)) + else: + emsg = "Unknown standard name property, '{}'" + raise ValueError(emsg.format(item.tag)) + # end if # end for # end for +# end for + +############################################################################### +def convert_xml_to_yaml(root, library_name, yaml_file): +############################################################################### + yaml_data = OrderedDict() + yaml_data['library_name'] = library_name + yaml_data['sections'] = [] + for section in root: + sec_data = OrderedDict() + sec_data['name'] = section.get('name') + # Format comment and add to dicionary + sec_comment = section.get('comment') + if sec_comment: + # Remove code block markdown + sec_comment = sec_comment.replace('```', '') + # Split multiline into array + sec_comment = sec_comment.split('\\n') + # Remove multiple whitespaces + sec_comment = [' '.join(x.split()) for x in sec_comment if ' '.join(x.split())] + # Join together into one long string + sec_comment = ' '.join(sec_comment) + sec_data['comment'] = sec_comment + # Parse standard names for this section + sec_data['standard_names'] = [] + for std_name in section: + if std_name.tag == 'standard_name': + stdn_name = std_name.get('name') + stdn_longname = std_name.get('long_name', None) + if stdn_longname is None: + sdict = {'standard_name': stdn_name} + stdn_longname = standard_name_to_long_name(sdict) + std_type = std_name.find('type') + stdn_type = std_type.text + if std_type is not None: + std_name_data = OrderedDict() + std_name_data['name'] = stdn_name + std_name_data['long_name'] = stdn_longname + std_name_data['type'] = std_type.text + std_name_data['kind'] = std_type.get('kind', None) + try: + std_name_data['units'] = int(std_type.get('units', None)) + except ValueError: + std_name_data['units'] = std_type.get('units', None) + sec_data['standard_names'].append(std_name_data) + yaml_data['sections'].append(sec_data) + + yaml.dump(yaml_data, yaml_file, default_flow_style=False) ############################################################################### def main_func(): ############################################################################### """Validate and parse the standard names database file and generate - a document containing the data. - Currently, only the Markdown format is supported for output. - """ + a document containing the data.""" # Parse command line arguments args = parse_command_line(sys.argv[1:], __doc__) stdname_file = os.path.abspath(args.standard_name_file) @@ -216,11 +271,12 @@ def main_func(): emsg = 'Cannot find schema file, {}, for version {}' raise ValueError(emsg.format(schema_name, version)) # end if + try: emsg = "Invalid standard names file, {}".format(stdname_file) file_ok = validate_xml_file(stdname_file, schema_name, version, - None, schema_path=schema_root, - error_on_noxmllint=True) + None, schema_path=schema_root, + error_on_noxmllint=True) except ValueError as valerr: cemsg = "{}".format(valerr).split('\n')[0] if cemsg[0:12] == 'Execution of': @@ -234,15 +290,18 @@ def main_func(): # end if raise ValueError(emsg) # end try - if args.output_format != 'md': + + outfile_name = args.output_filename + if args.output_format == 'md': + with open(f"{outfile_name}.md", "w") as md_file: + convert_xml_to_markdown(root, library_name, md_file) + elif args.output_format == 'yaml': + with open(f"{outfile_name}.yaml", "w") as yaml_file: + convert_xml_to_yaml(root, library_name, yaml_file) + else: emsg = "Unsupported output format, '{}'" raise ValueError(emsg.format(args.output_format)) # end if - outfile_name = args.output_filename - with open("{}.{}".format(outfile_name, args.output_format), "w") as snl: - convert_xml_to_markdown(root, library_name, snl) - # end with - ############################################################################### if __name__ == "__main__": From 422cfb56f24d09b32c1507cfce2e403dfa88dd43 Mon Sep 17 00:00:00 2001 From: Michael Kavulich Date: Wed, 9 Jul 2025 06:11:34 -0600 Subject: [PATCH 09/15] Initial PR template (#119) Add a Pull Request template providing instructions on what information to include when opening a Pull Request. Some rules/guidelines initially in the governance document have been moved here as well. --- .github/PULL_REQUEST_TEMPLATE | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE new file mode 100644 index 0000000..72e61c9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE @@ -0,0 +1,27 @@ + + + + +## Description + + +## Issues + + + From 7704b0243290a7572e3b46eb58471b887f95315b Mon Sep 17 00:00:00 2001 From: Michael Kavulich Date: Wed, 24 Sep 2025 14:10:34 -0600 Subject: [PATCH 10/15] New procedure for updating .md and .yaml files (#122) Because it is a bit of a hassle for PR authors to have to make changes to multiple files, #117 attempted to automate the process using the `tools/write_standard_name_table.py` tool. However, this new GitHub action could not run automatically due to branch protection rules on the `main` branch. Rather than remove those restrictions, this PR reverts to the old method of manual updates, but provides more extensive documentation and user prompts to do this updating properly. --- .github/PULL_REQUEST_TEMPLATE | 23 +++++++++++ .github/workflows/commit_to_main.yml | 56 --------------------------- .github/workflows/pull_request_ci.yml | 29 +++++++++++--- Metadata-standard-names.md | 2 +- Metadata-standard-names.yaml | 2 +- README.md | 4 +- tools/environment.yml | 5 +++ 7 files changed, 55 insertions(+), 66 deletions(-) delete mode 100644 .github/workflows/commit_to_main.yml create mode 100644 tools/environment.yml diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE index 72e61c9..3f80572 100644 --- a/.github/PULL_REQUEST_TEMPLATE +++ b/.github/PULL_REQUEST_TEMPLATE @@ -1,5 +1,22 @@ + + diff --git a/.github/workflows/commit_to_main.yml b/.github/workflows/commit_to_main.yml deleted file mode 100644 index 42ab65f..0000000 --- a/.github/workflows/commit_to_main.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Render xml standard name dictionary to markdown and yaml and commit to repository - -on: - push: - branches: - - main - -jobs: - update-md-and-yaml: - name: Render xml to markdown and yaml and commit - runs-on: ubuntu-latest - - permissions: - contents: write - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: "3.x" - - - name: Configure git - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get -y install libxml2-utils - python -m pip install --upgrade pip - python -m pip install PyYaml - - - name: Render xml to markdown - run: | - tools/write_standard_name_table.py --output-format md standard_names.xml - echo "The following changes will be committed (git diff Metadata-standard-names.md):" - git diff Metadata-standard-names.md - git add Metadata-standard-names.md - - - name: Rendering xml to yaml - run: | - tools/write_standard_name_table.py --output-format yaml standard_names.xml - echo "The following changes will be committed (git diff Metadata-standard-names.yaml):" - git diff Metadata-standard-names.yaml - git add Metadata-standard-names.yaml - - - name: Commit and push changes - run: | - git commit -m "Update Metadata-standard-names.{md,yaml} from standard_names.xml" || echo "No changes to commit" - git push - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pull_request_ci.yml b/.github/workflows/pull_request_ci.yml index df746e0..c6f3283 100644 --- a/.github/workflows/pull_request_ci.yml +++ b/.github/workflows/pull_request_ci.yml @@ -72,14 +72,31 @@ jobs: - name: Test rendering xml file to markdown run: | + # Checks if the saved markdown matches freshly rendered markdown. + # If this fails, prompt user to update tools/write_standard_name_table.py --output-format md standard_names.xml - echo "The following changes will be committed when this pull request is merged (git diff Metadata-standard-names.md; " - echo "assuming that 'Metadata-standard-names.md' wasn't updated and matches the version in the authoritative branch):" - git diff Metadata-standard-names.md + if ! git diff --exit-code --quiet; then + echo "❌ Detected that Metadata-standard-names.md is not consistent with standard_names.xml" + echo "✅ To fix: Run the following command locally and commit the result:" + echo " tools/write_standard_name_table.py --output-format md standard_names.xml" + echo "📘 This script requires the pyyaml Python package; to install with pip use command:" + echo " python -m pip install PyYaml" + echo "📘 For conda users, environment file tools/environment.yml is provided." + echo + exit 1 + fi - name: Test rendering xml file to yaml run: | tools/write_standard_name_table.py --output-format yaml standard_names.xml - echo "The following changes will be committed when this pull request is merged (git diff Metadata-standard-names.yaml; " - echo "assuming that 'Metadata-standard-names.yaml' wasn't updated and matches the version in the authoritative branch):" - git diff Metadata-standard-names.yaml + if ! git diff --exit-code --quiet; then + echo "❌ Detected that Metadata-standard-names.yaml is not consistent with standard_names.xml" + echo "✅ To fix: Run the following command locally and commit the result:" + echo " tools/write_standard_name_table.py --output-format yaml standard_names.xml" + echo "📘 This script requires the pyyaml Python package; to install with pip use command:" + echo " python -m pip install PyYaml" + echo "📘 For conda users, environment file tools/environment.yml is provided." + echo + exit 1 + fi + diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index 35c7921..a8b9f45 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -1,4 +1,4 @@ -# Earth System Modeling Standard Name Library - add some chunk here to test auto update +# Earth System Modeling Standard Name Library #### Table of Contents * [dimensions](#dimensions) * [constants](#constants) diff --git a/Metadata-standard-names.yaml b/Metadata-standard-names.yaml index 88fd9db..d7f8f85 100644 --- a/Metadata-standard-names.yaml +++ b/Metadata-standard-names.yaml @@ -1,4 +1,4 @@ -library_name: Earth System Modeling Standard Name Library - add some chunk here to test auto update +library_name: Earth System Modeling Standard Name Library sections: - name: dimensions comment: 'Dimension standard names may come in sets of six related standard names diff --git a/README.md b/README.md index 138c7c9..dfbd491 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,6 @@ The Earth System Modeling Standard Names Repository contains community-accepted Rules governing the designation and format of standard names can be found in [StandardNamesRules.rst](https://github.com/ESCOMP/ESMStandardNames/blob/main/StandardNamesRules.rst) -A [Markdown file describing the standard names is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md), as well as a [Yaml version of the XML file](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.yaml). +A [Markdown file describing the standard names is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md), as well as a [YAML version of the XML file](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.yaml). -Edits to standard names must be made in the xml file `standard_names.xml` only. When pull requests are merged into the authoritative branch, a tool is run in GitHub actions that automatically updates the human-readable standard name Markdown file and the Yaml version. +Edits to standard names must be made in the xml file `standard_names.xml` only. When a pull request is opened into the main branch, the YAML and Markdown files should be updated using the `tools/write_standard_name_table.py` script. This can be done manually by the pull request author, or by activating the GitHub action available on an open pull request. diff --git a/tools/environment.yml b/tools/environment.yml new file mode 100644 index 0000000..2090fcd --- /dev/null +++ b/tools/environment.yml @@ -0,0 +1,5 @@ +name: test +channels: + - conda-forge +dependencies: + - pyyaml From 3bce0fa5191fa7cf6d4a111a8979136980010740 Mon Sep 17 00:00:00 2001 From: mo-hlawrence <67629973+mo-hlawrence@users.noreply.github.com> Date: Thu, 22 May 2025 20:08:25 +0100 Subject: [PATCH 11/15] Cherry-pick from main branch: add glomap dust modes (#111) This PR adds in new aerosol variables needed for the Met Office LFRIC forecast model. These are the number and mass fractions for the two dust modes in the UKCA/GLOMAP aerosol model. --- Metadata-standard-names.md | 10 ++++++++++ standard_names.xml | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index b560235..2d0e927 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -9,6 +9,7 @@ * [diagnostics](#diagnostics) * [atmospheric_composition](#atmospheric_composition) * [atmospheric_composition: GOCART aerosols](#atmospheric_composition-gocart-aerosols) +* [atmospheric_composition: GLOMAP/UKCA aerosols](#atmospheric_composition-glomapukca-aerosols) * [emissions](#emissions) * [Application-specific variables](#application-specific-variables) * [system variables](#system-variables) @@ -686,6 +687,15 @@ Note that appending '_on_previous_timestep' to standard_names in this section yi * `real`: units = m-1 * `volume_extinction_in_air_due_to_aerosol_particles_lambda3`: Aerosol extinction at wavelength3 * `real`: units = m-1 +## atmospheric_composition: GLOMAP/UKCA aerosols +* `mass_fraction_of_dust_coarse_aerosol_particles_in_air`: Mass fraction of dust coarse aerosol particles in air + * `real(kind=kind_phys)`: units = kg kg-1 +* `mass_fraction_of_dust_accumulation_aerosol_particles_in_air`: Mass fraction of dust accumulation aerosol particles in air + * `real(kind=kind_phys)`: units = kg kg-1 +* `number_fraction_of_coarse_aerosol_particles_in_air`: Number fraction of coarse aerosol particles in air + * `real(kind=kind_phys)`: units = 1 +* `number_fraction_of_accumulation_aerosol_particles_in_air`: Number fraction of accumulation aerosol particles in air + * `real(kind=kind_phys)`: units = 1 ## emissions Emissions variables, contributed for the Community Emissions Data System (CEDS) * `emissions_of_co_due_to_anthropogenic_sources`: Carbon monoxide emissions from anthropogenic sources, total diff --git a/standard_names.xml b/standard_names.xml index bb9e014..3661d2d 100644 --- a/standard_names.xml +++ b/standard_names.xml @@ -1269,6 +1269,24 @@ real
+
+ + real + + + real + + + real + + + real + +
Date: Tue, 1 Jul 2025 09:34:02 -0600 Subject: [PATCH 12/15] Cherry-pick from main branch: Add xml to yaml converter, update Markdown and Yaml files automatically when pull requests are merged (#117) This pull request adds the capability to render the XML standard names dictionary to Yaml, in addition to the existing rendering to Markdown. I decided to render comments into long strings that the Python Yaml library then wraps correctly. I validated the resulting Yaml file using https://yamlchecker.com and it is valid. This pull request further updates the existing GitHub action for consistency and standard Yaml formatting (2-space indentation), and replaces the check if the Markdown is updated with tests to render the xml to both md and yaml. Lastly, a second GitHub workflow is added that automatically renders the xml to md and yaml and commits the files to the repository. This action is only run when the authoritative branch (main) is updated (push = merge a pull request). I tested this action in my fork of ESM standard names (see https://github.com/climbfuji/CCPPStandardNames/actions/runs/15637497788/job/44056347886). What I did not test is how this works with branch protection (my main branch was not protected). We will find out if additional settings/changes are needed once this PR is approved and merged. Closes #113 --- .github/workflows/commit_to_main.yml | 56 + .github/workflows/pull_request_ci.yml | 59 +- Metadata-standard-names.md | 2 +- Metadata-standard-names.yaml | 5689 +++++++++++++++++++++++++ README.md | 13 +- tools/write_standard_name_table.py | 200 +- 6 files changed, 5918 insertions(+), 101 deletions(-) create mode 100644 .github/workflows/commit_to_main.yml create mode 100644 Metadata-standard-names.yaml diff --git a/.github/workflows/commit_to_main.yml b/.github/workflows/commit_to_main.yml new file mode 100644 index 0000000..42ab65f --- /dev/null +++ b/.github/workflows/commit_to_main.yml @@ -0,0 +1,56 @@ +name: Render xml standard name dictionary to markdown and yaml and commit to repository + +on: + push: + branches: + - main + +jobs: + update-md-and-yaml: + name: Render xml to markdown and yaml and commit + runs-on: ubuntu-latest + + permissions: + contents: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: "3.x" + + - name: Configure git + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get -y install libxml2-utils + python -m pip install --upgrade pip + python -m pip install PyYaml + + - name: Render xml to markdown + run: | + tools/write_standard_name_table.py --output-format md standard_names.xml + echo "The following changes will be committed (git diff Metadata-standard-names.md):" + git diff Metadata-standard-names.md + git add Metadata-standard-names.md + + - name: Rendering xml to yaml + run: | + tools/write_standard_name_table.py --output-format yaml standard_names.xml + echo "The following changes will be committed (git diff Metadata-standard-names.yaml):" + git diff Metadata-standard-names.yaml + git add Metadata-standard-names.yaml + + - name: Commit and push changes + run: | + git commit -m "Update Metadata-standard-names.{md,yaml} from standard_names.xml" || echo "No changes to commit" + git push + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pull_request_ci.yml b/.github/workflows/pull_request_ci.yml index 2a620e0..8e61d6d 100644 --- a/.github/workflows/pull_request_ci.yml +++ b/.github/workflows/pull_request_ci.yml @@ -1,23 +1,29 @@ name: Pull request checks on: - pull_request: workflow_dispatch: + pull_request: + branches: + - main + - release/* jobs: check-unique-standard-names: + name: Check for duplicates in standard names runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - name: Setup Python + uses: actions/setup-python@v4 with: python-version: "3.x" - - name: Install xmllint + - name: Install dependencies run: | - sudo apt-get update - sudo apt-get -y install libxml2-utils + sudo apt-get update + sudo apt-get -y install libxml2-utils - name: Check for duplicate standard names, descriptions run: | @@ -32,42 +38,49 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - name: Setup Python + uses: actions/setup-python@v4 with: python-version: "3.x" - # Install dependencies - name: Install dependencies run: | sudo apt-get update sudo apt-get -y install libxml2-utils - - name: Checks standard names against character rules run: | python3 tools/check_name_rules.py -s standard_names.xml - check-rerendered-markdown: + test-rendering: + name: Test rendering xml file to markdown and yaml runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - name: Checkout repository + uses: actions/checkout@v4 - - uses: actions/setup-python@v4 + - name: Setup Python + uses: actions/setup-python@v4 with: python-version: "3.x" - - name: Install xmllint + - name: Install dependencies run: | - sudo apt-get update - sudo apt-get -y install libxml2-utils + sudo apt-get update + sudo apt-get -y install libxml2-utils + python -m pip install --upgrade pip + python -m pip install PyYaml - - name: Check markdown has been rerendered + - name: Test rendering xml file to markdown run: | - # Checks if the saved markdown matches freshly rendered markdown. - # If this fails you have likely forgotten to rerun the write script - # after adding a new name, or updating its description. - checksum=$(sha256sum Metadata-standard-names.md) - tools/write_standard_name_table.py standard_names.xml - test "$checksum" = "$(sha256sum Metadata-standard-names.md)" - + tools/write_standard_name_table.py --output-format md standard_names.xml + echo "The following changes will be committed when this pull request is merged (git diff Metadata-standard-names.md; " + echo "assuming that 'Metadata-standard-names.md' wasn't updated and matches the version in the authoritative branch):" + git diff Metadata-standard-names.md + - name: Test rendering xml file to yaml + run: | + tools/write_standard_name_table.py --output-format yaml standard_names.xml + echo "The following changes will be committed when this pull request is merged (git diff Metadata-standard-names.yaml; " + echo "assuming that 'Metadata-standard-names.yaml' wasn't updated and matches the version in the authoritative branch):" + git diff Metadata-standard-names.yaml diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index 2d0e927..1ebf8ff 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -1,4 +1,4 @@ -# Earth System Modeling Standard Name Library +# Earth System Modeling Standard Name Library - add some chunk here to test auto update #### Table of Contents * [base_names](#base_names) * [dimensions](#dimensions) diff --git a/Metadata-standard-names.yaml b/Metadata-standard-names.yaml new file mode 100644 index 0000000..88fd9db --- /dev/null +++ b/Metadata-standard-names.yaml @@ -0,0 +1,5689 @@ +library_name: Earth System Modeling Standard Name Library - add some chunk here to test auto update +sections: +- name: dimensions + comment: 'Dimension standard names may come in sets of six related standard names + for each dimension: [dim_name]_dimension -- The full dimension size [dim_name]_loop_extent + -- Size of dim for current call [dim_name]_begin - Start index for dimension [dim_name]_end + - End index for dimension [dim_name]_index - Single index for dimension [dim_name]_selection + - Array of selected indices for dimension Note that the cap generator may substitute + among standard names in this category in order to properly call suite parts and + individual schemes. In the substitutions below, the name on the left is the standard_name + in the dimensions field of the caller while the name(s) on the right is (are) + the standard name(s) of the callee (in the form used in the subroutine call). + [dim_name]_dimension ==> 1:[dim_name]_loop_extent [dim_name]_loop_extent ==> 1:[dim_name]_loop_extent + [dim_name]_begin:[dim_name]_end ==> 1:[dim_name]_loop_extent [dim_name]_begin:[dim_name]_end + ==> 1:[dim_name]_dimension Also note that horizontal_dimension should be used + in xxx_[timestep_]init and xxx_[timestep_]final routines but not in xxx_run routines. + Currently, the only dimension which supports all six dimension types is horizontal_dimension. + This and other supported dimension standard names are listed below.' + standard_names: + - name: horizontal_dimension + long_name: Size horizontal dimension + type: integer + kind: null + units: count + - name: vertical_layer_dimension + long_name: number of vertical layers + type: integer + kind: null + units: count + - name: vertical_layer_dimension_extended_up_by_1 + long_name: number of vertical layers extended up by 1 + type: integer + kind: null + units: count + - name: vertical_interface_dimension + long_name: number of vertical interfaces + type: integer + kind: null + units: count + - name: vertical_layer_index + long_name: index of a particular vertical layer + type: integer + kind: null + units: index + - name: vertical_interface_index + long_name: index of a particular vertical interface + type: integer + kind: null + units: index + - name: vertical_index_at_surface_adjacent_layer + long_name: Vertical index at surface adjacent layer + type: integer + kind: null + units: index + - name: vertical_index_at_top_adjacent_layer + long_name: Vertical index at top adjacent layer + type: integer + kind: null + units: index + - name: vertical_index_at_surface_interface + long_name: Vertical index at surface interface + type: integer + kind: null + units: index + - name: vertical_index_at_top_interface + long_name: Vertical index at top interface + type: integer + kind: null + units: index + - name: number_of_openmp_threads + long_name: Total number of thread blocks OpenMP (shared-memory) parallel threads. + type: integer + kind: null + units: count +- name: constants + comment: null + standard_names: + - name: avogadro_number + long_name: Avogadro number + type: real + kind: kind_phys + units: molecules mol-1 + - name: base_state_surface_pressure_for_hybrid_vertical_coordinate + long_name: Base state surface pressure for hybrid vertical coordinate + type: real + kind: kind_phys + units: Pa + - name: boltzmann_constant + long_name: Boltzmann constant + type: real + kind: kind_phys + units: J K-1 + - name: gas_constant_of_dry_air + long_name: Gas constant of dry air + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: seconds_in_calendar_day + long_name: Seconds in calendar day + type: integer + kind: kind_phys + units: s + - name: specific_heat_of_dry_air_at_constant_pressure + long_name: Specific heat of dry air at constant pressure + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: specific_heat_of_liquid_water_at_20c + long_name: specific heat of liquid water at 20c + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: latent_heat_of_vaporization_of_water_at_0c + long_name: latent heat of vaporization of water at 0c + type: real + kind: kind_phys + units: J kg-1 + - name: dry_air_density_at_stp + long_name: density of dry air at STP + type: real + kind: kind_phys + units: kg m-3 + - name: fresh_liquid_water_density_at_0c + long_name: density of liquid water at 0c + type: real + kind: kind_phys + units: kg m-3 + - name: ratio_of_water_vapor_to_dry_air_gas_constants_minus_one + long_name: (Rwv / Rdair) - 1.0 + type: real + kind: kind_phys + units: 1 + - name: standard_gravitational_acceleration + long_name: scalar constant representing gravitational acceleration + type: real + kind: kind_phys + units: m s-2 +- name: coordinates + comment: null + standard_names: + - name: latitude + long_name: Latitude + type: real + kind: kind_phys + units: degree_north + - name: longitude + long_name: Longitude + type: real + kind: kind_phys + units: degree_east + - name: cell_area + long_name: Cell area + type: real + kind: kind_phys + units: m2 + - name: cell_weight + long_name: Cell weight + type: real + kind: kind_phys + units: 1 +- name: state_variables + comment: Note that appending '_on_previous_timestep' to standard_names in this section + yields another valid standard_name + standard_names: + - name: physics_state_due_to_dynamics + long_name: Physics state due to dynamics + type: physics_state + kind: kind_phys + units: none + - name: timestep_for_physics + long_name: Timestep for physics + type: integer + kind: kind_phys + units: s + - name: total_tendency_of_physics + long_name: Total tendency of physics + type: physics_tend + kind: kind_phys + units: none + - name: air_pressure_at_top_of_atmosphere_model + long_name: Air pressure at top of atmosphere model + type: real + kind: kind_phys + units: Pa + - name: air_pressure_at_sea_level + long_name: Air pressure at sea level + type: real + kind: kind_phys + units: Pa + - name: air_pressure_at_surface + long_name: Air pressure at local surface + type: real + kind: kind_phys + units: Pa + - name: surface_pressure_of_dry_air + long_name: Surface pressure of dry air + type: real + kind: kind_phys + units: Pa + - name: surface_geopotential + long_name: Surface geopotential + type: real + kind: kind_phys + units: m2 s-2 + - name: air_temperature + long_name: Air temperature + type: real + kind: kind_phys + units: K + - name: air_temperature_on_previous_timestep + long_name: Air temperature on previous timestep + type: real + kind: kind_phys + units: K + - name: x_wind + long_name: Horizontal wind in a direction perpendicular to y_wind + type: real + kind: kind_phys + units: m s-1 + - name: y_wind + long_name: Horizontal wind in a direction perpendicular to x_wind + type: real + kind: kind_phys + units: m s-1 + - name: eastward_wind + long_name: Wind vector component, positive when directed eastward + type: real + kind: kind_phys + units: m s-1 + - name: northward_wind + long_name: Wind vector component, positive when directed northward + type: real + kind: kind_phys + units: m s-1 + - name: eastward_wind_at_10m + long_name: Wind vector component at 10m, positive when directed eastward + type: real + kind: kind_phys + units: m s-1 + - name: northward_wind_at_10m + long_name: Wind vector component at 10m, positive when directed northward + type: real + kind: kind_phys + units: m s-1 + - name: eastward_wind_at_surface + long_name: Wind vector component closest to surface, positive when directed eastward + type: real + kind: kind_phys + units: m s-1 + - name: northward_wind_at_surface + long_name: Wind vector component closest to surface, positive when directed northward + type: real + kind: kind_phys + units: m s-1 + - name: wind_speed_at_surface + long_name: Scalar wind speed closest to surface + type: real + kind: kind_phys + units: m s-1 + - name: wind_from_direction_at_surface + long_name: Direction, from north, of wind speed closest to surface + type: real + kind: kind_phys + units: degrees + - name: dry_static_energy + long_name: Dry static energy Content of Atmosphere Layer + type: real + kind: kind_phys + units: J kg-1 + - name: do_lagrangian_vertical_coordinate + long_name: flag indicating if vertical coordinate is lagrangian + type: logical + kind: '' + units: flag + - name: lagrangian_tendency_of_air_pressure + long_name: Vertical pressure velocity + type: real + kind: kind_phys + units: Pa s-1 + - name: dry_air_density + long_name: Density of dry air + type: real + kind: kind_phys + units: kg m-3 + - name: air_pressure + long_name: Midpoint air pressure + type: real + kind: kind_phys + units: Pa + - name: air_pressure_of_dry_air + long_name: Dry midpoint pressure + type: real + kind: kind_phys + units: Pa + - name: air_pressure_thickness + long_name: Air pressure thickness + type: real + kind: kind_phys + units: Pa + - name: air_pressure_thickness_of_dry_air + long_name: Air pressure thickness of dry air + type: real + kind: kind_phys + units: Pa + - name: reciprocal_of_air_pressure_thickness + long_name: Reciprocal of air pressure thickness + type: real + kind: kind_phys + units: Pa-1 + - name: reciprocal_of_air_pressure_thickness_of_dry_air + long_name: Reciprocal of air pressure thickness of dry air + type: real + kind: kind_phys + units: Pa-1 + - name: ln_air_pressure + long_name: Ln air pressure + type: real + kind: kind_phys + units: 1 + - name: ln_air_pressure_of_dry_air + long_name: Ln air pressure of dry air + type: real + kind: kind_phys + units: 1 + - name: reciprocal_of_dimensionless_exner_function_wrt_surface_air_pressure + long_name: inverse exner function w.r.t. surface pressure, (ps/p)^(R/cp) + type: real + kind: kind_phys + units: 1 + - name: geopotential_height + long_name: geopotential height w.r.t. sea level + type: real + kind: kind_phys + units: m + - name: geopotential_height_at_surface + long_name: Geopotential height at local surface w.r.t. sea level + type: real + kind: kind_phys + units: m + - name: geopotential_height_wrt_surface + long_name: geopotential height w.r.t. local surface + type: real + kind: kind_phys + units: m + - name: geopotential_height_wrt_surface_at_interfaces + long_name: geopotential height w.r.t. local surface at interfaces + type: real + kind: kind_phys + units: m + - name: potentially_advected_quantities + long_name: Potentially advected quantities + type: real + kind: kind_phys + units: various + - name: air_pressure_at_interfaces + long_name: Air pressure at interfaces + type: real + kind: kind_phys + units: Pa + - name: air_pressure_of_dry_air_at_interfaces + long_name: Air pressure of dry air at interfaces + type: real + kind: kind_phys + units: Pa + - name: ln_air_pressure_at_interfaces + long_name: Ln air pressure at interfaces + type: real + kind: kind_phys + units: 1 + - name: ln_air_pressure_of_dry_air_at_interfaces + long_name: Ln air pressure of dry air at interfaces + type: real + kind: kind_phys + units: 1 + - name: air_pressure_extended_up_by_1 + long_name: Air pressure extended up by 1 + type: real + kind: kind_phys + units: Pa + - name: largest_model_top_pressure_that_allows_molecular_diffusion + long_name: Largest model top pressure that allows molecular diffusion + type: real + kind: kind_phys + units: Pa + - name: do_molecular_diffusion + long_name: Do molecular diffusion + type: logical + kind: kind_phys + units: flag + - name: is_initialized_physics_grid + long_name: Flag to indicate if physics grid is initialized + type: logical + kind: kind_phys + units: flag + - name: control_for_negative_constituent_warning + long_name: Logging setting for negative constituent mass fixer + type: character + kind: len=* + units: 1 + - name: geopotential_height_at_interfaces + long_name: Geopotential height at interfaces + type: real + kind: kind_phys + units: m + - name: vertically_integrated_total_energy_of_initial_state + long_name: Vertically integrated total energy of initial state + type: real + kind: kind_phys + units: J m-2 + - name: vertically_integrated_total_energy_of_current_state + long_name: Vertically integrated total energy of current state + type: real + kind: kind_phys + units: J m-2 + - name: vertically_integrated_total_water_of_initial_state + long_name: Vertically integrated total water of initial state + type: real + kind: kind_phys + units: kg m-2 + - name: vertically_integrated_total_water_of_current_state + long_name: Vertically integrated total water of current state + type: real + kind: kind_phys + units: kg m-2 + - name: tendency_of_dry_air_enthalpy_at_constant_pressure + long_name: Tendency of dry air enthalpy at constant pressure + type: real + kind: kind_phys + units: J kg-1 s-1 + - name: tendency_of_air_temperature + long_name: Change in temperature from a parameterization + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_model_physics + long_name: Total change in air temperature from a physics suite + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_potential_temperature + long_name: Change in potential temperature from a parameterization + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_potential_temperature_due_to_model_physics + long_name: Tendency of air potential temperature due to model physics + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_x_wind + long_name: Change in x wind from a parameterization + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_x_wind_due_to_model_physics + long_name: Tendency of x wind due to model physics + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_y_wind + long_name: Change in y wind from a parameterization + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_y_wind_due_to_model_physics + long_name: Tendency of y wind due to model physics + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_eastward_wind + long_name: Change in eastward wind from a parameterization + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_eastward_wind_due_to_model_physics + long_name: Total change in eastward wind from a physics suite + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_northward_wind + long_name: Change in northward wind from a parameterization + type: real + kind: kind_phys + units: m s-2 + - name: tendency_of_northward_wind_due_to_model_physics + long_name: Total change in northward wind from a physics suite + type: real + kind: kind_phys + units: m s-2 + - name: air_horizontal_streamfunction + long_name: Scalar function describing the stream lines of the wind + type: real + kind: kind_phys + units: m2 s-1 + - name: air_horizontal_velocity_potential + long_name: Scalar potential of the wind + type: real + kind: kind_phys + units: m2 s-1 + - name: air_upward_absolute_vorticity + long_name: The upward (kth) component of the curl of the vector wind field + type: real + kind: kind_phys + units: s-1 + - name: air_horizontal_divergence + long_name: The (horizontal) divergence of the 2-D vector wind field + type: real + kind: kind_phys + units: s-1 + - name: surface_upward_heat_flux_in_air + long_name: Surface upward heat flux in air + type: real + kind: kind_phys + units: W m-2 + - name: cumulative_boundary_flux_of_total_energy + long_name: Cumulative boundary flux of total energy + type: real + kind: kind_phys + units: W m-2 + - name: cumulative_boundary_flux_of_total_water + long_name: Cumulative boundary flux of total water + type: real + kind: kind_phys + units: W m-2 + - name: us_standard_air_pressure_at_sea_level + long_name: US Standard Atmospheric pressure at sea level + type: real + kind: kind_phys + units: Pa + - name: surface_reference_pressure + long_name: Reference pressure used in definition of potential temperature, Exner + function, etc. + type: real + kind: kind_phys + units: Pa + - name: reference_pressure_in_atmosphere_layer + long_name: reference pressure in atmosphere layer + type: real + kind: kind_phys + units: Pa + - name: reference_air_pressure_normalized_by_surface_air_pressure + long_name: reference pressure normalized by surface pressure + type: real + kind: kind_phys + units: 1 + - name: reference_pressure_in_atmosphere_layer_normalized_by_surface_reference_pressure + long_name: Reference pressure in atmosphere layer normalized by surface reference + pressure + type: real + kind: kind_phys + units: 1 + - name: dimensionless_exner_function + long_name: exner function + type: real + kind: kind_phys + units: 1 + - name: air_potential_temperature + long_name: air potential temperature + type: real + kind: kind_phys + units: K + - name: air_potential_temperature_on_previous_timestep + long_name: air potential temperature on previous timestep + type: real + kind: kind_phys + units: K + - name: virtual_temperature + long_name: virtual temperature + type: real + kind: kind_phys + units: K + - name: virtual_potential_temperature + long_name: virtual potential temperature + type: real + kind: kind_phys + units: K + - name: composition_dependent_gas_constant_of_dry_air + long_name: Composition dependent gas constant of dry air + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: composition_dependent_specific_heat_of_dry_air_at_constant_pressure + long_name: composition dependent specific heat of dry air at constant pressure + type: real + kind: kind_phys + units: J kg-1 K-1 + - name: composition_dependent_ratio_of_dry_air_gas_constant_to_specific_heat_of_dry_air_at_constant_pressure + long_name: composition dependent ratio of dry air gas constant to specific heat + of dry air at constant pressure + type: real + kind: kind_phys + units: 1 + - name: ratio_of_water_vapor_gas_constant_to_composition_dependent_dry_air_gas_constant_minus_one + long_name: (Rwv / Rdair) - 1.0 + type: real + kind: kind_phys + units: 1 + - name: mass_content_of_cloud_ice_in_atmosphere_layer + long_name: Mass content of cloud ice in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_cloud_liquid_water_in_atmosphere_layer + long_name: Mass content of cloud liquid water in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_rain_in_atmosphere_layer + long_name: Mass content of rain in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_snow_in_atmosphere_layer + long_name: Mass content of snow in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_graupel_in_atmosphere_layer + long_name: Mass content of graupel in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: mass_content_of_hail_in_atmosphere_layer + long_name: Mass content of hail in atmosphere layer + type: real + kind: kind_phys + units: kg m-2 + - name: nonconvective_cloud_area_fraction_in_atmosphere_layer + long_name: cloud area fraction in atmosphere layer excluding clouds produced by + the convective schemes + type: real + kind: kind_phys + units: fraction + - name: relative_humidity + long_name: Relative humidity + type: real + kind: kind_phys + units: fraction + - name: relative_humidity_at_2m + long_name: Relative humidity at 2m + type: real + kind: kind_phys + units: fraction + - name: gravitational_acceleration + long_name: Gravitational acceleration + type: real + kind: kind_phys + units: m s-2 +- name: land_surface + comment: null + standard_names: + - name: land_ice_area_fraction_of_cell_area + long_name: fraction of horizontal area of grid cell that is land ice + type: real + kind: kind_phys + units: frac + - name: mass_content_of_water_in_top_soil_layer + long_name: content per unit area of water in top layer of soil + type: real + kind: kind_phys + units: kg m-2 + - name: surface_snow_density + long_name: Surface snow density + type: real + kind: kind_phys + units: kg m-3 + - name: urban_area_fraction_of_cell_area + long_name: fraction of horizontal area of grid cell that is urban + type: real + kind: kind_phys + units: frac + - name: volume_fraction_of_liquid_water_in_soil_at_critical_point + long_name: volume fraction of water in liquid phase in soil at critical point + type: real + kind: kind_phys + units: m3 m-3 + - name: volume_fraction_of_liquid_water_in_soil_at_saturation + long_name: volume fraction of water in liquid phase in soil at saturation + type: real + kind: kind_phys + units: m3 m-3 + - name: volume_fraction_of_liquid_water_in_soil_at_wilting_point + long_name: volume fraction of water in liquid phase in soil at wilting point + type: real + kind: kind_phys + units: m3 m-3 +- name: diagnostics + comment: null + standard_names: + - name: total_precipitation_rate_at_surface + long_name: Total precipitation rate at surface + type: real + kind: kind_phys + units: m s-1 +- name: atmospheric_composition + comment: null + standard_names: + - name: number_of_chemical_species + long_name: Number of chemical species + type: integer + kind: kind_phys + units: count + - name: number_of_tracers + long_name: Number of tracers + type: integer + kind: kind_phys + units: count + - name: water_vapor_mixing_ratio_wrt_moist_air + long_name: Ratio of the mass of water vapor to the mass of moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: Ratio of the mass of water vapor to the mass of moist air and hydrometeors + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: Ratio of the mass of water vapor to the mass of moist air and hydrometeors + at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: mole_fraction_of_water_vapor + long_name: Mole fraction of water vapor + type: real + kind: kind_phys + units: mol mol-1 + - name: water_vapor_mixing_ratio_wrt_dry_air + long_name: Ratio of the mass of water vapor to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: Ratio of the mass of water vapor to the mass of dry air at all interfaces + excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: Ratio of the mass of liquid water to the mass of moist air and condensed + water + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: Ratio of the mass of liquid water to the mass of moist air and condensed + water at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air + long_name: Ratio of the mass of liquid water to the mass of moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_dry_air + long_name: Ratio of the mass of liquid water to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: Ratio of the mass of liquid water to the mass of dry air at all interfaces + excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: Ratio of the mass of ice to the mass of moist air and condensed water + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_ice_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: Ratio of the mass of ice to the mass of moist air and condensed water + at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_ice_mixing_ratio_wrt_dry_air + long_name: Ratio of the mass of ice to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_ice_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: Ratio of the mass of ice to the mass of dry air at all interfaces excluding + surface + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: ratio of the mass of rain to the mass of moist air and condensed water + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: ratio of the mass of rain to the mass of moist air and condensed water + at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_moist_air + long_name: ratio of the mass of rain to the mass of moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_dry_air + long_name: ratio of the mass of rain to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: rain_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: ratio of the mass of rain to the mass of dry air at all interfaces + excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: total_water_mixing_ratio_wrt_moist_air_and_condensed_water + long_name: ratio of the mass of water to the mass of moist air and condensed water + type: real + kind: kind_phys + units: kg kg-1 + - name: total_water_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces + long_name: ratio of the mass of water to the mass of moist air and condensed water + at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: total_water_mixing_ratio_wrt_dry_air + long_name: ratio of the mass of water to the mass of dry air + type: real + kind: kind_phys + units: kg kg-1 + - name: total_water_mixing_ratio_wrt_dry_air_at_top_interfaces + long_name: ratio of the mass of water to the mass of dry air at all interfaces + excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_assuming_saturation + long_name: saturated water vapor mixing ratio with respect to moist air and condensed + water + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_at_top_interfaces_assuming_saturation + long_name: saturated water vapor mixing ratio with respect to moist air and condensed + water at all interfaces excluding surface + type: real + kind: kind_phys + units: kg kg-1 + - name: derivative_of_ln_water_vapor_partial_pressure_assuming_saturation_wrt_air_temperature + long_name: log derivative of the water vapor partial pressure at saturation with + respect to air temperature + type: real + kind: kind_phys + units: K-1 + - name: derivative_of_ln_water_vapor_partial_pressure_assuming_saturation_wrt_air_temperature_at_top_interfaces + long_name: log derivative of the water vapor partial pressure at saturation with + respect to air temperature at all interfaces excluding surface + type: real + kind: kind_phys + units: K-1 + - name: mole_fraction_of_ozone_in_air + long_name: Mole fraction of ozone in air + type: real + kind: kind_phys + units: mol mol-1 + - name: mole_fraction_of_carbon_dioxide_in_air + long_name: Mole fraction of carbon dioxide in air + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_ch4 + long_name: Methane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_co + long_name: Carbon monoxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_co2 + long_name: Carbon dioxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_ccl4 + long_name: Tetrachloromethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_cfc11 + long_name: Trichlorofluoromethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_cfc12 + long_name: Dichlorodifluoromethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_cfc113 + long_name: 1,1,2-Trichloro-1,2,2-trifluoroethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_cfc22 + long_name: Chlorodifluoromethane volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_o2 + long_name: Dioxygen volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_n2o + long_name: Nitrous oxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_no2 + long_name: Nitrogen dioxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_no + long_name: Nitrogen oxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_o3 + long_name: Ozone volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_hcho + long_name: Formaldehyde volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_c5h8 + long_name: Isoprene volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 + - name: volume_mixing_ratio_of_so2 + long_name: Sulfur dioxide volume mixing ratio + type: real + kind: kind_phys + units: mol mol-1 +- name: 'atmospheric_composition: GOCART aerosols' + comment: null + standard_names: + - name: mass_fraction_of_dust001_in_air + long_name: Dust bin1 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust002_in_air + long_name: Dust bin2 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust003_in_air + long_name: Dust bin3 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust004_in_air + long_name: Dust bin4 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust005_in_air + long_name: Dust bin5 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt001_in_air + long_name: Sea salt bin5 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt002_in_air + long_name: Sea salt bin2 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt003_in_air + long_name: Sea salt bin3 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt004_in_air + long_name: Sea salt bin4 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_salt005_in_air + long_name: Sea salt bin5 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_hydrophobic_black_carbon_in_air + long_name: Hydrophobic black carbon mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_hydrophilic_black_carbon_in_air + long_name: Hydrophilic black carbon mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_hydrophobic_organic_carbon_in_air + long_name: Hydrophobic organic carbon mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_hydrophilic_organic_carbon_in_air + long_name: Hydrophilic organic carbon mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sulfate_in_air + long_name: Sulfate mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_nitrate001_in_air + long_name: Nitrate bin1 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_nitrate002_in_air + long_name: Nitrate bin2 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_sea_nitrate003_in_air + long_name: Nitrate bin3 mass fraction + type: real + kind: kind_phys + units: kg kg-1 + - name: volume_extinction_in_air_due_to_aerosol_particles_lambda1 + long_name: Aerosol extinction at wavelength1 + type: real + kind: kind_phys + units: m-1 + - name: volume_extinction_in_air_due_to_aerosol_particles_lambda2 + long_name: Aerosol extinction at wavelength2 + type: real + kind: kind_phys + units: m-1 + - name: volume_extinction_in_air_due_to_aerosol_particles_lambda3 + long_name: Aerosol extinction at wavelength3 + type: real + kind: kind_phys + units: m-1 +- name: 'atmospheric_composition: GLOMAP/UKCA aerosols' + comment: null + standard_names: + - name: mass_fraction_of_dust_coarse_aerosol_particles_in_air + long_name: Mass fraction of coarse mode dust aerosol particles + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_fraction_of_dust_accumulation_aerosol_particles_in_air + long_name: Mass fraction of accumulation mode dust aerosol particles + type: real + kind: kind_phys + units: kg kg-1 + - name: number_fraction_of_coarse_aerosol_particles_in_air + long_name: Number fraction of coarse mode dust aerosol particles + type: real + kind: kind_phys + units: 1 + - name: number_fraction_of_accumulation_aerosol_particles_in_air + long_name: Number fraction of accumulation mode dust aerosol particles + type: real + kind: kind_phys + units: 1 +- name: emissions + comment: Emissions variables, contributed for the Community Emissions Data System + (CEDS) + standard_names: + - name: emissions_of_co_due_to_anthropogenic + long_name: Carbon monoxide emissions from anthropogenic sources, total + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic + long_name: Nitric oxide emissions from anthropogenic sources, total + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic + long_name: Formaldehyde emissions from anthropogenic sources, total + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_agriculture + long_name: Carbon monoxide emissions from anthropogenic non-combustion agricultural + sector + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_agriculture + long_name: Nitric oxide emissions from anthropogenic non-combustion agricultural + sector + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_agriculture + long_name: Formaldehyde emissions from anthropogenic non-combustion agricultural + sector + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_energy + long_name: Carbon monoxide emissions from anthropogenic non-combustion energy + transformation and extraction + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_energy + long_name: Nitric oxide emissions from anthropogenic non-combustion energy transformation + and extraction + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_energy + long_name: Formaldehyde emissions from anthropogenic non-combustion energy transformation + and extraction + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_industry + long_name: Carbon monoxide emissions from anthropogenic industrial combustion + and processes + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_industry + long_name: Nitric oxide emissions from anthropogenic industrial combustion and + processes + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_industry + long_name: Formaldehyde emissions from anthropogenic industrial combustion and + processes + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_rco + long_name: Carbon monoxide emissions from anthropogenic residential, commercial, + and others + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_rco + long_name: Nitric oxide emissions from anthropogenic residential, commercial, + and others + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_rco + long_name: Formaldehyde emissions from anthropogenic residential, commercial, + and others + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_shipping + long_name: Carbon monoxide emissions from anthropogenic international shipping + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_shipping + long_name: Nitric oxide emissions from anthropogenic international shipping + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_shipping + long_name: Formaldehyde emissions from anthropogenic international shipping + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_solvents + long_name: Carbon monoxide emissions from anthropogenic solvents + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_solvents + long_name: Nitric oxide emissions from anthropogenic solvents + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_solvents + long_name: Formaldehyde emissions from anthropogenic solvents + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_transportation + long_name: Carbon monoxide emissions from anthropogenic surface Transportation + (Road, Rail, Other) + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_transportation + long_name: Nitric oxide emissions from anthropogenic surface Transportation (Road, + Rail, Other) + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_transportation + long_name: Formaldehyde emissions from anthropogenic surface Transportation (Road, + Rail, Other) + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_co_due_to_anthropogenic_waste + long_name: Carbon monoxide emissions from anthropogenic waste disposal and handling + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_no_due_to_anthropogenic_waste + long_name: Nitric oxide emissions from anthropogenic waste disposal and handling + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: emissions_of_hcho_due_to_anthropogenic_waste + long_name: Formaldehyde emissions from anthropogenic waste disposal and handling + type: real + kind: kind_phys + units: kg m-2 s-1 +- name: Application-specific variables + comment: Variable names only for use with a specific application + standard_names: [] +- name: system variables + comment: Variables related to the compute environment + standard_names: + - name: flag_for_mpi_root + long_name: Flag for MPI root + type: logical + kind: '' + units: flag + - name: log_output_unit + long_name: Log output unit + type: integer + kind: '' + units: 1 +- name: GFS_typedefs_GFS_control_type + comment: null + standard_names: + - name: sigma_pressure_hybrid_coordinate_a_coefficient + long_name: Sigma pressure hybrid coordinate a coefficient + type: real + kind: kind_phys + units: Pa + - name: radiatively_active_gases_as_string + long_name: Radiatively active gases as string + type: character + kind: len=128 + units: none + - name: aerosol_aware_multiplicative_rain_conversion_parameter_for_deep_convection + long_name: Aerosol aware multiplicative rain conversion parameter for deep convection + type: real + kind: kind_phys + units: 1 + - name: aerosol_aware_multiplicative_rain_conversion_parameter_for_shallow_convection + long_name: Aerosol aware multiplicative rain conversion parameter for shallow + convection + type: real + kind: kind_phys + units: 1 + - name: number_of_microphysics_variables_in_xy_dimensioned_restart_array + long_name: Number of microphysics variables in xy dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_microphysics_variables_in_xyz_dimensioned_restart_array + long_name: Number of microphysics variables in xyz dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_random_numbers + long_name: Number of random numbers + type: integer + kind: '' + units: count + - name: multiplicative_tuning_parameter_for_atmosphere_diffusivity + long_name: Multiplicative tuning parameter for atmosphere diffusivity + type: real + kind: kind_phys + units: 1 + - name: atmosphere_heat_diffusivity_due_to_background + long_name: Atmosphere heat diffusivity due to background + type: real + kind: kind_phys + units: m2 s-1 + - name: max_atmosphere_heat_diffusivity_due_to_background + long_name: Max atmosphere heat diffusivity due to background + type: real + kind: kind_phys + units: m2 s-1 + - name: atmosphere_momentum_diffusivity_due_to_background + long_name: Atmosphere momentum diffusivity due to background + type: real + kind: kind_phys + units: m2 s-1 + - name: sigma_pressure_hybrid_coordinate_b_coefficient + long_name: Sigma pressure hybrid coordinate b coefficient + type: real + kind: kind_phys + units: 1 + - name: cellular_automata_finer_grid + long_name: Cellular automata finer grid + type: integer + kind: '' + units: count + - name: cellular_automata_lifetime + long_name: Cellular automata lifetime + type: integer + kind: '' + units: count + - name: cellular_automata_seed_frequency + long_name: Cellular automata seed frequency + type: integer + kind: '' + units: count + - name: cellular_automata_seed_probability + long_name: Cellular automata seed probability + type: real + kind: kind_phys + units: fraction + - name: identifier_for_2018_scale_aware_tke_moist_edmf_pbl + long_name: Identifier for 2018 scale aware tke moist edmf pbl + type: integer + kind: '' + units: 1 + - name: control_for_scale_aware_tke_moist_edmf_pbl_scheme + long_name: Control for scale aware tke moist edmf pbl scheme + type: integer + kind: '' + units: 1 + - name: identifier_for_2019_scale_aware_tke_moist_edmf_pbl + long_name: Identifier for 2019 scale aware tke moist edmf pbl + type: integer + kind: '' + units: 1 + - name: cloud_condensate_autoconversion_threshold_coefficient + long_name: Cloud condensate autoconversion threshold coefficient + type: real + kind: kind_phys + units: 1 + - name: cloud_condensate_autoconversion_threshold_coefficient_for_deep_convection + long_name: Cloud condensate autoconversion threshold coefficient for deep convection + type: real + kind: kind_phys + units: 1 + - name: control_for_cloud_area_fraction_option + long_name: Control for cloud area fraction option + type: integer + kind: '' + units: 1 + - name: reciprocal_of_cloud_phase_transition_temperature_range + long_name: Reciprocal of cloud phase transition temperature range + type: real + kind: kind_phys + units: K-1 + - name: cloud_phase_transition_threshold_temperature + long_name: Cloud phase transition threshold temperature + type: real + kind: kind_phys + units: K + - name: control_for_cloud_species_mixing_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for cloud species mixing in mellor yamada nakanishi niino pbl + scheme + type: integer + kind: '' + units: 1 + - name: control_for_cloud_pdf_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for cloud pdf in mellor yamada nakanishi niino pbl scheme + type: integer + kind: '' + units: 1 + - name: precipitation_evaporation_coefficient + long_name: Precipitation evaporation coefficient + type: real + kind: kind_phys + units: 1 + - name: coefficient_for_variable_bulk_richardson_number_over_land + long_name: Coefficient for variable bulk richardson number over land + type: real + kind: kind_phys + units: 1 + - name: coefficient_for_variable_bulk_richardson_number_over_water + long_name: Coefficient for variable bulk richardson number over water + type: real + kind: kind_phys + units: 1 + - name: autoconversion_to_snow_coefficient + long_name: Autoconversion to snow coefficient + type: real + kind: kind_phys + units: 1 + - name: autoconversion_to_snow_coefficient_for_deep_convection + long_name: Autoconversion to snow coefficient for deep convection + type: real + kind: kind_phys + units: 1 + - name: autoconversion_to_rain_coefficient + long_name: Autoconversion to rain coefficient + type: real + kind: kind_phys + units: 1 + - name: autoconversion_to_rain_coefficient_for_deep_convection + long_name: Autoconversion to rain coefficient for deep convection + type: real + kind: kind_phys + units: 1 + - name: chemical_tracer_scavenging_fractions + long_name: Chemical tracer scavenging fractions + type: real + kind: kind_phys + units: fraction + - name: cloud_condensate_detrainment_coefficient + long_name: Cloud condensate detrainment coefficient + type: real + kind: kind_phys + units: 1 + - name: control_for_convective_cloud_diagnostics + long_name: Control for convective cloud diagnostics + type: real + kind: kind_phys + units: 1 + - name: cosine_of_solar_declination_angle + long_name: Cosine of solar declination angle + type: real + kind: kind_phys + units: 1 + - name: control_for_sgs_cloud_radiation_coupling_in_mellor_yamamda_nakanishi_niino_pbl_scheme + long_name: Control for sgs cloud radiation coupling in mellor yamamda nakanishi + niino pbl scheme + type: integer + kind: '' + units: 1 + - name: tunable_parameter_for_critical_cloud_top_entrainment_instability_criteria + long_name: Tunable parameter for critical cloud top entrainment instability criteria + type: real + kind: kind_phys + units: 1 + - name: critical_relative_humidity_at_top_of_atmosphere_boundary_layer + long_name: Critical relative humidity at top of atmosphere boundary layer + type: real + kind: kind_phys + units: fraction + - name: critical_relative_humidity_at_surface + long_name: Critical relative humidity at surface + type: real + kind: kind_phys + units: fraction + - name: critical_relative_humidity_at_toa + long_name: Critical relative humidity at toa + type: real + kind: kind_phys + units: fraction + - name: date_and_time_at_model_initialization_in_iso_order + long_name: Date and time at model initialization in iso order + type: integer + kind: '' + units: 1 + - name: date_and_time_at_model_initialization_in_united_states_order + long_name: Date and time at model initialization in united states order + type: integer + kind: '' + units: 1 + - name: decorrelation_length_used_by_overlap_method + long_name: Decorrelation length used by overlap method + type: real + kind: kind_phys + units: km + - name: density_of_fresh_water + long_name: Density of fresh water + type: real + kind: kind_phys + units: kg m-3 + - name: depth_of_soil_layers + long_name: Depth of soil layers + type: real + kind: kind_phys + units: m + - name: tunable_parameter_1_for_detrainment_and_precipitation_partitioning_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter 1 for detrainment and precipitation partitioning + in chikira sugiyama deep convection + type: real + kind: kind_phys + units: m + - name: tunable_parameter_2_for_detrainment_and_precipitation_partitioning_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter 2 for detrainment and precipitation partitioning + in chikira sugiyama deep convection + type: real + kind: kind_phys + units: m + - name: detrainment_conversion_parameter_for_deep_convection + long_name: Detrainment conversion parameter for deep convection + type: real + kind: kind_phys + units: m-1 + - name: detrainment_conversion_parameter_for_shallow_convection + long_name: Detrainment conversion parameter for shallow convection + type: real + kind: kind_phys + units: m-1 + - name: do_unified_gravity_wave_physics_diagnostics + long_name: Do unified gravity wave physics diagnostics + type: logical + kind: '' + units: flag + - name: do_chemical_tracer_diagnostics + long_name: Do chemical tracer diagnostics + type: logical + kind: '' + units: flag + - name: sigma_pressure_threshold_at_upper_extent_of_background_diffusion + long_name: Sigma pressure threshold at upper extent of background diffusion + type: real + kind: kind_phys + units: 1 + - name: directory_for_rte_rrtmgp_source_code + long_name: Directory for rte rrtmgp source code + type: character + kind: len=128 + units: none + - name: do_mellor_yamada_janjic_pbl_scheme + long_name: Do mellor yamada janjic pbl scheme + type: logical + kind: '' + units: flag + - name: do_mellor_yamada_janjic_surface_layer_scheme + long_name: Do mellor yamada janjic surface layer scheme + type: logical + kind: '' + units: flag + - name: do_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Do mellor yamada nakanishi niino pbl scheme + type: logical + kind: '' + units: flag + - name: do_mellor_yamada_nakanishi_niino_surface_layer_scheme + long_name: Do mellor yamada nakanishi niino surface layer scheme + type: logical + kind: '' + units: flag + - name: do_unified_gravity_wave_physics_gravity_wave_drag_scheme + long_name: Do unified gravity wave physics gravity wave drag scheme + type: logical + kind: '' + units: flag + - name: downdraft_area_fraction_in_scale_aware_tke_moist_edmf_pbl_scheme + long_name: Downdraft area fraction in scale aware tke moist edmf pbl scheme + type: real + kind: kind_phys + units: fraction + - name: downdraft_fraction_reaching_surface_over_land_for_deep_convection + long_name: Downdraft fraction reaching surface over land for deep convection + type: real + kind: kind_phys + units: fraction + - name: downdraft_fraction_reaching_surface_over_water_for_deep_convection + long_name: Downdraft fraction reaching surface over water for deep convection + type: real + kind: kind_phys + units: fraction + - name: control_for_edmf_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for edmf in mellor yamada nakanishi niino pbl scheme + type: integer + kind: '' + units: 1 + - name: control_for_edmf_momentum_transport_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for edmf momentum transport in mellor yamada nakanishi niino + pbl scheme + type: integer + kind: '' + units: 1 + - name: control_for_edmf_partitioning_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for edmf partitioning in mellor yamada nakanishi niino pbl + scheme + type: integer + kind: '' + units: 1 + - name: control_for_edmf_tke_transport_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for edmf tke transport in mellor yamada nakanishi niino pbl + scheme + type: integer + kind: '' + units: 1 + - name: surface_layer_scheme_enthalpy_flux_factor + long_name: Surface layer scheme enthalpy flux factor + type: real + kind: kind_phys + units: 1 + - name: tunable_parameter_for_entrainment_efficiency_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter for entrainment efficiency in chikira sugiyama deep + convection + type: real + kind: kind_phys + units: 1 + - name: entrainment_rate_coefficient_for_deep_convection + long_name: Entrainment rate coefficient for deep convection + type: real + kind: kind_phys + units: 1 + - name: entrainment_rate_coefficient_for_shallow_convection + long_name: Entrainment rate coefficient for shallow convection + type: real + kind: kind_phys + units: 1 + - name: equation_of_time + long_name: Equation of time + type: real + kind: kind_phys + units: radian + - name: relative_humidity_threshold_for_condensation + long_name: Relative humidity threshold for condensation + type: real + kind: kind_phys + units: fraction + - name: do_arakawa_wu_downdrafts_for_deep_convection + long_name: Do arakawa wu downdrafts for deep convection + type: logical + kind: '' + units: flag + - name: do_debug_output + long_name: Do debug output + type: logical + kind: '' + units: flag + - name: do_diagnostics + long_name: Do diagnostics + type: logical + kind: '' + units: flag + - name: do_xyz_dimensioned_diagnostics + long_name: Do xyz dimensioned diagnostics + type: logical + kind: '' + units: flag + - name: do_flip + long_name: Do flip + type: logical + kind: '' + units: flag + - name: control_for_flux_adjusting_surface_data_assimilation_system + long_name: Control for flux adjusting surface data assimilation system + type: integer + kind: '' + units: 1 + - name: do_flux_form_in_chikira_sugiyama_deep_convection_scheme + long_name: Do flux form in chikira sugiyama deep convection scheme + type: logical + kind: '' + units: flag + - name: do_nrl_2015_ozone_scheme + long_name: Do nrl 2015 ozone scheme + type: logical + kind: '' + units: flag + - name: do_prescribed_aerosols + long_name: Do prescribed aerosols + type: logical + kind: '' + units: flag + - name: do_aerosol_physics + long_name: Do aerosol physics + type: logical + kind: '' + units: flag + - name: do_arakawa_wu_adjustment + long_name: Do arakawa wu adjustment + type: logical + kind: '' + units: flag + - name: do_canopy_heat_storage_in_land_surface_scheme + long_name: Do canopy heat storage in land surface scheme + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_canopy_stomatal_resistance + long_name: Control for land surface scheme canopy stomatal resistance + type: integer + kind: '' + units: 1 + - name: do_cellular_automata + long_name: Do cellular automata + type: logical + kind: '' + units: flag + - name: do_chemistry_coupling + long_name: Do chemistry coupling + type: logical + kind: '' + units: flag + - name: do_chikira_sugiyama_deep_convection_scheme + long_name: Do chikira sugiyama deep convection scheme + type: logical + kind: '' + units: flag + - name: do_in_cloud_condensate + long_name: Do in cloud condensate + type: logical + kind: '' + units: flag + - name: do_cloud_effective_radii + long_name: Do cloud effective radii + type: logical + kind: '' + units: flag + - name: control_for_cloud_overlap_method_for_radiation + long_name: Control for cloud overlap method for radiation + type: integer + kind: '' + units: 1 + - name: identifier_for_constant_decorrelation_length_method + long_name: Identifier for constant decorrelation length method + type: integer + kind: '' + units: 1 + - name: do_convective_gravity_wave_drag + long_name: Do convective gravity wave drag + type: logical + kind: '' + units: flag + - name: do_convective_transport_of_tracers + long_name: Do convective transport of tracers + type: logical + kind: '' + units: flag + - name: do_converting_hydrometeors_from_moist_to_dry_air + long_name: Do converting hydrometeors from moist to dry air + type: logical + kind: '' + units: flag + - name: do_crick_elimination + long_name: Do crick elimination + type: logical + kind: '' + units: flag + - name: identifier_for_decorrelation_length_cloud_overlap_method + long_name: Identifier for decorrelation length cloud overlap method + type: integer + kind: '' + units: 1 + - name: control_for_decorrelation_length_method + long_name: Control for decorrelation length method + type: integer + kind: '' + units: 1 + - name: control_for_shortwave_radiation_aerosols + long_name: Control for shortwave radiation aerosols + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_dynamic_vegetation + long_name: Control for land surface scheme dynamic vegetation + type: integer + kind: '' + units: 1 + - name: identifier_for_exponential_cloud_overlap_method + long_name: Identifier for exponential cloud overlap method + type: integer + kind: '' + units: 1 + - name: identifier_for_exponential_random_cloud_overlap_method + long_name: Identifier for exponential random cloud overlap method + type: integer + kind: '' + units: 1 + - name: identifier_for_fer_hires_microphysics_scheme + long_name: Identifier for fer hires microphysics scheme + type: integer + kind: '' + units: 1 + - name: is_first_timestep + long_name: Is first timestep + type: logical + kind: '' + units: flag + - name: do_surface_flux_coupling + long_name: Do surface flux coupling + type: logical + kind: '' + units: flag + - name: do_fractional_landmask + long_name: Do fractional landmask + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_frozen_soil_permeability + long_name: Control for land surface scheme frozen soil permeability + type: integer + kind: '' + units: 1 + - name: do_cellular_automata_gaussian_spatial_filter + long_name: Do cellular automata gaussian spatial filter + type: logical + kind: '' + units: flag + - name: do_gcycle_surface_option + long_name: Do gcycle surface option + type: logical + kind: '' + units: flag + - name: do_generic_tendency_due_to_deep_convection + long_name: Do generic tendency due to deep convection + type: logical + kind: '' + units: flag + - name: do_generic_tendency_due_to_gravity_wave_drag + long_name: Do generic tendency due to gravity wave drag + type: logical + kind: '' + units: flag + - name: do_generic_tendency_due_to_planetary_boundary_layer + long_name: Do generic tendency due to planetary boundary layer + type: logical + kind: '' + units: flag + - name: do_generic_tendency_due_to_shallow_convection + long_name: Do generic tendency due to shallow convection + type: logical + kind: '' + units: flag + - name: identifier_for_grell_freitas_deep_convection + long_name: Identifier for grell freitas deep convection + type: integer + kind: '' + units: 1 + - name: identifier_for_grell_freitas_shallow_convection + long_name: Identifier for grell freitas shallow convection + type: integer + kind: '' + units: 1 + - name: do_gfdl_microphysics_radiation_interaction + long_name: Do gfdl microphysics radiation interaction + type: logical + kind: '' + units: flag + - name: identifier_for_gfdl_microphysics_scheme + long_name: Identifier for gfdl microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_global_cellular_automata + long_name: Do global cellular automata + type: logical + kind: '' + units: flag + - name: do_global_cellular_automata_closure + long_name: Do global cellular automata closure + type: logical + kind: '' + units: flag + - name: do_global_cellular_automata_deep_convective_entrainment + long_name: Do global cellular automata deep convective entrainment + type: logical + kind: '' + units: flag + - name: do_global_cellular_automata_trigger + long_name: Do global cellular automata trigger + type: logical + kind: '' + units: flag + - name: do_gravity_wave_drag + long_name: Do gravity wave drag + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_surface_snow_albedo + long_name: Control for land surface scheme surface snow albedo + type: integer + kind: '' + units: 1 + - name: do_gsl_drag_suite_large_scale_orographic_and_blocking_drag + long_name: Do gsl drag suite large scale orographic and blocking drag + type: logical + kind: '' + units: flag + - name: do_gsl_drag_suite_small_scale_orographic_drag + long_name: Do gsl drag suite small scale orographic drag + type: logical + kind: '' + units: flag + - name: do_gsl_drag_suite_turbulent_orographic_form_drag + long_name: Do gsl drag suite turbulent orographic form drag + type: logical + kind: '' + units: flag + - name: do_hybrid_edmf_pbl_scheme + long_name: Do hybrid edmf pbl scheme + type: logical + kind: '' + units: flag + - name: identifier_for_hogan_decorrelation_length_method + long_name: Identifier for hogan decorrelation length method + type: integer + kind: '' + units: 1 + - name: do_hurricane_specific_code_in_scale_aware_mass_flux_deep_convection + long_name: Do hurricane specific code in scale aware mass flux deep convection + type: logical + kind: '' + units: flag + - name: do_hurricane_specific_code_in_scale_aware_mass_flux_shallow_convection + long_name: Do hurricane specific code in scale aware mass flux shallow convection + type: logical + kind: '' + units: flag + - name: do_hydrostatic_solver + long_name: Do hydrostatic solver + type: logical + kind: '' + units: flag + - name: control_for_ice_cloud_condensation_nuclei_forcing + long_name: Control for ice cloud condensation nuclei forcing + type: integer + kind: '' + units: 1 + - name: do_separate_advection_of_condensate_species + long_name: Do separate advection of condensate species + type: logical + kind: '' + units: flag + - name: control_for_initial_time_date + long_name: Control for initial time date + type: integer + kind: '' + units: 1 + - name: control_for_lake_surface_scheme + long_name: Control for lake surface scheme + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme + long_name: Control for land surface scheme + type: integer + kind: '' + units: 1 + - name: do_cloud_area_fraction_option_for_radiation + long_name: Do cloud area fraction option for radiation + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_lower_boundary_soil_temperature + long_name: Control for land surface scheme lower boundary soil temperature + type: integer + kind: '' + units: 1 + - name: control_for_lw_clouds_subgrid_approximation + long_name: Control for lw clouds subgrid approximation + type: integer + kind: '' + units: 1 + - name: control_for_deep_convection_scheme + long_name: Control for deep convection scheme + type: integer + kind: '' + units: 1 + - name: control_for_shallow_convection_scheme + long_name: Control for shallow convection scheme + type: integer + kind: '' + units: 1 + - name: control_for_maximum_cloud_overlap_method + long_name: Control for maximum cloud overlap method + type: integer + kind: '' + units: 1 + - name: identifier_for_maximum_random_cloud_overlap_method + long_name: Identifier for maximum random cloud overlap method + type: integer + kind: '' + units: 1 + - name: control_for_microphysics_scheme + long_name: Control for microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_moorthi_stratus + long_name: Do moorthi stratus + type: logical + kind: '' + units: flag + - name: identifier_for_morrison_gettelman_microphysics_scheme + long_name: Identifier for morrison gettelman microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_mountain_blocking_for_sppt + long_name: Do mountain blocking for sppt + type: logical + kind: '' + units: flag + - name: identifier_for_noah_land_surface_scheme + long_name: Identifier for noah land surface scheme + type: integer + kind: '' + units: 1 + - name: do_noah_lsm_ua_extension + long_name: Do noah lsm ua extension + type: logical + kind: '' + units: flag + - name: identifier_for_noah_wrfv4_land_surface_scheme + long_name: Identifier for noah wrfv4 land surface scheme + type: integer + kind: '' + units: 1 + - name: identifier_for_noahmp_land_surface_scheme + long_name: Identifier for noahmp land surface scheme + type: integer + kind: '' + units: 1 + - name: do_nsstm_analysis_in_gcycle + long_name: Do nsstm analysis in gcycle + type: logical + kind: '' + units: flag + - name: control_for_nsstm + long_name: Control for nsstm + type: integer + kind: '' + units: 1 + - name: identifier_for_new_tiedtke_deep_convection + long_name: Identifier for new tiedtke deep convection + type: integer + kind: '' + units: 1 + - name: identifier_for_new_tiedtke_shallow_convection + long_name: Identifier for new tiedtke shallow convection + type: integer + kind: '' + units: 1 + - name: do_surface_layer_scheme_ocean_currents + long_name: Do surface layer scheme ocean currents + type: logical + kind: '' + units: flag + - name: do_old_pbl_scheme + long_name: Do old pbl scheme + type: logical + kind: '' + units: flag + - name: control_for_optical_property_for_ice_clouds_for_longwave_radiation + long_name: Control for optical property for ice clouds for longwave radiation + type: integer + kind: '' + units: 1 + - name: control_for_optical_property_for_ice_clouds_for_shortwave_radiation + long_name: Control for optical property for ice clouds for shortwave radiation + type: integer + kind: '' + units: 1 + - name: control_for_optical_property_for_liquid_clouds_for_longwave_radiation + long_name: Control for optical property for liquid clouds for longwave radiation + type: integer + kind: '' + units: 1 + - name: control_for_optical_property_for_liquid_clouds_for_shortwave_radiation + long_name: Control for optical property for liquid clouds for shortwave radiation + type: integer + kind: '' + units: 1 + - name: identifier_for_oreopoulos_decorrelation_length_method + long_name: Identifier for oreopoulos decorrelation length method + type: integer + kind: '' + units: 1 + - name: do_output_of_tendency_of_air_temperature_due_to_longwave_heating_on_radiation_timestep_assuming_clear_sky + long_name: Do output of tendency of air temperature due to longwave heating on + radiation timestep assuming clear sky + type: logical + kind: '' + units: flag + - name: do_output_of_tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_timestep_assuming_clear_sky + long_name: Do output of tendency of air temperature due to shortwave heating on + radiation timestep assuming clear sky + type: logical + kind: '' + units: flag + - name: do_nrl_2006_ozone_scheme + long_name: Do nrl 2006 ozone scheme + type: logical + kind: '' + units: flag + - name: control_for_pdf_shape_for_microphysics + long_name: Control for pdf shape for microphysics + type: integer + kind: '' + units: 1 + - name: do_surface_layer_scheme_surface_drag_coefficient_for_momentum_in_air_perturbations + long_name: Do surface layer scheme surface drag coefficient for momentum in air + perturbations + type: logical + kind: '' + units: flag + - name: disable_precipitation_radiative_effect + long_name: Disable precipitation radiative effect + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_precipitation_type_partition + long_name: Control for land surface scheme precipitation type partition + type: integer + kind: '' + units: 1 + - name: do_dominant_precipitation_type_partition + long_name: Do dominant precipitation type partition + type: logical + kind: '' + units: flag + - name: do_radar_reflectivity + long_name: Do radar reflectivity + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_radiative_transfer + long_name: Control for land surface scheme radiative transfer + type: integer + kind: '' + units: 1 + - name: identifier_for_random_cloud_overlap_method + long_name: Identifier for random cloud overlap method + type: integer + kind: '' + units: 1 + - name: do_random_clouds_in_relaxed_arakawa_schubert_deep_convection + long_name: Do random clouds in relaxed arakawa schubert deep convection + type: logical + kind: '' + units: flag + - name: do_relaxed_arakawa_schubert_deep_convection + long_name: Do relaxed arakawa schubert deep convection + type: logical + kind: '' + units: flag + - name: do_read_leaf_area_index_from_input + long_name: Do read leaf area index from input + type: logical + kind: '' + units: flag + - name: do_read_surface_albedo_for_diffused_shortwave_from_input + long_name: Do read surface albedo for diffused shortwave from input + type: logical + kind: '' + units: flag + - name: do_limited_surface_roughness_length_over_ocean + long_name: Do limited surface roughness length over ocean + type: logical + kind: '' + units: flag + - name: do_reference_pressure_theta + long_name: Do reference pressure theta + type: logical + kind: '' + units: flag + - name: is_restart + long_name: Is restart + type: logical + kind: '' + units: flag + - name: do_rrtmgp_radiation_scheme + long_name: Do rrtmgp radiation scheme + type: logical + kind: '' + units: flag + - name: identifier_for_ruc_land_surface_scheme + long_name: Identifier for ruc land surface scheme + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_runoff_and_groundwater + long_name: Control for land surface scheme runoff and groundwater + type: integer + kind: '' + units: 1 + - name: identifier_for_scale_aware_mass_flux_deep_convection + long_name: Identifier for scale aware mass flux deep convection + type: integer + kind: '' + units: 1 + - name: identifier_for_scale_aware_mass_flux_shallow_convection + long_name: Identifier for scale aware mass flux shallow convection + type: integer + kind: '' + units: 1 + - name: identifier_for_simplified_arakawa_schubert_deep_convection + long_name: Identifier for simplified arakawa schubert deep convection + type: integer + kind: '' + units: 1 + - name: identifier_for_simplified_arakawa_schubert_shallow_convection + long_name: Identifier for simplified arakawa schubert shallow convection + type: integer + kind: '' + units: 1 + - name: do_scale_aware_mass_flux_deep_convection + long_name: Do scale aware mass flux deep convection + type: logical + kind: '' + units: flag + - name: do_scale_aware_shin_hong_pbl_scheme + long_name: Do scale aware shin hong pbl scheme + type: logical + kind: '' + units: flag + - name: do_scale_aware_tke_moist_edmf_pbl + long_name: Do scale aware tke moist edmf pbl + type: logical + kind: '' + units: flag + - name: do_sgs_cellular_automata + long_name: Do sgs cellular automata + type: logical + kind: '' + units: flag + - name: do_simplified_arakawa_schubert_shallow_convection + long_name: Do simplified arakawa schubert shallow convection + type: logical + kind: '' + units: flag + - name: do_shoc + long_name: Do shoc + type: logical + kind: '' + units: flag + - name: do_shoc_after_convection + long_name: Do shoc after convection + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_soil_and_snow_temperature_time_integration + long_name: Control for land surface scheme soil and snow temperature time integration + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_soil_moisture_factor_stomatal_resistance + long_name: Control for land surface scheme soil moisture factor stomatal resistance + type: integer + kind: '' + units: 1 + - name: control_for_solar_constant + long_name: Control for solar constant + type: integer + kind: '' + units: 1 + - name: do_stochastic_cloud_fraction_perturbations + long_name: Do stochastic cloud fraction perturbations + type: logical + kind: '' + units: flag + - name: do_stochastic_microphysics_perturbations + long_name: Do stochastic microphysics perturbations + type: logical + kind: '' + units: flag + - name: do_stochastic_physics_perturbations + long_name: Do stochastic physics perturbations + type: logical + kind: '' + units: flag + - name: do_stochastic_radiative_heating_perturbations + long_name: Do stochastic radiative heating perturbations + type: logical + kind: '' + units: flag + - name: do_stochastic_shum_option + long_name: Do stochastic shum option + type: logical + kind: '' + units: flag + - name: do_stochastic_skeb_option + long_name: Do stochastic skeb option + type: logical + kind: '' + units: flag + - name: do_stratospheric_water_vapor_physics + long_name: Do stratospheric water vapor physics + type: logical + kind: '' + units: flag + - name: control_for_land_surface_scheme_supercooled_liquid_water + long_name: Control for land surface scheme supercooled liquid water + type: integer + kind: '' + units: 1 + - name: control_for_surface_emissivity + long_name: Control for surface emissivity + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_surface_layer_drag_coefficient + long_name: Control for land surface scheme surface layer drag coefficient + type: integer + kind: '' + units: 1 + - name: control_for_surface_roughness_option_over_water + long_name: Control for surface roughness option over water + type: integer + kind: '' + units: 1 + - name: control_for_sw_clouds_subgrid_approximation + long_name: Control for sw clouds subgrid approximation + type: integer + kind: '' + units: 1 + - name: control_for_land_surface_scheme_thermal_conductivity_option + long_name: Control for land surface scheme thermal conductivity option + type: integer + kind: '' + units: 1 + - name: identifier_for_thompson_microphysics_scheme + long_name: Identifier for thompson microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_ugwp_version_0 + long_name: Do ugwp version 0 + type: logical + kind: '' + units: flag + - name: do_ugwp_version_0_nonorographic_gwd + long_name: Do ugwp version 0 nonorographic gwd + type: logical + kind: '' + units: flag + - name: do_ugwp_version_0_orographic_gwd + long_name: Do ugwp version 0 orographic gwd + type: logical + kind: '' + units: flag + - name: do_ugwp_version_1 + long_name: Do ugwp version 1 + type: logical + kind: '' + units: flag + - name: do_ugwp_version_1_nonorographic_gwd + long_name: Do ugwp version 1 nonorographic gwd + type: logical + kind: '' + units: flag + - name: do_ugwp_version_1_orographic_gwd + long_name: Do ugwp version 1 orographic gwd + type: logical + kind: '' + units: flag + - name: do_shoc_cloud_area_fraction_for_radiation + long_name: Do shoc cloud area fraction for radiation + type: logical + kind: '' + units: flag + - name: control_for_surface_layer_scheme_skin_temperature_update + long_name: Control for surface layer scheme skin temperature update + type: integer + kind: '' + units: 1 + - name: control_for_surface_albedo + long_name: Control for surface albedo + type: integer + kind: '' + units: 1 + - name: control_for_prescribed_co2 + long_name: Control for prescribed co2 + type: integer + kind: '' + units: 1 + - name: control_for_vertical_index_direction + long_name: Control for vertical index direction + type: integer + kind: '' + units: 1 + - name: do_ocean_wave_coupling + long_name: Do ocean wave coupling + type: logical + kind: '' + units: flag + - name: do_one_way_ocean_wave_coupling_to_atmosphere + long_name: Do one way ocean wave coupling to atmosphere + type: logical + kind: '' + units: flag + - name: identifier_for_wsm6_microphysics_scheme + long_name: Identifier for wsm6 microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_ysu_pbl_scheme + long_name: Do ysu pbl scheme + type: logical + kind: '' + units: flag + - name: identifier_for_zhao_carr_microphysics_scheme + long_name: Identifier for zhao carr microphysics scheme + type: integer + kind: '' + units: 1 + - name: identifier_for_zhao_carr_pdf_microphysics_scheme + long_name: Identifier for zhao carr pdf microphysics scheme + type: integer + kind: '' + units: 1 + - name: do_hurricane_specific_code_in_hybrid_edmf_pbl_scheme + long_name: Do hurricane specific code in hybrid edmf pbl scheme + type: logical + kind: '' + units: flag + - name: do_integrated_dynamics_through_earths_atmosphere + long_name: Do integrated dynamics through earths atmosphere + type: logical + kind: '' + units: flag + - name: do_print + long_name: Do print + type: logical + kind: '' + units: flag + - name: do_save_shallow_convective_cloud_area_fraction + long_name: Do save shallow convective cloud area fraction + type: logical + kind: '' + units: flag + - name: do_tke_dissipation_heating + long_name: Do tke dissipation heating + type: logical + kind: '' + units: flag + - name: do_call_longwave_radiation + long_name: Do call longwave radiation + type: logical + kind: '' + units: flag + - name: do_rrtmg_cloud_optics + long_name: Do rrtmg cloud optics + type: logical + kind: '' + units: flag + - name: do_rrtmgp_cloud_optics_look_up_table + long_name: Do rrtmgp cloud optics look up table + type: logical + kind: '' + units: flag + - name: do_rrtmgp_cloud_optics_with_pade_approximation + long_name: Do rrtmgp cloud optics with pade approximation + type: logical + kind: '' + units: flag + - name: do_rrtmgp_longwave_jacobian + long_name: Do rrtmgp longwave jacobian + type: logical + kind: '' + units: flag + - name: do_call_shortwave_radiation + long_name: Do call shortwave radiation + type: logical + kind: '' + units: flag + - name: do_longwave_scattering_in_cloud_optics + long_name: Do longwave scattering in cloud optics + type: logical + kind: '' + units: flag + - name: do_tracer_xyz_dimensioned_diagnostics + long_name: Do tracer xyz dimensioned diagnostics + type: logical + kind: '' + units: flag + - name: control_for_variable_bulk_richardson_number + long_name: Control for variable bulk richardson number + type: real + kind: kind_phys + units: 1 + - name: date_and_time_of_forecast_in_united_states_order + long_name: Date and time of forecast in united states order + type: integer + kind: '' + units: 1 + - name: forecast_utc_hour + long_name: Forecast utc hour + type: real + kind: kind_phys + units: h + - name: forecast_time + long_name: Forecast time + type: real + kind: kind_phys + units: h + - name: forecast_time_on_previous_timestep + long_name: Forecast time on previous timestep + type: real + kind: kind_phys + units: h + - name: period_of_longwave_radiation_calls + long_name: Period of longwave radiation calls + type: real + kind: kind_phys + units: s + - name: period_of_shortwave_radiation_calls + long_name: Period of shortwave radiation calls + type: real + kind: kind_phys + units: s + - name: all_ice_cloud_threshold_temperature + long_name: All ice cloud threshold temperature + type: real + kind: kind_phys + units: K + - name: control_for_gravitational_settling_of_cloud_droplets + long_name: Control for gravitational settling of cloud droplets + type: integer + kind: '' + units: 1 + - name: control_for_drag_suite_gravity_wave_drag + long_name: Control for drag suite gravity wave drag + type: integer + kind: '' + units: 1 + - name: horizontal_loop_extent + long_name: Horizontal loop extent + type: integer + kind: '' + units: count + - name: period_of_diagnostics_reset + long_name: Period of diagnostics reset + type: real + kind: kind_phys + units: h + - name: tunable_parameter_for_ice_supersaturation + long_name: Tunable parameter for ice supersaturation + type: real + kind: kind_phys + units: 1 + - name: index_of_ice_vegetation_category + long_name: Index of ice vegetation category + type: integer + kind: '' + units: index + - name: vertical_dimension_of_sea_ice + long_name: Vertical dimension of sea ice + type: integer + kind: '' + units: count + - name: index_of_air_temperature_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Index of air temperature on previous timestep in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: index_of_air_temperature_two_timesteps_back_in_xyz_dimensioned_restart_array + long_name: Index of air temperature two timesteps back in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: index_of_nonconvective_cloud_area_fraction_in_atmosphere_layer_in_tracer_concentration_array + long_name: Index of nonconvective cloud area fraction in atmosphere layer in tracer + concentration array + type: integer + kind: '' + units: index + - name: index_of_nonconvective_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array + long_name: Index of nonconvective cloud area fraction in atmosphere layer in xyz + dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_cloud_liquid_water_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of cloud liquid water effective radius in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: index_of_convective_cloud_area_fraction_in_xyz_dimensioned_restart_array + long_name: Index of convective cloud area fraction in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: index_of_convective_cloud_condensate_mixing_ratio_wrt_moist_air_in_xyz_dimensioned_restart_array + long_name: Index of convective cloud condensate mixing ratio wrt moist air in + xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_horizontal_gridpoint_for_debug_output + long_name: Index of horizontal gridpoint for debug output + type: integer + kind: '' + units: index + - name: index_of_first_chemical_tracer_in_tracer_concentration_array + long_name: Index of first chemical tracer in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_graupel_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of graupel mixing ratio wrt moist air in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_graupel_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of graupel effective radius in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_graupel_in_tracer_concentration_array + long_name: Index of mass number concentration of graupel in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_cloud_ice_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of cloud ice mixing ratio wrt moist air in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_cloud_ice_in_tracer_concentration_array + long_name: Index of mass number concentration of cloud ice in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_cloud_ice_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of cloud ice effective radius in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_in_tracer_concentration_array + long_name: Index of mass number concentration of nonhygroscopic ice nucleating + aerosols in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_cloud_liquid_water_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of cloud liquid water mixing ratio wrt moist air in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_cloud_droplets_in_tracer_concentration_array + long_name: Index of mass number concentration of cloud droplets in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_mass_weighted_rime_factor_in_tracer_concentration_array + long_name: Index of mass weighted rime factor in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_ozone_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of ozone mixing ratio wrt moist air in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_rain_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of rain effective radius in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_rain_in_tracer_concentration_array + long_name: Index of mass number concentration of rain in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_rain_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of rain mixing ratio wrt moist air in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_snow_effective_radius_in_xyz_dimensioned_restart_array + long_name: Index of snow effective radius in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_snow_in_tracer_concentration_array + long_name: Index of mass number concentration of snow in tracer concentration + array + type: integer + kind: '' + units: index + - name: index_of_snow_mixing_ratio_wrt_moist_air_in_tracer_concentration_array + long_name: Index of snow mixing ratio wrt moist air in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_specific_humidity_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Index of specific humidity on previous timestep in xyz dimensioned + restart array + type: integer + kind: '' + units: index + - name: index_of_specific_humidity_two_timesteps_back_in_xyz_dimensioned_restart_array + long_name: Index of specific humidity two timesteps back in xyz dimensioned restart + array + type: integer + kind: '' + units: index + - name: control_for_stochastic_land_surface_perturbation + long_name: Control for stochastic land surface perturbation + type: integer + kind: '' + units: 1 + - name: index_of_surface_air_pressure_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Index of surface air pressure on previous timestep in xyz dimensioned + restart array + type: integer + kind: '' + units: index + - name: index_of_surface_air_pressure_two_timesteps_back_in_xyz_dimensioned_tracer_array + long_name: Index of surface air pressure two timesteps back in xyz dimensioned + tracer array + type: integer + kind: '' + units: index + - name: index_of_enhancement_to_wind_speed_at_surface_adjacent_layer_due_to_convectionin_in_xy_dimensioned_restart_array + long_name: Index of enhancement to wind speed at surface adjacent layer due to + convectionin in xy dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_turbulent_kinetic_energy_in_tracer_concentration_array + long_name: Index of turbulent kinetic energy in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_mass_number_concentration_of_hygroscopic_aerosols_in_tracer_concentration_array + long_name: Index of mass number concentration of hygroscopic aerosols in tracer + concentration array + type: integer + kind: '' + units: index + - name: index_of_specific_humidity_in_tracer_concentration_array + long_name: Index of specific humidity in tracer concentration array + type: integer + kind: '' + units: index + - name: index_of_atmosphere_heat_diffusivity_in_xyz_dimensioned_restart_array + long_name: Index of atmosphere heat diffusivity in xyz dimensioned restart array + type: integer + kind: '' + units: index + - name: index_of_upward_virtual_potential_temperature_flux_in_xyz_dimensioned_restart_array + long_name: Index of upward virtual potential temperature flux in xyz dimensioned + restart array + type: integer + kind: '' + units: index + - name: index_of_subgrid_cloud_area_fraction_in_atmosphere_layer_in_xyz_dimensioned_restart_array + long_name: Index of subgrid cloud area fraction in atmosphere layer in xyz dimensioned + restart array + type: integer + kind: '' + units: index + - name: index_of_timestep + long_name: Index of timestep + type: integer + kind: '' + units: index + - name: reciprocal_of_grid_scale_range + long_name: Reciprocal of grid scale range + type: real + kind: kind_phys + units: rad2 m-2 + - name: iounit_of_log + long_name: Iounit of log + type: integer + kind: '' + units: 1 + - name: iounit_of_namelist + long_name: Iounit of namelist + type: integer + kind: '' + units: 1 + - name: forecast_julian_day + long_name: Forecast julian day + type: real + kind: kind_phys + units: days + - name: min_lake_ice_area_fraction + long_name: Min lake ice area fraction + type: real + kind: kind_phys + units: fraction + - name: multiplicative_tuning_parameter_for_reduced_latent_heat_flux_due_to_canopy_heat_storage + long_name: Multiplicative tuning parameter for reduced latent heat flux due to + canopy heat storage + type: real + kind: kind_phys + units: 1 + - name: max_tendency_of_air_potential_temperature_due_to_large_scale_precipitation + long_name: Max tendency of air potential temperature due to large scale precipitation + type: real + kind: kind_phys + units: K s-1 + - name: lower_bound_of_vertical_dimension_of_surface_snow + long_name: Lower bound of vertical dimension of surface snow + type: integer + kind: '' + units: count + - name: land_surface_perturbation_magnitudes + long_name: Land surface perturbation magnitudes + type: real + kind: kind_phys + units: variable + - name: max_critical_relative_humidity + long_name: Max critical relative humidity + type: real + kind: kind_phys + units: fraction + - name: max_grid_scale + long_name: Max grid scale + type: real + kind: kind_phys + units: m2 rad-2 + - name: maximum_soil_moisture_content_for_land_surface_model + long_name: Maximum soil moisture content for land surface model + type: real + kind: kind_phys + units: m + - name: do_allow_supersaturation_after_sedimentation + long_name: Do allow supersaturation after sedimentation + type: logical + kind: '' + units: flag + - name: autoconversion_to_snow_size_threshold + long_name: Autoconversion to snow size threshold + type: real + kind: kind_phys + units: um + - name: bergeron_findeisen_process_efficiency_factor + long_name: Bergeron findeisen process efficiency factor + type: real + kind: kind_phys + units: fraction + - name: relative_variance_of_subgrid_cloud_condensate_distribution + long_name: Relative variance of subgrid cloud condensate distribution + type: real + kind: kind_phys + units: kg2 kg-2 + - name: prescribed_number_concentration_of_cloud_droplets + long_name: Prescribed number concentration of cloud droplets + type: real + kind: kind_phys + units: m-3 + - name: do_prescribed_number_concentration_of_cloud_droplets + long_name: Do prescribed number concentration of cloud droplets + type: logical + kind: '' + units: flag + - name: do_cloud_ice_processes + long_name: Do cloud ice processes + type: logical + kind: '' + units: flag + - name: do_gmao_autoconversion_to_snow + long_name: Do gmao autoconversion to snow + type: logical + kind: '' + units: flag + - name: do_graupel_instead_of_hail + long_name: Do graupel instead of hail + type: logical + kind: '' + units: flag + - name: do_hail_instead_of_graupel + long_name: Do hail instead of graupel + type: logical + kind: '' + units: flag + - name: do_heterogeneous_nucleation + long_name: Do heterogeneous nucleation + type: logical + kind: '' + units: flag + - name: do_liu_autoconversion_to_rain + long_name: Do liu autoconversion to rain + type: logical + kind: '' + units: flag + - name: do_seifert_and_beheng_2001_autoconversion + long_name: Do seifert and beheng 2001 autoconversion + type: logical + kind: '' + units: flag + - name: do_uniform_subcolumns + long_name: Do uniform subcolumns + type: logical + kind: '' + units: flag + - name: do_prescribed_number_concentration_of_graupel + long_name: Do prescribed number concentration of graupel + type: logical + kind: '' + units: flag + - name: do_prescribed_number_concentration_of_cloud_ice + long_name: Do prescribed number concentration of cloud ice + type: logical + kind: '' + units: flag + - name: prescribed_number_concentration_of_graupel + long_name: Prescribed number concentration of graupel + type: real + kind: kind_phys + units: m-3 + - name: prescribed_number_concentration_of_cloud_ice + long_name: Prescribed number concentration of cloud ice + type: real + kind: kind_phys + units: m-3 + - name: minimum_cloud_condensate_mixing_ratio_wrt_moist_air_threshold + long_name: Minimum cloud condensate mixing ratio wrt moist air threshold + type: real + kind: kind_phys + units: kg kg-1 + - name: minimum_cloud_liquid_water_mixing_ratio_wrt_moist_air_threshold + long_name: Minimum cloud liquid water mixing ratio wrt moist air threshold + type: real + kind: kind_phys + units: kg kg-1 + - name: minimum_cloud_ice_mixing_ratio_wrt_moist_air_threshold + long_name: Minimum cloud ice mixing ratio wrt moist air threshold + type: real + kind: kind_phys + units: kg kg-1 + - name: relative_humidity_threshold_for_ice_nucleation + long_name: Relative humidity threshold for ice nucleation + type: real + kind: kind_phys + units: fraction + - name: timescale_for_autoconversion_to_snow + long_name: Timescale for autoconversion to snow + type: real + kind: kind_phys + units: s + - name: alpha_tuning_coefficient_for_morrison_gettelman_microphysics_scheme + long_name: Alpha tuning coefficient for morrison gettelman microphysics scheme + type: real + kind: kind_phys + units: 1 + - name: control_for_precipitation_area_fraction_method + long_name: Control for precipitation area fraction method + type: character + kind: len=16 + units: none + - name: minimum_large_ice_fraction + long_name: Minimum large ice fraction + type: real + kind: kind_phys + units: fraction + - name: minimum_pressure_in_rrtmgp + long_name: Minimum pressure in rrtmgp + type: real + kind: kind_phys + units: Pa + - name: min_grid_scale + long_name: Min grid scale + type: real + kind: kind_phys + units: m2 rad-2 + - name: minimum_soil_moisture_content_for_land_surface_model + long_name: Minimum soil moisture content for land surface model + type: real + kind: kind_phys + units: m + - name: minimum_temperature_in_rrtmgp + long_name: Minimum temperature in rrtmgp + type: real + kind: kind_phys + units: K + - name: control_for_total_water_mixing_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for total water mixing in mellor yamada nakanishi niino pbl + scheme + type: integer + kind: '' + units: 1 + - name: control_for_mixing_length_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for mixing length in mellor yamada nakanishi niino pbl scheme + type: integer + kind: '' + units: 1 + - name: momentum_transport_reduction_factor_due_to_pressure_gradient_force_for_deep_convection + long_name: Momentum transport reduction factor due to pressure gradient force + for deep convection + type: real + kind: kind_phys + units: fraction + - name: momentum_transport_reduction_factor_due_to_pressure_gradient_force_for_shallow_convection + long_name: Momentum transport reduction factor due to pressure gradient force + for shallow convection + type: real + kind: kind_phys + units: fraction + - name: mpi_communicator + long_name: Mpi communicator + type: integer + kind: '' + units: index + - name: mpi_rank + long_name: Mpi rank + type: integer + kind: '' + units: index + - name: mpi_root + long_name: Mpi root + type: integer + kind: '' + units: index + - name: number_of_mpi_tasks + long_name: Number of mpi tasks + type: integer + kind: '' + units: count + - name: tunable_parameter_for_critical_cloud_workfunction_in_relaxed_arakawa_schubert_deep_convection + long_name: Tunable parameter for critical cloud workfunction in relaxed arakawa + schubert deep convection + type: real + kind: kind_phys + units: 1 + - name: tunable_parameters_for_convective_gravity_wave_drag + long_name: Tunable parameters for convective gravity wave drag + type: real + kind: kind_phys + units: 1 + - name: multiplicative_tunable_parameters_for_mountain_blocking_and_orographic_gravity_wave_drag + long_name: Multiplicative tunable parameters for mountain blocking and orographic + gravity wave drag + type: real + kind: kind_phys + units: 1 + - name: control_for_additional_diagnostics_in_mellor_yamada_nakanishi_niino_pbl_scheme + long_name: Control for additional diagnostics in mellor yamada nakanishi niino + pbl scheme + type: integer + kind: '' + units: 1 + - name: filename_of_namelist + long_name: Filename of namelist + type: character + kind: len=64 + units: none + - name: filename_of_internal_namelist + long_name: Filename of internal namelist + type: character + kind: len=256 + units: none + - name: number_of_xy_dimensioned_auxiliary_arrays + long_name: Number of xy dimensioned auxiliary arrays + type: integer + kind: '' + units: count + - name: number_of_pdf_based_variables_in_xyz_dimensioned_restart_array + long_name: Number of pdf based variables in xyz dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_xyz_dimensioned_auxiliary_arrays + long_name: Number of xyz dimensioned auxiliary arrays + type: integer + kind: '' + units: count + - name: number_of_radiatively_active_gases + long_name: Number of radiatively active gases + type: integer + kind: '' + units: count + - name: number_of_aerosol_tracers + long_name: Number of aerosol tracers + type: integer + kind: '' + units: count + - name: number_of_gaussian_quadrature_angles_for_radiation + long_name: Number of gaussian quadrature angles for radiation + type: integer + kind: '' + units: count + - name: number_of_chemical_tracers + long_name: Number of chemical tracers + type: integer + kind: '' + units: count + - name: number_of_condensate_species + long_name: Number of condensate species + type: integer + kind: '' + units: count + - name: number_of_cloud_types_in_chikira_sugiyama_deep_convection + long_name: Number of cloud types in chikira sugiyama deep convection + type: integer + kind: '' + units: count + - name: number_of_convective_cloud_variables_in_xyz_dimensioned_restart_array + long_name: Number of convective cloud variables in xyz dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_days_in_current_year + long_name: Number of days in current year + type: integer + kind: '' + units: days + - name: number_of_equatorial_longitude_points + long_name: Number of equatorial longitude points + type: integer + kind: '' + units: count + - name: number_of_variables_in_xy_dimensioned_restart_array + long_name: Number of variables in xy dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_variables_in_xyz_dimensioned_restart_array + long_name: Number of variables in xyz dimensioned restart array + type: integer + kind: '' + units: count + - name: number_of_frozen_precipitation_species + long_name: Number of frozen precipitation species + type: integer + kind: '' + units: count + - name: number_of_hydrometeors + long_name: Number of hydrometeors + type: integer + kind: '' + units: count + - name: number_of_independent_cellular_automata + long_name: Number of independent cellular automata + type: integer + kind: '' + units: count + - name: number_of_iterations_to_spin_up_cellular_automata + long_name: Number of iterations to spin up cellular automata + type: integer + kind: '' + units: count + - name: number_of_perturbed_land_surface_variables + long_name: Number of perturbed land surface variables + type: integer + kind: '' + units: count + - name: number_of_latitude_points + long_name: Number of latitude points + type: integer + kind: '' + units: count + - name: number_of_lines_in_internal_namelist + long_name: Number of lines in internal namelist + type: integer + kind: '' + units: count + - name: number_of_longwave_bands + long_name: Number of longwave bands + type: integer + kind: '' + units: count + - name: number_of_longwave_spectral_points + long_name: Number of longwave spectral points + type: integer + kind: '' + units: count + - name: number_of_x_points_for_current_cubed_sphere_tile + long_name: Number of x points for current cubed sphere tile + type: integer + kind: '' + units: count + - name: number_of_x_points_for_current_mpi_rank + long_name: Number of x points for current mpi rank + type: integer + kind: '' + units: count + - name: number_of_y_points_for_current_cubed_sphere_tile + long_name: Number of y points for current cubed sphere tile + type: integer + kind: '' + units: count + - name: number_of_y_points_for_current_mpi_rank + long_name: Number of y points for current mpi rank + type: integer + kind: '' + units: count + - name: number_of_diagnostics_variables_for_radiation + long_name: Number of diagnostics variables for radiation + type: integer + kind: '' + units: count + - name: number_of_ice_roughness_categories + long_name: Number of ice roughness categories + type: integer + kind: '' + units: count + - name: number_of_spectral_wave_truncation_for_simplified_arakawa_schubert_convection + long_name: Number of spectral wave truncation for simplified arakawa schubert + convection + type: integer + kind: '' + units: count + - name: number_of_statistical_measures_of_subgrid_orography + long_name: Number of statistical measures of subgrid orography + type: integer + kind: '' + units: count + - name: number_of_shortwave_bands + long_name: Number of shortwave bands + type: integer + kind: '' + units: count + - name: number_of_shortwave_spectral_points + long_name: Number of shortwave spectral points + type: integer + kind: '' + units: count + - name: index_of_cubed_sphere_tile + long_name: Index of cubed sphere tile + type: integer + kind: '' + units: index + - name: number_of_timesteps_between_diagnostics_resetting + long_name: Number of timesteps between diagnostics resetting + type: integer + kind: '' + units: count + - name: number_of_timesteps_between_longwave_radiation_calls + long_name: Number of timesteps between longwave radiation calls + type: integer + kind: '' + units: count + - name: number_of_timesteps_between_shortwave_radiation_calls + long_name: Number of timesteps between shortwave radiation calls + type: integer + kind: '' + units: count + - name: number_of_timesteps_between_surface_cycling_calls + long_name: Number of timesteps between surface cycling calls + type: integer + kind: '' + units: count + - name: number_of_timesteps_for_concurrent_radiation_and_remainder_physics_calls_after_model_initialization + long_name: Number of timesteps for concurrent radiation and remainder physics + calls after model initialization + type: integer + kind: '' + units: count + - name: number_of_tracers_plus_one + long_name: Number of tracers plus one + type: integer + kind: '' + units: count + - name: vertical_dimension_for_radiation + long_name: Vertical dimension for radiation + type: integer + kind: '' + units: count + - name: vertical_interface_dimension_for_radiation + long_name: Vertical interface dimension for radiation + type: integer + kind: '' + units: count + - name: multiplicative_tuning_parameter_for_potential_evaporation + long_name: Multiplicative tuning parameter for potential evaporation + type: real + kind: kind_phys + units: 1 + - name: air_pressure_at_bottom_extent_of_rayleigh_damping + long_name: Air pressure at bottom extent of rayleigh damping + type: real + kind: kind_phys + units: Pa + - name: rain_conversion_parameter_for_deep_convection + long_name: Rain conversion parameter for deep convection + type: real + kind: kind_phys + units: m-1 + - name: rain_conversion_parameter_for_shallow_convection + long_name: Rain conversion parameter for shallow convection + type: real + kind: kind_phys + units: m-1 + - name: rain_evaporation_coefficient_over_ocean_for_deep_convection + long_name: Rain evaporation coefficient over ocean for deep convection + type: real + kind: kind_phys + units: fraction + - name: rain_evaporation_coefficient_over_land_for_deep_convection + long_name: Rain evaporation coefficient over land for deep convection + type: real + kind: kind_phys + units: fraction + - name: filename_of_rrtmgp_longwave_cloud_optics_coefficients + long_name: Filename of rrtmgp longwave cloud optics coefficients + type: character + kind: len=128 + units: none + - name: filename_of_rrtmgp_shortwave_cloud_optics_coefficients + long_name: Filename of rrtmgp shortwave cloud optics coefficients + type: character + kind: len=128 + units: none + - name: filename_of_rrtmgp_longwave_k_distribution + long_name: Filename of rrtmgp longwave k distribution + type: character + kind: len=128 + units: none + - name: filename_of_rrtmgp_shortwave_k_distribution + long_name: Filename of rrtmgp shortwave k distribution + type: character + kind: len=128 + units: none + - name: do_rrtmgp_shortwave_and_rrtmg_longwave_radiation + long_name: Do rrtmgp shortwave and rrtmg longwave radiation + type: logical + kind: '' + units: flag + - name: min_sea_ice_area_fraction + long_name: Min sea ice area fraction + type: real + kind: kind_phys + units: fraction + - name: forecast_time_in_seconds + long_name: Forecast time in seconds + type: real + kind: kind_phys + units: s + - name: random_number_seed_for_cellular_automata + long_name: Random number seed for cellular automata + type: integer + kind: '' + units: 1 + - name: random_number_seed_for_deep_convection + long_name: Random number seed for deep convection + type: integer + kind: '' + units: 1 + - name: control_for_tke_dissipation_method + long_name: Control for tke dissipation method + type: real + kind: kind_phys + units: 1 + - name: uncentering_coefficient_for_implicit_tke_integration + long_name: Uncentering coefficient for implicit tke integration + type: real + kind: kind_phys + units: 1 + - name: pressure_threshold_for_increased_tke_dissipation + long_name: Pressure threshold for increased tke dissipation + type: real + kind: kind_phys + units: Pa + - name: multiplicative_tunable_parameter_for_tke_dissipation + long_name: Multiplicative tunable parameter for tke dissipation + type: real + kind: kind_phys + units: 1 + - name: multiplicative_tunable_parameter_for_tke_dissipation_at_surface_adjacent_layer + long_name: Multiplicative tunable parameter for tke dissipation at surface adjacent + layer + type: real + kind: kind_phys + units: 1 + - name: sine_of_solar_declination_angle + long_name: Sine of solar declination angle + type: real + kind: kind_phys + units: 1 + - name: vertical_dimension_of_surface_snow + long_name: Vertical dimension of surface snow + type: integer + kind: '' + units: count + - name: control_for_soil_type_dataset + long_name: Control for soil type dataset + type: integer + kind: '' + units: 1 + - name: vertical_dimension_of_soil + long_name: Vertical dimension of soil + type: integer + kind: '' + units: count + - name: vertical_dimension_of_soil_internal_to_land_surface_scheme + long_name: Vertical dimension of soil internal to land surface scheme + type: integer + kind: '' + units: count + - name: solar_constant + long_name: Solar constant + type: real + kind: kind_phys + units: W m-2 + - name: starting_x_index_for_current_mpi_rank + long_name: Starting x index for current mpi rank + type: integer + kind: '' + units: index + - name: starting_y_index_for_current_mpi_rank + long_name: Starting y index for current mpi rank + type: integer + kind: '' + units: index + - name: multiplicative_tuning_parameter_for_reduced_surface_heat_fluxes_due_to_canopy_heat_storage + long_name: Multiplicative tuning parameter for reduced surface heat fluxes due + to canopy heat storage + type: real + kind: kind_phys + units: 1 + - name: thickness_of_soil_layers_for_land_surface_model + long_name: Thickness of soil layers for land surface model + type: real + kind: kind_phys + units: m + - name: cellular_automata_vertical_velocity_perturbation_threshold_for_deep_convection + long_name: Cellular automata vertical velocity perturbation threshold for deep + convection + type: real + kind: kind_phys + units: m s-1 + - name: period_of_maximum_diagnostics_reset + long_name: Period of maximum diagnostics reset + type: real + kind: kind_phys + units: s + - name: timescale_for_rayleigh_damping + long_name: Timescale for rayleigh damping + type: real + kind: kind_phys + units: d + - name: time_elapsed_since_diagnostics_reset + long_name: Time elapsed since diagnostics reset + type: real + kind: kind_phys + units: h + - name: timestep_for_dynamics + long_name: Timestep for dynamics + type: real + kind: kind_phys + units: s + - name: do_tke_advection + long_name: Do tke advection + type: logical + kind: '' + units: flag + - name: control_for_tke_budget_output + long_name: Control for tke budget output + type: integer + kind: '' + units: 1 + - name: multiplicative_tuning_parameter_for_tke_dissipative_heating + long_name: Multiplicative tuning parameter for tke dissipative heating + type: real + kind: kind_phys + units: 1 + - name: total_amplitude_of_sppt_perturbation + long_name: Total amplitude of sppt perturbation + type: real + kind: kind_phys + units: 1 + - name: do_turbulent_orographic_form_drag_in_unified_gravity_wave_physics_gravity_wave_drag_scheme + long_name: Do turbulent orographic form drag in unified gravity wave physics gravity + wave drag scheme + type: logical + kind: '' + units: flag + - name: updraft_area_fraction_in_scale_aware_tke_moist_edmf_pbl_scheme + long_name: Updraft area fraction in scale aware tke moist edmf pbl scheme + type: real + kind: kind_phys + units: fraction + - name: tunable_parameter_1_for_maximum_cloud_base_updraft_velocity_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter 1 for maximum cloud base updraft velocity in chikira + sugiyama deep convection + type: real + kind: kind_phys + units: m s-1 + - name: tunable_parameter_2_for_maximum_cloud_base_updraft_velocity_in_chikira_sugiyama_deep_convection + long_name: Tunable parameter 2 for maximum cloud base updraft velocity in chikira + sugiyama deep convection + type: real + kind: kind_phys + units: m s-1 + - name: upper_bound_of_vertical_dimension_of_surface_snow + long_name: Upper bound of vertical dimension of surface snow + type: integer + kind: '' + units: count + - name: index_of_urban_vegetation_category + long_name: Index of urban vegetation category + type: integer + kind: '' + units: index + - name: land_surface_perturbation_variables + long_name: Land surface perturbation variables + type: character + kind: len=3 + units: none + - name: control_for_vegetation_dataset + long_name: Control for vegetation dataset + type: integer + kind: '' + units: 1 + - name: vertical_layer_dimension_minus_one + long_name: Vertical layer dimension minus one + type: integer + kind: '' + units: count + - name: sigma_pressure_hybrid_vertical_coordinate + long_name: Sigma pressure hybrid vertical coordinate + type: real + kind: kind_phys + units: 1 + - name: lower_bound_for_depth_of_sea_temperature_for_nsstm + long_name: Lower bound for depth of sea temperature for nsstm + type: integer + kind: '' + units: mm + - name: upper_bound_for_depth_of_sea_temperature_for_nsstm + long_name: Upper bound for depth of sea temperature for nsstm + type: integer + kind: '' + units: mm + - name: index_of_water_vegetation_category + long_name: Index of water vegetation category + type: integer + kind: '' + units: index + - name: filename_of_micm_configuration + long_name: Filename of micm configuration + type: character + kind: len=* + units: none +- name: GFS_typedefs_GFS_interstitial_type + comment: null + standard_names: + - name: cloud_ice_mixing_ratio_wrt_moist_air_interstitial + long_name: Cloud ice mixing ratio wrt moist air interstitial + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_interstitial + long_name: Cloud liquid water mixing ratio wrt moist air interstitial + type: real + kind: kind_phys + units: kg kg-1 + - name: radiatively_active_gases + long_name: Radiatively active gases + type: character + kind: len=128 + units: none + - name: process_split_cumulative_tendency_of_air_temperature + long_name: Process split cumulative tendency of air temperature + type: real + kind: kind_phys + units: K s-1 + - name: process_split_cumulative_tendency_of_mass_number_concentration_of_cloud_liquid_water_particles_in_air + long_name: Process split cumulative tendency of mass number concentration of cloud + liquid water particles in air + type: real + kind: kind_phys + units: kg-1 s-1 + - name: process_split_cumulative_tendency_of_graupel_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of graupel mixing ratio wrt moist + air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_cloud_ice_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of cloud ice mixing ratio wrt moist + air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols + long_name: Process split cumulative tendency of mass number concentration of nonhygroscopic + ice nucleating aerosols + type: real + kind: kind_phys + units: kg-1 s-1 + - name: process_split_cumulative_tendency_of_mass_number_concentration_of_cloud_ice_water_crystals_in_air + long_name: Process split cumulative tendency of mass number concentration of cloud + ice water crystals in air + type: real + kind: kind_phys + units: kg-1 s-1 + - name: process_split_cumulative_tendency_of_cloud_liquid_water_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of cloud liquid water mixing ratio + wrt moist air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_ozone_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of ozone mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_rain_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of rain mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_snow_mixing_ratio_wrt_moist_air + long_name: Process split cumulative tendency of snow mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_tracers + long_name: Process split cumulative tendency of tracers + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_turbulent_kinetic_energy + long_name: Process split cumulative tendency of turbulent kinetic energy + type: real + kind: kind_phys + units: J s-1 + - name: process_split_cumulative_tendency_of_mass_number_concentration_of_hygroscopic_aerosols + long_name: Process split cumulative tendency of mass number concentration of hygroscopic + aerosols + type: real + kind: kind_phys + units: kg-1 s-1 + - name: process_split_cumulative_tendency_of_specific_humidity + long_name: Process split cumulative tendency of specific humidity + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: process_split_cumulative_tendency_of_x_wind + long_name: Process split cumulative tendency of x wind + type: real + kind: kind_phys + units: m s-2 + - name: process_split_cumulative_tendency_of_y_wind + long_name: Process split cumulative tendency of y wind + type: real + kind: kind_phys + units: m s-2 + - name: vertical_interface_dimension_interstitial + long_name: Vertical interface dimension interstitial + type: integer + kind: '' + units: count +- name: GFS_typedefs_GFS_tbd_type + comment: null + standard_names: + - name: absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag + long_name: Absolute momentum flux due to nonorographic gravity wave drag + type: real + kind: kind_phys + units: various + - name: cumulative_lwe_thickness_of_convective_precipitation_amount_between_sw_radiation_calls + long_name: Cumulative lwe thickness of convective precipitation amount between + sw radiation calls + type: real + kind: kind_phys + units: m + - name: mass_number_concentration_of_aerosol_from_gocart_climatology + long_name: Mass number concentration of aerosol from gocart climatology + type: real + kind: kind_phys + units: kg-1 + - name: air_temperature_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Air temperature on previous timestep in xyz dimensioned restart array + type: real + kind: kind_phys + units: K + - name: air_temperature_two_timesteps_back + long_name: Air temperature two timesteps back + type: real + kind: kind_phys + units: K + - name: atmosphere_boundary_layer_thickness + long_name: Atmosphere boundary layer thickness + type: real + kind: kind_phys + units: m + - name: atmosphere_heat_diffusivity_from_shoc + long_name: Atmosphere heat diffusivity from shoc + type: real + kind: kind_phys + units: m2 s-1 + - name: atmosphere_updraft_convective_mass_flux_at_cloud_base_by_cloud_type + long_name: Atmosphere updraft convective mass flux at cloud base by cloud type + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: cloud_fraction_for_mg + long_name: Cloud fraction for mg + type: real + kind: kind_phys + units: fraction + - name: counter_for_grell_freitas_convection + long_name: Counter for grell freitas convection + type: integer + kind: '' + units: count + - name: convective_cloud_area_fraction + long_name: Convective cloud area fraction + type: real + kind: kind_phys + units: fraction + - name: convective_cloud_condensate_mixing_ratio_wrt_moist_air + long_name: Convective cloud condensate mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: effective_radius_of_stratiform_cloud_graupel_particle + long_name: Effective radius of stratiform cloud graupel particle + type: real + kind: kind_phys + units: um + - name: effective_radius_of_stratiform_cloud_ice_particle + long_name: Effective radius of stratiform cloud ice particle + type: real + kind: kind_phys + units: um + - name: effective_radius_of_stratiform_cloud_liquid_water_particle + long_name: Effective radius of stratiform cloud liquid water particle + type: real + kind: kind_phys + units: um + - name: effective_radius_of_stratiform_cloud_rain_particle + long_name: Effective radius of stratiform cloud rain particle + type: real + kind: kind_phys + units: um + - name: effective_radius_of_stratiform_cloud_snow_particle + long_name: Effective radius of stratiform cloud snow particle + type: real + kind: kind_phys + units: um + - name: stratospheric_water_vapor_forcing + long_name: Stratospheric water vapor forcing + type: real + kind: kind_phys + units: various + - name: heat_exchange_coefficient_for_myj_schemes + long_name: Heat exchange coefficient for myj schemes + type: real + kind: kind_phys + units: m s-1 + - name: ice_nucleation_number_from_climatology + long_name: Ice nucleation number from climatology + type: real + kind: kind_phys + units: kg-1 + - name: upward_virtual_potential_temperature_flux + long_name: Upward virtual potential temperature flux + type: real + kind: kind_phys + units: K m s-1 + - name: surface_upward_specific_humidity_flux_for_mellor_yamada_janjic_surface_layer_scheme + long_name: Surface upward specific humidity flux for mellor yamada janjic surface + layer scheme + type: real + kind: kind_phys + units: m s-1 kg kg-1 + - name: cumulative_max_vertical_index_at_cloud_base_between_sw_radiation_calls + long_name: Cumulative max vertical index at cloud base between sw radiation calls + type: real + kind: kind_phys + units: 1 + - name: map_of_block_column_number_to_global_i_index + long_name: Map of block column number to global i index + type: integer + kind: '' + units: index + - name: map_of_block_column_number_to_global_j_index + long_name: Map of block column number to global j index + type: integer + kind: '' + units: index + - name: turbulent_mixing_length + long_name: Turbulent mixing length + type: real + kind: kind_phys + units: m + - name: specific_humidity_on_previous_timestep + long_name: Specific humidity on previous timestep + type: real + kind: kind_phys + units: kg kg-1 + - name: tendency_of_specific_humidity_due_to_nonphysics + long_name: Tendency of specific humidity due to nonphysics + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: momentum_exchange_coefficient_for_myj_schemes + long_name: Momentum exchange coefficient for myj schemes + type: real + kind: kind_phys + units: m s-1 + - name: ozone_forcing + long_name: Ozone forcing + type: real + kind: kind_phys + units: various + - name: air_potential_temperature_at_top_of_viscous_sublayer + long_name: Air potential temperature at top of viscous sublayer + type: real + kind: kind_phys + units: K + - name: variance_of_specific_humidity + long_name: Variance of specific humidity + type: real + kind: kind_phys + units: kg2 kg-2 + - name: random_number + long_name: Random number + type: real + kind: kind_phys + units: 1 + - name: random_number_seed_for_mcica_longwave + long_name: Random number seed for mcica longwave + type: integer + kind: '' + units: 1 + - name: random_number_seed_for_mcica_shortwave + long_name: Random number seed for mcica shortwave + type: integer + kind: '' + units: 1 + - name: cumulative_min_vertical_index_at_cloud_base_between_sw_radiation_calls + long_name: Cumulative min vertical index at cloud base between sw radiation calls + type: real + kind: kind_phys + units: 1 + - name: specific_humidity_at_top_of_viscous_sublayer + long_name: Specific humidity at top of viscous sublayer + type: real + kind: kind_phys + units: kg kg-1 + - name: stability_function_for_heat + long_name: Stability function for heat + type: real + kind: kind_phys + units: 1 + - name: subgrid_scale_cloud_area_fraction_in_atmosphere_layer + long_name: Subgrid scale cloud area fraction in atmosphere layer + type: real + kind: kind_phys + units: fraction + - name: subgrid_scale_cloud_ice_mixing_ratio_wrt_moist_air + long_name: Subgrid scale cloud ice mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: subgrid_scale_cloud_liquid_water_mixing_ratio_wrt_moist_air + long_name: Subgrid scale cloud liquid water mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: subgrid_scale_cloud_fraction_from_shoc + long_name: Subgrid scale cloud fraction from shoc + type: real + kind: kind_phys + units: fraction + - name: surface_air_pressure_on_previous_timestep + long_name: Surface air pressure on previous timestep + type: real + kind: kind_phys + units: Pa + - name: surface_air_pressure_two_timesteps_back + long_name: Surface air pressure two timesteps back + type: real + kind: kind_phys + units: Pa + - name: control_for_surface_layer_evaporation + long_name: Control for surface layer evaporation + type: real + kind: kind_phys + units: 1 + - name: surface_specific_humidity_for_myj_schemes + long_name: Surface specific humidity for myj schemes + type: real + kind: kind_phys + units: kg kg-1 + - name: enhancement_to_wind_speed_at_surface_adjacent_layer_due_to_convection + long_name: Enhancement to wind speed at surface adjacent layer due to convection + type: real + kind: kind_phys + units: m s-1 + - name: covariance_of_air_temperature_and_specific_humidity + long_name: Covariance of air temperature and specific humidity + type: real + kind: kind_phys + units: K kg kg-1 + - name: variance_of_air_temperature + long_name: Variance of air temperature + type: real + kind: kind_phys + units: K2 + - name: tendency_of_air_temperature_due_to_nonphysics + long_name: Tendency of air temperature due to nonphysics + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_to_withhold_from_sppt + long_name: Tendency of air temperature to withhold from sppt + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_activated_cloud_condensation_nuclei_from_climatology + long_name: Tendency of activated cloud condensation nuclei from climatology + type: real + kind: kind_phys + units: kg-1 s-1 + - name: lwe_thickness_of_rain_amount_on_dynamics_timestep_for_coupling + long_name: Lwe thickness of rain amount on dynamics timestep for coupling + type: real + kind: kind_phys + units: m + - name: lwe_thickness_of_snowfall_amount_on_dynamics_timestep_for_coupling + long_name: Lwe thickness of snowfall amount on dynamics timestep for coupling + type: real + kind: kind_phys + units: m + - name: nonadvected_turbulent_kinetic_energy_multiplied_by_2 + long_name: Nonadvected turbulent kinetic energy multiplied by 2 + type: real + kind: kind_phys + units: m2 s-2 + - name: x_wind_at_top_of_viscous_sublayer + long_name: X wind at top of viscous sublayer + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_at_top_of_viscous_sublayer + long_name: Y wind at top of viscous sublayer + type: real + kind: kind_phys + units: m s-1 + - name: specific_humidity_on_previous_timestep_in_xyz_dimensioned_restart_array + long_name: Specific humidity on previous timestep in xyz dimensioned restart array + type: real + kind: kind_phys + units: kg kg-1 + - name: specific_humidity_two_timesteps_back + long_name: Specific humidity two timesteps back + type: real + kind: kind_phys + units: kg kg-1 + - name: weight_for_momentum_at_top_of_viscous_sublayer + long_name: Weight for momentum at top of viscous sublayer + type: real + kind: kind_phys + units: 1 + - name: weight_for_potential_temperature_at_top_of_viscous_sublayer + long_name: Weight for potential temperature at top of viscous sublayer + type: real + kind: kind_phys + units: 1 + - name: weight_for_specific_humidity_at_top_of_viscous_sublayer + long_name: Weight for specific humidity at top of viscous sublayer + type: real + kind: kind_phys + units: 1 +- name: GFS_typedefs_GFS_sfcprop_type + comment: null + standard_names: + - name: wet_canopy_area_fraction + long_name: Wet canopy area fraction + type: real + kind: kind_phys + units: fraction + - name: baseline_surface_longwave_emissivity + long_name: Baseline surface longwave emissivity + type: real + kind: kind_phys + units: fraction + - name: baseline_surface_roughness_length + long_name: Baseline surface roughness length + type: real + kind: kind_phys + units: m + - name: air_temperature_in_canopy + long_name: Air temperature in canopy + type: real + kind: kind_phys + units: K + - name: air_vapor_pressure_in_canopy + long_name: Air vapor pressure in canopy + type: real + kind: kind_phys + units: Pa + - name: canopy_intercepted_ice_mass + long_name: Canopy intercepted ice mass + type: real + kind: kind_phys + units: mm + - name: canopy_intercepted_liquid_water + long_name: Canopy intercepted liquid water + type: real + kind: kind_phys + units: mm + - name: canopy_water_amount + long_name: Canopy water amount + type: real + kind: kind_phys + units: kg m-2 + - name: cloud_condensed_water_mixing_ratio_wrt_moist_air_at_surface_over_ice + long_name: Cloud condensed water mixing ratio wrt moist air at surface over ice + type: real + kind: kind_phys + units: kg kg-1 + - name: cloud_condensed_water_mixing_ratio_wrt_moist_air_at_surface_over_land + long_name: Cloud condensed water mixing ratio wrt moist air at surface over land + type: real + kind: kind_phys + units: kg kg-1 + - name: coefficient_c_0 + long_name: Coefficient c 0 + type: real + kind: kind_phys + units: 1 + - name: coefficient_c_d + long_name: Coefficient c d + type: real + kind: kind_phys + units: 1 + - name: coefficient_w_0 + long_name: Coefficient w 0 + type: real + kind: kind_phys + units: 1 + - name: coefficient_w_d + long_name: Coefficient w d + type: real + kind: kind_phys + units: 1 + - name: convective_precipitation_rate_on_previous_timestep + long_name: Convective precipitation rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: deep_soil_temperature + long_name: Deep soil temperature + type: real + kind: kind_phys + units: K + - name: frozen_precipitation_density + long_name: Frozen precipitation density + type: real + kind: kind_phys + units: kg m-3 + - name: heat_content_in_diurnal_thermocline + long_name: Heat content in diurnal thermocline + type: real + kind: kind_phys + units: K m + - name: diurnal_thermocline_layer_thickness + long_name: Diurnal thermocline layer thickness + type: real + kind: kind_phys + units: m + - name: x_current_in_diurnal_thermocline + long_name: X current in diurnal thermocline + type: real + kind: kind_phys + units: m2 s-1 + - name: y_current_in_diurnal_thermocline + long_name: Y current in diurnal thermocline + type: real + kind: kind_phys + units: m2 s-1 + - name: volumetric_equilibrium_soil_moisture + long_name: Volumetric equilibrium soil moisture + type: real + kind: kind_phys + units: m3 m-3 + - name: explicit_precipitation_rate_on_previous_timestep + long_name: Explicit precipitation rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: fast_soil_pool_mass_content_of_carbon + long_name: Fast soil pool mass content of carbon + type: real + kind: kind_phys + units: g m-2 + - name: fine_root_mass_content + long_name: Fine root mass content + type: real + kind: kind_phys + units: g m-2 + - name: control_for_frozen_soil_physics + long_name: Control for frozen soil physics + type: real + kind: kind_phys + units: 1 + - name: precipitation_type + long_name: Precipitation type + type: real + kind: kind_phys + units: 1 + - name: strong_cosz_area_fraction + long_name: Strong cosz area fraction + type: real + kind: kind_phys + units: fraction + - name: weak_cosz_area_fraction + long_name: Weak cosz area fraction + type: real + kind: kind_phys + units: fraction + - name: free_convection_layer_thickness_in_sea_water + long_name: Free convection layer thickness in sea water + type: real + kind: kind_phys + units: m + - name: consecutive_calls_for_grell_freitas_convection + long_name: Consecutive calls for grell freitas convection + type: real + kind: kind_phys + units: 1 + - name: graupel_precipitation_rate_on_previous_timestep + long_name: Graupel precipitation rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: ground_temperature + long_name: Ground temperature + type: real + kind: kind_phys + units: K + - name: ice_precipitation_rate_on_previous_timestep + long_name: Ice precipitation rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: control_for_diurnal_thermocline_calculation + long_name: Control for diurnal thermocline calculation + type: real + kind: kind_phys + units: 1 + - name: temperature_in_ice_layer + long_name: Temperature in ice layer + type: real + kind: kind_phys + units: K + - name: surface_upward_specific_humidity_flux + long_name: Surface upward specific humidity flux + type: real + kind: kind_phys + units: kg kg-1 m s-1 + - name: surface_upward_temperature_flux + long_name: Surface upward temperature flux + type: real + kind: kind_phys + units: K m s-1 + - name: lake_area_fraction + long_name: Lake area fraction + type: real + kind: kind_phys + units: fraction + - name: lake_depth + long_name: Lake depth + type: real + kind: kind_phys + units: m + - name: water_storage_in_lake + long_name: Water storage in lake + type: real + kind: kind_phys + units: mm + - name: land_area_fraction + long_name: Land area fraction + type: real + kind: kind_phys + units: fraction + - name: depth_from_snow_surface_at_bottom_interface + long_name: Depth from snow surface at bottom interface + type: real + kind: kind_phys + units: m + - name: leaf_area_index + long_name: Leaf area index + type: real + kind: kind_phys + units: 1 + - name: leaf_mass_content + long_name: Leaf mass content + type: real + kind: kind_phys + units: g m-2 + - name: lwe_thickness_of_convective_precipitation_amount_on_previous_timestep + long_name: Lwe thickness of convective precipitation amount on previous timestep + type: real + kind: kind_phys + units: m + - name: lwe_thickness_of_explicit_precipitation_amount_on_previous_timestep + long_name: Lwe thickness of explicit precipitation amount on previous timestep + type: real + kind: kind_phys + units: m + - name: lwe_thickness_of_graupel_amount_on_previous_timestep + long_name: Lwe thickness of graupel amount on previous timestep + type: real + kind: kind_phys + units: m + - name: lwe_thickness_of_ice_precipitation_amount_on_previous_timestep + long_name: Lwe thickness of ice precipitation amount on previous timestep + type: real + kind: kind_phys + units: m + - name: snow_mass_on_previous_timestep + long_name: Snow mass on previous timestep + type: real + kind: kind_phys + units: m + - name: max_vegetation_area_fraction + long_name: Max vegetation area fraction + type: real + kind: kind_phys + units: fraction + - name: nir_albedo_strong_cosz + long_name: Nir albedo strong cosz + type: real + kind: kind_phys + units: fraction + - name: nir_albedo_weak_cosz + long_name: Nir albedo weak cosz + type: real + kind: kind_phys + units: fraction + - name: vis_albedo_strong_cosz + long_name: Vis albedo strong cosz + type: real + kind: kind_phys + units: fraction + - name: vis_albedo_weak_cosz + long_name: Vis albedo weak cosz + type: real + kind: kind_phys + units: fraction + - name: min_vegetation_area_fraction + long_name: Min vegetation area fraction + type: real + kind: kind_phys + units: fraction + - name: monin_obukhov_similarity_function_for_heat + long_name: Monin obukhov similarity function for heat + type: real + kind: kind_phys + units: 1 + - name: monin_obukhov_similarity_function_for_momentum + long_name: Monin obukhov similarity function for momentum + type: real + kind: kind_phys + units: 1 + - name: dimensionless_age_of_surface_snow + long_name: Dimensionless age of surface snow + type: real + kind: kind_phys + units: 1 + - name: nonnegative_lwe_thickness_of_precipitation_amount_on_dynamics_timestep + long_name: Nonnegative lwe thickness of precipitation amount on dynamics timestep + type: real + kind: kind_phys + units: m + - name: normalized_soil_wetness_for_land_surface_model + long_name: Normalized soil wetness for land surface model + type: real + kind: kind_phys + units: fraction + - name: number_of_snow_layers + long_name: Number of snow layers + type: real + kind: kind_phys + units: 1 + - name: ocean_mixed_layer_thickness + long_name: Ocean mixed layer thickness + type: real + kind: kind_phys + units: m + - name: height_above_mean_sea_level + long_name: Height above mean sea level + type: real + kind: kind_phys + units: m + - name: height_above_mean_sea_level_at_surface + long_name: Height above mean sea level at local surface + type: real + kind: kind_phys + units: m + - name: unfiltered_height_above_mean_sea_level + long_name: Unfiltered height above mean sea level + type: real + kind: kind_phys + units: m + - name: air_potential_temperature_at_2m + long_name: Air potential temperature at 2m + type: real + kind: kind_phys + units: K + - name: ratio_of_wind_at_surface_adjacent_layer_to_wind_at_10m + long_name: Ratio of wind at surface adjacent layer to wind at 10m + type: real + kind: kind_phys + units: ratio + - name: reciprocal_of_obukhov_length + long_name: Reciprocal of obukhov length + type: real + kind: kind_phys + units: m-1 + - name: sea_area_fraction + long_name: Sea area fraction + type: real + kind: kind_phys + units: fraction + - name: sea_ice_area_fraction_of_sea_area_fraction + long_name: Sea ice area fraction of sea area fraction + type: real + kind: kind_phys + units: fraction + - name: sea_ice_temperature + long_name: Sea ice temperature + type: real + kind: kind_phys + units: K + - name: sea_ice_thickness + long_name: Sea ice thickness + type: real + kind: kind_phys + units: m + - name: area_type + long_name: Area type + type: real + kind: kind_phys + units: 1 + - name: reference_sea_surface_temperature + long_name: Reference sea surface temperature + type: real + kind: kind_phys + units: K + - name: sea_surface_temperature + long_name: Sea surface temperature + type: real + kind: kind_phys + units: K + - name: sea_water_salinity_in_diurnal_thermocline + long_name: Sea water salinity in diurnal thermocline + type: real + kind: kind_phys + units: ppt m + - name: surface_sensible_heat_due_to_rainfall + long_name: Surface sensible heat due to rainfall + type: real + kind: kind_phys + units: W + - name: derivative_of_heat_content_in_diurnal_thermocline_wrt_surface_skin_temperature + long_name: Derivative of heat content in diurnal thermocline wrt surface skin + temperature + type: real + kind: kind_phys + units: m + - name: derivative_of_diurnal_thermocline_layer_thickness_wrt_surface_skin_temperature + long_name: Derivative of diurnal thermocline layer thickness wrt surface skin + temperature + type: real + kind: kind_phys + units: m K-1 + - name: slow_soil_pool_mass_content_of_carbon + long_name: Slow soil pool mass content of carbon + type: real + kind: kind_phys + units: g m-2 + - name: surface_albedo_assuming_deep_snow_on_previous_timestep + long_name: Surface albedo assuming deep snow on previous timestep + type: real + kind: kind_phys + units: fraction + - name: lwe_thickness_of_ice_in_surface_snow + long_name: Lwe thickness of ice in surface snow + type: real + kind: kind_phys + units: mm + - name: lwe_thickness_of_liquid_water_in_surface_snow + long_name: Lwe thickness of liquid water in surface snow + type: real + kind: kind_phys + units: mm + - name: lwe_thickness_of_snowfall_amount_on_previous_timestep + long_name: Lwe thickness of snowfall amount on previous timestep + type: real + kind: kind_phys + units: mm + - name: lwe_snowfall_rate + long_name: Lwe snowfall rate + type: real + kind: kind_phys + units: mm s-1 + - name: snowfall_rate_on_previous_timestep + long_name: Snowfall rate on previous timestep + type: real + kind: kind_phys + units: mm s-1 + - name: temperature_in_surface_snow + long_name: Temperature in surface snow + type: real + kind: kind_phys + units: K + - name: temperature_in_surface_snow_at_surface_adjacent_layer_over_ice + long_name: Temperature in surface snow at surface adjacent layer over ice + type: real + kind: kind_phys + units: K + - name: temperature_in_surface_snow_at_surface_adjacent_layer_over_land + long_name: Temperature in surface snow at surface adjacent layer over land + type: real + kind: kind_phys + units: K + - name: soil_temperature + long_name: Soil temperature + type: real + kind: kind_phys + units: K + - name: soil_temperature_for_land_surface_model + long_name: Soil temperature for land surface model + type: real + kind: kind_phys + units: K + - name: volumetric_soil_moisture_between_soil_bottom_and_water_table + long_name: Volumetric soil moisture between soil bottom and water table + type: real + kind: kind_phys + units: m3 m-3 + - name: water_vapor_mixing_ratio_wrt_moist_air_at_2m + long_name: mixing ratio of the mass of water vapor to the mass of moist air, at + two meters above surface + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water_at_2m + long_name: mixing ratio of the mass of water vapor to the mass of moist air and + hydrometeors, at two meters above surface + type: real + kind: kind_phys + units: kg kg-1 + - name: specified_surface_upward_specific_humidity_flux + long_name: Specified surface upward specific humidity flux + type: real + kind: kind_phys + units: kg kg-1 m s-1 + - name: specified_surface_upward_temperature_flux + long_name: Specified surface upward temperature flux + type: real + kind: kind_phys + units: K m s-1 + - name: standard_deviation_of_subgrid_orography + long_name: Standard deviation of subgrid orography + type: real + kind: kind_phys + units: m + - name: statistical_measures_of_subgrid_orography_collection_array + long_name: Statistical measures of subgrid orography collection array + type: real + kind: kind_phys + units: various + - name: stem_area_index + long_name: Stem area index + type: real + kind: kind_phys + units: 1 + - name: stem_mass_content + long_name: Stem mass content + type: real + kind: kind_phys + units: g m-2 + - name: molecular_sublayer_temperature_correction_in_sea_water + long_name: Molecular sublayer temperature correction in sea water + type: real + kind: kind_phys + units: K + - name: molecular_sublayer_thickness_in_sea_water + long_name: Molecular sublayer thickness in sea water + type: real + kind: kind_phys + units: m + - name: surface_albedo_diffuse_nir_over_ice + long_name: Surface albedo diffuse nir over ice + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_diffuse_nir_over_land + long_name: Surface albedo diffuse nir over land + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_diffuse_visible_over_ice + long_name: Surface albedo diffuse visible over ice + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_diffuse_visible_over_land + long_name: Surface albedo diffuse visible over land + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_direct_nir_over_ice + long_name: Surface albedo direct nir over ice + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_direct_nir_over_land + long_name: Surface albedo direct nir over land + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_direct_visible_over_ice + long_name: Surface albedo direct visible over ice + type: real + kind: kind_phys + units: fraction + - name: surface_albedo_direct_visible_over_land + long_name: Surface albedo direct visible over land + type: real + kind: kind_phys + units: fraction + - name: surface_diffused_shortwave_albedo_over_ice + long_name: Surface diffused shortwave albedo over ice + type: real + kind: kind_phys + units: fraction + - name: surface_diffused_shortwave_albedo_over_land + long_name: Surface diffused shortwave albedo over land + type: real + kind: kind_phys + units: fraction + - name: surface_drag_coefficient_for_heat_and_moisture_for_noahmp + long_name: Surface drag coefficient for heat and moisture for noahmp + type: real + kind: kind_phys + units: 1 + - name: surface_drag_coefficient_for_momentum_for_noahmp + long_name: Surface drag coefficient for momentum for noahmp + type: real + kind: kind_phys + units: 1 + - name: surface_exchange_coefficient_for_heat + long_name: Surface exchange coefficient for heat + type: real + kind: kind_phys + units: W m-2 K-1 + - name: surface_exchange_coefficient_for_heat_at_2m + long_name: Surface exchange coefficient for heat at 2m + type: real + kind: kind_phys + units: m s-1 + - name: surface_exchange_coefficient_for_moisture + long_name: Surface exchange coefficient for moisture + type: real + kind: kind_phys + units: kg m-2 s-1 + - name: surface_exchange_coefficient_for_moisture_at_2m + long_name: Surface exchange coefficient for moisture at 2m + type: real + kind: kind_phys + units: m s-1 + - name: surface_friction_velocity + long_name: Surface friction velocity + type: real + kind: kind_phys + units: m s-1 + - name: surface_friction_velocity_for_momentum + long_name: Surface friction velocity for momentum + type: real + kind: kind_phys + units: m s-1 + - name: surface_upward_latent_heat_flux + long_name: Surface upward latent heat flux + type: real + kind: kind_phys + units: W m-2 + - name: surface_longwave_emissivity_over_ice + long_name: Surface longwave emissivity over ice + type: real + kind: kind_phys + units: fraction + - name: surface_longwave_emissivity_over_land + long_name: Surface longwave emissivity over land + type: real + kind: kind_phys + units: fraction + - name: surface_roughness_length + long_name: Surface roughness length + type: real + kind: kind_phys + units: cm + - name: surface_roughness_length_from_wave_model + long_name: Surface roughness length from wave model + type: real + kind: kind_phys + units: cm + - name: surface_roughness_length_over_ice + long_name: Surface roughness length over ice + type: real + kind: kind_phys + units: cm + - name: surface_roughness_length_over_land + long_name: Surface roughness length over land + type: real + kind: kind_phys + units: cm + - name: surface_roughness_length_over_water + long_name: Surface roughness length over water + type: real + kind: kind_phys + units: cm + - name: skin_temperature_at_surface + long_name: Skin temperature at surface + type: real + kind: kind_phys + units: K + - name: skin_temperature_at_surface_over_ice + long_name: Skin temperature at surface over (or where) ice + type: real + kind: kind_phys + units: K + - name: skin_temperature_at_surface_over_land + long_name: Skin temperature at surface over (or where) land + type: real + kind: kind_phys + units: K + - name: skin_temperature_at_surface_over_ocean + long_name: Skin temperature at surface over (or where) ocean + type: real + kind: kind_phys + units: K + - name: skin_temperature_at_surface_over_snow + long_name: Skin temperature at surface over (or where) snow + type: real + kind: kind_phys + units: K + - name: surface_snow_area_fraction_over_ice + long_name: Surface snow area fraction over ice + type: real + kind: kind_phys + units: fraction + - name: surface_snow_area_fraction_over_land + long_name: Surface snow area fraction over land + type: real + kind: kind_phys + units: fraction + - name: surface_snow_free_albedo_over_land + long_name: Surface snow free albedo over land + type: real + kind: kind_phys + units: fraction + - name: lwe_surface_snow + long_name: Lwe surface snow + type: real + kind: kind_phys + units: mm + - name: surface_specific_humidity + long_name: Surface specific humidity + type: real + kind: kind_phys + units: kg kg-1 + - name: ratio_of_height_to_monin_obukhov_length + long_name: Ratio of height to monin obukhov length + type: real + kind: kind_phys + units: 1 + - name: air_temperature_at_2m + long_name: Air temperature at 2m + type: real + kind: kind_phys + units: K + - name: surface_temperature_scale + long_name: Surface temperature scale + type: real + kind: kind_phys + units: K + - name: time_since_last_snowfall + long_name: Time since last snowfall + type: real + kind: kind_phys + units: s + - name: surface_snow_amount_over_ice + long_name: Surface snow amount over ice + type: real + kind: kind_phys + units: kg m-2 + - name: surface_snow_amount_over_land + long_name: Surface snow amount over land + type: real + kind: kind_phys + units: kg m-2 + - name: upper_bound_of_max_albedo_assuming_deep_snow + long_name: Upper bound of max albedo assuming deep snow + type: real + kind: kind_phys + units: fraction + - name: vegetation_area_fraction + long_name: Vegetation area fraction + type: real + kind: kind_phys + units: fraction + - name: canopy_temperature + long_name: Canopy temperature + type: real + kind: kind_phys + units: K + - name: volume_fraction_of_frozen_soil_moisture_for_land_surface_model + long_name: Volume fraction of frozen soil moisture for land surface model + type: real + kind: kind_phys + units: fraction + - name: volume_fraction_of_condensed_water_in_soil + long_name: Volume fraction of condensed water in soil + type: real + kind: kind_phys + units: fraction + - name: volume_fraction_of_soil_moisture_for_land_surface_model + long_name: Volume fraction of soil moisture for land surface model + type: real + kind: kind_phys + units: fraction + - name: volume_fraction_of_unfrozen_water_in_soil + long_name: Volume fraction of unfrozen water in soil + type: real + kind: kind_phys + units: fraction + - name: volume_fraction_of_unfrozen_soil_moisture_for_land_surface_model + long_name: Volume fraction of unfrozen soil moisture for land surface model + type: real + kind: kind_phys + units: fraction + - name: lwe_thickness_of_surface_snow_amount + long_name: Lwe thickness of surface snow amount + type: real + kind: kind_phys + units: mm + - name: water_storage_in_aquifer + long_name: Water storage in aquifer + type: real + kind: kind_phys + units: mm + - name: water_storage_in_aquifer_and_saturated_soil + long_name: Water storage in aquifer and saturated soil + type: real + kind: kind_phys + units: mm + - name: water_table_depth + long_name: Water table depth + type: real + kind: kind_phys + units: m + - name: water_table_recharge_assuming_deep + long_name: Water table recharge assuming deep + type: real + kind: kind_phys + units: m + - name: water_table_recharge_assuming_shallow + long_name: Water table recharge assuming shallow + type: real + kind: kind_phys + units: m + - name: water_vapor_mixing_ratio_wrt_moist_air_at_surface_over_ice + long_name: Water vapor mixing ratio wrt moist air at surface over ice + type: real + kind: kind_phys + units: kg kg-1 + - name: water_vapor_mixing_ratio_wrt_moist_air_at_surface_over_land + long_name: Water vapor mixing ratio wrt moist air at surface over land + type: real + kind: kind_phys + units: kg kg-1 + - name: wood_mass_content + long_name: Wood mass content + type: real + kind: kind_phys + units: g m-2 +- name: GFS_typedefs_GFS_coupling_type + comment: null + standard_names: + - name: cellular_automata_global_pattern_from_coupled_process + long_name: Cellular automata global pattern from coupled process + type: real + kind: kind_phys + units: 1 + - name: convective_cloud_condensate_after_rainout + long_name: Convective cloud condensate after rainout + type: real + kind: kind_phys + units: kg kg-1 + - name: cumulative_surface_downwelling_diffuse_nir_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling diffuse nir shortwave flux for coupling + multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling diffuse uv and vis shortwave flux for + coupling multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_direct_nir_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling direct nir shortwave flux for coupling + multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling direct uv and vis shortwave flux for + coupling multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_longwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling longwave flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_downwelling_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface downwelling shortwave flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_diffuse_nir_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling diffuse nir shortwave flux for coupling + multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling diffuse uv and vis shortwave flux + for coupling multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_direct_nir_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling direct nir shortwave flux for coupling + multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling direct uv and vis shortwave flux + for coupling multiplied by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_longwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling longwave flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_net_downwelling_shortwave_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface net downwelling shortwave flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_upward_latent_heat_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface upward latent heat flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_upward_sensible_heat_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface upward sensible heat flux for coupling multiplied + by timestep + type: real + kind: kind_phys + units: J m-2 + - name: cumulative_surface_x_momentum_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface x momentum flux for coupling multiplied by timestep + type: real + kind: kind_phys + units: Pa s + - name: cumulative_surface_y_momentum_flux_for_coupling_multiplied_by_timestep + long_name: Cumulative surface y momentum flux for coupling multiplied by timestep + type: real + kind: kind_phys + units: Pa s + - name: cellular_automata_area_fraction_for_deep_convection_from_coupled_process + long_name: Cellular automata area fraction for deep convection from coupled process + type: real + kind: kind_phys + units: fraction + - name: atmosphere_heat_diffusivity_for_chemistry_coupling + long_name: Atmosphere heat diffusivity for chemistry coupling + type: real + kind: kind_phys + units: m2 s-1 + - name: specific_humidity_at_2m_for_coupling + long_name: Specific humidity at 2m for coupling + type: real + kind: kind_phys + units: kg kg-1 + - name: surface_air_pressure_for_coupling + long_name: Surface air pressure for coupling + type: real + kind: kind_phys + units: Pa + - name: surface_downwelling_diffuse_nir_shortwave_flux_for_coupling + long_name: Surface downwelling diffuse nir shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling + long_name: Surface downwelling diffuse uv and vis shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_direct_nir_shortwave_flux_for_coupling + long_name: Surface downwelling direct nir shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling + long_name: Surface downwelling direct uv and vis shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_longwave_flux_for_coupling + long_name: Surface downwelling longwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_shortwave_flux_for_coupling + long_name: Surface downwelling shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_diffuse_nir_shortwave_flux_for_coupling + long_name: Surface net downwelling diffuse nir shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_diffuse_uv_and_vis_shortwave_flux_for_coupling + long_name: Surface net downwelling diffuse uv and vis shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_direct_nir_shortwave_flux_for_coupling + long_name: Surface net downwelling direct nir shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_direct_uv_and_vis_shortwave_flux_for_coupling + long_name: Surface net downwelling direct uv and vis shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_longwave_flux_for_coupling + long_name: Surface net downwelling longwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_shortwave_flux_for_coupling + long_name: Surface net downwelling shortwave flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_skin_temperature_for_coupling + long_name: Surface skin temperature for coupling + type: real + kind: kind_phys + units: K + - name: surface_upward_latent_heat_flux_for_coupling + long_name: Surface upward latent heat flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_upward_sensible_heat_flux_for_chemistry_coupling + long_name: Surface upward sensible heat flux for chemistry coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_upward_sensible_heat_flux_for_coupling + long_name: Surface upward sensible heat flux for coupling + type: real + kind: kind_phys + units: W m-2 + - name: surface_x_momentum_flux_for_coupling + long_name: Surface x momentum flux for coupling + type: real + kind: kind_phys + units: Pa + - name: surface_y_momentum_flux_for_coupling + long_name: Surface y momentum flux for coupling + type: real + kind: kind_phys + units: Pa + - name: temperature_at_2m_for_coupling + long_name: Temperature at 2m for coupling + type: real + kind: kind_phys + units: K + - name: tendency_of_specific_humidity_due_to_moist_convection_for_coupling + long_name: Tendency of specific humidity due to moist convection for coupling + type: real + kind: kind_phys + units: kg kg-1 s-1 + - name: x_wind_at_10m_for_coupling + long_name: X wind at 10m for coupling + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_at_10m_for_coupling + long_name: Y wind at 10m for coupling + type: real + kind: kind_phys + units: m s-1 + - name: cumulative_lwe_thickness_of_convective_precipitation_amount_for_coupling + long_name: Cumulative lwe thickness of convective precipitation amount for coupling + type: real + kind: kind_phys + units: m + - name: cumulative_lwe_thickness_of_precipitation_amount_for_coupling + long_name: Cumulative lwe thickness of precipitation amount for coupling + type: real + kind: kind_phys + units: m + - name: cumulative_lwe_thickness_of_snow_amount_for_coupling + long_name: Cumulative lwe thickness of snow amount for coupling + type: real + kind: kind_phys + units: m + - name: physics_field_for_coupling + long_name: Physics field for coupling + type: real + kind: kind_phys + units: m2 s-2 + - name: rrtmgp_jacobian_of_lw_flux_upward + long_name: Rrtmgp jacobian of lw flux upward + type: real + kind: kind_phys + units: W m-2 K-1 + - name: rrtmgp_lw_flux_profile_downward_allsky + long_name: Rrtmgp lw flux profile downward allsky + type: real + kind: kind_phys + units: W m-2 + - name: rrtmgp_lw_flux_profile_upward_allsky + long_name: Rrtmgp lw flux profile upward allsky + type: real + kind: kind_phys + units: W m-2 + - name: area_type_from_coupled_process + long_name: Area type from coupled process + type: real + kind: kind_phys + units: 1 + - name: surface_downwelling_diffuse_nir_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling diffuse nir shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_diffuse_uv_and_vis_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling diffuse uv and vis shortwave flux on radiation + timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_direct_nir_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling direct nir shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_direct_uv_and_vis_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling direct uv and vis shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_longwave_flux_on_radiation_timestep + long_name: Surface downwelling longwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_downwelling_shortwave_flux_on_radiation_timestep + long_name: Surface downwelling shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_net_downwelling_shortwave_flux_on_radiation_timestep + long_name: Surface net downwelling shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_nir_albedo_diffuse_rad_for_coupling + long_name: Surface nir albedo diffuse rad for coupling + type: real + kind: kind_phys + units: fraction + - name: surface_nir_albedo_direct_rad_for_coupling + long_name: Surface nir albedo direct rad for coupling + type: real + kind: kind_phys + units: fraction + - name: lwe_surface_snow_from_coupled_process + long_name: Lwe surface snow from coupled process + type: real + kind: kind_phys + units: m + - name: surface_upward_latent_heat_flux_from_coupled_process + long_name: Surface upward latent heat flux from coupled process + type: real + kind: kind_phys + units: W m-2 + - name: surface_upward_sensible_heat_flux_from_coupled_process + long_name: Surface upward sensible heat flux from coupled process + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_diffuse_nir_shortwave_flux_on_radiation_timestep + long_name: Surface upwelling diffuse nir shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_diffuse_uv_and_vis_shortwave_flux_on_radiation_timestep + long_name: Surface upwelling diffuse uv and vis shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_direct_nir_shortwave_flux_on_radiation_timestep + long_name: Surface upwelling direct nir shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_direct_uv_and_vis_shortwave_flux_on_radiation_timestep + long_name: Surface upwelling direct uv and vis shortwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_longwave_flux_from_coupled_process + long_name: Surface upwelling longwave flux from coupled process + type: real + kind: kind_phys + units: W m-2 + - name: surface_upwelling_longwave_flux_on_radiation_timestep + long_name: Surface upwelling longwave flux on radiation timestep + type: real + kind: kind_phys + units: W m-2 + - name: surface_vis_albedo_diffuse_rad_for_coupling + long_name: Surface vis albedo diffuse rad for coupling + type: real + kind: kind_phys + units: fraction + - name: surface_vis_albedo_direct_rad_for_coupling + long_name: Surface vis albedo direct rad for coupling + type: real + kind: kind_phys + units: fraction + - name: surface_x_momentum_flux_from_coupled_process + long_name: Surface x momentum flux from coupled process + type: real + kind: kind_phys + units: Pa + - name: surface_y_momentum_flux_from_coupled_process + long_name: Surface y momentum flux from coupled process + type: real + kind: kind_phys + units: Pa + - name: tendency_of_nonhygroscopic_ice_nucleating_aerosols_at_surface_adjacent_layer + long_name: Tendency of nonhygroscopic ice nucleating aerosols at surface adjacent + layer + type: real + kind: kind_phys + units: kg-1 s-1 + - name: tendency_of_hygroscopic_aerosols_at_surface_adjacent_layer + long_name: Tendency of hygroscopic aerosols at surface adjacent layer + type: real + kind: kind_phys + units: kg-1 s-1 + - name: updated_tendency_of_air_temperature_due_to_longwave_heating_on_physics_timestep + long_name: Updated tendency of air temperature due to longwave heating on physics + timestep + type: real + kind: kind_phys + units: K s-1 + - name: cellular_automata_vertical_weight + long_name: Cellular automata vertical weight + type: real + kind: kind_phys + units: fraction + - name: shum_weights_from_coupled_process + long_name: Shum weights from coupled process + type: real + kind: kind_phys + units: 1 + - name: skeb_x_wind_weights_from_coupled_process + long_name: Skeb x wind weights from coupled process + type: real + kind: kind_phys + units: 1 + - name: skeb_y_wind_weights_from_coupled_process + long_name: Skeb y wind weights from coupled process + type: real + kind: kind_phys + units: 1 + - name: sppt_weights_from_coupled_process + long_name: Sppt weights from coupled process + type: real + kind: kind_phys + units: 1 + - name: surface_stochastic_weights_from_coupled_process + long_name: Surface stochastic weights from coupled process + type: real + kind: kind_phys + units: 1 +- name: GFS_typedefs_GFS_statein_type + comment: null + standard_names: + - name: air_pressure_at_lowest_model_interface + long_name: Air pressure at lowest model interface + type: real + kind: kind_phys + units: Pa + - name: air_pressure_at_surface_adjacent_layer + long_name: Air pressure at surface adjacent layer + type: real + kind: kind_phys + units: Pa + - name: air_temperature_at_surface_adjacent_layer + long_name: Air temperature at surface adjacent layer + type: real + kind: kind_phys + units: K + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_at_surface_adjacent_layer + long_name: Cloud liquid water mixing ratio wrt moist air at surface adjacent layer + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_cloud_liquid_water_particles_in_air + long_name: Mass number concentration of cloud liquid water particles in air + type: real + kind: kind_phys + units: kg-1 + - name: surface_dimensionless_exner_function + long_name: Surface dimensionless exner function + type: real + kind: kind_phys + units: 1 + - name: dimensionless_exner_function_at_surface_adjacent_layer + long_name: Dimensionless exner function at surface adjacent layer + type: real + kind: kind_phys + units: 1 + - name: dimensionless_exner_function_at_interfaces + long_name: Dimensionless exner function at interfaces + type: real + kind: kind_phys + units: 1 + - name: dissipation_estimate_of_air_temperature_at_model_layers + long_name: Dissipation estimate of air temperature at model layers + type: real + kind: kind_phys + units: K + - name: geopotential + long_name: Geopotential + type: real + kind: kind_phys + units: m2 s-2 + - name: geopotential_at_interfaces + long_name: Geopotential at interfaces + type: real + kind: kind_phys + units: m2 s-2 + - name: graupel_mixing_ratio_wrt_moist_air + long_name: Graupel mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_graupel_in_air + long_name: Mass number concentration of graupel in air + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols + long_name: Mass number concentration of nonhygroscopic ice nucleating aerosols + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_cloud_ice_water_crystals_in_air + long_name: Mass number concentration of cloud ice water crystals in air + type: real + kind: kind_phys + units: kg-1 + - name: ozone_mixing_ratio_wrt_moist_air + long_name: Ozone mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_rain_water_in_air + long_name: Mass number concentration of rain water in air + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_snow_in_air + long_name: Mass number concentration of snow in air + type: real + kind: kind_phys + units: kg-1 + - name: snow_mixing_ratio_wrt_moist_air + long_name: Snow mixing ratio wrt moist air + type: real + kind: kind_phys + units: kg kg-1 + - name: tracer_concentration + long_name: Tracer concentration + type: real + kind: kind_phys + units: kg kg-1 + - name: turbulent_kinetic_energy + long_name: Turbulent kinetic energy + type: real + kind: kind_phys + units: J + - name: mass_number_concentration_of_hygroscopic_aerosols + long_name: Mass number concentration of hygroscopic aerosols + type: real + kind: kind_phys + units: kg-1 + - name: specific_humidity_at_surface_adjacent_layer + long_name: Specific humidity at surface adjacent layer + type: real + kind: kind_phys + units: kg kg-1 + - name: x_wind_at_surface_adjacent_layer + long_name: X wind at surface adjacent layer + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_at_surface_adjacent_layer + long_name: Y wind at surface adjacent layer + type: real + kind: kind_phys + units: m s-1 +- name: GFS_typedefs_GFS_cldprop_type + comment: null + standard_names: + - name: convective_cloud_area_fraction_between_sw_radiation_calls_from_cnvc90 + long_name: Convective cloud area fraction between sw radiation calls from cnvc90 + type: real + kind: kind_phys + units: fraction + - name: pressure_at_convective_cloud_base_between_sw_radiation_calls_from_cnvc90 + long_name: Pressure at convective cloud base between sw radiation calls from cnvc90 + type: real + kind: kind_phys + units: Pa + - name: pressure_at_convective_cloud_top_between_sw_radiation_calls_from_cnvc90 + long_name: Pressure at convective cloud top between sw radiation calls from cnvc90 + type: real + kind: kind_phys + units: Pa +- name: GFS_typedefs_GFS_radtend_type + comment: null + standard_names: + - name: cosine_of_solar_zenith_angle_for_daytime_points_on_radiation_timestep + long_name: Cosine of solar zenith angle for daytime points on radiation timestep + type: real + kind: kind_phys + units: 1 + - name: cosine_of_solar_zenith_angle_on_radiation_timestep + long_name: Cosine of solar zenith angle on radiation timestep + type: real + kind: kind_phys + units: 1 + - name: surface_lw_fluxes_assuming_total_and_clear_sky_on_radiation_timestep + long_name: Surface lw fluxes assuming total and clear sky on radiation timestep + type: sfcflw_type + kind: '' + units: W m-2 + - name: surface_albedo_for_diffused_shortwave_on_radiation_timestep + long_name: Surface albedo for diffused shortwave on radiation timestep + type: real + kind: kind_phys + units: fraction + - name: surface_longwave_emissivity + long_name: Surface longwave emissivity + type: real + kind: kind_phys + units: fraction + - name: air_temperature_at_surface_adjacent_layer_on_radiation_timestep + long_name: Air temperature at surface adjacent layer on radiation timestep + type: real + kind: kind_phys + units: K + - name: surface_sw_fluxes_assuming_total_and_clear_sky_on_radiation_timestep + long_name: Surface sw fluxes assuming total and clear sky on radiation timestep + type: sfcfsw_type + kind: '' + units: W m-2 + - name: tendency_of_air_temperature_due_to_longwave_heating_assuming_clear_sky_on_radiation_timestep + long_name: Tendency of air temperature due to longwave heating assuming clear + sky on radiation timestep + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_integrated_dynamics_through_earths_atmosphere + long_name: Tendency of air temperature due to integrated dynamics through earths + atmosphere + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_longwave_heating_on_radiation_timestep + long_name: Tendency of air temperature due to longwave heating on radiation timestep + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_shortwave_heating_assuming_clear_sky_on_radiation_timestep + long_name: Tendency of air temperature due to shortwave heating assuming clear + sky on radiation timestep + type: real + kind: kind_phys + units: K s-1 + - name: tendency_of_air_temperature_due_to_shortwave_heating_on_radiation_timestep + long_name: Tendency of air temperature due to shortwave heating on radiation timestep + type: real + kind: kind_phys + units: K s-1 +- name: GFS_typedefs_GFS_grid_type + comment: null + standard_names: + - name: longitude_interpolation_weight_for_aerosol_forcing + long_name: Longitude interpolation weight for aerosol forcing + type: real + kind: kind_phys + units: 1 + - name: latitude_interpolation_weight_for_aerosol_forcing + long_name: Latitude interpolation weight for aerosol forcing + type: real + kind: kind_phys + units: 1 + - name: characteristic_grid_lengthscale + long_name: Characteristic grid lengthscale + type: real + kind: kind_phys + units: m + - name: longitude_interpolation_weight_for_cloud_nuclei_forcing + long_name: Longitude interpolation weight for cloud nuclei forcing + type: real + kind: kind_phys + units: 1 + - name: latitude_interpolation_weight_for_cloud_nuclei_forcing + long_name: Latitude interpolation weight for cloud nuclei forcing + type: real + kind: kind_phys + units: 1 + - name: cosine_of_latitude + long_name: Cosine of latitude + type: real + kind: kind_phys + units: 1 + - name: latitude_interpolation_weight_complement_for_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag + long_name: Latitude interpolation weight complement for absolute momentum flux + due to nonorographic gravity wave drag + type: real + kind: kind_phys + units: 1 + - name: latitude_interpolation_weight_for_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag + long_name: Latitude interpolation weight for absolute momentum flux due to nonorographic + gravity wave drag + type: real + kind: kind_phys + units: 1 + - name: lower_longitude_index_of_aerosol_forcing_for_interpolation + long_name: Lower longitude index of aerosol forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_aerosol_forcing_for_interpolation + long_name: Lower latitude index of aerosol forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_longitude_index_of_cloud_nuclei_forcing_for_interpolation + long_name: Lower longitude index of cloud nuclei forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_cloud_nuclei_forcing_for_interpolation + long_name: Lower latitude index of cloud nuclei forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag_for_interpolation + long_name: Lower latitude index of absolute momentum flux due to nonorographic + gravity wave drag for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_ozone_forcing_for_interpolation + long_name: Lower latitude index of ozone forcing for interpolation + type: integer + kind: '' + units: index + - name: lower_latitude_index_of_stratospheric_water_vapor_forcing_for_interpolation + long_name: Lower latitude index of stratospheric water vapor forcing for interpolation + type: integer + kind: '' + units: index + - name: latitude_interpolation_weight_for_ozone_forcing + long_name: Latitude interpolation weight for ozone forcing + type: real + kind: kind_phys + units: 1 + - name: sine_of_latitude + long_name: Sine of latitude + type: real + kind: kind_phys + units: 1 + - name: upper_longitude_index_of_aerosol_forcing_for_interpolation + long_name: Upper longitude index of aerosol forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_aerosol_forcing_for_interpolation + long_name: Upper latitude index of aerosol forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_longitude_index_of_cloud_nuclei_forcing_for_interpolation + long_name: Upper longitude index of cloud nuclei forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_cloud_nuclei_forcing_for_interpolation + long_name: Upper latitude index of cloud nuclei forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_absolute_momentum_flux_due_to_nonorographic_gravity_wave_drag_for_interpolation + long_name: Upper latitude index of absolute momentum flux due to nonorographic + gravity wave drag for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_ozone_forcing_for_interpolation + long_name: Upper latitude index of ozone forcing for interpolation + type: integer + kind: '' + units: index + - name: upper_latitude_index_of_stratospheric_water_vapor_forcing_for_interpolation + long_name: Upper latitude index of stratospheric water vapor forcing for interpolation + type: integer + kind: '' + units: index + - name: latitude_interpolation_weight_for_stratospheric_water_vapor_forcing + long_name: Latitude interpolation weight for stratospheric water vapor forcing + type: real + kind: kind_phys + units: 1 +- name: GFS_typedefs_GFS_stateout_type + comment: null + standard_names: + - name: air_temperature_of_new_state_at_surface_adjacent_layer + long_name: Air temperature of new state at surface adjacent layer + type: real + kind: kind_phys + units: K + - name: air_temperature_of_new_state + long_name: Air temperature of new state + type: real + kind: kind_phys + units: K + - name: cloud_liquid_water_mixing_ratio_wrt_moist_air_of_new_state + long_name: Cloud liquid water mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_cloud_liquid_water_particles_in_air_of_new_state + long_name: Mass number concentration of cloud liquid water particles in air of + new state + type: real + kind: kind_phys + units: kg-1 + - name: nonconvective_cloud_area_fraction_in_atmosphere_layer_of_new_state + long_name: Nonconvective cloud area fraction in atmosphere layer of new state + type: real + kind: kind_phys + units: fraction + - name: graupel_mixing_ratio_wrt_moist_air_of_new_state + long_name: Graupel mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_graupel_of_new_state + long_name: Mass number concentration of graupel of new state + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_nonhygroscopic_ice_nucleating_aerosols_of_new_state + long_name: Mass number concentration of nonhygroscopic ice nucleating aerosols + of new state + type: real + kind: kind_phys + units: kg-1 + - name: mass_number_concentration_of_cloud_ice_water_crystals_in_air_of_new_state + long_name: Mass number concentration of cloud ice water crystals in air of new + state + type: real + kind: kind_phys + units: kg-1 + - name: cloud_ice_mixing_ratio_wrt_moist_air_of_new_state + long_name: Cloud ice mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_weighted_rime_factor_of_new_state + long_name: Mass weighted rime factor of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: ozone_concentration_of_new_state + long_name: Ozone concentration of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_rain_of_new_state + long_name: Mass number concentration of rain of new state + type: real + kind: kind_phys + units: kg-1 + - name: rain_mixing_ratio_wrt_moist_air_of_new_state + long_name: Rain mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_snow_of_new_state + long_name: Mass number concentration of snow of new state + type: real + kind: kind_phys + units: kg-1 + - name: snow_mixing_ratio_wrt_moist_air_of_new_state + long_name: Snow mixing ratio wrt moist air of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: tracer_concentration_of_new_state + long_name: Tracer concentration of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: mass_number_concentration_of_hygroscopic_aerosols_of_new_state + long_name: Mass number concentration of hygroscopic aerosols of new state + type: real + kind: kind_phys + units: kg-1 + - name: specific_humidity_of_new_state_at_surface_adjacent_layer + long_name: Specific humidity of new state at surface adjacent layer + type: real + kind: kind_phys + units: kg kg-1 + - name: specific_humidity_of_new_state + long_name: Specific humidity of new state + type: real + kind: kind_phys + units: kg kg-1 + - name: x_wind_of_new_state_at_surface_adjacent_layer + long_name: X wind of new state at surface adjacent layer + type: real + kind: kind_phys + units: m s-1 + - name: x_wind_of_new_state + long_name: X wind of new state + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_of_new_state_at_surface_adjacent_layer + long_name: Y wind of new state at surface adjacent layer + type: real + kind: kind_phys + units: m s-1 + - name: y_wind_of_new_state + long_name: Y wind of new state + type: real + kind: kind_phys + units: m s-1 diff --git a/README.md b/README.md index eebb898..1f7c09d 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,9 @@ # ESMStandardNames -The Earth System Modeling Standard Names Repository contains community-accepted -Standard Names, publishing tools, and search tools. +The Earth System Modeling Standard Names Repository contains community-accepted Standard Names, publishing tools, and search tools. -A Markdown file describing the standard names -[is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md). Rules governing the designation and format of standard names can be found in [StandardNamesRules.rst](https://github.com/ESCOMP/ESMStandardNames/blob/main/StandardNamesRules.rst). -Edits to standard names should be made in the xml file, using the included python tools to generate -the human-readable standard name Markdown file: -``` -tools/write_standard_name_table.py standard_names.xml -``` +A [Markdown file describing the standard names is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md), as well as a [Yaml version of the XML file](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.yaml). -Then, commit the new Metadata-standard-names.md file and push to GitHub. +Edits to standard names must be made in the xml file `standard_names.xml` only. When pull requests are merged into the authoritative branch, a tool is run in GitHub actions that automatically updates the human-readable standard name Markdown file and the Yaml version. diff --git a/tools/write_standard_name_table.py b/tools/write_standard_name_table.py index 90754fd..0083aa7 100755 --- a/tools/write_standard_name_table.py +++ b/tools/write_standard_name_table.py @@ -1,15 +1,17 @@ #!/usr/bin/env python3 """ -Convert a metadata standard-name XML library file to a documentation format. +Convert a metadata standard-name XML library file to another format. """ # Python library imports +from collections import OrderedDict import xml.etree.ElementTree as ET import os.path import argparse import sys import re +import yaml ################################################ #Add CCPP framework (lib) modules to python path @@ -19,23 +21,31 @@ sys.path.append(os.path.join(_CURR_DIR, "lib")) ####################################### -#Import needed framework python modules +# Import needed framework python modules ####################################### from xml_tools import validate_xml_file, read_xml_file from xml_tools import find_schema_file, find_schema_version ####################################### -#Regular expressions +# Regular expressions ####################################### _REAL_SUBST_RE = re.compile(r"(.*\d)p(\d.*)") _DROPPED_LINK_CHARS_RE = re.compile(r"[^a-z_-]") +####################################### +# Custom representer for OrderedDict +####################################### + +def ordered_dict_representer(dumper, data): + return dumper.represent_mapping(yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, data.items()) +yaml.add_representer(OrderedDict, ordered_dict_representer) + ######################################################################## def convert_text_to_link(text_str): - +######################################################################## """ When Markdown converts a header string into an internal document link it applies certain @@ -44,18 +54,18 @@ def convert_text_to_link(text_str): in order to produce the correct link. """ - #First trim the string to remove leading/trailing white space: + # First trim the string to remove leading/trailing white space: link_str = text_str.strip() - #Next, make sure all text is lowercase: + # Next, make sure all text is lowercase: link_str = link_str.lower() - #Then, replace all spaces with dashes: + # Then, replace all spaces with dashes: link_str = link_str.replace(" ", "-") - #Finally, remove all characters that aren't - #letters, underscores, or dashes: - link_str = _DROPPED_LINK_CHARS_RE.sub("",link_str) + # Finally, remove all characters that aren't + # letters, underscores, or dashes: + link_str = _DROPPED_LINK_CHARS_RE.sub("", link_str) return link_str @@ -79,7 +89,7 @@ def standard_name_to_description(prop_dict, context=None): Traceback (most recent call last): CCPPError: No standard name to convert to description at foo.F90:3 """ - # We assume that standar_name has been checked for validity + # We assume that standard_name has been checked for validity # Make the first char uppercase and replace each underscore with a space if 'standard_name' in prop_dict: standard_name = prop_dict['standard_name'] @@ -120,8 +130,8 @@ def parse_command_line(args, program_description): parser.add_argument("--output-filename", metavar='', type=str, default='Metadata-standard-names', help="Name of output file (without extension)") - parser.add_argument("--output-format", metavar='md', type=str, default='md', - help="Format of output file") + parser.add_argument("--output-format", metavar='[md|yaml]', type=str, default=None, + required=True, help="Format of output file") pargs = parser.parse_args(args) return pargs @@ -133,7 +143,7 @@ def convert_xml_to_markdown(root, library_name, snl): snl.write('#### Table of Contents\n') for section in root: sec_name = section.get('name') - sec_name_link = convert_text_to_link(sec_name) #convert string to link text + sec_name_link = convert_text_to_link(sec_name) # convert string to link text snl.write(f"* [{sec_name}](#{sec_name_link})\n") # end for snl.write('\n') @@ -143,58 +153,110 @@ def convert_xml_to_markdown(root, library_name, snl): ############################################################################### def parse_section(snl, sec, level='##'): ############################################################################### - # Step through the sections - sec_name = sec.get('name') - sec_comment = sec.get('comment') - snl.write(f'{level} {sec_name}\n') - if sec_comment is not None: - # First, squeeze out the spacing - while sec_comment.find(' ') >= 0: - sec_comment = sec_comment.replace(' ', ' ') - while sec_comment: - sec_comment = sec_comment.lstrip() - cind = sec_comment.find('\\n') - if cind > 0: - snl.write('{}\n'.format(sec_comment[0:cind])) - sec_comment = sec_comment[cind+2:] - else: - snl.write('{}\n'.format(sec_comment)) - sec_comment = '' - for std_name in sec: - if std_name.tag == 'section': - parse_section(snl, std_name, level + '#') - continue - stdn_name = std_name.get('name') - stdn_description = std_name.get('description') - if stdn_description is None: - sdict = {'standard_name':stdn_name} - stdn_description = standard_name_to_description(sdict) + # Step through the sections + sec_name = sec.get('name') + sec_comment = sec.get('comment') + snl.write(f'{level} {sec_name}\n') + if sec_comment is not None: + # First, squeeze out the spacing + while sec_comment.find(' ') >= 0: + sec_comment = sec_comment.replace(' ', ' ') + while sec_comment: + sec_comment = sec_comment.lstrip() + cind = sec_comment.find('\\n') + if cind > 0: + snl.write('{}\n'.format(sec_comment[0:cind])) + sec_comment = sec_comment[cind + 2:] + else: + snl.write('{}\n'.format(sec_comment)) + sec_comment = '' # end if - snl.write("* `{}`: {}\n".format(stdn_name, stdn_description)) - # Should only be a type in the standard_name text - for item in std_name: - if item.tag == 'type': - txt = item.text - kind = item.get('kind') - if kind is None: - kstr = '' - else: - kstr = "(kind={})".format(kind) - # end if - units = item.get('units') - snl.write(' * `{}{}`: units = {}\n'.format(txt, kstr, - units)) + # end while + # end if + for std_name in sec: + if std_name.tag == 'section': + parse_section(snl, std_name, level + '#') + continue + stdn_name = std_name.get('name') + stdn_description = std_name.get('description') + if stdn_description is None: + sdict = {'standard_name': stdn_name} + stdn_description = standard_name_to_description(sdict) + # end if + snl.write("* `{}`: {}\n".format(stdn_name, stdn_description)) + # Should only be a type in the standard_name text + for item in std_name: + if item.tag == 'type': + txt = item.text + kind = item.get('kind') + if kind is None: + kstr = '' else: - emsg = "Unknown standard name property, '{}'" - raise ValueError(emsg.format(item.tag)) + kstr = "(kind={})".format(kind) + # end if + units = item.get('units') + snl.write(' * `{}{}`: units = {}\n'.format(txt, kstr, + units)) + else: + emsg = "Unknown standard name property, '{}'" + raise ValueError(emsg.format(item.tag)) + # end if + # end for + # end for +# end for + +############################################################################### +def convert_xml_to_yaml(root, library_name, yaml_file): +############################################################################### + yaml_data = OrderedDict() + yaml_data['library_name'] = library_name + yaml_data['sections'] = [] + for section in root: + sec_data = OrderedDict() + sec_data['name'] = section.get('name') + # Format comment and add to dicionary + sec_comment = section.get('comment') + if sec_comment: + # Remove code block markdown + sec_comment = sec_comment.replace('```', '') + # Split multiline into array + sec_comment = sec_comment.split('\\n') + # Remove multiple whitespaces + sec_comment = [' '.join(x.split()) for x in sec_comment if ' '.join(x.split())] + # Join together into one long string + sec_comment = ' '.join(sec_comment) + sec_data['comment'] = sec_comment + # Parse standard names for this section + sec_data['standard_names'] = [] + for std_name in section: + if std_name.tag == 'standard_name': + stdn_name = std_name.get('name') + stdn_description = std_name.get('description', None) + if stdn_description is None: + sdict = {'standard_name': stdn_name} + stdn_description = standard_name_to_description(sdict) + std_type = std_name.find('type') + stdn_type = std_type.text + if std_type is not None: + std_name_data = OrderedDict() + std_name_data['name'] = stdn_name + std_name_data['description'] = stdn_description + std_name_data['type'] = std_type.text + std_name_data['kind'] = std_type.get('kind', None) + try: + std_name_data['units'] = int(std_type.get('units', None)) + except ValueError: + std_name_data['units'] = std_type.get('units', None) + sec_data['standard_names'].append(std_name_data) + yaml_data['sections'].append(sec_data) + + yaml.dump(yaml_data, yaml_file, default_flow_style=False) ############################################################################### def main_func(): ############################################################################### """Validate and parse the standard names database file and generate - a document containing the data. - Currently, only the Markdown format is supported for output. - """ + a document containing the data.""" # Parse command line arguments args = parse_command_line(sys.argv[1:], __doc__) stdname_file = os.path.abspath(args.standard_name_file) @@ -210,11 +272,12 @@ def main_func(): emsg = 'Cannot find schema file, {}, for version {}' raise ValueError(emsg.format(schema_name, version)) # end if + try: emsg = "Invalid standard names file, {}".format(stdname_file) file_ok = validate_xml_file(stdname_file, schema_name, version, - None, schema_path=schema_root, - error_on_noxmllint=True) + None, schema_path=schema_root, + error_on_noxmllint=True) except ValueError as valerr: cemsg = "{}".format(valerr).split('\n')[0] if cemsg[0:12] == 'Execution of': @@ -228,15 +291,18 @@ def main_func(): # end if raise ValueError(emsg) # end try - if args.output_format != 'md': + + outfile_name = args.output_filename + if args.output_format == 'md': + with open(f"{outfile_name}.md", "w") as md_file: + convert_xml_to_markdown(root, library_name, md_file) + elif args.output_format == 'yaml': + with open(f"{outfile_name}.yaml", "w") as yaml_file: + convert_xml_to_yaml(root, library_name, yaml_file) + else: emsg = "Unsupported output format, '{}'" raise ValueError(emsg.format(args.output_format)) # end if - outfile_name = args.output_filename - with open("{}.{}".format(outfile_name, args.output_format), "w") as snl: - convert_xml_to_markdown(root, library_name, snl) - # end with - ############################################################################### if __name__ == "__main__": From 275cf8ab39d6f7c4e0891c14d109849c94bf47f3 Mon Sep 17 00:00:00 2001 From: Michael Kavulich Date: Wed, 9 Jul 2025 06:11:34 -0600 Subject: [PATCH 13/15] Cherry-pick from main branch: Initial PR template (#119) Add a Pull Request template providing instructions on what information to include when opening a Pull Request. Some rules/guidelines initially in the governance document have been moved here as well. --- .github/PULL_REQUEST_TEMPLATE | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE new file mode 100644 index 0000000..72e61c9 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE @@ -0,0 +1,27 @@ + + + + +## Description + + +## Issues + + + From 0adb68316f92961e9f8e27e1393de699411024f9 Mon Sep 17 00:00:00 2001 From: Michael Kavulich Date: Wed, 24 Sep 2025 14:10:34 -0600 Subject: [PATCH 14/15] Cherry-pick from main branch: New procedure for updating .md and .yaml files (#122) Because it is a bit of a hassle for PR authors to have to make changes to multiple files, #117 attempted to automate the process using the `tools/write_standard_name_table.py` tool. However, this new GitHub action could not run automatically due to branch protection rules on the `main` branch. Rather than remove those restrictions, this PR reverts to the old method of manual updates, but provides more extensive documentation and user prompts to do this updating properly. --- .github/PULL_REQUEST_TEMPLATE | 23 +++++++++++ .github/workflows/commit_to_main.yml | 56 --------------------------- .github/workflows/pull_request_ci.yml | 29 +++++++++++--- Metadata-standard-names.md | 2 +- Metadata-standard-names.yaml | 2 +- README.md | 4 +- tools/environment.yml | 5 +++ 7 files changed, 55 insertions(+), 66 deletions(-) delete mode 100644 .github/workflows/commit_to_main.yml create mode 100644 tools/environment.yml diff --git a/.github/PULL_REQUEST_TEMPLATE b/.github/PULL_REQUEST_TEMPLATE index 72e61c9..3f80572 100644 --- a/.github/PULL_REQUEST_TEMPLATE +++ b/.github/PULL_REQUEST_TEMPLATE @@ -1,5 +1,22 @@ + + diff --git a/.github/workflows/commit_to_main.yml b/.github/workflows/commit_to_main.yml deleted file mode 100644 index 42ab65f..0000000 --- a/.github/workflows/commit_to_main.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Render xml standard name dictionary to markdown and yaml and commit to repository - -on: - push: - branches: - - main - -jobs: - update-md-and-yaml: - name: Render xml to markdown and yaml and commit - runs-on: ubuntu-latest - - permissions: - contents: write - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: "3.x" - - - name: Configure git - run: | - git config --global user.name "github-actions[bot]" - git config --global user.email "github-actions[bot]@users.noreply.github.com" - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get -y install libxml2-utils - python -m pip install --upgrade pip - python -m pip install PyYaml - - - name: Render xml to markdown - run: | - tools/write_standard_name_table.py --output-format md standard_names.xml - echo "The following changes will be committed (git diff Metadata-standard-names.md):" - git diff Metadata-standard-names.md - git add Metadata-standard-names.md - - - name: Rendering xml to yaml - run: | - tools/write_standard_name_table.py --output-format yaml standard_names.xml - echo "The following changes will be committed (git diff Metadata-standard-names.yaml):" - git diff Metadata-standard-names.yaml - git add Metadata-standard-names.yaml - - - name: Commit and push changes - run: | - git commit -m "Update Metadata-standard-names.{md,yaml} from standard_names.xml" || echo "No changes to commit" - git push - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/pull_request_ci.yml b/.github/workflows/pull_request_ci.yml index 8e61d6d..521cff4 100644 --- a/.github/workflows/pull_request_ci.yml +++ b/.github/workflows/pull_request_ci.yml @@ -73,14 +73,31 @@ jobs: - name: Test rendering xml file to markdown run: | + # Checks if the saved markdown matches freshly rendered markdown. + # If this fails, prompt user to update tools/write_standard_name_table.py --output-format md standard_names.xml - echo "The following changes will be committed when this pull request is merged (git diff Metadata-standard-names.md; " - echo "assuming that 'Metadata-standard-names.md' wasn't updated and matches the version in the authoritative branch):" - git diff Metadata-standard-names.md + if ! git diff --exit-code --quiet; then + echo "❌ Detected that Metadata-standard-names.md is not consistent with standard_names.xml" + echo "✅ To fix: Run the following command locally and commit the result:" + echo " tools/write_standard_name_table.py --output-format md standard_names.xml" + echo "📘 This script requires the pyyaml Python package; to install with pip use command:" + echo " python -m pip install PyYaml" + echo "📘 For conda users, environment file tools/environment.yml is provided." + echo + exit 1 + fi - name: Test rendering xml file to yaml run: | tools/write_standard_name_table.py --output-format yaml standard_names.xml - echo "The following changes will be committed when this pull request is merged (git diff Metadata-standard-names.yaml; " - echo "assuming that 'Metadata-standard-names.yaml' wasn't updated and matches the version in the authoritative branch):" - git diff Metadata-standard-names.yaml + if ! git diff --exit-code --quiet; then + echo "❌ Detected that Metadata-standard-names.yaml is not consistent with standard_names.xml" + echo "✅ To fix: Run the following command locally and commit the result:" + echo " tools/write_standard_name_table.py --output-format yaml standard_names.xml" + echo "📘 This script requires the pyyaml Python package; to install with pip use command:" + echo " python -m pip install PyYaml" + echo "📘 For conda users, environment file tools/environment.yml is provided." + echo + exit 1 + fi + diff --git a/Metadata-standard-names.md b/Metadata-standard-names.md index 1ebf8ff..2d0e927 100644 --- a/Metadata-standard-names.md +++ b/Metadata-standard-names.md @@ -1,4 +1,4 @@ -# Earth System Modeling Standard Name Library - add some chunk here to test auto update +# Earth System Modeling Standard Name Library #### Table of Contents * [base_names](#base_names) * [dimensions](#dimensions) diff --git a/Metadata-standard-names.yaml b/Metadata-standard-names.yaml index 88fd9db..d7f8f85 100644 --- a/Metadata-standard-names.yaml +++ b/Metadata-standard-names.yaml @@ -1,4 +1,4 @@ -library_name: Earth System Modeling Standard Name Library - add some chunk here to test auto update +library_name: Earth System Modeling Standard Name Library sections: - name: dimensions comment: 'Dimension standard names may come in sets of six related standard names diff --git a/README.md b/README.md index 1f7c09d..4807064 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,6 @@ The Earth System Modeling Standard Names Repository contains community-accepted Rules governing the designation and format of standard names can be found in [StandardNamesRules.rst](https://github.com/ESCOMP/ESMStandardNames/blob/main/StandardNamesRules.rst). -A [Markdown file describing the standard names is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md), as well as a [Yaml version of the XML file](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.yaml). +A [Markdown file describing the standard names is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md), as well as a [YAML version of the XML file](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.yaml). -Edits to standard names must be made in the xml file `standard_names.xml` only. When pull requests are merged into the authoritative branch, a tool is run in GitHub actions that automatically updates the human-readable standard name Markdown file and the Yaml version. +Edits to standard names must be made in the xml file `standard_names.xml` only. When a pull request is opened into the main branch, the YAML and Markdown files should be updated using the `tools/write_standard_name_table.py` script. This can be done manually by the pull request author, or by activating the GitHub action available on an open pull request. diff --git a/tools/environment.yml b/tools/environment.yml new file mode 100644 index 0000000..2090fcd --- /dev/null +++ b/tools/environment.yml @@ -0,0 +1,5 @@ +name: test +channels: + - conda-forge +dependencies: + - pyyaml From 657b8389f3139988a94cd23dc150ba3c34cded36 Mon Sep 17 00:00:00 2001 From: "Michael Kavulich, Jr" Date: Thu, 9 Oct 2025 12:22:55 -0600 Subject: [PATCH 15/15] Remove whitespace from end of line --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4807064..f7bf2e1 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ The Earth System Modeling Standard Names Repository contains community-accepted Standard Names, publishing tools, and search tools. -Rules governing the designation and format of standard names can be found in [StandardNamesRules.rst](https://github.com/ESCOMP/ESMStandardNames/blob/main/StandardNamesRules.rst). +Rules governing the designation and format of standard names can be found in [StandardNamesRules.rst](https://github.com/ESCOMP/ESMStandardNames/blob/main/StandardNamesRules.rst). A [Markdown file describing the standard names is included](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.md), as well as a [YAML version of the XML file](https://github.com/ESCOMP/ESMStandardNames/blob/main/Metadata-standard-names.yaml).