- 1 Overview
- 2 Previous issues now resolved in v8-03-02
- 3 Outstanding issues not yet resolved in v8-03-02
PUBLIC RELEASE -- Summer 2010
Will contain everything in GEOS-Chem v8-03-01, plus:
- Terrestrial and deep ocean mercury and updated mercury chemistry (N. Smith-Downey, E. Sunderland, C. Holmes)
- Updated CO2 simulation (R. Nassar)
- Liquid water content taken from GEOS-5 met fields (J. Fisher)
--Bob Y. 15:47, 18 August 2010 (EDT)
Previous issues now resolved in v8-03-02
Patches from v8-03-01
The following bug fix patches are now standardized in v8-03-02:
- Patch to enable call to SOA_PARA_INIT
- Patch to fix declaration of IONIC in ISORROPIA II
- Patch to fix bug in Aromatic SOA
- Patch to scale AOD diagnostic output to other wavelengths
--Bob Y. 12:58, 30 June 2010 (EDT)
Fix for EPA/NEI 2005 emissions
Aaron van Donkelaar submitted updated EPA/NEI05 emissions files in order to fix abnormally low VOC emissions. This fix will be standardized in v8-03-02. Please see this wiki page for more information.
--Bob Y. 15:38, 12 July 2010 (EDT)
Minor fixes in gamap_mod.f
Prasad Kasibhatla reported a bug in gamap_mod.f that was caused by the definition of the parameters:
INTEGER, PARAMETER :: MAXDIAG = 70 INTEGER, PARAMETER :: MAXTRACER = 120
The problem is that when the actual number of tracers is increased beyond 120, this results in an array-out-of-bounds error.
The fix is to use the MAX_DIAG and MAX_TRACER parameters from the CMN_DIAG header file to define the MAXDIAG and MAXTRACER parameters in gamap_mod.f, as follows:
INTEGER, PARAMETER :: MAXDIAG = MAX_DIAG INTEGER, PARAMETER :: MAXTRACER = MAX_TRACER
and also to define MAX_TRACER (in the CMN_DIAG header file) as follows:
INTEGER, PARAMETER :: MAX_TRACER = NNPAR+6 ! For non-TOMAS simulations
The NNPAR+6 is required for compatibility with the ND09 diagnostic. Therefore, now whenever NNPAR is updated, the values of MAXTRACER and MAXDIAG in gamap_mod.f will also be updated.
--Bob Y. 14:35, 3 August 2010 (EDT)
Bug fix for ND42 diagnostic and ISORROPIA II
Eric Sofen reported a minor bug fix for the ND42 diagnostic in isoropiaII_mod.f. The following line of code:
PH_SAV = -999d0
should have been:
PH_SAV(I,J,L) = -999d0
This only affects ND42 diagnostic output and not the computation of the ATE diagnostic.
--Bob Y. 14:42, 3 August 2010 (EDT)
Minor fix for AOD calculation
Aaron van Donkelaar wrote:
- I've come across a minor bug in the calculation of AOD within aerosol_mod.f. At around line 950, the lines:
! Loop over relative humidity bins DO R = 1, NRH ! Wet radius in "jv_spec.dat" RW(R) = RAA(4,IND(N)+R-1) ! Wet frac of aerosol FWET = (RW(R)**3 - RW(1)**3) / RW(R)**3 ! Extinction efficiency Q for each RH bin QW(R) = QAA(4,IND(N)+R-1)*FWET + QAA(4,IND(N))*(1.d0-FWET) ENDDO
- should be replaced with:
! Loop over relative humidity bins DO R = 1, NRH ! Wet radius in "jv_spec.dat" RW(R) = RAA(4,IND(N)+R-1) ! Extinction efficiency Q for each RH bin QW(R) = QAA(4,IND(N)+R-1) ENDDO
- As a result, the variable FWET is no longer used and no longer needs to be declared in routine RDAER.
- Basically the extinction efficiency for each RH bin is currently being calculated as the water volume-weighted average of each bin's RH and dry value, when the value corresponding to each bin's RH should simply be directly used. The implications should not be large (Colette estimated between 4-8%), but this ought to be corrected.
--Bob Y. 14:48, 3 August 2010 (EDT)
Avoid using unallocated arrays in edgar_mod.f
Joseph Enberg and Bob Yantosca found a minor bug in edgar_mod.f. The following ship emission arrays (which are not allocated if LEDGARSHP = .FALSE.) were being referenced regardless in the routine EDGAR_TOTAL_Tg in edgar_mod.f:
T_NOxSh = SUM( EDGAR_NOx_SHIP ) * ( 14d0/46d0 ) / 1d9 T_COSh = SUM( EDGAR_CO_SHIP ) / 1d9 T_SO2sh = SUM( EDGAR_SO2_SHIP ) * ( 32d0/64d0 ) / 1d9
The quickest fix was to place these arrays in an IF block to make sure they are only referenced if allocated:
IF ( LEDGARSHIP ) THEN T_NOxSh = SUM( EDGAR_NOx_SHIP ) * ( 14d0/46d0 ) / 1d9 T_COSh = SUM( EDGAR_CO_SHIP ) / 1d9 T_SO2sh = SUM( EDGAR_SO2_SHIP ) * ( 32d0/64d0 ) / 1d9 ELSE T_NOxSh = 0d0 T_COSh = 0d0 T_SO2Sh = 0d0 ENDIF
--Bob Y. 16:06, 4 August 2010 (EDT)
Transport fix for GEOS-5 nested grid simulations
Please see this wiki post for more information about a fix that affects the TPCORE advection with GEOS_5 0.5° x 0.666° nested grid simulations.
--Bob Y. 11:02, 5 August 2010 (EDT)
Outstanding issues not yet resolved in v8-03-02
Incorrect units for SNOMAS in dust_mod.f
In GEOS-5, the snow height field SNOMAS was incorrectly reported as "m H2O", but was really "mm H2O". However, in the routine SRC_DUST_DEAD (dust_mod.f) we never made the corresponding change. Therefore the following fix will need to be placed into SRC_DUST_DEAD:
! Snow height [m H2O] #if defined( GEOS_5 ) || defined( MERRA ) !-------------------------------------------------------------- ! Prior to 9/3/10: ! SNOMAS in GEOS-5 was originally reported as m H2O but this ! was mis-lableled. Both GEOS-5 and MERRA SNOMAS field have ! units of liquid-equivalent mm H2O. Therefore, we need to ! divide by 1000 to convert mm to m. (bmy, 9/3/10) !SNW_HGT_LQD(I) = SNOMAS(I,J) !-------------------------------------------------------------- SNW_HGT_LQD(I) = SNOMAS(I,J) / 1000d0 #else SNW_HGT_LQD(I) = SNOW(I,J) / 1000d0 #endif
The MERRA SNOMAS field will also have units of "mm H2O", so it will use the same line of code.
This fix will go into the version immediately following v8-03-02.
--Bob Y. 14:56, 3 September 2010 (EDT)