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

From Geos-chem
Jump to: navigation, search
(New page: == Overview == BETA RELEASE December 2008 Contains everything in GEOS-Chem v8-02-01 plus the following updates: #Non-local Planetary Boundary Layer scheme for GEOS-5 only (Jintai Lin...)
 
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
BETA RELEASE December 2008
+
BETA RELEASE TBD
  
 
Contains everything in [[GEOS-Chem v8-02-01]] plus the following updates:
 
Contains everything in [[GEOS-Chem v8-02-01]] plus the following updates:

Revision as of 16:08, 4 June 2009

Overview

BETA RELEASE TBD

Contains everything in GEOS-Chem v8-02-01 plus the following updates:

  1. Non-local Planetary Boundary Layer scheme for GEOS-5 only (Jintai Lin).
  2. BOND inventory for BC and OC with monthly variations.

With the non-local PBL scheme, the emissions and dry deposition are not uniformly distributed in the PBL anymore. All surface emissions and dry deposition are considered as fluxes in the PBL code and not as reactions in the chemistry. Only airborne emissions (lightning and aircraft) are kept as reactions for the chemistry.

Previous issues now resolved in v8-02-02

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

EPA/NEI inventory: reset other species to zero

Havala O. T. Pye (havala@caltech.edu) wrote:

Hi all,
I've noticed a potential problem with how the EPA NEI99 inventory is used in EMFOSSIL.
My understanding is that ANTHROEMS reads in anthropogenic emissions and puts them in the EMISR array. If a regional inventory is available, EMFOSSIL should override the EMISR values and update EMISRR.
Emissions for ALD2 and many of the new dicarbonyl species are not in the EPA inventory so they get reset to zero over the U.S. I suggest changing the default value (lines 1269 and 1315, epa_nei_mod.f) in GET_EPA_ANTHRO to -1d0 and using a check like the other regional inventories in emfossil.f (starting line 574, excerpt below).
         !--------------------------------------------------------------
         ! Get CO & Hydrocarbons from EPA/NEI inventory over the USA
         !--------------------------------------------------------------

         ! If we are using EPA/NEI99 emissions ...
         IF ( LNEI99 ) THEN

            ! If we are over the USA ...
            IF ( GET_USA_MASK( I, J ) > 0d0 ) THEN

               ! Get EPA/NEI emissions (and apply time-of-day factor)
               EPA_NEI = GET_EPA_ANTHRO( I, J, NN, WEEKDAY )

               ! hotp fix for species not present (hotp 5/28/09)
               IF ( .not. ( EPA_NEI < 0d0 ) ) THEN

                   ! apply time of day factor
                   EPA_NEI = EPA_NEI * TODX

                   ! Convert from molec/cm2/s to kg/box/timestep in order
                   ! to be in the proper units for EMISRR array
                   EMX(1)  = EPA_NEI * ( DTSRCE * AREA_CM2 )
     &                                / XNUMOL(NN)
               ENDIF

            ENDIF
         ENDIF

--Ccarouge 11:50, 29 May 2009 (EDT)

Scale factor for oceanic acetone for GEOS5 2x2.5

It seems the scale factor for the oceanic source of acetone was never defined for GEOS5 2x2.5. Old versions of the code would use a value of 1. But with version 8-02-01, the scale factor is not defined and the compilation would choke on it.

About this problem, Daniel wrote (djacob@fas.harvard.edu):

You can do the GEOS-5 scaling simply on the basis of surface area, i.e., 1 for 4x5 and 0.25 for 2x2.5. No need to worry about differences in sea surface T and wind speeds - they will have only a very small effect and this oceanic source is very uncertain anyway.

So if you want to use GEOS-5 with a resolution 2x2.5 you need to change the following lines in acetone_mod.f:

#elif defined( GEOS_5 ) 

#if defined( GRID05x0666 ) && defined ( NESTED_CH )

      ! GEOS-5 0.5 x 0.667, scaled to 4x5 (dan, 11/6/08)
      ! This scale factor produces too little acetone. (tmf, 3/05/09)
      !REAL*8, PARAMETER :: SCALE_FACTOR = 0.0008d0
      REAL*8, PARAMETER :: SCALE_FACTOR = 0.015369d0      

#elif defined( GRID4x5 )

      REAL*8, PARAMETER :: SCALE_FACTOR = 0.9551d0

#endif

by:

#elif defined( GEOS_5 ) 

#if defined( GRID05x0666 ) && defined ( NESTED_CH )

      ! GEOS-5 0.5 x 0.667, scaled to 4x5 (dan, 11/6/08)
      ! This scale factor produces too little acetone. (tmf, 3/05/09)
      !REAL*8, PARAMETER :: SCALE_FACTOR = 0.0008d0
      REAL*8, PARAMETER :: SCALE_FACTOR = 0.015369d0      

#elif defined( GRID4x5 )

      REAL*8, PARAMETER :: SCALE_FACTOR = 0.9551d0

#elif defined( GRID2x25 )

      REAL*8, PARAMETER :: SCALE_FACTOR = 0.25d0

#endif

This value for the SCALE_FACTOR will be added to the next version.

--Ccarouge 14:38, 28 May 2009 (EDT)

Bug with PRIVATE declaration in sulfate_mod.f

In SRCNH3 (in sulfate_mod.f), please replace the PRIVATE declaration line 4939 :

!$OMP+PRIVATE( I, J )

with the PRIVATE declaration :

!$OMP+PRIVATE( I, J, AREA_CM2, EPA_AN, EPA_BF, CAC_AN )

and in SRCSO4 please change the PRIVATE declaration in line 4690 from:

 !$OMP+PRIVATE( I, J, AREA_CM2, EPA_AN, EPA_BF )

to

 !$OMP+PRIVATE( I, J, AREA_CM2, EPA_AN, EPA_BF, CAC_AN )

In both cases the CAC_AN variable has to be added to the PRIVATE declaration.

--Ccarouge 10:22, 28 May 2009 (EDT)

Bug with online 2ndary aerosol

Replace line 412 of aerosol_mod.f:

    IF ( IDTSOAM ) THEN

with:

    IF ( IDTSOAM > 0 ) THEN

This is a bug in GEOS-Chem v8-02-01 release. However, it is more of a matter of Fortran style. The expression in parentheses in the IF statement should be a logical expression and not an integer expression, as is the case above. Some compilers (e.g. PGI) will always choke on this. However, other compilers (e.g. IFORT) will evaluate the expression as TRUE if the integer IDTSOAM is nonzero. This will be fixed in the following release.

--phs 09:56, 28 May 2009 (EDT)

Bug for dust in ND48

Colette L. Heald (heald@atmos.colostate.edu) wrote:

I was making changes in the AOD calculation in my version of the code and noticed that in diag48 the dust AOD is not properly scaled from 1000 nm to :400 nm. I believe line 543 (in v8-01-04) should be changed from:
                 Q(L) = ODMDUST(I,J,L,R)
to:
                 Q(L) = ODMDUST(I,J,L,R) * SCALE400nm

--Ccarouge 12:07, 4 June 2009 (EDT)