Difference between revisions of "FlexChem"

From Geos-chem
Jump to: navigation, search
(Milestones)
(Milestones)
Line 20: Line 20:
  
 
|-valign="top"  
 
|-valign="top"  
|Added FlexChem into v11-01c.
+
|Add FlexChem into v11-01c
 
|Mike Long
 
|Mike Long
 
|Completed 14 Dec 2015
 
|Completed 14 Dec 2015
  
 
|-valign="top"  
 
|-valign="top"  
|Enabled the “tropchem” mechanism.
+
|Enable the “tropchem” mechanism
 
|Mike Long
 
|Mike Long
 
|Completed 14 Dec 2015
 
|Completed 14 Dec 2015
  
 
|-valign="top"  
 
|-valign="top"  
|Restored the OH and HO2 diagnostics (ND43) \
+
|Restore the OH and HO2 diagnostics (ND43)
 
|Melissa Sulprizio  
 
|Melissa Sulprizio  
 
|Completed 18 Dec 2015
 
|Completed 18 Dec 2015
  
 
|-valign="top"  
 
|-valign="top"  
|Removed CSPEC array and replaced with State_Chm%Species
+
|Remove CSPEC array and replaced with State_Chm%Species
 
|Melissa Sulprizio
 
|Melissa Sulprizio
 
|Completed 22 Dec 2015
 
|Completed 22 Dec 2015
  
 
|-valign="top"  
 
|-valign="top"  
|Enabled a temporary workaround for family tracers (ISOPN, MMN)
+
|Enable a temporary workaround for family tracers (ISOPN, MMN)
 
|Mike Long  
 
|Mike Long  
 
|Completed 25 Jan 2016
 
|Completed 25 Jan 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Enabled FAST-JX photochemistry
+
|Enable FAST-JX photochemistry
 
|Mike Long  
 
|Mike Long  
 
|Completed 25 Jan 2016
 
|Completed 25 Jan 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Enabled the "benchmark" chemistry mechanism
+
|Enable the "benchmark" chemistry mechanism
 
|Melissa Sulprizio
 
|Melissa Sulprizio
 
|Completed 29 Jan 2016
 
|Completed 29 Jan 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Fixed HBr and HOBr hetchem rates for the "tropchem" mechanism
+
|Fix HBr and HOBr hetchem rates for the "tropchem" mechanism
 
|Melissa Sulprizio
 
|Melissa Sulprizio
 
|Completed 04 Feb 2016
 
|Completed 04 Feb 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Fixed unit conversions for heterogeneous chemistry
+
|Fix unit conversions for heterogeneous chemistry
 
|Mike Long
 
|Mike Long
 
|Completed 18 Feb 2016
 
|Completed 18 Feb 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Restored the broken J-value diagnostic (ND22)
+
|Restore the broken J-value diagnostic (ND22)
 
|Melissa Sulprizio
 
|Melissa Sulprizio
 
|Completed 15 Mar 2016
 
|Completed 15 Mar 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Parallelized the main KPP driver loop; fixed other minor issues
+
|Parallelize the main KPP driver loop; fixed other minor issues
 
|Bob Yantosca
 
|Bob Yantosca
 
|Completed 30 Mar 2016
 
|Completed 30 Mar 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Enabled the SOA and SOA-SVPOA mechanisms
+
|Enable the SOA and SOA-SVPOA mechanisms
 
|Lizzie Lundgren
 
|Lizzie Lundgren
 
|Completed 01 Apr 2016
 
|Completed 01 Apr 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Added more parallelization fixes
+
|Add more parallelization fixes
 
|Bob Yantosca
 
|Bob Yantosca
 
|Completed 18 Apr 2016
 
|Completed 18 Apr 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Merged FlexChem with v11-01f
+
|Merge FlexChem with v11-01f
 
|Melissa Sulprizio
 
|Melissa Sulprizio
 
|Completed 20 Apr 2016
 
|Completed 20 Apr 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Added KPP repository to Bitbucket (https://bitbucket.org/gcst/kpp)
+
|Add KPP repository to Bitbucket (https://bitbucket.org/gcst/kpp)
 
|Mike Long
 
|Mike Long
 
|Completed 19 Apr 2016
 
|Completed 19 Apr 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Created new gckpp* files from the updated KPP solver package
+
|Create new gckpp* files from the updated KPP solver package
 
|Melissa Sulprizio
 
|Melissa Sulprizio
 
|Completed 22 Apr 2016
 
|Completed 22 Apr 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Enabled the UCX mechanism
+
|Enable the UCX mechanism
 
|Melissa Sulprizio
 
|Melissa Sulprizio
 
|Completed 26 Apr 2016
 
|Completed 26 Apr 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Introduced a prod/loss diagnostic into the KPP solver package
+
|Introduce a new prod/loss diagnostic into the KPP solver package
 
|Mike Long
 
|Mike Long
 
|Completed 29 Apr 2016
 
|Completed 29 Apr 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Fixed various other bugs and cleaned up some leftover things
+
|Fix various other bugs and cleaned up some leftover things
 
|Melissa Sulprizio
 
|Melissa Sulprizio
 
|Completed 04 May 2016
 
|Completed 04 May 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Completed unit tests and 1-month benchmarks for the tropchem, benchmark, UCX, SOA, and SOA-SVPOA simulations
+
|Complete unit tests and 1-month benchmarks for the tropchem, benchmark, UCX, SOA, and SOA-SVPOA simulations
 
|Melissa Sulprizio<br>Lizzie Lundgren
 
|Melissa Sulprizio<br>Lizzie Lundgren
 
|Completed 05 May 2016
 
|Completed 05 May 2016
  
 
|-valign="top"  
 
|-valign="top"  
|Remove tracer indices of Rn, Pb, Be, Hg, and POPs simulations from tracerid_mod.F. (This paves the way for us to retire tracerid_mod.F.)
+
|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
 
|Bob Yantosca
 
|Completed 02 May 2016
 
|Completed 02 May 2016
Line 140: Line 140:
  
 
|-valign="top"  
 
|-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>
+
|Merge FlexChem with v11-01g
|Bob Yantoscao
+
|Bob Yantosca
|Completed 19 May 2016
+
|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"  
 
|-valign="top"  
Line 160: Line 165:
  
 
|-valign="top"  
 
|-valign="top"  
|Removal of <code>Input_Opt%TCVV</code> and <code>Input_Opt%XNUMOL</code> fields
+
|Removal of obsolete fields <code>Input_Opt%TCVV</code> and <code>Input_Opt%XNUMOL</code>, and updating existing unit conversion routines accordingly
 
|Lizzie Lundgren
 
|Lizzie Lundgren
 
|In progress
 
|In progress
Line 170: Line 175:
  
 
|-valign="top"  
 
|-valign="top"  
|Remove tracerid_mod.F and related tracer ID flags (<code>IDTxxxx</code>, <code>IDxxxx</code>) from GEOS-Chem.
+
|Remove <code>tracerid_mod.F</code> and related tracer ID flags (<code>IDTxxxx</code>, <code>IDxxxx</code>) from GEOS-Chem.
 
|GCST
 
|GCST
|To be done at the Code-a-Thon
+
|To be done at an upcoming Code-a-Thon
  
 
|-valign="top"  
 
|-valign="top"  
 
|Rely totally on the GEOS-Chem species database for looking up a species index from its name.
 
|Rely totally on the GEOS-Chem species database for looking up a species index from its name.
 
|GCST
 
|GCST
|Imminent
+
|To be done at am upcoming Code-a-Thon
  
 
|-valign="top"  
 
|-valign="top"  
Line 196: Line 201:
 
|-valign="top"  
 
|-valign="top"  
 
|Validate FlexChem with additional debugging, unit testing, and benchmarking
 
|Validate FlexChem with additional debugging, unit testing, and benchmarking
|TBD
+
|GCST
 
|TBD
 
|TBD
  
 
|-valign="top"  
 
|-valign="top"  
 
|Update GEOS-Chem documentation and user manual for v11-01
 
|Update GEOS-Chem documentation and user manual for v11-01
|TBD
+
|GCST
 
|TBD
 
|TBD
  
 
|}
 
|}
  
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:17, 19 May 2016 (UTC)
+
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:24, 19 May 2016 (UTC)

Revision as of 20:24, 19 May 2016

Page is under construction.jpg

Overview

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.

More information will be posted here soon!

--Bob Yantosca (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.

Task Developer Status
Add FlexChem into v11-01c Mike Long Completed 14 Dec 2015
Enable the “tropchem” mechanism Mike Long Completed 14 Dec 2015
Restore the OH and HO2 diagnostics (ND43) Melissa Sulprizio Completed 18 Dec 2015
Remove CSPEC array and replaced with State_Chm%Species Melissa Sulprizio Completed 22 Dec 2015
Enable a temporary workaround for family tracers (ISOPN, MMN) Mike Long Completed 25 Jan 2016
Enable FAST-JX photochemistry Mike Long Completed 25 Jan 2016
Enable the "benchmark" chemistry mechanism Melissa Sulprizio Completed 29 Jan 2016
Fix HBr and HOBr hetchem rates for the "tropchem" mechanism Melissa Sulprizio Completed 04 Feb 2016
Fix unit conversions for heterogeneous chemistry Mike Long Completed 18 Feb 2016
Restore the broken J-value diagnostic (ND22) Melissa Sulprizio Completed 15 Mar 2016
Parallelize the main KPP driver loop; fixed other minor issues Bob Yantosca Completed 30 Mar 2016
Enable the SOA and SOA-SVPOA mechanisms Lizzie Lundgren Completed 01 Apr 2016
Add more parallelization fixes Bob Yantosca Completed 18 Apr 2016
Merge FlexChem with v11-01f Melissa Sulprizio Completed 20 Apr 2016
Add KPP repository to Bitbucket (https://bitbucket.org/gcst/kpp) Mike Long Completed 19 Apr 2016
Create new gckpp* files from the updated KPP solver package Melissa Sulprizio Completed 22 Apr 2016
Enable the UCX mechanism Melissa Sulprizio Completed 26 Apr 2016
Introduce a new prod/loss diagnostic into the KPP solver package Mike Long Completed 29 Apr 2016
Fix various other bugs and cleaned up some leftover things Melissa Sulprizio Completed 04 May 2016
Complete unit tests and 1-month benchmarks for the tropchem, benchmark, UCX, SOA, and SOA-SVPOA simulations Melissa Sulprizio
Lizzie Lundgren
Completed 05 May 2016
Remove tracer indices of Rn, Pb, Be, Hg, and POPs simulations from tracerid_mod.F. (This paves the way for us to retire tracerid_mod.F.) Bob Yantosca Completed 02 May 2016
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.
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
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
Merge FlexChem with v11-01g Bob Yantosca Completed 17 Apr 2016
Remove family tracer fields of the Input_Opt object, namely : TRACER_N_CONST, TRACER_CONST, TRACER_COEFF, ID_EMITTED. These were only used by SMVGEAR and are now obsolete. Bob Yantosca Completed 18 May 2016
Create mapping vectors in the State_Chm 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
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
Removal of SMVGEAR input files (globchem.dat, mglob.dat) and associated subroutines (readchem.F, reader.F) Melissa Sulprizio In progress
Removal of obsolete fields Input_Opt%TCVV and Input_Opt%XNUMOL, and updating existing unit conversion routines accordingly Lizzie Lundgren In progress
Store all species concentrations in State_Chm%Species (thus making State_Chm%Tracers redundant) GCST In progress
Remove tracerid_mod.F and related tracer ID flags (IDTxxxx, IDxxxx) from GEOS-Chem. GCST To be done at an upcoming Code-a-Thon
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
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
Attach the new KPP prod/loss diagnostics to GEOS-Chem Chem’s netCDF diagnostic output capability. GCST TBD
Remove the remaining family tracers (ISOPN, MMN). Henceforth, FlexChem will only work with individual species. GCST TBD
Validate FlexChem with additional debugging, unit testing, and benchmarking GCST TBD
Update GEOS-Chem documentation and user manual for v11-01 GCST TBD

--Bob Yantosca (talk) 20:24, 19 May 2016 (UTC)