ClimODE

Model Introduction

ClimODE is a weather forecasting model proposed in 2024 by researchers from Aalto University and collaborating institutions.

Paper: ClimODE: Climate and Weather Forecasting with Physics-informed Neural ODEs

https://arxiv.org/abs/2404.10024

Model Description

ClimODE is a physics-informed neural ordinary differential equation model for global, monthly-scale, and regional climate and weather forecasting. It represents atmospheric evolution as a continuous-time dynamical system and incorporates a transport-based physical inductive bias into the neural ODE.

Use Cases

Scenario Description
Global weather forecasting Train or evaluate ClimODE on ERA5 data following this project's five-variable protocol.
Local quick validation Use synthetic ERA5 HDF5 data to check data loading, training, inference, evaluation, and visualization.
ModelScope / OneCode execution Download the standalone model package, install dependencies, and run the scripts directly.
Multi-GPU training Launch PyTorch DistributedDataParallel with torchrun.

Usage Guide

1. OneCode Usage

Experience intelligent one-click AI4S programming through the OneCode online environment:

Click to Experience Intelligent One-Click AI4S Programming

2. Manual Installation and Usage

Hardware Requirements

  • Training and inference require a GPU or DCU recognized by PyTorch. CPU can be used to generate synthetic data and inspect configuration, but cannot run the current training and inference scripts.
  • Multi-GPU training uses the NCCL backend. Ensure that the device driver, communication libraries, and PyTorch version are compatible.
  • DCU users must install DTK in advance. DTK 25.04.2 or above, or the OneScience recommended version matching your cluster, is recommended.

Download the Model Package

hf download OneScience-Group/ClimODE --local-dir ./ClimODE
cd ClimODE

Install the Runtime Environment

DCU Environment

# Please activate DTK and CONDA first
conda create -n onescience311 python=3.11 -y
conda activate onescience311
# uv installation is supported
pip install onescience[earth-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai

GPU Environment

# Please 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
# uv installation is supported
pip install onescience[earth-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai

Training Data Introduction

The OneScience community provides an ERA5 data slice for training. Download it and confirm that the paths in conf/config.yaml point to the downloaded data:

hf download --repo-type dataset OneScience-Group/ERA5 --local-dir ./data

ClimODE reads the five variables z, t, t2m, u10, and v10, regridding the source 721x1440 fields to the model's 32x64 grid. The source variable mapping is defined in conf/config.yaml.

Generate Synthetic Data

When real ERA5 data is unavailable, generate a full-resolution synthetic fixture for pipeline validation:

python scripts/fake_data.py

Synthetic data does not represent ERA5 and cannot reproduce the paper's metrics.

Training

Single GPU:

python scripts/train.py

Multi-GPU:

torchrun --nproc_per_node=8 scripts/train.py

The default checkpoint is saved to data/checkpoints/model_bak.pth.

Fine-tuning

To fine-tune from an existing checkpoint, pass an explicit checkpoint and mode:

python scripts/train.py --mode finetune --checkpoint data/checkpoints/model_bak.pth

An official pretrained checkpoint can be selected explicitly with --use-pretrained --pretrained-checkpoint <path>.

Training Weights

This repository provides a weight/ directory for ClimODE checkpoints. The weight files will be uploaded soon and are expected to be available in the near future.

Inference

Inference reads data/checkpoints/model_bak.pth by default. If it is unavailable, pass --checkpoint explicitly:

python scripts/inference.py

Predictions, uncertainty estimates, and targets are written to result/output/.

Evaluation and Visualization

python scripts/result.py

The script computes latitude-weighted RMSE, ACC, and CRPS, and writes per-variable figures to result/output/figures/.

Official OneScience Resources

Citation and License

  • This repository is a OneScience adaptation of the ClimODE paper and is not the official Aalto-QuML release.
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for OneScience-Group/ClimODE