OneScience-Group/ScaleAdaptiveCM
025
1---2license: apache-2.03language:4- zh5- en6tags:7- OneScience8- 地球科学9- 概率降尺度10- 一致性模型11frameworks: PyTorch12---13 14<p align="center"><strong><span style="font-size: 30px;">ScaleAdaptiveCM</span></strong></p>15 16# 模型介绍17 18ScaleAdaptiveCM 使用单步一致性生成模型将粗分辨率地球系统模式降水场转换为高分辨率概率降水场,用于快速、尺度自适应的气候降尺度和不确定性分析。19 20论文:Fast, scale-adaptive and uncertainty-aware downscaling of Earth system model fields with generative machine learning 21https://doi.org/10.1038/s42256-025-00980-522 23# 模型描述24 25该方法由波茨坦气候影响研究所、慕尼黑工业大学和南京信息工程大学等机构的研究团队提出。论文使用 ERA5 逐日降水训练一致性模型,并使用 POEM、GFDL-ESM4 和 SpeedyWeather.jl 等模式数据评估。模型适用于从 `60×96` 粗网格生成 `240×384` 高分辨率降水集合。26 27# 适用场景28 29| 场景 | 说明 |30| :---: | :--- |31| 概率降水降尺度 | 将粗分辨率 ESM 降水场转换为高分辨率集合。 |32| 尺度自适应生成 | 通过噪声尺度控制保留的大尺度模式和生成的小尺度结构。 |33| 本地工程验证 | 验证一致性训练、单步采样、集合均值和离散度。 |34| ModelScope/OneCode 运行 | 在 ModelScope 或 OneCode 环境中验证结构化数据、训练、推理、降尺度指标和可视化流程。 |35| 多卡训练 | 通过 `torchrun` 验证分布式训练和 checkpoint 流程。 |36 37# 使用说明38 39## 1.OneCode40 41[点击体验智能化一键式 AI4S 编程](https://web-2069360198568017922-iaaj.ksai.scnet.cn:58043/home)42 43## 2.下载安装44 45```bash46modelscope download --model OneScience/ScaleAdaptiveCM --local_dir ./ScaleAdaptiveCM47cd ScaleAdaptiveCM48```49 50### 环境依赖51 52**硬件要求**53 54- 推荐使用 GPU 或 DCU 运行。55- CPU 可用于默认小样本配置的连通性验证。56- DCU 用户需预先安装 DTK,建议使用 DTK 25.04.2 以上版本或与当前集群匹配的 OneScience 推荐版本。57 58**DCU环境**59 60```bash61# 请首先激活 DTK 及 Conda62conda create -n onescience311 python=3.11 -y63conda activate onescience31164pip install onescience[earth-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai65```66 67**GPU环境**68 69```bash70# 请首先激活 Conda71conda create -n onescience311 python=3.11 -y libstdcxx-ng=12 libgcc-ng=12 gcc_linux-64=12 gxx_linux-64=1272conda activate onescience31173pip install onescience[earth-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/ --trusted-host mirrors.onescience.ai74```75 76### 训练数据介绍77 78论文使用 1940-2018 年 ERA5 逐日降水,目标网格为 `240×384`,ESM 原生网格为 `60×96`。本仓库生成具有 ITCZ、天气系统和小尺度间歇性的结构化虚拟降水场,并保持真实四倍降尺度关系。虚拟数据仅用于验证工程流程,不代表 ERA5 或 ESM 的真实分布、训练规模或论文性能。79 80```bash81python scripts/fake_data.py82```83 84### 训练85 86单卡训练可使用:87 88```bash89python scripts/train.py90```91 92多卡训练可使用:93 94```bash95torchrun --nproc_per_node=8 --nnodes=1 --rdzv_id=1000 --rdzv_backend=c10d --max_restarts=0 --master_addr="localhost" --master_port=29500 scripts/train.py96```97 98默认配置缩小样本数、网络宽度和训练轮数,但不缩小 `60×96 → 240×384` 空间协议。正式实验需要真实 ERA5 与 ESM 数据和论文规模模型,训练产物保存到:99 100```text101result/checkpoints/scale_adaptive_cm.pt102result/training/metrics.json103```104 105### 训练权重106 107论文未提供可直接加载的官方模型权重,本仓库不在 `weight/` 中内置权重。本地 checkpoint 不得描述为官方预训练权重。108 109### 推理110 111```bash112python scripts/inference.py113```114 115推理对粗分辨率降水场施加尺度引导噪声,并在单次网络调用中生成高分辨率集合。结果保存到 `result/output/predictions.npz`。116 117### 评估和可视化118 119```bash120python scripts/result.py121```122 123评估计算 MAE、RMSE、大尺度相关性、功率谱误差和 ensemble CRPS,并生成输入、目标、集合均值与误差图。结果保存到 `result/evaluation/metrics.json` 和 `result/evaluation/comparison.png`。124 125# OneScience官方信息126 127| 平台 | OneScience 主仓库 | Skills 仓库 |128| --- | --- | --- |129| Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills |130| GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills |131 132# 引用与许可证133 134本仓库为 ScaleAdaptiveCM 公开规格的独立工程复现版本。135 136本仓库代码、官方模型权重和数据的使用仍应以各自项目中的许可证及使用条款为准。137 