GEOS-Chem species units

From Geos-chem
Jump to: navigation, search

This is included in GEOS-Chem v11-01 (public release 01 Feb 2017).

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
  • Some specialty simulations will remain in kg since they require input from 3rd party developers (TOMAS, RRTMG, two-way coupling, mercury emissions)
  • Chemistry will remain in kg until FlexChem is implemented
  • All other components use area-independent tracer units (mixing ratio or kg/m2)
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
  • TOMAS developers contacted and have been provided preliminary Phase 1 version merged with v11-01c
  • 3rd party developers for RRTMG and two-way nesting not yet contacted
  • Necessity of 3rd party developer input for mercury emissions under investigation
Phase 4 TBD Remove remaining area dependencies, including use of:
  • State_Met%AD
  • State_Met%ADMOIST
  • State_Met%AIRVOL
  • State_Met%AREA_M2
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 v11-01, 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)