霞光SKYGLOW
ERA5 · CAMS · Open-Meteo
常用
晚霞 · SUNSET
上海·—·—
—
置信度 —
—%
待计算
出现火烧云的概率
—
最佳观赏窗口
—
峰值时刻
—
主受光云层
—
预计色彩
—
黄昏方位 —
太阳高度 —

四源对照

同一地点、同一时刻,四种气象场各自代入同一模型
上游云量沿用 Open-Meteo 采样;AOD 来自 CAMS,四个源共用。

分时演变

可观赏度 太阳高度角 最佳窗口
横轴为相对日落/日出时刻的分钟数。

成霞因子

四源对照 · 0–100,越高越有利

云层剖面

受光高度与亮度
AZIMUTH & GEOMETRY

方位与几何

以观测点为中心,沿 16 个方位扫描 400 km 内的云况

晚霞方位雷达

越靠外,越容易在该方向看到霞光
—

几何模型

—
CROSS-CHECK

模型交叉比对

物理模型、神经网络与三家数值模式的独立结果
物理模型PHYSICS
—
—
神经网络MLP
—
—
多模式集合ENSEMBLE
—
—

未来七日

按日落时刻计算 · 点击切换日期
加载中…

数据源直连

Open-Meteo 取数失败时,可自动改从 ECMWF / GFS / ICON 官方档案直接下载 GRIB2 解码。直连只取最近格点,无上游环带。

—
调用地址固定为 Open-Meteo 官方端点(api / archive / air-quality)。 配额按 IP 统计,不存在可绕开的独立额度,故不提供中转设置。

WeatherAPI(主校验源)

提供总云量、能见度、湿度、降水、降水概率、露点、天气现象。无分层云量与 AOD,因此不参与概率打分,而是承担两件事:把四源诊断结果与独立观测对照,以及在 Open-Meteo 缺测时补齐能见度/湿度/降水。

检查中
—
本项目不内置任何密钥。到 weatherapi.com 免费注册即可获得 Key(100 万次/月),填入上方保存,或用环境变量 WEATHERAPI_KEY。未配置时预测照常工作,只是少了校验与缺测补位。

和风天气可选

仅提供总云量、能见度、湿度、降水,无分层云量、无气溶胶光学厚度。默认不启用——仅在 WeatherAPI 不可用时接手校验与缺测补位。需要请自行填写 Host 与密钥。

未配置
私钥:未找到 · 将 ed25519 私钥保存为 skyglow/qweather-private.pem
—
免费额度:天气和基础服务每月前 5 万次。同一地点的朝霞与晚霞共用 1 次调用并按日缓存,正常使用每天约 12 次/地点。太阳辐射接口按 0.3 元/次计费,未接入。
数据去向:总云量仅用于交叉校验对照;能见度在 Open-Meteo 缺测时补入颜色纯度计算(标记 vis_from=qweather);不参与概率打分,也不拆分分层云量。
GLOW MAP

晚霞地图

两张地图均按需生成,日常查询只取目标地点 · 颜色越亮表示概率越高

全国

默认不生成,避免消耗大量配额
0%100%
全国图约消耗 600 个格点配额,首次生成约 40–60 秒;同一日期只需生成一次,之后切换数据源不再请求。

城市精细

默认不生成
城市图约消耗 169 个格点配额,覆盖目标点周边 ±1.5°(约 330 km),首次约 15–25 秒。
VALIDATION

回测验证

—

混淆矩阵

5 折交叉验证 · 行为实测,列为预测

概率校准

预测概率 vs 实际出现频率

与 sunsetbot 同期预报对比

同一测试集、同一标签
METHOD & DATA

预测逻辑与数据来源

1 · 太阳几何

用 NOAA 太阳位置算法计算当地日出日落时刻、方位角与太阳高度角(误差约 0.02°)。云底在太阳下沉到一定角度后进入地球阴影,受光极限为

α_min = −√(2h / R)

h 为云底高度,R 为地球半径。9 km 的卷云约在 −3.0° 失去直射光,1.5 km 的低云约在 −1.2°,这是"高云烧得久、低云烧得短"的几何根源。

2 · 光路与光谱

低太阳高度下光线沿地球切线传播,切点高度

h_t = h − R·α² / 2

沿该路径积分瑞利散射与气溶胶米散射的光学厚度,得到 400–700 nm 透射谱,再由 CIE 1931 配色函数转 sRGB,直接给出预计的霞光颜色与亮度。上层云受光路径短,保留更多短波,呈金黄;低云路径长、消光强,只剩暗红。

3 · 云幕、遮挡与通透度

高云/中云云量决定"可被染色的幕布"面积,低云主要起遮挡作用。沿太阳方位角在 120/250/380 km 三个环带取样 24 个点,按方位与距离加权,得到光路上游的低云遮挡与中云消光。气溶胶光学厚度(AOD)与相对湿度共同决定颜色纯度。

4 · 概率标定

上述物理量取 logit 后进入岭回归,输出 0–5 的强度潜变量,再用累积 logistic 标定为"出现火烧云"的概率与六档等级。标定参数由 2022–2023 上海 1109 条人工观测定级记录拟合,按日期分组做五折交叉验证,另留出 2023 下半年做时间切分检验。

5 · 对参考项目的取舍

本产品只借用公开资料中的物理内核(受光几何、大气消光、云属判据),实现上刻意避开三类做法:

  • 不用"总云量单一阈值"打分:无法区分高云与低云,也无法处理太阳方向的光路遮挡;
  • 不做"多源任一达标即报警"的并集策略:会系统性抬高空报率,对拍摄决策有害;
  • 不把 sunsetbot 的预测值当作特征或标签:那是循环论证。回测只使用它的实测质量列作为标签。

相对地,本产品把"光路上游"显式建模:沿太阳方位在 120 / 250 / 380 km 三个环带取 24 个样本点,按方位与距离加权,而不是只看天顶一个格点。

数据来源

变量来源分辨率
分层云量(低/中/高)ERA5 再分析 · Open-Meteo Archive;实时用 Open-Meteo Forecast0.25° / 1 h
气溶胶光学厚度 AOD(550nm)CAMS 全球大气组分 · Open-Meteo Air Quality0.4° / 1 h
相对湿度、露点、降水ERA5 / Open-Meteo0.25° / 1 h
边界层高度ERA5(用于估计低云云底)0.25° / 1 h
能见度Open-Meteo 预报;历史缺测时由 AOD+RH 反演1 h
地名解析Open-Meteo Geocoding—
交叉校验(可选)WeatherAPI.com 总云量/能见度1 h
历史实测定级sunsetbot.top 再分析记录(上海,2022-06 至 2023-12)逐日

所有接口均为免费公开服务,无需密钥。WeatherAPI.com 需自行申请免费 Key 并设置环境变量 WEATHERAPI_KEY;因其仅提供总云量、无分层云量与 AOD,故只用于一致性校验,不参与主评分。

已知局限

  • 模式网格 0.25°(约 25 km)会平滑掉云缝与云边界,局地"云洞漏光"无法解析。
  • 云的光学厚度不可得,只能用分层云量近似,厚卷层云与薄卷云被同等对待。
  • 气溶胶垂直廓线未知,等效消光高度存在 ±1 km 量级不确定性。
  • 回测标签来自上海单点人工观测,存在观测者主观差异与漏记;跨气候区迁移时阈值需重新标定。
  • 15 天以外的日期不提供预报;历史日期使用 ERA5 再分析,属"事后最优估计",精度高于当时的业务预报。

参考

  • sunsetbot.top《火烧云定量预报速成》第一–四章(几何模型、光谱消光、云属判据)
  • NOAA Global Monitoring Laboratory, Solar Calculator
  • Wyman, Sloan & Shirley (2013), Simple Analytic Approximations to the CIE XYZ Color Matching Functions
  • Hersbach et al. (2020), ERA5 global reanalysis, QJRMS
  • Inness et al. (2019), CAMS reanalysis, ACP