WeatherBench
Model Introduction
WeatherBench is a dataset and evaluation benchmark for data-driven global weather forecasting. This reproduction implements the paper's five-layer fully convolutional CNN for three- and five-day Z500 and T850 evaluation.
Paper: WeatherBench: A Benchmark Data Set for Data-Driven Weather Forecasting
https://arxiv.org/abs/2002.00469
Model Description
The benchmark was proposed by teams from the Technical University of Munich, ECMWF, Stockholm University, the University of Washington, and the University of Toronto. It uses ERA5 reanalysis from 1979–2018 with multiresolution global fields and 13 pressure levels. The paper CNN predicts Z500 and T850 directly or iteratively and is compared with persistence, climatology, linear regression, and IFS.
Use Cases
| Use Case | Description |
|---|---|
| Medium-range forecasting | Evaluate three- and five-day Z500 and T850. |
| Baseline comparison | Compare forecasts with persistence and climatology. |
| Latitude-weighted scoring | Compute WeatherBench RMSE and ACC. |
| ModelScope/OneCode execution | Validate structured data, training, inference, weather metrics, and visualization. |
| Multi-GPU training | Start multi-process training through torchrun. |
Usage Instructions
hf download OneScience-Group/WeatherBench --local-dir ./WeatherBench
cd WeatherBench
Environment Dependencies
Hardware Requirements
- A GPU or DCU is recommended.
- A CPU can be used for connectivity validation with the default small-sample configuration.
- DCU users should install DTK 25.04.2 or a compatible OneScience-recommended version first.
DCU Environment
# Activate DTK and Conda first
conda create -n onescience311 python=3.11 -y
conda activate onescience311
pip install onescience[earth-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai
GPU Environment
# Activate Conda first
conda create -n onescience311 python=3.11 -y libstdcxx-ng=12 libgcc-ng=12 gcc_linux-64=12 gxx_linux-64=12
conda activate onescience311
pip install onescience[earth-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai
python scripts/fake_data.py
python scripts/train.py
torchrun --nproc_per_node=2 --nnodes=1 --master_addr="localhost" --master_port=29500 scripts/train.py
python scripts/inference.py
python scripts/result.py
Synthetic data retain Z500 and T850 on the paper's 32x64 grid and the six-hour iterative protocol. The five-layer fully convolutional CNN completes MSE optimization and parameter updates in verified single-process and two-process DDP runs. Inference restores the checkpoint, performs 12-step and 20-step rollouts with periodic longitude boundaries, and produces finite outputs with shape [4,2,2,32,64]. Training results are saved to result/checkpoints/weatherbench_cnn.pt; forecasts and latitude-weighted metrics are saved under result/output/ and result/evaluation/.
Official OneScience Information
| Platform | OneScience Main Repository | Skills Repository |
|---|---|---|
| Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills |
| GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills |
Citation and License
This repository is an independent engineering reproduction of the public WeatherBench specifications.
The original paper, WeatherBench code, and ERA5 data remain subject to their respective licenses and terms.
- Downloads last month
- 16