|
|
(242 intermediate revisions by 6 users not shown) |
Line 1: |
Line 1: |
− | On this page we provide information about the FlexChem chemical solver, which was introduced in [[GEOS-Chem#v11-01g|GEOS-Chem v11-01g]].
| + | This content has been migrated to: |
| | | |
− | == Overview ==
| + | * [https://kpp.readthedocs.io <tt>kpp.readthedocs.io</tt>]: User manual for The Kinetic Preprocessor (KPP) |
− | | + | * [https://geos-chem.readthedocs.io/en/latest/geos-chem-shared-docs/supplemental-guides/using-kpp-with-gc.html '''Update chemical mechanisms with KPP''' at <tt>geos-chem.readthedocs.io</tt>] |
− | The clean and flexible reimplementation of the Kinetic PreProcessor package (aka KPP)—known as '''FlexChem'''—is nearing full integration into GEOS-Chem. Most of the remaining FlexChem development work will focus on replacing legacy infrastructure—which prevents GEOS-Chem from operating efficiently in high-performance computing (HPC) environments—with newer, more efficient algorithms.
| + | |
− | | + | |
− | Check back soon for the latest information!
| + | |
− | | + | |
− | --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 19:58, 19 May 2016 (UTC)
| + | |
− | | + | |
− | == Milestones ==
| + | |
− | | + | |
− | The following table shows several milestones that were achieved in the FlexChem implementation, development, as well as ongoing development tasks.
| + | |
− | | + | |
− | {| border=1 cellspacing=0 cellpadding=5
| + | |
− | |-valign="top" bgcolor="#CCCCCC"
| + | |
− | !width="600px"|Task
| + | |
− | !width="150px"|Developer
| + | |
− | !width="250px"|Status
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Add FlexChem into v11-01c
| + | |
− | |Mike Long
| + | |
− | |Completed 14 Dec 2015
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Enable the “tropchem” mechanism
| + | |
− | |Mike Long
| + | |
− | |Completed 14 Dec 2015
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Restore the OH and HO2 diagnostics (ND43)
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 18 Dec 2015
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Remove CSPEC array and replaced with State_Chm%Species
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 22 Dec 2015
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Enable a temporary workaround for family tracers (ISOPN, MMN)
| + | |
− | |Mike Long
| + | |
− | |Completed 25 Jan 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Enable FAST-JX photochemistry
| + | |
− | |Mike Long
| + | |
− | |Completed 25 Jan 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Enable the "benchmark" chemistry mechanism
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 29 Jan 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Fix HBr and HOBr hetchem rates for the "tropchem" mechanism
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 04 Feb 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Fix unit conversions for heterogeneous chemistry
| + | |
− | |Mike Long
| + | |
− | |Completed 18 Feb 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Restore the broken J-value diagnostic (ND22)
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 15 Mar 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Parallelize the main KPP driver loop; fixed other minor issues
| + | |
− | |Bob Yantosca
| + | |
− | |Completed 30 Mar 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Enable the SOA and SOA-SVPOA mechanisms
| + | |
− | |Lizzie Lundgren
| + | |
− | |Completed 01 Apr 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Add more parallelization fixes
| + | |
− | |Bob Yantosca
| + | |
− | |Completed 18 Apr 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Merge FlexChem with v11-01f
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 20 Apr 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Add KPP repository to Bitbucket (https://bitbucket.org/gcst/kpp)
| + | |
− | |Mike Long
| + | |
− | |Completed 19 Apr 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Create new gckpp* files from the updated KPP solver package
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 22 Apr 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Enable the UCX mechanism
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 26 Apr 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Introduce a new prod/loss diagnostic into the KPP solver package
| + | |
− | |Mike Long
| + | |
− | |Completed 29 Apr 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Fix various other bugs and cleaned up some leftover things
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 04 May 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Complete unit tests and 1-month benchmarks for the tropchem, benchmark, UCX, SOA, and SOA-SVPOA simulations
| + | |
− | |Melissa Sulprizio<br>Lizzie Lundgren
| + | |
− | |Completed 05 May 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Remove tracer indices of Rn, Pb, Be, Hg, and POPs simulations from <code>tracerid_mod.F</code>. (This paves the way for us to retire <code>tracerid_mod.F</code>.)
| + | |
− | |Bob Yantosca
| + | |
− | |Completed 02 May 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Add a fast species name lookup algorithm
| + | |
− | |Bob Yantosca
| + | |
− | |Code is in place as of 04 May 2016, but has not been implemented throughout GEOS-Chem yet.
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Store the unique list of GEOS-Chem species in the GEOS-Chem species database object. (In other words, we combine the list of advected tracers with the list of KPP chemical species and remove duplicate entries).
| + | |
− | |Bob Yantosca
| + | |
− | |Completed 09 May 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Store the indices of each species in the KPP chemical reaction matrix in the GEOS-Chem species database object.
| + | |
− | |Bob Yantosca
| + | |
− | |Completed 09 May 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Merge FlexChem with other v11-01g updates
| + | |
− | |Bob Yantosca
| + | |
− | |Completed 17 May 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Remove family tracer fields of the <code>Input_Opt</code> object, namely : <code>TRACER_N_CONST, TRACER_CONST, TRACER_COEFF, ID_EMITTED</code>. These were only used by SMVGEAR and are now obsolete.
| + | |
− | |Bob Yantosca
| + | |
− | |Completed 18 May 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Create mapping vectors in the <code>State_Chm</code> object to store the ID numbers of species that are advected, dry-deposited, wet-deposited, and/or included in the KPP chemical mechanism
| + | |
− | |Bob Yantosca
| + | |
− | |Completed 19 May 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Remove all 1-D loop indexing variables (<code>JLOOP, KLOOP, KTLOOP, JLOP, IXSAVE, IYSAVE, IZSAVE</code>) that were used by SMVGEAR
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 19 May 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Remove SMVGEAR input files (<code>globchem.dat, mglob.dat</code>) and associated subroutines (<code>readchem.F, reader.F</code>)
| + | |
− | |Melissa Sulprizio
| + | |
− | |Completed 30 Jun 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Remove <code>tracerid_mod.F</code> and related tracer ID flags (<code>IDTxxxx</code>, <code>IDxxxx</code>) from GEOS-Chem.
| + | |
− | |GCST
| + | |
− | |
| + | |
− | *Completed 24 Jun 2016
| + | |
− | *Validated 27 Jun 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Rely totally on the GEOS-Chem species database for looking up a species index from its name.
| + | |
− | |GCST
| + | |
− | |
| + | |
− | *Completed 24 Jun 2016
| + | |
− | *Validated 27 Jun 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Remove the remaining family tracers (ISOPN, MMN, CFCX, HCFCX). Henceforth, FlexChem will only work with individual species.
| + | |
− | |Melissa Sulprizio
| + | |
− | |
| + | |
− | *Completed 28 Jul 2016
| + | |
− | *Validated 01 Aug 2016
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Update unit conversion routines:
| + | |
− | *Get molecular weights (<code>MW_g, EmMW_g</code> from the species database instead of from <code>Input_Opt</code>
| + | |
− | *Remove obsolete fields <code>Input_Opt%TCVV</code> and <code>Input_Opt%XNUMOL</code>
| + | |
− | |Lizzie Lundgren
| + | |
− | |In progress
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Store all species concentrations in <code>State_Chm%Species</code> (thus making <code>State_Chm%Tracers</code> redundant)
| + | |
− | |GCST
| + | |
− | |In progress
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Attach the new KPP prod/loss output to the GEOS-Chem prod/loss diagnostic
| + | |
− | |Melissa Sulprizio
| + | |
− | |In progress
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Update the GEOS-Chem Makefiles so that a fresh version of KPP will be built (using a custom chemical mechanism that you specify) each time GEOS-Chem is compiled.
| + | |
− | |GCST
| + | |
− | |TBD
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Validate FlexChem with additional debugging, unit testing, and benchmarking
| + | |
− | |GCST
| + | |
− | |TBD
| + | |
− | | + | |
− | |-valign="top"
| + | |
− | |Update GEOS-Chem documentation and user manual for v11-01
| + | |
− | |GCST
| + | |
− | |TBD
| + | |
− | | + | |
− | |}
| + | |
− | | + | |
− | --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 19:34, 27 June 2016 (UTC)
| + | |
− | | + | |
− | == Validation ==
| + | |
− | | + | |
− | TBD
| + | |
− | | + | |
− | == Known issues ==
| + | |
− | | + | |
− | TBD
| + | |