--- license: apache-2.0 language: - en tags: - OneScience - Earth Science - Climate Emulation - CNN-LSTM frameworks: PyTorch ---
ClimateBench CNN-LSTM
# Model Introduction The ClimateBench CNN-LSTM addresses the high computational cost of Earth system models and the difficulty of rapidly comparing many emission scenarios by estimating global temperature, diurnal-temperature-range, and precipitation responses from greenhouse-gas and aerosol emissions. It is primarily intended for data-driven climate projection, rapid emission-scenario assessment, and standardized comparison of climate-emulation methods, providing an efficient baseline for climate-response research. Paper: ClimateBench v1.0: A Benchmark for Data-Driven Climate Projections https://doi.org/10.1029/2021MS002954 # Model Description ClimateBench was proposed by a University of Oxford-led research team with institutions including North Carolina State University, the Norwegian Meteorological Institute, the University of East Anglia, and Universitat de València. The paper trained and validated baseline models with anthropogenic forcing and climate-response data from NorESM2-LM experiments in CMIP6, ScenarioMIP, AerChemMIP, and DAMIP. The model supports globally resolved climate-response emulation, data-driven climate projection, and SSP scenario evaluation. # Use Cases | Use Case | Description | | :---: | :--- | | Climate response emulation | Predict four global response fields from a ten-year forcing sequence. | | Architecture reproduction | Verify the exact CNN, pooling, ReLU-LSTM, and dense parameterization. | | SSP245 evaluation | Evaluate ClimateBench NRMSE with 2080-2100 target semantics. | | ModelScope/OneCode execution | Validate training, inference, evaluation, visualization, and checkpoint workflows in ModelScope or OneCode. | | Multi-device training | Train all independent branches with `torchrun` and DDP. | # Usage Instructions ## 1.OneCode Experience intelligent, one-click AI4S programming through the OneCode online environment: [Try intelligent, one-click AI4S programming](https://web-2069360198568017922-iaaj.ksai.scnet.cn:58043/home) ## 2. Download and Installation ```bash hf download OneScience-Group/ClimateBench --local-dir ./ClimateBench cd ClimateBench ``` ### 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 must install DTK in advance. DTK 25.04.2 or later, or the OneScience-recommended version matching the current cluster, is recommended. **DCU Environment** ```bash # 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** ```bash # 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 This repository uses a small number of structured synthetic samples to validate the engineering workflow. Inputs contain annual sequences of cumulative CO2, CH4, SO2, and black-carbon emissions, while the targets are the corresponding global temperature, diurnal-temperature-range, and precipitation responses. The data preserves the paper's temporal, channel, and global-grid dimensions with plausible temporal and spatial climate structure; it does not represent the official data distribution or paper performance. ```bash python scripts/fake_data.py --force ``` ### Training For single-device training, use: ```bash python scripts/train.py ``` For multi-GPU training, use: ```bash torchrun --nproc_per_node=8 --nnodes=1 --rdzv_id=1000 --rdzv_backend=c10d --max_restarts=0 --master_addr="localhost" --master_port=29500 scripts/train.py ``` Training outputs are saved to: ```text result/checkpoints/climatebench.pt result/training/metrics.json ``` ### Trained Weights No weights are bundled under `weight/`. The paper provides no confirmed official checkpoint, and the engineering checkpoint is not claimed to be compatible with external weights. ### Inference ```bash python scripts/inference.py ``` Inference writes `result/output/predictions.npz` with all four predictions, targets, coordinates, scenario, and 2080-2100 evaluation semantics. ### Evaluation and Visualization ```bash python scripts/result.py ``` Evaluation computes spatial error, global-mean error, and combined NRMSE for all four climate variables and saves them to `result/evaluation/metrics.json`. It also generates the target, prediction, and error comparison figure `result/evaluation/four_targets.png`. Synthetic-data results are only for engineering-workflow validation and do not represent paper performance on the real test set. # 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 ClimateBench paper specifications. Use of this repository's code, official model weights, and data remains subject to the licenses and terms of their respective projects.