# AOD-forecast **Repository Path**: sherlockjjobs/AOD-forecast ## Basic Information - **Project Name**: AOD-forecast - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-14 - **Last Updated**: 2026-08-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CAST-NYC:纽约都会区 15 天逐日 AOD 预报(完整代码包) 对标 Cheng et al. (2026, GRL) 的框架,使用 CAST(Cross-covariate Adaptive Spatio-Temporal Transformer)在纽约都会区(74.9°W–72.9°W, 40.1°N–41.3°N) 做 0.05° 网格、过去 30 天 → 未来 15 天的逐日 AOD 预报。 ## 文件结构 | 文件 | 作用 | |---|---| | `config.py` | 全部配置:区域、时段、变量、模型/训练超参 | | `data_gee.py` | 从 GEE 导出逐日数据(MAIAC AOD、ERA5-Land、ERA5 BLH、MODIS 火点、静态层、GFS 未来预报) | | `demo_synthetic.py` | 无 GEE 账号时生成合成数据,端到端验证管道 | | `pipeline.py` | 预处理(归一化/滑窗/掩膜)+ 训练(pinball 损失 + P99 加权 + 早停)+ 评估出图 | | `model.py` | CAST 模型:Patch 嵌入 → 自适应图空间混合 → 因果时序 Transformer(RoPE) → 未来协变量交叉注意力解码器 → 分位数输出头 | | `README.md` | 本文件 | ## 运行步骤 ```bash # 0. 环境 pip install earthengine-api torch numpy matplotlib requests # 1. GEE 认证(浏览器登录一次) earthengine authenticate # 2. 导出数据(project 已内置 dazzling-pillar-474603-e4;--with-gfs 导出未来协变量) python data_gee.py --start 2021-01-01 --end 2024-12-31 --with-gfs # 3. 训练 + 评估 + 出图(真实数据) python pipeline.py --mode real # 或者:无 GEE 账号时跑合成数据 demo(自动先生成数据再训练) python pipeline.py --mode demo ``` 输出:`work/figures/` 下四张图(训练曲线、R/RMSE 随时效衰减、 Day1/8/15 散点密度、个例预报地图)+ `metrics.json`。 ## 单张 V100 预计耗时 | 阶段 | 耗时(估计) | 说明 | |---|---|---| | GEE 数据导出(纽约 4 年) | 2–6 小时 | 瓶颈在 GEE 端 getDownloadURL 逐日下载,与 GPU 无关 | | 预处理(滑窗/归一化) | < 1 分钟 | CPU 一次性完成 | | **模型训练(纽约 0.05°, ~1700 样本, 60 epochs)** | **约 5–15 分钟** | 全量配置 d=128、~3M 参数,每 epoch 仅秒级 | | 评估出图 | < 1 分钟 | | | **CONUS 全量(0.25°, N=1250, d=256, 60 epochs)** | **约 1–2 小时** | 供后续扩展参考 | 即 V100 上模型本身非常轻,**真正的时间成本在 GEE 数据下载**; 建议先把 `data_gee.py` 挂后台跑一晚上,次日训练只需几分钟。 ## 备注 - 云缺失:训练与评估均只在 MAIAC 观测像素上计算损失(掩膜损失范式)。 - 无 GFS 时管道自动降级为全零未来协变量(仍可训练,用于消融对比)。 - 沙箱演示版(demo 模式)为适配 2 核/4GB 环境缩小了模型与样本量; 在 V100 上请直接使用 `config.py` 默认配置。