ML-MODIS / README_zh.md
zhangrenchao's picture
Publish ML-MODIS engineering reproduction
73ddb67 verified
|
Raw
History Blame Contribute Delete
5.86 kB
metadata
license: apache-2.0
language:
  - en
  - zh
tags:
  - OneScience
  - 地球科学
  - 气候诊断
  - Random Forest
frameworks: PyTorch

ML-MODIS

模型介绍

ML-MODIS 复现 Chen 等(2022)提出的卫星机器学习流程,依据气象状态估计未受 2014 年火山气溶胶扰动的云属性反事实,并据此诊断气溶胶云效应及其短波辐射贡献。

论文:Machine learning reveals climate forcing from aerosols is dominated by increased cloud cover
https://doi.org/10.1038/s41561-022-00991-6

模型描述

该方法由 University of Exeter、Met Office、ETH Zurich、University of Cambridge、NASA Goddard Space Flight Center、University of Leeds 和 Ludwig Maximilian University of Munich 等机构组成的研究团队提出。论文将 MODIS Collection 6.1 云产品与 ERA5 气象数据配对,使用非 2014 年样本训练月份与云属性目标相互独立的随机森林。模型根据气象条件生成反事实云属性,再将 2014 年 MODIS 观测与反事实比较,以诊断火山气溶胶引起的云响应和短波辐射强迫贡献。

适用场景

场景 说明
云属性反事实预测 从 ERA5 气象状态估计无火山扰动条件下的 NdreffLWPCF,并与 2014 年观测比较。
OOB 解释与辐射诊断 计算 OOB 技能和置换重要性,并诊断 Twomey、LWP 与 CF 的相对短波辐射贡献。
本地流程验证 使用结构化虚拟数据验证数据生成、训练、checkpoint 恢复、推理、评估和可视化。
ModelScope/OneCode 运行 在 ModelScope 或 OneCode 环境中验证结构化数据、训练、推理、反事实与辐射诊断指标和可视化流程。
多卡训练 通过 torchrun 验证分布式训练和 checkpoint 流程。

使用说明

1.OneCode

可通过 OneCode 在线环境体验智能化一键式 AI4S 编程:

点击体验智能化一键式 AI4S 编程

2.下载安装

modelscope download --model OneScience/ML-MODIS --local_dir ./ML-MODIS
cd ML-MODIS

环境依赖

硬件要求

  • 推荐使用 GPU 或 DCU 运行。
  • CPU 可用于默认小样本配置的连通性验证。
  • DCU 用户需预先安装 DTK,建议使用 DTK 25.04.2 以上版本或与当前集群匹配的 OneScience 推荐版本。

DCU环境

# 请首先激活DTK及CONDA
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环境

# 请首先激活CONDA
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

训练数据介绍

论文使用 MODIS Collection 6.1 云产品和 ERA5 气象数据,按年月、Terra/Aqua 平台及经纬度对齐,并排除 2014 年样本进行训练。每个样本包含 114 个输入特征,即 9 个廓线变量在 10 个压力层上的 90 个字段和 24 个单层字段,目标为 NdreffLWPCF。虚拟数据包含合理的气象、时空和云属性关系,仅用于验证工程流程,不代表 MODIS 或 ERA5 的真实数据分布、训练规模或论文性能。

python scripts/fake_data.py

训练

单卡训练可使用:

python scripts/train.py

多卡训练可使用:

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

训练为 September/October 的四个云属性分别构建随机森林;默认配置将每个森林由论文的 100 棵树缩为 12 棵,但不缩小 114 维输入、月份、目标和多模态对齐协议。正式实验需要真实 MODIS、ERA5 数据并核验补充材料中的字段定义,训练产物保存到:

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

训练权重

本仓库不在 weight/ 中内置权重,也未发现论文作者公开的模型权重或可直接下载的 checkpoint。论文仅说明代码可向通讯作者合理申请,当前本地 checkpoint 是工程训练产物,不声明与作者未公开的权重兼容。

推理

python scripts/inference.py

推理加载训练 checkpoint,根据 ERA5 气象条件生成四种云属性的反事实预测,并保存逐树预测、森林均值、观测和对齐信息。完整数值结果保存到 result/output/predictions.npz

评估和可视化

python scripts/result.py

评估计算 OOB MSE、R²、Pearson 相关系数、置换重要性、2014 年面积加权响应、susceptibility 和相对短波辐射贡献。结果保存到 result/evaluation/metrics.jsonresult/evaluation/comparison.png;虚拟数据结果仅用于工程验证,不代表论文正式性能或气候归因结论。

OneScience官方信息

引用与许可证

本仓库为 ML-MODIS 公开规格的独立工程复现版本。

本仓库代码采用 Apache-2.0 许可证;原论文和作者代码仍受其各自版权及使用条款约束。

MODIS Collection 6.1 和 ERA5 数据的使用应分别遵循 NASA Earthdata/LAADS DAAC 和 Copernicus Climate Data Store/ECMWF 的现行条款。