ERA5 monthly data on single levels - atmosphere

This dataset is a curated subset of land surface and atmospheric quantities derived from ECMWF’s ERA5 monthly means data on single levels.

Built upon its Climate Data Store (CDS) version, this dataset is distributed as a Zarr archive. It is designed to offer a fast, highly accessible alternative for querying ERA5 global reanalysis data.

📊 Chunking Specifications

To optimize data access performance for regional and time-series analyses, the dataset employs a spatio-temporal chunking scheme of 45 days × 64° latitude × 64° longitude. This corresponds to an array chunk shape of 120 (valid_time) × 256 (latitude) × 256 (longitude).

⚠️ Changelog

This dataset was recently migrated to Zarr v3. To access this dataset, you will need a Zarr v3-compatible library (e.g., zarr-python >= 3.x). Python users can upgrade their environment using: pip install "zarr>3".

The previous version of the dataset is still available here.

💻 Usage

You can use this dataset to derive up-to-date monthly anomalies of Essential Climate Variables

Example Code


# Choose one of the methods below to open the dataset
# Aassign it to a variable named `era5_monthly`

# Extract the 2 metre temperaute
t2m = era5_monthly.t2m

# Compute the monthly climatology (1991-2020) in one chained step
t2m_1991_2020_clima = (
    t2m.sel(valid_time=slice("1991", "2020"))
    .groupby("valid_time.month")
    .mean()
)

# Compute the anomalies
t2m_anomaly = (t2m.groupby("valid_time.month") - t2m_1991_2020_clima)

# Optional: load the data into memory
t2m_anomaly.load()

How to download the data

The default (and preferred) way to access the data requires accessing the api.earthdatahub.destine.eu domain and a valid API key.

Method 1: quick access

It is possible to include the token directly in the URL.

1import xarray as xr
2
3xr.open_dataset(
4    "https://edh:<your personal access token>@api.earthdatahub.destine.eu/era5/era5-single-levels-atmosphere-monthly-v0.zarr",
5    chunks={},
6    engine="zarr",
7)

Method 2: advanced access

The Python snippet gather the token from a netrc file.

It's required to before running the code snippet below.
1import xarray as xr
2
3xr.open_dataset(
4    "https://api.earthdatahub.destine.eu/era5/era5-single-levels-atmosphere-monthly-v0.zarr",
5    storage_options={"client_kwargs":{"trust_env":True}},
6    chunks={},
7    engine="zarr",
8)

Variables

Short NameUnitsDescription
d2m
K

2 metre dewpoint temperature

msl
Pa

Mean sea level pressure

sp
Pa

Surface pressure

sst
K

Sea surface temperature

t2m
K

2 metre temperature

tp
m

Total precipitation

u10
m s-1

10 metre U wind component

v10
m s-1

10 metre V wind component

DestinE platform