This article applies to the ERA5 sub-daily datasets:
This article does not apply to other ERA5 streams, for example monthly data. See what streams are available(ERA5 data documentation, section 'Data organisation').
See also: What is ERA5 ,
Each parameter is classed as either 'instantaneous' or 'accumulated', depending on the temporal property of the parameter:
See the ERA5 documentation for available instantaneous parameters (Table 2) and accumulated parameters (Table 3). There you can also see if a parameter is available from analysis (an) or from forecast (fc) or from both.
In ERA5 two types of data are available, 'analysis' and 'forecast':
An ERA5 analysis is computed for each full hour (i.e. for 00:00, 01:00, ... , 23:00).
At the model level an analysis takes a 30-minute window around the validity time into account (+/-15 min). In the output data, 'time' specifies the validity time:
In ERA5 a new forecast is initialized every day at 06:00 and 18:00 UTC. The forecast computes the future atmospheric conditions internally in 30-minute 'model steps'. The model output data is then aggregated to 18 one-hour intervals (steps) and archived. Hence in the ERA5 data archive each 'step' represents one hour. For example, for the daily forecast initialized at 06:00:
The following table summarizes how instantaneous and accumulated parameters, from analysis and forecast are available in ERA5:
instantaneous parameters, e.g. 2m temperature | accumulated parameters, | Minimum/maximum parameters named '... since previous post-processing' | |
---|---|---|---|
Analysis 'date' and 'time' indicate a specific point in time for which a data analysis is carried out ('validity time') 'time' is hourly, HH:00 'step' by definition is always 0 | Data represents the average of a 30 minute window around the analysis time (t +/- 15min) | n.a. | n.a. |
Forecast 'date' and 'time' indicate a specific point in time at which a forecast starts (initialization time). 'time' can be 06:00 or 18:00 'step' indicates the number of forecasting steps from the initialization time 'step' can be 0 (effectively giving analysis), or in the range 1 to 18 | Data represents the average of a 30 minute window around the valid time (t +/- 15min) | Data represents the accumulation up to 'time' t + 'step' s, starting from the previous step, so the accumulation covers the period from t + sx-1 to t + sx For example, time=06:00 and step=2 specifies the accumulation up to 06:00+2*1h (i.e. up to 08:00), starting from the previous step (s=1, i.e. at 06:00+1*1h = 07:00), so the accumulation covers the period from 07:00 to 08:00. | In ERA5 forecasts there are some parameters named '...since previous post-processing', for example 'Maximum temperature at 2 metres since previous post-processing'. Data represents the Min/Max values within the forecast step. |
See also How to download ERA5 data via the ECMWF Web API
You need total precipitation (tp) as hourly values for January 2015.
tp is an accumulated parameter, so only available from forecasts.
ERA5 forecasts are initialized at 06:00 and 18:00. Each forecast step is one hour, so you need:
date = 2015-01-01 to 2015-01-31
This results in hourly precipitation for the time period 2015-01-01, 00:00 up to 2015-02-01, 06:00.
You need 2 metre temperature (2t) as daily average for January 2015.
2t is an instantaneous parameter, available from analysis and forecasts. Since both are available, analysis is recommended.
ERA5 analysis is available at each full hour, so you need:
This results in hourly 2t. Then calculate the daily average.
You need the daily minimum and maximum of 2m temperature.
You can use the parameters 'Maximum temperature at 2 metres since previous post-processing' (mx2t, parameter id 201) and 'Minimum temperature at 2 metres since previous post-processing' (mn2t, parameter id 202). These two parameters are available from the forecasts initialized at 06:00 and 18:00 in one-hour steps:
mx2t(06-07) = (time 06:00, step 1)
mx2t(07-08) = (time 06:00, step 2)
mx2t(08-09) = (time 06:00, step 3)
...
mx2t(17-18) = (time 06:00, step 12)
mx2t(18-19) = (time 18:00, step 1)
mx2t(19-20) = (time 18:00, step 2)
mx2t(20-21) = (time 18:00, step 3)
...
mx2t(05-06) = (time 12:00, step 12)
Sample Python script for the ECMWF WebAPI to retrieve Min and Max 2m temperature since previous post-processing:
#!/usr/bin/env python from ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ "class": "ea", "dataset": "era5", "stream": "oper", "expver": "1", "date": "2016-01-01/to/2016-01-31", "type": "fc", "levtype": "sfc", "param": "201.128/202.128", # 'Maximum temperature at 2 metres since previous post-processing' and 'Minimum temperature at 2 metres since previous post-processing' "time": "06:00:00/18:00:00", # 2 forecasts per day, at T=06:00 and T=12:00 "step": "1/2/3/4/5/6/7/8/9/10/11/12", # For each forecast 18 hourly steps are available. Here we use only steps 1 to 12. "grid": "0.30/0.30", "area": "60/-10/20/50", "target": "output", # change this to your output file name }) |
This script retrieves the maximum and minimum 2m temperature from 2016-01-01 06:00 to 2017-02-01 06:00, as one-hour periods. To identify the daily maximum/minimum 2m temperature, find the the maximum of these 3-hour maxima/minima.
How to download ERA5 data via the ECMWF Web API