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
| 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 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