OneScience-Group/PrecipDD
<p align="center"><strong><span style="font-size: 30px;">PrecipDD</span></strong></p>
Model Introduction
PrecipDD estimates annual global mean surface air temperature anomaly (AGMT) from global daily precipitation-anomaly maps to detect anthropogenic climate-change fingerprints. Its dimension-faithful convolutional network supports AGMT regression, emergence-day detection, trend analysis, and occlusion sensitivity analysis.
Paper: Anthropogenic fingerprints in daily precipitation revealed by deep learning https://doi.org/10.1038/s41586-023-06474-x
Model Description
The model was proposed by researchers from the Ulsan National Institute of Science and Technology, Pohang University of Science and Technology, and collaborating institutions. It was trained with daily precipitation and annual global mean surface air temperature data from 80 CESM2 Large Ensemble members spanning 1850–2100. The model is suitable for detecting anthropogenic climate-change fingerprints in global daily precipitation fields and estimating annual global mean surface air temperature anomalies. Its key feature is the use of convolutional learning to extract spatial warming signals from precipitation, complemented by emergence-time and interpretability analyses that identify influential regions.
Use Cases
Usage Instructions
1.OneCode
Try intelligent, one-click AI4S programming
2. Download and Installation
hf download OneScience-Group/PrecipDD --local-dir ./PrecipDD
cd PrecipDDEnvironment 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
# 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.aiGPU 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.aiTraining Data
This repository uses a small synthetic dataset for engineering validation, including normalized daily precipitation anomalies, AGMT labels, years, days of year, and a 55×160 latitude-longitude grid. The synthetic data retain the paper's spatial dimensions, anomaly normalization, and warming-dependent signal while reducing samples, ensemble members, and epochs. These data validate generation, training, inference, emergence detection, trend analysis, and occlusion evaluation only and do not represent the official CESM2 Large Ensemble distribution or paper-scale training.
python scripts/fake_data.pyTraining
For single-GPU training, use:
python scripts/train.pyFor multi-GPU training, use:
torchrun --nproc_per_node=2 --nnodes=1 --master_addr="localhost" --master_port=29500 scripts/train.pyTraining uses Adam, MAE, L2 weight decay, and independently initialized ensemble members. The default retains the full input and feature dimensions while reducing samples, ensemble members, and epochs. Training artifacts are saved to:
result/checkpoints/precipdd.pt
result/training/metrics.jsonTrained Weights
The paper does not provide official model weights that can be used directly by this repository. No weights are bundled under weight/, and locally trained checkpoints are for engineering validation only.
Inference
python scripts/inference.pyInference loads a locally trained checkpoint and reads held-out daily precipitation anomalies. It averages AGMT estimates across ensemble members while retaining targets, years, days of year, and grid coordinates. The output supports the subsequent metrics and occlusion-sensitivity evaluation only. Inference results are saved to:
result/output/predictions.npzEvaluation and Visualization
python scripts/result.pyEvaluation computes daily and annual Pearson correlation and RMSE and measures the fraction of days with predicted AGMT above 0.42°C. It also computes AGMT and emergence-day trends and generates a 7×7 occlusion-sensitivity trend map. Synthetic-data results validate engineering only and do not represent formal paper performance. Evaluation results are saved to:
result/evaluation/metrics.json
result/evaluation/comparison.pngOfficial OneScience Information
Citation and License
This repository is an independent engineering reproduction of the public PrecipDD specifications, with code licensed under the Apache License 2.0.
The original paper is licensed under CC BY 4.0; the paper and data, including the CESM2 Large Ensemble, remain subject to the licenses and terms of their respective projects.
