AGCD: Agent-Guided Cross-Modal Decoding for Weather Forecasting
Organizations: Sun Yat-sen University, Zhuhai, China · The Chinese University of Hong Kong, Hong Kong, China · Jiangxi Science and Technology Normal University, Nanchang, China · China Meteorological Administration, Beijing, China · Huawei Technologies Co., Ltd, China · Guangdong-Hong-Kong-Macao Greater Bay Area Weather Research Center for Monitoring Warning and Forecasting, China · National Supercomputing Center in Shenzhen, Shenzhen, China · Tsinghua University, Shenzhen, China
Abstract
Accurate weather forecasting is more than grid-wise regression: it must preserve coherent synoptic structures and physical consistency of meteorological fields, especially under autoregressive rollouts where small one-step errors can amplify into structural bias. Existing physics-priors approaches typically impose global, once-for-all constraints via architectures, regularization, or NWP coupling, offering limited state-adaptive and sample-specific controllability at deployment. To bridge this gap, we propose Agent-Guided Cross-modal Decoding (AGCD), a plug-and-play decoding-time prior-injection paradigm that derives state-conditioned physics-priors from the current multivariate atmosphere and injects them into forecasters in a controllable and reusable way. Specifically, We design a multi-agent meteorological narration pipeline to generate state-conditioned physics-priors, utilizing MLLMs to extract various meteorological elements effectively. To effectively apply the priors, AGCD further introduce cross-modal region interaction decoding that performs region-aware multi-scale tokenization and efficient physics-priors injection to refine visual features without changing the backbone interface. Experiments on WeatherBench demonstrate consistent gains for 6-hour forecasting across two resolutions (5.625 degree and 1.40625 degree) and diverse backbones (generic and weather-specialized), including strictly causal 48-hour autoregressive rollouts that reduce early-stage error accumulation and improve long-horizon stability.
Figures & tables
| Method | T2m [K] | 10m Wind [m/s] | Z500 [m 2 /s 2 ] | T850 [K] | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 5.625 ∘ | 1.40625 ∘ | 5.625 ∘ | 1.40625 ∘ | 5.625 ∘ | 1.40625 ∘ | 5.625 ∘ | 1.40625 ∘ | |||||||||
| RMSE | ACC | RMSE | ACC | RMSE | ACC | RMSE | ACC | RMSE | ACC | RMSE | ACC | RMSE | ACC | RMSE | ACC | |
| ViT | 1.6859 | 0.9554 | 1.3570 | 0.9710 | 0.5490 | 0.9723 | 0.5946 | 0.9668 | 131.01 | 0.9929 | 80.80 | 0.9970 | 1.21 | 0.9736 | 0.91 | 0.9852 |
| ViT+AGCD | 1.2601 | 0.9768 | 1.2450 | 0.9754 | 0.4781 | 0.9788 | 0.5600 | 0.9695 | 113.07 | 0.9951 | 75.90 | 0.9976 | 0.98 | 0.9830 | 0.86 | 0.9871 |
| CaiT | 1.8747 | 0.9317 | 1.5200 | 0.9658 | 0.6051 | 0.9674 | 0.6420 | 0.9622 | 149.95 | 0.9917 | 104.60 | 0.9953 | 1.51 | 0.9516 | 1.06 | 0.9829 |
| CaiT+AGCD | 1.8703 | 0.9450 | 1.4700 | 0.9682 | 0.5993 | 0.9678 | 0.6210 | 0.9638 | 132.80 | 0.9938 | 96.80 | 0.9960 | 1.41 | 0.9635 | 0.99 | 0.9846 |
| Text setting | Z500 | T850 | T2m | 10m Wind | ||||
|---|---|---|---|---|---|---|---|---|
| RMSE | ACC | RMSE | ACC | RMSE | ACC | RMSE | ACC | |
| Vision-only (no text) | 131.01 | 0.9929 | 1.21 | 0.9736 | 1.6859 | 0.9554 | 0.5490 | 0.9723 |
| Matched (ours) | 113.07 | 0.9951 | 0.98 | 0.9830 | 1.2601 | 0.9768 | 0.4781 | 0.9788 |
| Shuffled (mismatch) | 136.40 | 0.9922 | 1.24 | 0.9730 | 1.7120 | 0.9550 | 0.5650 | 0.9718 |
| Empty (null prompt) | 134.80 | 0.9924 | 1.23 | 0.9732 | 1.7050 | 0.9552 | 0.5600 | 0.9720 |
| Text generator | Z500 | T850 | T2m | 10m Wind | ||||
|---|---|---|---|---|---|---|---|---|
| RMSE | ACC | RMSE | ACC | RMSE | ACC | RMSE | ACC | |
| Single-agent ( only) | 123.80 | 0.9937 | 1.05 | 0.9802 | 1.3900 | 0.9688 | 0.5070 | 0.9756 |
| Multi-agent w/o evaluator ( ) | 118.20 | 0.9944 | 1.01 | 0.9819 | 1.3200 | 0.9742 | 0.4920 | 0.9773 |
| Full MMNP (ours) ( ) | 113.07 | 0.9951 | 0.98 | 0.9830 | 1.2601 | 0.9768 | 0.4781 | 0.9788 |
| Enabled | Z500 | T850 | T2m | 10m wind | ||||
|---|---|---|---|---|---|---|---|---|
| RMSE | ACC | RMSE | ACC | RMSE | ACC | RMSE | ACC | |
| No MMNP | 131.01 | 0.9929 | 1.21 | 0.9736 | 1.6859 | 0.9554 | 0.5490 | 0.9723 |
| 130.62 | 0.9929 | 1.16 | 0.9752 | 1.5438 | 0.9620 | 0.5352 | 0.9735 | |
| 130.12 | 0.9930 | 1.13 | 0.9768 | 1.4820 | 0.9650 | 0.5249 | 0.9745 | |
| 129.66 | 0.9930 | 1.10 | 0.9782 | 1.4187 | 0.9678 | 0.5146 | 0.9755 | |
| 113.07 | 0.9951 | 0.98 | 0.9830 | 1.2601 | 0.9768 | 0.4781 | 0.9788 | |
| Setting | Z500 | T850 | T2m | 10m Wind | ||||
|---|---|---|---|---|---|---|---|---|
| RMSE | ACC | RMSE | ACC | RMSE | ACC | RMSE | ACC | |
| Vision-only (no CRID) | 131.01 | 0.9929 | 1.21 | 0.9736 | 1.6859 | 0.9554 | 0.5490 | 0.9723 |
| + Text, w/o Region tokens | 124.70 | 0.9936 | 1.09 | 0.9786 | 1.4200 | 0.9681 | 0.5150 | 0.9750 |
| + Text, w/o HopfieldPool | 115.60 | 0.9948 | 1.00 | 0.9824 | 1.3000 | 0.9758 | 0.4860 | 0.9780 |
| + Text, w/o CMG gating | 118.90 | 0.9943 | 1.02 | 0.9818 | 1.3400 | 0.9748 | 0.4930 | 0.9775 |
| Full CRID (ours) | 113.07 | 0.9951 | 0.98 | 0.9830 | 1.2601 | 0.9768 | 0.4781 | 0.9788 |