Versions Compared

Key

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

...

The full ERA5 and ERA5T datasets are held in the ECMWF data archive (MARS) and a pertinent sub-set of these data, interpolated to a regular latitude/longitude grid, has been copied to the C3S Climate Data Store (CDS) disks. ERA5.1 is not available from the CDS disks, but is available from MARS (for advice on using ERA5.1 in conjunction with ERA5, CDS data, see "ERA5: mixing CDS and MARS data" in 82870405Guidelines). On the CDS disks, where most single level and pressure level parameters are available, analyses are provided rather than forecasts, unless the parameter is only available from the forecasts.

...

Information on all ECMWF parameters (e.g. columns shortName and paramId) is available from the ECMWF parameter database

Info
iconfalse

Anchor
Table1
Table1

Table 1: surface and single level parameters: invariants (in time)

...

The observations (satellite and in-situ) used as input to ERA5 are listed below. For more information on the observational input to ERA5, including dates when particular sensors or observation types were used, please see Section 5 in the ERA5 journal article, The ERA5 global reanalysis.

Info
iconfalse

Anchor
Table14
Table14
Table 14: Satellite Data

...

  1. In general, we recommend that the hourly (analysed) "2 metre temperature" be used to construct the minimum and maximum over longer periods, such as a day, rather than using the forecast parameters "Maximum temperature at 2 metres since previous post-processing" and "Minimum temperature at 2 metres since previous post-processing".
  2. ERA5: compute pressure and geopotential on model levels, geopotential height and geometric height
  3. ERA5: How to calculate wind speed and wind direction from u and v components of the wind?
  4. Sea surface temperature and sea-ice cover (sea ice area fraction), see Table 2 above, are available at the usual times, eg hourly for the HRES, but their content is only updated once daily.
  5. Mean rates/fluxes and accumulations at step=0 have values of zero because the length of the processing period is zero.

  6. Expand
    titleERA5: mixing CDS and MARS data

    In the ECMWF data archive (MARS), ERA5 data is archived on various native grids. For the CDS disks, ERA5 data have been interpolated and are stored on regular latitude/longitude grids. For more information, see 82870405 Spatialgrid.

    Storing the data on these different grids can cause incompatibilities, particularly when comparing native spherical harmonic, pressure level, MARS data with CDS disk data on a third, coarse grid.

    Native spherical harmonic, pressure level parameters are comprised of: Geopotential, Temperature, U component of wind, V component of wind, Vertical velocity, Vorticity, Divergence and Relative humidity. When these parameters are retrieved from MARS and a coarse output grid is specified, the default behaviour is that the spherical harmonics are truncated to prevent aliasing on the output grid. The coarser the output grid, the more severe the truncation. This truncation removes the higher wavenumbers, making the data smoother. However, the CDS disk data has been simply interpolated to the third grid, without smoothing.

    This incompatibility is particularly relevant when comparing ERA5.1 data (which are only available from MARS - see 82870405 DataorganisationandhowtodownloadERA5 - and only for 2000-2006) with ERA5 data on the CDS disks.

    The simplest means of minimising such incompatibilities is to retrieve the MARS data on the same grid as that used to store the ERA5 CDS disk data.



  7. Expand
    titleERA5: Land-sea mask for wave variables

    The land-sea mask in ERA5 is an invariant field.

    This parameter is the proportion of land, as opposed to ocean or inland waters (lakes, reservoirs, rivers and coastal waters), in a grid box.

    This parameter has values ranging between zero and one and is dimensionless.

    In cycles of the ECMWF Integrated Forecasting System (IFS) from CY41R1 (introduced in May 2015) onwards, grid boxes where this parameter has a value above 0.5 can be comprised of a mixture of land and inland water but not ocean. Grid boxes with a value of 0.5 and below can only be comprised of a water surface. In the latter case, the lake cover is used to determine how much of the water surface is ocean or inland water. 

    The ERA5 land-sea mask provided is not suitable for direct use with wave parameters, as the time variability of the sea-ice cover needs to be taken into account and wave parameters are undefined for non-sea points.

    In order to produce a land-sea mask for use with wave parameters, users need to download the following ERA5 data (for the required period):

    1. the model bathymetry (Model bathymetry. Fig 1)
    2. the sea-ice cover (Sea ice area fraction, Fig 2)

    and combine these data to produce the land-sea mask (Fig 3). See attached pictures:

    Model bathymetry fieldSea ice cover fieldCombined mask

    Fig 1: Model bathymetry                                                 Fig 2: Sea-ice cover                                                          Fig 3: Combined mask


    Note

    Please note that sea-ice cover is only updated once daily.

    Please see the Toolbox workflow below to see a possible way to proceed. The results is a carousel of land-sea mask for each time step requested:

    Code Block
    titleToolbox workflow
    collapsetrue
    import cdstoolbox as ct
    
    @ct.application(title='Download data')
    @ct.output.download()
    @ct.output.carousel()
    
    def download_application():
        count = 0
        years=['1980']
        months = [
                '01', #'02', '03',
            #    '04', '05', '06',
            #    '07', '08', '09',
            #    '10', '11', '12'
        ]
    # For hourly data hourly=True
    # For monthly data monthly=True
        hourly = True
        monthly = False
        for yr in years:
            for mn in months:
                if hourly == True:
                    mb,si = get_hourly_data(yr, mn)
                elif monthly == True:
                    mb,si = get_monthly_data(yr, mn)                
                print(mb)
    # Check values are >= 0.0 in the model bathymetry mask
                compare_ge_mb = ct.operator.ge(mb, 0.0)
                print(si)
    # Check values are > 0.5 in the sea ice mask
                compare_ge_si = ct.operator.gt(si, 0.500)
    
    # Invert model bathymetry mask
                new =  ct.operator.add(compare_ge_mb, -1.0)
                new1 =  ct.operator.mul(new, -1.0)
    # Add the Bathymetry Mask to the Sea Ice Mask
                new_all = ct.operator.add(compare_ge_si,new1)
    # Reset scale to land=1, ocean=0
                new_all_final = ct.operator.ge(new_all, 1.0)
                print(new_all_final)
    
                if count == 0:
                   combined_mask = new_all_final
                else:
                   combined_mask = ct.cube.concat([combined_mask, new_all_final], dim = 'time')
                count =  count + 1
    
        renamed_data = ct.cdm.rename(combined_mask, "wavemask")  
        new_data = ct.cdm.update_attributes(renamed_data, attrs={'long_name': 'Wave Land Sea Mask'})
        combined_mask = new_data
        print("combined_mask")  
        print(combined_mask)    
    
    # Plot mask for first timestep
    
        fig_list = ct.cdsplot.geoseries(combined_mask)
        return combined_mask, fig_list
    
    def get_monthly_data(y,m):
        m,s = ct.catalogue.retrieve(
            'reanalysis-era5-single-levels-monthly-means',
            {
                'product_type': 'monthly_averaged_reanalysis',
                'variable': [
                    'model_bathymetry', 'sea_ice_cover',
                ],
                'year': y,
                'month': m,
                'time': '00:00',
            }
        )
        return m, s
        
    def get_hourly_data(y,m):
        m,s = ct.catalogue.retrieve(
            'reanalysis-era5-single-levels',
            {
                'product_type': 'reanalysis',
                'variable': [
                    'model_bathymetry', 'sea_ice_cover',
                ],
                'year': y,
                'month': m,
                'day': [
                '01', '02', '03',
                '04', '05', '06',
                '07', '08', '09',
                '10', '11', '12',
                '13', '14', '15',
                '16', '17', '18',
                '19', '20', '21',
                '22', '23', '24',
                '25', '26', '27',
                '28', '29', '30',
                '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',
                ],
    
                }
                )
        return m, s
    
    




  8. Expand
    titleAltimeter wave parameters

    The following wave parameters are sparse observations, or quantities derived from the observations, that have been interpolated to the wave model grid and contain many missing values:

    • altimeter_wave_height (140246)
    • altimeter_corrected_wave_height (140247)
    • altimeter_range_relative_correction (140248)

    These parameters are not available from the CDS disks but can be retrieved from MARS using the CDS API. For further guidelines, please see: Altimeter wave height in the Climate Data Store (CDS)



  9. Expand
    titleComputation of near-surface humidity

    Near-surface humidity is not archived directly in ERA datasets, but the archive contains near-surface (2m from the surface) temperature (T), dew point temperature (Td), and surface pressure (sp) from which you can calculate specific and relative humidity at 2m.

    • Specific humidity can be calculated over water and ice using equations 7.4 and 7.5 from Part IV, Physical processes section (Chapter 7, section 7.2.1b) in the documentation of the IFS for CY41R2. Use the 2m dew point temperature and surface pressure (which is approximately equal to the pressure at 2m) in these equations. The constants in 7.4 are to be found in Chapter 12 (of Part IV: Physical processes) and the parameters in 7.5 should be set for saturation over water because the dew point temperature is being used.
    • Relative humidity should be calculated: RH = 100 * es(Td)/es(T)

     Relative humidity can be calculate with respect to saturation over water, ice or mixed phase by defining es(T) with respect to saturation over water, ice or mixed phase (water and ice). The usual practice is to define near-surface relative humidity with respect to saturation over water.



  10. Expand
    titleComputation of snow cover

    In the ECMWF model (IFS), snow is represented by an additional layer on top of the uppermost soil level. The whole grid box may not be covered in snow. The snow cover gives the fraction of the grid box that is covered in snow.

    For ERA5, the snow cover (SC) is computed using snow water equivalent (ie parameter SD (141.128)) as follows:

    Panel
    titleERA5 Snow cover formula

    snow_cover (SC) = min(1, (RW*SD/RSN) / 0.1 )

    where RW is density of water equal to 1000 and RSN is density of snow (parameter 33.128).


    ERA5 physical depth of snow where there is snow cover is equal to RW*SD/(RSN*SC).



  11. Expand
    titleParameter "Forecast albedo" is only for diffuse radiation

    The parameter "Forecast albedo" is only for diffuse radiation and assuming a fixed spectrum of downward short-wave radiation at the surface. The true broadband, all-sky, surface albedo can be calculated from accumulated parameters:

    (SSRD-SSR)/SSRD

    where SSRD is parameter 169.128 and SSR is 176.128. This true surface albedo cannot be calculated at night when SSRD is zero. For more information, see Radiation quantities in the ECMWF model and MARS.



  12. Expand
    titleActual and potential evapotranspiration

    Actual evapotranspiration in the ERA5 single levels datasets is called "Evaporation" (param ID 182) and is the sum of the following four evaporation components (which are not available separately in ERA5 but only for ERA5-Land):

    1. Evaporation from bare soil
    2. Evaporation from open water surfaces excluding oceans
    3. Evaporation from the top of canopy
    4. Evaporation from vegetation transpiration

    For the ERA5 single levels datasets, actual evapotranspiration can be downloaded from the C3S Climate Data Store (CDS) under the category heading "Evaporation and Runoff", in the "Download data" tab.

    For details about the computation of actual evapotranspiration, please see Chapter 8 of Part IV : Physical processes, of the IFS documentation:

    ERA5 IFS cycle 41r2

    The potential evapotranspiration in the ERA5 single levels CDS dataset is given by the parameter potential evaporation (pev)

    Pev data can be downloaded from the CDS under the category heading "Evaporation and Runoff", in the "Download data" tab for the ERA5 single levels datasets.

    Note

    The definitions of potential and reference evapotranspiration may vary according to the scientific application and can have the same definition in some cases. Users should therefore ensure that the definition of this parameter is suitable for their application.



...

Currently, we are aware of these issues with ERA5:

  1. ERA5 uncertainty: although small values of ensemble spread correctly mark more confident estimates than large values, numerical values are over confident. The spread does give an indication of the relative, random uncertainty in space and time.
  2. ERA5 suffers from an overly strong equatorial mesospheric jet, particularly in the transition seasons.
  3. From 2000 to 2006, ERA5 has a poor fit to radiosonde temperatures in the stratosphere, with a cold bias in the lower stratosphere. In addition, a warm bias higher up persists for much of the period from 1979. The lower stratospheric cold bias was rectified in a re-run for the years 2000 to 2006, called ERA5.1, see "Resolved issues" below.
  4. Discontinuities in ERA5: ERA5 is produced by several parallel experiments, each for a different period, which are then appended together to create the final product. This can create discontinuities at the transition points.
  5. The analysed "2 metre temperature" can be larger than the forecast "Maximum temperature at 2 metres since previous post-processing".
  6. The analysed 10 metre wind speed (derived from the 10 metre wind components) can be larger than the forecast "10 metre wind gust since previous post-processing".
  7. ERA5 diurnal cycle for near surface winds: the hourly data reveals a mismatch in the analysed near surface wind speed between the end of one assimilation cycle and the beginning of the next (which occurs at 9:00 - 10:00 and 21:00 - 22:00 UTC). This problem mostly occurs in low latitude oceanic regions, though it can also be seen over Europe and the USA. We cannot rectify this problem in the analyses. The forecast near surface winds show much better agreement between the assimilation cycles, at least on average, so if this mismatch is problematic for a particular application, our advice would be to use the forecast winds. The forecast near surface winds are available from MARS, see the section, Data organisation and how to download ERA5.
  8. ERA5 diurnal cycle for near surface temperature and humidity: some locations do suffer from a mismatch in the analysed values between the end of one assimilation cycle and the beginning of the next, in a similar fashion to that for the near surface winds (see above), but this problem is thought not to be so widespread as that for the near surface winds. The forecast values for near surface temperature and humidity are usually smoother than the analyses, but the forecast low level temperatures suffer from a cold bias over most parts of the globe. The forecast near surface temperature and humidity are available from MARS, see the section Data organisation and how to download ERA5.
  9. ERA5: large 10m winds: up to a few times per year, the analysed low level winds, eg 10m winds, become very large in a particular location, which varies amongst a few apparently preferred locations. The largest values seen so far are about 300 ms-1.
  10. ERA5 rain bombs: up to a few times per year, the rainfall (precipitation) can become extremely large in small areas. This problem occurs mostly over Africa, in regions of high orography.
  11. Large values of CAPE: occasionally, the Convective available potential energy in ERA5 is unrealistically large.
  12. Ship tracks in the SST: prior to September 2007, in the period when HadISST2 was used, ship tracks can be visible in the SST.
  13. Prior to 2014, the SST was not used over the Great Lakes to nudge the lake model. Consequently, the 2 metre temperature has an annual cycle that is too strong, with temperatures being too cold in winter and too warm in summer.
  14. The Potential Evaporation field (pev, parameter Id 228251) is largely underestimated over deserts and high-forested areas. This is due to a bug in the code that does not allow transpiration to occur in the situation where there is no low vegetation.
  15. Wave parameters (Table 7 above) for the three swell partitions: these parameters have been calculated incorrectly. The problem is most evident in the swell partition parameters involving the mean wave period: Mean wave period of first swell partition, Mean wave period of second swell partition and Mean wave period of third swell partition, where the periods are far too long.
  16. Surface photosynthetically available radiation (PAR) is too low in the version (CY41R2) of the ECMWF Integrated Forecasting System (IFS) used to produce ERA5, so PAR and clear sky PAR have not been published in ERA5. There is a bug in the calculation of PAR, with it being taken from the wrong parts of the spectrum. The shortwave bands include 0.442-0.625 micron, 0.625-0.778 micron and 0.778-1.24 micron. PAR should be coded to be the sum of the radiation in the first of these bands and 0.42 of the second (to account for the fact that PAR is normally defined to stop at 0.7 microns). However, in CY41R2, PAR is in fact calculated from the sum of the second band plus 0.42 of the third. We will try to fix this in a future cycle.

  17. Expand
    titleThe instantaneous turbulent surface stress components (eastward and northward) and friction velocity tend to be too small

    The ERA5 analysed and forecast step=0, instantaneous surface stress components and surface roughness and the forecast step=0, friction velocity (friction velocity is not available from the analyses in ERA5) tend to suffer from values that are too low over the oceans.

    The analysis for such parameters is obtained by running the surface module to connect the surface with the model level analysed variables.

    However, at that stage, the surface aero-dynamical roughness length scale (z0) over

...

  1. the oceans

...

  1.  is not initialised from its actual value but a constant value of 0.0001 is used instead.

    This initial value of z0 is needed to determine the initial value of u* and the surface stress based on solving for a simple logarithmic wind profile between the surface and the lowest model level. This initial u* is in turn used to determine an updated value of z0 based on the input Charnock parameter and then the value of the exchange coefficients needed to determine the output 10m winds (normal and neutral) and u* (see (3.91) to (3.94) with (3.26) in the IFS documentation). The surface stress is output as initialised.

    This initial value for z0 is generally too low ( by one order of magnitude or more):

    Over the oceans, for winds above few m/s, z0 is modelled using the Charnock relation:

    z0 ~ (alpha/g) u*2

    where alpha is the Charnock parameter, g is gravity, and u* is the friction velocity

    with typical values of

    alpha ~ 0.018

    g=9.81

    u*2 = Cd U102

    where Cd is the drag coefficient

    Cd ~ 0.008 + 0.0008 U10

    for U10=10m/s =>  z0 ~ 0.003


    As a consequence, the analysed instantaneous surface stress components will tend to be too low and even the updated value of z0 (surface roughness) will also tend to be too low.

    For forecast, instantaneous surface stress components, surface roughness and friction velocity, the same problem affects step 0. However, this problem will not affect the accumulated surface stress parameters (recall the accumulated parameters are produced by running short range forecasts), because the accumulation starts from the first time step (i.e. at time step 0 all accumulated variables are initialised to 0).

    This problem can easily be fixed, by using the initial value of Charnock that is available at the initial time.

    Note, in ERA5 the parameter for surface roughness is called "forecast surface roughness", even when it's analysed.



  2. Expand
    titleERA5 forecast parameters are missing on 1st January 1979 from 00 UTC to 06 UTC

    ERA5 forecast parameters are missing for the validity times of 1st January 1979 from 00 UTC to 06 UTC. This problem has occurred because the forecast producing these data started from 18 UTC on the last day of 1978. This gap can be filled by using forecast data from the ERA5 back extension (preliminary version), with date=19781231, time=18 and step=6/to/12:

    Code Block
    languagepy
    titleRequest for total precipitation forecast hourly data for 1st January 00UTC-06UTC
    #!/usr/bin/env python3
    import cdsapi
    c = cdsapi.Client()
    c.retrieve('reanalysis-era5-complete-preliminary-back-extension', {
        'date': '1978-12-31',
        'levtype': 'sfc',
        'param': '228.128',
        'time':'18:00:00',
        'step':'6/7/8/9/10/11/12',                 
        'stream': 'oper',                     
        'type': 'fc',
        'grid': '0.25/0.25',
        'format': 'netcdf',
    }, 'era5.preliminary-back-extension-temperature-tp.nc')

    Eventually, the data gap will be filled by the re-run of the ERA5 back extension.


  3. Maximum temperature at 2 metres since previous post-processing: in a small region over Peru, at 19 UTC, 2 August 2013, this forecast parameter exhibited erroneous values, which were greater than 50C. This occurrence is under investigation. Note, in general, we recommend that the hourly (analysed) "2 metre temperature" be used to construct the minimum and maximum over longer periods, such as a day.


  4. Expand
    titleFour reasons why hourly data might not be consistent with their monthly mean

    The ERA5 monthly means are calculated from the hourly (3 hourly for the EDA) data, on the native grid (including spherical harmonics) from the GRIB data, in each production "stream" or experiment. This can give rise to inconsistencies between the sub-daily data and their monthly mean, particularly in the CDS. In general, the inconsistencies will be small.

    • In the CDS, the ERA5 data (sub-daily and monthly mean) has been interpolated to a regular latitude/longitude grid. This interpolated sub-daily data will be slightly different to the native sub-daily data used in the production of the ERA5 monthly means.
    • The netCDF data available in the CDS has been packed, see What are NetCDF files and how can I read them, which states "unpacked_data_value = (packed_data_value * scale_factor) + add_offset" and "packed_data_value = nint((unpacked_data_value - add_offset) / scale_factor)". This netCDF packing will change the sub-daily values slightly, compared with the native sub-daily data used in the production of the ERA5 monthly means.
    • The GRIB data in the ERA5 monthly means (and sub-daily data) has been packed using a binning algorithm (which is different to the netCDF packing algorithm). Monthly means produced in other formats, such as netCDF, will differ from the ERA5 monthly means because of this packing.
    • Finally, there is a further reason why monthly mean values might be different to the mean of the sub-daily values, which even occurs in MARS. This cause only affects forecast parameters (the CDS provides analysed parameters unless the parameter is only available from the forecasts), such as the Total precipitation, and only occurs sporadically. In order to speed up production, ERA5 is produced in several parallel "streams" or experiments, which are then spliced together to produce the final product. Consider, the "stream" change at the beginning of 2015. The ERA5 forecast monthly means for January 2015 have been produced from the sub-daily data from that "stream", the first few hours of which (up until 06 UTC on 1st January 2015) come from the 18 UTC forecast on 31 December 2014. However, the sub-daily forecast data published in ERA5, is based on the date of the start of the forecast, so these first few hours of 2015 originate from the "stream" that produced December 2014. These two "streams" are different experiments, with different data values. The resulting inconsistencies might be larger than for the other three causes, above, depending on how consistent the two streams are.



  5. ERA5 CDS: wind values are far too low on pressure levels at the poles in the CDS
  6. ERA5 back extension 1950-1978 (Preliminary version): tropical cyclones are too intense
  7. ERA5 back extension 1950-1978 (Preliminary version): large bias in surface analysis over Australia prior to 1970
  8. ERA5 back extension 1950-1978 (Preliminary version): the deep soil moisture tends to be too dry

Resolved issues

ERA5 CDS: incorrect values of U/V on pressure levels in the CDS

...