NNCAM-Stable

Model Introduction

NNCAM-Stable replaces atmospheric moist physics and radiation in a GCM with neural networks. It targets stable multiyear online climate simulation.

Paper: Stable climate simulations using a realistic general circulation model with neural network parameterizations for atmospheric moist physics and radiation processes
https://doi.org/10.5194/gmd-15-3923-2022

Model Description

The model was proposed by teams from Tsinghua University and Scripps Institution of Oceanography. It was trained with two years of SPCAM data containing 122 column inputs and 68 tendency and radiation targets. It supports online CAM5.2 moist-physics and radiation parameterization and stable climate simulation.

Use Cases

Use Case Description
Moist physics Predict 30-level moisture and dry-static-energy tendencies.
Radiation emulation Predict surface and top-of-atmosphere radiation fluxes.
Online stability Validate long coupled simulations with neural parameterizations.
ModelScope/OneCode execution Validate data, training, inference, climate metrics, and visualization.
Multi-GPU training Start multi-process training through torchrun.

Usage Instructions

hf download OneScience-Group/NNCAM-Stable --local-dir ./NNCAM-Stable
cd NNCAM-Stable

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

Training Data

The paper uses SPCAM simulations with 122 column inputs and 68 moist-physics and radiation outputs. Synthetic data preserve the full dimensions, 30 vertical levels, and three independent parameterization networks while reducing samples, width, and epochs.

python scripts/fake_data.py

Training

For single-process training, use:

python scripts/train.py

For multi-process training, use:

torchrun --standalone --nproc_per_node=2 scripts/train.py

Training results are saved to:

result/checkpoints/nncam_stable.pt
result/training/metrics.json

Trained Weights

No weights are bundled under weight/. The code archive is available at https://doi.org/10.5281/zenodo.5596273 and the training data at https://doi.org/10.5281/zenodo.5625616; the paper does not list a separate directly loadable pretrained-weight file.

Inference

python scripts/inference.py

Inference produces 30 moisture tendencies, 30 dry-static-energy tendencies, and eight radiation fluxes. Results are saved to:

result/output/predictions.npz

Evaluation and Visualization

python scripts/result.py

Evaluation reports overall RMSE and creates an output-profile figure. Results are saved to:

result/evaluation/metrics.json
result/evaluation/comparison.png

Official OneScience Information

Citation and License

This repository is an independent engineering reproduction of the public NNCAM-Stable specifications.

SPCAM v2, NNCAM source code, model artifacts, and the training and test data remain subject to the licenses and terms of their respective archives.

Downloads last month
16
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support