Pangu-Bayes: A Bayesian Ensemble Framework for Global Weather Forecasting

Pangu-Bayes is a Bayesian ensemble forecasting framework for global weather forecasting. The project covers deterministic pretraining, epistemic uncertainty learning, joint epistemic-aleatoric uncertainty learning, ensemble forecast inference, probabilistic post-processing, and evaluation.

This Hugging Face repository hosts example data, model checkpoints, and evaluation outputs. The training and inference commands below assume that the accompanying Pangu-Bayes source code has also been obtained; the source-code URL will be added when it is publicly available.

Repository Contents

pangu-bayes/
β”œβ”€β”€ ERA5_examples/       # Small example dataset and normalization statistics
β”œβ”€β”€ checkpoint/         # Forecasting and post-processing checkpoints
└── all_model_results/  # Evaluation outputs and post-processing results

Installation

We recommend using Conda to create the environment in the accompanying source-code repository.

conda create -n pangu-bayes python=3.10
conda activate pangu-bayes
pip install -r requirements.txt

Data Preparation

Pangu-Bayes uses global atmospheric reanalysis data for training and evaluation. A small example dataset is provided under ERA5_examples/.

Expected upper-air variables include:

  • Geopotential (Z)
  • Temperature (T)
  • Specific humidity (Q)
  • U component of wind (U)
  • V component of wind (V)

Expected surface variables include:

  • 2 m temperature (T2M)
  • 10 m U component of wind (10U)
  • 10 m V component of wind (10V)
  • Mean sea-level pressure (MSL)

The expected pressure levels are 50, 100, 150, 200, 250, 300, 400, 500, 600, 700, 850, 925, and 1000 hPa.

ERA5_examples/
β”œβ”€β”€ constant_masks/
β”‚   β”œβ”€β”€ land_mask.npy
β”‚   β”œβ”€β”€ soil_type.npy
β”‚   └── topography.npy
β”œβ”€β”€ statistic/
β”‚   β”œβ”€β”€ surface_mean_40.pt
β”‚   β”œβ”€β”€ surface_std_40.pt
β”‚   β”œβ”€β”€ upper_mean_40.pt
β”‚   └── upper_std_40.pt
β”œβ”€β”€ train/
β”‚   β”œβ”€β”€ 1979_0000.pt
β”‚   └── 1979_0001.pt
└── test/
    β”œβ”€β”€ 2022_0000.pt
    └── 2022_0001.pt

Method Overview

The overall pipeline consists of five stages:

Deterministic pretraining
        ↓
Epistemic uncertainty learning
        ↓
Joint epistemic-aleatoric uncertainty learning
        ↓
Operational fine-tuning
        ↓
Probabilistic post-processing

Training

Stage 1: Deterministic Pretraining

The deterministic backbone is trained to predict future global atmospheric fields from historical atmospheric states.

bash train_scripts/pretrain.sh

Stage 2: Epistemic Uncertainty Learning

Epistemic uncertainty is introduced into the forecasting backbone through parameter uncertainty.

bash train_scripts/train_eu.sh

Stage 3: Joint Epistemic-Aleatoric Uncertainty Learning

The joint EU-AU model combines epistemic uncertainty from Bayesian model parameters and aleatoric uncertainty from state-dependent perturbations.

bash train_scripts/train_eu_au.sh

Stage 4: Operational Fine-tuning

After aleatoric uncertainty training, the resulting Pangu-Bayes model is fine-tuned on high-resolution (HRES) analysis data to improve operational forecasting performance. This produces the Pangu-Bayes (oper.) variant.

bash train_scripts/train_eu_au_hres.sh

Stage 5: Probabilistic Post-processing

The post-processing module calibrates forecast intensity. Before training the post-processing network, users should construct its training dataset from ensemble forecast outputs.

Ensemble forecast outputs
        ↓
Compute task-specific statistics
        ↓
Pair statistics with verification targets
        ↓
Construct the post-processing dataset
        ↓
Train the probabilistic post-processing model

Global Weather Forecasting and Evaluation

Pangu-Bayes generates global ensemble forecasts that are evaluated at the field level. Metrics include:

  • Root mean squared error (RMSE)
  • Continuous ranked probability score (CRPS)
  • Spread-skill ratio (SSR)

Example:

bash inference_ensemble_scripts/inference.sh

Tropical Cyclone Forecasting and Evaluation

Although Pangu-Bayes is designed for global ensemble weather forecasting, this project also provides tropical cyclone ensemble forecasting as a downstream application. Pangu-Bayes first generates global ensemble forecast fields, after which cyclone-level quantities are extracted and evaluated using external cyclone analysis tools.

The workflow consists of two main steps:

  1. Cyclone detection and tracking. Tropical cyclone candidates and trajectories are identified from global forecast fields using the TempestExtremes tracker. It extracts storm-level quantities from each ensemble member, including cyclone center latitude and longitude, maximum sustained wind speed (MSW), and minimum sea-level pressure (MSLP).
  2. Track matching and verification. Predicted cyclone tracks are matched with observed best-track records from the IBTrACS dataset using the huracanpy Python package. Deterministic and probabilistic verification metrics are then computed for track and intensity forecasts.

Model Checkpoints

Model checkpoints are organized under checkpoint/:

checkpoint/
β”œβ”€β”€ deterministic_forecast.pt
β”œβ”€β”€ eu_ensemble_forecast.pt
β”œβ”€β”€ eu_au_ensemble_forecast.pt
β”œβ”€β”€ eu_au_ensemble_forecast_hres.pt
└── best_prob_ann.pt
File Purpose
deterministic_forecast.pt Deterministic forecasting backbone
eu_ensemble_forecast.pt Epistemic-uncertainty ensemble forecasting model
eu_au_ensemble_forecast.pt Joint epistemic-aleatoric ensemble forecasting model
eu_au_ensemble_forecast_hres.pt HRES fine-tuned operational variant
best_prob_ann.pt Probabilistic post-processing network

Evaluation Outputs

all_model_results/ contains model evaluation CSV files. Its post_results/ subdirectory contains probabilistic post-processing metrics, prediction tables, member-level records, and training history.

Citation

The citation information supplied with this repository is a draft. Replace the TODO fields below with the final author and publication details when they become available.

@article{hu2025resolving,
  title={Resolving Sources of Uncertainty in AI Weather Forecasting},
  author={Hu, Wenbo and
          Xiong, Xinlei and
          Zhou, Shuxun and
          Bi, Kaifeng and
          Xie, Lingxi and
          Zhu, Jun and
          Hong, Richang and
          Tian, Qi},
  journal={arXiv preprint arXiv:2511.14218},
  year={2025}
}

Acknowledgements

This project builds upon recent advances in data-driven global weather forecasting, Bayesian deep learning, ensemble prediction, and probabilistic forecast verification.

We thank the providers of ERA5, HRES and tropical-cyclone best-track datasets for making atmospheric and cyclone records available to the research community.

We also acknowledge the open-source tools and benchmark resources used for global weather forecasting and tropical-cyclone evaluation.

License

The Pangu-Bayes source code and model checkpoints are released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license.

Also, please note that all models were trained using the ERA5 dataset provided by ECMWF. Please do follow their policy (https://apps.ecmwf.int/datasets/licences/copernicus/).

For commercial use or other licensing arrangements, please contact the authors.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Paper for xionge/pangu-bayes