Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PULL REQUEST] HMS Chemistry, adding updates of Moch et al 2020 (replaces PR #456) #905

Merged
merged 17 commits into from Sep 22, 2021

Commits on Sep 24, 2020

  1. HMS chemistry (ref: Moch et al., 2020, JGR)

    Jonathan Moch authored and Jonathan Moch committed Sep 24, 2020
    Copy the full SHA
    2b420f6 View commit details
    Browse the repository at this point in the history
  2. Add limitiation by cloud pH and ionic strength for transition metal c…

    …atalyzed SO2 oxidation (ref: Shao et al., 2019, ACP)
    Jonathan Moch committed Sep 24, 2020
    Copy the full SHA
    2ab1e2d View commit details
    Browse the repository at this point in the history
  3. add HMS species and diagnostics to input.geos and HISTORY.rc template…

    …s (ref: Moch et al., 2020, JGR)
    Jonathan Moch committed Sep 24, 2020
    Copy the full SHA
    0fbc2ce View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2021

  1. Merge HMS chemistry updates from J. Moch into feature/HMSchem

    This brings the HMS chemistry according to J. Moch et al into
    GEOS-Chem.  See geoschem/geos-chem PR #456.
    
    Resolved conflicts in:
    - GeosCore/isorropiaII_mod.F90
    - GeosCore/sulfate_mod.F90
    - Headers/state_diag_mod.F90
    - run/shared/species_database.yml
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 17, 2021
    Copy the full SHA
    2c3982a View commit details
    Browse the repository at this point in the history
  2. Merge branch 'dev' into feature/HMSchem

    This commit adds the hetchem rate law function updates into
    the development branch with HMS chemistry.
    
    Resolved conflicts in:
    - GeosCore/aerosol_mod.F90
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 17, 2021
    Copy the full SHA
    75c0134 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2021

  1. Minor bug fixes for HMS chemistry

    GeosCore/sulfate_mod.F90:
    - Add missing comma in !$OMP PRIVATE statement in CHEM_SO2
    
    Headers/state_diag_mod.F90
    - Add HMS-related fields to TYPE(DgnState)
    - Add Init_and_Register calls for HMS-related fields of TYPE(DgnState)
    - Add Finalize calls for HMS-related fields of TYPE(DgnState)
    - Trimmed trailing whitespace
    
    run/GCClassic/input.geos.templates/input.geos.fullchem
    - Added HMS to list of advected species
    
    run/shared/species_database.yml
    - Added Background_VV = 1.0e-15 for HMS.  This should be a better
      initial concentration than 1e-20 or 1e-30, and should not cause
      chemistry to exit with error.
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 20, 2021
    Copy the full SHA
    ed6a82e View commit details
    Browse the repository at this point in the history
  2. Copy the full SHA
    0fc854a View commit details
    Browse the repository at this point in the history
  3. Add README.md for KPP/aciduptake folder

    The README.md file says that KPP/aciduptake will be used in
    future GC development, but is being ignored for now.
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 20, 2021
    Copy the full SHA
    776e1c1 View commit details
    Browse the repository at this point in the history
  4. Update memory & time limits in test/GCClassic/intTestExecute_slurm.sh

    Change requested time from 16h to 5h.  Most integration tests finish
    in about 3 to 3.5 hours.
    
    Change requested memory from 60000 to 75000.  This is needed for the
    nested-grid NA simulation at 0.25 degree resolution.
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 20, 2021
    Copy the full SHA
    1bd56a3 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2021

  1. Add formula for HMS to species_database.yml; point to new restart file

    run/GCClassic/createRunDir.sh
    - For fullchem and aerosol simulations, point to the restart files
      in ExtData/GEOSCHEM_RESTARTS/v2021-09.  This has the same concentrations
      as the restart files in GC_13.0.0, plus HMS, SO3mm, and HSO3m.
      (will add C2H2 and C2H4 later)
    
    run/shared/species_database.yml
    - Add chemical formula for HMS
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 21, 2021
    Copy the full SHA
    885a198 View commit details
    Browse the repository at this point in the history
  2. Add HMS to the input.geos.aerosol template file for aerosol-only sims

    The HMS chemistry modifications in sulfate_mod.F90 and aerosol_mod.F90
    assume HMS is an advected species.  We have now added HMS to the
    run/GCClassic/input.geos.templates/input.geos.aerosol template file
    that is used in run directory creation.  This should allow integration
    tests to pass.
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 21, 2021
    Copy the full SHA
    2bca7ea View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2021

  1. In createRunDir.sh, TOMAS and fullchem restarts get copied from v2021…

    …-09/
    
    We have added extra species (such as HMS) for new chemistry in 13.3.0
    and later versions into the restart files in the
    ExtData/GEOSCHEM_RESTARTS/v2021-09 folder.  When creating GEOS-Chem
    "Classic" run directories for fullchem or TOMAS simulations, these
    restart files must be placed in the run directory or else there will
    be a species not found error due to the HEMCO_Config.rc "EFYO"
    time cycle flag.
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 22, 2021
    Copy the full SHA
    e0935cc View commit details
    Browse the repository at this point in the history
  2. Bug fix: Make sure HMS0 is initialized for aerosol-only simulations

    Prior to this commit, HMS0 was set to zero for aerosol-only simulations.
    Now it is set to Spc(I,J,L,id_HMS). This had caused aerosol-only
    integration tests to fail.
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 22, 2021
    Copy the full SHA
    d4aebf2 View commit details
    Browse the repository at this point in the history
  3. Additional bug fixes for aerosol-only simulation in sulfate_mod.F90

    (1) Make sure that HOBr, HOCl, HCHO, HMS, and OH are only referenced
        from state_chm%species if it is a fullchem simulation.
    
    (2) Removed some ELSE statements (i.e. zero variables before IF).
    
    (3) Expanded IS_FULLCHEM to Input_Opt%ITS_A_FULLCHEM_SIM
    
    (4) Trimmed trailing whitespace.
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 22, 2021
    Copy the full SHA
    8bf24a1 View commit details
    Browse the repository at this point in the history
  4. Remove HMS from input.geos.aerosol template file

    HMS is only needed for the fullchem simulation.
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 22, 2021
    Copy the full SHA
    6f5db0c View commit details
    Browse the repository at this point in the history
  5. Integration test fix: Only request 47L for TOMAS simulations

    Modified the sequence fed to createRunDir.sh in script
    test/GCClassic/intTestCreate.sh to create TOMAS15 and TOMAS40
    integration test rundirs with 47 levels instead of 72.
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 22, 2021
    Copy the full SHA
    5167c68 View commit details
    Browse the repository at this point in the history
  6. Add additional error traps to prevent seg faults for aerosol-only sims

    GeosCore/aerosol_mod.F90:
    - Only include HMS in SO4_NH4_NIT if id_HMS > 0
    - Set the HMS array to 0 if id_HMS < 0
    
    GeosCore/isorropia_mod.F90
    - Add an IS_HMS flag to denote when id_HMS > 0
    - If id_HMS = 0 and it's an aerosol-only sim, let run proceed
    - Only add HMS to TSO4 if IS_HMS = TRUE
    - Only add HMS to DEN_SAV if IS_HMS = TRUE
    
    Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
    yantosca committed Sep 22, 2021
    Copy the full SHA
    c744c29 View commit details
    Browse the repository at this point in the history