RPGCA程序的改进

2019-01-18 06:12雷登林
中低纬山地气象 2018年6期
关键词:省局雷达站数据文件

田 程,钟 健,雷登林,彭 茜,倪 雷

(贵州省贵阳市气象局,贵州 贵阳 550002)

1 引言

中小尺度天气系统引发的突发气象灾害(暴雨、冰雹、雷暴、龙卷、大风等)常常对工农业生产和百姓的生命财产造成极大的损失和危害。在短期预报对中小尺度天气系统预报比较困难的情况下,用天气雷达实时观测资料进行预警显得尤为重要。天气雷达资料以其较高的时空分辨率在临近预报及天气预警方面具有独特的优势。气象业务上强对流天气预警主要依赖于天气雷达的实时监测,因此各类短临预报软件是否能及时获取天气雷达资料就显得非常重要。目前,雷达拼图、MICAPS4雷达模块、GR2、SWAN等短临预报软件的基础数据来源于标准化命名的敏视达格式雷达基数据,此数据由雷达站配备的RPGCA程序负责标准化命名、压缩和上传省局服务器。

中小尺度天气系统一般生成和消亡都比较快,留给预报员预报及预警的时间非常有限,但是RPGCA程序并不能实时处理和上传雷达数据,有可能造成数分钟的数据延迟,占用了本来就不多的预警时间,不仅如此,经过贵阳雷达站对RPGCA程序长期业务运行发现,该程序有时不能完全上传所有基数据,并且上传过程中占用较大系统资源,可能造成上传电脑死机。这些弊端不仅增加了雷达探测人员的工作量,也对实时性要求较高的短时临近预警业务造成了较大影响。据笔者了解,其它型号天气雷达类似功能由RPGCD程序来实现,RPGCD程序也有RPGCA程序相似的弊端。同行针对这些弊端已经开发了新的程序[1],但是这些程序无法在贵阳的CINRAD/CD型雷达上使用,所以针对RPGCA程序的弊端贵阳雷达站开发了RPGCA改进版,新版本程序提高了CINRAD/CD型雷达基数据上传的时效性,同时也减少了网络带宽的占用率,在数据上传出错时通过声音和文字进行报警,并能手动或自动补传数据。新程序的使用提高了国家局考核标准下的传输及时率,有效提高CINRAD/CD型雷达资料应用的时效性和雷达数据的可用性,满足了CINRAD/CD型雷达基数据上传的要求,可以在同型号天气雷达站推广使用。

2 RPGCA程序的弊端

CINRAD/CD雷达体扫后生成的*.05V基数据经Radar Products Generation(RPG)软件转录后得到以archive.001-archive999为文件名的敏视达格式基数据文件,RPGCA程序定时将这些文件的文件名修改为标准化命名的文件名,然后将标准化命名后的基数据文件压缩上传至省局服务器。RPGCA程序改名、压缩、上传这一过程不是实时进行的,起初设置为间隔6 min监测一次数据文件,造成敏视达格式基数据可能会延迟6 min才传到省局,后经省局要求将此间隔修改为1 min,按照这种方式设置,虽然时效性得到了保障,但是在新的原始基数据文件生成前,RPGCA程序每过1 min就重复改名、压缩、上传同一个文件,这给省地网络造成了较大负担,也给省局的相关数据处理带来了麻烦,同时还占用了大量的本地计算机资源,造成本地计算机死机。有时雷达工作正常,但省地网出现故障,RPGCA程序即停止工作,当省地网络恢复正常后,RPGCA程序无法处理旧的原始雷达基数据文件,造成网络故障期间标准化命名的敏视达格式雷达基数据丢失。RPGCA程序在出故障时没有声音报警提醒雷达探测人员解决相应故障,其上传过程中耗用系统资源较大,并且有时不能完全上传所有基数据。[1]针对上述RPGCA程序的弊端,笔者使用C#开发了RPGCA改进版。

3 命名规则和压缩方式的研究

新程序的改名和压缩功能必须与原有软件一模一样,所以得研究PGCA程序是如何实现改名和压缩功能的。

3.1 命名规则

首先需要把原始的敏视达格式雷达基数据标准化命名,标准化的文件名如下“Z_RADR_I_Z9851_20180101005942_O_DOR_CD_CAP.bin”,其中只有“Z9851”和“20180101005942”两个字段是变化的。“Z9851”字段是贵阳雷达站的站号,其它CD型天气雷达站的这个字段就是其台站号。“20180101005942”字段是archive基数据文件的生成时间(世界时),因为archive文件不是一次写入完成的,需要6~7 s才写入完成,所以不能用archive文件的创建时间作为此字段,而应该以archive文件的最后一次写入时间作为该字段。RPGCA改进版采用fileSystemWatcher控件实时监控archive文件,一旦监控到有新的archive文件创建,程序等待9 s后立即获取当前archive文件的“最后写入时间”,将此时间转换成世界时后,变为“yyyyMMddHHmmss”的格式,即可作为标准化的文件名的时间字段。

3.2 压缩方式

原版的RPGCA程序采用了bzip2格式压缩文件,bzip2是Julian Seward公司开发并按照开源软件协议发布的数据压缩算法及程序。它是一款基于Burrows-Wheeler变换的无损压缩软件,是一款开放源代码并且免费的软件,广泛存在于UNIX和LNUX系统的许多发行版本中。bzip2能够进行高质量的数据压缩,它利用先进的压缩技术,能够把普通的数据文件压缩10%~15%,压缩的速度和解压的效率都非常高。想要在C#中使用bzip2方式压缩文件,需要在https://github.com/icsharpcode/SharpZipLib 网址下载ICSharpCode.SharpZipLib.dll文件,在C#中添加此dll文件的引用,并在程序中“using ICSharpCode.SharpZipLib.BZip2”。这样就能在C#中调用此dll把archive文件压缩为bzip2格式。

4 RPGCA改进版的设计和实现

软件的运行流程如图1所示。首先使用.Net中的fileSystemWatcher控件实时监控archive基数据文件夹,一旦有新的基数据文件生成就立即进入下一环节,如果持续8 min都没有新文件生成就立即报警,并且检查本机是否能够访问archive基数文件夹,能访问就重启fileSystemWatcher控件,否则就提起局域网故障报警。因为当fileSystemWatcher控件监控的目录不是本地计算机时,偶尔会丢失监控功能,而且不能自动重连,所以一旦超过预定时间没有监控到新文件生成就应该重启此控件[2]。

fileSystemWatcher控件一旦监控到新的archive基数据文件生成,在等待9 s后,去获取当前archive基数据的最后写入时间并转化为世界时,将其作为新文件名的日期字段,然后将此文件拷贝到本机,压缩改名。如果这个过程出现任何错误就提起压缩改名失败报警。

改名压缩后的基数据文件用ftp方式上传省局服务器,上传成功后把数据移动到按日分类保存的文件夹里存档。如果此文件上传失败,则检查省地网是否正常,不正常就提起省地网故障报警,如果省地网正常则延时自动补传相应的文件。

此外RPGCA改进版还提供了手动上传功能,可以选择单个或多个archive基数据改名压缩上传省局服务器。这些功能的提供弥补了原来RPGCA的短板,提高了数据上传的实时性和稳定性。

图1 RPGCA改进版软件流程图Fig.1 The software flow pattern of RPGCA improved version

5 实用效果

该软件自2018年3月1日正式开始运行,截至2018年8月17日运行情况良好,没有出现异常跳出。软件更名和压缩功能正确无误,上传及时稳定,没有出现数据漏传。在网络故障恢复后能及时自动补传数据,可以手动选择上传文件。期间该程序所在计算机稳定性和速度都有一定提高。图2是软件的运行和设置界面。

新的RPGCA改进版的使用提高了雷达基数据上传的及时性和稳定性,有效的提高了雷达资料应用的时效性和可用性。不做任何修改即可推广至其他CINRAD/CD型雷达站使用(其余型号雷达的基数据处理流程不一样所以不能使用此软件)。如有需要可在此链接(https://pan.baidu.com/s/1jNh2Em-A5D_hY7-ecIUroA)下载试用,并希望各位同仁给出宝贵的修改意见。

图2 软件运行和设置界面Fig.2 Run and set the interface

猜你喜欢
省局雷达站数据文件
四级高级主办
基于表空间和数据文件探讨MIS中数据库架构设计
省局采取多种形式宣传新修订的《测绘法》
一张纸的旅程
车位
基于网络环境的社区协同办公问题探讨(二)
雷达站
紫帽山雷达站防雷系统几个关键参数分析
气象数据文件异机备份程序浅析
地球上最高的雷达站