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 from each 06:00 forecast and from each 18:00 forecast, tp for first the first 12 forecast steps:
This results in hourly data from January 01, 06:00 to February 01, 06:00 (discard the last 6 hours).
You still need the first six hours of the first day, get these from the last forecast of the previous day:
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 data for 2t. Then calculate the daily average.
You need the daily minimum and maximum of 2m temperature for January 2015.
You could obtain the hourly 2m temperature (see Example 3), and then identify the daily maximum and minimum of the hourly values.
Alternatively you can use the parameters Maximum temperature at 2 metres since previous post-processing' (mx2t) and Minimum temperature at 2 metres since previous post-processing (mn2t):
The parameters named 'min/max since previous post-processing' are available from forecasts.
Is this a valid use case? Why not simply use analysis?
ERA5 forecasts are initialized at 06:00 and 18:00. Each forecast step is one hour, so you need from each 06:00 forecast and from each 18:00 forecast, mx2t and mn2t for first the first 12 forecast steps:
This results in hourly data from January 01, 06:00 to February 01, 06:00 (discard the last 6 hours).
You still need the first six hours of the first day, get these from the last forecast of the previous day:
...
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": "2015-01-01/to/2015-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 2015-01-01 06:00 to 2015-02-01 06:00, as one-hour periods. To identify the daily max/min, find the the max/min of these one-hour maxima/minima.
How to download ERA5 data via the ECMWF Web API