APP下载

吉林省天气雷达逐仰角流数据实时监测平台设计

2022-08-25吴天亭徐昕江晓玲

科学与信息化 2022年16期
关键词:仰角吉林省气象

吴天亭 徐昕 江晓玲

1. 吉林省气象信息网络中心 吉林 长春 130062;

2. 吉林省气象灾害防御技术中心 吉林 长春 130062

引言

随着气象部门的雷达业务改革的推进,文件形式的雷达文件已被淘汰,流形式的雷达数据占据了主要业务地位,基于B/S设计的实时监测平台能提供高实时性的雷达监测业务需求。为了提高数据传输时效,更好满足气象预报服务的需求,在天气雷达数据流传输的应用端设计基于B/S的实时监测平台。

新一代天气雷达数据流传输依托国内气象通信系统(CTS)数据环境,雷达站通过升级软件,实现标准格式雷达基数据流的输出和上行传输;通过升级省级气象通信系统,增加数据流(Socket)传输功能,接收雷达站上行基数据流雷达站每完成1个径向扫描,即将该径向数据以TCP Socket方式分发至省级CTS系统,省级接收径向流数据后直接向国家级通信系统转发,同时生成全体扫和逐仰角的基数据文件,用于存储和应用[1]。生成的文件存储到省级气象数据环境中并通过标准数据接口提供给省级业务使用。在每次逐仰角扫描的过程中,可实时通过流传输方式,将数据传输至省级CTS系统中,并在CTS系统中生成仰角扫描文件,在本地存储共享并应用于业务系统。

1 国内外气象可视化现状

目前,吉林省雷达站有长春,白山,白城,吉林,延吉,辽源,松原等7个雷达站点,7部雷达都是CC型号的雷达。目前中国气象局考核的雷达有6部,没有吉林雷达[2]。雷达数据是预报业务特别是中短期预报的重要参考数据。传统的雷达监测软件通过在客户端轮询的方式,向服务端询问是否有新的雷达数据产生,如果有再加以显示。因为雷达传输方式的改革,雷达数据的压缩格式也有所改变,例如雷达的每库的距离有原来的300m更改为现在的150m。在雷达进行流传输时,平台关注的参数有库长,库数,方位角,仰角,雷达数据文件每个数据的大小,包括径向编号等。这些参数可以保证雷达实时监测平台的运行[3]。

因为雷达流传输在吉林省气象业务使用的时间较短,国内雷达流C/S系统软件在全国各省使用比较普遍,基于B/S设计的实时监测平台在业务中还是短板。

2016年,广州、沈阳、合肥和中国气象局完成了雷达流传输的试运行工作,目前吉林省气象局雷达流传输已经正式业务运行[4]。雷达数据落地格式分为3种,分别是径向格式、逐仰角格式和全体扫格式。本平台设计的是针对逐仰角格式的天气雷达数据。

2 实时监测总体设计

吉林省气象业务当中,天气雷达每完成一个体扫生成一个基数据文件,并通过国内气象同学系统上传至国家级,一个完整的体扫过程大约需要6min,体扫完成且形成基数据文件后方可传输该基数据文件。

平台总体设计采用前后端分离技术。

设计流程为由吉林省天擎平台将雷达逐仰角数据推送到平台的后台服务器,后端程序将二进制的雷达流数据解析为JSON格式数据,并落地保存[5]。再有后端程序监控JSON文件的内容变化,如果JSON文件内容出现更改,就通过Web Socket技术将JSON文件传输到前端平台。

前端系统也通过Web Socket接收到后台的数据,将文件放入文件队列,将雷达站号放入定时器队列。定时器启动,在浏览器将雷达流数据按仰角按径向根据雷达的参数时间扫描显示。业务人员提高业务人员使用的实时性和准确性。

整体数据设计分为3部分[6-7]:

第一部分,逐仰角雷达流数据解析,逐仰角的雷达流数据区别与传统的雷达基数据文件,本平台利用Java语言监测吉林省天擎平台推送的雷达流数据,将数据转为JSON格式传输到雷达json文件监控程序目录下。

第二部分,雷达JSON文件监控程序,JSON文件以雷达站号加上雷达体扫层数为文件名。

因为雷达基数据数据量巨大,如果按照每一个转换文件都落地,服务器存储压力巨大。

第三部分,前端实时监测平台,前端系统以自建的gis发布的地图为底图,用第三方的leaflet作为地图和javascript的接口。根据每一个仰角的扫描角度将回波映射到gis上。

2.1 Web Socket技术栈

选用Web Socket技术进行传输,将数据推送到前端而不是使用传统的ajax,Web Socket技术可以节省前后端系统开销,并且用阻塞而不是轮询的方式来接收数据。Web Socket技术是在吉林省气象局现有的雷达系统中,首先使用的Web技术,也是对提高雷达系统实时性的探索。

Web Socket的技术特点区别与传统的ajax方式,ajax通信请求由前端客户端发起,而Web Socket的请求则是由服务端发起通信请求。

和传统的B/S系统设计相比,优势有[8-9]:①建立在TCP协议之上,服务器端的实现比较容易。服务端可以根据自己的状态变化,对客户端发出请求。不用轮询,也不要保持http协议的连接。②与HTTP协议有着良好的兼容性。③协议传输格式占带宽较小,对于带宽占比很大的雷达数据,有很大的传输优势。④如果带宽受限可以直接传输二进制数据,然后在前端解析。⑤不涉及跨域问题。

2.2 前后端分离技术栈

该平台没有选择传统的MVC结构开发,而是选用前后端分离的技术。有以下几点原因:

2.2.1 提高业务平台开发效率,擅长前端技术的开发人员,可以专注于前端开发,并且可以选用任何一种语言进行后端开发,有利于平台开发结束后的系统维护。

2.2.2 利于业务扩展,前端的数据接口开发完成,无论是以后雷达数据格式发生变化还是后端逻辑发生变化,都不用更改前端代码,就可以完成后端程序的扩展。

前端没有选用现有的javascript框架,直接用原生javascript操作文档进行实时监测平台的UI设计。后端选用java语言,利用spring框架对数据进行解析,包括和前端的数据交互。

2.3 平台服务器搭建

后台服务器需要Java环境安装和FTP服务器搭建。ftp接收吉林省气象信息网络中心天擎系统推送的雷达流数据[10]。前端服务器通过nodejs的http-server模块将编译过的前端程序发布到网络中。值得注意的是在后台程序当中要及时删除天擎推送的数据,如果处理不及时,不只会导致后台服务器存储空间达到百分之百,还会导致吉林省气象信息网络中心的数据推送系统故障[11]。

2.4 雷达流数据格式与JSON数据格式

吉林省气象局的雷达型号主要以四创公司的CC雷达为主。CC/CCJ双偏振雷达符合技术标准统一的要求,基数据的距离分辨率均为150m。相比单偏振雷达,基数据中主要差别为增加了4种双偏振量 ZDR、KDP、CC和φDP,此外还增加了 SNRHVCP21单偏振体扫配置。

表1 CC/CCJ(技术标准统一后)VCP21 单偏振体扫配置

续表

Java程序将雷达数据处理成固定格式的JSON数据,JSON格式固定参数设置如下表:

表2 JSON文件属性字段表

雷达JSON文件监控程序通过监控JSON文件内容的变化将JSON数据传输到平台的前端。

2.5 前端数据处理

实时数据主要是前端对雷达流径向数据的处理。根据雷达数据的特点,本平台选用了最简单的线性插值法[12]。

线性插值法是将连接两个已经知道具体数值的点,然后通过将两个点连为一条直接,通过线性直线来确定空白点的数值的方法。例如A点坐标为(a0,a1),B点坐标为(b0,b1),那么将两个点连接,指使用连接两个已知量的直线来确定在这两个已知量之间的一个未知量的值的方法。我们得到两点式直线方程:假设方程两边的值为α,那么这个值就是插值系数—从 a0到x的距离与从a0到bo距离的比值。由于x值已知,所以可以从公式得到确定的值 这样通过求出的值就可以直接得到 y。实际上,即使x不在a0到b0之间并且所求的值也不是介于0到1之间,这个公式也是成立的。

3 结束语

吉林省雷达逐仰角雷达流监测平台没有选择前端框架,是因为对实时性要求比较高,不选用额外的javascript模块,可以提高实时性能。Web Socket技术是最适用逐仰角这种实时要求比较高的数据传输技术栈。后续将对全国的雷达流数据进行扩展。

天气雷达是监测、预警突发性灾害天气最有 效的手段之一,在气象预报业务中发挥着重要作 用,保证天气雷达数据及时完整地传输,提高天气雷达数据传输成功率是有效助力气象预报的方式

安全隐患零容忍的原则。通过技术手段解决设备隐患是技术人员的不断追求。该方案具有网络可靠性高、故障恢复时间短以及良好的经济性等特点,对业务发展具有探索意义。

猜你喜欢

仰角吉林省气象
气象树
登泰山
《中国农业气象》征订启事
中国气象“风云”
用锐角三角函数解决仰角、俯角问题
吉林省2019年秋冬季秸秆离田工作方案
大国气象
反腐
分段三次Hermite插值计算GNSS系统卫星仰角
脸的基本画法(三)