Skip to content

Updates for MAPL3 compatibility - #3381

Draft
lizziel wants to merge 133 commits into
mainfrom
feature/mapl3
Draft

Updates for MAPL3 compatibility#3381
lizziel wants to merge 133 commits into
mainfrom
feature/mapl3

Conversation

@lizziel

@lizziel lizziel commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

Coming soon....

Name and Institution (Required)

Name:
Institution:

Describe the update

Please provide a clear and concise overview of the update.

Expected changes

Please provide details on how this update will impact model output and include plots or tables as needed.

Reference(s)

If this is a science update, please provide a literature citation.

Related Github Issue

Please link to the corresponding Github issue(s) here. If fixing a bug, there should be an issue describing it with steps to reproduce.

yantosca and others added 30 commits February 10, 2026 17:57
KPP/custom/custom.eqn
KPP/fullchem/fullchem.eqn
- Add 1 hetchem and 1 gas-phase reaction for MDL

KPP/fullchem/commonIncludeVars.H
- Added K_MDL as a !$OMP THREADPRIVATE variable

KPP/fullchem/fullchem_SulfurChemFuncs.F90
- Added id_MDL module variable to store the ModelID of MDL
- Added Cloud_CH2O_MDL function to compure CH2O -> MDL hetchem rate

KPP/fullchem/gckpp*.F90
- Rebuilt with KPP 3.3.0

run/CESM/geoschem_config.yml
run/GCClassic/geoschem_config.yml
run/GCHP/geoschem_config.yml
run/GEOS/geoschem_config.yml
run/WRF/fullchem/geoschem_config.yml
- Added methanediol (MDL) as a transported species

run/shared/species_database.yml
- Added species metadata for metheanediol

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/fullchem/fullchem_SulfurChemFuncs.F90
- Use "Spc(id_MDL)%Conc(I,J,L)" as the argument to MDL_g
  when calling Cloud_CH2O_MDL
- Use "Spc(id_CH2O)%Conc(I,J,L)" as the argument to CH2O_g
  when calling Cloud_CH2O_MDL

run/shared/species_database.yml
- Fixed typo: "MDL::" -> "MDL:"

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/custom/custom.eqn
KPP/fullchem/fullchem.eqn
- Added PSO4AQ as a product to the SO2 + H2O2 rxn
- Added PSO4AQ as a product to the SO2 + O3 rxn
- Added PSO4AQ as a product to the SO2 {+O2} rxn
- Added PH2SO4 as a product to the HOCl + SO2 rxn
- Added PH2SO4 as a product to the HOBr + SO2 rxn

KPP/fullchem/gckpp_*
- Rebuilt with KPP 3.3.0

CHANGELOG.md
KPP/fullchem/CHANGELOG_fullchem.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
…/10.1021/acsetair.5c00136. Includes SO2 oxidation in aerosol water by H2O2, O3, NO2, HCHO, and TMI-catalzyed O2. Addition of cloud HPLUS diagnostic since cloud pH diagnostic appears broken.

Signed-off-by: Katherine R. Travis <ktravis1@discover35.prv.cube>
…/10.1021/acsetair.5c00136. Includes SO2 oxidation in aerosol water by H2O2, O3, NO2, HCHO, and TMI-catalzyed O2. Addition of cloud HPLUS diagnostic since cloud pH diagnostic appears broken.

Signed-off-by: Katherine R. Travis <ktravis1@discover35.prv.cube>
…/10.1021/acsetair.5c00136. Includes SO2 oxidation in aerosol water by H2O2, O3, NO2, HCHO, and TMI-catalzyed O2. Addition of cloud HPLUS diagnostic since cloud pH diagnostic appears broken.

Signed-off-by: Katherine R. Travis <ktravis1@discover35.prv.cube>
--> Change 'uptake probability' to 'sticking coefficient' for consistency
--> Consolidate production trackers from 13 to 3 (PSO4MP for multiphase sulfate, and PHMSAQ and PHMSMP for HMS aqueous and multiphase production)
--> Improved computational efficiency by removing ELSE blocks.
--> Added _dp to constants
--> Add Ionic strength diagnostic to GCHP HISTORY template

Signed-off-by: Katherine R. Travis <ktravis1@discover36.prv.cube>
GeosCore/aerosol_mod.F90
GeosCore/planeflight_mod.F90
Headers/state_chm_mod.F90
KPP/fullchem/fullchem_HetStateFuncs.F90
- Renamed State_Chm%Isorrop* fields to State_Chm%Ate*, where "Ate"
  stands for "aerosol thermoydnamical equilibrium".  ISORROPIA is no
  longer used so this should avoid confusion.

run/GCClassic/HISTORY.rc.templates/HISTORY.rc.aerosol
run/GCClassic/HISTORY.rc.templates/HISTORY.rc.fullchem
run/GCHP/HISTORY.rc.templates/HISTORY.rc.fullchem
- Rename diagnostic fields from "Isorrop*" to "Ate*"

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/fullchem/gckpp*F90
- Rebuilt with KPP 3.3.0

KPP/fullchem/CHANGELOG_fullchem.md
- Changed "[ TBD ]" to the standard "[Unreleased] - TBD"

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/fullchem/fullchem_HetStateFuncs.F90
- Removed id_DST{1..4} variables
- Added id_DSTbin{1..7} variables
- Updated the equation for DUST to use DSTbin{1..7} species, which
  were added in GEOS-Chem 14.7.0.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
We have rebuilt the KPP solver files with KPP 3.3.0.  The previous
commit had used a development version of KPP which was unreleased.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/fullchem/fullchem_SulfurChemFuncs.F90
- We have removed the scavenging factor of 0.7 from the expression for
  the DUST variable in routine SET_SO2, based on a suggestion by
  Katie Travis (@ktravis213).
- Cosmetic changes (indentation, etc.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3072 (Add PSO4AQ and PH2SO4 as products
to certain reactions, by @yantosca and @fsolmon) into the GEOS-Chem
14.8.0 development stream.

PR #3072 does the following

- Adds PSO4AQ as a product to the SO2 + H2O2 rxn
- Adds PSO4AQ as a product to the SO2 + O3 rxn
- Adds PSO4AQ as a product to the SO2 {+O2} rxn
- Adds PH2SO4 as a product to the HOCl + SO2 rxn
- Adds PH2SO4 as a product to the HOBr + SO2 rxn

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/custom/custom.eqn
KPP/fullchem/fullchem.eqn
- Updated the version number to 14.8.0
- Added citation Travis et al 2025 to HMS + OH + SO2 rxn

CHANGELOG.md
- Removed leftover line from merge conflict

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
run/shared/species_database.yml
- Removed several leftover dummy species

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/fullchem/fullchem_HetStateFuncs.F90
- Removed extraneous comma at end of line after id_DSTbin3
- Removed the 0.7 wet scavenging factor as per @ktravis213
KPP/custom/custom.eqn
KPP/fullchem/fullchem.eqn
- Added comments denoting additional multiphase sulfate rxns
  as coming from the Travis2025 paper

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3132 (Add methanediol chemistry into the
fullchem mechanism (cf. Yang et al 2025), by @laura-hyesung-yang
and @yantosca) into the GEOS-Chem 14.8.0 development stream.

In PR #3132 we have done the following:

1. Implemented methanediol chemistry as per Laura Yang et al, GRL, 2025.
2. Rebuilt the fullchem mechanism with KPP 3.3.0.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
…TOMAS and new particle formation by organics and updated ternary scheme. Also KPP modified to fix bug for missing PSO4AQ and PH2SO4 terms in equations needed by TOMAS.
KPP/fullchem/fullchem_HetStateFuncs.F90
- Added the following species ID flags as arguments to routine
  fullchem_SetState_Het, calling Ind_ from within the subroutine
  (which is computationally inefficient):
  - id_DSTbin{1..7}, id_pFe, id_SO2, id_SO4
- Removed Ind_ from the USE State_Chm_Mod statement in the
  fullchem_SetStateHet routine

GeosCore/fullchem_mod.F90
- Added local variables id_DSTbin{1..7}, id_pFe, id_SO2, id_SO4,
  which are set in Init_FullChem adn passed as arguments to
  fullchem_SetStateHet

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
run/shared/species_database.yml
- Added metadata for PHMSAQ and PHMSMP dummy species

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Headers/state_chm_mod.F90
- Bug fix: Rename the metadata for all former ISORROP* diagnostics
  to ATE*.  This indicates that ISORROPIA is no longer used, but
  we now use the term ATE (for aerosol thermodynamical equilibrium)
  instead.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/fullchem/fullchem_RateLawFuncs.F90
- Removed k_ex1 variable, we only need k
- Renamed gammaKT to gamma
- Separated local varaiables from arguments
- Added comments
- Cosmetic changes (whitespace, indentation)

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/fullchem/fullchem_SetStateHet
- Add calls to SafeDiv to prevent div-by-zero conditions
- Do not call ReactoDiff_Corr when l_r is zero, as this will
  get placed into the denominator, which will cause an div-by-zero
- Removed the xradi variable, now use State_Chem%AeroRadi directly
- Removed e+0 from numerical constants
- Cosmetic changes (indentation, comments, line breaks, aesthetics)

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/fullchem/fullchem_RateLawFuncs.F90
- Renamed "CRITRH" parameter to "RH_35_PERCENT" for clarity
- Renamed "CRITRH2" parameter to "RH_50_PERDCENT" for clarity

CHANGELOG.md
- Updated accordingy

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/fullchem/fullchem_HetStateFuncs.F90
- Changed "hydroxide*3" to "hydroxide**3" in the expression for
  Fe_d_a.  This was a typo.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
lizziel added 28 commits July 8, 2026 12:52
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
…ctmEnv

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
…cover

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
The code in this file is still written for MAPL2

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
…_mod

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
…anch)

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
…ates

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
@yantosca yantosca added category: Feature Request New feature or request topic: GCHP Only Related to items that only affect GCHP labels Sep 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: Feature Request New feature or request topic: GCHP Only Related to items that only affect GCHP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants