The GEOS-Chem KPP Standalone takes a given set of initial conditions to replicate grid cell chemistry of 3D GEOS-Chem, GCHP, or GEOS-CF runs. It reads an input file generated by the KPP Standalone Interface that generates model output of the full chemical state of the grid cell. The full GEOS-Chem mechanism is run to replicate the chemistry of the specified grid cell.
With contributions from: Obin Sturm (psturm@usc.edu), Michael S Long, Christoph Keller
The KPP Standalone is adapted from a box model used in the following publication: Lin, H., Long, M. S., Sander, R., Sandu, A., Yantosca, R. M., Estrada, L. A., et al. (2023). An adaptive auto-reduction solver for speeding up integration of chemical kinetics in atmospheric chemistry models: Implementation and evaluation in the Kinetic Pre-Processor (KPP) version 3.0.0. Journal of Advances in Modeling Earth Systems, 15, e2022MS003293. https://doi.org/10.1029/2022MS003293
The Kinetic PreProcessor (KPP) files can be modified and the mechanism rebuilt with KPP (see below). Then, the KPP Standalone can be rebuilt with make.
This folder contains the files that define the full-chemistry mechanism (NOx-Ox-VOCs-Br-Cl-I) for GEOS-Chem.
-
fullchem.kpp: Master KPP specification file.
-
fullchem.eqn: KPP equation file, contains reaction definitoins.
-
fullchem_HetStateFuncs.F90: This module contains functions that initialize the HetChem state object.
-
fullchem_SulfurChemFuncs.F90: This module contains routines that compute rates for SO2 reactions in cloud.
-
fullchem_RateLawFuncs.F90: This module contains functions that compute rates for heterogenous chemistry reactions. This is the so-called "rate law library" for the fullchem mechanism.
-
rateLawUtilFuncs.F90: This module contains several utility functions for heterogeneous chemistry reactions.
7, commonIncludeVars.H: Global variables that are used for all KPP mechanisms. These will be inlined into the KPP-generated gckpp_Global.F90 file.
The following files link to the KPP/stubs folder. These include stub subroutines that are used by other chemical mechanisms. The stubs are needed in order to avoid compilation errors.
-
stub_aciduptake_DustChemFuncs.F90 Stub routines corresponding to the KPP/aciduptake/aciduptake_DustChemFuncs.F90 module,
-
stub_Hg_HetStateFuncs.F90: Stub routines corresponding to the KPP/Hg/Hg_HetStateFuncs.F90 module.
With the exception of the symbolic link gckpp.kpp, and the map file gckpp.map, all files starting with the prefix gckpp_ are generated by KPP. These contain the specifications of the chemical mechanism in efficient source code.
For more information, please see:
-
KPP documentation at: https://kpp.readthedocs.io