GEOS-Chem v8-02-01

From Geos-chem
Revision as of 19:50, 7 May 2009 by Ccarouge (Talk | contribs) (Previous issues now resolved in v8-02-01)

Jump to: navigation, search



Will contain everything in v8-01-04 plus the following:

  1. Glyoxal chemistry (May Fu) (NOTE: This is an option which is turned off by default)
  2. Updated photolysis cross-sections and quantum yields to FAST-JX (Jingqiu Mao)
  3. Updated reaction rates (Jingqiu Mao, Dylan Millet, Palmer group @ U. Edinburgh)
  4. HO2 uptake (Lyatt Jaegle)
  5. Updated dust single scattering albedo (Randall Martin)

1-year benchmarks


Three GEOS-Chem model versions were compared to each other:

Color Quantity Plotted Met Field Type Anthro Emissions Photolysis
Annual Mean OH
[105 molec/cm3]
Red v8-01-04 Run1 GEOS-5 4x5
version 5.0.1
w/ "quick fix"
for optical depth

spinup: 2005
run: 2005
EDGAR emissions
EMEP European emissions
BRAVO Mexican emissions
David Streets 2006 emissions
CAC Canadian emissions
EPA/NEI99 with ICARTT fix
EDGAR ship emissions
ARCTAS ship SO2 emissions
Anthro scale year 2005
"old" jv_spec.dat Mostly unchanged
from v5-07-08
except for
a few revisions
Green v8-01-04 Run2 GEOS-5 4x5 version 5.1.0,
"reprocessed" met fields

spinup: 2004
run: 2005
" " " " " " 11.099
Blue v8-02-01 Run0 " " " " "updated" jv_spec.dat "updated" chemical mechanism
(cf. J. Mao, D. Millet,
T-M. Fu, Palmer Group
@ U. Edinburgh)
Black Observations          


  1. v8-01-04 Run2 vs. v8-01-04 Run1 is a clean comparison between the GEOS-5.0.1 and GEOS-5.1.0 met products.
  2. v8-02-01 Run0 vs. v8-01-04 Run2 is a clean validation for the new chemistry mechanism, photolysis rates, and other updates that were added into v8-02-01.
  3. All runs used the same:

The output plots for Run0 may be downloaded from:

cd pub/geos-chem/1yr_benchmarks/v8-02-01/geos5/2005/Run0/output

Previous issues now resolved in v8-02-01

The following user-reported bugs have now been corrected in v8-02-01:

On-the-fly regridding for 0.5x0.667 nested grids

Win Trivitayanurak ( wrote:

this is a follow up to the data regridding problem that I ahve discussed with Philippe the other day. The problem was that, for my China nested-grid 0.5x0.667 simulation, the subroutine DO_THE_REGRIDDING in regrid_1x1_mod.f previously did not have the case for nested-grid 0.5x0.667. Therefore, I wrote a new subroutine called REGRID_05x0666_NESTED and added the call for it inside the existing subroutine DO_THE_REGRIDDING. This should work just fine w/ a N.America nested-grid 0.5x0.667 simulation too but will halt the run if used for running other region, which only makes sense. Please see in the attached file.

The regrid_1x1_mod.f file given by Win was included in GEOS-Chem v8-02-01.

--Ccarouge 15:50, 7 May 2009 (EDT)

Bug with EMEP ship emissions for nested grids

Win Trivitayanurak ( wrote:

This bug is in subroutine EMFOSSIL in emfossil.f. The use of function GET_EUROPE_MASK when LEMEP = .false. crashes the run because, i think, the function is not really valid when EMEP emission is not turned on. When I ran the China nested-grid, all other emission choices need to be turned off, e.g. EMEP, BRAVO. Only STREETS can be on for the China nested grid run. Therefore, w/o this fix, the run won't go anywhere.
I copy the section of the code and paste it here below. See the change in the line with !Prior to 5/1/09 (win, 5/1/09).
 !Prior to 5/1/09 (win, 5/1/09)
 !               ELSE IF ( LEMEPSHIP  .AND.
 !     $                 ( GET_EUROPE_MASK( I, J ) > 0d0 ) ) THEN
 !                  ! Get SHIP EMEP emissions for NOx [molec/cm2/s]
 !                  SHIP = GET_EMEP_ANTHRO( I, J, NN, SHIP=.TRUE.)
              ELSE IF ( LEMEPSHIP ) THEN
                 IF ( GET_EUROPE_MASK( I, J ) > 0d0 )
                 ! Get SHIP EMEP emissions for NOx [molec/cm2/s]
    &            SHIP = GET_EMEP_ANTHRO( I, J, NN, SHIP=.TRUE.)

The change was introduced in emfossil.f in v8-02-01.

--Ccarouge 15:50, 7 May 2009 (EDT)

Bug in sulfate_mod.f to turn off biomass emissions

Win Trivitayanurak ( wrote:

In subroutine EMISSSULFATE inside sulfate_mod.f, there should be the switch LBIOMASS to check if the GET_BIOMASS SO2 and GET_BIOMASS_NH3 should be called or not. Before this fix, the code leaves no choice to cleanly turn off biomass burning emission completely because these two calls would occur everytime it is a new month. Please see the attached file in the mentioned subroutine where I commented.

The modifications to sulfate_mod.f file given by Win are now implemented in v8-02-01.

--Ccarouge 15:50, 7 May 2009 (EDT)

Minor error in gamap_mod.f

Noelle Selin ( wrote:

In my testing/debugging, the compiler found another problem: in gamap_mod, line 1313 and forward (init_tracerinfo):
   DO T = 1, N_TRACERS

      ! Store quantities for each tracer
      NAME (T,45) = TRACER_NAME(T)
      FNAME(T,45) = TRIM( NAME(T,45) ) // ' tracer'
      MOLC (T,45) = INT( TRACER_COEFF(T,1) )
      SCALE(T,45) = 1.0e+9
      INDEX(T,45) = N
The error pulled was that N did not have a previous value. Should it be T? (I changed it to T and it seemed OK...but again it's gamap_mod so it doesn't seem like a big deal).

Philippe Le Sager ( wrote:

yes, it should be T. We recently found about that when debugging for Jenny, and we already put it in the next version being tested now.

--Bob Y. 12:28, 6 May 2009 (EDT)

Bug fix for Streets emissions on 0.5x0.666 nested grid

We found the v8-01-04 of Geos-Chem doesn't read the correct Streets emission files for the 0.5x0.666 nested grid over China. Right now it would read Streets emissions at 1x1 resolution and regrid them.

To correct it, you need to change :

         ! Read David Streets' emisisons over China / SE ASia
         IF ( LSTREETS .and. ITS_A_NEW_MONTH() ) THEN

by :

         ! Read David Streets' emisisons over China / SE ASia
         IF ( LSTREETS .and. ITS_A_NEW_MONTH() ) THEN
#if   defined(GRID05x0666)
            CALL EMISS_STREETS_ANTHRO_05x0666  

in emission_mod.f for every call to EMISS_STREETS_ANTHRO. I.e in the case of full chemistry, offline aerosol, tagged CO, CH4, CO2 and offline H2/HD.

In streets_anthro_mod.f, in the subroutine emiss_streets_anthro_05x0666, you need to change all the lines :


by :

        CALL READ_STREETS_05x0666(...

WARNING : make sure to change the calls to READ_STREETS only in the emiss_streets_anthro_05x0666 subroutine and NOT in emiss_streets_anthro.

--Ccarouge 15:30, 11 March 2009 (EDT)