基于MICAPS核心的数值预报资料下载处理系统的设计与开发

2015-05-15 10:10:48张琰俞霄靓梁欣吴启楦
现代计算机 2015年1期
关键词:文件名解码日志

张琰,俞霄靓,梁欣,吴启楦

(中国民用航空西北地区空中交通管理局,陕西 西安 710082)

基于MICAPS核心的数值预报资料下载处理系统的设计与开发

张琰,俞霄靓,梁欣,吴启楦

(中国民用航空西北地区空中交通管理局,陕西 西安 710082)

通过分析MICAPS系统核心的dataCMACAST软件,得到数值预报解码程序参数,利用C#语言和XML技术,设计开发数值预报资料下载处理系统。该软件能自动、定时从远程数据服务器下载数值预报资料,解码处理并记录日志,供客户端通过MICAPS软件调用。并且具备可移植性和对不同平台的兼容性,对数值预报资料类型可以通过XML配置文件做到增、删、改。

MICAPS;DataCMACAST;数值预报;XML

0 引言

MICAPS(Meteorological Information Comprehensive Analysis and Processing System,气象信息综合分析处理系统)是我国气象预报现代化业务系统的重要组成部分。于1994年开始开发,1997年第一版问世,2007年发布了MICAPS 3.0正式版本,并于2009年发布了MICAPS 3.1测试版。MICAPS客户端可以显示和处理气象观测数据、图形产品、数值预报格点资料、为绘制天气图和制作预报产品而进行交互操作。新版MICAPS系统提供了本地数据管理能力,设置灵活,二次开发十分方便,对建立基于MICAPS第三版的业务流程提供了方便[1]。

本文主要介绍了数值预报资料下载处理系统的设计与开发。该软件通过分析MICAPS核心下载处理软件dataCMACAST的运行情况,整理得到解码程序的运行参数。基于解码程序,采用C#语言编写了下载处理软件,该软件可与dataCMACAST进行对接,定时对数值预报资料进行下载与处理,解决原软件运行不稳定的问题。

1 现状及问题

1.1 现状

MICAPS 3.1系统所提供的丰富的气象观测数据、图形产品以及数值预报产品已成为民航西北地区空管局气象中心制作天气预报的重要参考来源,大幅度提高了天气预报的准确性和实时性,成为预报工作不可缺少的参考资料。

目前,MICAPS的数据源是由陕西省气象局提供的世界数值预报产品,通过陕西省气象局到西安咸阳机场民航西北空管局气象中心数据库机房铺设的一条10M专线引接。在西北空管局气象中心数据库机房架设一台MICAPS资料服务器,通过MICAPS系统自带的后台资料下载软件dataCMACAST将原始数值预报产品下载至本地,经过解析处理进程将原始资料解码后在前台显示。同时,将MICAPS解码后的资料共享到气象中心预报室的MICAPS客户端上显示。

1.2 存在问题

MICAPS系统引入以后,以其信息量大、检索方便等特点,对气象预报发挥着重要作用。然而,在日常工作中,我们发现该系统有以下几点缺陷:

第一,由于MICAPS后台的dataCMACAST资料下载进程24小时持续运行,长时间占用大量计算机CPU及内存资源,不能有效释放系统硬件资源,会造成系统经常性死机,使得预报产品不能及时下载处理,严重影响预报工作。第二,MICAPS系统自带的资料下载进程僵死会导致监控程序和解码处理程序僵死,因此不能及时发现数据缺失。第三,MICAPS系统缺少日志功能,不能及时记录系统运行信息,在系统出现错误时运维人员不能查找出问题所在,对系统进一步开发不利。

针对出现的诸多问题,对现有MICAPS系统的进一步开发缺少参考资料,并且开发周期较长,不能立即解决资料缺失问题,因此经过对MICAPS系统的结构分析,重新开发了一套基于C#的资料下载处理程序,与原MICAPS系统核心的dataCMACAST后台解码进程对接。

2 设计目标

在软件开发过程中,软件的复杂性是基本特征,主要有4个原因:问题域的复杂性、管理开发过程的困难性、通过软件可能实现的灵活性以及刻画离散系统行为的问题[2]。该软件的设计采用面向对象的设计方法,通过分解复杂系统,利用类的抽象、封装和继承得到较小的系统,从较小的系统开始增量式推演。软件的设计要求在不影响原有系统的情况下,做到自动、定时下载并解码数值预报资料;在遇到资料不及时或系统故障时,记录日志用于故障排查;同时要求具备可移植性和对不同平台的兼容性;并且预留用户操作接口,对数值预报资料类型做到可增、删、改。

针对上述要求,在软件开发中采用XML作为数据文件的描述方式,抽象出数据的基本信息,如远程FTP地址、文件名、后处理程序等,便于描述新的数据。同时与dataCMACAST软件对接,利用现有的解码程序,对数值预报资料进行解码处理。

3 系统设计

3.1 系统分析

MICAPS系统主要包括数据服务器、应用服务器和客户端三部分,系统结构图如图1所示。

原MICAPS数值预报资料系统利用dataCMACAST软件从陕西省气象局FTP服务器下载气象预报资料,进行本地解码处理,供航空预报人员调取使用,主要预报产品如表1所示。

图1 MICAPS系统结构图

表1 主要数值预报产品类型和时次

dataCMACAST资料下载与解码工作流程如下,利用MicapsDateSchedule.exe从远程数据服务器下载资料,放入用户设定好的本地目录D:MSERVER1D,运行后台相应的解码程序,对本地目录下的数值预报资料进行解码处理,转换格式,放入用户设定的解码后的目录D:MSERVER1MICAPS,由客户端的用户登录相应资料目录查看。用户通过MicapsDataServerConfig.exe程序对资料下载的时次、文件名、下载频率、解码程序等进行配置,同时下载后调用datatran目录下的解码程序对资料进行解码处理[3]。主要解码程序和参数如表2所示。

数值预报解码程序为批处理文件,运行时需要传递参数,表中“FilePath”表示下载后的原始资料存放目录,“TargetPath”表示解码后的资料存放目录,“process_date”表示运行时当前系统时间,格式为yymmddhh(年年日日月月时时)。

3.2 软件架构设计

由图2可以看出,软件需要解决的问题是从数据服务器上下载数值预报原始格点场资料,在应用服务器上进行解码,处理后放入共享目录,供客户端的MICAPS软件调用显示。

表2 dataCMACAST软件解码程序及参数说明

图2 MICAPS系统运行结构简图

由于软件搭建在应用服务器上,使用者只是管理员或设备维护者,并不面向广大气象预报用户,所以开发采用基于客户端的C/S架构,安全性能可以很容易保证,由于只有一层交互,因此响应速度较快。这种体系的数据应用系统的优势在于开发周期较短,能够适应大部分中小型数据库应用系统的要求[4]。数值预报资料每天固定时次制作,下载与处理没有必要一直占用系统资源,所以开发中考虑根据资料时次定时下载的方式,在下载完毕结束程序,释放系统资源,保证程序长时间稳定运行。同时,软件通过调取dataCMACAST原有解码程序,对资料进行解码转换。物理结构如表3所示。

表3 GAT软件目录

3.3 功能模块划分

该软件的功能模块划分如图3所示,共分为定时任务模块、批处理模块、配置模块、XML处理模块和GATinvent 5个主要模块。

(1)定时任务模块:该模块根据数值预报资料时次,定时启动对应的批处理模块。

(2)批处理模块:该模块根据气象数值预报产品类型,将对应的数值预报资料配置文件(XML格式)以参数形式传递给下载处理程序,进行封装。

(3)配置模块:该模块分为综合配置模块和数值预报资料配置模块。用于存放软件运行的参数配置,采用XML语言编写,每个文件为一个单独的XML文件,具备可扩展、可维护性。其中综合配置模块包含数据服务器的FTP地址、用户名、口令、解码后资料存放目录、解码程序绝对路径。数值预报资料配置模块包括资料时次、资料下载目录、本地存储路径、日志存放目录、文件名模板、文件名筛选关键字。

图3 GAT功能模块划分示意图

(4)XML处理模块:该模块对XML文件进行读取和处理,提取配置模块的相应参数转化为程序运行的变量,同时根据文件名筛选关键字生成筛选关键字矩阵,用于和数值预报资料的文件名进行对比和匹配。

(5)日志记录模块:该模块根据不同数值预报资料类型创建不同的日志文件(TXT格式),生成日志头,对资料下载与处理过程中的情况进行记录,将下载的所有文件名和异常故障写入日志,供管理员日常维护使用。

(6)GET下载模块:该模块根据配置参数和系统时间,连接远程数据服务器,根据文件名筛选,下载当天对应的数值预报资料,放入应用服务器的本地目录进行存储,为解码提供数据源。

(7)数值预报资料解码模块:该模块根据配置模块的参数和系统时间,利用原dataCMACAST软件相应解码程序,对应用服务器上的数值预报原始格点场资料进行解码处理,放入解码后的目录,供MICAPS3.1软件调用。

其中,日志记录模块、GET下载模块和数值预报资料解码模块由GATinvent模块封装,减少软件变量的传递、提高模块之间的内聚性。

3.4 系统运行流程

以欧洲中心数值预报资料下载处理为例,图4为系统运行流程图,进行说明定时任务启动欧洲中心数值预报资料的批处理文件ecmwf08.bat,提取批处理文件参数ecmwf08.xml并启动下载处理主程序;XML文件模块根据欧洲模式XML配置文件和软件综合配置文件APP.config获取XML信息,转化为程序运行中的变量,并创建日志,开始记录下载与处理的情况;根据XML文件中的文件名筛选项,下载程序根据相应类型下载数值预报资料,下载后交由解码模块处理;解码程序通过参数判断是否为T639资料,根据解码规则对资料进行格式转换,并记入日志,主程序结束。

(1)综合配置文件APP.config:软件启动后的初始化配置,包含用户口令配置和一些路径配置信息,下述为APP.config配置模板:

说明:

①IP:远程数据服务器IP

②ID:用户名

③Passwd:口令

④TargetPath:目标路径,如D:MSERVER1MICAPS

⑤ProcessPath:解码程序目录,如D:dataCMACAST1.9datatran

(2)数值预报资料配置文件:下载解码时调用的参数配置,XML格式,包含不同数值预报产品的配置信息,下述为数值预报资料配置模板:

图4 GAT系统运行流程图

以欧洲中心数值预报资料配置ecmwf08.xml为例作说明:

①数值预报资料名:ecmwf08

②check:资料时次为UTC时间,如“00”或者“08”。

③RemotePath:数据服务器远程路径,如/bexa/grib/ ecmf/。

④FilePath:下载后文件存储路径,如D:MSERVER1D awdatadvbs wpecmwf

⑤LogPath:日志存放目录,如D:GATLOGecmwf_ Log.txt

⑥文件名模板:文件名中年用“yyyy”,月用“mm”,日用“dd”表示,如

A_HVLY85ECMFddhh00_C_ECMF_yyyymm20184751.bin

⑦ProcessName:解码程序名,如clec08.bat

⑧NameH0:文件名筛选关键字,如num=“31,1”value=V,T,U,P,R,H;num=“8,4”value=ECMF。

(3)计划时间:安排定时任务的启动时间,具体安排如表4所示:

表4 数值预报资料下载处理时间计划表

其中“-22”的负号表示前一天22点UTC。

4 结果与改进建议

软件具备日志记录功能,在运行中会生成下载与处理的日志信息,图5为软件运行中生成的文件名信息和解码信息日志。客户端的MICAPS软件可以调取解码后的数值预报资料,并进行图片展示,如图6所示。由图5可以看出,该软件能够及时下载计划时次的数值预报资料,解码转换为MICAPS客户端可调用的资料类型。运行至今,没有程序僵死或运行不稳定现象。

软件改进建议:

①数值预报资料类型有待进一步扩充,根据XML的可扩展性,增加更多资料类型。

图5 欧洲模式数值预报资料下载处理日志

②目前基于C/S控制台结构,由于无需人为干预,软件定时启动,无操作界面。以后可以考虑制作软件界面,对资料的下载与处理进行监控。

③软件设计时同一类型数值预报资料日志记录到同一份文件中,没有自动清除功能,当日志文件过大时,需要手工清除,今后可以考虑增加日志自动清除功能。

5 结语

本文基于MICAPS系统dataCMACAST软件,利用面向对象的分析方法,设计开发了C/S架构的数值预报资料下载与处理软件,解决了系统僵死造成资料不及时和系统维护缺少日志的问题。采用XML语言对数值预报资料类型做到增删改,系统运行稳定,能够为预报工作提供有力保障。

图6 MICAPS客户端调取预报资料截图

[1] 李月安,罗兵,曹莉等.MICAPS 3.1用户使用手册[M],2009:24~34

[2] Grady Booch,Robert A.Maksimchuk,etc.Object-Oriented Analysis and Design with Applications[M],2012:7~20

[3] MICAPS数据服务器说明书[Z],2010:1~35

[4] 俞霄靓,陈齐亚,黎巍.基于Web的民航气象信息服务系统的改造[J],2011

Design and Development of the Numerical Forecast Products Processing System Based on MICAPS Core Software

ZHANG Yan,YU Xiao-liang,LIANG Xin,WU Qi-xuan
(Air Traffic Management Bureau of Northwest Regional of CAAC,Xi'an 710082)

By analyzing dataCMACAST,MICAPS core software,parameters of the numerical forecast decoding procedures were gotten,which induces to develop the download and processing system of the numerical forecast products by using C#and XML technology.The software has several advantages such as getting data from remote server by auto or timing,decoding and recoding log,call by MICAPS client, compatible with different platform,portability,reversing XML configuration file for getting different types of numerical forecast products.

MICAPS;DataCMACAST;Numerical Forecast;XML

1007-1423(2015)01-0058-07

10.3969/j.issn.1007-1423.2015.01.014

张琰(1986-),女,陕西西安人,硕士研究生,工程师,研究方向为气象数值预报应用

俞霄靓(1981-),女,陕西西安人,硕士研究生,工程师,研究方向为计算机应用

2014-11-27

2014-12-15

梁欣(1988-),女,陕西西安人,在读硕士研究生,工程师,研究方向为计算机应用

吴启楦(1989-),女,陕西西安人,在读硕士研究生,工程师,研究方向为计算机应用

猜你喜欢
文件名解码日志
《解码万吨站》
一名老党员的工作日志
华人时刊(2021年13期)2021-11-27 09:19:02
扶贫日志
心声歌刊(2020年4期)2020-09-07 06:37:14
解码eUCP2.0
中国外汇(2019年19期)2019-11-26 00:57:32
右键调用多重更名更方便
电脑爱好者(2019年9期)2019-10-30 03:43:29
Excel轻松提取文件名
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
游学日志
不让长文件名成为“绊脚石”
电脑迷(2014年8期)2014-04-29 07:37:40