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

From Geos-chem
Jump to: navigation, search
(Patches from v8-03-02)
(Fix ND15 for non-local PBL scheme)
Line 102: Line 102:
  
 
--[[User:Ccarouge|Ccarouge]] 10:46, 24 September 2010 (EDT)
 
--[[User:Ccarouge|Ccarouge]] 10:46, 24 September 2010 (EDT)
 +
 +
=== Linoz parallelization ===
 +
 +
We discovered that the main DO loop in routine <tt>LINOZ_CHEM3</tt> (in <tt>linoz_mod.f</tt>) had not been parallelized.  We added the <tt>!$OMP PARALLEL DO</tt> directives to this loop, which should make this routine execute much faster.
 +
 +
--[[User:Bmy|Bob Y.]] 10:25, 12 November 2010 (EST)
  
 
== Outstanding issues not yet resolved in v9-01-01 ==
 
== Outstanding issues not yet resolved in v9-01-01 ==

Revision as of 15:25, 12 November 2010

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 algorithms for convective updraft scavenging and wet deposition (H. Amos, B. Corbitt)

--Bob Y. 12:33, 28 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. Updated KPP solver files (to account for the isoprene nitrate changes in globchem.dat)
  4. The parallelization problem in routine setemis.f that caused GEOS-Chem to scale poorly.
  5. The error that caused ND49 diagnostic files to not be closed at the proper time.

--Bob Y. 10:20, 12 November 2010 (EST)

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 (a3_read_mod.f) to pick the first A3 data time based on the initial NYMD/NHMS
  2. Modify GET_FIRST_A6_TIME (a6_read_mod.f) to pick the first A6 data time based on the initial NYMD/NHMS
  3. Add routine GET_FIRST_I6_TIME (i6_read_mod.f) to pick the first I6 data time based on initial NYMD/NHMS
  4. Modify GET_I6_TIME (i6_read_mod.f) 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 (dao_mod.f) work properly for non-00 GMT start times.

--Bob Y. 16:24, 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)

Linoz parallelization

We discovered that the main DO loop in routine LINOZ_CHEM3 (in linoz_mod.f) had not been parallelized. We added the !$OMP PARALLEL DO directives to this loop, which should make this routine execute much faster.

--Bob Y. 10:25, 12 November 2010 (EST)

Outstanding issues not yet resolved in v9-01-01