Page to detail some of the changes users should expect when sub-hourly data is supported in MARS requests.
This is not currently supported on ATOS or the WebAPI, and is only supported for GRIB2 data.
See also the Sub-hourly support in ecCodes information page.
1. Introduction
Full support for sub-hourly data in GRIB2-only has arrived with ecCodes 2.34.0. There will also be sub-hourly support within the MARS ecosystem, which will give support for data encoded in units below hours, namely in minutes (m) or seconds (s).
The key points:
- MARS requests will accept the sub-hourly units in the step keyword:
e.g. 15m, 30m, 0m/to/75m/by/15m. - MARS requests will support mixed units in the step keyword:
e.g. 1h15m, 1h30m. - MARS requests will also accept the sub-hourly units via a helper keyword stepunits keyword:
e.g. "step=15/30,stepunits=m" or "step=0/to/75/by/15,stepunits=m" - MARS requests for statistically processed parameters follow the same notions:
e.g. step=30m-45m/45m-1/1-1h15m ↔ step=30-45/45-60/60-75,stepunits=m - MARS requests will assume hours without unit specification:
e.g. step=15/30 → I want data at 15 hours and 30 hours into the forecast
The step units supported in GRIB2 can be found here.
We will compare the before and after behaviour to illustrate what the sub-hourly version brings to ecCodes in more detail below.
2. MARS request for instantaneous data
Let's take an instantaneous example and have a look at a few ways we could specify the MARS request.
Let's say we want some operational temperature data at 15-minute intervals starting with the 15-minute forecast, and going up to 2 hours 30 minutes into the forecast:
retrieve, class=od, date=2023-12-01, expver=1, levelist=1, levtype=ml, param=130, step=15m/to/150m/by/15m, stream=oper, time=00:00:00, type=fc, target="output"
retrieve, class=od, date=2023-12-01, expver=1, levelist=1, levtype=ml, param=130, step=15m/30m/45m/1/1h15m/1h30m/1h45m/2/2h15/2h30, stream=oper, time=00:00:00, type=fc, target="output"
retrieve, class=od, date=2023-12-01, expver=1, levelist=1, levtype=ml, param=130, step=15/to/150/by/15, stepunits=m, stream=oper, time=00:00:00, type=fc, target="output"
3. MARS request for statistically processed data
Let's take a statistically processed example and have a look at a few ways we could specify the MARS request.
Let's say we want some S2S sea surface temperature data averaged over 15-minute periods at 15-minute intervals starting with the 0-15-minute forecasted average, and going up to the forecasted average for 2h15m-2h30m:
retrieve, class=s2, date=2023-12-01, expver=prod, levtype=sfc, model=glob, origin=ecmf, param=34, step=0m-15m/15m-30m/30m-45m/45m-1/1-1h15m/1h15m-1h30m/1h30m-1h45m/1h45m-2/2-2h15m/2h15m-2h30m, stream=enfo, time=00:00:00, type=cf, target="output"
retrieve, class=s2, date=2023-12-01, expver=prod, levtype=sfc, model=glob, origin=ecmf, param=34, step=0-15/15-30/30-45/45-60/60-75/75-90/90-105/105-120/120-135/135-150, stepunits=m, stream=enfo, time=00:00:00, type=cf, target="output"
Add Comment