Difference between revisions of "GEOS-Chem v11-02"
(→v11-02e) |
(→v11-02e) |
||
Line 478: | Line 478: | ||
|-valign="top" | |-valign="top" | ||
− | |[[Sulfate_aerosols#Metal_catalyzed_oxidation_of_SO2|Metal catalyzed oxidation of SO2 | + | |[[Sulfate_aerosols#Metal_catalyzed_oxidation_of_SO2|Metal catalyzed oxidation of SO2 as a switch]] (on by default) |
|Viral Shah (UW)<br>Becky Alexander (UW) | |Viral Shah (UW)<br>Becky Alexander (UW) | ||
|Science | |Science |
Revision as of 18:15, 6 February 2018
Contents
- 1 Overview
- 2 Validation
- 3 Previous issues now resolved in GEOS-Chem v11-02
- 3.1 Removed the NNPAR parameter from CMN_SIZE_mod.F
- 3.2 Print the version number to the log file
- 3.3 Include TOA pressure when calculating dry pressure edges
- 3.4 ND26 vertical flux diagnostic does not yield mass balance in advection
- 3.5 ND40 planeflight diagnostic not always written out when turned on
- 3.6 CO2 emissions unit conversion not consistent with new advection pressure
- 3.7 Fixed an incorrect format statement in input_mod.F
- 3.8 Bug fixes for the ND50 timeseries diagnostic
- 3.9 Add MERRA2 to #if and #elif statements where it had been omitted
- 3.10 Code cleanup suggestions
- 3.11 Update CH4 latitude bands for 2014-2016
- 3.12 Add bug fixes for GLYX, MGLY, IEPOX, and IMAE heterogeneous chemistry added in v11-02c
- 3.13 Add fix for IPMN reactions contributing to high P(Ox) and L(NOx)
- 3.14 Remove support for GCAP, GEOS-4, MERRA, GEOS-5
- 3.15 Bug fixes for aerosols in v11-01
- 3.16 Remove MONX from chemical mechanisms
- 3.17 Fix dust rainout settings to match BCPO
- 3.18 Fixes for isoprene SOA for consistency with Marais et al. (2016)
- 3.19 Change timestep units from minutes to seconds
- 3.20 Fixes for two new ND21 binary diagnostics introduced in v11-02
- 4 Outstanding issues not yet resolved in GEOS-Chem v11-02
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 | TBD |
PUBLIC RELEASE 01 Feb 2017 | TBD | TBD |
View v11-01 benchmark history | View v11-02 benchmark history | TBD |
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:
- Approval form for 1-month benchmark simulation v11-02a
- Results for 1-year benchmark simulation v11-02a-Run0
- 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:
|
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:
- Approval form for 1-month benchmark simulation v11-02b
- Approval form for 1-month benchmark simulation v11-02b with high performance option (v11-02b-HP)
- Results for 1-year standard benchmark simulation of v11-02b-HP Run0
- Results for 1-year standard benchmark simulation of v11-02b-HP Run1 (uses offline archived lightning and dust emissions)
- 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:
- Approval form for 1-month benchmark simulation v11-02c
- 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: |
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:
|
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:
- Approval form for 1-month benchmark simulation v11-02d
- Results for 1-year benchmark simulation v11-02d-Run0
v11-02e
Please see the following link for complete information about the validation of GEOS-Chem v11-02e:
- Approval form for 1-month benchmark simulation v11-02e
- Results for 1-year benchmark simulation v11-02e-Run0
Feature | Submitted by | Type | Status |
---|---|---|---|
Features affecting the full-chemistry simulation: | |||
Sync GEOS-FP files on Harvard ftp with files at Dalhousie | GCST | Bug fix | |
Monthly mean surface methane distributions | Lee Murray (NASA GISS/LDEO) | Science |
|
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 |
|
Metal catalyzed oxidation of SO2 as a switch (on by default) | Viral Shah (UW) Becky Alexander (UW) |
Science |
|
Update density of BC to 1.8 and add absorption enhancement factor in input.geos | Xuan Wang (MIT) | Science |
|
Spatially varying OM/OC | Sajeev Philip (Dalhousie/NASA Ames) | 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 |
|
Features not affecting the full-chemistry simulation: | |||
Add ND49 timeseries diagnostic for correcting ozone from the height of the lowest model level to 10m | Katie Travis (MIT) | Structural |
|
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 | |
Make default Rn-Pb-Be-Pasv simulations use 72 levels | GCST | Benchmarking |
v11-02f
Please see the following link for complete information about the validation of GEOS-Chem v11-02f:
- Approval form for 1-month benchmark simulation v11-02f
- 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 |
|
Update to HEMCO v2.1.003 (requires updated MODIS LAI data) | Christoph Keller (NASA GMAO) | Structural |
|
OMI-based Volcanic emissions 2005-2012 | Cui Ge (U. Iowa) Jun Wang (U. Iowa) |
Science |
|
EDGAR v4.3.1 emissions | Chi Li (Dalhousie) | Science |
|
EPA-derived BC/OA emissions over US (1990-2012) | David Ridley (MIT) Chi Li (Dalhousie) |
Science |
|
Historical CAC emissions | Chi Li (Dalhousie) | Science |
|
Global ethane emissions | Zitely Tzompa-Sosa (CSU) | Science |
|
Inefficient combustion emissions in Africa (DICE-Africa inventory) | Eloise Marais (U. Birmingham) Christine Wiedinmyer (NCAR) |
Science |
|
Trash burning emissions | Eloise Marais (U. Birmingham) Christine Wiedinmyer (NCAR) |
Science |
|
Retire GFED3 biomass burning emissions | GCST | Structural |
|
MEIC emissions over China (2000-2015) | Lu Shen (Harvard) Melissa Sulprizio (Harvard) |
Science |
|
CEDS global anthropogenic emissions (1950-2014) | Lu Shen (Harvard) Melissa Sulprizio (Harvard) |
Science |
|
Anthropogenic PM2.5 dust source | Sajeev Philip (Dalhousie) | Science |
|
FINN biomass burning emissions for 2014-2016 | Barron Henderson (US EPA) | Science |
|
Ammonia emissions from Arctic seabirds | Betty Croft (Dalhousie) | Science |
|
Features not affecting the full-chemistry simulation: | |||
Updated Tagged CO simulation | Jenny Fisher (Wollongong) | Science |
|
Updated CH4 simulation | Bram Maasakkers (Harvard) Melissa Sulprizio (Harvard) |
Science |
|
Updates to Hg chemistry from Horowitz et al. (2017) | Hannah Horowitz (U. Washington) Colin Thackray (Harvard) Rebecca Stern (Harvard) |
Science |
Defer to v11-03
Feature | Submitted by | Type | Status |
---|---|---|---|
Transport updates | |||
GEOS resolution & subgrid convection | Karen Yu (Harvard) | Science |
|
Emissions updates | |||
Ocean ammonia emission inventory | Fabien Paulot (NOAA/GFDL) | Science |
|
A snow NOx source from deep snowpack | Maria Zatko (UW) Becky Alexander (UW) |
Science |
|
MASAGE inventory in HEMCO as default | Fabien Paulot (NOAA/GFDL) Amos Tai (CUHK) |
Science | |
Non-agricultural NH3 for use with MASAGE | Amos Tai (CUHK) | Science | |
Radon emission update | Bo Zhang (NIA/NASA Langley) | Science |
|
EPA NEI2011 Version EK | Zitely Tzompa-Sosa (CSU) Emily Fischer (CSU) |
Science |
|
GFAS biomass burning emissions | Mat Evans (York) | Science | |
Deposition/surface updates | |||
Wet scavenging in mixed-phase clouds | Bo Zhang (NIA/NASA Langley) | Science |
|
Harmonizing Henry's Law coefficients across wet and dry deposition | GCST | Science | |
Sedimentation of stratospheric aerosols | Sebastian Eastham (Harvard) | Science | |
Aerosol updates | |||
Sea salt aerosol alkalinity | Qianjie Chen (UW) Becky Alexander (UW) Xuan Wang (Harvard) |
Science |
|
VBS SOA option | Rokjin Park (SNU) | Science | |
Specialty simulation updates | |||
Oxidant fields from v10 for 2006-2012
|
Dylan Jones (UofT) | Science |
|
Year 2010 ocean Hg boundary conditions from ocean model | Hannah Horowitz (Harvard) | Science | |
Historical products emissions from Zhang et al. (2016), should become default | Colin Thackray (Harvard) | Science | |
AMAP/UNEP 2035 for Hg simulation | Helene Angot (MIT) | Science | |
Africa nested-grid for GEOS-FP and MERRA-2 | Eloise Marais (U. Birmingham) | Science |
|
West Africa nested-grid for GEOS-FP | Mat Evans (York) Eleanor Morris (York) |
Science | |
Tagged sulfate simulation | Becky Alexander (UW) | Science | |
Arsenic simulation | Shiliang Wu (MT) | Science | |
Structural updates | |||
Updated flux diagnostics | Chris Holmes (Florida State) GCST |
Structural/ Benchmarking |
|
Additional modifications for FlexChem, including:
|
Mike Long (Harvard) GCST |
Structural | |
Benchmark of stratospheric simulation | Dylan Jones (U. Toronto) | Benchmarking |
|
Uniformity of units | GCST | Structural |
|
ObsPack diagnostic as netCDF replacement for planeflight_mod.F | Andy Jacobson (NOAA/ESRL) | Structural |
|
NetCDF Output Phase 3b: Updates to eliminate differences between single and multi-segmented GEOS-Chem runs | GCST Christoph Keller |
Bug fix/Structural | |
Expansion of model capabilities | |||
FlexGrid: Use HEMCO to read met fields and enable nested simulations over any custom domains | Jiawei Zhuang (Harvard) Jintai Lin (PKU) |
Structural |
|
Update ISORROPIA from v2.0 to v2.2, in order to remove persistent noise in output | Seb Eastham (Harvard) | Science |
|
Archival of roughness length for temperature z0T | GCST | Met processing |
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:
(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:
|
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. | v11-02d | HEMCO/UCX/v2017-12/ |
--Melissa Sulprizio (talk) 21:31, 18 January 2018 (UTC)
Validation
In this section we provide information about the benchmarks and tests that we have done to validate GEOS-Chem v11-01.
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 beDIVISOR=COUNT
for allND50_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.
- 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.
- 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 will be included in v11-02d.
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)
Add bug fixes for GLYX, MGLY, IEPOX, and IMAE heterogeneous chemistry added in v11-02c
This update will be included in v11-02d.
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 will be included in v11-02d.
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 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.);
and rebuilding the chemical mechanisms with KPP. 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;
--Melissa Sulprizio (talk) 21:42, 25 January 2018 (UTC)
Remove support for GCAP, GEOS-4, MERRA, GEOS-5
This update will be included in v11-02d.
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)
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.
--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)
Fixes for isoprene SOA for consistency with Marais et al. (2016)
These fixes will be included in v11-02e.
Eloise Marais wrote:
- The bug fixes that Seb found in the KPP implementation of the heterogeneous chemistry mean that the isoprene SOA is now no longer consistent with the version that I used to implement this chemistry. This is concerning, as I will no doubt receive emails asking why isoprene SOA in the public release isn’t consistent with what’s reported in my paper. This now requires that I provide updated effective Henry’s Law constants and possibly also yields of SOA precursors.
--Melissa Sulprizio (talk) 17:12, 5 January 2018 (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.
--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.