Difference between revisions of "FlexChem"
From Geos-chem
(→Milestones) |
(→Milestones) |
||
Line 20: | Line 20: | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |Add FlexChem into v11-01c |
|Mike Long | |Mike Long | ||
|Completed 14 Dec 2015 | |Completed 14 Dec 2015 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |Enable the “tropchem” mechanism |
|Mike Long | |Mike Long | ||
|Completed 14 Dec 2015 | |Completed 14 Dec 2015 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |Restore the OH and HO2 diagnostics (ND43) |
|Melissa Sulprizio | |Melissa Sulprizio | ||
|Completed 18 Dec 2015 | |Completed 18 Dec 2015 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |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" | ||
− | | | + | |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" | ||
− | | | + | |Enable FAST-JX photochemistry |
|Mike Long | |Mike Long | ||
|Completed 25 Jan 2016 | |Completed 25 Jan 2016 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |Enable the "benchmark" chemistry mechanism |
|Melissa Sulprizio | |Melissa Sulprizio | ||
|Completed 29 Jan 2016 | |Completed 29 Jan 2016 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |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" | ||
− | | | + | |Fix unit conversions for heterogeneous chemistry |
|Mike Long | |Mike Long | ||
|Completed 18 Feb 2016 | |Completed 18 Feb 2016 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |Restore the broken J-value diagnostic (ND22) |
|Melissa Sulprizio | |Melissa Sulprizio | ||
|Completed 15 Mar 2016 | |Completed 15 Mar 2016 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |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" | ||
− | | | + | |Enable the SOA and SOA-SVPOA mechanisms |
|Lizzie Lundgren | |Lizzie Lundgren | ||
|Completed 01 Apr 2016 | |Completed 01 Apr 2016 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |Add more parallelization fixes |
|Bob Yantosca | |Bob Yantosca | ||
|Completed 18 Apr 2016 | |Completed 18 Apr 2016 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |Merge FlexChem with v11-01f |
|Melissa Sulprizio | |Melissa Sulprizio | ||
|Completed 20 Apr 2016 | |Completed 20 Apr 2016 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |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" | ||
− | | | + | |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" | ||
− | | | + | |Enable the UCX mechanism |
|Melissa Sulprizio | |Melissa Sulprizio | ||
|Completed 26 Apr 2016 | |Completed 26 Apr 2016 | ||
|-valign="top" | |-valign="top" | ||
− | | | + | |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" | ||
− | | | + | |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" | ||
− | | | + | |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 | + | |Bob Yantosca |
− | |Completed | + | |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> | + | |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 | + | |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 | ||
− | | | + | |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 | ||
− | | | + | |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 | ||
− | | | + | |GCST |
|TBD | |TBD | ||
|} | |} | ||
− | --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20: | + | --[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 20:24, 19 May 2016 (UTC) |
Revision as of 20:24, 19 May 2016
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)