Catalog > ECMWF IFS ENS > ECMWF IFS ENS forecast, 46 day, daily, 1.5 degree
updating

ECMWF IFS ENS forecast, 46 day, daily, 1.5 degree

time-optimized
Spatial domain Global
Spatial resolution 1.5 degrees (~165km)
Time domain Forecasts initialized 2026-01-01 00:00:00 UTC to Present
Time resolution Forecasts initialized every 24 hours
Forecast domain Forecast lead time 0-1104 hours (0-46 days) ahead
Forecast resolution Forecast step 24 hourly

STAC (browse) · validation report

The Integrated Forecasting System (IFS) is a global forecast model developed by ECMWF. ENS is an ensemble configuration of IFS, containing 51 ensemble members. IFS consists of a numerical model of the Earth system, which includes an atmospheric model at its heart, coupled with models of other Earth system components such as the ocean. The data assimilation system combines the latest weather observations with a recent forecast to obtain the best possible estimate of the current state of the Earth system.

This dataset is an archive of ECMWF IFS ENS sub-seasonal-range forecasts. Forecasts are identified by an initialization time (init_time) denoting the start time of the model run, as well as by the ensemble_member. Each forecast steps forward along the lead_time dimension from 0 to 1104 hours (0 to 46 days) at a 24 hourly step, and carries 101 ensemble members on a global 1.5 degree grid. This dataset contains the 00 UTC initialization times only.

Because the step is 24 hourly, most surface variables are daily means or rates rather than instantaneous values — hence the average_ prefixes. Surface and single-level variables are at the dataset root; the six variables carried on pressure levels are in the pressure_level group.

Note: ECMWF's licence holds sub-seasonal-range forecasts back for 48 hours, so this is not a real-time dataset — each initialization becomes available about two days after its init_time.

Related Datasets

Examples

Quickstart (Github)
Quickstart (Colab)
import dynamical_catalog  # dynamical-catalog>=0.8.0

ds = dynamical_catalog.open("ecmwf-ifs-ens-forecast-46-day-daily-1-5-degree", chunks=None)
ds["average_temperature_2m"].sel(init_time="2026-08-01T00", latitude=0, longitude=0).max()
ECMWF IFS ENS forecast, 46 day, daily, 1.5 degree · Maximum ensemble temperature
import dynamical_catalog  # dynamical-catalog>=0.8.0

ds_pressure = dynamical_catalog.open("ecmwf-ifs-ens-forecast-46-day-daily-1-5-degree", group="pressure_level", chunks=None)
ds_pressure["geopotential_height"].sel(init_time="2026-08-01T00", lead_time="10d", pressure_level=500).std("ensemble_member")
ECMWF IFS ENS forecast, 46 day, daily, 1.5 degree · Ensemble spread of the large scale flow

Dimensions

min max units
ensemble_member 0 100 1
init_time 2026-01-01T00:00:00Z Present seconds since 1970-01-01
latitude -90 90 degree_north
lead_time 0 3974400 seconds
longitude -180 178.5 degree_east
pressure_level 10 1000 hPa

Variables

Access a variable by its name (the bold identifier, e.g. ds["average_convective_available_potential_energy_atmosphere"]).

Dimensions: init_time × lead_time × ensemble_member × latitude × longitude

variable units
average_convective_available_potential_energy_atmosphere Convective available potential energy (cape)Mean convective available potential energy over the previous 24 hours. At each time ECMWF takes the largest CAPE among air parcels lifted from model levels below 350 hPa. J kg-1
average_dew_point_temperature_2m Mean 2 metre dewpoint temperature in the last 24 hours (mn2d24)Mean 2 metre dewpoint temperature over the previous 24 hours. degree_Celsius
average_temperature_2m Mean temperature at 2 metres in the last 24 hours (mean2t24)Mean temperature at 2 metres over the previous 24 hours. degree_Celsius
downward_latent_heat_flux_surface Time-mean surface latent heat flux (mslhfl)Average surface downward latent heat flux over the previous 24 hours. W m-2
downward_long_wave_radiation_flux_surface Surface downward long-wave radiation flux (sdlwrf)Average surface downward long-wave radiation flux over the previous 24 hours. W m-2
downward_sensible_heat_flux_surface Time-mean surface sensible heat flux (msshfl)Average surface downward sensible heat flux over the previous 24 hours. W m-2
downward_short_wave_radiation_flux_surface Surface downward short-wave radiation flux (sdswrf)Average surface downward short-wave radiation flux over the previous 24 hours. W m-2
eastward_turbulent_surface_stress Time-mean eastward turbulent surface stress (avg_iews)Average eastward turbulent surface stress over the previous 24 hours. Pa
maximum_temperature_2m Maximum temperature (tmax)Maximum temperature at 2 metres over the previous 24 hours. degree_Celsius
minimum_temperature_2m Minimum temperature (tmin)Minimum temperature at 2 metres over the previous 24 hours. degree_Celsius
net_long_wave_radiation_flux_surface Surface net long-wave radiation flux (snlwrf)Average surface net long-wave radiation flux over the previous 24 hours. W m-2
net_long_wave_radiation_flux_top_of_atmosphere Top net long-wave radiation flux (tnlwrf)Average top net long-wave radiation flux over the previous 24 hours. W m-2
net_short_wave_radiation_flux_surface Surface net short-wave radiation flux (snswrf)Average surface net short-wave radiation flux over the previous 24 hours. W m-2
northward_turbulent_surface_stress Time-mean northward turbulent surface stress (avg_inss)Average northward turbulent surface stress over the previous 24 hours. Pa
precipitation_convective_surface Convective precipitation rate (cpr)Average convective precipitation rate over the previous 24 hours. Units equivalent to mm/s. Can slightly exceed precipitation_surface, as can rates derived by differencing the ECMWF source accumulations. kg m-2 s-1
precipitation_surface Precipitation rate (prate)Average precipitation rate over the previous 24 hours. Units equivalent to mm/s. kg m-2 s-1
pressure_reduced_to_mean_sea_level Pressure reduced to MSL (prmsl) Pa
pressure_surface Surface pressure (sp) Pa
runoff_surface Surface runoff rate (surfror)Average surface runoff rate over the previous 24 hours. Units equivalent to mm/s. Land points only; sea points are missing. kg m-2 s-1
runoff_water_equivalent_surface Runoff rate water equivalent (surface plus subsurface) (rorwe)Average runoff water equivalent rate (surface plus subsurface) over the previous 24 hours. Units equivalent to mm/s. Land points only; sea points are missing. kg m-2 s-1
sea_ice_area_fraction Sea ice area fraction (ci)Mean sea ice area fraction over the previous 24 hours. Sea points only; land points are missing. 1
sea_surface_temperature Sea surface temperature (sst)Mean sea surface temperature over the previous 24 hours. Sea points only; land points are missing. degree_Celsius
skin_temperature_surface Skin temperature (skt)Mean skin temperature over the previous 24 hours. degree_Celsius
snow_albedo_surface Snow albedo (asn)Mean snow albedo over the previous 24 hours. Missing where the surface carries no snowpack, including snow-free land. percent
snow_density_surface Snow density (rsn)Mean snow density over the previous 24 hours. Missing where the surface carries no snowpack, including snow-free land. kg m-3
snow_water_equivalent_surface Snow depth water equivalent (sd)Mean snow depth water equivalent over the previous 24 hours. m
snowfall_water_equivalent_rate_surface Total snowfall rate water equivalent (tsrwe)Average snowfall water equivalent rate over the previous 24 hours. Units equivalent to mm/s. kg m-2 s-1
soil_moisture_0_100cm Soil moisture top 100 cm (sm100)Mean soil moisture 0-100 cm over the previous 24 hours. Land points only; sea points are missing. kg m-3
soil_moisture_0_20cm Soil moisture top 20 cm (sm20)Mean soil moisture 0-20 cm over the previous 24 hours. Land points only; sea points are missing. kg m-3
soil_temperature_0_100cm Soil temperature top 100 cm (st100)Mean soil temperature 0-100 cm over the previous 24 hours. Land points only; sea points are missing. degree_Celsius
soil_temperature_0_20cm Soil temperature top 20 cm (st20)Mean soil temperature 0-20 cm over the previous 24 hours. Land points only; sea points are missing. degree_Celsius
total_cloud_cover_atmosphere Total cloud cover (tcc)Mean total cloud cover over the previous 24 hours. percent
total_column_water_atmosphere Total column water (tcw)Mean total column water over the previous 24 hours. kg m-2
wind_u_10m 10 metre U wind component (10u) m s-1
wind_v_10m 10 metre V wind component (10v) m s-1
Pressure Level (6 variables)

These variables live in the pressure_level Zarr group (e.g. pass group="pressure_level" to dynamical_catalog.open() or xr.open_zarr()).

Dimensions: init_time × lead_time × ensemble_member × pressure_level × latitude × longitude

variable units
geopotential_height Geopotential height (gh) m
specific_humidity Specific humidity (q)The source provides no 10, 50 or 100 hPa levels for this variable; those levels are always NaN. 1
temperature Temperature (t) degree_Celsius
vertical_velocity Vertical velocity (w) Pa s-1
wind_u U component of wind (u) m s-1
wind_v V component of wind (v) m s-1

Don't see what you're looking for? Let us know at [email protected].

Details

License

Dataset licensed under CC BY 4.0 and ECMWF Terms of Use.

Attribution and citation

ECMWF IFS ENS sub-seasonal-range forecast data processed by dynamical.org from the ECMWF Data Store.

Or ECMWF IFS ENS from dynamical.org.

DOI

Source

This archive is built from the ECMWF sub-seasonal-range (S2S) forecast, retrieved from the ECMWF Data Store (ECDS) into the dynamical.org ECMWF IFS grib archive on Source Cooperative. ECDS serves retrieval jobs rather than addressable files, so the grib archive — not ECDS — is what this dataset is reformatted from.

ECMWF's licence holds sub-seasonal-range forecasts back for 48 hours, and ECDS publishes an initialization about 52 hours after its 00 UTC reference time. This is therefore not a real-time dataset: the most recent initialization available is about two days old.

ECMWF does not provide user support for the free & open datasets. Users should refer to the public User Forum for any questions related to the source material.

Data availability

The init_time axis begins at 2026-01-01 and every initialization holds data. Operational updates run daily and append each new initialization once ECDS publishes it, about two days after its 00 UTC reference time.

The source model changed between the 2026-05-12 and 2026-05-13 initializations (IFS Cycle 50r1). From 2026-05-13 the snow fields are populated over sea ice, where they were previously missing, and soil moisture is discontinuous with the initializations before it. See the validation report for details before comparing values across that date.

Variables

Because the forecast step is 24 hourly, most surface variables are daily means or daily mean rates rather than instantaneous values — that is what the average_ prefix denotes. Surface and single-level variables are at the dataset root. Temperature, specific humidity, both wind components, vertical velocity and geopotential height are carried on 10 pressure levels (1000, 925, 850, 700, 500, 300, 200, 100, 50 and 10 hPa) in the pressure_level group.

The 0 hour lead time carries little surface data. A 24 hour statistic needs a preceding day, so 31 of the 35 root variables are entirely NaN at lead_time=0; only pressure_reduced_to_mean_sea_level, pressure_surface, wind_u_10m and wind_v_10m, which are instantaneous, have values there. Every variable in the pressure_level group is instantaneous and is present at the 0 hour lead time. Selecting lead_time=slice("24h", None) is the safe default for surface fields.

Several variables are masked to the domain they describe, and read as NaN outside it: sea_surface_temperature and sea_ice_area_fraction over land; the soil moisture, soil temperature and runoff fields over ocean; and snow_albedo_surface and snow_density_surface wherever there is no snow. In the pressure_level group, specific_humidity is not provided above 200 hPa and is NaN on the 100, 50 and 10 hPa levels.

Not every root variable is a daily mean. maximum_temperature_2m and minimum_temperature_2m are the extremes over the 24 hours ending at each lead time. wind_u_10m and wind_v_10m are instantaneous values at the 00 UTC valid time of each lead, not daily means, so do not compare them against the averaged fields as if they were. precipitation_surface is the total precipitation rate; precipitation_convective_surface is its convective component.

Ensemble members

Each forecast contains 101 ensemble members: a control member (0) and 100 perturbed members (1-100). The control forecast is produced with the best available data and unperturbed models. The other 100 members are each produced with slight perturbations of initial conditions and of the models. Taken together, the ensemble of 101 forecasts shows the range of possible outcomes and the likelihood of their occurrence. A 101 member ensemble is larger than the 51 members of ECMWF's medium-range forecast, which matters at sub-seasonal lead times where the useful signal is in the distribution rather than in any single trace.

Model updates

IFS is updated regularly. Find details of recent and upcoming changes to the forecasting system on the ECMWF website.

Storage

Storage for this dataset is generously provided by Source Cooperative, a Radiant Earth initiative. Icechunk storage generously provided by AWS Open Data.

Chunks & shards

This dataset is stored in Zarr format, which splits each variable into a grid of chunks — the smallest unit read from storage. Chunks are grouped into larger shards (the objects actually written to storage), which keeps the object count manageable for long-archive datasets. When possible, aligning your reads with this dataset's chunk grid can significantly improve data access speed.

The element count and coordinate span of this dataset:

dimension chunk shard
init_time 1 (1 day) 1 (1 day)
lead_time 47 (47 days) 47 (47 days)
ensemble_member 101 101
latitude 25 (37.5°) 125 (181.5°)
longitude 24 (36°) 240 (360°)
uncompressed 10.9 MiB 543.3 MiB

Validation report

Review the validation report for variable availability, missing data, known quirks, fill values, value distributions, and sample plots.

Compression

The data values in this dataset have been rounded in their binary floating point representation to improve compression. See Klöwer et al. 2021 for more information on this approach. The exact number of rounded bits can be found in our reformatting code.

HRRR fam complete, the validation reports you crave