Global kilometre-scale forecasts of fine particulate matter
Daily PM2.5 from all its sources (traffic, industry, heating, agriculture, desert dust, sea salt
and fires) for every inhabited place on Earth at 1 km, from one day to a week ahead, as a
calibrated ensemble. Foehn learns from the first global 1 km record of PM2.5, generates whole continents
in one pass by flow matching, and computes rather than learns the transport of the air with FLEXGREEN,
a GPU re-implementation of the backward mode of the FLEXPART particle model.
Click or tap anywhere on land. FLEXGREEN followed the air that arrived there on 21 January 2022 backwards through
the forecast wind for seven days: each dot is a particle of that air, where it was one to seven days before. Blue, it
was near the ground, in the mixed layer, on that day; pink, it was higher up. The numbers are computed for the place you
choose, from the same Green's functions that Foehn's forecasts use.
near the ground on that day higher up
Choose a place on the map.
Preprint
Kheder A., Boy M. & Liu Z.-S. Global probabilistic forecasting of air pollution. arXiv:2610.25941, 2026 — abstract · PDF.
About a million deaths a year are attributable to short-term exposure to fine particulate matter (PM2.5), whatever its source: traffic, industry, heating, agriculture, desert dust or fires. Yet PM2.5 varies from street to street, while forecasts use grids tens of
kilometres wide. Machine learning has transformed weather forecasting, but two problems keep it from the scale at which
air pollution harms. Kilometre-scale fields are too large to forecast in one piece, and the peaks that matter for health
are smoothed away by standard training or arrive with distant air. Here we show that both can be solved. Our model,
Foehn, learns from the first global record of daily PM2.5 at kilometre scale, forecasts continent-sized windows
in one pass by flow matching, and computes the transport of the air with a particle model driven by the weather forecast.
In retrospective forecasts for 2022, it produced calibrated, seamless kilometre-scale ensembles over all inhabited land,
up to a week ahead. At thousands of stations not used to train or select it, they were more accurate than the operational
forecast issued at the same time, caught local extremes more reliably and reached people whom coarse grids hide.
Computing what physics knows, and learning the rest, makes forecasts accurate, inexpensive and interpretable.
How Foehn works
The PM2.5 that reaches a place is set by what the arriving air contained and by what happened to it on the way. Foehn separates the two.
a, the forecast wind drives FLEXGREEN, which follows particles backwards in time to where the arriving air was on the start day. b, an encoder turns the start day into tracers, read at the origins of the air. c, a conditional flow-matching network turns a noise field into a 1 km forecast, for every lead time; each noise field gives one ensemble member.
FLEXGREEN, computed transport. A GPU re-implementation of the backward mode of the FLEXPART particle model
releases particles in every 0.5° land cell on the target day and follows them backwards in the three-dimensional
forecast wind, with turbulence and removal. The result is the Green's function of the transport: where the arriving
air was on the start day, at which height, and how much of its aerosol survived. It has no learned parameter.
A generative network for what the air carries. The network reads the start-day fields where the physics
says the air was, and generates the 1 km field of the target day by flow matching; each noise field gives one
ensemble member, and whole continents are produced in one pass with no visible seam.
Interactive viewer
The forecasts of the three case studies of the preprint, as issued: choose a case, a target day and how many days
before the forecast was issued, and compare Foehn's ensemble with the 1 km reference estimates (GHAP, made after the
fact) and the CAMS operational forecast issued at the same time. Every panel is a genuine output of the final model
(16 members, 1 km); nothing is recomputed in the browser. The address bar follows your selection, so a view can be shared.
Retrospective forecasts for 2022, made with the archived operational weather forecasts, scored against the 1 km
estimates over all land and at 6,324 monitoring stations never used to train or select the model. Click a figure for full resolution.
One forecast of the whole planet at 1 km
Foehn produces a global field at 1 km without visible seams, assembled from twenty-one overlapping continent-sized windows.
Shown: the forecast issued for 21 January 2022, the day of the year with the highest population-weighted PM2.5. At
1 km it resolves what the 40 km grid of the operational forecast blurs.
Four polluted basins against the CAMS forecast issued at the same time and the 1 km estimates, with the measurements of four official networks.
Sharp members, calibrated ensembles
Flow matching keeps the detail that a squared error averages away: each member reproduces the plain, the mountains and the
cities of the January 2022 haze over the North China Plain, and the spread of the ensemble matches its error at every lead time.
The January 2022 haze one and five days ahead: the 1 km estimates, three members, the ensemble mean, CAMS and Aurora, their spectra, and the Beijing stations.
The people a coarse grid hides
Even a perfect 40 km forecast would miss 186 million people a day above 37.5 µg m−3, the WHO interim
target 3. Foehn forecasts at the scale at which they can be warned: one day ahead, it warned 43 % of them, and it catches local extremes markedly better than the operational systems.
The residents a 40 km forecast cannot warn; Beijing–Tianjin on 21 January 2022; by region, the share of the exposure that a 40 km grid hides and the share of those people whom Foehn warned one and three days ahead.
The pollution follows the air
Every forecast comes with its Green's functions, which show where the arriving air was: here, the Saharan dust that reached
Kano, Nigeria, on 16 May 2022. Computing the transport helps most in the first days, while the start day still matters.
Where the air reaching Kano was on the three preceding days, Foehn's probability of exceeding 100 µg m−3, and why the gain of the computed transport fades with lead time.
Smoke forecast days ahead
Five days ahead, Foehn put the smoke of the Gironde fires of July 2022 over the forest of the Landes and the Teich bird
reserve, giving the reserve about a one-in-three chance of exceeding 25 µg m−3.
The smoke on 18 July 2022 in the 1 km estimates, and Foehn's probability of exceeding 25 µg m−3 issued one to seven days before.
Benchmark
The design was chosen in a controlled benchmark over Europe: five spatiotemporal networks retrained with exactly the
inputs of Foehn's flow-matching network (its European 0.25° version), against the CAMS operational forecast, Aurora and
climatology. Europe, 2022; scores averaged over lead times of 1 to 4 days and three training seeds.
RMSE against the 0.25° block means (a), the 1 km pixels (b) and 2,971 EEA stations (c), and CSI of exceedances of 25 µg m−3 (d), by lead time.Change of Foehn's score relative to each system (rows) for the RMSE, the CRPS and the CSI of exceedances of 25 µg m−3, one to four days ahead: on all days, on the 10 % most polluted days and during the four documented transported episodes. Blue means Foehn better: it is better in 319 of the 324 cells, and the five others are within 2 %.Error by wavelength at 0.25° (a) and at 1 km (b): below one, skill at that scale. c, error at 1 km against inference time; marker area, peak GPU memory. Foehn is 26 times faster than Aurora with a 35 % lower error.
RMSE in µg m−3 (lower is better); CSI of exceedances of 25 µg m−3 (higher is better); inference:
one member of one forecast on one AMD MI250X compute die. Foehn's network was the most accurate in 35 of 36 combinations of
score, lead time and set of days (all days, the 10 % most polluted days and documented transport episodes).
Show the scores as a table
Model
RMSE, 0.25°
RMSE, 1 km
RMSE, 2,971 EEA stations
CSI, > 25 µg m−3
Inference (s)
GPU memory (GB)
Foehn (flow matching, European 0.25° version)
5.07
5.47
11.23
0.421
0.231
0.15
Foehn without the learned transport layer
5.12
5.52
11.25
0.413
0.045
0.15
ConvLSTM
5.26
5.68
11.32
0.398
0.011
0.72
Earthformer
5.40
5.82
11.34
0.392
0.006
0.42
SimVP
5.49
5.92
11.39
0.379
0.010
0.10
TopoFlow
5.54
5.96
11.42
0.388
0.010
0.43
ClimaX
5.76
6.19
11.49
0.359
0.010
0.95
Aurora
7.98
8.44
12.20
0.212
6.0
20.40
CAMS operational forecast
8.43
8.86
12.12
0.204
–
–
Climatology
7.70
8.13
12.14
0.238
–
–
Limitations
What Foehn is, and is not, in its present form.
The 1 km estimates Foehn learns from (GHAP) are produced after the fact; a real-time deployment would be trained on an operational analysis, as the comparison with Aurora on the CAMS analyses shows is possible.
Those estimates have their own errors and regional biases, which Foehn inherits or amplifies, as in India, and they were fitted to measurements from many of the stations used to evaluate it.
All members share one deterministic weather forecast; the spread represents the uncertainty of the weather only statistically.
The viewer shows precomputed forecasts of 2022; Foehn is not run on demand here, because a forecast needs the 1 km inputs of the start day.
Code & data
Code (MIT licence)
github.com/AmmarKheder/Foehn — FLEXGREEN, data preparation, training, calibration, inference, evaluation, and every figure of the preprint.
Trained weights
Available to the editors and referees; released with the code upon publication.
Target and inputs
GHAP daily 1 km PM2.5 (Wei et al., Zenodo); ECMWF IFS HRES forecasts (WeatherBench 2); ERA5; CAMS global forecasts and analyses, GFAS and CAMS-GLOB-ANT (Copernicus Atmosphere Data Store); GHS-POP population.
Evaluation stations
EEA, CNEMC, US EPA AQS, AirKorea, NIES Japan, CPCB India (partly through OpenAQ). Stations are used for evaluation only.
Cite
@article{kheder2026foehn,
title = {Global kilometre-scale forecasts of fine particulate matter},
author = {Kheder, Ammar and Boy, Michael and Liu, Zhi-Song},
year = {2026},
note = {Manuscript submitted}
}
Questions and problems: GitHub issues · ammar.kheder@lut.fi