MERRA-2 implementation details: Difference between revisions
No edit summary |
|||
(39 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
[[ | [[MERRA-2]] is the newest reanalysis meteorological data product from [http://gmao.gsfc.nasa.gov NASA/GMAO]. It is created with the NASA/GMAO GEOS Data Assimilation System (aka GEOS-DAS), [https://gmao.gsfc.nasa.gov/GMAO_products/NRT_products.php version 5.12.4]. Overall, the structure of MERRA-2 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 MERRA-2 in the same way as we do for the GEOS_FP. | ||
The table below compares many features of | For more information about MERRA-2, please see these resources: | ||
*[[MERRA-2|''MERRA-2'' page on the GEOS-Chem wiki]] | |||
*[[List of MERRA-2 met fields|List of MERRA-2 met fields used for GEOS-Chem]] | |||
*[https://gmao.gsfc.nasa.gov/GMAO_products/reanalysis_products.php Version history of GMAO reanalysis products] | |||
=== Comparing MERRA-2 to other GMAO met data products === | |||
The table below compares many features of MERRA-2 with other GMAO met data products: | |||
{| border=1 cellspacing=0 cellpadding=5 | {| border=1 cellspacing=0 cellpadding=5 | ||
|-bgcolor="#CCCCCC" | |-bgcolor="#CCCCCC" | ||
!width="250px"|Feature | !width="250px"|Feature | ||
!bgcolor="#CCFFFF" width="200px"|[[ | !bgcolor="#CCFFFF" width="200px"|[[MERRA-2]] | ||
!width="200px"|[[GEOS-FP]] | !width="200px"|[[GEOS-FP]] | ||
!width="200px"|[[MERRA]] | !width="200px"|[[MERRA]] | ||
Line 34: | Line 42: | ||
*72 hybrid levels | *72 hybrid levels | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
|-valign="top" | |-valign="top" | ||
Line 49: | Line 57: | ||
*PHIS | *PHIS | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
|-valign="top" | |-valign="top" | ||
Line 60: | Line 68: | ||
*A1 (1-hr time averaged) | *A1 (1-hr time averaged) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*A3 (6-hr time average) | *A3 (6-hr time average) | ||
Line 72: | Line 80: | ||
*I3 (3-hr instantaneous) | *I3 (3-hr instantaneous) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*A3 (3-hr time average) | *A3 (3-hr time average) | ||
Line 84: | Line 92: | ||
|Timestamps | |Timestamps | ||
|bgcolor="#CCFFFF"| | |bgcolor="#CCFFFF"| | ||
*[[ | *[[MERRA-2#MERRA-2_time_archiving|See this wiki page]] | ||
| | | | ||
*[[GEOS-FP#GEOS-FP_time_archiving|See this wiki page]] | *[[GEOS-FP#GEOS-FP_time_archiving|See this wiki page]] | ||
Line 100: | Line 108: | ||
*REEVAPCN, REEVAPLSAN | *REEVAPCN, REEVAPLSAN | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*DQIDTMST | *DQIDTMST | ||
Line 115: | Line 123: | ||
*I3 (3-hr instantaneous) | *I3 (3-hr instantaneous) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*A3 (6-hr time average) | *A3 (6-hr time average) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*A6 (6-hr time average) | *A6 (6-hr time average) | ||
Line 130: | Line 138: | ||
*A3 (3-hr time average) | *A3 (3-hr time average) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*I3 (6-hr instantaneous) | *I3 (6-hr instantaneous) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*A6 (6-hr time-averaged) | *A6 (6-hr time-averaged) | ||
Line 145: | Line 153: | ||
*I3 (3-hr instantaneous) | *I3 (3-hr instantaneous) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*A3 (3-hr time average) | *A3 (3-hr time average) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*A6 (6-hr time-averaged) | *A6 (6-hr time-averaged) | ||
|-valign="top" | |-valign="top" | ||
| | |Vertical pressure velocity | ||
|bgcolor="#CCFFFF"| | |bgcolor="#CCFFFF"| | ||
* | *OMEGA [Pa s<sup>-1</sup>] | ||
* | *A3 (3-hr time average) | ||
| | | | ||
* | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
* | *Same as MERRA-2 | ||
* | *I6 (6-hr instantaneous) | ||
| | | | ||
* | *Same as MERRA-2 | ||
* | *A6 (6-hr time-averaged) | ||
|-valign="top" | |-valign="top" | ||
Line 175: | Line 183: | ||
*A1 (1-hr time average) | *A1 (1-hr time average) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*I6 (6-hr instantaneous) | *I6 (6-hr instantaneous) | ||
| | | | ||
* | *Same as MERRA-2 | ||
*A6 (3-hr time-average) | *A6 (3-hr time-average) | ||
Line 191: | Line 199: | ||
*[[List_of_MERRA_met_fields#SNOMAS|Missing coverage at poles is now corrected, as per MERRA]] | *[[List_of_MERRA_met_fields#SNOMAS|Missing coverage at poles is now corrected, as per MERRA]] | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*SNOMAS [m] | *SNOMAS [m] | ||
*A3 (3-hr time average) | |||
|-valign="top" | |||
|Sea level pressure | |||
|bgcolor="#CCFFFF"| | |||
*SLP [Pa] | |||
*A1 (1-hr time average) | |||
*Converted to hPa when read from disk | |||
| | |||
*SLP [hPa] | |||
*Same as MERRA-2 | |||
| | |||
*SLP [hPa] | |||
*Same as MERRA-2 | |||
| | |||
*SLP [hPa] | |||
*I6 (3-hr instantaneous) | |||
|-valign="top" | |||
|Surface pressure | |||
|bgcolor="#CCFFFF"| | |||
*PS [Pa] | |||
*I3 (3-hr instantaneous) | |||
*Converted to hPa when read from disk | |||
| | |||
*PS [hPa] | |||
*I3 (3-hr instantaneous) | |||
| | |||
*PS [hPa] | |||
*I6 (6-hr instantaneous) | |||
| | |||
*PS [hPa] | |||
*I6 (3-hr instantaneous) | |||
|-valign="top" | |||
|Tropopause pressure | |||
|bgcolor="#CCFFFF"| | |||
*TROPPT [Pa] | |||
*A1 (1-hr time average) | |||
*Converted to hPa when read from disk | |||
| | |||
*TROPPT [hPa] | |||
*Same as MERRA-2 | |||
| | |||
*TROPPT [hPa] | |||
*Same as MERRA-2 | |||
| | |||
*TROPP [hPa] | |||
*A3 (3-hr time average) | *A3 (3-hr time average) | ||
Line 207: | Line 263: | ||
*<tt>DO_MERRA_CONVECTION</tt><br>(in <tt>convection_mod.F</tt>) | *<tt>DO_MERRA_CONVECTION</tt><br>(in <tt>convection_mod.F</tt>) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*<tt>NFCLDMX</tt><br>(in <tt>convection_mod.F</tt>) | *<tt>NFCLDMX</tt><br>(in <tt>convection_mod.F</tt>) | ||
Line 218: | Line 274: | ||
*<tt>WETDEP_MERRA</tt><br>(<tt>wetscav_mod.F</tt>) | *<tt>WETDEP_MERRA</tt><br>(<tt>wetscav_mod.F</tt>) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*<tt>WETDEP</tt><br>(<tt>wetscav_mod.F</tt>) | *<tt>WETDEP</tt><br>(<tt>wetscav_mod.F</tt>) | ||
Line 229: | Line 285: | ||
*<tt>TPCORE_FVDAS</tt><br>(<tt>tpcore_fvdas_mod.F90</tt>) | *<tt>TPCORE_FVDAS</tt><br>(<tt>tpcore_fvdas_mod.F90</tt>) | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
| | | | ||
*Same as | *Same as MERRA-2 | ||
|-valign="top" | |-valign="top" | ||
Line 249: | Line 305: | ||
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 16:41, 17 August 2015 (UTC) | --[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 16:41, 17 August 2015 (UTC) | ||
=== Timeline for integration into GEOS-Chem === | |||
==== Initial modifications ==== | |||
As of August 2015, we have [[#Required coding changes in GEOS-Chem|we have modified GEOS-Chem (as described below)]] so that it can be driven by the new [[MERRA-2|NASA/GMAO MERRA-2 reanalysis data product]]. These source code updates were validated | |||
with the 1-month benchmark simulation [[GEOS-Chem v11-01 benchmark history#v11-01c|v11-01c]] and approved on 14 Sept 2015. | |||
Currently, several of the GEOS-Chem specialty simulations are already compatible with MERRA-2. These include: | |||
*[[CO2_simulation|CO2 simulation]] | |||
*[[CH4_simulation|CH4 simulation]] | |||
*[[Mercury|Hg simulation]] (but some tuning factors for nested grids are still needed) | |||
*[[POPs_simulation|POPs simulation]] | |||
*[[Rn-Pb-Be_simulation|Rn-Pb-Be simulation]] | |||
*[[Tagged_O3_simulation|Tagged O3 simulation]] | |||
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 14:54, 18 August 2015 (UTC) | |||
<span style="color:green">'''''UPDATE: [[GEOS-Chem v11-01]] and newer versions can now be driven by the MERRA-2 reanalysis field data product.'''''</span> | |||
==== Modifications for the nested grid simulations ==== | |||
There were several modifications needed to run [[GEOS-Chem_nested_grid_simulations|nested grid simulations]] with MERRA-2. The source code updates for running MERRA-2 on the 0.5x0.625 nested NA and nested CH grids were included in [[GEOS-Chem v11-01#v11-01e|v11-01e]] (approved 04 Jan 2016). | |||
The nested CH grid for MERRA-2 is defined as 10S to 55N and 60E to 150E. It therefore includes China, Southeast Asia, Japan, and India. In order to make it transparent to users that this domain has been expanded, the nested CH grid has been renamed to the nested AS grid for MERRA-2. This update was included in [[GEOS-Chem v11-01#v11-01h|v11-01h]] (approved 11 Oct 2016). | |||
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 17:13, 14 December 2015 (UTC) | |||
==== Modifications for the full-chemistry simulations ==== | |||
The various [[GEOS-Chem_chemistry_mechanisms#NOx-Ox-hydrocarbon-aerosol_chemistry_and_variants|"full-chemistry simulations"]] (i.e. those using the benchmark, UCX, SOA, and tropchem chemistry mechanisms) use emissions (e.g. lightning, dust) that have scale factors that must be tuned specifically for each met field product. The [[GEOS-Chem Support Team|GCST]] has computed the dust and lightning scale factors using MERRA-2 met fields for 2009–2014. These updates were included in [[GEOS-Chem v11-01#v11-01f|v11-01f]] (approved 16 Apr 2016). | |||
When the entire MERRA-2 coverage period (1980–present) has been processed, the lightning and dust scale factors for MERRA-2 will be adjusted as needed. | |||
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 21:08, 5 February 2016 (UTC) | |||
== Required coding changes in GEOS-Chem == | == Required coding changes in GEOS-Chem == | ||
As noted in the section above, the similarities between [[ | As noted in the section above, the similarities between [[MERRA-2]] and [[GEOS-FP]] (especially of the vertical grids) means that in most cases we can just treat MERRA-2 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 ) | #if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP ) | ||
Line 260: | Line 352: | ||
#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP ) || defined( MERRA2 ) | #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 | 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-2: | ||
=== Top-level directory === | === Top-level directory === | ||
The following modifications for [[ | The following modifications for [[MERRA-2]] were made in the root GEOS-Chem directory: | ||
{| border=1 cellspacing=0 cellpadding=5 | {| border=1 cellspacing=0 cellpadding=5 | ||
Line 283: | Line 375: | ||
=== Headers directory === | === Headers directory === | ||
The following modifications for [[ | The following modifications for [[MERRA-2]] were made in the <tt>Headers/</tt> directory: | ||
{| border=1 cellspacing=0 cellpadding=5 | {| border=1 cellspacing=0 cellpadding=5 | ||
Line 309: | Line 401: | ||
=== GeosUtil directory === | === GeosUtil directory === | ||
The following modifications for [[ | The following modifications for [[MERRA-2]] were made in the <tt>GeosUtil/</tt> directory: | ||
{| border=1 cellspacing=0 cellpadding=5 | {| border=1 cellspacing=0 cellpadding=5 | ||
Line 321: | Line 413: | ||
*Add <tt>MERRA2_47L</tt> and <tt>MERRA2</tt> modelnames to the <tt>#if</tt> block | *Add <tt>MERRA2_47L</tt> and <tt>MERRA2</tt> modelnames to the <tt>#if</tt> block | ||
In routine GET_NAME_EXT: | In routine GET_NAME_EXT: | ||
*Return grid name <tt>merra2</tt> for | *Return grid name <tt>merra2</tt> for MERRA-2 fields | ||
In routine GET_NAME_EXT_2D: | In routine GET_NAME_EXT_2D: | ||
*Now use <tt>#if defined( MERRA ) || defined( MERRA2 ) | *Now use <tt>#if defined( MERRA ) || defined( MERRA2 ) | ||
Line 330: | Line 422: | ||
|pressure_mod.F | |pressure_mod.F | ||
|In routines GET_PEDGE and GET_PEDGE_FULLGRID: | |In routines GET_PEDGE and GET_PEDGE_FULLGRID: | ||
*Compute PEDGE for | *Compute PEDGE for MERRA-2 in the same way as for GEOS-5, MERRA, and GEOS-FP | ||
In routine INIT_PRESSURE: | In routine INIT_PRESSURE: | ||
*Initialize Ap and Bp for | *Initialize Ap and Bp for MERRA-2 in the same way as for GEOS-5, MERRA, and GEOS-FP | ||
|-valign="top" | |-valign="top" | ||
|time_mod.F | |time_mod.F | ||
|In routine GET_A1_TIME: | |In routine GET_A1_TIME: | ||
*Compute the <tt>DATE</tt> array for | *Compute the <tt>DATE</tt> array for MERRA-2 the same way as is done for MERRA and GEOS-FP | ||
|-valign="top" | |-valign="top" | ||
|transfer_mod.F | |transfer_mod.F | ||
|In routine INIT_TRANSFER: | |In routine INIT_TRANSFER: | ||
*Set <tt>L_COPY = 36</tt> for | *Set <tt>L_COPY = 36</tt> for MERRA-2 | ||
*Changed code to <tt>#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP ) || defined( MERRA2 )</tt> | *Changed code to <tt>#if defined( GEOS_5 ) || defined( MERRA ) || defined( GEOS_FP ) || defined( MERRA2 )</tt> | ||
In several routines: | In several routines: | ||
Line 352: | Line 444: | ||
=== GeosCore directory === | === GeosCore directory === | ||
The following modifications for [[ | The following modifications for [[MERRA-2]] were made in the <tt>GeosCore/</tt> directory: | ||
{| border=1 cellspacing=0 cellpadding=5 | {| border=1 cellspacing=0 cellpadding=5 | ||
Line 431: | Line 523: | ||
*Now read value for <tt>Input_Opt%MERRA2_DIR</tt> from <tt>input.geos</tt> | *Now read value for <tt>Input_Opt%MERRA2_DIR</tt> from <tt>input.geos</tt> | ||
*Also set <tt>Input_Opt%RES_DIR</tt> accordingly for 0.5° x 0.625° nested grids | *Also set <tt>Input_Opt%RES_DIR</tt> accordingly for 0.5° x 0.625° nested grids | ||
*Set LUNZIP=.FALSE. for | *Set LUNZIP=.FALSE. for MERRA-2 met | ||
In routine READ_CONVECTION_MENU: | In routine READ_CONVECTION_MENU: | ||
*Change #if statement to allow non-local PBL mixing for | *Change #if statement to allow non-local PBL mixing for MERRA-2 met data | ||
In routine VALIDATE_DIRECTORIES: | In routine VALIDATE_DIRECTORIES: | ||
*Error check MERRA2_DIR for start & end date | *Error check MERRA2_DIR for start & end date | ||
Line 470: | Line 562: | ||
| | | | ||
*Added this module w/ routines to read GEOS-FP met data (in netCDF format) | *Added this module w/ routines to read GEOS-FP met data (in netCDF format) | ||
*[[GEOS-FP_implementation_details#Modifications_to_reduce_the_number_of_times_netCDF_files_are_opened|Also added this modification to only open netCDF files once per day]], to reduce time spent in file I/O. | |||
|-valign="top" | |-valign="top" | ||
Line 505: | Line 598: | ||
|tpcore_bc_mod.F: | |tpcore_bc_mod.F: | ||
|Multiple instances: | |Multiple instances: | ||
*Added | *Added MERRA-2 values for <tt>I1_BC_CH, I2_BC_CH, J1_BC_CH, J2_BC_CH</tt> | ||
*Added | *Added MERRA-2 values for <tt>I1_BC_EU, I2_BC_EU, J1_BC_EU, J2_BC_EU</tt> | ||
*Added | *Added MERRA-2 values for <tt>I1_BC_NA, I2_BC_NA, J1_BC_NA, J2_BC_NA</tt> | ||
|-valign="top" | |-valign="top" | ||
Line 531: | Line 624: | ||
=== HEMCO/Core directory === | === HEMCO/Core directory === | ||
The following modifications for | The following modifications for MERRA-2 were made in the <tt>HEMCO/Core</tt> directory: | ||
{| border=1 cellspacing=0 cellpadding=5 | {| border=1 cellspacing=0 cellpadding=5 | ||
Line 555: | Line 648: | ||
=== HEMCO/Extensions directory === | === HEMCO/Extensions directory === | ||
The following modifications for | The following modifications for MERRA-2 were made in the <tt>HEMCO/Extensions</tt> directory: | ||
{| border=1 cellspacing=0 cellpadding=5 | {| border=1 cellspacing=0 cellpadding=5 | ||
Line 570: | Line 663: | ||
|hcox_dustdead_mod.F | |hcox_dustdead_mod.F | ||
|In routine HCOX_DUSTDEAD_GETTUN: | |In routine HCOX_DUSTDEAD_GETTUN: | ||
*Add | *Add values of <tt>FLX_MSS_FDG_FCT= -999</tt> for the MERRA-2 2° x 2.5° and 4° x 5° grids. | ||
**<span style="color:red">We will add the correct values once we can run simulations with at least a year of met data.</span> | **<span style="color:red">We will add the correct values once we can run simulations with at least a year of met data.</span> | ||
Line 576: | Line 669: | ||
|hcox_lightnox_mod.F | |hcox_lightnox_mod.F | ||
|In routine GET_OTD_LIS_SCALE: | |In routine GET_OTD_LIS_SCALE: | ||
*Add placeholder values of <tt>ANN_AVG_FLASHRATE</tt> for the | *Add placeholder values of <tt>ANN_AVG_FLASHRATE</tt> for the MERRA-2 0.5° x 0.625° grids. | ||
*Add placeholder values of <tt>BETA</tt> for the | *Add placeholder values of <tt>BETA</tt> for the MERRA-2 2° x 2.5° and 4° x 5° grids. | ||
**<span style="color:red">We will add the correct values once we can run simulations with at least a year of met data.</span> | **<span style="color:red">We will add the correct values once we can run simulations with at least a year of met data.</span> | ||
Line 588: | Line 681: | ||
|hcox_tomas_dustdead_mod.F | |hcox_tomas_dustdead_mod.F | ||
|In routine HCOX_TOMAS_DUSTDEAD_GETTUN: | |In routine HCOX_TOMAS_DUSTDEAD_GETTUN: | ||
*Add placeholder values of <tt>FLX_MSS_FDG_FCT = -999</tt> for the | *Add placeholder values of <tt>FLX_MSS_FDG_FCT = -999</tt> for the MERRA-2 2° x 2.5° and 4° x 5° grids. | ||
**<span style="color:red">We will add the correct values once we can run simulations with at least a year of met data.</span> | **<span style="color:red">We will add the correct values once we can run simulations with at least a year of met data.</span> | ||
Line 594: | Line 687: | ||
--[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:53, 12 August 2015 (UTC) | --[[User:Bmy|Bob Y.]] ([[User talk:Bmy|talk]]) 18:53, 12 August 2015 (UTC) | ||
== Previous issues that are now resolved == | |||
=== Default timestep for MERRA-2 nested grid simulations === | |||
<span style="color:green">'''''The original update was included in [[GEOS-Chem v11-02#v11-02f|v11-02f]] (approved 17 May 2018). The final recommendation was included [[GEOS-Chem 12#12.0.0|GEOS-Chem 12.0.0]].'''''</span> | |||
'''''Bram Maasakkers wrote:''''' | |||
:Melissa Sulprizio and I have been working on the methane simulation with MERRA-2 and the nested North America grid at 0.5x0.625. During our initial simulations, we found very high values in the stratosphere, originating at the edges of the domain and showing a checkerboard-like pattern in the domain. It appears this is caused by a violation of the CFL condition in the stratosphere due to strong stratospheric winds in MERRA-2. When the condition is violated at the boundaries, it leads to an out-of-bounds error but even preventing an out-of-bounds error there by capping the array index doesn’t prevent the high concentrations from originating. It seems that this previously occurred for the GEOS-5 simulation but it did not seem to compromise simulation results significantly. For our purposes of comparing total column measurements of GOSAT to model output, it is a larger problem. We found it also occurs in the full-chem simulation, I’m attaching a plot of column ozone here to illustrate, the high values are only present in the stratospheric layers. | |||
:I think that a variable timestep could be implemented to prevent this from happening. For now, we recommend using a 5/10 transport/chemistry timestep with MERRA-2 nested grid simulations instead of 10/20. | |||
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 16:01, 17 May 2018 (UTC) | |||
'''''Ke Li wrote:''''' | |||
:The default time steps for nested tropchem simulation using MERRA2 are 5 mins for transport and 10 mins for chemistry. It took me about 2 days to run 1 months of simulation at the cost of 24 cpu. Now I change time steps to 10 mins for transport and 20 mins for chemistry, and it costs 1.2 days to run 1 months of simulation at the cost of 24 cpu. The 5/20mins time step for a test simulation over Asia (Tropchem, MERRA-2, 24 CPUs) still costs about two days for one month of simulation. The cost time is estimated from that the test simulation has used 28.5 hours for 17.5 days of simulation, though it hasn’t finished. | |||
'''''Lin Zhang wrote:''''' | |||
:I am fine to use 10/20 mins time step as default which does not seem to affect the tropospheric simulation of air pollutants. We used to run GEOS-5 at 0.5 degree resolution with 10/20 mins, and tropospheric simulations were working well. | |||
:We can also put a stop sign for CH4 and CO2 simulations to warn users changing time steps to 5/10 mins. | |||
'''''Yuxuan Wang wrote:''''' | |||
:I agree with Lin and would also opt for a 10/20 mins time step as the default for full-chemistry nested-grid simulation. The reason is exactly as Daniel said. The nested-grid model users are predominantly using the full-chemistry option and concerns with tropospheric or surface concentration. The specialty nested-grid simulations, such as tagged CO, methane and CO2, used to require a separate development and model tuning, as least during the past before the HEMCO era. As a continuation of that ‘tradition’, the idea of putting a note or stop sign for the CH4 and CO2 nested-grid code should work well. | |||
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 12:50, 30 July 2018 (UTC) | |||
== Unresolved issues == | |||
=== PBL height === | |||
'''''[[User:Chris Holmes|Chris Holmes]] wrote:''''' | |||
<blockquote>I’ve documented many cases in which the reported PBLH in MERRA2 does not align with the mixing height that an observer would diagnose from the MERRA2 vertical profiles of potential temperature and humidity. In my group we are diagnosing our own PBL heights for use in GEOS-Chem.</blockquote> | |||
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 20:25, 30 May 2017 (UTC) |
Latest revision as of 18:49, 28 May 2020
Overview
MERRA-2 is the newest reanalysis meteorological data product from NASA/GMAO. It is created with the NASA/GMAO GEOS Data Assimilation System (aka GEOS-DAS), version 5.12.4. Overall, the structure of MERRA-2 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 MERRA-2 in the same way as we do for the GEOS_FP.
For more information about MERRA-2, please see these resources:
- MERRA-2 page on the GEOS-Chem wiki
- List of MERRA-2 met fields used for GEOS-Chem
- Version history of GMAO reanalysis products
Comparing MERRA-2 to other GMAO met data products
The table below compares many features of MERRA-2 with other GMAO met data products:
Feature | MERRA-2 | GEOS-FP | MERRA | GEOS-5 |
---|---|---|---|---|
Native vertical grid |
|
|
|
|
Native horizontal grid |
|
|
|
|
Time-invariant fields |
|
|
|
|
Time archiving: surface fields |
|
|
|
|
Time archiving: 3D fields |
|
|
|
|
Timestamps | ||||
Precipitation fields |
|
|
|
|
Temperature |
|
|
|
|
Relative humidity |
|
|
|
|
Specific humidity |
|
|
|
|
Vertical pressure velocity |
|
|
|
|
Ertel potential vorticity |
|
|
|
|
Snow mass |
|
|
|
|
Sea level pressure |
|
|
|
|
Surface pressure |
|
|
|
|
Tropopause pressure |
|
|
|
|
GEOS-Chem convection routine |
|
|
|
|
GEOS-Chem wet deposition routine |
|
|
|
|
GEOS-Chem transport routine |
|
|
|
|
File format read by GEOS-Chem |
|
|
|
|
--Bob Y. (talk) 16:41, 17 August 2015 (UTC)
Timeline for integration into GEOS-Chem
Initial modifications
As of August 2015, we have we have modified GEOS-Chem (as described below) so that it can be driven by the new NASA/GMAO MERRA-2 reanalysis data product. These source code updates were validated with the 1-month benchmark simulation v11-01c and approved on 14 Sept 2015.
Currently, several of the GEOS-Chem specialty simulations are already compatible with MERRA-2. These include:
- CO2 simulation
- CH4 simulation
- Hg simulation (but some tuning factors for nested grids are still needed)
- POPs simulation
- Rn-Pb-Be simulation
- Tagged O3 simulation
--Bob Y. (talk) 14:54, 18 August 2015 (UTC)
UPDATE: GEOS-Chem v11-01 and newer versions can now be driven by the MERRA-2 reanalysis field data product.
Modifications for the nested grid simulations
There were several modifications needed to run nested grid simulations with MERRA-2. The source code updates for running MERRA-2 on the 0.5x0.625 nested NA and nested CH grids were included in v11-01e (approved 04 Jan 2016).
The nested CH grid for MERRA-2 is defined as 10S to 55N and 60E to 150E. It therefore includes China, Southeast Asia, Japan, and India. In order to make it transparent to users that this domain has been expanded, the nested CH grid has been renamed to the nested AS grid for MERRA-2. This update was included in v11-01h (approved 11 Oct 2016).
--Melissa Sulprizio (talk) 17:13, 14 December 2015 (UTC)
Modifications for the full-chemistry simulations
The various "full-chemistry simulations" (i.e. those using the benchmark, UCX, SOA, and tropchem chemistry mechanisms) use emissions (e.g. lightning, dust) that have scale factors that must be tuned specifically for each met field product. The GCST has computed the dust and lightning scale factors using MERRA-2 met fields for 2009–2014. These updates were included in v11-01f (approved 16 Apr 2016).
When the entire MERRA-2 coverage period (1980–present) has been processed, the lightning and dust scale factors for MERRA-2 will be adjusted as needed.
--Melissa Sulprizio (talk) 21:08, 5 February 2016 (UTC)
Required coding changes in GEOS-Chem
As noted in the section above, the similarities between MERRA-2 and GEOS-FP (especially of the vertical grids) means that in most cases we can just treat MERRA-2 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 MERRA-2:
Top-level directory
The following modifications for MERRA-2 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 MERRA-2 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 MERRA-2 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 MERRA-2 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 MERRA-2 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 MERRA-2 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:
|
--Bob Y. (talk) 18:53, 12 August 2015 (UTC)
Previous issues that are now resolved
Default timestep for MERRA-2 nested grid simulations
The original update was included in v11-02f (approved 17 May 2018). The final recommendation was included GEOS-Chem 12.0.0.
Bram Maasakkers wrote:
- Melissa Sulprizio and I have been working on the methane simulation with MERRA-2 and the nested North America grid at 0.5x0.625. During our initial simulations, we found very high values in the stratosphere, originating at the edges of the domain and showing a checkerboard-like pattern in the domain. It appears this is caused by a violation of the CFL condition in the stratosphere due to strong stratospheric winds in MERRA-2. When the condition is violated at the boundaries, it leads to an out-of-bounds error but even preventing an out-of-bounds error there by capping the array index doesn’t prevent the high concentrations from originating. It seems that this previously occurred for the GEOS-5 simulation but it did not seem to compromise simulation results significantly. For our purposes of comparing total column measurements of GOSAT to model output, it is a larger problem. We found it also occurs in the full-chem simulation, I’m attaching a plot of column ozone here to illustrate, the high values are only present in the stratospheric layers.
- I think that a variable timestep could be implemented to prevent this from happening. For now, we recommend using a 5/10 transport/chemistry timestep with MERRA-2 nested grid simulations instead of 10/20.
--Bob Yantosca (talk) 16:01, 17 May 2018 (UTC)
Ke Li wrote:
- The default time steps for nested tropchem simulation using MERRA2 are 5 mins for transport and 10 mins for chemistry. It took me about 2 days to run 1 months of simulation at the cost of 24 cpu. Now I change time steps to 10 mins for transport and 20 mins for chemistry, and it costs 1.2 days to run 1 months of simulation at the cost of 24 cpu. The 5/20mins time step for a test simulation over Asia (Tropchem, MERRA-2, 24 CPUs) still costs about two days for one month of simulation. The cost time is estimated from that the test simulation has used 28.5 hours for 17.5 days of simulation, though it hasn’t finished.
Lin Zhang wrote:
- I am fine to use 10/20 mins time step as default which does not seem to affect the tropospheric simulation of air pollutants. We used to run GEOS-5 at 0.5 degree resolution with 10/20 mins, and tropospheric simulations were working well.
- We can also put a stop sign for CH4 and CO2 simulations to warn users changing time steps to 5/10 mins.
Yuxuan Wang wrote:
- I agree with Lin and would also opt for a 10/20 mins time step as the default for full-chemistry nested-grid simulation. The reason is exactly as Daniel said. The nested-grid model users are predominantly using the full-chemistry option and concerns with tropospheric or surface concentration. The specialty nested-grid simulations, such as tagged CO, methane and CO2, used to require a separate development and model tuning, as least during the past before the HEMCO era. As a continuation of that ‘tradition’, the idea of putting a note or stop sign for the CH4 and CO2 nested-grid code should work well.
--Melissa Sulprizio (talk) 12:50, 30 July 2018 (UTC)
Unresolved issues
PBL height
Chris Holmes wrote:
I’ve documented many cases in which the reported PBLH in MERRA2 does not align with the mixing height that an observer would diagnose from the MERRA2 vertical profiles of potential temperature and humidity. In my group we are diagnosing our own PBL heights for use in GEOS-Chem.
--Melissa Sulprizio (talk) 20:25, 30 May 2017 (UTC)