MARS requests for some parameters will also be affected by the migration to GRIB2.

Changes to param keyword

For GRIB1 parameters, the param keyword in the mars request can be set to param=indicatorOfParameter.table2Version. Requests with this structure will not work for GRIB2 as these two keys do not exist in this edition. The paramId must be used for GRIB2 parameters. This is the recommended way of specifying parameters in MARS requests.

An example is the retrieval of the U-component of the 10 metre wind, which is in GRIB1 in the indicatorOfParameter.table2Version representation param=165.128, but in GRIB2 param=165.

The following MARS retrieval is provided only  as an example of the sort of change that users will need to make once the data are provided in GRIB2.  If this request is run at the moment, it will return data encoded in GRIB1.


Retrieval of U-component of 10m wind in GRIB1Retrieval of U-component of 10m wind in GRIB2


<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  <b><font color="red">param=165.128</font></b>,
  target="output_10u.grib1"
<pre>



<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  <b><font color="red">param=165</font></b>,
  target="output_10u.grib2"
<pre>


Changes for parameters archived with levtype=sol

Parameters on surface levels will be archived with levtype=sol (surface other levels). 

For example, in GRIB1, a separate param is used to retrieve Volumetric soil water layer 1 and a different param o retrieve Volumetric soil water layer 2, etc with levtype=sfc .  In GRIB2, only a single paramId is used for Volumetric soil water, with the layer being selected by the levelist keyword and using levtype=sol .

Instead of specifying a single parameter Id in the request, for some parameters additional keys will need to be added, for example for snow layer parameters the layer. These parameters will be archived with the new MARS keyword levtype=sol which has to be specified in the request together with the MARS keyword levelist .

Example of a retrieval of snow depth parameters with levtype=sol .

The levtype=sol keyword for multi-layer snow depth parameters in GRIB2 has been introduced with the Implementation of IFS Cycle 48r1


Retrieval of snow depth in GRIB1Retrieval of snow depth in GRIB2


<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  <b><font color="red">levtype=sfc</font></b>,
  <b><font color="red">param=141.128</font></b>,
  target="output_sd.grib1"
<pre>



<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  <b><font color="red">levtype=sol</font></b>,
  <b><font color="red">levelist=1/2/3/4/5</font></b>,
  <b><font color="red">param=228141</font></b>,
  target="output_sd.grib2"
<pre>


Changes for parameters archived with levtype=hl

Parameters with typeOfLevel=heightAboveGround and with level set to a value greater than 10m (for example, 100u, 100v, 100si, 200u, 200v, 200si) which were previously archived in MARS with levtype=sfc with will be archived with  levtype=hl  (height levels). Consequently, the paramId (and shortName) for these parameters will also change.

The following MARS retrieval is provided only  as an example of the sort of change that users will need to make once the data are provided in GRIB2. 


Retrieval of 100m wind components and speed in GRIB1Retrieval of 100m wind components and speed in GRIB2


<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  <b><font color="red">levtype=sfc</font></b>,
  <b><font color="red">param=228246/228247/228249</font></b>,   <b><font color="red"># 100u/100v/100si</font></b>
  target="output_100m_winds.grib1"
<pre>



<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  <b><font color="red">levtype=hl</font></b>,   <b><font color="red"># Height level</font></b>
  <b><font color="red">levelist=100</font></b>,   <b><font color="red"># Level 100</font></b>
  <b><font color="red">param=131/132/10</font></b>,   <b><font color="red"># u/v/ws</font></b> 
  target="output_100m_winds.grib2"
<pre>


Addition of new MARS keyword timespan for parameters processed statistically over a time interval

In GRIB1, parameters processed statistically over a time interval, such as maximum or minimum temperature in the last 3 hours or last 6 hours or since previous post-processing, have their own distinct paramIds.  In GRIB2, there will be a single paramId to identify, e.g., maximum 2m temperature and a new MARS keyword, timespan, to specify the period over which the maximum or minimum or average, etc, has been taken.  Typically, timespan=1h for "previous hour",  timespan=3h for "previous 3 hours" and timespan=6h for "previous 6 hours", etc. 

The following MARS retrieval is provided only  as an example of the sort of change that users will need to make once the data are provided in GRIB2.   

There is no need to re-specify the param keyword in the second and third retrieve blocks as it will be inherited from the first retrieve block.  It is included here only to illustrate the changes needed.  All that needs to change is the value of the timespan keyword.


Retrieval of maximum and minimum 2m temperature in GRIB1Retrieval of maximum and minimum 2m temperature in GRIB2


<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  levtype=sfc,
  <b><font color="red">param=201/202</font></b>,       <b><font color="red"># mx2t/mn2t</font></b>
  step=1/2/3/4/5/6,
  target="output_max_min_2t_1h.grib1"
retrieve,
  <b><font color="red">param=228026/228027</font></b>, <b><font color="red"># mx2t3/mn2t3</font></b>
  step=3/6,
  target="output_max_min_2t_3h.grib1"
retrieve,
  <b><font color="red">param=121/122</font></b>,       <b><font color="red"># mx2t6/mn2t6</font></b>
  step=6,
  target="output_max_min_2t_6h.grib1"

<pre>



<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  levtype=sfc,
  <b><font color="red">param=237167/238167</font></b>, <b><font color="red"># max_2t/min_2t</font></b> 
  <b><font color="red">timespan=1h</font></b>,         <b><font color="red"># previous hour</font></b> 
  step=1/2/3/4/5/6,
  target="output_max_min_2t_1h_3h.grib2"
retrieve,
  <b><font color="red">param=237167/238167</font></b>, <b><font color="red"># max_2t/min_2t</font></b>
  <b><font color="red">timespan=3h</font></b>,         <b><font color="red"># previous 3 hours</font></b> 
  step=3/6,
  target="output_max_min_2t.grib2"
retrieve,
  <b><font color="red">param=237167/238167</font></b>,  <b><font color="red"># max_2t/min_2t</font></b>
  <b><font color="red">timespan=6h</font></b>,          <b><font color="red"># previous 6 hours</font></b>
  step=6,
  target="output_max_min_2t_6h.grib2"
<pre>



The timespan keyword is also needed for parameters accumulated from the start of the forecast, such as precipitation or and radiation parameters .  For such parameters, set timespan=fs for "accumulated from start of forecast",  e.g:

The following MARS retrieval is provided only  as an example of the sort of change that users will need to make once the data are provided in GRIB2. 


Retrieval of maximum and minimum 2m temperature in GRIB1Retrieval of maximum and minimum 2m temperature in GRIB2


<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  levtype=sfc,
  param=169,           # ssrd - surface solar radiation downwards
  step=6/to/360/by/6,
  target="output_ssrd.grib1"
<pre>



<pre>
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  levtype=sfc,
  param=169,           # ssrd - surface solar radiation downwards
  <b><font color="red">timespan=fs</font></b>,         <b><font color="red"># from start of forecast</font></b> 
  step=6/to/360/by/6,
  target="output_ssrd.grib2"
<pre>


Addition of new MARS keyword chem for retrieval of chemical species

Another example are chemical parameters. Besides using the MARS keyword param in the request to specify the parameter type, e.g., mass mixing ratio, an additional MARS keyword chem will be used to specify the chemical substance(s), e.g., nitrogen dioxide.

The following MARS retrieval is provided only  as an example of the sort of change that users will need to make once the data are provided in GRIB2.  The values taken by the chem keyword are not yet finalised.


Retrieval of NO2 mass-mixing ratio in GRIB2 - currentRetrieval of NO2 mass-mixing ratio in GRIB2 - new


<pre>
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=ml,
  levelist=1/to/137,
  <b><font color="red">param=210121</font></b>,
  target="output_no2.grib2"
<pre>



<pre>
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=ml,
  levelist=1/to/137,
  <b><font color="red">param=402000</font></b>,      <b><font color="red"># Mass mixing ratio</font></b>
  <b><font color="red">chem=17</font></b>,           <b><font color="red"># Nitrogen dioxide</font></b>
  target="output_no2.grib2"
<pre>


Addition of new MARS keywords chem and wavelength for retrieval of chemical species with optical properties

Other chemical parameters, such as aerosol optical depths and absorption aerosol optical, are available for different wavelengths.  Besides using the MARS keywords param and chem in the request to specify the parameter type and chemical substance, e.g., "aerosol optical depth" and "sea salt", an additional MARS keyword wavelength will be used to specify the wavelength.

The following MARS retrieval is provided only  as an example of the sort of change that users will need to make once the data are provided in GRIB2.  The values taken by the chem keyword are not yet finalised.


Retrieval of sea salt aerosol optical depth at 550nm in GRIB1Retrieval of sea salt aerosol optical depth at 550nm in GRIB2


<pre>
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  <b><font color="red">param=208.210</font></b>,      <b><font color="red"># sea salt aerosol optical depth at 550nm</font></b>
  target="output_sea_salt_aerosol_550.grib1"
<pre>



<pre>
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  <b><font color="red">param=457000</font></b>,      <b><font color="red"># Aerosol optical depth</font></b>
  <b><font color="red">chem=936</font></b>,          <b><font color="red"># Sea salt aerosol</font></b>
  <b><font color="red">wavelength=550</font></b>,    <b><font color="red"># At 550nm</font></b>
  target="output_sea_salt_aerosol_550.grib2"
<pre>



Change of GRIB packing for GRIB2 parameters retrieved from MARS on a grid

GRIB2 parameters retrieved on a grid will be compressed with CCSDS. To decode these parameter, ecCodes must be linked to libaec. Alternatively, the data can be retrieved in another packing type such as grid_simple packing, which was in use for the model level GRIB2 parameters.

The following MARS retrieval is provided only  as an example of the sort of change that users will need to make once the data are provided in GRIB2.  The values taken by the chem keyword are not yet finalised.


Retrieval of NO2 mass-mixing ratio in GRIB2 - currentRetrieval of NO2 mass-mixing ratio in GRIB2 - new with simple packing


<pre>
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=ml,
  levelist=1/to/137,
  <font color="red">param=210121</font>,
  target="output_no2.grib2"
<pre>



<pre>
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=ml,
  levelist=1/to/137,
  <font color="red">param=402000</font>,      <font color="red"># Mass mixing ratio</font>
  <font color="red">chem=17</font>,           <font color="red"># Nitrogen dioxide</font>
  <b><font color="red">packing=simple</font></b>,    <b><font color="red"># Simple packing</font></b>
  target="output_no2.grib2"
<pre>