黑龙江省单站数值预报时序图服务系统的设计与实现
2014-07-12李晓峰张金鑫马国忠刘松涛
李晓峰,张金鑫,马国忠,刘松涛
(1.黑龙江省气象局,黑龙江 哈尔滨 150001;2.黑龙江省气象信息中心,黑龙江 哈尔滨150030;3.黑龙江省气象台,黑龙江 哈尔滨 150030)
1 引言
在经济飞速发展的今天,气象服务已不能仅仅局限在粗线条、大尺度的框架内,人们对气象服务提出了更高的要求,期望气象部门能提供在时间和空间上更为精细、量级上更为准确、要素上更为多样化的天气预报产品。因此进一步开展数值预报模式解释应用技术研究,并在此基础上开发和完善基于数值预报模式解释应用技术的精细化的气象要素及其它客观气象预报系统是当前面临的一个十分重要的问题。黑龙江省单站数值预报时序图服务系统就是建设一套基于单站精细化综合时序图的生成,显示和分析的系统。单站气象要素天气预报是现代气象业务体系发展的需要,此科研成果可直接投入省级制作和发布指导预报产品,各市地县都可推广使用。
2 总体设计
2.1 网络体系结构
C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,优势是降低了系统的通讯开销,数据的储存管理功能较为透明,劣势是高昂的维护成本且投资大。
因为本系统是在气象系统内部使用,数据安全性要求比较高,数据也不需要在互联网上共享,因此采用Client/Server结构。
2.2 系统的逻辑结构:
本系统采用三层构架,包括用户服务层、应用功能层、数据服务层三个部分。用户服务层:包括省客户端软件、市县的客户端软件、数据处理客户端;应用功能层:主要是利用现有的计算机网络传输相关数据;数据服务层:主要用于数据存储。
2.3 网络拓扑结构
本系统包括省客户端客户机、市县客户端客户机、数据库服务器、数据处理客户端计算机四部分。
省客户端客户机:和市县客户端客户机功能一样,多一个可以输入任意经纬度点生成时序图的功能。
市县客户端客户机:该软件主要完成数值预报时序图检索显示保存等功能。客户机将从预报员收集来的查询条件提交给数据库服务器,并将数据库服务器返回的图像资料显示出来,供预报员查看和保存。
数据库服务器:主要是数据库管理软件运行用机。主要负责数据收集和保存,为统计查询提供数据基础。
数据处理客户端:是自动运行的软件。管理员设定好时间表后,程序定时按照参数文件设定的各种参数将各种数值预报的格点文件调用GEADS,生成83个台站的时序图,并将这些图形文件按照二进制方式存入数据库。
2.4 开发及运行环境
数据库采用SQL-SERVER2008,开发环境采用VS2010,基于TCP/IP的网络构架,并利用INTERNET上细网格数值预报产品制作黑龙江省县站及任意经纬度点的单站综合时序图。
3 数据库设计
数据库设计采用第三范式设计,即要求一个数据库表中不包含其它表中已包含的非主关键字信息,保证作业数据冗余度最小。
数据表分为二类,第一类是用于存储系统相关信息的表,如 TabStations;tab_dish;mod等。 它存储系统运行时一些重要参数,是维护系统正常运行的关键。第二类是用于存储时序图信息的表,如EC、T639、WRF、NCEP、JP等。它存储用户记录的报文缺测或逾限信息,是进行数据统计分析的基础。表1是系统主要表和视图的名称及相关说明。
表1 数据表说明
4 基于C/S结构的客户端软件的设计与实现
客户端软件分为数据处理客户端、市县客户端、省客户端三个部分。
4.1 数据处理客户端
本程序是24 h运行,根据设定的时间,进行生成最新的节目表,定时按照参数文件设定的各种参数将各种数值预报的格点文件调用GEADS,生成83个台站的时序图,并将这些图形文件按照二进制方式存入数据库。本程序采用时间片运行机制,因此不需要人工干预。为了防止机器意外关机,将程序添加到启动组中,随着windows一起启动。
4.2 市县客户端
本程序主要是市县级预报员使用,预报员选择数值预报模式,起报时间,台站名称等信息,点击查询按钮。程序收集这些查询信息并将它发送给数据库服务器,将服务器端发送过来的二进制单站数值预报时序图给预报员进行分析预报,同时提供图形的保存及编辑功能。
4.3 省客户端
本程序和市县的程序基本功能差不多,增加了一个任意点时序图的生成功能。预报员通过目录选择数值预报文件,然后输入任意点的经纬度信息,点击查询。程序会收集这些信息生成参数文件并调用GEADS在临时目录下生成任意点的时序图,并显示给预报员。
5 结论
本系统是完全按照软件工程理论设计实现的,具有很好的接口和良好的可扩展性,能够适应预报人员的需要,并可以根据日后业务需求的扩展进行扩展。本系统文档齐全,帮助系统详细,使用人员经过简单的培训即可使用。本课题历时一年时间,经历了前期调研需求分析,中期开发调试及试运行,后期课题验收三个阶段,已经投入正常的业务运行,取得了很好的效果。