Difference between revisions of "MERRA implementation details"

From Geos-chem
Jump to: navigation, search
(Key differences)
Line 30: Line 30:
 
#* The MERRA fields FRLAKE, FRLAND, FRLANDIC, FROCEAN, PHIS are time-invariant.
 
#* The MERRA fields FRLAKE, FRLAND, FRLANDIC, FROCEAN, PHIS are time-invariant.
  
== The Headers directory ==
+
== Required coding changes in GEOS-Chem ==
 +
 +
As noted in the section above, the similarity between GEOS-5 and MERRA means that in most cases we can just treat MERRA in the same way as for GEOS-5.  In many areas of the code, the coding changes are straightforward and simply involve an extension of C-preprocessor statements such as:
  
== The GeosUtil directory ==
+
#if defined( GEOS_5 )
  
== The GeosCore directory ==
+
to
 +
 +
#if defined( GEOS_5 ) || defined( MERRA )
 +
 
 +
In other areas of GEOS-Chem the changes are more involved.  Below we provide a description of the areas of GEOS-Chem that were modified for MERRA:
 +
 
 +
=== Headers directory ===
 +
 
 +
The following modifications for MERRA were made in the <tt>Headers/</tt> subdirectory:
 +
 
 +
#define.h
 +
#*Add a new C-preprocessor switch named "MERRA".
 +
#CMN_SIZE:
 +
#*Added size parameters for MERRA 4 x 5 and MERRA 2 x 2.5 grids.
 +
 
 +
=== GeosUtil directory ===
 +
 
 +
The following modifications for MERRA were made in the <tt>GeosUtil/</tt> subdirectory:
 +
 
 +
#bpch2_mod.f
 +
#*GET_MODELNAME: Add "MERRA_47L" and "MERRA" modelnames to the #if block
 +
#*GET_NAME_EXT: Return grid name "geos5" for MERRA fields
 +
#pressure_mod.f
 +
#*GET_PRESSURE: Compute PEDGE for MERRA in the same way as for GEOS-5
 +
#*INIT_PRESSURE: Initialize Ap and Bp for MERRA in the same way as for GEOS-5
 +
#transfer_mod.f
 +
#*Collapse vertical levels in the stratosphere for MERRA in the same way as for GEOS-5
 +
 
 +
=== GeosCore directory ===
 +
 
 +
== Outstanding issues ==

Revision as of 17:10, 16 August 2010

NOTE: Page under construction!

On this page we list the necessary modifications to GEOS-Chem for MERRA compatibility.

Overview

The GMAO MERRA data product is a 30-year reanalysis done with the GEOS-5.2.0 assimilation system. Therefore, within GEOS-Chem we can (for the most part) treat MERRA in the same way as we do for the GEOS-5 meteorology.

However, in order to reduce the volume of data produced (and for other technical concerns), GMAO chose to reduce the vertical and/or horizontal resolution of some important MERRA data fields. Also, some MERRA data fields have different units than in the GEOS-5 product. Because of this, some additional special handling may be required within GEOS-Chem.

Key similarities

The following aspects of MERRA are identical to the GEOS-5 operational data product.

  1. The MERRA high-resolution grid (0.5° x 0.666°) is identical to that of GEOS-5.
  2. The MERRA vertical grid (72 hybrid levels) is identical to that of GEOS-5.

Key differences

The following aspects of MERRA differ from the GEOS-5 operational data product:

  1. The MERRA temporal resolution differs from GEOS-5 as follows:
    • Surface data: hourly averages (MERRA) vs. 3-hour averages (GEOS-5)
    • 3-D data: 3-hour averages (MERRA) vs. 6-hour averages (GEOS-5)
  2. Differences in individual MERRA met fields:
    • Most of the releveant MERRA 3-D data for GEOS-Chem are only available at 1° x 1.25° horizontal resolution.
    • OMEGA, PV, RH are 6-hr instantaneous data in MERRA but are 6-hr averaged data in GEOS-5
    • SNOMAS (snow mass) has units of kg/m2 in MERRA but mm in GEOS-5
    • Many of the precipitation fields (e.g. DQIDTMST, DQVDTMST, DQLDTMST, etc.) are saved on a 1.25° x 1.25° x 42 pressure levels instead of 72 hybrid levels. P -> hybrid interpolation is necessary.
    • The MERRA fields FRLAKE, FRLAND, FRLANDIC, FROCEAN, PHIS are time-invariant.

Required coding changes in GEOS-Chem

As noted in the section above, the similarity between GEOS-5 and MERRA means that in most cases we can just treat MERRA in the same way as for GEOS-5. In many areas of the code, the coding changes are straightforward and simply involve an extension of C-preprocessor statements such as:

#if defined( GEOS_5 )

to

#if defined( GEOS_5 ) || defined( MERRA ) 

In other areas of GEOS-Chem the changes are more involved. Below we provide a description of the areas of GEOS-Chem that were modified for MERRA:

Headers directory

The following modifications for MERRA were made in the Headers/ subdirectory:

  1. define.h
    • Add a new C-preprocessor switch named "MERRA".
  2. CMN_SIZE:
    • Added size parameters for MERRA 4 x 5 and MERRA 2 x 2.5 grids.

GeosUtil directory

The following modifications for MERRA were made in the GeosUtil/ subdirectory:

  1. bpch2_mod.f
    • GET_MODELNAME: Add "MERRA_47L" and "MERRA" modelnames to the #if block
    • GET_NAME_EXT: Return grid name "geos5" for MERRA fields
  2. pressure_mod.f
    • GET_PRESSURE: Compute PEDGE for MERRA in the same way as for GEOS-5
    • INIT_PRESSURE: Initialize Ap and Bp for MERRA in the same way as for GEOS-5
  3. transfer_mod.f
    • Collapse vertical levels in the stratosphere for MERRA in the same way as for GEOS-5

GeosCore directory

Outstanding issues