Page info | ||||||
---|---|---|---|---|---|---|
|
Show If | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
For the time being and until further notice,ERA-Interim (1st January 1979 to 31st August 2019) shall continue to be accessibleaccess 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 | ||||
---|---|---|---|---|
| ||||
Info | ||||
| ||||
|
...
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 | ||
---|---|---|
| ||
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 | | |
|
Code Block | ||
---|---|---|
| ||
#!/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:
language | py |
---|
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 | ||
---|---|---|
| ||
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.
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
...
- Over oceans the surface geopotential field shows 'spectral ripples' (Know issue KI6, see ERA-Interim known issues page for details), which are a reflection of the fact that the ERA-Interim model is a spectral model and the grid point surface geopotential has been spectrally fitted.
- The model levels are hybrid pressure/sigma, eg for ERA-Interim. See Chapter 2 Basic equations and discretization of Part III. Dynamics and numerical procedures, of the ERA-Interim model documentation at https://www.ecmwf.int/search/elibrary/part?solrsort=sort_label%20asc&title=part&secondary_title=31r1.
- The definition of the 60 model levels, for ERA-Interim, and the corresponding half-level, ph, and full-level, pf, values of pressure (for a standard atmosphere with a surface pressure of 1013.250 hPa), geopotential and geopotential heights can be found at http://www.ecmwf.int/en/forecasts/documentation-and-support/60-model-levels
...