GEOS-Chem v9-01-01

From Geos-chem
Revision as of 20:20, 27 September 2010 by Bmy (Talk | contribs) (Starting runs at times other than 00 GMT)

Jump to: navigation, search

Overview

PUBLIC RELEASE -- TBD

Will contain everything in GEOS-Chem v8-03-02, plus:

  1. Capability to run with GMAO MERRA met fields (R. Yantosca)
  2. Improvements to wet scavenging algorithms for MERRA met data (H. Amos, B. Corbitt)

--Bob Y. 10:14, 22 September 2010 (EDT)

Previous issues now resolved in v9-01-01

Patches from v8-03-02

The following bug fix patches are now standardized in v9-01-01:

  1. Transport fix for GEOS-5 nested grid simulations at 0.5° x 0.666°
  2. Typo in globchem.dat affecting yield of isoprene nitrates
  3. Mike Barkley noted that the KPP solver files in the KPP/standard/ and the KPP/SOA directories had to be rebuilt to incorporate the changes in the globchem.dat file. This was done on 17 Sep 10 and added to the GEOS-Chem Git repository as a patch in GEOS-Chem v8-03-02 (name "New KPP scheme for SOA and standard chemistry", tag "v8-03-02-Patch-KPP").

--Bob Y. 10:14, 22 September 2010 (EDT)

Duplicate diagnostics

Chris Holmes wrote:

I turned on diagnostics ND14-15 (convection and BL mixing) and ND24-26 (U/V/W transport fluxes), plus the other diagnostics that are on by default. I ran the simulation for 1 day. The ctm.bpch output contains *two* copies of ND14-15 and ND24-26 outputs. The other diagnostics appear normal.

In fact, the diagnostics are not written twice in the ctm.bpch file. The problem is a double definition of the categories of these diagnostics in gamap_mod.f. These diagnostics appear then twice in diaginfo.dat with two different offsets (3000 and 4000). GAMAP will then print these diagnostics twice. The fix is to comment one definition of these diagnostics in gamap_mod.f. Please comment the lines with the 4000 offset (see the SPACING * 4) in gamap_mod.f:

!      N           = N + 1
!      CATEGORY(N) = 'CV-FLX-$'
!      DESCRIPT(N) = 'Upward flux from wet conv'
!      OFFSET(N)   = SPACING * 4
!
!      N           = N + 1
!      CATEGORY(N) = 'TURBMC-$'
!      DESCRIPT(N) = 'Upward flux from PBL mixing'
!      OFFSET(N)   = SPACING * 4
!
!      N           = N + 1
!      CATEGORY(N) = 'EW-FLX-$'
!      DESCRIPT(N) = 'E/W transport flux'
!      OFFSET(N)   = SPACING * 4
!
!      N           = N + 1
!      CATEGORY(N) = 'NS-FLX-$'
!      DESCRIPT(N) = 'N/S transport flux'
!      OFFSET(N)   = SPACING * 4
!
!      N           = N + 1
!      CATEGORY(N) = 'UP-FLX-$'
!      DESCRIPT(N) = 'Up/down transport flux'
!      OFFSET(N)   = SPACING * 4

--Ccarouge 14:58, 21 September 2010 (EDT)

Starting runs at times other than 00 GMT

The MEGAN biogenic emissions reads in several days of A3 data before the first timestep of a G-C simulation. In routine DO_OPEN_A3 (which determines if it is the right time to open a new file), we have this IF statement:

     LOGICAL, SAVE :: FIRST    = .TRUE.
        ...   
     ! Open A-3 file if it's 01:30 GMT,  or on the first call
     IF ( NHMS == 013000 .or. FIRST ) THEN
        DO_OPEN = .TRUE.
        ...
   

Therefore, when MEGAN was turned on, FIRST was set to .FALSE. because we were reading more than one day of A3 data. This caused the IF statement above to fail if we wanted to start a G-C simulation at any other time than 00 GMT.

The quick fix was to introduce an optional logical flag RESET, such that:

     ! Reset the FIRST flag if
     IF ( PRESENT( RESET ) ) THEN
        IF ( RESET ) FIRST = .TRUE.
     ENDIF
   

This makes sure that the FIRST flag is not affected by the prior A3 reads by the MEGAN emissions.

We now call OPEN_A3_FIELDS with RESET=.TRUE. from main.f for the very first time we read in the A3 data (before the time-stepping loop).

The analogous fix was also made for the MERRA reading code in merra_a1_mod.f.

Further fixes were also added as follows:

  1. Modify GET_FIRST_A3_TIME to pick the first A3 data time based on the initial NYMD/NHMS
  2. Modify GET_FIRST_A6_TIME to pick the first A6 data time based on the initial NYMD/NHMS
  3. Add routine GET_FIRST_I6_TIME to pick the first I6 data time based on initial NYMD/NHMS
  4. Modify GET_I6_TIME to find the proper I6 data time for the "6-hours-ahead" I6- data
  5. In main.f, now compute NSECb and ELAPSED_TODAY as the elapsed time since the start of the day (not the start of a GEOS-Chem simulation). This makes the interpolated fields in routine INTERP work properly for non-00 GMT start times.

--Bob Y. 16:20, 27 September 2010 (EDT)

Fix ND15 for non-local PBL scheme

Chris Holmes wrote

When the non-local PBL mixing is on the TURBMC-$ diagnostic appears to save the mass tendency (kg/s) due to *all* boundary layer processes, i.e. PBL mixing + emission + dry deposition. It is supposed to be the tendency due to mixing alone.

This will be fixed in version 9-01-01 so that ND15 only output the PBL mixing and free troposphere diffusion, if any. If you do not want to wait for v9-01-01, you can apply this Git patch to your code. Please refer to the instructions to use patch files.

--Ccarouge 10:46, 24 September 2010 (EDT)

Outstanding issues not yet resolved in v9-01-01