Lower-resolution extended-range reforecasts for the period 1959-2023 (47R3)

Title Lower-resolution extended-range reforecasts for the period 1959-2023 (47R3)
Description Updated 2025-11-04. A 10+1 member coupled IFS (cycle 47R3) extended-range reforecast experiment covering the period 1959-2023 with forecasts initialized on the 1st, 8th, 15th, and 22nd, of each month. The atmosphere is configured with 137 vertical levels and uses the Tco199 cubic octahedral reduced Gaussian grid. The IFS is coupled hourly to the 75 level version of the NEMO v3.4 ocean model and the LIM2 sea-ice model, both of which use the ORCA1 tripolar grid. Coupling follows the implementation used in ECMWF CY47R3 operational reforecasts. Atmospheric fields are initialized from the ERA5 reanalysis and ocean and sea-ice initial conditions are derived from the 5-member OCEAN5 ensemble (re)analysis. Ensemble spread in coupled forecasts is generated through a combination of initial condition perturbations and stochastic parameterizations in the atmospheric model. Reference for original 1980-2020 dataset: Roberts, C. D., Balmaseda, M. A., Ferranti, L., & Vitart, F. (2023). Euro-Atlantic weather regimes and their modulation by tropospheric and stratospheric teleconnection pathways in ECMWF reforecasts. Monthly Weather Review, 151(10), 2779-2799. Reference for extended 1959-2023 dataset: Roberts, C. D. & Vitart, F. (2025). Ensemble reliability and the signal-to-noise paradox in ECMWF subseasonal forecasts. Submitted to Quarterly Journal of the Royal Meteorological Society.
DOI 10.21957/e8v4-9954
Experiment ID hnll
Experiment class ECMWF Research Department
Examples

Perturbed member pressure level data for January 1st 1980 reforecasts

#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer

server = ECMWFDataServer()

server.retrieve({
    "class": "rd",
    "dataset": "research",
    "date": "2021-01-01",
    "expver": "hnll",
    "hdate": "1980-01-01",
    "levelist": "10/50/100/200/250/500/700/850/1000",
    "levtype": "pl",
    "number": "1/2/3/4/5/6/7/8/9/10",
    "param": "129.128/130.128/131/132/133.128/135.128/138.128/155.128/157.128",
    "step": "0/12/24/36/48/60/72/84/96/108/120/132/144/156/168/180/192/204/216/228/240/252/264/276/288/300/312/324/336/348/360/372/384/396/408/420/432/444/456/468/480/492/504/516/528/540/552/564/576/588/600/612/624/636/648/660/672/684/696/708/720/732/744/756/768/780/792/804/816/828/840/852/864/876/888/900/912/924/936/948/960/972/984/996/1008/1020/1032/1044/1056/1068/1080/1092/1104",
    "stream": "enfh",
    "target": "pressure_level_data.grb",
    "time": "00:00:00",
    "type": "pf"
})

Perturbed member surface data for January 1st 1980 reforecasts

#!/usr/bin/env python
from ecmwfapi import ECMWFDataServer

server = ECMWFDataServer()

server.retrieve({
    "class": "rd",
    "dataset": "research",
    "date": "2021-01-01",
    "expver": "hnll",
    "hdate": "1980-01-01",
    "levtype": "sfc",
    "number": "1/2/3/4/5/6/7/8/9/10",
    "param": "1.228/20.3/29.228/31.128/32.128/33.128/34.128/35.128/36.128/37.128/38.128/39.128/40.128/41.128/42.128/47.128/49.128/98.174/129.128/130.151/131.151/132.151/136.128/137.128/139.128/141.128/142.128/143.128/144.128/145.128/145.151/146.128/147.128/148.128/148.151/151.128/159.128/163.151/164.128/164.151/165.128/166.128/167.128/168.128/169.128/170.128/172.128/173.128/174.128/175.128/175.151/176.128/177.128/178.128/179.128/180.128/181.128/182.128/183.128/186.128/187.128/188.128/189.128/197.128/198.128/201.128/202.128/205.128/216.228/217.228/218.228/219.228/220.228/221.228/228.128/235.128/236.128/238.128/243.128/244.128/251.228/228050/260015/260121/260123",
    "step": "0/12/24/36/48/60/72/84/96/108/120/132/144/156/168/180/192/204/216/228/240/252/264/276/288/300/312/324/336/348/360/372/384/396/408/420/432/444/456/468/480/492/504/516/528/540/552/564/576/588/600/612/624/636/648/660/672/684/696/708/720/732/744/756/768/780/792/804/816/828/840/852/864/876/888/900/912/924/936/948/960/972/984/996/1008/1020/1032/1044/1056/1068/1080/1092/1104",
    "stream": "enfh",
    "target": "surface_data.grb",
    "time": "00:00:00",
    "type": "pf"
})