GEOS-Chem species units
This Guide has not been updated since GEOS-Chem 12.8.0. Species properties for newer GEOS-Chem versions are now contained in the species_database.yml run-directory configuration file.
Previous | Next | Guide to species in GEOS-Chem
- Species in GEOS-Chem
- Physical properties of GEOS-Chem species
- GEOS-Chem species database
- GEOS-Chem species units
- Adding passive species to GEOS-Chem
- Species indexing in GEOS-Chem
Contents
Overview
In GEOS-Chem v10-01 and prior versions, GEOS-Chem tracer units are converted between molar mixing ratio and mass per grid box. The conversion between tracer v/v and kg requires grid area which is incompatible with grid-independent high-performance GEOS-Chem. Furthermore, the switch between units is confusing and inconsistently documented. In order to achieve grid-independence and to bring greater clarity to GEOS-Chem, the GEOS-Chem Support Team is working towards implementing consistent area-independent tracer units throughout the model beginning in GEOS-Chem v11-01.
It is important to note a terminology shift with regards to tracers and species starting in GEOS-Chem v11-01. Tracers are referred to as species starting in v11-01g. Prior to GEOS-Chem v11-01, species are stored separately from tracers in fixed units of molecular number density. Starting with v11-01, species and tracers and stored together and therefore all species, advected and not advected, are subject to the new units described in this page.
Our goals are as follows:
- Use mass mixing ratio throughout GEOS-Chem with minimal exceptions
- Remove all uses of kg tracer per grid box
- Remove all uses of grid box area
Because this project touches nearly all parts of GEOS-Chem and is being conducted concurrently with several other development projects, we are working towards these goals in distinct phases.
GEOS-Chem v11-01 and later versions
The table below shows the various stages of species units implementation. Species units Phase 1 will be tested in GEOS-Chem v11-01e and will be included in the GEOS-Chem v11-01 public release.
Phase | Version | Description | Status |
---|---|---|---|
Phase 1 | v11-01e | Implement area-independent species units
|
Approved 04 Jan 2016 |
Phase 2 | TBD | Remove area-dependent units in chemistry and diagnostics | On hold until implementation of FlexChem |
Phase 3 | TBD | Remove area-dependent species units remaining in specialty simulations | TBD pending input from 3rd party developers
|
Phase 4 | TBD | Remove remaining area dependencies, including use of:
|
Ongoing |
--Lizzie Lundgren (talk) 18:26, 17 November 2015 (UTC)
--Bob Yantosca (talk) 17:24, 6 December 2016 (UTC)
Comparison of v10-01 and v11-01
The table below details the v10-01 tracer concentration units versus v11-01 species concentration units in GEOS-Chem along with work status per GEOS-Chem component. Note that in <codeR>v11-01</tt>, unlike in GEOS-Chem v10-01 and prior versions, there are multiple forms of mixing ratio used: dry mass mixing ratio, dry molar mixing ratio, and tracer mass per unit area. GEOS-Chem components that still rely on area-dependent units are in bold.
Terminology note: What we used to call tracers in v10-01 are now referred to as advected species in v11-01 and higher versions.
Component | v10-01 tracer units | v11-01 species units | Status | Notes |
---|---|---|---|---|
Restart files | v/v | v/v dry | Unit update complete | |
GEOS-Chem initialization | kg | kg/kg dry | Unit update complete | |
AIRQNT and SET_H2O_TRAC | kg | kg/kg dry | Unit update complete | |
Two-way nesting | kg | kg | Unit change requires 3rd party developer input | |
Transport | v/v | kg/kg dry | Unit update complete | |
Wet scavenging initialization | v/v | kg/kg dry | Unit update complete | |
Dry deposition | kg | kg/kg dry | Unit update complete | |
HEMCO | kg | kg/kg dry | Unit update complete | |
Mercury emissions | kg | kg | Unit change requires 3rd party developer input | |
Mixing | v/v, kg | v/v dry, kg/m2 | Unit update complete | |
Convection | v/v | kg/kg dry | Unit update complete | |
Chemistry | v/v, kg | v/v, kg | Unit change pending FlexChem implementation | Includes all routines called within DO_CHEMISTRY. |
Wet deposition | kg | kg/m2 | Unit update complete | |
TOMAS aerosol microphysics | kg | kg | Unit change requires 3rd party developer input | Collaboration with TOMAS team in progress. |
Recompute AOD | kg | kg | Unit change pending FlexChem implementation | |
Radiative transfer | kg | kg | Unit change requires 3rd party developer input |
Unit Conversion Locations
v10-01 and prior versions
The table below lists all major instances of tracer concentration unit conversions in GEOS-Chem v10-01 and prior versions. In the table, the symbol -> indicates a one-way conversion while the symbol <-> indicates a local two-way conversion.
Component | Conversion | Subroutine | File | Notes |
---|---|---|---|---|
Input | v/v -> kg | copy_STT | restart_mod.F | Convert to kg for initialization after reading v/v from restart file |
Main | kg -> v/v | -- | main.F | Convert to v/v for transport, air quantity update, and wet scavenging initialization |
Main | v/v -> kg | -- | main.F | Convert to kg for dry deposition and phase 2 emissions |
Main | kg -> v/v | -- | main.F | Convert to v/v for mixed layer mixing and cloud convection |
Main | v/v -> kg | -- | main.F | Convert to kg for chemistry, wet deposition, AOD, and RRTMG |
Output | kg -> v/v | make_restart_file | restart_mod.F | Convert to v/v for writing to restart file |
Mixing | v/v <-> kg | do_mixing | mixing_mod.F | Convert locally to kg for applying tendencies |
Chemistry | kg <-> v/v | chemsulfate | sulfate_mod.F | Convert locally to v/v for post-gravitational settling sulfate chemistry |
Chemistry | kg <-> v/v | do_strat_chem | strat_chem_mod.F | Convert locally to v/v for Linoz and Synoz stratospheric ozone chemistry |
TOMAS aerosol microphysics | v/v <-> kg | chem_so4_aq | sulfate_mod.F | Convert locally to kg for TOMAS |
TOMAS aerosol microphysics | v/v <-> kg | compute_F, washout | wetscav_mod.F | Convert locally to kg for TOMAS routines |
TOMAS aerosol microphysics | v/v <-> kg | checkmn | tomas_mod.F | Convert locally to kg for TOMAS routines |
Two-way nesting | v/v <-> kg | exchange_global_post, exchange_nested_post | exchange_mod.F | Convert locally to kg to exchange data between coupled runs |
The unit conversions listed above generally use the CONVERT_UNITS routine implemented in dao_mod.F which applies a unit conversion to all tracers and all grid boxes stored in State_Chm%TRACERS. Sometimes tracer unit conversion occurs without use of CONVERT_UNITS, such as conversion from kg to v/v for output in either the restart file or for diagnostics. Diagnostics-related conversions are not included in the table above.
--Lizzie Lundgren (talk) 15:47, 19 October 2015 (UTC)
v11-01
The table below lists all major instances of tracer concentration unit conversions that are incorporated into GEOS-Chem v11-01. In the table, the symbol -> indicates a one-way conversion while the symbol <-> indicates a local two-way conversion. All components of GEOS-Chem not included in the table now use tracer concentration units kg/kg dry.
Component | Conversion | Subroutine | File | Notes |
---|---|---|---|---|
Unit change complete | Area-independent | |||
Input | v/v dry -> kg/kg dry | copy_STT | restart_mod.F | Convert to kg/kg dry after reading from restart file |
Output | kg/kg dry -> v/v dry | make_restart_file | restart_mod.F | Convert to v/v dry for writing to restart file |
Mixing | kg/kg dry <-> v/v dry | do_mixing | mixing_mod.F | Use v/v dry to preserve legacy usage in PBL mixing NOTE: We may update units to mass mixing ratio in the future |
Mixing | v/v dry <-> kg/m2 | do_tend | mixing_mod.F | Convert locally to kg/m2 for applying tendencies |
Wet deposition | kg/kg dry <-> kg/m2 | wetdep, wetdep_merra | wetscav.F | Use kg/m2 to to enable column-wise calculations |
Under evaluation | Area-dependent | |||
Mercury emissions | kg/kg dry <-> kg | emissmercury | mercury_mod.F | Convert locally to kg for mercury emissions not yet in HEMCO |
Update pending FlexChem | Area-dependent | |||
Chemistry | kg/kg dry <-> kg | do_chemistry | chemistry_mod.F | Convert locally to kg for chemistry |
Chemistry | kg/kg dry <-> kg | aerosol_conc | aerosol_mod.F | Convert locally to kg for aerosol chemistry |
Chemistry | kg <-> v/v dry | do_strat_chem | strat_chem_mod.F | Preserve use of v/v dry for Linoz and Synoz stratospheric ozone chemistry |
Chemistry | kg/kg dry <-> kg | calc_ste | strat_chem_mod.F | Convert locally to kg for stratosphere-to-troposphere exchange flux |
Chemistry | kg <-> v/v dry | chemsulfate | sulfate_mod.F | Preserve use of v/v dry for sulfate chemistry |
Developer input needed | Area-dependent | |||
Two-way nesting | kg/kg dry <-> kg | exchange_global_post, exchange_nested_post | exchange_mod.F | Convert locally to kg to exchange data between coupled runs |
TOMAS aerosol microphysics | v/v dry <-> kg | chem_so4_aq | sulfate_mod.F | Convert locally to kg for TOMAS routines |
TOMAS aerosol microphysics | kg/kg dry <-> kg | emisscarbontomas | carbon_mod.F | Convert locally to kg for TOMAS routines |
TOMAS aerosol microphysics | kg/kg dry <-> kg | emisssulfatetomas | sulfate_mod.F | Convert locally to kg for TOMAS routines |
TOMAS aerosol microphysics | kg/kg total <-> kg | washout | wetscav_mod.F | Convert locally to kg for TOMAS routines |
TOMAS aerosol microphysics | kg/m2 <-> kg | washout | wetscav_mod.F | Convert locally to kg for TOMAS routines |
TOMAS aerosol microphysics | kg/kg dry <-> kg | aero_diaden | tomas_mod.F | Convert locally to kg for TOMAS routines |
TOMAS aerosol microphysics | kg/m2 <-> kg | aqoxid | tomas_mod.F | Convert locally to kg for TOMAS routines |
Radiative transfer | kg/kg dry <-> kg | do_rrtmg_rad_transfer | rrtmg_rad_transfer_mod.F | Convert locally to kg for RRTMG |
--Lizzie Lundgren (talk) 18:26, 17 November 2015 (UTC)
Special Unit Conversion Considerations
Updating Air Quantities
Special care must be taken to conserve tracer mass when updating air quantities. If tracer concentrations are in mixing ratio (e.g. v/v or kg/kg) then the mixing ratio must be updated when the air mass changes in order to prevent false tracer mass sources or sinks. In GEOS-Chem v10-01, air quantities were updated while tracer concentrations were kg/grid box, making a mixing ratio update unnecessary. In GEOS-Chem v11-01, however, the primary tracer concentration unit is mixing ratio.
To facilitate the preservation of mass balance, the dao_mod.F routine AIRQNT now contains the functionality of updating tracer mixing ratio when air quantities are updated. AIRQNT is called every time pressure and/or specific humidity changes and now accepts a logical argument indicating whether or not to update mixing ratio. If tracer units are in kg/m2 then updating mixing ratio is unnecessary.
As part of the implementation of this change, we discovered that specific humidity changes during non-local PBL mixing but air quantities are not immediately updated. With the implementation of new tracer units, this caused differences between v11-01e and previous versions. A fix to call AIRQNT within non-local PBL mixing is now included in non-local PBL mixing. Note, however, that an existing but possibly unrelated issue where tracer mass is not conserved in non-local PBL mixing remains unresolved.
--Lizzie Lundgren (talk) 17:29, 21 December 2015 (UTC)