雷达数据处理和风场反演

举报
MeteoAI 发表于 2019/08/26 14:48:57 2019/08/26
【摘要】 强对流活动通常会伴随降水、降雹和龙卷风等现象,气象雷达则用于探测上述天气现象,并可以根据雷达观测数据采用外推等方法进行短临预报。对于科学研究和天气预报来说非常重要。气象雷达观测所产生的数据通常是二进制格式,需要根据对应的数据说明文档进行解码,然后生成雷达产品。雷达数据处理目前我国已经布设了较为密集的气象雷达观测网,针对不同的地区特点选择了不同波段雷达。用于处理雷达数据的Python库相对较多...


强对流活动通常会伴随降水、降雹和龙卷风等现象,气象雷达则用于探测上述天气现象,并可以根据雷达观测数据采用外推等方法进行短临预报。对于科学研究和天气预报来说非常重要。

气象雷达观测所产生的数据通常是二进制格式,需要根据对应的数据说明文档进行解码,然后生成雷达产品。

雷达数据处理

目前我国已经布设了较为密集的气象雷达观测网,针对不同的地区特点选择了不同波段雷达。用于处理雷达数据的Python库相对较多,比如PyART、wradlibPyCINRAD等。

PyART和wradlib可以处理多种格式的雷达数据,但主要格式均为美国天气雷达数据格式。这两个库均提供了雷达数据的校正功能,此外wradlib还可以根据雷达回波进行粒子识别和分类,还可以进行降雨估计及结果调整

PyCINRAD为国内开发者利用Python开发的用于处理国内常见气象雷达格式的开源库,目前实现了数据处理和可视化功能。

PyART和wradlib的用户较多,而且不少额外的雷达产品库(比如雷达风场反演、湍流的检测评估等)都提供了相应的接口直接处理PyART的输出对象。

为了更好的利用Python的气象雷达生态库,添加了国内常见的雷达数据格式处理接口PyART中。目前已经实现了SA波段多普勒雷达和C波段双偏振多普勒雷达数据的处理接口。

双偏振雷达和普通多普勒雷达的区别在于:双偏振雷达可以在水平和垂直方向上发送和接收脉冲信号,而普通多普勒雷达仅能在水平方向上发送和接收脉冲信号。

SA波段雷达数据处理

SA雷达基数据存储结构较为简单,只需要根据格式说明文档进行顺序解码即可,具体的解码细节参考:pyart.io.sband_radar

以下为使用PyART处理SA雷达数据的示例:

import matplotlib.pyplot as plt 
import pyart from pyart.io.sband_archive 
import read_sband_archive 

filename = 'Z_RADR_I_Z9250_20190408232400_O_DOR_SA_CAP.bin' 
radar = read_sband_archive(filename, station=(33.431, 120.201, 80)) 
fig, ax = plt.subplots(figsize=(12, 9)) 
display = pyart.graph.radardisplay.RadarDisplay(radar) 
display.plot_ppi("reflectivity", 0, vmin=0, vmax=70) 
plt.show()

sa_radar.png


C波段双偏振雷达数据处理

相比于S波段雷达而言,C波段双偏振多普勒雷达具有不少优点,比如:

  • 在识别目标物的大小、形状和种类时具有更好的表现;

  • 在降水估测方面具有更高的准确率;

  • 能够区分强降雨、冰雹、雪和雨夹雪

  • 改进了非气象回波的探测,比如地物阻挡、鸟群、龙卷带到空中的物体等;

  • 飞机结冰条件的探测;

  • 融化层的识别等

由于双偏振雷达的观测量增多,其数据存储结构相对SA雷达而言也较为复杂,因此在处理起来相对SA雷达麻烦一些。关于C波段双偏振雷达的数据的具体解码细节可查看pyart.io.C98DRadFile

以下为使用PyART处理C波段双偏振雷达示例:

from pyart.io.c98d_archive import c98dfile_archive 

cradar = c98dfile_archive('NUIST.20140928.070704.AR2') 
cdisplay = pyart.graph.RadarDisplay(cradar) 
fig = plt.figure(figsize=(12, 9)) # plot super resolution reflectivity 
ax = fig.add_subplot(111) 
cdisplay.plot('dBZ', 0, title='C-band WSR-98D Radar Reflectivity',               
              vmin=0, vmax=70, colorbar_label='reflectivity factor(dBZ)', ax=ax) 
              
fig.savefig('dual_pol.png', dpi=300, bbox_inches='tight')

dual_pol.png


风场反演

Pyhton库中提供了多个基于气象雷达径向风的风场反演开源库,比如SingleDop、MultiDop、PyDDA等。SingleDop主要是针对单多普勒雷达的风场反演,MultiDop和PyDDA是基于多个多普勒雷达的风场反演工具。

上述三个库均可以和PyART无缝衔接,无需再进行过多的处理。以下以SingleDop反演SA雷达风场为例:

import singledop 

wind = singledop.SingleDoppler2D(radar=sradar,                                   
                                 grid_spacing=0.25,                                  
                                 L=1,                                   
                                 sweep_number=1,                                   
                                 name_vr='velocity',                                  
                                 thin_factor=[4, 4],                                  
                                 grid_edge=120,                                  
                                 sigma=1) 
                                 
swdisplay = singledop.AnalysisDisplay(wind) 
fig, ax = plt.subplots(figsize=(9, 9)) 
swdisplay.plot_velocity_vectors(ax=ax, legend=10) 
ax.set_xlim([-100, 100]) 
ax.set_ylim([-100, 100]) 
fig.savefig('sa_wind.png', dpi=300, bbox_inches='tight')

sa_wind.png


由于没有其他格式雷达数据的测试数据和说明文档,因此,目前仅支持SA和WSR-98D雷达数据的解码。

PyDDAPyTDA库的兼容还需要进行一些调整和测试。

关于SA波段和上述C波段WSR-98D雷达数据的说明文档可直接下载查看


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。