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

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
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for OneScience-Group/WeatherBench