MERRA-2 implementation details
File:Page is under construction.jpg
Overview
MERRA2 is the newest reanalysis meteorological data product from NASA/GMAO. Overall, the structure of MERRA2 is very similar to the GMAO "forward processing" data product, which we refer to as GEOS-FP. Therefore, within GEOS-Chem we can (for the most part) treat MERRA2 in the same way as we do for the GEOS_FP.
Comparison between MERRA-2, GEOS-FP, MERRA, and GEOS-5
Feature | MERRA2 | GEOS-FP | MERRA | GEOS-5 |
---|---|---|---|---|
Native vertical grid | 0.5° lat x 0.625° lon | 0.25° lat x 0.3125° lon | 0.5° lat x 0.667° lon 1° lat x 1.25° lon 1.25° x 1.25° lon |
0.5° lat x 0.667° lon |
Native horizontal grid | 72 hybrid levels | Identical to MERRA2 | Identical to MERRA2 | Identical to MERRA2 |
Time-invariant fields |
|
Identical to MERRA2 | Identical to MERRA2 | Identical to MERRA2 |
Precipitation fields |
|
Identical to MERRA2 | Identical to MERRA2 |
|
Temperature | I3 (3-hr instantaneous) | I3 (3-hr instantaneous) | A3 (6-hr time average) | A6 (6-hr time average) |
Relative humidity | A3 (3-hr time average) | A3 (3-hr time average) | I3 (6-hr instantaneous) | A6 (6-hr time-averaged) |
Wet deposition algorithm | 72 hybrid levels | Identical to MERRA2 | Identical to MERRA2 | Identical to MERRA2
|
The following aspects of [[MERRA2] are identical to the older GEOS-FP operational data product.
- The MERRA2 vertical grid (72 hybrid levels) is identical to that of both MERRA and GEOS-5.2.0.
- By and large, the same data fields that were in the MERRA product are also contained in GEOS-FP:
- GEOS-FP provides the same time-invariant fields (FRLAKE, FRLAND, FRLANDIC, FROCEAN, PHIS) as MERRA
- The same correction that was applied to the MERRA SNOMAS (snow mass) field has also been applied to the GEOS-FP SNOMAS field.
- GEOS-FP contains the same precipitation fields (DQRCU, DQRLSAN, PFICU, PFILSAN, PFLCU, PFLLSAN, REEVAPCN, REEVAPLSAN) as MERRA. This means that we can use the MERRA wet deposition algorithms with the GEOS-FP data.
- The GEOS-FP time archiving is identical to that of MERRA ...
- ... with one exception: GEOS-FP instantaneous data is archived every 3 hours, as opposed to 6 hours in MERRA.
--Bob Y. 09:46, 21 August 2013 (EDT)
Key differences between GEOS-
The following aspects of GEOS-FP differ from the MERRA operational data product:
- All GEOS-FP data are placed on a horizontal grid of 0.25° x 0.3125°.
- MERRA data fields are placed on three different horizontal grids (0.5° x 0.666°, 1° x 1.25° and 1.25° x 1.25°).
- All GEOS-FP data are placed on the 72-level hybrid grid.
- Some MERRA fields were only available on a 42-level pressure grid (thus requiring interpolation).
- The following data GEOS-FP data fields differ from the corresponding MERRA fields:
- RH is now a 3-hour time-averaged field, as opposed to a 6-hour instantaneous field in MERRA.
- QV and T are now instantaneous 3-hour fields, as opposed to 3-hour time-averaged fields in MERRA.
- The 3-D precipitation fields now make the (e.g. DQIDTMST, DQVDTMST, DQLDTMST, etc.) obsolete. We no longer archive these.
- We have chosen to save the processed GEOS-FP data in netCDF format, as opposed to GEOS-Chem binary format.
--Bob Y. 09:47, 21 August 2013 (EDT)
Required coding changes in GEOS-Chem
As noted in the section above, the similarities between MERRA2 and GEOS-FP (especially of the vertical grids) means that in most cases we can just treat MERRA2 in the same way as for GEOS-FP. 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 ) || defined( MERRA ) || defined( GEOS_FP )
to
#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP ) || defined( MERRA2 )
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 MERRA2:
Top-level directory
The following modifications for MERRA2 were made in the root GEOS-Chem directory:
File | Modifications made |
---|---|
Makefile_header.mk |
|
--Bob Y. (talk) 18:28, 12 August 2015 (UTC)
Headers directory
The following modifications for MERRA2 were made in the Headers/ directory:
File | Modifications made |
---|---|
CMN_SIZE_mod.F |
|
gigc_input_opt_mod.F90 |
|
gigc_state_met_mod.F90 | Multiple instances:
|
--Bob Y. (talk) 18:28, 12 August 2015 (UTC)
GeosUtil directory
The following modifications for MERRA2 were made in the GeosUtil/ directory:
File | Modifications made |
---|---|
bpch2_mod.F | In routine GET_MODELNAME:
In routine GET_NAME_EXT:
In routine GET_NAME_EXT_2D:
In routine GET_RES_EXT:
|
pressure_mod.F | In routines GET_PEDGE and GET_PEDGE_FULLGRID:
In routine INIT_PRESSURE:
|
time_mod.F | In routine GET_A1_TIME:
|
transfer_mod.F | In routine INIT_TRANSFER:
In several routines:
|
--Bob Y. (talk) 20:33, 12 August 2015 (UTC)
GeosCore directory
The following modifications for MERRA2 were made in the GeosCore/ directory:
File | Modifications made |
---|---|
calcrate.F | Multiple instances:
|
carbon_mod.F | Multiple instances:
|
cldice_HbrHOBr_mod.F | Multiple instances:
|
convection_mod.F | In routine DO_CONVECTION:
In routine DO_MERRA_CONVECTION:
|
dao_mod.F | In routine COPY_I6_FIELDS:
In routine INTERP:
|
depo_mercury_mod.F | In routine ADD_Hg2_SNOWPACK
|
dao_mod.F | In routine COPY_I6_FIELDS:
In routine INTERP:
|
diag3.F | Multiple instances:
|
dust_dead_mod.F | In routine DST_MBL:
|
fast_jx_mod.F | In routine FAST_JX:
|
gamap_mod.F | In routine INIT_TRACERINFO:
|
global_ch4_mod.F | In routines WETLAND_EMIS and READ_COPROD:
|
input_mod.F | In routine READ_SIMULATION_MENU:
In routine READ_CONVECTION_MENU:
In routine VALIDATE_DIRECTORIES:
|
land_mercury_mod.F |
In routines LAND_MERCURY_FLUX:
In routines SOILEMIS:
|
main.F | In main.F:
In included routine READ_INITIAL_MET_FIELDS:
In included routine READ_MET_FIELDS:
|
mercury_mod.F | In routine CHEMMERCURY:
|
merra2_read_mod.F90 |
|
ocean_mercury_mod.F | Multiple instances:
|
planeflight_mod.F | In routine PLANEFLIGHT
|
strat_chem_mod.F90 | Multiple instances:
In routine DO_SYNOZ:
|
sulfate_mod.F | In routine CHEM_SO2:
In routine INIT_SULFATE:
In routine SRCSFC30 (TOMAS-only):
|
tagged_ox_mod.F | In routine GET_REGIONAL_POX:
|
tpcore_bc_mod.F: | Multiple instances:
|
vdiff_mod.F90 | In routine VDIFFDR:
|
wetscav_mod.F | In routine DO_WETDEP:
In routine DO_WASHOUT_ONLY::
In routine MAKE_QQ:
In routine RAINOUT:
|
--Bob Y. (talk) 18:29, 12 August 2015 (UTC)
HEMCO/Core directory
The following modifications for MERRA2 were made in the HEMCO/Core directory:
File | Modifications made |
---|---|
hco_chartools_mod.F90 | At the top of the module:
|
hco_interp_mod.F90 | In routine MODLEV_INTERPOLATE:
|
--Bob Y. (talk) 18:28, 12 August 2015 (UTC)
HEMCO/Extensions directory
The following modifications for MERRA2 were made in the HEMCO/Extensions directory:
File | Modifications made |
---|---|
hcox_ch4wetland_mod.F90 | In routine WETLAND_EMIS:
|
hcox_dustdead_mod.F | In routine HCOX_DUSTDEAD_GETTUN:
|
hcox_lightnox_mod.F | In routine GET_OTD_LIS_SCALE:
|
hcox_megan_mod.F | In routine GET_GAMMA_SM:
|
hcox_tomas_dustdead_mod.F | In routine HCOX_TOMAS_DUSTDEAD_GETTUN:
|