1. 引言
贵阳龙洞堡国际机场(以下简称贵阳机场)地处贵州省会贵阳市东郊,机场标高1138.9 m,是我国西部重要航空枢纽,机场周边地形条件复杂,常受低能见度天气影响。雾(能见度 < 1000米的视程障碍现象)作为低能见度天气的核心致因,对民航安全正常运行带来较大影响。贵阳机场周边地面观测站点较少,空间覆盖有限,难以捕捉机场周边雾的生成与演变动态。而葵花系列卫星、风云系列等的新一代静止气象卫星通过高时空分辨率观测,突破了时空监测瓶颈,可敏感捕捉雾相变过程中的辐射特性差异,实现夜间无光照条件下的雾区精准识别。国内外学者对于卫星遥感雾监测技术进行了系统性研究,在静止气象卫星夜间雾识别、机器学习算法融合及多源数据协同监测方面成果显著。在静止卫星夜间雾识别技术方面,王宏斌等[1]基于葵花8号卫星数据,利用3.9 μm与11.2 μm通道亮温差和3.9 μm伪比辐射率法实现了中国地区夜间雾的识别。郝姝馨等[2] [3]通过Himawari-8红外数据提出多指数概率分布算法,定义海雾–水体分离指数,实现黄渤海夜间海雾动态跟踪。王宏斌等[4]进一步验证重污染条件下雾识别时,3.9 μm伪比辐射率法KSS评分达0.75。孙佳庆等[5]结合CALIPSO激光雷达验证了静止卫星对大雾垂向结构的探测能力。在机器学习与多源数据融合领域,YAO Z等[6]融合FY-4A卫星与地面站数据,发现随机森林(RF)模型在雾识别中表现最优。张毅等[7]基于FY-4A/AGRI数据,采用最小二乘动态拟合实现南海海雾监测。付玉琴等[8]利用MODIS数据训练全卷积神经网络,北冰洋海雾检出率达79.91%。胡争胜等[9]提出GridDehazeNet与Real-ESRGAN复合网络,显著提升雾区卫星影像清晰度。彭波等[10]结合FY4A与地面数据构建LightGBM等模型,雾分类准确率最高达0.927。在雾的时空特征与算法优化方面,马慧云等[11]针对Himawari-8开发时序影像合成法,冬季陆地雾检测正确率96.6%。胡晨悦等[12] [13]联合CALIOP激光雷达与静止卫星,发现福建沿海云下雾多发,其FY-4A监测算法准确率83.5%。叶子恒等[14]分析京津冀雾演变过程,揭示平流雾受水汽输送调控,辐射雾分布受地形与热岛效应影响。高松影等[15]指出黄渤海海雾形成需满足气–海温差阈值。史文倩等[16]总结葵花8号卫星云图在厦门机场平流雾预报中的应用价值。尚华哲等[17]开发基于高程调整阈值的雾霾识别算法,误差率仅4.17%。之前的研究主要集中于沿海地区,本文则立足与云贵高原山地机场,研究利用卫星的大范围覆盖能力对夜间雾识别的技术方法,为低能见度天气的实时预警提供技术参考。
2. 资料和方法
2.1. 卫星资料
葵花8号/9号(Himawari-8/Himawari-9,以下简称葵花卫星)静止气象卫星是由日本气象厅主导研发的新一代地球静止轨道气象卫星,也是Himawari系列的第三代卫星。葵花8号于2014年10月7日发射,2015年7月正式投入业务运行,葵花9号于2016年11月2日发射,两颗卫星功能一致互为备份,自2022年12月14日起,葵花9号卫星作为主用。葵花8号/9号卫星均定点于140.7˚E赤道上空约36,000公里处,可覆盖地球表面约三分之一区域,适用于东亚及西太平洋地区的连续气象监测。葵花卫星的时空分辨率高,全盘扫描频率达每10分钟一次,机动区域可加密至2.5分钟,空间分辨率在0.5~2 km之间。葵花卫星具有多光谱协同观测能力,搭载了16通道高分辨率成像仪(表1),包含3个可见光通道、3个近红外通道、1个短波红外通道、3个水汽通道、5个红外通道及1个二氧化碳通道,显著提升了对云层、地表温度及大气参数的捕捉精度,为台风、雾等快速演变天气系统的动态追踪提供了不可替代的数据支持。本文选取2020~2024年的葵花卫星全圆盘资料,其中2022年12月14日以前的为葵花8号卫星数据,之后的为葵花9号卫星数据。
Table 1. Channel information of the Sunflower satellite
表1. 葵花卫星通道信息
通道号 |
中心波长(μm) |
波段类型 |
星下点分辨率(km) |
主要应用场景 |
1 |
0.47 |
可见光(VIS) |
1.0 |
气溶胶监测、海洋颜色观测 |
2 |
0.51 |
可见光(VIS) |
1.0 |
真彩色合成、植被识别 |
3 |
0.64 |
可见光(VIS) |
0.5 |
高分辨率云图、地表细节 |
4 |
0.86 |
近红外(NIR) |
1.0 |
云相态识别、植被指数 |
5 |
1.6 |
近红外(NIR) |
2.0 |
云粒子相态(冰/水)、雪覆盖 |
6 |
2.3 |
近红外(NIR) |
2.0 |
云微物理特性、气溶胶厚度 |
7 |
3.9 |
短波红外(SWIR) |
2.0 |
地表热异常(火灾)、夜云监测 |
8 |
6.2 |
水汽(WV) |
2.0 |
中层大气水汽、风暴发展监测 |
9 |
6.9 |
水汽(WV) |
2.0 |
高层大气水汽、急流分析 |
10 |
7.3 |
水汽(WV) |
2.0 |
低层水汽、降水潜力评估 |
11 |
8.6 |
红外(IR) |
2.0 |
云顶相态、火山灰监测 |
12 |
9.6 |
红外(IR) |
2.0 |
臭氧层监测、对流层顶温度 |
13 |
10.4 |
清洁窗区红外(IR) |
2.0 |
地表/云顶温度、热岛效应 |
14 |
11.2 |
红外窗区(IR) |
2.0 |
云检测、海表温度(SST) |
15 |
12.4 |
红外窗区(IR) |
2.0 |
低层水汽、沙尘监测 |
16 |
13.3 |
二氧化碳吸收带(CO2) |
2.0 |
云顶高度、大气稳定性分析 |
2.2. 地面观测资料
选取2020~2024年间贵阳机场地面气象观测数据、机场例行天气报告、机场自动气象观测系统(AWOS)的资料,对贵阳机场历史雾天气的能见度进行提取。使用贵州省自动气象站数据,提取全省范围的低能见度天气情况。
2.3. 研究方法
Turner J等[18]在1986年提出,在短波红外通道,雾和云的发射率相近,使用短波红外通道难以区分雾与云,而在长波红外通道,雾和地面发射率相近,使用长波红外通道也难以区分雾与地面,而结合2个波段,由于不透明的雾在大气窗区通道辐射特性类似于黑体,其比辐射率接近1,而在短波红外通道比辐射率明显要小,因此雾区3.9 μm通道亮温小于11.2 μm亮温,根据短波与长波红外通道的亮温差值探测无云层遮挡的地面雾区分布能较好地区分雾、高云和地面。因此,可通过通道亮温差法计算3.9 μm和11.2 μm通道亮温差,进行夜间雾的识别。对于葵花卫星而言,利用其短波红外通道(3.9 μm)和红外窗区通道(11.2 μm)亮温差(BTD3.9-11.2)用于雾的检测和识别。计算公式如下:
其中:BT3.9、BT11.2分别为通道7 (中心波长3.9 μm)和通道14 (中心波长11.2 μm)的亮温。对2020~2024年间贵阳机场出现的5次典型雾天气进行分析,找出识别雾的有效阈值区间。
由于云的存在,在雾的识别中会出现误判,从而造成判别上的遗漏和虚判,根据王宏斌等[4]的研究,可以采取通道14 (中心波长11.2 μm)的亮温对云进行剔除,若该通道亮温值 < 260 K (即−13.15℃)时,认为该处为低云而非雾。
3. 研究过程和结果
2020~2024年间,贵阳机场共出现43次雾天气过程,其中持续时间超过2小时的28次,同时因亮温法识别雾仅适用于夜间,因此需排除日出之后出现雾的情况。对天气过程进行筛选后,剩余23次雾天气过程,作为此次研究的对象。
3.1. 卫星资料数据下载及处理
3.1.1. 卫星资料数据格式选取
葵花卫星目前的数据资料分为HSD和netCDF两种格式。HSD格式存储原始辐射率数据,按扫描线和像素组织,需自行计算地理位置,文件体积较大(每时次全圆盘约2.5 GB),数据资料的整合度不高(每个通道均为单独数据文件),主要用于卫星定标和算法开发,而netCDF格式提供处理后的网格化地球物理产品,直接包含经纬度坐标和质量控制标志,文件体积更小(每时次全圆盘约600 MB),每时次数据文件中包含有全部16个通道的数据,整合度高,主要用于气象业务分析和可视化,两者本质是原始“相机底片”与精修“成品照片”的关系,因此,本文使用netCDF格式的葵花卫星资料。
netCDF格式的葵花卫星资料数据命名方式为:NC_Hbb_yyyymmdd_hhmm_rxx_FLDK.0aaaa_0bbbb.nc。其中Hbb表示卫星编号,H08为葵花8号卫星,H09为葵花9号卫星,yyyymmdd_hhmm表示卫星数据资料的观测时间,即年月日与小时分钟。rxx_FLDK.0aaaa_0bbbb主要表示卫星数据资料的覆盖范围,分为r14_FLDK.02701_02601、R21_FLDK.02401_02401、R21_FLDK.06001_06001三类。如表2所示,其中r14_FLDK.02701_02601类型资料覆盖区域为日本周边,格点范围在123˚E~150˚E、24˚N~50˚N之间,格点数为2700 * 2600,单个时次文件大小70MB左右;R21_FLDK.02401_02401覆盖区域为东亚、太平洋与大洋洲,格点范围在 80˚E~20˚W、60˚S~60˚N之间,格点数为2400 * 2400,单个时次文件大小120 MB左右;R21_FLDK.06001_06001资料,覆盖区域与前者相同,均为东亚、太平洋与大洋洲,格点范围同在80˚E~20˚W、60˚S~60˚N之间,格点数为6000 * 6000,单个时次文件大小600 MB左右。综合贵阳机场经纬度以、分析需要以及后续业务化对下载速度的要求,以资料数据文件处理的性能需求,选取R21_FLDK.02401_02401数据进行分析。
Table 2. Comparison of data coverage for Himawari satellite data in netCDF format
表2. netCDF格式的葵花卫星资料数据覆盖范围对照表
文件类型 |
覆盖区域 |
经纬度范围 |
格点数 |
单个时次文件大小 |
r14_FLDK.02701_02601 |
日本 |
123˚E~150˚E 24˚N~50˚N |
2700 * 2600 |
70 MB左右 |
R21_FLDK.02401_02401 |
东亚、西太平洋、大洋洲 |
80˚E~20˚W 60˚S~60˚N |
2400 * 2400 |
120 MB左右 |
R21_FLDK.06001_06001 |
东亚、西太平洋、大洋洲 |
80˚E~20˚W 60˚S~60˚N |
6000 * 6000 |
600 MB左右 |
3.1.2. 卫星资料数据下载
葵花卫星的数据资料可以在JAXA网站注册后,使用FileZilla工具通过ftp.ptree.jaxa.jp进行免费下载,该方法时效性较高,最新的卫星探测数据能够在25分钟内下载,具有较强的业务运用价值。
3.1.3. 卫星资料数据处理
资料数据资料下载到本地后,通过Python对葵花卫星数据进行处理,首先通过netCDF4库读取卫星资料数据,代码如下:
# 加载netCDF库
import netCDF4 as nc
# 读取卫星数据文件
dataset = nc.Dataset("satellite_data.nc")
# 提取关键气象参数
longitude = dataset['lon'] [:] # 经度网格
latitude = dataset['lat'] [:] # 纬度网格
channel14 = dataset['tbb_14'] [:] # 11.2 μm红外通道亮温
channel07 = dataset['tbb_07'] [:] # 3.9 μm短波红外通道亮温
通过cartopy库对地理空间进行处理,便于将卫星资料数据进行精准空间配准,代码如下:
# 导入地理信息处理库
import cartopy.crs as ccrs
import cartopy.io.shapereader as shpreader
# 设置地理投影系统
projection = ccrs.PlateCarree() # 等经纬度投影
# 定义研究区域范围 [min_lon, max_lon, min_lat, max_lat]
region_extent = [103.6, 109.5, 24.6, 29.5] # 以贵州省为例
# 加载行政区划边界
province_boundary = shpreader.Reader("Guizhou_Province.shp")
# 创建地理坐标系
ax = plt.axes(projection=projection)
ax.set_extent(region_extent) # 设置显示范围
通过pandas库定点数据提取贵阳机场数据,通过查找最近网格的方式提取该点的通道亮温数据,并输出为EXCEL作为后续阈值研究的数据。代码如下:
# 导入结构化数据库
import pandas as pd
# 定义贵阳机场位置坐标
target_lon = 106.8 # 经度
target_lat = 26.54 # 纬度
# 查找最近网格点
lon_idx = np.argmin(np.abs(longitude - target_lon))
lat_idx = np.argmin(np.abs(latitude - target_lat))
# 提取位置数据
location_data = {
'时间': timestamp,
'经度': longitude[lon_idx],
'纬度': latitude[lat_idx],
'通道07亮温': channel07[lat_idx, lon_idx],
'通道14亮温': channel14[lat_idx, lon_idx],
'亮温差': brightness_temp_diff[lat_idx, lon_idx]
}
# 构建时间序列数据集
import pandas as pd
df = pd.DataFrame(all_location_data)
df.to_excel("airport_fog_data.xlsx") # 导出结构化数据
通过对导出的结构化数据与贵阳机场观测数据进行对比分析,研究通道亮温差法的本地化阈值,假设阈值区间为[min_bt_diff,max_bt_diff],并通过numpy库对通道亮温差法数据进行计算,同时对低云进行剔除,增加识别准确率。代码如下:
# 加载雾区识别核心算法所需数据计算库
import numpy as np
# 计算双通道亮温差
bt_diff = tbb_07 - tbb_14
# 初始雾区识别(基于亮温法)
fog_candidate = np.logical_and(bt_diff >="min_bt_diff", bt_diff <= "max_bt_diff")
# 低云剔除,当通道14亮温<260K时判定为低云而非雾
low_cloud_mask = tbb_14 < 260 # 260K阈值
final_fog_mask = np.logical_and(fog_candidate, ~low_cloud_mask)
matplotlib库是可视化呈现框架,作为最终的绘图引擎,承担创建图形容器、渲染红外云图与雾区识别图层、添加色标与标题、控制字体样式和输出高清图像等可视化任务,实现对雾区识别情况的可视化功能,其中采用通道14数据绘制红外云图底图,采用灰色系,雾区识别情况采用蓝色系。
# 加载可视化渲染
import matplotlib.pyplot as plt
# 绘制红外云图底图
plt.pcolormesh(lon, lat, tbb_14-273.15,
cmap='gray_r', vmin=-80, vmax=30)
# 叠加最终雾区识别结果
plt.pcolormesh(lon, lat, np.where(final_fog_mask, bt_diff, np.nan),
cmap='Blues',alpha=0.7,vmin=min_bt_diff, vmax=max_bt_diff)
综上所述,数据处理的流程如图1所示。采用netCDF4库作为数据读取引擎,从.nc文件中提取经纬度网格、红外通道亮温数据等科学数据集;cartopy库是地理空间处理核心,提供地图投影系统、行政区划边界加载、经纬度网格配置及坐标转换功能,确保数据在地理坐标系中准确定位;pandas库是结构化数据处理核心,提取贵阳机场上空的亮温差并存储表和形式便于后续阈值分析;numpy库是雾识别算法核心,通过计算亮温差并进行低云剔除,得到雾区数据组;matplotlib是可视化呈现框架,执行渲染红外云图底图与雾区识别图层等可视化任务。
Figure 1. Flowchart of Himawari satellite data processing for fog detection algorithm based on channel brightness temperature difference method
图1. 基于通道亮温差法的雾识别算法的葵花卫星数据处理流程图
3.2. 雾识别算法阈值分析
将2020~2024年经过筛选以后的23次雾天气过程,采用上述3.1中所述方法得出23次雾天气过程的结构化数据,数据包括卫星数据资料观测时间、通道7亮温、通道14亮温和两通道亮温差,并将数据与同一时次的贵阳机场地面观测的能见度进行组合,得到出现雾天气过程当日12~23时UTC的逐小时数据集,数据集共计276条数据,按照能见度数值,将数据集分为浓雾(能见度 < 500米)、雾(500米 ≤ 能见度 < 1000米)和轻雾或晴(1000米 ≤ 能见度)三类,据此进行阈值分析。
3.2.1. 雾与通道亮温差特征分析
图2给出了276条数据的能见度类别分布情况,有136个时次为轻雾或晴,占比49.3%,有74个时次出现了雾,占比26.8%,有66个时次出现了浓雾,占比23.9%。其中轻雾或晴的时次主要分布在12UTC~17UTC之间,17UTC~23UTC之间则以雾或浓雾为主。
图3给出了不同能见度类别的亮温差分布情况,表明通道亮温差与能见度存在显著相关性:浓雾(能见度 < 500米)对应的亮温差中位数为−4.65℃,其四分位距(IQR)范围为−5.13℃至−4.19℃,且75%的观测值低于−4.0℃,最小极值达−7.22℃,表明浓雾事件中亮温差呈现深度负值特征;雾(能见度500~1000米)的亮温差中位数为−3.25℃,分布范围(−5.08℃至3.70℃)较浓雾更广,但75%的观测值仍低于−1.49℃,且存在若干正值异常点;轻雾或晴好天气(能见度 ≥ 1000米)的亮温差中位数为−0.18℃,其数据分布最为分散(−5.21℃至5.13℃),75%分位数为1.09℃,且存在多个高亮温差(>4℃)的离群点。值得注意的是,当亮温差低于−4℃时,能见度基本不超过1000米(全部属于雾或浓雾),而亮温差高于2℃时则全部对应轻雾或晴好天气,这一分布规律验证了通道亮温差作为雾监测指标的有效性。
Figure 2. Hourly visibility category distribution from 12UTC to 23UTC during fog weather processes from 2020 to 2024
图2. 2020~2024年雾天气过程当日12UTC~23UTC的逐小时能见度类别分布
Figure 3. Box plot of channel brightness temperature difference distribution for different visibility categories from 2020 to 2024
图3. 2020~2024年不同能见度类别的通道亮温差分布箱型图
3.2.2. 雾识别的起始最佳阈值计算
ROC曲线(Receiver Operating Characteristic Curve,接收者操作特征曲线)是一种用于评估二分类模型性能的经典工具,广泛应用于机器学习、统计分析等领域[19]。本文使用ROC曲线评估不同通道亮温差阈值识别雾的性能,主要研究的是雾的起始识别最佳阈值。
首先定义真正例率和假正例率,真正例率(TPR)又称为灵敏度,是所有正样本被分类器判定为正样本的比例,本文代表正确雾被识别的比例:
假正例率(FPR)是所有负样本被分类器判定为正样本的比例,本文代表无雾被错误识别为有雾的比例:
其中:真正例(TP):实际为有雾,模型预测为有雾。假正例(FP):实际为无雾,模型预测为有雾。真负例(TN):实际为无雾,模型预测为无雾。假负例(FN):实际为有雾,模型预测为无雾。
选择Youden指数最大的点作为最佳阈值,Youden指数的计算方法:
取Youden指数最大时,即TPR最大化且FRP最小化,此时阈值的性能最佳。计算所有数据集中所有通道亮温差识别雾的ROC曲线,如图4所示,AUC = 0.96,说明通道亮温差识别雾的方法总体性能优异。当取−1.12为最佳阈值时,即通道亮温差小于−1.12℃时开始识别为雾,此时阈值准确率(所有准确识别的比例)为0.942,召回率(雾检出率)为0.929,精确率(识别有雾实际有雾的比例)为0.956,F1分数(召回率与精确率的调和平均)为0.942,显示出优异的识别性能。
Figure 4. ROC curve for fog identification based on channel brightness temperature difference
图4. 通道亮温差识别雾的ROC曲线
3.2.3. 雾识别的起始最佳阈值验证
为验证雾识别起始阈值的有效性,将通道亮温差从−10℃至10℃之间划分为10个阈值分区,统计每个阈值分区的雾出现概率,结果如图5所示。可以看出通道亮温差与雾天气过程发生与否之间的定量关系:通道亮温差在[−10, −5)区间时,雾发生率为97.0%;通道亮温差在[−5, −4)区间时,雾发生率为97.3%;通道亮温差在[−4, −3)区间时,雾发生率为96.4%;通道亮温差在[−3, −2)区间时,雾发生率为88.2%;通道亮温差在[−2, −1)区间时,雾发生率为88.0%;通道亮温差在[−1, 0)区间时,雾发生率降低至21.1%;当通道亮温差 > 0℃时,雾发生率仅为10.7%,且主要出现在能见度接近1000米的临界状态,有效验证了−1.1℃最佳阈值的有效性。
Figure 5. Probability of fog occurrence in different brightness temperature difference intervals across channels
图5. 不同通道亮温差区间的雾发生概率
4. 典型案例
2024年2月9日19:56~10日03:05 (UTC)贵阳机场出现一次辐射雾天气过程,最低能见度200米,造成贵阳机场57架次航班延误,2架次航班备降。对天气过程的夜间时段的能见度和通道亮温差进行统计(表3),可以看出按照上述分析总结的最佳起始识别阈值,该案例的通道亮温差能够准确识别低能见度天气。
使用上述3.1中的方法对该时段贵州区域的通道亮温差法识别雾的情况进行可视化(如图6所示),
Table 3. Comparison of visibility and channel brightness temperature difference at Guiyang Airport from 17UTC to 23UTC on February 9, 2024
表3. 2024年2月9日17UTC~23UTC贵阳机场能见度与通道亮温差对比表
时间 |
18UTC |
19UTC |
20UTC |
21UTC |
22UTC |
23UCT |
能见度(米) |
4000 |
3000 |
500 |
200 |
200 |
200 |
通道亮温差(℃) |
−0.18 |
−0.13 |
−1.20 |
−2.49 |
−3.02 |
−4.91 |
该图基于自然资源部标准底图服务网站下载的审图号为GS(2018)1432号的标准地图制作,底图无修改。
Figure 6. Identification of fog areas using channel brightness temperature difference method from 18UTC to 23UTC on February 9, 2024
图6. 2024年2月9日18UTC~23UTC通道亮温差法雾区识别情况
并与贵州省自动气象站的过去1小时最小能见度(如图7所示)进行对比。可以看出该方法在使用[−7, −1.12]为雾区识别阈值时,能够较好地反演地面出现的低能见度区域,尤其是贵州中部、东部地区以及贵阳机场的反演效果较好,但在贵州西南部出现部分区域的虚假识别情况,需要结合当地的具体情况对阈值进行本地化调整。
Figure 7. Minimum visibility in the past 1 hour at automatic weather stations in Guizhou Province from 18UTC to 23UTC on February 9, 2024
图7. 2024年2月9日18UTC-23UTC贵州省自动气象站过去1小时最小能见度
5. 结论
本文基于2020~2024年葵花8/9号卫星数据及贵阳机场地面观测资料,研究适用于云贵高原山地机场的夜间雾识别技术,主要结论如下:
(1) 通道亮温差算法实现:选用葵花卫星netCDF格式的数据,构建3.9 μm与11.2 μm通道亮温差(BTD3.9-11.2)算法,融合低云剔除算法可提升精度。
(2) 通道亮温差法阈值计算:通过ROC曲线确定雾识别最佳起始阈值为−1.12℃,此时准确率94.2%,召回率92.9%。
(3) 雾强度分级指标:浓雾通道亮温差中位数为−4.65℃,显著低于雾的−3.25℃以及轻雾的−0.18℃,定量支持雾强度反演。
(4) 业务化可行性:通过实际案例验证了算法及阈值的有效性,并通过图形化产品与实况能见度进行对比,在贵阳机场与贵州中东部的适用效果较好。
基金项目
中国民用航空西南地区空中交通管理局创新类项目(基于贵阳龙洞堡机场重要天气案例库的辐射雾预报方法研究 SWATMB-202402)资助。