Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Page info
infoTypeModified date
prefixLast modified on
typeFlat

Info
iconfalse
titleTable of Contents

Table of Contents
maxLevel5

easy-heading-free
navigationExpandOptioncollapse-all-but-headings-1


Hide content
literalfalse

to be peer reviewed by: Paul Berrisford, 2018-07-24

approved by CUS team leader: 2018-05-01

This article applies to the ERA5 sub-daily datasets:

  • ERA5 high resolution (HRES), containing
    • sub-daily atmospheric data (stream oper)
    • sub-
------------------------------------------------------------------- DRAFT ---------------------------------------------------------------------------------
Hide content
literalfalse

to be peer reviewed by: Paul

approved by CUS team leader: 2018-05-01

This article applies to the ERA5 sub-daily datasets:

  • ERA5 high resolution (HRES), containing
    • sub-daily atmospheric data (stream oper)
    • sub-daily ocean wave data (stream wave)
  • ERA5 ensemble (EDA), containing
    • sub-daily atmospheric data (stream enda)
    • sub-daily ocean wave data (stream ewda)

Analysis and forecast

In the ERA5 data archive two types of data are available, 'analysis' (an) and 'forecast' (fc):

  • An analysis, of the atmospheric conditions, is a blend of observations with a previous forecast. An analysis can only provide instantaneous parameters (parameters valid at a specific time, e.g temperature at 12:00), but not accumulated parameters, mean rates or min/max parameters.
  • A forecast starts with an analysis at a specific time (the 'initialization time'), and a model computes the atmospheric conditions for a number of 'forecast steps', at increasing 'validity times', into the future. A forecast can provide instantaneous parameters, accumulated parameters, mean rates, and min/max parameters.

To see which parameters are available as analysis (an) and/or forecasts (fc)  see the ERA5 documentation, section 'Parameter listings'

Instantaneous, accumulated, mean rate and min/max parameters

Each parameter is classed as either 'instantaneous', 'accumulated', 'mean rate' or 'min/max', depending on the temporal properties of the parameter:

  • Instantaneous parameters refer to a specific point in time , for example temperature at 12:00. For a list of available surface and single level instantaneous parameters see the ERA5 documentation, Table 2.
      • daily ocean wave data (stream wave)
    • ERA5 ensemble (EDA), containing
      • sub-daily atmospheric data (stream enda)
      • sub-daily ocean wave data (stream ewda)

    Analysis and forecast

    If you access ERA5 data in the C3S Climate Data Store (CDS), you will not see the concept of type 'analysis' and 'forecast'.  However, behind the scene, ERA5 data archive has two types of data available, 'analysis' (an) and 'forecast' (fc). This article will help you understand the differences between these two types.

    • An analysis, of the atmospheric conditions, is a blend of observations with a previous forecast. An analysis can only provide instantaneous parameters (parameters valid at a specific time, e.g temperature at 12:00), but not accumulated parameters, mean rates or min/max parameters.
    • A forecast starts with an analysis at a specific time (the 'initialization time'), and a model computes the atmospheric conditions for a number of 'forecast steps', at increasing 'validity times', into the future. A forecast can provide instantaneous parameters, accumulated parameters, mean rates, and min/max parameters.

    To see which parameters are available as analysis (an) and/or forecasts (fc)  see ERA5: data documentation, section 'Parameter listings'.

    Instantaneous, accumulated, mean rate and min/max parameters

    Each parameter is classed as either 'instantaneous', 'accumulated', 'mean rate' or 'min/max', depending on the temporal properties of the parameter:

    • Instantaneous parameters refer to a specific point in time , for example temperature at 12:00. For a list of available surface and single level instantaneous parameters see ERA5: data documentation, Table 2.
    • Accumulated parameters are accumulations during a particular time period, for example precipitation between 17:00 and
    Accumulated parameters are accumulations during a particular time period, for example precipitation between 17:00 and
    • 18:00. For a list of available accumulated parameters see 
    the
    accumulated vales
    • temporally averaged rates over a particular time period, for example the mean snowfall rate between 17:00 and 18:00
    , per second
    • . For a list of available mean rate parameters see 
    the
    • ERA5: data documentation, Table 4.
    • Min/max parameters are the minimum or maximum 'instantaneous' value within a particular time period, for example minimum temperature between 17:00 and 18:00. For a list of available min/max parameters see 
    the

    Time and Step

    'time' in analyses

    Each analysis has a validity time, i.e. the time the data values refer to (not the time when the analysis was computed).

    All validity times are in hours UTC.

    Depending on the selected stream, ERA5 daily analysis data is available hourly (i.e. for the HRES, with validity time 00:00, 01:00, 02:00, ... , 23:00) or 3-hourly (i.e. for the EDA, with validity time 00:00, 03:00, 06:00,  ... , 21:00). See also the ERA5: data documentation, 'Temporal resolution' and the ERA5 Catalogue, streams.

    The concept of 'step' does not apply to analyses.

    'time' in forecasts

    ERA5 is largely a series of weather forecasts.

    Each forecast starts with the atmospheric conditions at a specific 'initialization time'. In ERA5 a new forecast is computed twice a day, with initialization

    time

    times of 06:00 and 18:00 UTC.

    In the ERA5 data archive, for forecasts, 'time'

    specifies

    (and date) refers to the initialization time.

    'step' in forecasts

    Each forecast computes the future atmospheric conditions, and at certain "points", or "steps", during this computation

    a snapshot of

    the

    computed

    data is

    taken,

    post-processed, and stored in the ERA5 data archive

    . These snapshots are called 'steps'

    . In ERA5 there is a step every 1

    hour

    or 3 hours, depending on the selected stream.

    Note, when downloading data from the C3S Climate Data Store (CDS), 'step' does not need to be specified because data is selected according to the valid time automatically, assuming steps from 1 to 12 hours.

    Steps are referenced in hours from the forecast initialization time.

    Steps are referenced in hours from the forecast initialization time.

    This is regardless of the step interval. For example, for time=06:00, step 3 is always at 09:00 (06:00+3h).

    The step interval in ERA5 is:

    • Every 1 hour in the HRES atmospheric (stream=oper), HRES wave (stream=wave) and EDA wave (stream=ewda) forecasts. Hence data is available with validity times 06:00 (step 0, initialization), 07:00 (step 1, i.e. initialization + 1h), 08:00 (step 2, i.e. initialization + 2h), and so on, and equivalent for the 18:00 initialization.
    • Every 3 hours in the EDA atmospheric (stream=enda) forecasts. Hence data is available with validity times 06:00 (step 0, initialization), 09:00 (step 3, i.e. initialization +3h), 12:00 (step 6, i.e. initialization + 6h), and so on, and equivalent for the 18:00 initialization.

    'step' and instantaneous, accumulated and min/max parameters

    The interpretation of 'step' also depends on the parameter:

    • Instantaneous parameters are valid at the time indicated by time+step. For example, temperature from the forecast at time=06:00, step=3, represents the temperature at 06:00 + 3h, i.e. at 09:00.
    • Accumulated parameters are aggregated up to a Step Y, starting at the previous Step X:

    Image Modified

    Note that the interval between Step X and Step Y can be 1 hour or 3 hours, depending on the selected stream.

    At Step 0 all accumulated values and mean rates are zero, because there is no previous data to accumulate from.

    Examples:
    • In HRES atmospheric (hourly steps), precipitation at time=06:00, step=3 represents precipitation
    up to
    • from [06:00 +
    3h
    • 2h]
    , starting from
    • to [06:00 +
    2h
    • 3h], i.e. precipitation in the 1-hour period from 08:00 to 09:00.
    • In EDA atmospheric (3-hourly steps), precipitation at time=06:00, step=3 represents precipitation
    up to
    • from [06:00 +
    3h
    • 0h]
    , starting from
    • to [06:00 +
    0h
    • 3h], i.e. precipitation in the 3-hour period from 06:00 to 09:00.
    • Mean rate parameters are similar to accumulated parameters, except that the quantities are averaged, instead of accumulated, up to a Step Y , from the previous Step X, so the units include "per second". For example:
      • In HRES atmospheric (hourly steps), mean rate precipitation at time=06:00, step=3 represents
    average precipitation up to [06:00 + 3h], starting from
      • the
    previous step (Step 2), i.e.
      • average precipitation rate in the 1-hour period from 08:00 to 09:00,
    per second
      • .
      • In EDA atmospheric (3-hourly steps), mean rate precipitation at time=06:00, step=3 represents
    average precipitation up to [06:00 + 3h], starting from
      • the
    previous step (Step 0), i.e.
      • average precipitation rate in the 3-hour period from 06:00 to 09:00
    , per second.
      • .
    • Min/max parameters  (parameters named 'Minimum/Maximum ... since previous post-processing' ) are similar to accumulated parameters, except that instead of accumulating, only the min/max value
    of
    • during the period from Step X to Step Y is archived.

    Summary

    The following table summarizes the different parameter types available in ERA5 from analysis and forecast:

    Instantaneous parameters,

    e.g. 2m temperature

    Accumulated parameters,

    e.g. precipitationMean rate parametersMinimum/maximum parameters named 'Minimum/Maximum ... since previous post-processing'

    Analysis

    Calculated from observations and previous forecasts

    'time' indicate a specific point in time for which a data analysis is carried out

    'time' is hourly, HH:00

    'step' does not apply

    For example '2 metre temperature'.

    Values are valid at 'time'

    n.a.n.a.n.a.

    Forecast

    Calculated from analysis and the forecast model

    'time' indicate a specific point in time at which a forecast starts (initialization time)

    'time' can be 06:00 or 18:00

    'step' indicates hours after the initialization time. At each 'step' a snapshot of the forecast output is available
    • If you download ERA5 data hosted on the C3S Climate Data Store (CDS), you can either download the data using the web interface or CDS API. If you go for CDS API, you should use the web interface to help you build up the download script by making selections and then clicking the 'Show API request' button towards the end of a download form.
    • If you download ERA5 data hosted outside of CDS, you can download the data using CDS API. You should then use the ERA5 catalogue to help you build up your script by making selections and then clicking the 'View the MARS request' link.

    The following table summarizes the different parameter types available in ERA5 from analysis and forecast:


    Instantaneous parameters,

    e.g. 2m temperature

    Accumulated parameters,

    e.g. precipitation
    Mean rate parametersMinimum/maximum parameters named 'Minimum/Maximum ... since previous post-processing'

    Analysis

    Calculated from observations and previous forecasts

    'time' indicates a specific point in time for which a data analysis is carried out

    'time' is hourly, HH:00

    'step' does not apply


    For example '2 metre temperature'.

    Values are valid at 'time

    '+'step'

    '



    n.a.n.a.n.a.

    Forecast

    Calculated from analysis and the forecast model

    'time' indicate a specific point in time at which a forecast starts (initialization time)

    'time' can be 06:00 or 18:00

    'step' indicates hours after the initialization time.




    For example '2 metre temperature'.

    Values are valid at 'time'+'step'


    'step' is in the range 0 to 18 (hours after initialization)

    For example 'Total precipitation

    'step' can be 0 (effectively giving analysis), or in the range 1 to 18 (hours after initialization)

    For example 'Total precipitation'.

    Values represent the accumulation up to 'time'+'step', up from the previous 'step'

    'step' is in the range 0 to 18 (hours after initialization)

    At 'step' 0 all data is zero though.

    For example 'Mean total precipitation rate

    '.

    Values represent the

    average

    accumulation up to 'time'+'step',

    up

    from the previous 'step'

    , and normalized to per-second units


    'step' is in the range 0 to 18 (hours after initialization)

    At 'step' 0 all data is zero

    though

    .


    For example '

    Maximum temperature

    Mean total precipitation rate'.

    Values represent the average rate up to 'time'+'step', from the previous 'step'


    'step' is in the range 0 to 18 (hours after initialization)

    At 'step' 0 all data is zero.

    For example 'Maximum temperature at 2 metres since previous post-processing'.

    Values represent the Min/Max in the period up to 'time'+'step', starting from the previous 'step'


    'step' is in the range 0 to 18 (hours after initialization)

    At 'step' 0 all data is zero

    though

    .

    Examples

    See also


    Hide content

    Examples

    ERA5 data should preferably be downloaded from the C3S Climate Data Store (CDS). There you only need to select the desired validity times; the CDS then maps the validity times to the corresponding analysis/forecast and step.

    The examples below apply to retrieving ERA5 data from the ECMWF data archive MARS. See How to download ERA5 data via the ECMWF Web API

    Example 1: 

    total precipitation (tp), as hourly values, for one month 

    hourly data, accumulated; e.g. total precipitation and evaporation

    StepYour requirement
    Select from the ERA5 data catalogueSet in a WebAPI Python script
    1

    You are interested in HRES data, not in the ensemble

    >Select Deterministic forecast
    >
    , Atmospheric model'stream':'oper'
    2

    Precipitation is accumulated, not instantaneous

    Select Forecast'type':'fc'3Month

    You need total precipitation and evaporation.

    See and ECMWF parameter definitions

    You find suitable parameters: 

    • Total precipitation (tp, paramId 228). Available from forecast (fc)
    • Evaporation (e, paramId 182). Available from forecast (fc)
    >Select Forecast'type':'fc'
    3Month>

    Select

    Select

    a month, e.g. 2015, January


    4Total
    Precipitation is a
    precipitation and and evaporation are 2-dimensional
    field
    fields ('surface field')>Select Surface'levtype':'sfc'
    5Dates>
    You select all
    Select dates
    in January
    'date':' 2015-01-01/to/2015-01-31'
    6

    ERA5 forecasts are initialized at 06:00 and 18:00, and in HRES the interval between forecast steps is one hour.

    Hence

    so

    you need forecast steps 1 to 12, from each forecast, in order to cover a 24 hour period.

    >

    Select time 06:00 and 18:00

    Select steps 1 to 12

    'time':'06:00/18:00'

    'step':'1/2/3/4/5/6/7/8/9/10/11/12'

    7
    You need data for total precipitationSelect parameter 'Total precipitation'param:tp8

    Click 'View the MARS request'

    The resulting MARS request:

    Code Block
    languagepy
    #!/usr/bin/env python
    from ecmwfapi import ECMWFDataServer
    server = ECMWFDataServer()
    server.retrieve({
        "class": "ea",
        "dataset": "era5",
        "date": "2015-01-01/to/2015-01-31",
        "expver": "1",
        "levtype": "sfc",
        "param": "228.128",                     # 'Total precipitation'
        "time": "06:00/18:00",                  # 2 forecasts per day, starting at 06:00 and 12:00
        "step": "1/2/3/4/5/6/7/8/9/10/11/12",   # From each forecast 18 steps are available. Here we use only steps 1 to 12.
        "stream": "oper",
        "type": "fc",
        "target": "output",                     # change this to your output file name
    })

    These specifications give you hourly 'total precipitation' data from 2015-01-01, 06:00 to 2015-02-01, 06:00. 

    Discard the last 6 hours (2015-02-01, 00:01 to 06:00). 

    The specification above give you data starting at 06:00 on the first day, but you want it to start at 00:00. Get the missing 6 hours from the last forecast of the previous day ('date':'2014-12-31', 'time':'18:00', 'step':'7/8/9/10/11/12')

    Merge the two downloaded files

    Example 2:   2 metre temperature (2t), as daily average, for one month

    -------------------------------------------------------------------------------- Continue review here ---------------------------------------------------------------------------------

    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:

    • type : an
    • date : 2015-01-01/to/2015-01-31
    • time : 00:00/01:00/02:00/03:00/04:00/05:00/06:00/07:00/08:00/09:00/10:00/11:00/12:00/13:00/14:00/15:00/16:00/17:00/18:00/19:00/20:00/21:00/22:00/23:00

    This results in hourly data for 2t. Then calculate the daily average.

    Example 3: daily minimum and maximum of 2m temperature, for one month

    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

    Specify parameters


    >Select parameters 'Total precipitation' and 'Evaporation'

    'param':'tp/e' (short names)

    or

    'param':'228.128/182.128' (MARS parameter IDs)

    8
    >

    Click 'View the MARS request'


    The resulting WebAPI Python script to download data:

    py

    These specifications give you hourly 'total precipitation' data from 2015-01-01, 06:00 to 2015-02-01, 06:00. 

    Discard the last 6 hours (2015-02-01, 00:01 to 06:00). 

    The data does not cover the period 00:00 to 06:00 of the first date.  Retrieve these 6 hours from the last forecast of the previous day ('date':'2014-12-31', 'time':'18:00', 'step':'7/8/9/10/11/12')

    Example 2:  daily average, minimum and maximum of 2m temperature

    In ERA5 there is no daily data, so you have to download sub-daily  data and aggregate to full days yourself.

    StepYour requirement
    Select from the ERA5 data catalogueSet in a WebAPI Python script
    1

    You are interested in HRES data, not in the ensemble

    >Select Deterministic forecast, Atmospheric model'stream':'oper'
    2

    You need average, minimum and maximum of 2m temperature.

    See and ECMWF parameter definitions

    You find suitable parameters:  

    • '2 metre temperature' (2t, paramId 167). Available from analysis (an) and forecast (fc)
    • 'Maximum temperature at 2 metres since previous post-processing' (mx2t
    ) and
    • , paramId 201). Available from forecast (fc)
    • 'Minimum temperature at 2 metres since previous post-processing' (mn2t, paramId 202). Available from forecast (fc)
    :

    You could retrieve the first parameter from analysis  and the other two from forecast, or all three from forecast. You choose the latter.

    >Select Forecast'type':'fc'
    3Month>

    Select a month, e.g. 2015, January


    4All 2 metre temperatures are by definition 2-dimensional fields ('surface field')>Select Surface'levtype':'sfc'
    5Dates>Select dates'date':'

    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:

  • type : fc
  • date :
    2015-01-01/to/2015-01-31
  • time : 06:00/18:00
  • step : 1/2/3/4/5/6/7/8/9/10/11/12
  • 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:

  • type : fc
  • date : 2014-12-31
  • time : 18:00
  • step :
    '
    6

    ERA5 forecasts are initialized at 06:00 and 18:00, and in HRES the interval between forecast steps is one hour.

    Hence you need forecast steps 1 to 12, from each forecast, in order to cover a 24 hour period.

    >

    Select time 06:00 and 18:00

    Select steps 1 to 12

    'time':'06:00/18:00'

    'step':'1/2/3/4/5/6/7/8/9/10/11/12

    '

    7

    Specify parameters


    >Select parameters 
    • '2 metre temperature'
    • 'Maximum temperature at 2 metres since previous post-processing'
    • 'Minimum temperature at 2 metres since previous post-processing'

    'param':'2t/mx2t/mn2t' (short names)

    or

    'param':'167.128/201.128/202.128' (MARS parameter IDs)

    8
    >

    Click 'View the MARS request'


    The resulting WebAPI Python script to download data:

    py

    These specifications give you hourly data from 2015-01-01, 06:00 to 2015-02-01, 06:00. 

    Discard the last 6 hours (2015-02-01, 00:01 to 06:00). 

    The data does not cover the period 00:00 to 06:00 of the first date.  Retrieve these 6 hours from the last forecast of the previous day ('date':'2014-12-31', 'time':'18:00', 'step':'7/8/9/10/11/12')

    To find the average 2 metre temperature per day, average the hourly 2t values per date.

    To find the daily max/min, find the the max/min of the hourly mx2t/mn2t per date.


    See also

    The family of ERA5 datasets

    ERA5: data documentation

    How to download ERA5 data via the ECMWF Web API

    Info
    iconfalse

    This document has been produced in the context of the Copernicus Climate Change Service (C3S).

    The activities leading to these results have been contracted by the European Centre for Medium-Range Weather Forecasts, operator of C3S on behalf of the European Union (Delegation Agreement signed on 11/11/2014 and Contribution Agreement signed on 22/07/2021). All information in this document is provided "as is" and no guarantee or warranty is given that the information is fit for any particular purpose.

    The users thereof use the information at their sole risk and liability. For the avoidance of all doubt , the European Commission and the European Centre for Medium - Range Weather Forecasts have no liability in respect of this document, which is merely representing the author's view.

    Sample Python script for the ECMWF WebAPI:

    Code Block
    languagepy
    #!/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, starting at 06:00 and 12:00
        "step": "1/2/3/4/5/6/7/8/9/10/11/12",   # For each forecast 18 one-hour 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
    })

    The above script retrieves Min and Max 2m temperature since previous post-processing, 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.

    See also

    What is ERA5

    ERA5 data documentation

    How to download ERA5 data via the ECMWF Web API

    Content by Label
    showLabelsfalse
    max5
    spacesCKB
    showSpacefalse
    sorttitle
    typepage
    cqllabel in ("c3s","era-interim") and type = "page" and space = "CKB"
    labelscams c3s data download