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.
| Retrieval of U-component of 10m wind in GRIB1 | Retrieval 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 GRIB1 | Retrieval 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 GRIB1 | Retrieval 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 GRIB1 | Retrieval 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 GRIB1 | Retrieval 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 - current | Retrieval 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 GRIB1 | Retrieval 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 - current | Retrieval 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" |
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.Changes for wave model output stored in MARS
class Old stream New stream paramtype od wave - Wave model oper - Atmospheric model wave od waef - Wave ensemble forecast enfo - Ensemble prediction system wave od ewla - Ensemble Wave Long window data Assimilation elda - Ensemble Long window Data Assimilation wave od enwh - Ensemble forecast wave hindcasts enfh - Ensemble forecast hindcasts wave od wehs - Wave ensemble forecast hindcast statistics efhs - Ensemble forecast hindcast statistics wave od weef - Sub-seasonal wave forecast eefo - Sub-seasonal forecast wave od weeh - Sub-seasonal wave forecast hindcasts eefh - Sub-seasonal forecast hindcast wave ai wave - Wave model oper - Atmospheric model wave ai waef - Wave ensemble forecast enfo - Ensemble prediction system wave mc wave - Wave model oper - Atmospheric model wave