双偏振雷达分类强对流天气分区预警软件设计与应用

2020-12-26 08:22韦凯华张曙赵碧云
微型电脑应用 2020年12期
关键词:探空偏振强对流

韦凯华, 张曙, 赵碧云

(1.广东省气象台, 广东 广州 510080;2.韶关市气象局, 广东 韶关 512028;3.荆门市气象局, 湖北 荆门 448000)

0 引言

长期以来,基层气象预报技术人员需兼顾气象短期预报和短时强对流天气跟踪监测工作。县级预报预警人员更需兼任其他很多非气象任务,对其而言,为实现强对流天气的自动预报预警,提高气象预警服务的能力,亟需一套行之有效的辅助软件。

传统的单偏振雷达业务软件(简称PUP,下同)中自带一些强对流天气的辅助报警功能,但由于设置复杂、误报率过高未能大规模推广使用。而在双偏振雷达中,虽然数据质量控制得到了一定程度的提高,但强对流天气的预警指标依然较少,目前在PUP的73号产品(用户报警信息,简称UAM)中仅能设置3个单偏振或者双偏振特征量[1],且特征量之间均只能采用“与”运算,难以较好地区分强对流类型。双偏振雷达在广东省全面布设后,得到了大量可参考的双偏振雷达产品,在此基础上利用一定数量的研究个例[2-4],可分析归纳出适合华南地域特点的双偏振特征量。

基于上述产品,结合以往的单偏振雷达得到的有效特征量,例如径向速度、垂直累积液态含水量(简称VIL,下同)等指标,本文设计了强对流天气的分类预警算法,基于.Net框架编写了交互软件,在满足多要素判断后自动发出预警提示,将符合报警阈值的风暴单体关键信息与地理区域进行匹配,对所关注区域进行精准靶向报警,由此降低预警误警率,避免临近边界的强对流单体的漏报。

1 强对流风暴双偏振雷达特征值提取

本文设计的预警软件的核心是对流单体各种特征量的搜索、排序等分析。通过以上方式合理提取和设置风暴属性表的内容,获取实时的风暴单体关键信息并根据不同的阈值组合判据诊断强对流类型。而特征量的获取首先是要确认强对流风暴的中心位置,根据回波强度和面积预设阈值,逐径向、逐库读取分析基数据后,识别并标注出强中心所在的经纬度(默认强中心的阈值为:强度达到35 dBZ,面积达到3 km2)。在确认其位置后,通过提取特征值得出风暴属性,如表1所示。

雷达体积扫描结束后,对基数据进行解码和判断,输出一个风暴属性值的文件(默认路径为软件安装的log目录,文件名为DPS*.log)。以ASCII码保存,每一行为一个风暴的属性,用空格依次隔开多个属性,每个文件包括的风暴可能为零个或多个,各列字符串具体的属性参数值含义按顺序排列。

表1 风暴属性参数列表

2 风暴预警软件的设计框架与模块

2.1 软件总体设计框架与功能

本文设计的软件包含架构图中的数据处理层、算法识别层以及报警产品生成与传播层中产品生成模块,如图1所示。

图1 风暴预警软件模块架构图

软件基于.Net框架,采用C#语言进行编程处理[5-6],对输出的风暴属性信息文本文件进行逻辑判断,实现对三大类强天气(短时强降水、雷雨大风、冰雹)的分类报警。这一阶段主要分为运行实时监控可视化界面程序与逻辑算法计算程序运行[7-8],其中运行实时监控可视化界面,如图2所示。

界面中点击窗口右上方“配置”“探空站点”按钮可以分别弹出配置文件和拟读取计算的探空站点配置文件进行修改。左上角显示实时刷新的本机时间,指示方灯“红/绿”交替闪烁表明该程序处于正常运行中,并能实时刷新获取最新数据,否则说明该程序已挂死,需要关闭后重新启动运行。

图2 风暴预警软件运行实时监控可视化界面

界面中部显示当前获取到的最新时次探空资料情况,并按列表显示配置文件中选取的探空站点信息,包括根据探空资料计算出的0 ℃层、-10 ℃层、-20 ℃层高度(这些特定温度层次供程序判断冰雹类型强天气时调用使用,也便于台站人员快速粗略了解是否具有冰雹天气产生条件的温度层结)。界面下方显示的是生成的风暴信息文件(DPS*.log)更新的最新时间,可实时刷新显示监控是否有新文件生成,相关的关键代码如下。

1. public partial class Form1: Form

2. { ……

3. public Form1() { InitializeComponent(); }

4. private void Form1_Load(object sender, EventArgs e)

5. { int closed = 0;

6. foreach (System.Diagnostics.Process thisProc in System.Diagnostics.Process.GetProcesses())

7. { string tempName = thisProc.ToString(); //获取form名称

8. ……

9. if (tempName == "fbyj_form") { closed++; }

10. if (closed >= 2) { Environment.Exit(0); } //若打开1个以上窗口,关闭多余的,保证只有1个程序在运行

11. }

12. fb();

13. }

14. private void fb()

15. { try { FileInfo[] files = new DirectoryInfo(path).GetFiles("DPS*.log"); //获取风暴属性文件.log的列表

16. List〈FileInfo〉 list = new List〈FileInfo〉(files);

17. if (list.Count > 0) {

18. list.Sort(new Comparison〈FileInfo〉(delegate(FileInfoa,FileInfo b) {return b.Name.CompareTo(a.Name); }));//判断并返回最新风暴属性文件的文件名

19. ……} //最新风暴属性文件名转换为时间并以文本在窗口显示

20. }

21. catch {……}

22. }

23. }

风暴预警软件系统程序数据流程及资料文件夹结构配置,如图3所示。

图3 程序及资料文件夹结构

其中“fbyj.exe”为风暴特征报警算法的主程序,提供风暴信息文件的处理功能;“fbyj_form.exe”为系统运行实时监控可视化界面。当监控程序检测到指定目录下有新的风暴属性文件生成时,调用“fbyj.exe”处理。“TlogP”文件夹下为存放的MICAPS格式的TlogP文件。每处理完一个DPS*.log文件(风暴属性文件)就会在back文件夹生成一份它的拷贝,用以表示该log文件已处理过。风暴属性信息处理结果(即分类强对流报警产品)输出在out目录,同时另外输出一路给短信报警,由短信模块调用;计算的探空特征层信息输出在tout目录。“缓冲”文件夹内为不同距离范围的缓冲区图层(.bln文件),“config.xml”为配置文件,其部分详细参数及功能修改见2.5节。

2.2 地理信息的提取与计算

将高精度广东省县级行政区划面的地理信息文件导入ARCGIS中,利用分析工具中的邻域分析功能,并设定所需的线性单位距离,分县对行政区边界向外建立不同范围的缓冲区。本系统需求设置的缓冲区分别为本行政区域外扩10 km、20 km、30 km,业务人员可根据实际情况在预警系统配置文件中修改对应距离范围,实现配置不同范围的缓冲区供报警需求使用,经过测试,目前默认为10 km为比较合理的界限。

在程序的“站点信息.ini”文件中配置有与报警区域行政区划对应的气象站信息,包括站名、站号、经纬度。一般采用本行政区内国家气象观测站的信息或本行政区内气象局所在地附近的区域自动站作为参考点。生成报警信息文字产品时,其中的方位角、距离均为相对于上述参考点计算的距离,仅供提示参考。

2.3 探空资料的读取与特征层的计算

探空资料通过读取MICAPS中第五类数据(TlogP)数据的规定站点经计算得出,要处理的站点在config.xml配置文件中设置(详见第2.5节)。目前针对粤北(韶关)地区,探空站数据取4个站点,分别是郴州、赣州、清远和河源站,韶关基本上处于上述四地的中间,根据各层资料,通过线性内插法计算出0 ℃层、-10 ℃层、-20 ℃层高度。在时间的选取上,考虑到MICAPS格式的探空资料录取齐整需要在整点探测后约45分钟(即北京时间约8:45,20:45,下同),一般情况下一天又只有两次探空资料,故默认在后续处理中,当日09:00~21:00之间的风暴属性表使用当日08时的探空资料,当日21:00~次日09:00使用当日20时的探空资料。对于有非常规探空时次的加密探空参照上述规定时间规则使用该次探空资料。

2.4 分类强对流天气报警算法设计

通过针对粤北(韶关)地区2016和2017年典型强对流天气的分析,总结归纳其中雷雨大风、暴雨、冰雹三类主要强对流天气的双偏振雷达偏振量的特征,并参考以往的单偏振雷达成熟算法的阈值,与国内外已有相关研究进行比对,作为本软件分类算法的参考阈值设置,形成针对粤北地区适用的报警算法。

2.4.1 冰雹算法

本软件主要目的是用来提示市县预报员注意出现的强回波及种类,在算法上做了一定精简,部分采用原有算法,并结合本地实际做适当调整。(以下均为软件默认阈值)

冰雹算法在应用中的改进:2019年2月20日,广东省多地出现软雹和小冰雹,但原来设置的报警未能识别出来。通过对当时回波和天气实况的分析,在地面及低层气温较低的情况下回波高度很低,导致回波强度Z、垂直液态降水量VIL和强回波核心高度H等指标偏低。原有指标过于严格。考虑到冬末初春期间一般情况下冰雹粒子不大,但也会对农业造成一定损失和社会影响,故又加入了原来曾摒弃的Posh强冰雹概率并达到100%的条件,再在此基础上根据双偏振特征量进行消空处理(这个概率值如直接在本地应用会形成虚警),以提高预警的准确率。另考虑到韶关地处丘陵地带,交叉相关系数CC在近距离会出现污染,故修改了相应指标运算。算法流程,如图4所示。

图4 冰雹算法流程图

2.4.2 短时强降水算法

短时强降水算法主要针对雨强大于20 mm/h的降水。短时强降水主要发生在强回波的对流性降水和中低强度回波的热带降水中,在以往的降水预测算法中一般多为对回波强度进行运算,在热带降水的监测预警中效果不是很好。在双偏振雷达中,因为增加了差分反射率ZDR及差分相移率KDP,对于水滴大小及对流单体中的水滴总含量有了较好的监测预警作用。

通过涵盖了2016年1-7月份不同时段,17天内发生短时强降水的站点(包括国家站和区域自动站)不同降水类型的统计分析,在相应时段,其低仰角的差分相移率KDP均能显示为明显不同。算法中加入回波高度ET是为了去除地物回波的影响,低仰角ZDR≥0.75 dB是为了排除小水滴占比过大的低强度降水。短时强降水算法流程图,如图5所示。

图5 短时强降水算法流程图

2.4.3 雷雨大风算法

考虑到双偏振产品中对于雷雨大风没有新的突破,故在算法上依然沿用以前的一些思路加以改进。本软件算法中不考虑台风所造成的大风,没有考虑对流单体前侧贴地面层辐合时造成的大风,主要针对强单体移动、变化过程中所造成的一般雷雨大风以及中尺度气旋引起的大风。雷雨大风算法流程图,如图6所示。

图6 雷雨大风算法流程图

软件经过上述算法处理后生成新的分类强对流报警产品,文字信息以DPSyyyymmddhhmmss.txt的文本方式保存,供短信、网页调度模块调用内容向指定手机或电脑发送报警信息使用,以冰雹算法为例给出算法识别的部分关键代码如下。

1. public static string storm(string line) //判断风暴类型

2. {

3. string[] ret = line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);

4. float topheight = float.Parse(ret[3]); //逐行逐列读入风暴属性表变量值

5. ……

6. string classResult = ""; //风暴类型字段

7. XmlDocument doc = new XmlDocument();

8. doc.Load(ss + @"config.xml"); //加载Xml配置文件

9. vil_max = double.Parse(doc.SelectSingleNode("/root/hail/vil_max").InnerText); //读入配置文件预设阈值

10. ……

11. if (mdbz_min <= mdbz && mdbz_max >= mdbz) //以下为冰雹判定算法

12. x5 = true; //多阈值判定,7个条件

13. ……

14. if (x5 && x6 && x7){ //逻辑判定

15. if (x1 ‖ x2 ‖ x3 ‖ x4) { classResult = classResult + "冰雹"; } //保存判定的对流风暴类型字段,待拼接输出文本

16. }

17. return classResult;

18. }

2.5 配置文件的修改

“站点信息.ini”配置文件中报警区域的参考站可以修改,但报警区域名称必须与系统中地理信息文件名称、缓冲区图层文件.bln中的多边形区域名称相一致,否则系统无法识别。config.xml配置文件中可以设置报警区地图缓冲距离、雷达产品报警文件(DPS*.log)和探空文件所在目录,并设置需要显示和计算特殊探空层次参数的探空站号。.xml文件中部分可设置的关键参数如下。

1. 〈!--mapdis 地图缓冲距离 --〉

2. 〈mapdis〉10〈/mapdis〉

3. 〈!-- logroute 设置DPS*.log文件所在目录--〉

4. 〈logroute〉M:DPSLog〈/logroute〉

5. 〈!-- troute micaps探空文件所在目录--〉

6. 〈troute〉N:TlogP〈/troute〉

7. 〈!-- tnum micaps探空站 --〉

8. 〈tnum〉59293,59280,59663,59316〈/tnum〉

3 基于双偏振产品的分类强对流分区预警个例应用分析

2019年4月22日9时50分左右,在韶关市曲江区乌石镇、翁源县铁龙林场先后出现了直径1-2 cm的冰雹。

为冰雹发生前时刻雷达观测的偏振量与原有气象算法识别冰雹的结果。有降雹潜势的核心区域在白色圈中的CC值较周围低,如图7(c)所示,但圈中的原有算法识别结果在近地层并未识别出冰雹,如图7(b)所示,而是成片雨区中的缺测值,仅使用VIL的产品,如图7(a)所示,由于雷达回波发展高度较低,VIL值偏小,也未能提前识别报警。但本预警软件的识别结果在此时已识别有冰雹,并由外部通信模块向值班预报员发送了提示短信,如图7(d)所示,值班员研判后分别于9时09分和9时18分向公众发布了曲江区、翁源县的冰雹橙色预警信号,较地面观测到的冰雹实况提前了约30分钟。预警软件对这两个县的首次提示分别在8时48分和9时30分,较实况分别提前56分和20分,如图7所示。

(a) VIL冰雹识别产品;

(b) 原算法识别结果;

(c) 雷达观测的低仰角CC分布;

(d) 预警软件分类识别结果提示短信

本软件对冰雹预警效果相对较好的原因主要是在双偏振特征量中主要考虑低仰角的ZDR及CC,同时加入了实时更新的探空资料的零度层高度作为约束条件,相比原有算法的固定值判别能较准确判断高空的冰雹胚胎是否在降落到地面后还能成为固态的冰雹。为了避免低仰角的ZDR的一定缺陷特别是山地区域近距离CC可能出现地物污染后的失真,在算法上采用“或”运算来适当提高预警时间提前量,否则如果达到阈值可能冰雹已经开始及地了。

针对于雷雨大风、短时强降水等其它类型的强对流天气,也进行了业务测试,在一些单点影响较大的局地强对流天气过程中能够提前预警,取得了较好的服务效果,如表2所示。

4 总结

强对流风暴单体的各种特征量及其空间分布是判断对流的性质和单体生消的基础,尤其是低仰角中的特征量对判断落地时的降水性质至关重要。所设计的软件通过对基数据中对流单体各种特征量的搜索排序和识别等分析,提取和设置风暴属性表的内容,实时获取了风暴体的关键信息,再设计合理的逻辑分类算法,根据不同风暴属性之间的阈值组合判据判定强对流类型,能基本辨识出风暴体属于雷雨大风、冰雹、短时强降水的某一类或者是这三类兼而有之,为分类强对流天气的预报预警提供了依据。

表2 预警软件分类强对流天气预警效果个例

软件可对不同地理区域设置和识别,使市、县级预报员只需要关注本行政区域附近的强对流天气,达到预警阈值后,算法生成新的分类强对流报警产品文本信息,可由软件外部已有的通信调度方式抓取,通过短信或者网页的形式通知预报员注意强对流天气。预报员在收到内部报警信息后需要与实况进行验证对比,最后确认无误后对公众发布预警信息。由此构建了针对华南特别是粤北地区全天候背景下强对流天气的分类、分区域的报警模式。

通过国内外的文献和本地的一些实际个例分析统计,探索总结了一些值得借鉴的双偏振特征量,集成在本软件的算法中作为分类强对流天气识别的阈值判据。从应用的个例结果分析来看,能够实现并满足分类强对流天气分区预警的业务需求,特别是在一些原有算法中特征不明显的小冰雹过程,应用本地阈值加入算法后预警提示的提前量改善较为明显。后续拟进一步加强对应用的检验评估,不断优化软件的阈值与算法,具备较成熟的条件后逐步在本省市加以推广。

猜你喜欢
探空偏振强对流
Ho:LLF激光器单纵模正交偏振开关动力学特性
基于模糊逻辑的双偏振天气雷达地物杂波识别算法
福建2次不同类型强对流天气对比分析
美国X射线偏振测量天文台特点分析
用L波段探空测风雷达评估风廓线雷达测风准确性
国内首个无人机机载下投探空系统将探测台风
偏振纠缠双光子态的纠缠特性分析
桂林市一次强对流天气过程诊断分析
辽宁强对流天气物理量阈值探索统计分析