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

From Geos-chem
Jump to: navigation, search
(Incorrect incorporation of moisture in GEOS-Chem air quantities)
(Incorrect incorporation of moisture in GEOS-Chem air quantities)
Line 1,461: Line 1,461:
 
See the [[Moisture_Updates_in_v11-01|Moisture Updates in v11-01]] wiki page for details of the v11-01a and v11-01h moisture updates. Changes specific to the updates in v11-01h are discussed in the [[Moisture_Updates_in_v11-01#Transport|Transport section of that page]]. Important changes to highlight with this fix are as follows:
 
See the [[Moisture_Updates_in_v11-01|Moisture Updates in v11-01]] wiki page for details of the v11-01a and v11-01h moisture updates. Changes specific to the updates in v11-01h are discussed in the [[Moisture_Updates_in_v11-01#Transport|Transport section of that page]]. Important changes to highlight with this fix are as follows:
 
#The dry air mass per level calculated using the dry surface pressure is close but not exactly the same as the dry air mass calculated using the legacy method. Both methods produce valid approximations of level mass, but '''using dry air mass derived from the new dry surface pressure is required for species unit conversions to ensure mass conservation'''. This is because species are advected in units of mass mixing ratio, with dry air mass in the denominator. Retaining the same global species mass before and after advection, therefore, requires unit conversions that use a dry air mass definition consistent with that used in advection.
 
#The dry air mass per level calculated using the dry surface pressure is close but not exactly the same as the dry air mass calculated using the legacy method. Both methods produce valid approximations of level mass, but '''using dry air mass derived from the new dry surface pressure is required for species unit conversions to ensure mass conservation'''. This is because species are advected in units of mass mixing ratio, with dry air mass in the denominator. Retaining the same global species mass before and after advection, therefore, requires unit conversions that use a dry air mass definition consistent with that used in advection.
#'''The new dry surface pressure should NOT be used for constructing a vertical profile of dry air pressure'''. The dry air pressure derived from dry surface pressure and GMAO vertical grid parameters A and B would not reflect an accurate height profile. For this reason, 3D dry pressures (State_Met variables PEDGE_DRY and PMID_DRY) are still constructed using the v11-01a method with GMAO wet surface pressures in combination with specific humidity.
+
#'''The new dry surface pressure should NOT be used for constructing a vertical profile of dry and moist air pressures'''. The dry air pressure derived from dry surface pressure and GMAO vertical grid parameters A and B would not reflect an accurate height profile and cannot be used to derive a moist pressure height proxy. For this reason, 3D dry pressures (State_Met variables PEDGE_DRY and PMID_DRY) are still constructed using the v11-01a method with GMAO wet surface pressures in combination with specific humidity.
  
 
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 15:33, 29 September 2016 (UTC)
 
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 15:33, 29 September 2016 (UTC)

Revision as of 17:56, 3 October 2016

Overview

History

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

Previous version This version Next version
GEOS-Chem v10-01 GEOS-Chem v11-01 TBD
PUBLIC RELEASE 17 Jun 2015 TBD TBD
View v10-01 benchmark history View v11-01 benchmark history TBD

--Bob Y. (talk) 20:29, 17 June 2015 (UTC)

What's new in this version

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

v11-01a

Please see the Benchmark approval form for GEOS-Chem v11-01a for complete information about the validation of GEOS-Chem v11-01a.

Feature Type Submitted by Status
Incorporate moisture into air quantities, tracer units, and tracer unit conversions Science &
Bug fix
Lizzie Lundgren (GEOS-Chem Support Team) Approved 07 Jul 2015
Correct bug in below cloud average mixing ratio calculation in DO_MERRA_CONVECTION to improve mass balance Bug fix Lizzie Lundgren (GCST) " "
Added the capability to print out tracer masses every few hours, in order to check for mass conservation Structural Lizzie Lundgren (GCST) " "
Fix bug in RRTMG that prevents storage of O3 and CH4 RFs Bug fix David Ridley (MIT)
Sebastian Eastham (MIT)
" "
Prevent negative tracer concentrations at poles after advection Bug fix Lizzie Lundgren (GCST) " "

--Bob Y. (talk) 15:23, 7 July 2015 (UTC)

v11-01b

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

  1. Approval form for 1-month benchmark simulation v11-01b
  2. Results for 1-year benchmark simulation v11-01b-Run0
  3. Results for 1-year benchmark simulation v11-01b-RnPbBe
Feature Type Submitted by Status
Update DMS climatology to Lana Science Tom Breider (Harvard) 1-month benchmark:
Approved on 04 Aug 2015

1-year benchmark:
Approved on 19 Aug 2015

Impaction scavenging for hydrophobic BC Science Qiaoqiao Wang (Max Planck Institute) " "
Homogeneous IN removal Science Qiaoqiao Wang (Max Planck Institute) " "
Density of OA update Science Melanie Hammer (Dalhousie)
Eloïse Marais (Harvard)
" "
Improved dust size distribution scheme Science Li Zhang (Colorado U.)
Daven Henze (Colorado U.)
" "
Addition of BrC UV absorption to address impacts on OH
  • This feature is optional (default off)
Science Melanie Hammer (Dalhousie) " "
Acid uptake on dust aerosols
  • This feature is optional (default off)
Science T. Duncan Fairlie (NASA/LARC) " "
Now treat DST2-DST4 as coarse mode in wet scavenging Bug fix T. Duncan Fairlie (NASA/LARC) " "
Online emission of marine primary organic aerosol (POA)
  • This feature is optional (default off)
Science Brett Gantt (NCSU)
Matthew Johnson (NASA Ames)
" "
Update of PMN + O3 reaction products in globchem.dat file Bug fix Dylan Millet (UMN) " "
Bug fix in RRTMG array sizes Bug fix Sebastian Eastham (MIT) " "
Bug fixes in rrtmg_rad_transfer_mod.F Bug fix Sebastian Eastham (MIT)
David Ridley (MIT)
" "
Bug fix for black carbon in ucx_mod.F Bug fix Sebastian Eastham (MIT) " "
Bug fix for archiving P(Ox)/L(Ox) from full-chemistry simulations via the ND20 diagnostic Bug fix GEOS-Chem Support Team " "
Bug fix for linking files when compiling with PGI Bug fix GEOS-Chem Support Team " "

--Melissa Sulprizio (talk) 13:46, 3 August 2015 (UTC)

v11-01c

Please see the Benchmark approval form for GEOS-Chem v11-01c for complete information about the validation of GEOS-Chem v11-01c.

Feature Type Submitted by Status
Updates to PAH code Science Carey Friedman (MIT) Approved 14 Sept 2015
Hg Ocean MLD bug fixes Bug fix Amanda Giang (MIT) " "
Hg Ocean rate coefficients (as an option, not default) Science Shaojie Song (MIT) " "
Hg Arctic process updates Science Jenny Fisher (Wollongong) " "
Hg emission updates (NEI2011, NPRI2011, UNEP2010 with adjustments for and emission controls) Science Yanxu Zhang (Harvard)
Amanda Giang (MIT)
" "
Update CO2 files for HEMCO Science & Bug fix Ray Nassar (Environment Canada) " "
Bug fix for sea salt alkalinity in sulfate_mod.F Bug fix Johan Schmidt (Harvard) " "
Correct problem in OTD-LIS local redistribution files for GEOS-5 Bug fix Christoph Keller (Harvard)
Lu Hu (Harvard)
" "
Bug fixes for the ND21 diagnostic Bug fix Sebastian Eastham (MIT) " "
Bug fix for custom nested grid in tpcore_bc_mod.F Bug fix Shannon Koplitz (Harvard), GCST " "
Bug fix for monoterpenes in ND46 diagnostic Bug fix Jared Brewer (CSU) " "
GEOS-Chem timers Structural Matt Yannetti (GCST) " "
Initial modifications for running GEOS-Chem with the GMAO MERRA-2 reanalysis met field product Structural Bob Yantosca (GCST)
  • The following unit tests passed:
    • merra2_4x5_RnPbBe
    • merra2_4x5_CH4
    • merra2_4x5_tagO3
    • merra2_4x5_POPs
  • Full integration of MERRA-2 in GEOS-Chem (i.e. making "full-chemistry" simulations compatible with MERRA-2) will take longer.
    • Scale factors for lightning, dust, and other emissions will need to be recomputed based on 1-year (or longer) simulations.

--Melissa Sulprizio (talk) 18:46, 9 September 2015 (UTC)

v11-01d

Please see the the following links below for complete information about the validation of GEOS-Chem v11-01d.

NOTE: The original v11-01d benchmark included a quick fix for low Pb tropospheric lifetime against deposition in GEOS-FP and MERRA-2. Due to the high impact on aerosols, the GEOS-Chem Steering Committee rejected the quick fix. We have subsequently removed this fix from v11-01d and performed additional 1-year benchmark simulations with the updated model.

Benchmark results for v11-01d after removal of the quick fix (Approved 12 Dec 2015):

  1. Results for 1-year benchmark simulation v11-01d-Run1
  2. Results for 1-year benchmark simulation v11-01d-RnPbBe

Benchmark results for v11-01d including the quick fix (Version not approved):

  1. Approval form for 1-month benchmark simulation v11-01d
  2. Results for 1-year benchmark simulation v11-01d-Run0
  3. Plots for 1-year benchmark simulation v11-01d-RnPbBe
Feature Type Submitted by Status
CO2 direct effect on isoprene emissions Science Amos Tai (CUHK) Approved 12 Dec 2015
Criegee intermediates Science Dylan Millet (U. Minnesota)
Eloïse Marais (Harvard)
" "
Update biomass burning emissions to GFED4.1, includes:
  • Daily and diurnal factors
Science Prasad Kasibhatla (Duke)
Christoph Keller (Harvard)
" "
Update implementation of optical properties for brown carbon Science Melanie Hammer (Dalhousie) " "
Species Database Phase 1: Structural GEOS-Chem Support Team " "
Resolve very high tracer concentrations in MERRA and GEOS-FP convective scavenging Bug fix Viral Shah (UW) " "
Bug fix for European grid range in tagged Ox simulation Bug fix GEOS-Chem Support Team " "


Fix for reading hourly NEI2011 emissions Bug fix Viral Shah (UW) " "
Bug fix for PBLTOP and MTTOP values in tagged Ox simulation Bug fix GEOS-Chem Support Team " "
Parallelization bug fix in Online emission of marine primary organic aerosol (POA) Bug fix GEOS-Chem Support Team " "
Bug fix for offline dust aerosols when UCX is on Bug fix Seb Eastham (Harvard) " "
Quick fix for low Pb tropospheric lifetime against deposition in GEOS-FP and MERRA-2 Science Bo Zhang (NIA)
Hongyu Liu (NIA/NASA Langley)
This feature was removed following evaluation of the initial 1-year benchmark simulation due to a high magnitude change for aerosols. It has been added to the pipeline for incorporation into a later version after further testing.

--Lizzie Lundgren (talk) 15:30, 2 December 2015 (UTC)

v11-01e

Please see the 1-month Benchmark approval form for GEOS-Chem v11-01e for complete information about the validation of GEOS-Chem v11-01e.

Feature Type Submitted by Status
Update HEMCO from version 1.1.005 to version 1.1.016 Structural Christoph Keller (Harvard) Approved 04 Jan 2016
Speed up GEOS-FP and MERRA-2 met field input by only opening each netCDF file once per day Structural Bob Yantosca (GCST) " "
Bug fixes for Arctic Hg updates in v11-01c Bug Fix Jenny Fisher (Wollongong) " "
Bug fix to update air quantities after specific humidity is updated in non-local PBL mixing Bug fix Lizzie Lundgren (GCST) " "
Tracer Units Phase 1: Initial implementation of area-independent tracer units Structural Lizzie Lundgren (GCST) " "
Modifications for running nested grid simulations with MERRA-2 Structural Melissa Sulprizio (GCST) " "
Species Database Phase 2a: Structural Bob Yantosca (GCST) " "
Species Database Phase 2b: Structural Bob Yantosca (GCST) " "

--Bob Yantosca (talk) 18:40, 4 January 2016 (UTC)

v11-01f

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

  1. Approval form for 1-month benchmark simulation v11-01f with GEOS-FP
  2. Approval form for 1-month benchmark simulation v11-01f with MERRA-2
  3. Results for 1-year Rn-Pb-Be benchmark simulations for v11-01f
  4. Results for 1-year benchmark simulation v11-01f-geosfp-Run0
  5. Results for 1-year benchmark simulation v11-01f-merra2-Run0
Feature Type Submitted by Status
Bug fixes for hydrophobic aerosol properties Bug fix Seb Eastham (Harvard) 1-month benchmark
Approved 29 Mar 2016

1-year benchmark
Approved 16 Apr 2016

Use an updated EMEP mask file to prevent zero emissions at 30 N Bug fix Eloise Marais (Harvard) " "
Correct too-high emissions of Hg2 over China and EU Bug fix Amanda Giang (MIT) " "
Fix typo in HEMCO extension module hcox_gc_RnPbBe_mod.F90 Bug fix Mat Evans (U. York) " "
Fix syntax error in globchem.dat for the MOBA + OH --> MOBAOO reaction rate Bug fix Will Porter (MIT) " "
Fix bug in reaction ISNOOA + NO2 --> PMN in globchem.dat Bug fix Mike Long (Harvard) " "
Fix an emissions error in the SOA-SVPOA simulation Bug fix Prasad Kasibhatla (Duke)
Melissa Sulprizio (GCST)
" "
Add a script (NcdfUtil/perl/isCoards) to determine if a netCDF file is COARDS-compliant Structural Bob Yantosca (GCST) " "
Consistent physical parameter values throughout GEOS-Chem Structural Lizzie Lundgren (GCST) " "
Add optimal timestep settings to the standard GEOS-Chem run directories (via the GEOS-Chem Unit Tester) Structural Sajeev Philip (Dalhousie)
Randall Martin (Dalhousie)
" "
Drive full-chemistry simulations with MERRA-2 met fields
  • Compute various scale factors (dust, lightning, etc.)
Structural Melissa Sulprizio (GCST)
Lee Murray (NASA GISS/LDEO)
" "
NetCDF Output Phase 1:
  • Input and output restart file in netCDF format for all simulations except mercury
Structural Lizzie Lundgren (GCST) " "
Add further fixes for compiling GEOS-Chem with PGI Fortran Structural Bob Yantosca (GCST) " "
Correct bug introduced in v11-01e where emissions were disabled in the stratosphere for specialty simulations Bug fix Lizzie Lundgren (GCST) " "

--Bob Yantosca (talk) 21:24, 29 March 2016 (UTC)

v11-01g

Please see the the following links for complete information about the validation of GEOS-Chem v11-01g:

  1. Approval form for 1-month benchmark simulation v11-01g
  2. Results for 1-year benchmark simulation v11-01g-Run0
Feature Type Submitted by Status
FlexChem
  • Replacing SMVGEAR with a clean and flexible implementation of KPP
  • Removing legacy SMVGEAR code and input files, including:
    • Removing 1-D array indices (JLOOP, KLOOP, etc.)
    • Removing globchem.dat, mglob.dat
    • Removing the distinction between tracers and species
Science Mike Long (Harvard)
GCST
1-month benchmark
Approved 14 Sep 2016

1-year benchmark
Approved 28 Sep 2016

Update 4x5 soil Hg files and Hg simulation photoreduction and soil emission coefficients Science Jenny Fisher (Wollongong) " "
Parallelization bug fixes for GEOS-5 Hg simulations Bug fix Bob Yantosca (GCST) " "
Bug fixes for HEMCO, including: Bug fix Christoph Keller (NASA GSFC)
GCST
" "
NetCDF Output Phase 2:
  • Use netCDF restart files for Hg simulation
Structural Lizzie Lundgren (GCST) " "
Restore the tagged CO specialty simulation
  • Use HEMCO to split CO emissions into tagged tracers
  • Restore tagged CO unit tests
Structural GCST " "
Updates for High Performance GEOS-Chem (GCHP) Dev release, includes: Structural &
Bug fix
Seb Eastham (Harvard)
GCST
" "
Do not nullify local pointers in the same line where they are declared Structural Bob Yantosca (GCST) " "
Improved species indexing
  • Removed tracerid_mod.F from GEOS-Chem
Structural GCST " "

--Melissa Sulprizio (talk) 16:59, 30 August 2016 (UTC)

v11-01h

Please see the the following links for complete information about the validation of GEOS-Chem v11-01h:

  1. Approval form for 1-month benchmark simulation v11-01h
  2. Results for 1-year benchmark simulation v11-01h-RnPbBe
Feature Type Submitted by Status
Fix to remove moisture signature in dry mixing ratio Bug fix Meemong Lee (JPL)
Richard Weidner (JPL)
Lizzie Lundgren (GCST)
Kevin Bowman (JPL)
Benchmarks in progress
Modifications for running nested Asia simulations with MERRA-2 Structural Melissa Sulprizio (GCST) " "

--Melissa Sulprizio (talk) 18:19, 14 September 2016 (UTC)

v11-01i

This version will require a 1-month benchmark simulation.

Feature Type Submitted by Status
Fix bug in GEOS-FP re-evaporation calculation Bug fix Virah Shah (UW)
Bo Zhang (NIA)
Hongyu Liu (NIA/NASA Langley)
  • Delivered to GCST (Jul 2016)

--Melissa Sulprizio (talk) 18:19, 14 September 2016 (UTC)

v11-01j

This version will require 1-month and 1-year benchmark simulations.

Feature Type Submitted by Status
Fix for TOMS/HEMCO to address strange cycle in OH output Bug fix Barron Henderson (U. Florida)
  • Delivered to GCST (Jul 2016)
Correct bug in units of EDGAR v4.2 SO2 emissions Bug fix Jaegun Jung (Ramboll Environ)
  • Delivered to GCST (Apr 2016)
Prevent biofuel emissions from being double counted in EDGAR v4.2 Bug fix GCST
  • Delivered to GCST (May 2016)
Fix for monthly stratospheric P/L rates in HEMCO Bug fix Christoph Keller (NASA GSFC)
  • Delivered to GCST (Jul 2016)
Fix bug in the GMI stratospheric production rates for HCOOH Bug fix Eloise Marais (Harvard)
Xin Chen (UMN)
  • Delivered to GCST (Sep 2016)
Fix bug in NOx diurnal scale factors Bug fix Brian Boys (Dalhousie)
Christoph Keller (NASA GSFC)
  • Delivered to GCST (Aug 2016)
Fix bug in CH4 emissions unit Bug fix Melissa Sulprizio (GCST)
  • Delivered to GCST (Sep 2016)
Update HEMCO from version 1.1.016 to latest version available Structural Christoph Keller (NASA GSFC)
  • TBD
Add option for QFED & FINN emissions in the Hg simulations Science Jenny Fisher (Wollongong)
  • Delivered to GCST (Apr 2016)
  • NOTE: Requires the latest HEMCO updates
Use TOMS ozone for all years when running simulations with GEOS-5 Science Jenny Fisher (Wollongong)
  • Delivered to GCST (Apr 2016)
Updates to TOMAS Jeagle sea salt extension Science Jack Kodros (Colorado State)
  • Delivered to GCST (Jul 2016)
0.1° x 0.1° CAC emissions Science Aaron van Donkelaar (Dalhousie)
  • Delivered to GCST (Sep 2016)
Replace RETRO C3H8 emissions with emissions from Xiao et al. Science Emily Fischer (CSU)
  • Delivered to GCST (Sep 2016)
Add PM2.5 diagnostic Structural Melissa Sulprizio (GCST)
  • In progress

--Melissa Sulprizio (talk) 18:19, 14 September 2016 (UTC)

In the pipeline

The following features will likely held until next version:

Feature Type Submitted by Status
Halogen chemistry updates Science Tomás Sherwen (York)
Johan Schmidt (Harvard)
Oxidants and Chemistry WG
  • Will go in after FlexChem
Updating chemistry rate constants based on JPL Publication 15-10 Barron Henderson (U. Florida)
Mat Evans (U. York)
Science
  • Will go in after FlexChem
Set ACTA and HCOOH to active Bug fix Katie Travis (Harvard)
  • Delivered to GCST
NetCDF Output Phase 3a: Output diagnostics in NetCDF format Structural GCST
  • In progress
NetCDF Output Phase 3b: Updates to eliminate differences between single and multi-segmented GEOS-Chem runs Bug fix GCST, Christoph Keller
  • In progress
PAN updates Science Emily Fischer (CSU)
  • Delivered to GCST, partially implemented into development code
Monthly mean surface methane distributions Science Lee Murray (NASA GISS/LDEO)
  • Awaiting code from developer
Ocean ammonia emission inventory Science Fabien Paulot (NOAA/GFDL)
  • Data files delivered to GCST
  • Needs to be implemented via HEMCO
Update density of BC to 1.8 and add absorption enhancement factor in input.geos Science Xuan Wang (MIT)
  • Delivered to GCST
Species Database Phase 3:
  • Harmonizing Henry's Law coefficients across wet and dry deposition
Science GCST
  • TBD after FlexChem
Uniformity of units Science Lizzie Lundgren (GCST)
  • Phase 2 (unit uniformity throughout chemistry) to be implemented after Flexchem
  • Phase 3 (unit uniformity in some specialty simulations) will be implemented in pieces with input from 3rd party developers.
  • Phase 4 (removal of area and area-dependent State_Met variables) will be ongoing.
Metal catalyzed oxidation of SO2 (as a switch) Science Becky Alexander (UW)
  • TBD
  • Becky Alexander wrote on 14 Sep 2015:
I've incorporated both the metal catalyzed chemistry and the sulfate isotopes into v10. The metal catalyzed chemistry is much slower than it is when run in v8 and v9. I still have not yet figured out why. I'm not comfortable adding this into the standard model until I figure it out. The emissions are quite different in v10 because of HEMCO, and metal catalyzed chemistry is very sensitive to emissions of primary anthropogenic sulfate, so that's my current hypothesis for the difference. I will probably not get back to debugging this until late October.
Temporary fix to remove SO2 scavenging in convective updrafts Science Duncan Fairlie (NASA/LARC)
  • TBD
  • Duncan Fairlie wrote on 03 Mar 2016:
I don't think my fix for this issue is ready for prime time. I get chimneys of essentially unscavenged SO2 extending into the UTLS during Asian monsoon, leading to too much sulfate aloft. I think replacing the instantaneous titration of H2O2 in the standard code with the correct oxidation of SO2 by H2O2 (and O3?) is necessary.
Update SO2 scavenging in convective updrafts for consistency Science Duncan Fairlie (NASA/LARC)
  • TBD after FlexChem
Fix to direct/diffuse radiation Science &
Bug fix
Katie Travis
  • TBD after FlexChem
Fix for NO3 + ISOP product Science Katie Travis
  • TBD after FlexChem
Update MODIS LAI fields through 2015 Science Barron Henderson (UF)
  • TBD
Updated organic deposition Science Katie Travis (Harvard)
Jenny Fisher (U. Wollongong)
  • TBD after FlexChem
Hg code updates (emissions, chemistry, ocean, land) Science Hg and POPs WG
  • Bug fixes for several issues were made in v11-01c and v11-01e.
  • Team Hg is currently running a new Hg benchmark (Feb 2015)
EPA-derived BC/OA emissions over US (1990-2012) Science David Ridley (MIT)
  • TBD after FlexChem
Updates to isoprene chemistry, includes:
  • Fast photolysis of carbonyl nitrates
  • Aerosol uptake of organic nitrates
Science Jenny Fisher (U. Wollongong)
Eloïse Marais (Harvard)
Kelvin Bates (Caltech)
Katie Travis (Harvard)
  • TBD after FlexChem
Nighttime isoprene chemistry updates Science Rebecca Schwantes (Caltech)
  • TBD after FlexChem
Remove dependence of species drydep on HNO3 drydep Science Katie Travis (Harvard)
Jenny Fisher (U. Wollongong)
  • TBD after FlexChem
A snow NOx source from deep snowpack Science Maria Zatko (UW)
Becky Alexander (UW)
  • TBD after FlexChem
Land cover module in GEOS-Chem Science Jeffrey Geddes (MIT)
Michael Long (Harvard)
  • TBD after FlexChem
Merge standard simulation with specialty simulations for OVOC, acids, aromatics, dicarbonyls, terpenes Science Dylan Millet (UMN)
Xin Chen (UMN)
  • TBD after FlexChem
Automate redistribution of NOx in HEMCO Science Lee Murray (NASA GISS/LDEO)
  • TBD after FlexChem
Injection height for fire emissions Science Emily Fischer (CSU)
  • TBD after FlexChem
Improved lightning emission scheme Science Lee Murray (NASA GISS/LDEO)
  • TBD after FlexChem
Updated halogen chemistry Science Tomás Sherwen (York)
Johan Schmidt (Harvard)
Oxidants and Chemistry WG
  • TBD after FlexChem
Sedimentation of stratospheric aerosols Science Sebastian Eastham (Harvard, formerly MIT)
  • TBD after FlexChem
Quick fix for low Pb tropospheric lifetime against deposition in GEOS-FP and MERRA-2 Science Bo Zhang, Hongyu Liu (NIA / NASA Langley)
  • Under further study by Transport Working Group

--Melissa Sulprizio (talk) 18:18, 14 September 2016 (UTC)

New data directories

The following new data directories have been added for GEOS-Chem v11-01. You will have to download the directories relevant to your simulation.

  • TBD

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-01, please see our GEOS-Chem v11-01 benchmark history wiki page.

--Melissa Sulprizio 10:30, 5 May 2015 (EDT)

Unit tests for GEOS-Chem v11-01

We performed a full set of unit tests on GEOS-Chem before submitting each 1-month benchmark. Click on the links below to see the results from each set of unit tests:

Unit test Date Notes
v11-01a 02 Jul 2015 Unit test done prior to submitting v11-01a 1-month benchmark.
v11-01b 29 Jul 2015 Unit test done prior to submitting v11-01b 1-month benchmark.
v11-01c 10 Sep 2015 Unit test done prior to submitting v11-01c 1-month benchmark
v11-01d 02 Nov 2015 Unit test done prior to submitting v11-01d 1-month benchmark
v11-01e #1 11 Dec 2015 Unit test to validate HEMCO v1.1.015
v11-01e #2 21 Dec 2015 Unit test to validate HEMCO v1.1.016

--Bob Yantosca (talk) 20:44, 4 January 2016 (UTC)

Previous issues now resolved in GEOS-Chem v11-01

The following bugs and/or technical issues have now been resolved in GEOS-Chem v11-01.

Added a test for mass conservation

These updates were validated in the 1-month benchmark simulation v11-01a, which was approved on 07 Jul 2015.

In GEOS-Chem v11-01a, we have added a mass conservation check capability. This will let you see at a glance if GEOS-Chem is conserving mass.

In the GEOS-Chem Unit Tester, we have created two new run directories:

runs/geosfp_2x25_masscons
runs/geos5_2x25_masscons

which are instances of the 2° x 2.5° CO2 simulation, but with zero emissions and with a constant (e.g. 370 ppm) initial condition field.

You can make a fresh copy of one (or both) of these directories with the gcCopyRunDirs script to a convenient location in your account. Once you have done that, then follow these steps:

1. Let's say you want to run the geos5_2x5_masscons test. First cd into the copied geos5_2x25_masscons directory.
2. Make sure you specify your desired start & end dates in your input.geos file. Also make sure to put a 3 on the last day of the simulation in the OUTPUT MENU section.
3. Then type this command:
   make -j4 TRACEBACK=y NO_ISO=y mp
this will start compiling and running the GEOS-5 mass conservation test. The Makefile in this run directory will automatically set a new Makefile option, MASSCONS=y, which disables output to the bpch, timeseries, and restart files. Instead, the mass of the total CO2 tracer will be printed out to a file named tracer_mass_kg.dat (you can rename this in the ND49 MENU section of input.geos). The output will look similar to this:
 2.887072562747136E+015  : 2012/07/01 06:00
 2.887072562747084E+015  : 2012/07/01 12:00
 2.887072562747109E+015  : 2012/07/01 18:00
 2.887072562747105E+015  : 2012/07/02 00:00
 2.887072562747306E+015  : 2012/07/02 06:00
 2.887072562747272E+015  : 2012/07/02 12:00
 2.887072562747154E+015  : 2012/07/02 18:00
 2.887072562746720E+015  : 2012/07/03 00:00
The output shows the sum of CO2 tracer (in kg) over all longitudes, latitudes and levels, with a corresponding time stamp. As you can see from this example, mass is conserved to about the 11th decimal place, which indicates good mass conservation.

--Bob Y. (talk) 21:53, 24 June 2015 (UTC)

Prevent negative tracer concentrations after advection

These updates were validated in the 1-month benchmark simulation v11-01a, which was approved on 07 Jul 2015.

In GEOS-Chem v11-01a, we have included a fix for negative tracer concentrations following advection. Tracer concentrations may become negative within routine TPCORE_FVDAS at the poles with values on the order of -1e-10 v/v or smaller in v10-01. Negative values can cause GEOS-Chem to stop downstream if TOMAS is enabled due to a negative NK check within routine MNFIX in tomas_mod.F.

To fix this issue, we set all negative tracer concentration values to 1.0e-26 at the end of advection. The fix, inserted in routine TPCORE_FVDAS within tpcore_fvdas_mod.F90, is shown below. This code is not inserted in nested region advection routines because none of the nested regions overlap the poles.

      !======================================================================
      ! MODIFICATION by Harvard Atmospheric Chemistry Modeling Group
      ! 
      ! Set tracer concentration to a small positive number if concentration 
      ! is negative. Negative concentrations may occur at the poles.
      ! (ewl, 6/30/15) 
      !======================================================================
!$OMP PARALLEL DO        &
!$OMP DEFAULT( SHARED   )&
!$OMP PRIVATE( I, J, K )
      DO K = 1, KM
      DO J = 1, JM
      DO I = 1, IM
         IF ( q(I,J,K,IQ) < 0.0e0_fp ) THEN
            q(I,J,K,IQ) = 1.0e-26_fp
         ENDIF
      ENDDO
      ENDDO
      ENDDO
!$OMP END PARALLEL DO

Note that the reasons for negative values at the poles is not currently understood and is listed in the Outstanding issues not yet resolved in GEOS-Chem v11-01 section of this wiki page.

--Lizzie Lundgren (talk) 16:37, 1 July 2015 (UTC)

Update of PMN + O3 reaction products in globchem.dat file

This update was validated with 1-month benchmark simulation v11-01b and 1-year benchmark simulation v11-01b-Run0. This version was approved on 19 Aug 2015.

NOTE: SMVGEAR will be removed from GEOS-Chem v11-01 when FlexChem is implemented. At that time, the globchem.dat file will be replaced with the KPP master equation file.

Dylan Millet wrote:

I'd like to submit the following change for the globchem.dat file. The PMN + O3 reaction does not give the appropriate products. We should change:
   A  505 8.20E-18  0.0E+00      0 0     0.00     0.     0.         
         PMN           +     O3                                              
   =1.000NO2           +0.600CH2O          +1.000HO2           +             
   +                   +                   +                   +             
   +                   +                   +                   +             
   +                   +                   +                   +
to
   A  505 8.20E-18  0.0E+00      0 0     0.00     0.     0.         
         PMN           +     O3                                              
   =1.000CH2O          +1.000MCO3          +1.000NO3           +             
   +                   +                   +                   +             
   +                   +                   +                   +             
   +                   +                   +                   +
It won't have a major impact, but it is currently is wrong, and my sense (Mat as well) is that this falls under 'bug fix' rather than science update.

--Bob Y. (talk) 17:55, 26 June 2015 (UTC)

Modifications to ND20 to archive afternoon P(O3) and L(O3)

This update was validated with 1-month benchmark simulation v11-01b and 1-year benchmark simulation v11-01b-Run0. This version was approved on 19 Aug 2015.

Bob Yantosca wrote:

I was able to make a couple of modifications that will let you just archive afternoon P(O3) and L(O3), since that may let you avoid the too-low-values at night. If you look in diag_pl_mod.F, in routine DIAG20, you will see these new lines:
!                                                                                         
! !DEFINED PARAMETERS:                                                                    
!                                                                                         
     ! Local time limits (optional)                                                      
     REAL(fp), PARAMETER :: LT_START = 12.0e+0_fp
     REAL(fp), PARAMETER :: LT_END   = 16.0e+0_fp
and
!$OMP+DEFAULT( SHARED )                                                                   
!$OMP+PRIVATE( I, J, L, P_Ox, L_Ox, JLOOP, LT )                                           
!$OMP+SCHEDULE( DYNAMIC )                                                                 
     DO L = 1, LD65
     DO J = 1, JJPAR
     DO I = 1, IIPAR

        ! Zero P(Ox), L(Ox) variables for safety's sake                                  
        P_Ox  = 0e+0_fp
        L_Ox  = 0e+0_fp

        ! JLOOP is the 1-D grid box index for SMVGEAR arrays                             
        JLOOP = JLOP(I,J,L)

        ! If this is a grid box where we have done chemistry, then ...                   
        IF ( JLOOP > 0 ) THEN

           !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%                  
           !%%% NOTE: If you want to restrict output to a given local                    
           !%%% time range, then uncomment these lines of code.                          
           !%%% (bmy, 7/9/15)                                                            
           !                                                                             
           ! Get the local time at box (I,J,L)                                           
           !LT = GET_LOCALTIME( I, J, L )                                                
           !                                                                             
           ! Skip processing if we are outside of the desired                            
           ! local time range (bmy, 7/9/15)                                              
           !IF ( LT < LT_START .or. LT > LT_END ) CYCLE                                  
           !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

           ! Increment counter of valid grid boxes                                       
           COUNT(I,J,L) = COUNT(I,J,L) + 1

(I also defined the LT variable and put in a USE statement for the GET_LOCALTIME function, not shown.)
So if you want to restrict archiving of P(O3) and L(O3) to a given window, you can modify the LT_START and LT_END to the starting and ending hour of the local time window. Values must be in the range 0.0 to 23.99 hours. Then also uncomment the lines after the IF ( JLOOP > 0 ) block.
In addition, I fixed a few minor issues in the DIAG20 and WRITE20 routines. For example, the bpch file was being saved with the wrong JFIRST value, so I corrected that. Also, I made the code more efficient by not trying to compute P(O3) and L(O3) where JLOOP == 0 (i.e. where chemistry wasn't done).

--Melissa Sulprizio (talk) 17:22, 3 August 2015 (UTC)

Bug fixes for the ND21 diagnostic

These fixes were validated with the 1-month benchmark simulation v11-01c and approved on 14 Sept 2015.

Sebastian Eastham wrote:

I was looking at some output for a recent run with v10-01 and realized that diagnostic 21 (OD_MAP) no longer produces the expected data. I only know for certain that this happens when the UCX is enabled, as I do not run with the trop-only version of the code. It basically comes down to index mismatching between aerosol_mod, diag3_mod and gamap_mod.
Once implemented, it should restore output of diagnostic 21 when UCX is active. Prior to this patch, selecting diagnostic 21 with “all” output seemed to result in the incorrect number of tracers and misassignments.

--Melissa Sulprizio (talk) 16:32, 3 August 2015 (UTC)

Bug fix for custom grid in tpcore_bc_mod.F

This fix was validated with the 1-month benchmark simulation v11-01c and approved on 14 Sept 2015.

Shannon Koplitz wrote:

I think there may be a redundant call to allocate the custom nested grid array BC at line 2045 in tpcore_bc_mod.F.
It looks like the call to allocate that array is given earlier in the code at line 1977, and the double call appears to result in an allocation error when attempting to save out BCs for a custom nested grid.

Melissa Sulprizio responded:

I found a few other places where the array BC is used. From what I see, it appears that BC is used in SAVE_GLOBAL_TPCORE_BC specifically for the custom grid, but in READ_WINDOW_TPCORE_BC, GET_4x5_BC, and GET_2x25_BC it's used in a more general sense (for all nested grids). So I think the issue here is that BC is unintentionally used for two different purposes. I think if we remove the second allocation and only allocate BC when LWINDO_CU is true, we'd get errors in the last three routines that I mentioned.
I suggest we change BC for the custom nested grid to BC_CU. In SAVE_GLOBAL_TPCORE_BC, we would modify the following code (in green text):
        IF ((IC .eq. 1) .and. LWINDO_CU )THEN

           !----------------------------------------------------------
           ! IC == 1 : Save BC's to file (custom window)
           !----------------------------------------------------------

           ! Open file for writing, if necessary
           CALL OPEN_BC_FILE( am_I_Root, Input_Opt, RC,
    &                         WINDOW=IC, FOR_WRITE=.TRUE. )

           ! Loop over each tracer
           DO N = 1, N_TOT_TRC

              ! Save concentrations in WINDOW REGION to disk
              DO L = 1, LLPAR
                 BC_CU(1:IM_BC,1:JM_BC,L,N)= 
    &               STT(I1_BC:I2_BC,J1_BC:J2_BC,L,N)
              ENDDO

              ! Write boundary conditions to binary punch file
              CALL BPCH2( IU_BC,     MODELNAME, LONRES,   LATRES,
    &               HALFPOLAR, CENTER180, CATEGORY, N,
    &               UNIT,      TAU,       TAU,      RESERVED,
    &               IM_BC,     JM_BC,     LLPAR,    I1_BC,
    &               J1_BC,     1,   BC_CU(1:IM_BC, 1:JM_BC, 1:LLPAR, N))

              ENDDO

and in INIT_TPCORE_BC:
     ! Boundary condition array for CUSTOM NESTED REGION
     IF ( LWINDO_CU ) THEN
        ALLOCATE( BC_CU( IM_BC, JM_BC, LLPAR, N_TRACERS ), STAT=AS )
        IF ( AS /= 0 ) CALL ALLOC_ERR( 'BC_CU' )
        BC_CU = 0e+0_fp
     ENDIF

We would also have to declare BC_CU at the top of the module and deallocate it in CLEANUP_TPCORE_BC.

--Melissa Sulprizio (talk) 16:56, 3 August 2015 (UTC)

Mercury simulation inconsistently failing optimization unit tests in v11-01c

NOTE: This fix will be added to GEOS-Chem v11-01g.

Bob Yantosca (GCST) found and fixed three parallelization errors that had been causing the GEOS-5 Hg simulations to fail unit tests, as first described by Lizzie Lundgren:

There are inconsistent differences in the diagnostics and ocean restart files when running unit tests on GEOS-5 4x5 and 2x2.5 mercury simulations in v11-01c. When running a test of ten GEOS-5 4x5 Hg unit tests, the trac_avg file failed with differences seven times and the ocean restart file failed with differences eight times. We have isolated the issue to a single call to depo_mercury_mod.F routine ADD_HG2_SNOWPACK that occurs in convection_mod.F routine NFCLDMX. Commenting out the call and conducting ten GEOS-5 4x5 Hg unit tests results in all tests passing. The issue appears to be an optimization problem but is currently unresolved.

--Lizzie Lundgren (talk) 19:05, 9 September 2015 (UTC)

For a complete description of the fixes, please see this post on our Mercury wiki page.

--Bob Yantosca (talk) 21:27, 20 April 2016 (UTC)

Do not nullify local pointers in the same line where they are declared

NOTE: This fix was included in v11-01g (approved 28 Sep 2016).

As described on our our Common GEOS-Chem error messages wiki page, we no longer nullify several pointer variables at the same time when they are declared. In several GEOS-Chem routines, we replaced code that looked like this:

 TYPE(Species), POINTER :: ThisSpc => NULL()

with code that looked like this.

 TYPE(Species), POINTER :: ThisSpc
 . . .
 ThisSpc => NULL()

As it happens, when you nullify a pointer in the same line when it is declared, then the pointer is inadvertently converted to a SAVEd variable, and is only initialized once (instead of every time when the subroutine is called). This can have unexpected side-effects in OpenMP parallel loops.

For more information, please see this article.

--Bob Yantosca (talk) 16:33, 6 May 2016 (UTC)

J-values are doubled for O(1D) and O(3P) in ND22 diagnostic output

NOTE: This fix was included in v11-01g (approved 28 Sep 2016).

There was a bug in the way ND22 was calculated in the pre-FlexChem code that caused the J-values for O(3P) and O(1D) to be double counted. In calcrate.F, we looped over 1 to JPHOTRATE(NCS) = 94 (i.e. the number of photolysis reactions) and identify the species being photolyzed:

     DO I  = 1, JPHOTRAT(NCS)
        NK  = NRATES(NCS) + I
        NKN = NKNPHOTRT(I,NCS)

        ! Name of species being photolyzed
        SPECNAME = NAMEGAS(IRM(1,NK,NCS))

        SELECT CASE ( TRIM( SPECNAME ) )
           CASE ( 'NO2'   )
              INDEX = 1
           CASE ( 'HNO3'  )
              INDEX = 2
           CASE ( 'H2O2'  )
              INDEX = 3
           CASE ( 'CH2O'  )
              INDEX = 4
           CASE ( 'O3'    )
              INDEX = 5
           ...

It turns out the O3 tracer occurs twice: once for O3 -> O + O2 and once for O3 -> O1D + O2. Further down in that same loop over JPHOTRAT(NCS), there was code to add the J-values to the ND22 diagnostic:

           !===========================================================
           ! Store J-values in ND22 diagnostic 
           !===========================================================
           IF ( ND22 > 0 ) THEN
              ! Save J-values for 2PM diagnostic boxes
              ! Use AD22 array for J-value diagnostic (bmy, 9/30/99)
              IF ( LTJV(IX,IY) > 0 .and. IZ <= LD22 ) THEN
                 IF ( INDEX == 5 ) THEN
#if !defined( UCX )
                    ! Store unadjusted total J-O3 as AD22(:,:,:,5)
                    AD22(IX,IY,IZ,5) = AD22(IX,IY,IZ,5) +  
    &                                     DUMMY(KLOOP)
                    ! Store POH as AD22(:,:,:,6)
                    AD22(IX,IY,IZ,6) = AD22(IX,IY,IZ,6) +
    &                                     RRATE(KLOOP,NKN)
#else
                    ! Store O1D/O3P rates separately
                    AD22(IX,IY,IZ,5) = AD22(IX,IY,IZ,5) + 
    &                                     DUMMY(KLOOP)
                    AD22(IX,IY,IZ,6) = AD22(IX,IY,IZ,6) +
    &                                     DUMMYO3P(KLOOP)
#endif

However, because INDEX = 5 occurs twice, GEOS-Chem was adding DUMMY to AD22(IX,IY,IZ,5) twice and DUMMYO3P to AD22(IX,IY,IJ,6) twice. This should have only impacted the ND22 diagnostic output.

In v11-0g, the code for adjusting photolysis rates was moved from calcrate.F (which is now gone) to a routine called PHOTRATE_ADJ in fast_jx_mod.F. In that routine, the J-values for O(1D) and O(3P) are passed to the ND22 diagnostic directly from the ZPJ array, which holds the photolysis rates.

--Melissa Sulprizio (talk) 17:36, 14 September 2016 (UTC)

Incorrect incorporation of moisture in GEOS-Chem air quantities

This issue was partially resolved in GEOS-Chem v11-01a, which was approved on 07 Jul 2015.

The remaining issue is resolved in GEOS-Chem v11-01h for which benchmarking is in progress.

GCST member Lizzie Lundgren (Harvard) discovered that v10-01 tracer unit conversions between [v/v] and [kg] did not accurately handle moisture in their use of moist air mass with dry air molecular weight. Updates to fix this issue and other moisture-related discrepancies discovered during the update implementation were introduced in GEOS-Chem v11-01a.

Validation of the v11-01a moisture corrections revealed an additional moisture handling issue in advection. Inert tracer dry mixing ratio maps contained patterns resembling the moisture signature in the atmosphere. We traced this phenomenon to lack of moisture handling within transport. Tracer mass was distributed relative to moist rather than dry air pressure and therefore preferentially pooled within grid boxes that contained more water vapor mass.

Meemong Lee and Richard Weidner (JPL) issued a JPL Publication detailing a transport moisture fix for the Adjoint model addressing this issue. Their adjoint fix consisted of (1) deriving dry surface pressures from GMAO moist surface pressures and specific humidity, and (2) replacing moist pressures with dry pressures throughout the model.

Lizzie Lundgren (GCST) adapted JPL’s Adjoint fix to the GEOS-Chem forward model in GEOS-Chem v11-01h. The GEOS-Chem v11-01h implementation does the following:

  1. Corrects the transport mass distribution problem by using dry surface air pressures in advection
  2. Preserves the moisture updates incorporated into v11-01a, including 3D dry and moist air pressures
  3. Preserves inert tracer mass conservation by using dry air mass derived from dry surface pressure in species unit conversions and mixing ratio updates

See the Moisture Updates in v11-01 wiki page for details of the v11-01a and v11-01h moisture updates. Changes specific to the updates in v11-01h are discussed in the Transport section of that page. Important changes to highlight with this fix are as follows:

  1. The dry air mass per level calculated using the dry surface pressure is close but not exactly the same as the dry air mass calculated using the legacy method. Both methods produce valid approximations of level mass, but using dry air mass derived from the new dry surface pressure is required for species unit conversions to ensure mass conservation. This is because species are advected in units of mass mixing ratio, with dry air mass in the denominator. Retaining the same global species mass before and after advection, therefore, requires unit conversions that use a dry air mass definition consistent with that used in advection.
  2. The new dry surface pressure should NOT be used for constructing a vertical profile of dry and moist air pressures. The dry air pressure derived from dry surface pressure and GMAO vertical grid parameters A and B would not reflect an accurate height profile and cannot be used to derive a moist pressure height proxy. For this reason, 3D dry pressures (State_Met variables PEDGE_DRY and PMID_DRY) are still constructed using the v11-01a method with GMAO wet surface pressures in combination with specific humidity.

--Lizzie Lundgren (talk) 15:33, 29 September 2016 (UTC)

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

The following issues have not yet been resolved in GEOS-Chem v11-01. Some of these issues represent questions of open research rather than bugs in the source code.

Cause of negative tracer concentrations at the poles is unknown

Tracer concentrations at the poles may become negative within advection. A fix is included in v11-01 that resets negative values to positive at the end of TPCORE_FVDAS but the underlying cause of the negative values is not addressed. All negative values are small enough to not significantly impact advection mass balance.

--Bob Yantosca (talk) 21:22, 20 April 2016 (UTC)