APP下载

利用简单指令实现新一代天气雷达资料转存与备份

2016-05-16陈海燕吕庆利杨传凤

海洋气象学报 2016年1期
关键词:雷达

张 骞,陈海燕,吕庆利,杨传凤,耿 力

(1. 山东省气象台,济南 250031;2. 灌南县气象局,江苏 灌南 222500)



利用简单指令实现新一代天气雷达资料转存与备份

张 骞1,陈海燕2,吕庆利1,杨传凤1,耿 力1

(1. 山东省气象台,济南 250031;2. 灌南县气象局,江苏 灌南 222500)

摘要:介绍新一代天气雷达资料的格式,在此基础上详细讲解了雷达资料预处理的shell脚本和实现雷达资料自动备份的DOS指令,并列出了为保证资料备份正常运行需注意的事项。

关键词:雷达;shell脚本;DOS命令

引言

在现代气象观测手段中,新一代天气雷达(以下简称雷达)是监测台风、暴雨等大范围降水天气和冰雹、雷暴等中小尺度强对流天气系统的有效手段,并能对降水量进行估测,是气象现代化建设的重要组成部分,在短时临近天气预报、气象服务、防灾减灾、人工影响天气作业中发挥着不可替代的重要作用。

按照中国气象局《新一代天气雷达观测规定》,雷达系统运行生成的探测资料(RDA状态信息、RPG基数据和PUP产品)必须向国家级、省级信息中心传送,向有关单位分发,并要求各雷达台站自行备份[1]。备份资料时,人工操作不仅费时费力,还可能因误操作影响备份数据的准确性,因此,编写雷达资料的自行备份指令十分必要。

1 雷达资料简述

1.1 RDA状态信息

RDA状态信息以log文件方式存放在RDA主机的/opt/rda/log文件夹中。这些文件包括:Calibration.log,FC.log,Status.log,Rad.log等,这些文件记录了雷达系统的运行状态、系统标定、报警情况等,以北京时间记录。其中FC.log 和Rad.log是每一小时生成一个新文件,格式为YYYYMMDDHH_文件名.log,其它文件都是一天生成一个,格式为:YYYYMMDD_文件名.log,其中YYYYMMDDHH分别为年、月、日、时。

1.2 RPG基数据

雷达系统运行时会实时生成RPG基数据,存放在RPG主机Archive2文件夹中,格式为ArchiveYYYYMMDDHH.mmA,YYYYMMDD HHmm为年、月、日、时、分,时间为世界时。

1.3 PUP产品数据

雷达基数据经算法处理后共形成反射率因子(R)、平均径向速度(V)等多种类的雷达分析产品,分别存储于PUP主机的products下的文件夹中,以其产品名称命名。文件夹以当天时间(北京时)命名[2]。

2 编码编写

2.1 资料预处理

为保证雷达系统运行的稳定性及安全性,雷达RDA主机操作系统已由WINDOWS系统更换为LINUX系统,RPG主机与PUP主机仍广泛使用WINDOWS系统。雷达运行时,生成的状态信息和基数据并未按照日期直接存储在相应的文件夹中,因此需要对状态信息和基数据做预处理。

2.1.1 状态信息预处理

雷达RDA主机操作系统是LINUX系统,使用shell脚本编写定时任务。步骤如下:第一步,在RDA主机桌面单击右键,点击"Open Terminal",进入命令行终端界面;第二步,在界面中输入“crontab –e”,单击“Enter”键;第三步,键入“vi”进入命令行编辑模式,在界面中分两行键入“1 0 * * * mkdir /opt/rda/log--$(date -d yesterday +%Y%m%d)”,“5 0 * * * /bin/mv /opt/rda/log/$(date -d yesterday +%Y%m%d)*.* /opt/rda/log--$(date -d yesterday +%Y%m%d)”;第四步,单击“Esc”键,键入“:wq”;第五步,单击“Enter”键;看到第六步中显示“crontab:installing new crontab”,表明已成功完成定时任务的编写。该指令实现每天00:01在RDA主机rda文件夹下新建一个以昨天的日期命名的文件夹,并在00:5 将log文件夹中的所有昨天的状态信息转移至新建的文件夹中。在命令行终端界面中输入“crontab -l”,单击“Enter”键,即可查看输入的定时任务指令(图1)。

图1 Linux系统命令行终端界面

2.1.2 基数据预处理

由于雷达基数据占用空间较大,因此备份基数据前需先压缩再备份。

RPG主机与PUP主机的操作系统目前广泛应用WINDOWS系统,编写批处理指令时使用DOS命令。在DOS中没有类似“yesterday”的命令直接进行时间转换,需自行编写指令对日期进行转换。在日期转换时会涉及到跨年、跨月的情况,其中月份不仅分为大月(31天)、小月(30天),还涉及到闰月(29天)等情况,因此不是单纯的当前日期减去“1”就可完成的,在编写代码时,这些特殊情况需做相应处理以免发生错误。以下为根据当前时间获取昨天日期的转换代码,简称为“时间代码”:

@echo off

rem GET YESTERDAY DATE

set dt=%date:~0,10%

rem date format is "YYYYMMDD"

rem set /P dt="Input Date: "

set dy=%dt:~0,4% set dm=%dt:~5,2% set dd=%dt:~8,2%

if %dm%%dd%==0101 goto L01 if %dm%%dd%==0201 goto L02 if %dm%%dd%==0301 goto L07

if %dm%%dd%==0401 goto L02 if %dm%%dd%==0501 goto L04 if %dm%%dd%==0601 goto L02

if %dm%%dd%==0701 goto L04 if %dm%%dd%==0801 goto L02 if %dm%%dd%==0901 goto L02

if %dm%%dd%==1001 goto L05 if %dm%%dd%==1101 goto L03 if %dm%%dd%==1201 goto L06

if %dd%==02 goto L10 if %dd%==03 goto L10 if %dd%==04 goto L10 if %dd%==05 goto L10

if %dd%==06 goto L10 if %dd%==07 goto L10 if %dd%==08 goto L10 if %dd%==09 goto L10

if %dd%==10 goto L11

set /A dd=dd-1 set dt=%dy%%dm%%dd% goto END

:L10 set /A dd=%dd:~1,1%-1 set dt=%dy%%dm%0%dd% goto END

:L11 set dt=%dy%%dm%09 goto END

:L02 set /A dm=%dm:~1,1%-1 set dt=%dy%0%dm%31 goto END

:L04 set /A dm=dm-1 set dt=%dy%0%dm%30 goto END

:L05 set dt=%dy%0930 goto END

:L03 set dt=%dy%1031 goto END

:L06 set dt=%dy%1130 goto END

:L01 set /A dy=dy-1 set dt=%dy%1231 goto END

:L07 set /A "dd=dy%%4" if not %dd%==0 goto L08 set /A "dd=dy%%100" if not %dd%==0 goto L09

set /A "dd=dy%%400" if %dd%==0 goto L09

:L08 set dt=%dy%0228 goto END

:L09 set dt=%dy%0229 goto END

:END set dy=%dt:~0,4% set dm=%dt:~5,2% set dd=%dt:~8,2% set cc=%dt:~4,2% set hcf=%dt:~0,4%

假定雷达基数据存放在RPG主机D盘下Archive2文件夹中,编写压缩指令步骤如下,首先建立一个txt文本,命名为“压缩.txt”,然后将“时间代码”写入文本中,最后输入下列代码:

md D:Archive%dt%

move D:Archive2*%dt%*.* D:Archive%dt%

"C:Program FilesWinRARWinRAR.exe" a -afrar -cfg- -ibck -inul -m5 -or -s -y D:Archive%dt %.rar D:Archive%dt%

exit

代码意义为,在D盘中新建一个以“Archive昨天日期”命名的文件夹,将Archive2文件夹中昨天的基数据剪切至该文件夹中并压缩。代码写完后,将文本后缀改为cmd或bat,即改为“压缩.cmd”或“压缩.bat”,并列入计划任务中,设置为每天运行一次,由于世界时与北京时相差8h,时间设置在每天08:00之后,以免遗漏资料。

2.2 资料备份指令

拷取其他计算机上资料时,通常做法是将对方计算机相应的资料盘权限设置成共享,在本机上做映射网盘进行链接。但是当系统不稳定或者计算机重启时,映射盘会断开链接,这将影响备份指令运行。因此,编写资料拷贝指令时不建议使用映射盘符,而直接写入关联主机的IP地址和共享盘符名称(注:设置共享盘符时应使用英文名称,防止DOS命令不能识别汉字和特殊符号)。假定将资料拷贝到备份主机的E盘,将RPG主机基数据所在盘设为共享盘,共享名设置为“Archive”(共享名可随意设置),将PUP主机产品数据所在盘设为共享盘,共享名设置为“products”。编写备份指令步骤如下,首先建立一个txt文本,如“备份.txt”,先将“时间代码”复制到文本中,然后输入下列三段代码。

第一段:

md E:%dy%年RDA状态信息%cc%月份log--%dt%

XCOPY \RDA主机

IP dasclog--%dt%/E/K/Y/-Y

E:%dy%年RDA状态信息%cc%月份log--%dt%

代码意义为,在E盘建立%dy%年RDA状态信息%cc%月份log--%dt%文件夹,其中%dy%为年份,%cc%为月份,%dt%为日期(包括年月日),将RDA主机上封装好的状态数据复制到该文件夹中。以下两段代码原理相同。

第二段:

md E:%dy%年雷达基数据存档%cc%月份ZIP

copy \RPG主机IPArchive*%dt%.rar

E:%dy%年雷达基数据存档%cc%月份ZIP

第三段:

md E:%dy%年产品数据存档%cc%月份%dt%

XCOPY \PUP主机IPproductsProducts jinan%dt%/E/K/Y/-Y E:%dy%年产品数据存档%cc%月份%dt%

代码写完后,将文本后缀改为cmd或bat,即改为“备份.cmd”或“备份.bat”,并将其列入计划任务中,设置为每天运行一次,时间设置在RPG主机压缩任务运行完成之后,以防出现时间上冲突。设置完毕后,雷达资料将自行完成存储与备份。

2.3 注意事项

编写雷达资料的自行备份指令既能节省人力物力,又能保障备份资料的准确性。为保证自动备份指令正常运行,需注意以下几点:

(1)确保指令编写准确,尤其时间代码准确无误。

(2)设置共享盘符名称时使用英文,不要使用汉字或特殊符号。

(3)确保计划任务运行预定时间段计算机处于开机状态,并且备份指令运行时间设置在RPG压缩指令运行完成之后。

(4)将设置的计划任务列入杀毒软件信任区,以免被误判为木马而删除。

3 结语

灵活应用DOS命令和shell脚本可快捷便利地实现对雷达资料的简单处理、转存及备份等功能,既省时省力又可确保资料的准确性,从而进一步保障雷达系统的正常运行。

参考文献:

[1] 山东省气象局监测网络处. 山东省气象局天气雷达业务文件汇编[G]. 山东省气象局监测网络处,2009:34.

[2] 俞小鼎,姚秀萍,熊廷南,等. 多普勒天气雷达原理与业务应用[M]. 北京:气象出版社,2006:5-9.

作者简介:张骞(1981—),男,汉族,山东淄博人,硕士,工程师,主要从事雷达探测、运行保障工作。

收稿日期:2014-05-13

中图分类号:TP31

文献标识码:B

文章编号:1005–0582(2016)01–0045–04

猜你喜欢

雷达
2022/2023年度雷达未来之星发布
有雷达
DLD-100C型雷达测试方法和应用
雷达欺骗干扰的现状与困惑
雷达
基于小波和Hu 矩的飑线雷达回波识别
基于空时二维随机辐射场的弹载雷达前视成像
基于AA的多通道雷达自适应抗干扰方法
现代“千里眼”——雷达
Endress+Hauser Micropilot FMR5X雷达物位仪