自动气象站滑动一小时累积雨量报警软件的设计与实现

2020-05-12 08:57甄廷忠李子平张颖
广东气象 2020年2期
关键词:整点气象站雨量

甄廷忠,李子平,张颖

(1.昆明市气象局,云南昆明 650500;2.茂名市气象局,广东茂名 525000)

近年来,汛期短时强降水引发的洪涝、滑坡、泥石流、城市内涝等灾害时有发生,给人民生命财产造成巨大损失[1]。做好汛期短时强降水监测和报警服务已经成为各级气象部门汛期气象服务的重要内容[2-3]。自动气象站是一种能自动观测、存储和传输气象数据的设备[4],短时强降水的监测依据主要是自动气象站的雨量数据[5],随着气象现代化的不断推进,自动气象站数量、观测数据种类和频次不断增加[6],对短时强降水的监测和报警提出了更高的要求。

目前,国内已有许多自动气象站雨量报警方面的研究,如杜小松等[7]研发了区域自动站报警系统;刘铸飘[8]设计了自动站实况图形监控及灾害预警程序;常国旭等[9]开发了自动站实时短信报警系统。但这些研究大部分是基于单时次数据或基于小时数据的整点到整点的累积数据的监测和报警。自动气象站的雨量观测原理是从整点开始累积雨量数据,分钟数据以固定频次上传一次数据,并且数据不清零;直到下一个整点时刻上传小时雨量数据后清零,开始进行下一个小时雨量数据观测[10-11]。故基于单时次数据的监测和报警,时间跨度短,缺乏连续性[12],雨量数据可能被观测设备整点分割造成漏报;基于小时数据的整点到整点的累积数据监测和报警,时间间隔大,时效性不高[13]。昆明市有近700个区域自动气象站,观测以2和6要素为主,观测频次为5 min。其中有400多个自动气象站实行双通道传输,数据同时存入省级数据库和市级数据库,剩余200多个自动气象站实行单通道传输,数据全部存入市级数据库。面对海量的观测数据,昆明市各级气象部门只能依靠自动站厂家配发的软件和云南省短临预报预警一体化业务系统(下称“一体化系统”)对各站点各要素值进行查询、监测和报警,自动站厂家配发的软件可以查看全市所有站点的数据,但没有报警功能;一体化系统虽然能实现报警,但只能对400多个省级站点的小时数据进行报警,已经无法满足日益精细的气象业务服务要求。故有必要根据昆明市自动气象站观测业务实际情况,研发基于昆明市市级数据库中分钟雨量数据的滑动1 h累积雨量监测和报警软件。

1 场景分析

在实际降水过程中,降水时空分布不均。例如短时强降水发生在11:30至12:30(北京时,下同),其中11:30—12:00降水量为10 mm,12:00—12:30降水量为10 mm,要求1 h雨量达到20 mm报警。自动气象站在整点时刻会生成小时雨量数据,同时雨量清零并重新计数,新的累积雨量存入分钟雨量数据,直至下一个整点[14]。因此,在该例中,12:00和13:00的小时雨量数据均为10 mm,其他任何时次的分钟雨量数据都小于或等于10 mm。无论使用单时次分钟数据还是单时次小时数据进行监测,都无法触发报警。但如果使用基于小时雨量数据的整点到整点累积雨量进行监测,至少等到13:00雨量才能累积到20 mm,但时间已经过去了2 h,同样无法触发报警。但如果以观测频次(5 min)为时间间隔,基于分钟数据定时计算滑动累积雨量,就可以实现11:30至12:30雨量达到20 mm的报警。

2 软件设计

2.1 设计思路

软件的核心业务问题是解决因降雨量数据被观测设备整点分割而造成监测缺失和报警漏报的问题,在监测到设定区域有滑动累积雨量达到报警阈值时,快速、准确地进行声音报警,并将报警信息在第一时间发送到业务值班人员手机上,引起值班人员重视。其设计理念是以数据为核心,以需求为导向,根据自动气象站数据存储、数据查询、数据统计方法,分析实际业务报警要求,研究滑动累积雨量监测和报警算法,实现滑动1 h累积雨量的实时监测,触发报警时以声音报警和短信报警的方式,保证业务值班人员在任何时刻、任何地方都能准确、及时收到报警信息。

2.2 开发及运行环境

系统在Microsoft Visual Studio 2010的C#环境下开发完成,电脑需要安装Microsoft.NET Framework 4.0组件才能运行本系统。系统采用昆明市级自动气象站内网服务器SQL数据库作为数据源,计算机须接入昆明市气象业务内网通信系统。

2.3 结构设计

昆明市滑动1 h累积雨量报警软件的结构示意图如图1,软件包括数据整合和客户端两部分。昆明市近700个自动气象站的数据分别存储于两个服务器,数据整合是利用SQL数据库“作业”技术,将2个服务器数据整合到统一的数据库服务器上。客户端利用SQL数据库查询技术,查询最近1 h分钟雨量数据,对数据缺测和雨量要素空缺的自动站进行分类和统计,用户可设定是否报警;对存在分钟雨量数据(不管数据是否齐全)的站点套用滑动1 h累积雨量算法,对达到雨量报警阈值的站点进行列表显示,并触发声音报警和短信报警。

图1 昆明市滑动1 h累积雨量报警软件结构示意图

3 功能模块及技术

3.1 数据整合

昆明市自动气象站观测数据从两个公网地址回传到服务器,分别存储在两台服务器的SQL SERVER数据库中。由于两台服务器在气象业务服务中使用不方便,特通过SQL SERVER的“作业”功能将两数据库中的数据同步到专用服务器的 SQL SERVER 目标数据库中。SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作[15-16]。通过在专用服务器的目标数据库中建立链接、新建步骤、新建作业计划等操作,将两个源数据库中的数据每5 min重复一次的拉到目标数据库中,完成市级自动站数据的整合。

3.2 报警区域判定

SQL数据库中包含了“StationPar”数据表,该数据表用于存储自动气象站站点信息,包含了表示站点地理区域的“Area”字段。地理区域根据昆明市各县市区行政区划来划分,所有自动气象站在建站时均设置了所属行政区域。本软件在设置报警区域时,创建报警区域字符串,按照勾选“checkBox”控件方法(图2),不断在字符串中增加或删除选择的行政区划即可。在报警区域判定时,采用“A.Contains(B)”语句判定站点区域B是否包含在报警区域A中(A、B均为string格式字符串)。

图2 报警区域设置截图

3.3 滑动1 h累积雨量算法

滑动1 h累积雨量时间轴如图3所示,假设现在时刻是H:m,推算出过去1 h的时间范围为H-1:M至H:M,如果m的个位数≥5,那么M等于m的十位数和个位数为5组成的两位数;如果m的个位数<5,那么M等于m的十位数和个位数为0组成的两位数。实现代码如下所示:

图3 滑动1 h累积雨量时间轴示意图

查询SQL数据库分数数据表中H-1(时)M(分)至H(时)M(分)的分钟雨量数据(用R(H-1)M、RHM等表示)和小时数据表中H时整的数据RH,分别计算时间轴前半部分累积雨量R1=RH-R(H-1)M和后半部分累积雨量R2=RHM,滑动1 h累积雨量R=R1+R2。在实际业务运行中,可能会遇到R(H-1)M、RHM等数据缺测的情况,在前半部分累积雨量的计算过程中如果遇到缺测,需要按时间轴依次向右查询相应时刻的雨量值代替R(H-1)M;在后半部分累积雨量的计算过程中如果遇到缺测,需要按时间轴依次向左查询相应时刻的雨量值代替RHM,计算出的结果如达到报警阈值,同样触发报警。同时对缺测时间段进行统计和显示,提醒业务人员有数据缺测。

3.4 报警机制和方式

报警机制是通过判定站点滑动1 h累积雨量,对达到报警阈值的自动气象站“站号”、“站名”、“区域”、“站址”、“数据起始时间”、“数据结束时间”、“数据时长”、“触发报警时间”信息进行显示,开通定时器定时对“ListView”显示控件的显示“Items”数量进行判定,如果“Items”数量大于0,代表有站点1 h滑动雨量达到报警阈值,触发报警。

报警方式分为声音报警和短信报警。声音报警时通过API函数编程实现音乐文件读取、设置、播放等操作,从而实现本软件的声音报警。短信报警是利用企信通实现手机短信报警。企信通是一个面向企业消息通信的短信平台[17],其接口是面向有一定技术开发能力的企业用户的短信(sms)接口,支持C#开发环境下的二次开发[18]。通过调用动态链接库“h.dmkj.QXT_API.dll”,工程中添加引用“using h.dmkj.QXT_API;”,并调用接口函数“SendSms”来实现短信的发送。短信发送代码如下:

4 业务应用

2019年7月19日下午,受低涡切变线影响,昆明市出现飑线天气过程,飑线从北往南移动,出现雷暴、大风、冰雹天气。昆明市呈贡区汤池街道大平地村的自动气象站监测到该站点从16:45开始下雨,到17:00整降水量为19.2 mm;从17:00到17:05降水量为3.1 mm;17:00到18:00降水量为21.3 mm。设定报警阈值为20 mm,该软件在17:07:25触发报警,最近1 h累积雨量达到22.3 mm,软件运行与报警信息截图如图4所示。本例中如果用小时数据进行雨量监测和报警,至少要等到18:00才能对降水量21.3 mm进行报警,本软件将报警时间提前了约55 min。且后续每5 min进行一次报警,滑动1 h累积降水量最大值为16:40至17:40时间段累积降水量40.4 mm,比利用小时数据报警时多19.1 mm。

图4 2019年7月19日17:08软件运行与报警信息截图

昆明市滑动1 h累积雨量报警软件以昆明市自动气象站市级数据库分钟雨量数据为数据源,利用SQL数据库技术和企信通短信报警技术,依托滑动1 h累积雨量算法,实现了时间间隔为5 min的滑动1 h累积雨量的监测和报警。软件运行稳定可靠,界面友好,用户可设置报警阈值和勾选报警行政区域,报警分为声音报警和手机短信报警,报警准确及时,让值班人员在任何时刻、任何地点都能收到报警信息,减小了业务人员的值守压力。在短时强降水过程中,报警时间间隔短、时效性高,有效避免了因数据被整点分割造成的漏报。相较于以小时雨量数据为数据源的报警,报警时间有明显提前,报警雨量数据更能反映降水实况,根据相同站点不同时刻的报警雨量数据大小,可判断雨势的基本变化情况。

猜你喜欢
整点气象站雨量
宁夏红柳沟流域水沙变化及产沙分析
珠峰上架起世界最高气象站
整点问题的解法
整点坐标问题的探究
心灵气象站
基于小波去噪的称重雨量数据分析
暴雨强度公式编制之基础数据质量控制
趣味汉字——正点和整点
SL—1 型雨量传感器故障分析排除和维护
自动气象站应该注意的一些防雷问题