Difference between revisions of "FlexChem"

From Geos-chem
Jump to: navigation, search
 
(254 intermediate revisions by 6 users not shown)
Line 1: Line 1:
== Overview ==
+
This content has been migrated to:
  
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.
+
* [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>]
More information will be posted here soon!
+
 
+
--[[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="200px"|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 v11-01g
+
|Bob Yantosca
+
|Completed 17 Apr 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 (JLOOP, KLOOP, KTLOOP, JLOP, IXSAVE, IYSAVE, IZSAVE) that were used by SMVGEAR
+
|Melissa Sulprizio
+
|Completed 19 May 2016
+
 
+
|-valign="top"
+
|Removal of SMVGEAR input files (globchem.dat, mglob.dat) and associated subroutines (readchem.F, reader.F)
+
|Melissa Sulprizio
+
|In progress
+
 
+
|-valign="top"
+
|Removal of obsolete fields <code>Input_Opt%TCVV</code> and <code>Input_Opt%XNUMOL</code>, and updating existing unit conversion routines accordingly
+
|Lizzie Lundgren
+
|In progress
+
 
+
|-valign="top"
+
|Store all species concentrations in State_Chm%Species (thus making State_Chm%Tracers redundant)
+
|GCST
+
|In progress
+
 
+
|-valign="top"
+
|Remove <code>tracerid_mod.F</code> and related tracer ID flags (<code>IDTxxxx</code>, <code>IDxxxx</code>) from GEOS-Chem.
+
|GCST
+
|To be done at an upcoming Code-a-Thon
+
 
+
|-valign="top"
+
|Rely totally on the GEOS-Chem species database for looking up a species index from its name.
+
|GCST
+
|To be done at am upcoming Code-a-Thon
+
 
+
|-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"
+
|Attach the new KPP prod/loss diagnostics to GEOS-Chem Chem’s netCDF diagnostic output capability.
+
|GCST
+
|TBD
+
 
+
|-valign="top"
+
|Remove the remaining family tracers (ISOPN, MMN). Henceforth,  FlexChem will only work with individual species.
+
|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]]) 20:24, 19 May 2016 (UTC)
+

Latest revision as of 20:24, 4 August 2022

This content has been migrated to: