Difference between revisions of "GEOS-Chem v11-02"

From Geos-chem
Jump to: navigation, search
(New data directories)
(New data directories)
Line 801: Line 801:
 
|-valign="top"
 
|-valign="top"
 
|UCX
 
|UCX
|[[Stratospheric_chemistry#Prod.2Floss_rates_from_UCX|Input files for applying linearized stratospheric chemistry production and loss rates saved out from a UCX simulation using GEOS-Chem v11-02d.]]
+
|[[Stratospheric_chemistry#Prod.2Floss_rates_from_UCX|Input files for applying linearized stratospheric chemistry production and loss rates saved out from a UCX simulation using GEOS-Chem v11-02d]]
 +
*<span style="color:red">The files in this directory contain a bug in the P(Ox) and L(Ox) fields have been superseded by those in <tt>HEMCO/UCX/v2018-02/</tt>.</span>
 
|[[#v11-02d|v11-02d]]
 
|[[#v11-02d|v11-02d]]
 
|<tt>HEMCO/UCX/v2017-12/</tt>
 
|<tt>HEMCO/UCX/v2017-12/</tt>
 +
 +
|-valign="top"
 +
|UCX
 +
|[[Stratospheric_chemistry#Prod.2Floss_rates_from_UCX|Input files for applying linearized stratospheric chemistry production and loss rates saved out from a UCX simulation using GEOS-Chem v11-02d]]
 +
|[[#v11-02e|v11-02e]]
 +
|<tt>HEMCO/UCX/v2018-02/</tt>
  
 
|-valign="top"
 
|-valign="top"

Revision as of 22:01, 15 March 2018

Overview

History

The table below shows the previous, current, and successive versions of GEOS-Chem:

Previous version This version Next version
GEOS-Chem v11-01 GEOS-Chem v11-02 GEOS-Chem v11-03
PUBLIC RELEASE 01 Feb 2017 TBD TBD
View v11-01 benchmark history View v11-02 benchmark history View v11-03 benchmark history

What's new in this version

NOTE: v11-02a, v11-02b, etc. denote 1-month benchmark simulations, which are designed to evaluate GEOS-Chem's performance at intermediate stages of development.

v11-02a

Please see the following link for complete information about the validation of GEOS-Chem v11-02a:

  1. Approval form for 1-month benchmark simulation v11-02a
  2. Results for 1-year benchmark simulation v11-02a-Run0
  3. Results for 1-year benchmark simulation v11-02a-Run1 (final version)
Feature Submitted by Type Status
Features affecting the full-chemistry simulation:
Update chemistry rate constants based on JPL Publication 15-10 Barron Henderson (US EPA),
Mat Evans (U. York), &
Oxidants and Chemistry WG
Science Approved 12 May 2017
Fixes to correct ALK4 lumping issue Barron Henderson (US EPA) Science " "
PAN updates, including:
  • Updates to emissions, deposition, species, chemistry
  • Ocean+biogenic ALD2 emissions from Millet al. [2010]
Emily Fischer (CSU) Science " "
Monthly mean NEI2011 emissions GCST &
Katie Travis (Harvard)
Science " "
Bug fixes in the GEOS-Chem sulfate module:
Prasad Kasibhatla (Duke)
Prasad Kasibhatla (Duke)
Qianjie Chen (UW)
Viral Shah (UW)
Bug fix " "
Fix bug in dry deposition aerodynamic resistance Brian Boys (Dalhousie) Bug fix " "
Fix acetone parameterization in hcox_seaflux_mod.F90 GCST Bug fix " "
Bug fix in cos(SZA) for start of timestep Lizzie Lundgren (GCST) Bug fix " "
Include TOA pressure when calculating dry pressure edges Seb Eastham (Harvard) Science " "
Features not affecting the full-chemistry simulation:
Implement ISORROPIA v2.0 as a Fortran module Seb Eastham (Harvard) &
GCST
Structural " "
Updates to the HEMCO emissions component:
Christoph Keller (NASA GMAO)
Seb Eastham (Harvard)
Jessica Morena (Dalhousie)
Brian Boys (Dalhousie) & GCST
Structural
& Bug fix
" "
Updates to gain computational speedup:
Mike Long (Harvard)
Bob Yantosca (GCST)
Structural
& Bug fix
" "
Fixed typo in INIT_WINDOW Bob Yantosca (GCST) Bug fix " "
netCDF file I/O updates:
Chris Holmes (Florida State)
Andy Jacobson (NOAA)
GCST
Bug fix &
Structural
" "
Makefile and build sequence updates:
Jiawei Zhang (Harvard)
GCST
Bug fix &
Structural
" "
Bug fixes for running UCX in ESMF environment Christoph Keller (NASA GMAO) Bug fix " "
Bug fixes for diagnostics:
Aaron van Donkelaar (Dalhousie)
Jenny Fisher (U. Wollongong)
GCST
Jenny Fisher (U. Wollongong)
Chris Holmes (Florida State)
Bug fix " "
Removal of obsolete variables: GCST Structural " "

v11-02b

Please see the following link for complete information about the validation of GEOS-Chem v11-02b:

  1. Approval form for 1-month benchmark simulation v11-02b
  2. Approval form for 1-month benchmark simulation v11-02b with high performance option (v11-02b-HP)
  3. Results for 1-year standard benchmark simulation of v11-02b-HP Run0
  4. Results for 1-year standard benchmark simulation of v11-02b-HP Run1 (uses offline archived lightning and dust emissions)
  5. Results for 1-year RnPbBe benchmark simulation of v11-02b-HP
Feature Submitted by Type Status
Features not affecting the full-chemistry simulation:
Source code updates for high performance option (GCHP) Seb Eastham (Harvard)
Lizzie Lundgren (Harvard)
Mike Long (Harvard)
Jiawei Zhuang (Harvard)
Bob Yantosca (Harvard)
Structural Approved 16 Jun 2017
Bug fixes for diagnostics:
Ilya Stanevic (Toronto)
Lee Murray (Rochester)
Bug fix " "
Write initial and final Ox mass to file when using the tagged O3 simulation Bob Yantosca (GCST) Structural " "
Convert CO2 emissions units using dry pressure used in advection Meemong Lee (JPL) Science " "
Add QFED emissions for 2014-2016 Christoph Keller (NASA GMAO) Science " "

v11-02c

Please see the following link for complete information about the validation of GEOS-Chem v11-02c:

  1. Approval form for 1-month benchmark simulation v11-02c
  2. Results for 1-year benchmark simulation v11-02c-Run0
Feature Submitted by Type Status
Features affecting the full-chemistry simulation:
Enhance default GEOS-Chem simple SOA Sal Farina (Colorado State)
Aerosols Working Group Chairs
Science 1-month benchmark:
Approved on 07 Sep 2017

1-year benchmark:
Approved 21 Sep 2017

Updates to isoprene and monoterpene chemistry Katie Travis (MIT)
Jenny Fisher (U. Wollongong)
Eloïse Marais (U. Birmingham)
Christopher Chan Miller (Harvard)
Kelvin Bates (Caltech)
Rebecca Schwantes(Caltech)
Science " "
Add aqueous isoprene uptake to SOA scheme Eloise Marais (U. Birmingham) Science " "
Carbon balance (fix C creation) Sarah Safieddine (MIT) Bug fix " "
Fix bugs for EOH and MGLY following implementation of PAN updates in v11-02a Melissa Sulprizio (GCST) Bug fix " "
Update HEMCO from v2.0.004 to v2.1.001 Christoph Keller (NASA GMAO) Structural " "
Features not affecting the full-chemistry simulation:
HEMCO updates:
Christoph Keller (NASA GMAO)
Andy Jacobson (NOAA)
Paulo Tuccella (L'Aquila)
Structural " "
Fixes for several minor issues:
Chris Holmes (Florida State)
Chris Holmes (Florida State)
Jiawei Zhuang (Harvard)
Amanda Giang (MIT)
Katie Travis (MIT)
Katie Travis(MIT)
Bug fix " "
Fixes for the TOMAS simulation:
Sal Farina (Colorado State)
Jack Kodros (Colorado State)
Bob Yantosca (GCST)
Bug fix " "
Fix STE flux diagnostics and add to benchmark procedure Melissa Sulprizio (GCST) Bug fix &
Benchmarking
" "
Initial structural modifications for netCDF diagnostics:
  • Introduce Headers/State_Diag as a stub module (for now)
  • Add a registry object into State_Met, State_Diag, and State_Chm in order to obtain a pointer to any module variable (or slice) by looking up its name
  • Add new module Headers/registry_mod.F90 which contains derived types and routines for registering module variables.
Bob Yantosca (GCST) Structural " "
Combine timestep settings in input.geos in a Timesteps menu Melissa Sulprizio (GCST) Structural " "
Update CO data used in 1-year benchmark plots Jenny Fisher (U. Wollongong) Benchmarking " "

v11-02d

Please see the following link for complete information about the validation of GEOS-Chem v11-02d:

  1. Approval form for 1-month benchmark simulation v11-02d
  2. Results for 1-year benchmark simulation v11-02d-Run2
Feature Submitted by Type Status
Features affecting the full-chemistry simulation:
Halogen chemistry updates Tomás Sherwen (York)
Johan Schmidt (Harvard)
Seb Eastham (MIT)
Lei Zhu (Harvard)
Oxidants and Chemistry WG
Science Approved 12 Feb 2018
Sulfur oxidation by reactive halogens Qianjie Chen (UW) Science
Add bug fixes for GLYX, MGLY, IEPOX, and IMAE heterogeneous chemistry Sebastian Eastham (MIT) Bug fix
Fix bug impacting dust radius obtained in RDUST_ONLINE for UCX simulations Melissa Sulprizio (GCST) Bug fix
Add fix for IPMN reactions contributing to high P(Ox) and L(Ox) Melissa Sulprizio (GCST)
Eloïse Marais (U. Birmingham)
Bug fix
Features not affecting the full-chemistry simulation:
Update CH4 latitude bands for 2014-2016 Katie Travis (MIT) Science
Remove support for GCAP, GEOS-4, MERRA, GEOS-5 Melissa Sulprizio (GCST) Structural
Timestamp HEMCO diagnostics filename with start time rather than end time Lizzie Lundgren (GCST) Structural
Structural updates for netCDF diagnostics GCST Structural

v11-02e

Please see the following link for complete information about the validation of GEOS-Chem v11-02e:

  1. Approval form for 1-month benchmark simulation v11-02e
  2. Results for 1-year benchmark simulation v11-02e-Run0
  3. Results for 1-year Rn-Pb-Be benchmark simulation
Feature Submitted by Type Status
Features affecting the full-chemistry simulation:
Monthly mean surface methane distributions Lee Murray (NASA GISS/LDEO) Science Pending approval
UCX updates, including:
Seb Eastham (Harvard)
Chris Holmes (Florida State)
Melissa Sulprizio (GCST)
Science " "
Use monthly mean stratospheric prod/loss rates from UCX simulation for all species Melissa Sulprizio (GCST) Science " "
Update density of BC to 1.8 and add absorption enhancement factor in input.geos Xuan Wang (MIT) Science " "
Metal catalyzed oxidation of SO2 as a switch (on by default) Viral Shah (UW)
Becky Alexander (UW)
Science " "
Add SOA updates and bug fixes, including: Sam Silva (MIT)
Chemistry Working Group
Aerosols Working Group
GCST
Eloise Marais (U. Birmingham)
Science & Bug fix " "
Fix dust rainout settings to match BCPO Colette Heald (MIT) Bug fix " "
Fixes in gckpp_HetRates.F90 for halogen chemistry Lei Zhu (Harvard)
Seb Eastham (MIT)
Bug fix " "
Add bug fix in sulfate_mod.F involving reorder IF statements for Fahey and Seinfeld decision algorithm Chris Holmes (FSU)
Becky Alexander (UW)
Bug fix " "
Sync GEOS-FP files on Harvard ftp with files at Dalhousie GCST Bug fix " "
Features not affecting the full-chemistry simulation:
Spatially varying OM/OC as a switch (off by default) Sajeev Philip (Dalhousie/NASA Ames) Science " "
Update Rn-Pb-Be-Pasv simulations to use 72 levels by default Melissa Sulprizio (GCST) Science " "
Bug fixes for ISORROPIA II stable mode Jingyuan Shao (UW)
Shaojie Song (Harvard)
Bug fix " "
Change input.geos timestep units from minutes to seconds Lizzie Lundgren (GCST) Structural " "
Fixes for ND21 binary diagnostics Lizzie Lundgren (GCST) Bug fix " "
Fix bug in HEMCO reference time code Barron Henderson (US EPA) Bug fix " "

v11-02f

Please see the following link for complete information about the validation of GEOS-Chem v11-02f:

  1. Approval form for 1-month benchmark simulation v11-02f
  2. Results for 1-year benchmark simulation v11-02f-Run0
Feature Submitted by Type Status
Features affecting the full-chemistry simulation:
Use global 0.25x0.25 files for MEGAN input and MODIS LAI Jenny Fisher (U. Wollongong)
Eloise Marais (U. Birmingham)
Dylan Millet (UMN)
Bug fix/
Science
  • Delivered to GCST (Nov 2017)
Update HEMCO from v2.1.001 to v2.1.005 Christoph Keller (NASA GMAO) Structural
  • Delivered to GCST (Jul 2017)
OMI-based Volcanic emissions 2005-2012 Cui Ge (U. Iowa)
Jun Wang (U. Iowa)
Science
  • Delivered to GCST (Nov 2017)
CEDS global anthropogenic emissions (1950-2014)
  • This inventory will be the default global anthropogenic emissions inventory
  • Includes a fix for NOx unit conversion
Lu Shen (Harvard)
Melissa Sulprizio (Harvard)
Science
  • Delivered to GCST (Nov 2017)
EDGAR v4.3.1 emissions
  • This inventory will be included as an option
Chi Li (Dalhousie) Science
  • Delivered to GCST (Nov 2016)
Historical CAC emissions Chi Li (Dalhousie) Science
  • Delivered to GCST (Nov 2016)
Global ethane emissions Zitely Tzompa-Sosa (CSU) Science
  • Delivered to GCST (May 2017)
Inefficient combustion emissions in Africa (DICE-Africa inventory) Eloise Marais (U. Birmingham)
Christine Wiedinmyer (NCAR)
Science
  • Delivered to GCST (Nov 2017)
Trash burning emissions Eloise Marais (U. Birmingham)
Christine Wiedinmyer (NCAR)
Science
  • Delivered to GCST (Nov 2017)
Retire GFED3 biomass burning emissions GCST Structural
  • Ready to go
MEIC emissions over China (2000-2015) Lu Shen (Harvard)
Melissa Sulprizio (Harvard)
Science
  • Delivered to GCST (Nov 2017)
Anthropogenic PM2.5 dust source Sajeev Philip (Dalhousie) Science
  • Delivered to GCST (Mar 2017)
FINN biomass burning emissions for 2014-2016 Barron Henderson (US EPA) Science
  • Delivered to GCST (Nov 2017)
Ammonia emissions from Arctic seabirds Betty Croft (Dalhousie) Science
  • Delivered to GCST (Nov 2017)
EPA NEI2011 Version EK Zitely Tzompa-Sosa (CSU)
Emily Fischer (CSU)
Science
  • Delivered to GCST (Jan 2018)
Features not affecting the full-chemistry simulation:
Updated CH4 simulation Bram Maasakkers (Harvard)
Melissa Sulprizio (Harvard)
Science
  • Delivered to GCST (Oct 2017)
Updated Tagged CO simulation Jenny Fisher (Wollongong) Science
  • Delivered to GCST (Nov 2017)
Updates to Hg chemistry from Horowitz et al. (2017) Hannah Horowitz (U. Washington)
Colin Thackray (Harvard)
Rebecca Stern (Harvard)
Science
Add ND49 timeseries diagnostic for correcting ozone from the height of the lowest model level to 10m Katie Travis (MIT) Structural
Fix bug in biomass burning emissions when GFED is turned off Corey Trujillo (U. Colorado)
Therese Carter (MIT)
Bug fix
Fix missing HCOOH factors for RCP in HEMCO_Config.rc Seb Eastham (MIT) Bug fix
Fix bug in calculation of L(Ox) for tagged Ox simulations Lu Shen (Harvard) Bug fix
Fix double counting of CO2 emissions in CO2 simulations Beata Bukosa (UW) Bug fix

New data directories

The following HEMCO data directories have been added or updated for GEOS-Chem v11-02. You will have to download the directories relevant to your simulation.

Inventory What was added? When added? Directory
NEI2011 North American emissions Monthly mean data files (created from the existing hourly data in HEMCO/NEI2011/v2015-03) v11-02a HEMCO/NEI2011/v2017-02-MM/
ALD2 Fields for ALD2 emissions, including:
  • Seawater concentration of acetaldehyde
  • Heterotrophic respiration rates, used to compute biogenic emissions of ALD2 and EOH

(added with the PAN updates)

v11-02a HEMCO/ALD2/v2017-03/
POET Anthropogenic emissions of ethanol from the POET inventory
(added with the PAN updates)
v11-02a HEMCO/POET/v2017-03/
Soil NOx New file: DepReservoirDefault.nc
Read default DEP_RESERVOIR fields from file when not found in HEMCO restart file
v11-02a HEMCO/SOILNOX/v2014-07/
QFED Data for 2014-2016 v11-02b HEMCO/QFED/v2014-09/
GMI New symbolic links:
  • gmi.clim.RIPA.geos5.2x25.nc -> gmi.clim.RIP.geos5.2x25
  • gmi.clim.RIPB.geos5.2x25.nc -> gmi.clim.RIP.geos5.2x25
  • gmi.clim.RIPD.geos5.2x25.nc -> gmi.clim.RIP.geos5.2x25
  • gmi.clim.IPMN.geos5.2x25.nc -> gmi.clim.PMN.geos5.2x25
  • gmi.clim.NPMN.geos5.2x25.nc -> gmi.clim.PMN.geos5.2x25
v11-02c HEMCO/GMI/v2015-02/
IODINE Monthly emission fluxes of organic iodine compounds (CH3I, CH2I2, CH2ICl, CH2IBr) from Carlos Ordonez. v11-02d HEMCO/IODINE/v2017-03/
UCX Input files for applying linearized stratospheric chemistry production and loss rates saved out from a UCX simulation using GEOS-Chem v11-02d
  • The files in this directory contain a bug in the P(Ox) and L(Ox) fields have been superseded by those in HEMCO/UCX/v2018-02/.
v11-02d HEMCO/UCX/v2017-12/
UCX Input files for applying linearized stratospheric chemistry production and loss rates saved out from a UCX simulation using GEOS-Chem v11-02d v11-02e HEMCO/UCX/v2018-02/
MEGAN Global 0.25x0.3125 CLM4 PFT and emission factor input files for MEGAN v11-02f HEMCO/MEGAN/v2017-07/
MODIS LAI Updated 0.25 x 0.25 MODIS LAI files (2005-2011) v11-02f CHEM_INPUTS/MODIS_LAI_201707/

--Melissa Sulprizio (talk) 21:56, 15 March 2018 (UTC)

Validation

In this section we provide information about the benchmarks and tests that we have done to validate GEOS-Chem v11-02.

1-month and 1-year benchmarks

For complete information about the benchmark simulations used to validate GEOS-Chem v11-02, please see our GEOS-Chem v11-02 benchmark history wiki page.

Unit tests for GEOS-Chem v11-02

We perform a full set of unit tests on GEOS-Chem on an almost daily basis. These tests ensure that each new feature being added does not break any existing functionality.

Here are the unit tests that we ran before submitting 1-month benchmark simulation for v11-02. Click on the links below to see the results from each set of unit tests:

Unit test Date
v11-02a 17 Apr 2017
v11-02b 18 May 2017
v11-02c 5 Sep 2017
v11-02d 5 Jan 2018
v11-02e TBD
v11-02f TBD

Previous issues now resolved in GEOS-Chem v11-02

The following bugs and/or technical issues have been resolved in v11-02.

Removed the NNPAR parameter from CMN_SIZE_mod.F

This update was included in v11-02a and approved on 12 May 2017.

The NNPAR parameter is a holdover from when we used COMMON blocks to store GEOS-Chem arrays. With the advent of the GEOS-Chem species database, we now use State_Chm%nSpecies to represent the total number of species in the chemistry mechanism, and State_Chm%nAdvect to represent the total number of advected species.

We have therefore removed the following lines (in RED) from CMN_SIZE_mod.F:

      !=================================================================
      ! TRACER & EMISSION SPECIES PARAMETERS
      !
      ! NNPAR   = max number of tracers
      ! NEMPARA = max number of anthropogenic emission species
      ! NEMPARB = max number of biogenic      emission species
      !=================================================================
      ! increase NNPAR and NEMPARA an extra amount (hotp 7/31/09)
#if   defined( TOMAS )
# if    defined( TOMAS40 )
      INTEGER,    PARAMETER :: NNPAR   = 430   ! For TOMAS40 (sfarina 6/11/13)
# elif  defined( TOMAS15 )
      INTEGER,    PARAMETER :: NNPAR   = 205   ! For TOMAS15 (sfarina 6/11/13)
# elif  defined( TOMAS12 )
      INTEGER,    PARAMETER :: NNPAR   = 178   ! For TOMAS12 (sfarina 6/11/13)
# else
      INTEGER,    PARAMETER :: NNPAR   = 340   ! For TOMAS (win, bmy, sfarina 6/11/13)f
# endif
#else
      INTEGER,    PARAMETER :: NNPAR   = 150   ! For non-TOMAS simulations
#endif

--Bob Yantosca (talk) 20:27, 17 March 2017 (UTC)

Print the version number to the log file

This update was included in v11-02a and approved on 12 May 2017.

In routine DISPLAY_GRID_AND_MODEL of GeosCore/main.F, we now print out the version number, e.g.

Using GEOS-Chem version: v11-02

to the log file (i.e. stdout output stream). This will facilitate debugging.

--Bob Yantosca (talk) 18:21, 16 March 2017 (UTC)

Include TOA pressure when calculating dry pressure edges

This fix was included in v11-02a and approved on 12 May 2017.

For physicality and consistency with GCHP, the top-of-atmosphere (TOA) pressure is now included when calculating dry pressure edges. The following lines in GeosCore/dao_mod.F were changed from:

     ! Reset dry surface pressure to zero
     PS_DRY = 0.0e+0_fp

to:

     ! Reset dry surface pressure to TOA value
     PS_DRY = GET_AP(LLPAR+1)

--Melissa Sulprizio (talk) 20:47, 14 April 2017 (UTC)

ND26 vertical flux diagnostic does not yield mass balance in advection

This update was included in v11-02b and approved on 16 Jun 2017.

To achieve mass balance in the advection diagnostic output (ND24, ND25, and ND26) Ilya Stanevic (U. Toronto) suggested that the FZ array be used to compute the ND26 vertical mass flux diagnostic for all levels. This is similar to how FX is used for ND24 and FY for ND25. Note that this fix is only for global advection since the FZ array is not defined for the nested model. With this update, the global ND26 vertical flux diagnostic is defined as the flux into the grid box above (e.g. ND26(:,:,1) is flux from level 1 to level 2 and ND26(:,:,LLPAR) is all zeros).

--Lizzie Lundgren (talk) 21:41, 9 May 2017 (UTC)

ND40 planeflight diagnostic not always written out when turned on

This update was included in v11-02b and approved on 16 Jun 2017.

Lee Murray (University of Rochester) wrote:

I think the FlexChem implementation accidentally disabled the planeflight diagnostic for the full chemistry simulation. We used to initialize the planeflight diagnostic in chemdr.F for full chemistry simulations (now no more) and all the other versions in main.F. We should change main.F to always call SETUP_PLANEFLIGHT whenever the diagnostic is turned on (remove code in RED, add code in GREEN).
        ! Plane following diagnostic
        IF ( ND40 > 0 .and. DO_DIAG_WRITE ) THEN 
        
           ! Call SETUP_PLANEFLIGHT routine if necessary
           IF ( ITS_A_NEW_DAY() ) THEN
              
!               ! If it's a full-chemistry simulation but LCHEM=F,
!               ! or if it's an offline simulation, call setup routine 
!               IF ( ITS_A_FULLCHEM_SIM ) THEN
!                  IF ( .not. LCHEM ) THEN
!                     CALL SETUP_PLANEFLIGHT( am_I_Root, Input_Opt,
!     &                                       State_Chm, RC )
!                  ENDIF
!               ELSE
!                  CALL SETUP_PLANEFLIGHT( am_I_Root, Input_Opt, 
!     &                                    State_Chm, RC )
!               ENDIF

               CALL SETUP_PLANEFLIGHT( am_I_Root, Input_Opt, State_Chm, RC )

           ENDIF
        ENDIF

--Lizzie Lundgren (talk) 19:44, 10 May 2017 (UTC)

CO2 emissions unit conversion not consistent with new advection pressure

This update was included in v11-02b and approved on 16 Jun 2017.

We have moved the discussion of this issue to our CO2 simulation wiki page.

--Lizzie Lundgren (talk) 19:44, 10 May 2017 (UTC)

Fixed an incorrect format statement in input_mod.F

This update was included in v11-02c and approved on 21 Sep 2017.

Chris Holmes wrote:

An incorrect format specification caused GEOS-Chem to crash rather than write a helpful error message when the transport timestep is too big. The code in RED was removed and the lines in GREEN was added at approximately line 3324 of input_mod.F.
        IF ( Input_Opt%TS_DYN > MAX_DYN .and. LTRAN ) THEN
           write(MSG,'(I8,a,L)') '<>', Input_Opt%TS_DYN, Input_Opt%HPC
           WRITE( MSG, 300 ) 'Transport timestep exceeds max:',
    &                         Input_Opt%TS_DYN, MAX_DYN
300        FORMAT( a, i8, ' >', i8 ) 
           CALL ERROR_STOP( MSG, LOCATION )
        ENDIF

--Bob Yantosca (talk) 17:55, 18 April 2017 (UTC)

Bug fixes for the ND50 timeseries diagnostic

This update was included in v11-02c and approved on 21 Sep 2017.

Chris Holmes wrote:

I have found what I suspect are two bugs in ND50.

1. Function ITS_TIME_FOR_WRITE_DIAG50() checks if the integer part of the hour is zero to decide whether to write to disk. With the 20 minute time steps recommended in v11-01, Diag50 gets written and overwritten multiple times in the first hour of every day! The fix is simply to have this function return TRUE if the GMT time is 00:00.

2. Within WRITE_DIAG50 there is the following block of code
        ! Pick the proper divisor, depending on whether or not the
        ! species in question is archived only each chem timestep
        SELECT CASE ( ND50_TRACERS(W) )
           CASE (91, 92, 76, 77 )
              DIVISOR = COUNT_CHEM3D
           CASE DEFAULT
              DIVISOR = COUNT
        END SELECT

I see nothing special about tracers 76, 77, 91, and 92 that should make them divided by a different number. The special tracers numbers are all >= 150 for ND50. I suspect this is left over from a previous code revision. I think it should be DIVISOR=COUNT for all ND50_Tracers.

--Bob Yantosca (talk) 14:42, 14 April 2017 (UTC)

Add MERRA2 to #if and #elif statements where it had been omitted

This update was included in v11-02c and approved on 21 Sep 2017.

Jiawei Zhuang wrote:

In v11-02, (commit 8d27b9a), I am trying to unify defined( GEOS_FP ) and defined( MERRA ) by a adding a new tag defined( FlexGrid ). However, I find some model codes that treat them differently without explanation:
(1) In GeosCore/convection_mod.F: At the #if statement at line 1443, MERRA2 will execute the #else block. But it should execute the #if block:
      #if defined( GEOS_5 ) || defined( GEOS_FP ) || defined( MERRA )
          ! Do nothing, these are all hybrid grids
      #else
          ... etc ...
(2) In HEMCO/Core/hco_interp_mod.F90, MERRA2 will skip the #elif block at line 531:
      #elif defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP )
          ! Full grid
          ... etc ...
(3) At line 1193 of GeosCore/hcoi_gc_main_mod.F90, I noticed what appears to be a typo:
      #if defined ( GEOS_FP ) || ( MERRA2 )
(4) At line 779 of GeosCore/land_mercury_mod.F, I noticed this #if block, which could be written better:
            IF ( FIRSTTIME ) THEN
      #if !defined( MERRA2 ) || !defined( GEOS_FP )
               WRITE( 6, * ) 'WARNING: Snow emission parameterization '//
         &       'designed for use with incident '
               WRITE( 6, * ) 'shortwave radiation. Only net shortwave '//
         &       'radiation available.'
      #endif
               FIRSTTIME = .FALSE.
           ENDIF
(5) In KPP/Standard/gckpp_HetRates.F90, there are 3 places that seem to miss defined (MERRA2):
      ! continental or marine clouds only...
#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP )
      IF ( (FRLAND (I,J) > 0) .or. (FROCEAN(I,J) > 0) ) THEN
#else
      ! Above line is to skip over land ice (Greenland and Antartica). This
      ! should do the same (and also work for GEOS-5, but leave above for now).
      IF ( IS_LAND .and. .not. IS_ICE  ) THEN
#endif

#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP )
      IF ( FRLAND(I,J) > FROCEAN(I,J) ) THEN
#else
      IF ( IS_LAND ) THEN
#endif

#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP )
      ! QL is [g/g]
      Vc = CLDF(I,J,L) * QL * AD(I,J,L) / dens_h2o
#else
      ! QL is [cm3/cm3]
      Vc = CLDF(I,J,L) * QL * XAIRM3
#endif

These appear to have been oversights. To fix the issues, simply add the code in GREEN to the #if blocks mentioned above:

 At line 1443 of convection_mod.F: 
 #if defined( GEOS_5 ) || defined( GEOS_FP ) || defined( MERRA ) || defined( MERRA2 )

 At line 531 of hco_interp_mod.F90:
 #elif defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP ) || defined( MERRA2 )
 
 At line 1193 of hcoi_gc_main_mod.F90
 #if defined( GEOS_FP ) || defined( MERRA2 )

 At line 779 of land_mercury_mod.F:
 #if defined( GEOS_FP ) || defined( MERRA2 )
    ! do nothing
 #else
     WRITE( 6, * ) ... etc ...

 At lines 1953, 2029, and 2047 of KPP/Standard/gckpp_HetRates.F90
 #if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP ) || defined( MERRA2 )

--Bob Yantosca (talk) 20:28, 22 May 2017 (UTC)

Code cleanup suggestions

Suggestion 1 was included in v11-02c and approved on 21 Sep 2017.

Suggestion 2 is slated for inclusion later in GEOS-Chem v11-02.

Chris Holmes wrote:

I have a few housekeeping suggestions that I think would be helpful to GC users.
  1. Combine all of the timestep settings in input.geos in a single “Timesteps” menu. With the default timesteps being much shorter now, there seems to be much more interest in changing these timesteps (e.g. do model development with large time steps, then publication runs with small time steps), myself included. It would be nice to change all of the time steps in one place. Besides making it easier to double or halve them all, a single menu would also help clarify whether the time steps for each process have the recommended 1:2 ratio for operator splitting.
  2. Move all of the photolysis and aerosol optics data files out of the run directory and into a folder in ExtData. That would allow them to be documented, tracked and updated like emissions. As far as I have seen, these files are rarely modified by users, so they don’t need to be in the run directory. That would include the following files...
      brc.dat
      dust.dat
      FJX_j2j.dat
      FJX_spec.dat
      h2so4.dat
      jv_spec_mie.dat
      org.dat
      so4.dat
      soot.dat
      ssa.dat
      ssc.dat

--Melissa Sulprizio (talk) 16:37, 19 July 2017 (UTC)

Update CH4 latitude bands for 2014-2016

This update was included in v11-02d (approved 12 Feb 2018).

The last year of latitudinal CH4 concentration data (based on CMDL flask observations) was 2013. (Data is provided in 4 latitude bands: 90°S-30°S, 30°S-0°N:, 0°N-30°N, 30°N-90°N.) Katherine Travis has updated the subroutine get_global_ch4.F with additional years of latitudinal CH4 data from 2014 thru 2016.

Lee Murray will provide additional latitudinal CH4 concentration data through present day, once it is available. See this post on our NOx-Ox-HC-aerosol wiki page for more information.

--Melissa Sulprizio (talk) 15:16, 5 September 2017 (UTC)
--Bob Yantosca (talk) 21:59, 20 February 2018 (UTC)

Add bug fixes for GLYX, MGLY, IEPOX, and IMAE heterogeneous chemistry added in v11-02c

This update was included in v11-02d (approved 12 Feb 2018).

Sebastian Eastham wrote:

There’s a bug in the v11-02c het rate code. In KPP/Standard/gckpp_HetRates.F90, many of the dedicated routines (e.g. HetIMAE) loop over NAERO. The loop looks like
   Do N=1,NAERO
      ! [Comment]
      If (N==8) Then
         XSTKCF = [number] 
      End If
      If (N == 13) Then
         ADJUSTEDRATE = XAREA(N)*XSTKCF
      Else
         ADJUSTEDRATE = ARSL1K( XAREA(N), XRADI(N), XDENA, XSTKCF, XTEMP, (A**0.5_FP) )
      End If
      Het_IMAE = Het_IMAE + ADJUSTEDRATE
   End Do
The problem here is that every aerosol after aerosol 8 is inheriting the sticking coefficient from aerosol 8. Crucially, this includes SOAS – so the fact that the simple SOA tracer is missing could affect this. GCC is artificially increasing the het rate on all aerosols because of this bug, whereas GCHP is not. Fixing this would be as simple as inserting either XSTKCF = 0.0 or XSTKCF = B at the start of the loop, where I’ve written ! [Comment]. The question of which is correct is really a science question (probably XSTKCF = B, although I’d ask the original authors). However, what’s definitely true is that one of these two options needs to be put in or the result of the calculation will be wrong.
Fixing this bug is likely to change SOA burdens in both GCC and GCHP. In gckpp_HetRates, the following routines are definitely affected:
  • HetGLYX
  • HetMGLY
  • HetIEPOX (forms SOAIE)
  • HetIMAE (forms SOAME)
The other het routines look like they have the correct form (either by a "header" of XSTKCF = B, or because they have an If...ElseIf...Else...End clause that catches all possible values of N and sets XSTKCF accordingly).

The solution is to set XSTKCF = TINY(1e0) where ! [Comment] is in the code snippet above, following what is done in Eloise Marais's version of calcrate.F.

--Melissa Sulprizio (talk) 17:57, 20 September 2017 (UTC)

Add fix for IPMN reactions contributing to high P(Ox) and L(NOx)

This update was included in v11-02d (approved 12 Feb 2018).

During the 1-year benchmark for v11-02d, Lu Hu pointed out an issue in the O3 budget where P(Ox) and L(Ox) were too high (~40000 Tg/yr compared to the expected 4000-5000 Tg/yr). This issue was tracked to the following reactions in the chemical mechanism:

IMAO3 + NO2 {+M} = IPMN  # Impacts L(Ox)
IPMN = IMAO3 + NO2       # Impacts P(Ox)

Eloise Marais wrote:

I'd suggest just using the same reaction rate values as for NPMN: non-isoprene PMN, as the reaction rates I used come from a rather speculative chemical mechanism anyway proposed by Lin et al., 2013 (http://www.pnas.org/content/suppl/2013/04/03/1221150110.DCSupplemental/pnas.201221150SI.pdf) and the isoprene SOA that these reactions form is relatively minor.

This fix involves changing the reactions rates for the following IPMN reactions in the .eqn files from:

IMAO3 + NO2 {+M} = IPMN : GCJPLPR(1.21E-11, 1.1E+00, 0.0, 7.7E-12, 0.2, 0.0, 0.6, 0.0, 0.0);
NMAO3 + NO2 {+M} = NPMN : GCJPLPR(9.00E-28, 8.9E+00, 0.0, 7.7E-12, 0.2, 0.0, 0.6, 0.0, 0.0);
IPMN = IMAO3 + NO2 : GCJPLEQ(1.60E+16, 0.0E+00, -13486.0, 9.00E-28, 8.9E0, 0.0, 7.7E-12, 0.2, 0., 0.6, 0., 0.);
NPMN = NMAO3 + NO2 : GCJPLEQ(9.00E-29, 0.0E+00, 14000.0, 9.00E-28, 8.9E0, 0.0, 7.7E-12, 0.2, 0., 0.6, 0., 0.);

to:

IMAO3 + NO2 {+M} = IPMN : GCJPLPR(9.00E-28, 8.9E+00, 0.0, 7.7E-12, 0.2, 0.0, 0.6, 0.0, 0.0);
NMAO3 + NO2 {+M} = NPMN : GCJPLPR(9.00E-28, 8.9E+00, 0.0, 7.7E-12, 0.2, 0.0, 0.6, 0.0, 0.0);
IPMN = IMAO3 + NO2 : GCJPLEQ(9.00E-29, 0.0E+00, 14000.0, 9.00E-28, 8.9E0, 0.0, 7.7E-12, 0.2, 0., 0.6, 0., 0.);
NPMN = NMAO3 + NO2 : GCJPLEQ(9.00E-29, 0.0E+00, 14000.0, 9.00E-28, 8.9E0, 0.0, 7.7E-12, 0.2, 0., 0.6, 0., 0.);

In addition IPMN should be added to the Ox family in gckpp.kpp:

POx : O3 + NO2 + 2NO3 + PAN + NPMN + IPMN + PPN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + ISN1 + ISOPNB + ISOPND + MACRN + MVKN + PROPNN + R4N2 + INPN + ISNP + INO2 + ISNOOA + ISNOOB + ISNOHOO + MAN2 + PRN1 + PRPN + R4N1 + PMNN + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4;
LOx : O3 + NO2 + 2NO3 + PAN + NPMN + IPMN + PPN + HNO4 + 3N2O5 + HNO3 + BrO + HOBr + BrNO2 + 2BrNO3 + MPN + ETHLN + ISN1 + ISOPNB + ISOPND + MACRN + MVKN + PROPNN + R4N2 + INPN + ISNP + INO2 + ISNOOA + ISNOOB + ISNOHOO + MAN2 + PRN1 + PRPN + R4N1 + PMNN + MACRNO2 + ClO + HOCl + ClNO2 + 2ClNO3 + 2Cl2O2 + 2OClO + O + O1D + IO + HOI + IONO + 2IONO2 + 2OIO + 2I2O2 + 3I2O3 + 4I2O4;

After implementing those fixes, the chemical mechanisms will need to be rebuilt with KPP.

--Melissa Sulprizio (talk) 21:42, 25 January 2018 (UTC)

Remove support for GCAP, GEOS-4, MERRA, GEOS-5

This update was included in v11-02d (approved 12 Feb 2018).

Daniel Jacob wrote to the GEOS-Chem Steering Committee:

I met today with the GCST and they brought up again the issue of discontinuing support for old met fields (GEOS-4, GEOS-5, MERRA) in GEOS-Chem. They told me that it would benefit the code structurally to stop supporting these old met fields, also that GCHP will not be able to use them since the data are in binary format. We would also reclaim some disk storage, and we would satisfy GMAO who doesn’t like that we’re using these old met fields.
We will discontinue support for the old met fields (MERRA, GEOS-4, GEOS-5) in future model versions BUT we will keep the data archives [at Dalhousie] at least for now.

Loretta Mickley consulted with Lee Murray, Amos Tai, and Jeff Geddes of the Chemistry-Ecosystems-Climate Working Group and wrote:

It looks like we can safely retire the GCAP met fields and #ifdef GCAP sections of the code now. As Lee describes, there are other capabilities in use by the chemistry-climate community that we will eventually implement into standard code.
I believe we currently have GCAP2 met fields stored at Harvard, and these should be maintained. GCAP2 consists of met fields from the GISS ModelE2.1 present-day and future. Lee Murray and Eric Leibensperger created these files, after a lot of work!

--Melissa Sulprizio (talk) 16:11, 2 November 2017 (UTC)
--Bob Yantosca (talk) 21:59, 20 February 2018 (UTC)

Bug fixes for aerosols in v11-01

This fix was included in v11-02c.

Jingyuan Shao (UW) wrote:

When I use GEOS-Chem v11-01, I found two small bugs in the codes.
The first is described in more detail at this post on our ISORROPIA II wiki page.
Second, In aerosol_mod.F(line 2077) from
     ! Mass of hydrophilic aerosol from Mian Chin
     ALLOCATE( WAERSL(IIPAR,JJPAR,LLPAR,NAER), STAT=AS)
     IF ( AS /= 0) CALL ALLOC_ERR( 'WAERSL' )
     DAERSL = 0d0
to
     ! Mass of hydrophilic aerosol from Mian Chin
     ALLOCATE( WAERSL(IIPAR,JJPAR,LLPAR,NAER), STAT=AS)
     IF ( AS /= 0) CALL ALLOC_ERR( 'WAERSL' )
     WAERSL = 0d0

The fix in aerosol_mod.F was included in v11-02c with the implementation of aqueous isoprene uptake updates from Eloise Marais.

--Melissa Sulprizio (talk) 16:28, 15 November 2017 (UTC)

Remove MONX from chemical mechanisms

This fix will be included in v11-02e.

Sam Silva (MIT) wrote:

I was wondering why there were three monoterpene species in the chemical mechanism: MTPA (lumped alpha pinene), LIMO (lumped limonene) and then MONX (all monoterpenes).
MONX doesn’t play with any of the monoterpene nitrate chemistry, it just is converted into 3 formaldehyde:
   MONX = 3.000CH2O :                          GCARR(1.07E-05, 0.0E+00, 0.0);
It seems like having the MONX group (all monoterpenes) and the speciated lumped monoterpenes is an inconsistency. Ultimately, I’m interested in adding Glyoxal formation from monoterpenes, and it’s not clear to me how to properly do that, given the three different species.
Do you know of a reason why MONX is still in the mechanism?

Melissa Sulprizio responded:

I had a look through the Git history of the globchem.dat file. The MONX -> 3CH2O reaction was originally included in the SOA mechanism. Just prior to the v10-01 public release, the GEOS-Chem Steering Committee requested that we include SOA chemistry in the benchmark simulations. At that time, MONX was made an active species and the MONX -> 3CH2O reaction was added to the globchem.dat file for the benchmark simulations. No other monoterpene chemistry was included in that chemical mechanism at the time.
In v11-02a, we introduced monoterpene chemistry during Emily’s PAN updates. At that time MTPA was introduced. The monoterpene chemistry was further modified and expanded upon in v11-02c following Jenny’s updates originally made for SEAC4RS.
Looking back at Emily’s original PAN updates that she sent to us (based on v9-02h), it looks like MONX is a dead species in globchem.dat and the MONX -> 3CH2O reaction is not included. That may have been an oversight during the PAN updates implementation. Since Emily’s globchem.dat did not include the SOA chemistry by default and our standard/benchmark mechanism did, it wasn’t clear that we should remove the MONX species and reaction.

The MONX species will be removed from GEOS-Chem mechanisms in v11-02e, upon the recommendation given to us by Emily Fischer. This update also requires the addition of the MTPO species to represents all the monoterpenes not covered by species MTPA. See this post on our Secondary organic aerosols wiki page for more details.

--Melissa Sulprizio (talk) 16:28, 15 November 2017 (UTC)

Fix dust rainout settings to match BCPO

These fixes will be included in v11-02e.

Colette Heald (MIT) wrote:

BCPO/DST1-4: are all "insoluble" but can act as IN, so I think the DST RainEff should be modified to [1,1,0] to match BCPO

--Lizzie Lundgren (talk) 15:44, 30 November 2017 (UTC)

Change timestep units from minutes to seconds

This update will be included in v11-02e.

Andrea Molod (GMAO) wrote:

As part of the side by side testing of GMI and GEOSChem chemistry in our coupled framework, we have run across a small but annoying issue. The "annoyance" is that the geoschem code does not accomodate a call at a time step that is not a multiple of a minute. our current model "heartbeat" is 450 seconds (for many reasons) at what is now a wide range of resolutions, and we end up having to run with geoschem at 300 seconds (for other reasons internal to GEOS).

To address this issue, the timestep duration specifications in the configuration file input.geos will be changed from minutes to seconds. The data type will stay as integer. This change has implications for the GEOS-Chem source code. Subroutines of form GET_TS_{component} now return seconds instead of minutes and usages of time units since a reference time must incorporate seconds as well as minutes in the calculation.

--Lizzie Lundgren (talk) 23:19, 29 January 2018 (UTC)

Fixes for two new ND21 binary diagnostics introduced in v11-02

These fixes will be included in v11-02e.

Two new ND21 diagnostics introduced in v11-02c are assigned to the wrong tracer numbers in the AD21 array written to binary output. The optical depth of SOA from aqueous isoprene is written to tracer 34 but should be written to tracer 58. The aqueous aerosol volume is written to tracer 35 but should be written to tracer 59.

These tracer number errors resulted in an inconsistency with metadata supplied by GAMAP and prevented the diagnostics from being written to file during a full chemistry simulation. The new diagnostics also overwrite the dust AOD wavelength 2 diagnostics for bins 2 and 3 if run with RRTMG. A parallelization issue in setting one of the diagnostics is also present.

To get around these issues in v11-02c and v11-02d, replace AD21 index 34 with 58 and 35 with 59 where the diagnostics are set in aerosol_mod.F and declare local variable TAERVOL as private in the OMP loop in subroutine RDAER.

--Lizzie Lundgren (talk) 23:19, 29 January 2018 (UTC)

Outstanding issues not yet resolved in GEOS-Chem v11-02

TBD

For a complete list of outstanding issues not yet resolved in GEOS-Chem v11-02 with High Performance option, see the outstanding issues section of the GCHP v11-02 wiki page.