简介:文章介绍了利用计算机、数据库等技术,面向业务科研需要,建立基于基数据的西藏地区多普勒天气雷达资料管理及共享服务系统的实现方法。关键词多普勒雷达;基数据;管理中图分类号TL822+.6文献标识码A文章编号1007-9599(2010)04-0000-02DesignandImplementationofInformationManagementandSharingSystemBasedonRawDataofTibetDopplerRadarLiChunyan,LiuYong,CiRenCuoMu(TibetMeteorologicalInformation&NetworkCenter,Lhasa850000)AbstractThispaperintroducestheuseofcomputers,databasetechnology,business-orientedresearchneedstoestablishbasicdataonTibetDopplerweatherradardatamanagementandsharingsystemrealization.KeywordsDopplerradar;Rawdata;Management一、引言新一代多普勒天气雷达(CINRAD)采用了目前世界上先进的雷达技术、计算机技术、数字信号处理以及图像处理等高新技术,具有全天候和高时空分辨率的探测能力,是监测跟踪中小尺度天气系统发生、发展、成熟、消亡过程的有效探测工具。对多普勒天气雷达资料的广泛应用可以大大加强对中小尺度天气系统的探测和预警能力,为开展短时灾害性天气系统及洪涝灾害的监测和预警、人工影响天气、中尺度数值预报奠定坚实基础。随着中国气象局“新一代天气雷达发展规划”的全面实施,西藏地区已相继建成了四部多普勒天气雷达,并逐步投入业务运行。建立有效收集、管理、使用多普勒天气雷达资料系统,实现资料的共享,是最大限度地发挥新型探测设备作用的关键。二、西藏地区多普勒天气雷达资料的管理及共享系统的实现(一)系统设计原则针对目前西藏地区多普勒天气雷达资料管理分散、无统一的数据管理系统、资料使用效率不高等问题,面向业务科研需要,设计合理的多普勒雷达资料管理策略,对资料进行有效的存储管理,并搭建资料管理和共享服务系统,通过网络将资料进行方便、快捷的共享。(二)数据管理策略多普勒天气雷达资料主要包括基数据(既雷达体扫文件,该数据含雷达反射因子Z、径向风速度V、谱宽W等信息,为二进制文件格式),还有基于基数据经过各种气象算法和数字图像处理生成的产品,如组合反射率因子(CR)、垂直液态水(VIL)、回波顶(ET)、谱宽剖面产品(SCS)等丰富的天气雷达二次产品。由于多普勒天气雷达基数据数据量大,一个站点一天数据约为2.9G,其衍生产品可达三十多种,如何对这些资料进行有效分类,并进行科学的存储及管理是本项目需解决的重要问题之一。针对多普勒雷达资料基数据文件大、数据产品种类多等特点,系统研究制定了针对西藏地区多普勒雷达资料的管理策略1.根据业务需要及该资料的特点,确定资料存储管理的重点为雷达基数据资料,因为该资料为雷达运行的基础资料,其中包含天气变化信息、雷达运行状况信息、雷达所在环境信息等,所有的衍生产品均是基于此数据;2.由于基数据为二进制数据格式,需要专业的软件才能读取其中的有用信息,为便于该资料的共享使用,系统开发后台资料处理系统,实时提取基数据中最重要的雷达反射因子Z、径向风速度V、谱宽W三种数据,并运用图形图像技术,形成直观的图像,在共享系统上共享应用;3.根据现有资料的传输情况,对业务要求传输的资料进行存储管理及共享;4.由于基数据量大,为便于存储,系统采用压缩技术,开发资料自动压缩处理模块,对基数据进行有效压缩后存储;5.为便于资料的共享使用,与相关自动站站点资料结合,提供按时间和按天气类型两种方式进行资料检索;6.为便于历史资料的使用,系统开发了针对下载后的雷达资料显示软件。(三)技术实现针对多普勒雷达资料特点,系统采用B/S(浏览器/服务器模式)和C/S(客户端/服务器模式)结合的方式开发,其中数据共享应用系统采用B/S方式开发,资料管理系统采用C/S方式开发。1.系统流程为便于资料管理,本系统按时间将资料分为实时资料和历史资料两部分进行管理。(1)实时资料库为近期雷达资料,库中含①实时雷达基数据既雷达体扫文件;②宽带网实时传输的五种数据图;③基数据初步分析的四种数据产品图像回波强度、谱宽、径向速度、无定证回波强度。(2)历史资料库为非实时库中所有的雷达基数据,采用压缩格式存储,以天为单位,全天数据一个压缩包。为便于使用,提供两种检索方式①按时间检索、下载;②按天气要素检索、下载(与相关自动站资料相结合)。下图为系统资料管理流程及结构图。图1.资料管理流程图2.系统开发技术方法系统开发主要分为三部分资料管理系统、资料共享应用系统、基数据图像显示软件三部分。(1)资料管理系统系统采用C++BUIDER6.0作为开发工具,结合MYSQL数据接口技术、WINZIP软件的命令行工具(WZZIP.EXE和WZUNZIP.EXE)、目录监控技术以及利用MICPAS3系统中西藏各县的经纬度数据,实现了全区多普勒天气雷达资料的自动处理和存储。主要有以下模块1)多普勒天气雷达资料的监控和接收模块。2)多普勒天气雷达基数据的显示处理模块。3)多普勒天气雷达基数据图像化处理模块。4)多普勒天气雷达基数据图像的地图叠加模块。5)多普勒天气雷达基数据图像的自动生成模块。6)多普勒雷达基数据及图形产品自动入库模块。7)雷达数据自动入库和维护。8)历史多普勒雷达基数据的压缩存贮模块。(2)资料共享应用系统该系统以B/S模式采用PHP、MYSQL等工具开发,实现对雷达资料的网络浏览、共享、查询及下载等功能。主要有以下模块1)数据关联模块。2)共享系统数据演示模块。3)资料查询及下载模块。(3)雷达基数据显示程序以Windows系统作为操作系统系统,采用C++BUIDER6.0作为开发系统。(四)系统主要实现的功能1.资料管理系统(1)实现对西藏地区多普勒雷达资料的自动收集、分类、入库,监控;(2)实时处理基数据资料,并生成四种雷达图像产品实时入库;(3)实现了对实时资料和历史资料的可控管理,既实时资料的保留时间可根据实际需要进行调节,调节范围在1-21天之间;(4)图像压缩质量可根据资料存储状况进行调整;(5)实现了对历史资料的自动按天压缩、存储、入库;(6)实现了对雷达站相关自动站资料的自动收集、入库。2.数据共享应用系统(1)对实时传输的5种整点图形资料的动画显示;(2)对实时传输基数据的4种分析图像产品的动画显示;(3)实时基数据的查看、下载;(4)实时库中5种整点图形资料的回放;(5)实时库中4种分析图像产品的回放。3.资料应用软件针对已下载解压后的多普勒雷达基数据文件,实现基数据文件的图形显示,包括单个基数据文件的图形显示和多个基数据文件的动画显示,显示包括多个要素(回波强度、径向速度、谱宽、无订正回波强度),多个显示范围(240公里、120公里、60公里、30公里),多个层次(九个层次)。(五)运行情况系统于2009年9月正式投入业务运行,系统运行稳定。经相关单位应用,在气象业务及科研中,发挥了较好的作用。三、结论(一)系统采用计算机、数据库等技术针对多普勒雷达资料特点,以C\S和B\S模式相结合方式开发建设系统。数据管理科学规范,易于管理和共享、应用,为面向全区雷达资料的广泛应用奠定了基础。(二)系统采用开放式网络环境、标准化协议以及通用系统开发工具,使系统具有良好的可移植性,易于实现和其他系统的互操作,有利于系统未来的发展。(三)应用界面友好用户只需要浏览器即可初步使用该资料,显示、浏览、查询、下载、使用方便,操作简单、明了。参考文献1高梅,张文华,接连淑,阮征等.基于气象信息共享系统的雷达资料网络数据库.气象科学.第30卷第1期2002年2月
简介:在大伙房水库监测预警平台的开发过程中,为了节约开发时间并优化程序结构、提高运行效率,综合利用C#这种现代语言高效开发的特点和FORTRAN这种古老计算机语言描述工程算法准确、严谨的优势。本文讨论了FORTRAN和C#混合编程的特点,研究了C#与FORTRAN混合编程的实现方法。关键词FORTRAN;混合编程;工程计算;DLL中图分类号TP314文献标识码A文章编号1007-9599(2010)04-0000-01ImplementationofFORTRAN&C#MixingProgrammingagainstLargekitchenWarningPlatformDevelopmentShangTao,FuJinxiang,MaXingyuan,TangYulan(ShenyangArchitectureUniversity,Shenyang110168,China)AbstractDuringthedevelopmentoflargekitchenResMonitoringandWarningPlatform,inordertosavedevelopmenttimeandimproveoperationefficiency,usingC#LanguagewhichisthemoderncomputerlanguagealsohasthecharacteristicsofefficientdevelopmentandFORTRANLanguagewhichcanrigorousandaccuratedescriptionofengineeringalgorithmtogetherisnecessary.ThispaperhasdiscussedthecharacteristicsofmixingprogrammingwithC#andFORTRANlanguage.KeywordsFORTRAN;Mixingprogramming;Engineeringcalculation;DLL一、FORTRAN与C#语言的发展及优势以大伙房水库监测预警平台的开发为例。平台需要采用大量先进的计算机编程技术,应用大规模数据库,提供可靠的安全保障,优秀的网络访问能力。这就需要构建平台的编程语言能完整简洁地支持当今最新的编程技术。C#语言就是这样一种语言,作为微软首推的编程语言,C#几乎支持所有最新的编程技术提供了极高的开发效率5。但是该平台又有着显著的工程计算软件的特点,需要严谨的科学计算语言对算法进行描述,同时有许多经过多年工程实践积累的工程计算代码可以被重用。FORTRAN语言最早被应用在工程开发之中,同时在FORTRAN语言50多年的发展中,积累了大量的优秀正确的代码。所以研究C#语言与FORTRAN的混合编程在该项目中的开发中有着重要的意义。(一)FORTRAN语言的发展及优势FORTRAN在数值计算领域有其独有的优势,首先它是最早的高级语言,有大量优秀正确可靠的源代码可以使用,如果能充分利用FORTRAN源代码可以大量节约工程软件设计开发的时间。FORTRAN语言有更为严格的语法,支持直接对数组和复数进行计算,非常适合严谨的科学计算领域1-3。(二)C#语言的发展及优势微软在推出.NETFramework第一版时推出的新语言C#,派生于C的简洁语法,继承了C++语言的灵活性,并且支持快速开发,随着C#3.0版本的发布,C#作为微软公司建议的开发语言,已经受到越来越多的程序开发人员的青睐5。二、FORTRAN与C#混合编程的方法(一)命名约定的一致由于C#语言是严格区分大小写的,而FORTRAN在默认情况下不区分大小写,如果不解决命名一致问题就会导致链接失败。FORTRAN的缺省方式是使符号名在OBJ文件中变成大写,在C#中调用一个缺省的子例程时用一个纯大写的名称生成调用就可以成功publicstaticexternvoidDLLTEST;(二)参数传递一致因为C#默认是值传递,而FORTRAN默认是引用传递。我们在参数传递中必须保持传递的一致性。简单的方法是使用C#的关键字ref,将C#的参数传递类型定义为引用类型publicstaticexternvoidDLLTEST(refinta,refintb);(三)数组参数传递在传递数组参数时,需要周全地考虑行和列的储存位置对调的问题5。还应注意,C#的数组下标从0开始,而FORTRAN的数组下标默认从1开始。如在C#中定义数组A34,共20个元素;同样的定义A(3,4)在FORTRAN中共12个元素1-3。并且进行数组传递还要注意,只需要传递数组的首地址即可,DLL需要的是数组的起始位置。三、FORTRAN与C#混合编程的实现下面试写水库监测预警平台中一个模型计算程序来说明FORTRAN和C#在混合编程的实际应用。启动VisualStudio,选择IntelVisualFortranLibrary中的Dynamic-linkLibrary,并给项目命名。新建“FortranFile”项,并给文件命名。然后在该文件中书写算法代码。编译完成后,在该项目的debug子目录下找到生成的dll文件。新建VisualC#Windows窗体应用程序。并给项目命名,将生成的dll文件拷贝到新项目的debug目录下。在进行连接之前需要在C#中增加对动态链接库操作的类的引用usingSystem.Windows.Forms;usingSystem.Windows.InteropServices;声明外部函数的部分代码publicpartialclassForm1Form{DllImport("dlltest.dll")publicstaticexternvoidFORDLL(reffloatV,reffloatQIN,reffloatBOD,...);...之后就可以对FORTRAN编写的外部函数进行调用,得到正确的结果。四、结论经过本文的讨论,可以看到运用FORTRAN与C#混合编程可以容易地实现。平台的代码极大的缩短,并且可以方便地重用FORTRAN语言的优秀代码,大大缩短开发时间,并且提高程序的执行效率。参考文献1司岩,周福才.FORTRAN程序设计基础J.大连理工大学出版社,1996,52刘卫国,蔡旭辉.FORTRAN90程序设计教程J.人民邮电大学出版社,2003,23张晓霞,田秀萍.Fortran90程序设计教程J.兵器工业出版社,2005,104Nagel.C等著.黄静译.C#高级编程J.清华大学出版社,2008,105周涛,郭占元,郭向荣.Fortran与C#混合编程在土木工程计算中的应用J.中南大学,2009,3