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 documentation, section 'Data organisation').
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. |
You want to extract daily total precipitation (tp) 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:
This results in hourly precipitation for the time period 2015-01-01, 00:00 up to 2015-02-01, 06:00
Then for each day of January sum the 24 hourly values, resulting in the daily total precipitation.
You need the average precipitation per hour between 00:00 and 06:00.
To obtain the average of accumulated fields between two forecast steps (STEP1 and STEP2) it is necessary to retrieve the fields for the two steps: (Field(STEP1) and Field(STEP2)) then calculate the difference and divide by the time difference:
(Field(STEP2) - Field(STEP1)) / (STEP2 - STEP1).
To obtain average precipitation per hour between 00:00 and 06:00, download Total Precipitation with time 00:00 and steps 0 (tp0) and step 6 (tp6), then calculate:
( tp6 - tp0 ) / ( 6 - 0 )
(Note the units for total precipitation is meters.)
You need total precipitation for every 6 hours.
Daily total precipitation (tp) is only available with a forecast base time 00:00 and 12:00, so to get tp for every 6 hours you will need to extract (and for the second and fourth period calculate):
tp(00-06) = (time 00, step 6)
tp(06-12) = (time 00, step 12) minus (time 00, step 6)
tp(12-18) = (time 12, step 6)
tp(18-24) = (time 12, step 12) minus (time 12, step 6)
(Note the units for total precipitation is meters.)
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.
About ERA-Interim: http://www.ecmwf.int/en/research/climate-reanalysis/era-interim
ERA-Interim documentation: http://www.ecmwf.int/en/elibrary/8174-era-interim-archive-version-20
Worth reading about spin-up in ERA-Interim: http://www.ecmwf.int/en/elibrary/10381-forecast-drift-era-interim