新一代天气雷达个例资料整编系统设计

2021-07-25 09:40
气象研究与应用 2021年2期
关键词:重命名文件名个例

梁 慧

(梧州市气象局,广西 梧州 543002)

引言

随着气象业务发展的需要,对雷达资料的整理、存储和归档的工作量也不断增加。新一代天气雷达采用VCP21 降水模式,每6min 一次体扫,生成1 个基数据文件及20 多个种类的产品,汛期一天就会产生240 个基数据文件和7000 多个数据产品。数据浩繁,信息量大。对数据备份及后期整编挑战颇大。针对该问题,很多雷达台站及相关部门针对雷达资料的管理做了大量的工作[1-8]。基于目前现状,梧州市气象站开发实现了自动雷达数据整理存储及自动化、批量化、流程化和标准化个例整编软件,解决大量的人力物力,减少人为出错,提高雷达数据备份效率及整编的准确性。

1 总体设计

整个系统具体任务流程:第一步,在新一代天气雷达RDA(雷达数据采集单元)中生成基数据,然后选择CINRAD,文件名选择CMA (SB),压缩选择(BZ2),文件夹结构选择按天分目录。第二步,新一代天气雷达在RDA(雷达数据采集单元)中生成状态信息,然后在RPG(雷达产品生产单元)中将状态信息文件归档保存在该系统的RadarMonitorbak 目录中,新生成的状态信息不按天分目录,无压缩。第三步,新一代天气雷达在RPG(雷达产品生产单元)中生产产品,将产品文件归档保存在该系统的productbak 目录中,格式选择CINRAD,文件名选择CMA(SB),压缩选择None,文件夹结构选择按天分目录。本文通过另外一台电脑映射网络驱动器的方式 把 Archive 目 录、RadarMonitorbak 目录和productbak 目录映射到一个网络磁盘中,使在RPG和PUP 中不增加任何开销。并通过定时处理程序把Archive 目录中的基数据、RadarMonitorbak 目录中的状态信息和productbak 目录中的雷达产品按月按天整理存储到网络磁盘,基数据目录为archive,雷达产品目录为products,状态信息目录为rscts。数据备份出来后,对新一代天气雷达灾害性天气过程个例资料进行整编。在基数据、状态信息和雷达产品按年月日整理存储的基础上,按照中国气象局相关业务规范,对灾害性天气过程个例资料整编。系统总体框图详见图1。

图1 系统总体框图

2 资料整编前后对比

2.1 设计思路

根据目前中国气象局相关业务规定,在雷达个例资料整编工作任务中,首先收集灾害性天气过程发生情况,收集、汇总和整理灾害性天气发生时间、地点、灾情损失,以及常规气象资料收集等基础工作。其次,根据雷达个例资料整编的规定,在雷达数据整理存储的基础上,按照一定步骤自动完成雷达个例资料整编任务。

2.2 雷达个例整编文件名格式对比分析

基数据、雷达产品和状态信息的文件名格式整编前后对比分析见表1。

表1 雷达个例文件名整编前后对比分析

2.3 雷达个例整编目录结构对比分析

雷达个例整编前的目录结构,一级目录下有“archive”、“rscts” 和 “products” 三个目录;目录“archive” 下二级目录是 “YYYY”,三级目录是“YYYYMM”,四级目录是 “YYYYMMDD”;目录“rscts” 下二级目录是“YYYY”,三级目录是“YYYYMM”,四级目录是 “YYYYMMDD”;目录“products” 下二级目录是 “YYYY”,三级目录是“YYYYMM”,四级目录是“IIiii -YYYYMMDD”,五级目录和六级目录详见表2。

表2 雷达个例整编前五级和六级目录结构

雷达个例整编后目录结构:一级目录名为“雷达个例_ 市名_YYYYMMDDhhmmss-YYYYMMDDhhmmss”,其中“YYYYMMDDhhmmss-YYYYMMDDhhmmss”为该个例起止时间;一级目录下有“资料数据”和“备注”两个二级目录;二级目录“资料数据”下有“(1)时间说明文件”、“(2)过程的基数据”、“(3)产品数据”和“(4)雷达状态信息”四个三级目录,分别存放“time.txt”文件、改名压缩后的基数据文件、改名压缩后的产品数据文件和改名后的雷达状态信息文件;二级目录“备注”下有“(5)天气过程描述”、“(6)灾情实况”和“(7)雷达运行情况及说明”三个三级目录,分别存放 “description.doc” 文件、“disaster.doc”文件和“explain.doc”文件。三级目录下不能有子目录。

3 系统实现

3.1 主程序调用子程序

运行主程序,出现界面,根据提示“请输入连续天数(日)”、循环“请输入连续日期格式(YYYYMMDD)”、“请输入开始时次(格式:hh):”和“请输入结束时次(格式:hh):”输入相关信息,回车,主程序调用子程序,子程序分别调用“基数据文件重命名函数”、“雷达状态信息重命名函数”和“雷达产品重命名和压缩函数”,运行结束后,备份的目录和文件自动形成整编要求的目录和文件。以下函数以具体日期为例子。

3.2 基数据文件重命名函数

调用基数据重命名函数“rename_archive(argv_1,argv_2)”,argv_2 为参数 “d:\rad\ 雷达个例_ 梧州_20201129080000-20201130080000”,将参数“2020 1129”拆分年“2020”和 月“11”,将字符串“2020”、“11”、“20201129”和“\\ 资料数据\\ 过程的基数据”合成需 要存放 的路径 “D:\rad\ 雷达个例_ 梧州_20201129080000-20201130080000\ 资料数据\ 过程的基数据”,用命令“Dir D:\rad\archive\2020\202011\20201129\*.*/B>basedatalog.txt”,将基数据目录下的所有文件名导出到“basedatalog.txt”文本,打 开“basedatalog.txt”文 本,循环读取“basedatalog.txt”文本下所有文件名。

以整型结构存储文件名总数,关闭“basedatalog.txt”文件,以文件名总数循环值作为循环次数,用数组结构存储文件名的前36 个字符“Z_RADR_I_Z9774_20201129000100_O_DOR_”。

用“copy”命令将“D:\rad\archive\”目录下的基数据拷贝到“D:\rad\雷达个例_梧州_20201129080000-20201130080000\ 资料数据\ 过程的基数据”目录下,以文件名总数循环值作为循环次数,用“rename”命令将“D:\rad\雷达个例_梧州_20201129080000-20201130080000\ 资料数据\ 过程的基数据” 目录下的文件重命名。

3.3 状态信息文件重命名函数

调用状态信息重命名函数“rename_rscts(argv_1,argv_2)”,argv_2 为参数 “d:\rad\ 雷达个例_ 梧州_20201129080000-20201130080000”,将参数“2020 1129”拆分年“2020”和 月“11”,将字符串“2020”、“11”、“20201129”和“\\ 资料数据\\ 雷达状态信息”合成需要存放的路径 “D:\rad\ 雷达个例_ 梧州_20201129080000-20201130080000\ 资料数据\ 雷达状态信息”,用命令“Dir D:\rad\rscts\2020\202011\20201129\*.*/B> rsctslog.txt”,将基数据目录下的所有文件名导出到“rsctslog.txt”文本,打开“rsctslog.txt”文本,循环读取“rsctslog.txt”文本下所有文件名

关闭“rsctslog.txt”文件,以文件名总算为循环值循环次数,存储文件名的第13 至24 个字符“202011290004”,以文件名总数作为循环值。

用“copy”命令将“D:\rad\rscts \”目录下的状态信息拷贝到“D:\rad\ 雷达个例_ 梧州_20201129 080000-20201130080000\ 资料数据\ 雷达状态信息”目录下,在拷贝的过程中把文件名重命名

3.4 雷达产品重命名压缩函数

调用雷达产品重命名函数“rename_products(argv_1,argv_2)”,argv_1 为参数“20201129”,argv_2为参数“d:\rad\ 雷达个例_ 梧州_20201129080000-20201130080000”,将参数“20201129”拆分年“2020”和月“11”,将字符串“2020”、“11”、“20201129”和“\\资料数据\\产品数据”合成需要存放的路径“D:\rad\雷达个例_梧州_20201129080000-20201130080000\资料数据\ 产品数据”,用命令“Dir D:\rad\products\2020\202011\Z9774 -20201129\CAR\110\Z*.*/B >productslog110.txt”。

将产品目录下的Z 开头的文件名导出到“productslog110.txt”文本,打开“productslog110.txt”文本,循环读取“productslog110.txt”文本下所有文件名。

以二维数组结构存储文件名,以整型结构存储文件名总数,关闭“productslog110.txt”文件,以文件名总数作为循环值,调用函数products_prefix(j),j为循环第几个文件,用“copy”命令将“D:\rad\products\2020\202011\Z9774-20201129\CAR\110\*.*”所有文件拷贝到“D:\rad\ 雷达个例_ 梧州_2020112908 0000-20201130080000\ 资料数据\ 产品数据” 目录下,在拷贝的过程中把文件名重命名,重命名后利用压缩工具“bzip2.exe”压缩文件。

采用同样的方法对产品37、38、87、41、59、33、60、78、19、20、56、62、58、80、79、61、26、27、57、48 和53 进行重命名压缩。

雷达产品重命名和压缩函数流程图详见图2,雷达基数据、状态信息文件名处理流程与图2 的雷达产品重命名相似(略)。

图2 雷达产品重命名和压缩函数流程图

4 小结

新一代天气雷达个例资料整编系统具有自动建立整理资料所需的各类文件夹和文件,自动完成基数据、产品数据、雷达状态信息等文件重命名。界面简单,操作直观,实现了个例资料整编的自动化、批量化、流程化和标准化。本文系统地介绍了雷达个例资料整编的实现。系统在南宁、玉林、防城港、梧州、青海、海南和秦皇岛等天气雷达站投入试用,试用以来运行稳定可靠,提高了业务人员工作时效性,便于在其他新一代天气雷达站进行移植推广。

猜你喜欢
重命名文件名个例
一例膀胱镜下留置尿管困难拔除个例分析
用好Excel,文件批量重命名其实很简单
批量更改网页文件名称
Windows 10下快速修改文件名
右键调用多重更名更方便
Excel轻松提取文件名
把我的秘密藏起来
四川省春季一次飞机增雨作业个例分析
同目录下多文件的快速重命名法
四川盆地南部一次冬季飞机增雨作业个例分析