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.

Test GRIB2 data is available in MARS with expver=2250 (see Migration to GRIB2 - Test GRIB2 data in MARS and how to use it for testing). The GRIB2 examples for class=od on this page can be run against it by setting expver=2250, date=20260901, time=00.
Retrieval of U-component of 10m wind in GRIB1Retrieval of U-component of 10m wind in GRIB2
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  param=165.128,
  target="output_10u.grib1"
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  param=165,
  target="output_10u.grib2"

Changes for parameters archived with levtype=sol

Soil temperature, volumetric soil moisture and sea-ice temperature will be archived with levtype=sol (surface other levels). In GRIB1, a separate param is used for each layer (e.g. swvl1, swvl2, … with levtype=sfc). In GRIB2, a single paramId is used and the layer is selected with the levelist keyword.

Multi-layer snow parameters have been available with levtype=sol since the Implementation of IFS Cycle 48r1 and do not change. Total snow depth (141, m of water equivalent) becomes 228141 (kg m-2) and stays at levtype=sfc.

Example of a retrieval of soil level parameters with levtype=sol .

Retrieval of soil levels in GRIB1Retrieval of soil levels in GRIB2
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  param=139.128/170.128/39.128/40.128, # stl1/stl2/swvl1/swvl2
  target="output_soil.grib1"
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sol,
  levelist=1/2,
  param=260360/260199, # sot/vsw
  target="output_soil.grib2"

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 will be archived with  levtype=hl  (height levels). Consequently, the paramId (and shortName) for these parameters will also change.

Retrieval of 100m wind components and speed in GRIB1Retrieval of 100m wind components and speed in GRIB2
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  param=228246/228247/228249,   # 100u/100v/100si
  target="output_100m_winds.grib1"
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=hl,         # Height level
  levelist=100,       # Level 100
  param=131/132/10,   # u/v/ws 
  target="output_100m_winds.grib2"

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. For these parameters, step=0 is not available.

In the GRIB2 request, param does not need to be repeated in the second and third retrieve blocks, as it is inherited from the first. They are included here only to illustrate the changes needed. What changes from block to block is timespan and step (and target, to write each window to its own file).

Retrieval of maximum and minimum 2m temperature in GRIB1Retrieval of maximum and minimum 2m temperature in GRIB2
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  levtype=sfc,
  param=201/202,       # mx2t/mn2t
  step=1/2/3/4/5/6,
  target="output_max_min_2t_1h.grib1"
retrieve,
  param=228026/228027, # mx2t3/mn2t3
  step=3/6,
  target="output_max_min_2t_3h.grib1"
retrieve,
  param=121/122,       # mx2t6/mn2t6
  step=6,
  target="output_max_min_2t_6h.grib1"

retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  levtype=sfc,
  param=237167/238167, # max_2t/min_2t 
  timespan=1h,         # previous hour 
  step=1/2/3/4/5/6,
  target="output_max_min_2t_1h.grib2"
retrieve,
  param=237167/238167, # max_2t/min_2t
  timespan=3h,         # previous 3 hours 
  step=3/6,
  target="output_max_min_2t_3h.grib2"
retrieve,
  param=237167/238167,  # max_2t/min_2t
  timespan=6h,          # previous 6 hours
  step=6,
  target="output_max_min_2t_6h.grib2"

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

Retrieval of surface solar radiation downwards in GRIB1Retrieval of surface solar radiation downwards in GRIB2
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"
retrieve,
  class=od,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  levtype=sfc,
  param=169,           # ssrd - surface solar radiation downwards
  timespan=fs,         # from start of forecast 
  step=6/to/360/by/6,
  target="output_ssrd.grib2"

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 CAMS 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
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=ml,
  levelist=1/to/137,
  param=210121,
  target="output_no2.grib2"
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=ml,
  levelist=1/to/137,
  param=402000,      # Mass mixing ratio
  chem=17,           # Nitrogen dioxide
  target="output_no2.grib2"

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 depths, 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 CAMS 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
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  param=208.210,      # sea salt aerosol optical depth at 550nm
  target="output_sea_salt_aerosol_550.grib1"
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=sfc,
  param=457000,      # Aerosol optical depth
  chem=936,          # Sea salt aerosol
  wavelength=550,    # At 550nm
  target="output_sea_salt_aerosol_550.grib2"

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 parameters, 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 CAMS 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
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=ml,
  levelist=1/to/137,
  param=210121,
  target="output_no2.grib2"
retrieve,
  class=mc,
  stream=oper,
  expver=1,
  date=-2,
  time=00:00:00,
  type=fc,
  step=0,
  levtype=ml,
  levelist=1/to/137,
  param=402000,      # Mass mixing ratio
  chem=17,           # Nitrogen dioxide
  packing=simple,    # Simple packing
  target="output_no2.grib2"

Changes for wave model output stored in MARS

With the migration to GRIB2 the MARS streams for the wave data will be discontinued, and the wave parameters will be stored instead in the respective atmospheric streams. The paramtype is shown for information, it does not need to be added to MARS requests.

classOld streamNew streamparamtype
odwave - Wave modeloper - Atmospheric modelwave
odwaef - Wave ensemble forecastenfo - Ensemble prediction systemwave
odewla - Ensemble Wave Long window data Assimilationelda - Ensemble Long window Data Assimilationwave
odenwh - Ensemble forecast wave hindcastsenfh - Ensemble forecast hindcastswave
odwehs - Wave ensemble forecast hindcast statisticsefhs - Ensemble forecast hindcast statisticswave
odweef - Sub-seasonal wave forecasteefo - Sub-seasonal forecastwave
odweeh - Sub-seasonal wave forecast hindcastseefh - Sub-seasonal forecast hindcastwave
aiwave - Wave modeloper - Atmospheric modelwave
aiwaef - Wave ensemble forecastenfo - Ensemble prediction systemwave
mcwave - Wave modeloper - Atmospheric modelwave

  • No labels