APP下载

风云4A卫星沙尘检测产品在内蒙古区域的应用

2021-08-16王家乐

科技与创新 2021年15期
关键词:经纬度沙尘绘制

王家乐,银 笛

(内蒙古气象信息中心,内蒙古 呼和浩特 010051)

1 引言

近年来,气象现代化建设推进迅速,天、地、空多种类的气象观测、探测设备日益丰富,气象信息的精度和时空密度都发生了根本性的改变。目前,内蒙古观测沙尘暴数据的观测台站仅有11个,大部分集中在中西部地区,分布不均匀。因此需要结合卫星数据协同对沙尘暴天气过程进行监测。风云四号卫星是中国新一代静止气象卫星[1],装载了多通道扫描成像辐射计(AGRI),具备从高空检测沙尘的能力,且在天气晴朗无云的条件下沙尘天气检测效率非常高,且下发了jpg格式的沙尘检测产品图片,但是制作的图片产品底图是纯黑色且不能着重凸显内蒙古区域的沙尘现象,产品如图1所示。因此,本文以L2通道下NC格式的FY-4A气象卫星的沙尘检测产品为研究对象,分析沙尘指标,绘制内蒙古区域的沙尘检测图。

图1 沙尘检测jpg产品图

2 沙尘检测产品介绍

文中选用的是风云四号卫星L2通道的全圆盘沙尘检测产品,产品格式为NC格式,分辨率为4 km,主要应用产品的沙尘分数(DST)数据,沙尘产品采用的是积分制,分数越高,则表示沙尘出现的概率越大[2]。产品文件名命名规则如下:

3 关键技术

3.1 Python语言简介

Python语言是跨平台的开源编程语言[3],是公认的全球5大流行语言之一,在云计算、大数据及人工智能领域都得到了广泛的应用,其语法简单、功能强大且简洁易读,可在Linux、Windows等多个平台无缝连接,社区活跃,集众人之力发布了很多标准库及功能类库,极大地提升了开发效率,文中主要应用了处理数据的Pandas类库,解析NC格式文件的netCDF4类库及绘制专题图的Basemap类库。

3.2 NetCDF文件介绍

NetCDF数据集(简称NC)是一种自描述的二进制数据格式,包含维(dimensions)、变量(variables)和属性(attributes)三种数据类型[4],变量存储的表征其物力性质的真实数据,维则对应的是变量的维度信息,属性则是变量辅助信息属性,主要用于存储气象科学中的气象数据,文中主要应用Python语言的netCDF4类库对NC数据集进行解析。

4 主要实现方法

4.1 成像仪标称行列号与经纬度匹配表生成

风云4A产品存储的位置信息是成像仪标称行列号,无实际的经纬度数据,需要读取标称网格文件,沙尘检测产品对应的经纬度文件为FullMask_Grid_4000_1047.raw,文件是一个2 748×2 748的规则网格,从北向南、从西向东依次填写,每个网格存储的是16个字节,前8字节为经度值,后8字节为纬度值,数据类型为double。文章研究的内蒙古区域 经 度 范 围 是97.3°E—126.2°E、纬 度 范 围 是37.3°N—53.4°N,编写Matlab程序,生成内蒙古区域标称行列号与经纬度匹配表,具体代码如下所示:

4.2 经纬度和沙尘分数数据预处理

4.2.1 经纬度数据预处理

成像仪标称行列号与经纬度匹配表存储的数据格式是“行号,列号,经度,纬度”,需要经过预处理将一维列式存储格式转为二维网格存储,读取匹配表中的最大和最小行列号,计算横向网格和纵向网格数,然后将经度和纬度一维数组转换为2维网格数据,具体代码如下所示:

4.2.2 沙尘分数数据预处理

利用netCDF4类库读取沙尘检测产品的沙尘分数数据集[5],按照内蒙古区域范围对沙尘分数数据集进行裁剪,具体代码如下所示:

4.3 沙尘检测图绘制

应用Matplotlib类库的子包Basemap绘制沙尘检测图,绘制步骤如下:

第一步,设置绘图区域及投影。创建一个Basemap实例,用来设置绘图区域和投影。文中绘图区域选择的是内蒙古区域,投影是墨卡托投影,代码如下所示:

m=Basemap(projection='merc',llcrnrlat=37.3,urcrnrlat=53.45,llcrnrlon=97.3,urcrnrlon=126.20,resolution='c')

第二步,经纬度与图像像素点转换。调用map函数将预处理的经纬度映射为绘制图像的像素点,代码如下所示:x,y=m(lons,lats)

第三步,设置绘图色标。选用十六进制作为设定颜色值的代码,沙尘分数值越大颜色越深,颜色编码序列为

['#FFE479','#FDDD6E','#F3AC5C','#FA7935','#F45A10','#F75 60E'],设置了颜色序列,还要为每一组颜色匹配对应的沙尘分数范围,沙尘分数数据列表为[12,15,17,19,21,23,24],代码如下所示:

第四步,绘制沙尘检测图。调用Basemap的内置函数contourf沙尘检测图绘制并保存为图片,代码如下所示:

5 应用与总结

本文基于全圆盘沙尘监测产品绘制了底图透明的内蒙古区域的沙尘检测图,产品如图2所示,并在内蒙古沙尘暴天气实时跟踪监测系统开展应用,为开展沙尘暴天气科研、预报预测以及气象服务提供了数据产品支撑。

图2 内蒙古区域沙尘检测图

致谢:在此,特别感谢国家卫星气象中心风云卫星遥感数据服务网http://satellite.nsmc.org.cn/提供的相关风云卫星沙尘监测产品及辅助数据。

猜你喜欢

经纬度沙尘绘制
Painting ski maps 绘制滑雪地图
绘制童话
绘制世界地图
基于经纬度范围的多点任务打包算法
自制中学实验操作型经纬测量仪
澳洲位移大,需调经纬度
神秘的不速之客