基于大气物理学的第一性原理计算,核心考虑米氏散射(Mie Scattering,大颗粒气溶胶对光的散射)和瑞利散射(Rayleigh Scattering,分子级散射)的综合作用。
输入参数:云量、能见度、AQI(气溶胶光学厚度AOD)、相对湿度
计算逻辑:当云量在30-70%区间时,阳光穿过云层边缘产生丁达尔效应,散射光最强;能见度越高、AQI越低,光线传播路径中的衰减越小,晚霞色彩越纯净。
分析云层的分层结构、云底高度和高云比例对晚霞形态的影响。
核心原理:中高云(2000-8000m)是晚霞的最佳"画布"——高度足够让阳光以低角度照射云层底部,同时云层颗粒大小适中能产生丰富的色彩渐变;碎积云、高积云、卷层云各有不同的晚霞表现特征。
风速也会影响云层的动态变化和纹理丰富度。
基于多年历史观测数据的统计回归模型,结合季节因子和纬度影响。
季节规律:秋季(9-11月)晚霞质量普遍最佳(天高气爽,温差大),夏季云层丰富但水汽过重,冬季空气干燥但色彩偏淡。
纬度效应:中纬度地区(20°-50°)太阳入射角最适合产生长光路散射,晚霞持续时间长、色彩层次多。
还纳入了温度日较差、气压变化趋势等经验因子。
评估晚霞的色彩层次和饱和度。
色彩分层:从地平线向上依次为深紫→粉紫→橙红→金色→淡黄,层次越多评分越高。
关键因子:相对湿度60-80%时色彩最丰富(水汽颗粒恰好能散射不同波长的光);能见度影响色彩的纯净度和饱和度;气溶胶成分影响红橙光与蓝紫光的比例。
🔗 数据融合策略
5套数据源加权融合:
• Open-Meteo 天气 权重 40% — 全球数值天气预报(温度/湿度/云量/风速/能见度/气压)
• 7timer.info 权重 25% — 基于GFS/GSM的天文气象专用数据
• Open-Meteo 空气质量 权重 15% — PM2.5/PM10/AOD/臭氧/UV指数
• Sunrise-Sunset.org 权重 15% — 精确日出日落、晨昏蒙影时刻
• Open-Meteo 海拔 权重 5% — 海拔高度影响大气密度与散射
融合方式:5源并行拉取(Promise.allSettled),对气象参数交叉验证后融合,再输入4个算法模型分别计算分数,最终加权合成晚霞指数。
容错机制:核心源(Open-Meteo天气)必须成功;辅助源失败自动降级,绝不返回假数据。
置信度评估:全5源正常 → 高;7timer或空气质量不可用 → 中;多源缺失 → 低。
💾 缓存与刷新机制
• 数据缓存时间:30分钟(同一城市30分钟内重复访问直接使用缓存)
• 当日预报:每小时自动更新一次(刷新页面时检查缓存时间)
• 远期预报(第3-7天):每天更新2次(06:00、18:00)
• 缓存存储:localStorage,key格式 sunset_cache_{lat}_{lon}
• 手动刷新:点击右上角刷新按钮可强制获取最新数据
• 注意:远期预报分数存在波动下调风险,建议以目标日期前24小时的预报为准