风暴单体识别的工程实现方法
2014-10-21屈凯峰
摘 要:本文给出了风暴单体识别算法及其在工程上实现的方法,采用限制递归法对同一层上的风暴分量进行识别,引入用STL的有关技术来进行数据处理,可同时兼顾识别效率和工程实现的便利性。
关键词:风暴识别;工程实现
中图分类号:TN959.4
气象雷达在对中小尺度强对流性风暴造成的激烈天气现象(比如冰雹、大雨等)的监测中可以发挥很大的作用[1]。本文给出了根据雷达探测的基础数据进行风暴体识别的算法以及在工程上实现的方法。
1 风暴单体识别算法
在气象雷达的探测模式中有平扫(PPI)、高扫(RHI)和体扫(VOL),风暴单体识别是基于体扫探测模式产生的体扫基数据。这种体扫基数据由若干仰角层上的平扫数据组成,能够反映该扫描体积内的三维回波结构。雷达气象学上将反射率因子超过一定阈值,并且有一定连续区域的定义为风暴单体。风暴单体由一系列不同仰角层上相关联的风暴分量组成,而风暴分量由同一仰角层上反射率满足一定条件的方位相关的风暴段组成,风暴段是一维径向上反射率因子大于一定阈值的连续区域。
2 工程实现方法
在工程上按照风暴段、风暴分量、风暴单体的顺序对基础数据进行处理。
2.1 风暴段识别
风暴段识别实现方法如下:
(1)从体扫数据第一层第一根径向开始,沿着径向开始搜索反射率因子大于阈值Dz的库,记录此库以后连续满足大于阈值条件Dz的库,直到遇到小于阈Dz的库出现。将记录的符合条件的库作归入一个风暴段。依照此方法搜索遍历完所有层所有径向的库,并记录所有搜索到的风暴段;
(2)对于记录的所有风暴段进行遍历检索,如果其长度(具体对应库的个数)小于特定阈值L,则将其删除;
(3)对于经过步骤(1)、(2)保留下所有段再次进行检索,对于满足以下1)和2)条件的风暴段进行合并:1)同属于一根径向;2)首尾距离相隔不多于2个距离库。
对风暴段的识别完成,计算以下物理特征量为风暴分量的处理作准备:风暴段所在的方位角θ以及起始点位置rb;风暴段内最大的反射率因子Zemax以及其所在径向位置rmax ze;風暴段长度L和反射率因子权重长度Lze(如式(1)所示);风暴段的几何中心ro(如式(2)所示),反射率因子权重中心rzeo(如式(3)所示);风暴段内的最大径向速度Vsmax和最小径向速度Vsmin。
式中M为风暴段所包含的距离库数,ri为第i个距离库的径向距离,Zei为第i个距离库上的反射率因子值。
2.2 风暴分量识别
风暴分量识别实现方法如下:
对属于同一仰角层的风暴段进行搜索,同时满足以下三个条件的风暴段可以合并到同一个风暴分量中。
(1)合并到同一风暴分量中的风暴段必须相邻,且相邻的最大方位间距不能超过Az(取1°);
(2)合并到同一风暴分量中的风暴必须首尾重叠,重叠距离不小于L(取1km);
(3)风暴分量所包含的风暴段个数必须大于N个(取12)。
同一仰角层中,每根径向上可能同时出现多个风暴段,而同一仰角层又有多条径向,这就造成在进行分量识别时候情况较复杂。为了避免重复搜索而增大计算量,在风暴段的结构体中加入了BOOL型bAdd字段,用于标示风暴段是否被搜索过。风暴分量结构体中也加入了类似的字段,也是基于同样的考虑。以下是利用限制递归法对风暴分量的工程实现步骤:1)从一个风暴段开始,搜索空间相邻径向上的可以组合成分量的风暴段(可能是多个),然后采用递归的形式,以搜索到的风暴段为开始继续同样的搜索,直到搜索结束,所有搜索到的符合条件的风暴段组合成一个风暴分量,对已经搜索到的风暴段进行标记。2)对风暴段子模块中搜索到的所有风暴段进行遍历,如果该风暴段没有被搜索过,则进行步骤1),直到遍历完所有的风暴段。
需要计算或记录以下各物理特征量,为风暴单体识别作准备:风暴分量内最大反射率因子Zemax及其所在高度Hzemax(如式(4)所示,Hzemax是对地球表面而不是雷达站所在的X-Y平面),风暴分量内最大最小速度Vmax、Vmin,风暴分量的几何面积S(如式(5)所示)和反射率因子权重面积Sze率(如式(6)所示)。
式(5)中 是风暴分量内Zemax所对应的径向距离,α是仰角,Rm是地球半径。
式(5)和式(6)中M为风暴分量内的风暴段数,Li、Lzei、Ri、Rzei、θi分别为第i个风暴段的几何长度、反射率因子权重长度、几何中心、反射率因子权重中心和风暴段的方位角。
2.3 风暴单体识别
风暴单体识别工程实现方法如下:风暴单体识别主要是基于对不同仰角层上垂直相关的风暴分量进行识别处理的。遍历所有的风暴,找出相邻仰角层的风暴分量进行处理。处理过程可以按以下步骤进行:
(1)以第一仰角层记录的第一个风暴分量C1开始,搜索第二仰角层的风暴分量C2,若其反射率权重中心与C1水平距离小于R1,则C1、C2就作为垂直相关的风暴分量。以此方法遍历所有层的所有风量,搜索出所有的垂直相关的风暴分量组合为一个风暴单体。
(2)按照步骤(1),遍历所有未曾搜索过的风暴分量,找出所有风暴单体;
(3)对小于体积阈值V的风暴单体予以删除,以排除噪声小区域地物杂波的干扰。
3 工程实现的优化设计
风暴识别和分析需要处理较大的数据量,为了提高识别速度,除了上述的算法上的优化外,在设计使用STL的有关技术来进行数据的处理。在识别过程有些元素的个数预先未知,这就需要用到动态数组或者链表。MFC的动态数组CArray,支持随机查找,但在数据量较大,频繁地进行删除增加的情况下可能会使程序运行速度变慢。而MFC的CPtrList,由于不支持随机查找,在查找的时候效率很低。STL的vector,可以预先申请空间,并且有函数可以得到实际存储元素的个数,并且支持随机查找,使用方便,且可以有效避免反复申请内存而造成的程序效率低下。
参考文献:
[1]张培昌.雷达气象学[M].北京:气象出版社,1985.
作者简介:屈凯峰(1980.03-),男,安徽合肥人,工程师,硕士研究生,研究方向:雷达终端软件和数据处理,
作者单位:安徽四创电子股份有限公司,合肥 230088