FengWu¶
GlobalMRF202340 GBONNX
FengWu is a medium-range forecasting model from Shanghai AI Laboratory. It treats each atmospheric variable as its own modality with a dedicated encoder and decoder and fuses them in a shared transformer. Training uses an uncertainty-weighted multi-task loss and a replay buffer that exposes the model to its own forecasts. The version scored here consumes the two most recent ERA5 analysis frames, 6 hours apart, and forecasts 69 variables at 0.25° resolution with a 6-hour step.
Skill¶
Pick a metric and variable; hover for exact values at each lead time. Use the Region selector for continental splits, the Month selector for seasonal (DJF/MAM/JJA/SON) and per-month skill against the all-month curve, the Init hour selector for skill by initialization time, the View selector for the skill of every initial condition, and the Baseline selector to overlay persistence and climatology reference forecasts.
Evaluation¶
Deterministic · 48 initial conditions · 14-day horizon · 69 variables
Scores are latitude-weighted (cos φ) and aggregated over the initial conditions. Evaluation is done against ERA5 fetched from ARCO. Initial conditions rotate through the 00Z/06Z/12Z/18Z hours.
| Type | deterministic |
| Initial conditions | 48 (2025) |
| Initial condition source | ERA5 (ARCO) |
| Verification (ground truth) | ERA5 (ARCO) |
| Lead times | 6 h to 14 days |
| Variables scored | 69 |
| Metrics | RMSE, MAE, Log spectral distance |
| Regions | global, tropics, extra tropics, northern hemisphere, southern hemisphere, arctic, antarctica, europe, north america, north atlantic, north pacific, east asia, australia new zealand, south america, africa, asia, oceania |
Variables¶
Scored output variables (69)
| Name | Description | Unit | Group |
|---|---|---|---|
msl |
Mean sea level pressure | Pa | Surface |
t2m |
Temperature at 2m | K | Surface |
u10m |
U-component (eastward, zonal) of wind at 10 m | m s⁻¹ | Surface |
v10m |
V-component (northward, meridional) of wind at 10 m | m s⁻¹ | Surface |
z50 |
Geopotential at 50 hPa | m² s⁻² | Geopotential |
z100 |
Geopotential at 100 hPa | m² s⁻² | Geopotential |
z150 |
Geopotential at 150 hPa | m² s⁻² | Geopotential |
z200 |
Geopotential at 200 hPa | m² s⁻² | Geopotential |
z250 |
Geopotential at 250 hPa | m² s⁻² | Geopotential |
z300 |
Geopotential at 300 hPa | m² s⁻² | Geopotential |
z400 |
Geopotential at 400 hPa | m² s⁻² | Geopotential |
z500 |
Geopotential at 500 hPa | m² s⁻² | Geopotential |
z600 |
Geopotential at 600 hPa | m² s⁻² | Geopotential |
z700 |
Geopotential at 700 hPa | m² s⁻² | Geopotential |
z850 |
Geopotential at 850 hPa | m² s⁻² | Geopotential |
z925 |
Geopotential at 925 hPa | m² s⁻² | Geopotential |
z1000 |
Geopotential at 1000 hPa | m² s⁻² | Geopotential |
t50 |
Temperature at 50 hPa | K | Temperature |
t100 |
Temperature at 100 hPa | K | Temperature |
t150 |
Temperature at 150 hPa | K | Temperature |
t200 |
Temperature at 200 hPa | K | Temperature |
t250 |
Temperature at 250 hPa | K | Temperature |
t300 |
Temperature at 300 hPa | K | Temperature |
t400 |
Temperature at 400 hPa | K | Temperature |
t500 |
Temperature at 500 hPa | K | Temperature |
t600 |
Temperature at 600 hPa | K | Temperature |
t700 |
Temperature at 700 hPa | K | Temperature |
t850 |
Temperature at 850 hPa | K | Temperature |
t925 |
Temperature at 925 hPa | K | Temperature |
t1000 |
Temperature at 1000 hPa | K | Temperature |
u50 |
U-component of wind at 50 hPa | m s⁻¹ | U wind |
u100 |
U-component of wind at 100 hPa | m s⁻¹ | U wind |
u150 |
U-component of wind at 150 hPa | m s⁻¹ | U wind |
u200 |
U-component of wind at 200 hPa | m s⁻¹ | U wind |
u250 |
U-component of wind at 250 hPa | m s⁻¹ | U wind |
u300 |
U-component of wind at 300 hPa | m s⁻¹ | U wind |
u400 |
U-component of wind at 400 hPa | m s⁻¹ | U wind |
u500 |
U-component of wind at 500 hPa | m s⁻¹ | U wind |
u600 |
U-component of wind at 600 hPa | m s⁻¹ | U wind |
u700 |
U-component of wind at 700 hPa | m s⁻¹ | U wind |
u850 |
U-component of wind at 850 hPa | m s⁻¹ | U wind |
u925 |
U-component of wind at 925 hPa | m s⁻¹ | U wind |
u1000 |
U-component of wind at 1000 hPa | m s⁻¹ | U wind |
v50 |
V-component of wind at 50 hPa | m s⁻¹ | V wind |
v100 |
V-component of wind at 100 hPa | m s⁻¹ | V wind |
v150 |
V-component of wind at 150 hPa | m s⁻¹ | V wind |
v200 |
V-component of wind at 200 hPa | m s⁻¹ | V wind |
v250 |
V-component of wind at 250 hPa | m s⁻¹ | V wind |
v300 |
V-component of wind at 300 hPa | m s⁻¹ | V wind |
v400 |
V-component of wind at 400 hPa | m s⁻¹ | V wind |
v500 |
V-component of wind at 500 hPa | m s⁻¹ | V wind |
v600 |
V-component of wind at 600 hPa | m s⁻¹ | V wind |
v700 |
V-component of wind at 700 hPa | m s⁻¹ | V wind |
v850 |
V-component of wind at 850 hPa | m s⁻¹ | V wind |
v925 |
V-component of wind at 925 hPa | m s⁻¹ | V wind |
v1000 |
V-component of wind at 1000 hPa | m s⁻¹ | V wind |
q50 |
Specific humidity at 50 hPa | kg kg⁻¹ | Specific humidity |
q100 |
Specific humidity at 100 hPa | kg kg⁻¹ | Specific humidity |
q150 |
Specific humidity at 150 hPa | kg kg⁻¹ | Specific humidity |
q200 |
Specific humidity at 200 hPa | kg kg⁻¹ | Specific humidity |
q250 |
Specific humidity at 250 hPa | kg kg⁻¹ | Specific humidity |
q300 |
Specific humidity at 300 hPa | kg kg⁻¹ | Specific humidity |
q400 |
Specific humidity at 400 hPa | kg kg⁻¹ | Specific humidity |
q500 |
Specific humidity at 500 hPa | kg kg⁻¹ | Specific humidity |
q600 |
Specific humidity at 600 hPa | kg kg⁻¹ | Specific humidity |
q700 |
Specific humidity at 700 hPa | kg kg⁻¹ | Specific humidity |
q850 |
Specific humidity at 850 hPa | kg kg⁻¹ | Specific humidity |
q925 |
Specific humidity at 925 hPa | kg kg⁻¹ | Specific humidity |
q1000 |
Specific humidity at 1000 hPa | kg kg⁻¹ | Specific humidity |
All of the model's output variables that have ERA5 verification are scored.
Data¶
The numbers behind the plot are in eval_scores_fengwu.json, exported by
the eval recipe scorecard
(scorecard/export_scores.py --docs) -- one value per metric, variable
and lead time, in the variable's own units.
Reproducibility¶
Run and environment details
| Date scored | 2026-09-13 |
| Scores written | 2026-09-13 |
| GPUs | 8 x NVIDIA H100 80GB HBM3 (single node) |
| PyTorch | 2.12.0a0+0291f960b6.nv26.04.48445190 |
| CUDA | 13.2 |
| Python | 3.12.3 |
| Repo commit | 6a641cf5184b |
| Provenance source | run |
| Exported | 2026-09-13 |
| Locked dependencies | uv.lock @ 6a641cf5184b |
Reference¶
Chen, K., Han, T., Gong, J., Bai, L., Ling, F., Luo, J.-J., Chen, X., Ma, L., Zhang, T., Su, R., Ci, Y., Li, B., Yang, X., and Ouyang, W. (2023). FengWu: pushing the skillful global medium-range weather forecast beyond 10 days lead. arxiv.org/abs/2304.02948.