Versions Compared

Key

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

Page info
infoTypeModified date
prefixLast modified on
typeFlat

Show If
spacePermission@self:edit

Major modification in progress for this article - please DO NOT UPDATE THIS PAGE or your edits will get overwritten when the new modified article will be published. Please edit the working copy of this page in the C3S Modified CKB articles or CAMS Modified CKB articles section.


Note
titleERA-Interim production stopped on 31st August 2019

For

the time being and until further notice,

ERA-Interim (1st January 1979 to 31st August 2019)

shall continue to be accessible

access through the ECMWF Web API

.

 will cease from 01 June 2023

Its successor ERA5 is now available from the Climate Data Store (CDS) (What are the changes from ERA-Interim to ERA5?) and users are strongly advised to migrate to ERA5 (How to download ERA5).

For those users who still need access to ERA-Interim after 01 June 2023 (subject to further notice), they can do so via the Climate Data Store (CDS) API.


Info
iconfalse
Info
iconfalse
titleTable of Contents

Table of Contents
maxLevel2

...

The data are archived in the ECMWF data archive MARS and datasets are available until 31 May 2023 through both the Web interface and the ECMWF WebAPI,   which is the programmatic way of retrieving data from the archive.

Until further notice, ERA-Interim is also available via the API of the C3S Climate Data Store.

Documentation is available on How to download ERA-Interim data from the ECMWF data archive (Member State users can access the data directly from MARS, in the usual manner).

...

Expand
titleDecoding 2D wave spectra

Download from ERA-Interim

Wave data can be downloaded using the same mechanisms as atmospheric data. Please see How to download data via the ECMWF WebAPIERA-Interim

For wave spectra you need to specify the additional parameters 'direction' and 'frequency'.

Expand
titleClick here to see a sample script to download 2D wave spectra from ERA-Interim using the ECMWF WebAPI
Code Block
languagepy
#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer
server = ECMWFDataServer()
server.retrieve({
    "class": "ei",
    "dataset": "interim",
    "expver": "1",
    "stream": "wave",
    "type": "an",
    "date": "2016-01-01/to/2016-01-31",
    "time": "00:00:00/06:00:00/12:00:00/18:00:00",
    "param": "251.140",
    "direction": "1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24",
    "frequency": "1/2/3/4/5/6/7/8/9/10/11/12/13/14/15/16/17/18/19/20/21/22/23/24/25/26/27/28/29/30",
    "target": "2d_spectra_201601",
})

If you want to download the data in NetCDF format, please add the 'format' and 'grid' parameters:

Code Block
languagepy
#!/usr/bin/env python from ecmwfapi import ECMWFDataServer server = ECMWFDataServer() server.retrieve({ ...... "grid": "0.75/0.75", # Spatial resolution in degrees latitude/longitude "format": "netcdf"  "target": "2d_spectra_201601.nc" })

If you want to download the data in NetCDF format, please add the 'format' and 'grid' parameters.

Decoding 2D wave spectra in GRIB

To decode wave spectra in GRIB format we recommend ecCodes. Wave spectra are encoded in a specific way that other tools might not decode correctly.

In GRIB, the parameter is called 2d wave spectra (single) because in GRIB, the data are stored as a single global field per each spectral bin (a given frequency and direction), but in NetCDF, the fields are nicely recombined to produce a 2d matrix representing the discretized spectra at each grid point.

The wave spectra are encoded in GRIB using a local table specific to ECMWF. Because of this, the conversion of the meta data containing the information about the frequencies and the directions are not properly converted from GRIB to NetCDF format. So rather than having the actual values of the frequencies and directions, values show index numbers (1,1) : first frequency, first direction, (1,2) first frequency, second direction, etc ....

For ERA, because there are a total of 24 directions, the direction increment is 15 degrees with the first direction given by half the increment, namely 7.5 degree, where direction 0. means going towards the north and 90 towards the east (Oceanographic convention), or more precisely, this should be expressed in gradient since the spectra are in m^2 /(Hz radian)
The first frequency is 0.03453 Hz and the following ones are : f(n) = f(n-1)*1.1, n=2,30

Also note that it is NOT the spectral density that is encoded but rather log10 of it, so to recover the spectral density, expressed in m^2 /(radian Hz), one has to take the power 10 (10^) of the NON missing decoded values. Missing data are for all land points, but also, as part of the GRIB compression, all small values below a certain threshold have been discarded and so those missing spectral values are essentially 0. m^2 /(gradient Hz).

Decoding 2D wave spectra in NetCDF

The NetCDF wave spectra file will have the dimensions longitude, latitude, direction, frequency and time.

However, the direction and frequency bins are simply given as 1 to 24 and 1 to 30, respectively.

The direction bins start at 7.5 degree and increase by 15 degrees until 352.5, with 90 degree being towards the east (Oceanographic convention).

The frequency bins are non-linearly spaced. The first bin is 0.03453 Hz and the following bins are: f(n) = f(n-1)*1.1; n=2,30. The data provided is the log10 of spectra density. To obtain the spectral density one has to take to the power 10 (10 ** data). This will give the units 2D wave spectra as m**2 s radian**-1 . Very small values are discarded and set as missing values. These are essentially 0 m**2 s radian**-1.

This recoding can be done with the Python xarray package, for example:

Code Block
languagepy
import xarray as xr
import numpy as np
da = xr.open_dataarray('2d_spectra_201601.nc')
da = da.assign_coords(direction=np.arange(7.5, 352.5 + 15, 15))
da = da.assign_coords(frequency=np.full(30, 0.03453) * (1.1 ** np.arange(0, 30)))
da = 10 ** da
da = da.fillna(0)
da.to_netcdf(path='2d_spectra_201601_recoded.nc')

Units of 2D wave spectra

Once decoded, the units of 2D wave spectra are m2 s radian-1

...

Model level fields are in GRIB2 format. All other fields are in GRIB1, unless otherwise indicated.?

Level listings

Pressure levels: 1000/975/950/925/900/875/850/825/800/775/750/700/650/600/550/500/450/400/350/300/250/225/200/175/150/125/100/70/50/30/20/10/7/5/3/2/1

...

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 [1] (sp) from which you can calculate specific and relative humidity at 2m:

...

The relative humidity can be calculated 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.[1] Access to surface pressure varies by dataset. For example, for ERA-Interim surface pressure is available from the Web Interface and from the WebAPI, while for ERA-40 surface pressure is not available from the Web Interface, but only via the WebAPIpractice is to define near-surface relative humidity with respect to saturation over water.

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. The method for calculating snow cover depends on the particular version of the IFS and for ERA-Interim is computed directly using snow water equivalent (ie parameter SD (141.128)) as:

...

In order to calculate the geopotential height of the land and sea surface (the so called surface geopotential height, or orography):

  • First, download the surface geopotential (i.e. the geopotential of the land and sea surface), http://apps.ecmwf.int/datasets/data/interim-full-invariant/?param=129.128: surface geopotential is available on model levels (at level=1), where it is archived in spectral form.
  • Then divide the surface geopotential by g=9.80665 to obtain the surface geopotential height in metres.

In order to define the surface geopotential in ERA-Interim, the ECMWF model uses surface elevation data interpolated from GTOPO30, with some fixes for Antarctica and Greenland. See Chapter 10 Climatological data, of Part IV. Physical processes, of the ERA-Interim model documentation at  https://www.ecmwf.int/search/elibrary/part?solrsort=sort_label%20asc&title=part&secondary_title=31r1.

Notes

...

...