GRAPES模式物理过程诊断软件平台开发
2018-04-02郭锋
■ 郭锋
依托诊断方法,采用信息技术,实现诊断数据的在线显示和诊断操作人机交互功能,建立支撑GRAPES物理过程诊断工作的软件平台,为科研用户提供操作便捷,界面友好的专用工具。通过长期与模式研发人员的交流中,积累需求,不断的改进设计,对模式物理过程诊断中的数据处理、图形可视化、图形展示等各个功能模块进行集成,采用界面技术对用户操作实现交互功能,建立高效、完善的图形系统,支撑模式研发所需的模式诊断、数据可视化应用。
在科技部“十五”和“十一五”科技支撑项目及中国气象局的大力支持下,经过10年的发展,我国已自主建立了区域和全球GRAPES数值预报业务系统,具备了与现有国外引进业务系统同等的业务能力。但是,与国外先进数值预报业务中心的全球模式系统相比,预报误差仍然偏大。模式改进工作的主要瓶颈之一在于对物理过程之间的相互作用与反馈的认识程度和深度,实现模式系统和模式物理过程诊断结果的实时显示和快捷人机对话,是有效利用各种GRAPES模式物理过程诊断分析方法为模式研发服务的基本保证。因此,研发集成模式诊断方法与人机交互的气象可视化软件,非常有利于支撑GRAPES模式的发展。
目前,气象数据可视化软件或应用系统主要分为两类:一类是通用的可视化软件,国外常用系统有Surfer、GRADS、Vis5D、VisAD、MciDAS、METView、TriVIS等;国内常用系统有PC-Vis5D、Weather3D、AeroWIS等。另一类是针对业务工作的特点所开发的气象数据可视化相关的业务工作平台。如美国国家天气局气象预报台的核心工作平台AWIPS系统;德国、加拿大、丹麦、瑞士等国联合开发,基于C/S架构的预报工作系统NinJo系统;中国气象局开发的一个综合预报业务平台MICAPS系统。针对数值预报的分析研究平台,如由ECMWF开发的用于业务及科研的可视化应用Metview;基于开源项目CDAT,用于对多模式气候数据进行分析研究的专用工具VCDAT等。本平台针对GRAPES模式物理过程诊断工作所涉及的各个环节,通过软件集成技术,建立综合操作软件平台,实现数据处理、图形绘制和显示,具备一定交互能力的模式系统和模式物理过程诊断分析平台,有利于便捷高效地诊断模式的误差源和可能反馈机制,对模式物理过程进行有针对性的改进。
1 目标
数值预报模式研发人员在进行模式研发和物理过程诊断分析的过程中,常常需要对模式输出结果数据进行展示和分析,这一过程包括了数据的图形图像绘制、数据运算、比较分析、数值统计等诊断操作,在过去很长一段时间里,这些工作需要研究人员自己收集数据、处理数据、使用计算机语言编制软件来分析数据,以及使用绘图语言撰写脚本对数据进行绘制和图形/图像化展示,这些低水平重复性工作过程繁琐且消耗大量时间,而一些现有的绘图工具软件也无法满足GRAPES模式物理过程诊断分析中的多数据来源、参考资料对比分析、数据运算处理、实时绘图、批量绘图等等需求,为此笔者所在团队研究开发针对满足GRAPES模式物理过程诊断分析的具体需求的可视化工具软件,可更有效的支撑GRAPES数值模式的研发工作。即:当GRAPES模式研发人员的模式运行完成,并产生GRAPES模式试验输出数据,通常这些数据被保存在本地或是上传至用于管理模式数据的分布式数据平台系统(DDPS),本软件直接接入DDPS系统或通过数据处理程序导入本地数据实现数据的获取,用户通过软件界面选取所需要素场,配置相关绘图参数可直接绘制绘图或进行气象图形的批量生成,并且在界面上实现各类诊断操作(如剖面、统计运算、缩放、偏差、累加等),快速绘制生成诊断图形,实现对模式输出的诊断分析,软件在绘图与诊断操作上需实现快速的在线显示与实时绘图,提高软件的用户体验。本软件还支持多种数据的综合分析,用户可通过FTP方式上传自备数据,或通过获取其它模式的数据(近线存储于MARS系统,由国家气象信息中心运行维护),形成多种模式和数据的综合对比分析环境。
2 研发内容
依托模式物理过程诊断方法,采用信息技术,实现诊断数据的在线显示和诊断操作的人机交互,建立GRAPES物理过程诊断的可视化软件平台,为科研用户提供操作便捷、界面友好的专用工具。针对以上的目标,主要包含如下内容:
1)资料综合处理技术
软件平台支持从多种来源获取数据,包括本地数据接入、FTP上传接入、专用数据(MARS)服务器检索、分布式数据平台系统(DDPS)检索接入。软件将符合通用数据标准(GRIB2)格式的用户数据导入系统,且可通过开发具有高扩展性、高适用性的数据标准化处理程序,将GRAPES模式试验输出的原始数据类型GRADS格式数据转码为通用数据标准(GRIB2)格式;标准化数据处理程序还支持FNL数据、T639模式等数据处理,使之在软件中作为参考资料与用户导入的数据进行对比分析。通过并行数据转码功能的研发,提高转码效率。
设计并实现试验数据、参考资料数据、绘图配置数据等数据库存储结构,通过保存数据元信息及数据与图片的对应关系,实现追溯整个绘图流程,用于进行诊断分析中的快速定位。
2)图形绘制和显示模块开发
为满足研究人员对绘图操作的个性化需求,软件平台实现了交互式绘图配置功能的研发。在对各类绘图配置参数的统计分类以及对通用基本要素的绘图风格调研的基础上,软件平台为模式输出的各个要素提供了默认的参数配置模板,用户可根据自己的需求建立自己的模板库,提高相应的绘图参数模板管理功能,以减少用户配置绘图参数的复杂度,减少重复操作。
软件平台实现了批量图形绘制程序的开发,支持等值线、填充图、流线图、矢量图、剖面图、垂直廓线、垂直剖面和时间序列等图形类型;实现了并发绘图,提高图形绘制效率。实现了实时绘图显示功能的开发,支持GRIB2格式的数据,内置插值功能,支持包括填充图、等值线图、统计图等图形的绘制。
3)交互界面软件开发
软件平台由两部分构成:客户端、服务端和消息通信组件,实现从数据接入、数据选择、绘图参数配置、并发绘图、绘图结果展示到诊断交互操作等完整流程的界面开发。
3 系统设计
3.1 系统架构设计
模式物理过程诊断软件平台是建立在多类数据、集合科研需求的交互式的数据可视化系统,在设计时主要遵循以下原则:①统一处理。多类数据来源(本地、FTP、MARS 、DDPS等)、多种数据(GRPAES模式回算数据、FNL数据、T639模式数据等)通过统一的数据处理程序导入软件平台。②业务实用性。结合模式物理过程诊断方法与科研人员常用的诊断操作,在软件平台中实现方便易用的可视化配置、图形绘制以及诊断操作。③可扩展性。系统的设计和实现应具备良好的可扩展性,通过设计来适应不断增加的数据及图形绘制需求。④运行效率。数据处理、图形绘制及诊断操作应具有较快的响应。⑤多用户共享。软件支持Window系统,有利于软件的推广应用。
系统结构(图1)主要由文件系统、后台服务、消息中间件、交互式界面和数据库构成。文件系统主要包括本地、FTP、MARS 、DDPS等。后台服务主要包括数据导入、标准数据处理以及图形绘制,通过响应交互式界面的消息,匹配各类数据来源相应的数据接口进行数据导入,通过统一数据处理程序进行数据的标准化处理,并响应各种绘图任务命令。软件通过消息中间件实现消息命令的传递。交互式界面实现数据访问、绘图配置及浏览分析等功能。数据库用以支持软件整体的业务流程。
图1 系统架构图
3.2 基于C/S的技术路线
诊断软件平台将数据处理,数据图形可视化,图形展示等各个功能模块进行集成,采用界面技术实现用户操作交互功能。系统通过数据接入服务定位分析数据对象;通过计算服务提供对数据对象的加工处理;通过图形绘制服务提供参数化的定制图形产品;通过显示服务展示各种绘制图形;通过交互式响应服务处理操作指令信息。具体技术路线如下:
1)使用GRIB API库生成并解析GRIB/GRIB2格式的数据,将模式生成的GRADS数据转换为GRIB2格式数据,同时使用多线程技术提高转码效率,支持对FNL等参考资料数据的处理,并提供等经纬度网格数据的插值系统.
2)开发存放数据元信息、数据与图片对应关系的数据库存储系统。
3)结合物理过程诊断工作需求,设计绘图模板,开发基于绘图模板的批量绘图系统,研究使用多进程方法加快绘图速度,开发界面上的实时绘图功能。
4)开发人机交互界面。开发数据导入界面,支持从多种来源导入,支持多种数据种类;开发数据浏览查看界面,显示数据集要素、层次、时效等信息列表;开发绘图模板配置界面,用以配置各项参数;开发图像浏览界面,支持诊断交互操作。
5)研发基于消息中间件的网络通讯技术,设计诊断软件平台的网络通信方案。开发消息管理模块,实现诊断软件的网络化部署。
3.3 系统主要模块设计
3.3.1服务端
服务端主要包括数据导入、标准数据处理、图形绘制三个子模块,用以响应前端交互式界面发送的进行数据检索、导入、绘图的操作请求。
数据导入模块包括本地数据、FTP上传、专用数据(MARS)服务器、分布式数据平台系统(DDPS)的数据导入,通过开发各类不同数据来源的数据接口来适配不同的数据请求。
实现具有高可扩展性的统一数据处理程序开发,将GRAPES模式输出文件转码为GRIB2格式,自动识别数据内容,支持GRAPES GFS模式的模式变量和诊断变量输出,并将实验数据的时次、时效、要素、层次等信息保存到数据库中。标准数据处理程序实现解析GRAPES模式试验输出的原始数据类型,支持T639模式产品、FNL等参考资料的识别与接入。处理流程如图2所示。
基于NCL开发独立的图形绘制程序。为了提高程序的执行效率,避免NCL采用脚本方式调用时出现的内存占用大,CPU使用率极高的情况出现,系统采用调用NCL的底层绘制C接口的方式。同时采用数据直接定位解码的方式,避免NCL脚本方式直接加载整个数据文件的问题。在批量图形绘制时,需要采用多进程的方式进行图片的绘制,因此将绘图模块单独设计为一个独立的程序。使用xml模板作为绘图任务参数文件,使绘图程序具有一定的可拓展性。绘图流程如图3所示。
图3 绘图流程图
3.3.2客户端
客户端主要将界面软件划分为数据-绘图-显示三个相关联的子界面,提供不同的交互功能。实验数据界面是整个软件的第一级界面,提供导入实验数据和参考数据、数据内容浏览以及绘图模板库。根据不同的数据来源设计不同的数据选取界面,以列表的形式浏览所导入的数据集内容,并以统计图以及填充图的方式实现快速浏览所选取的要素场内容,并提供系统绘图模板与用户自定义模板的浏览选取,并通过拖拽方式使数据集与绘图模板相匹配进行批量绘图。绘图配置界面是软件的第二级界面,主要提供绘图配置、绘图模板库的操作以及绘图效果实时预览。实现包括基本图形样式、底图、投影、配色方案、标注等图形元素的定制和修改,实现便捷的图形表现形式的修改,提供模板的修改创建功能,并且在单个模板匹配指定要素场与模板修改时,实现绘图效果的实时浏览。显示交互界面是软件的第三级界面,主要提供显示绘图结果与诊断交互功能。针对批量绘图的图形产品提供多样的浏览显示功能,并且结合模式研发人员以及物理过程诊断方法,提供图形方法重绘、剖面、偏差、累积、播放浏览等基本诊断方法。
4 系统实现
4.1 数据标准处理模块
针对GRAPES模式诊断输出物理量,采用WMO GRIB标准第二版,实现数据标准化处理,不仅支持GRAPES模式输出数据,还能处理多种诊断需要的参考资料,使得所有模式数据和参考资料数据的存储和访问接口统一。标准编码要素涉及相关的80多个物理量。
4.2 可交互配置的绘图模块
利用NCL的C语言接口,结合XML模板配置技术,开发绘图引擎,实现批量绘图功能;为提高界面交互诊断的易用性,开发了实时绘图功能,基于Qwt库,开发实时绘图引擎。支持GRIB2格式的数据,内置插值功能。实现对填充图和等值线图的绘制,支持等经纬度和极坐标投影,支持折线图、条形图等统计图形的绘制。通过绘图引擎,可以实现科研人员在诊断分析中使用的基本图形样式,如:等值线图,填充图,多要素叠加图,剖面图,廓线图等(图4),支持单位换算,平均,累加,偏差运算等计算功能。
图4 绘制图形示例图
研发了用于多样的绘图配置功能,提供用户对基本图形样式,底图,投影,配色方案,标注等图形元素的定制和修改,实现便捷的图形表现形式的修改,支持不同用户的共享。不同的模板可以集合形成绘图工具箱,封装批量绘图任务,实现图形批量绘制。实现批量绘图并行优化调度策略,为了充分利用系统资源,系统利用多进程机制进行图形绘制任务的调度,绘图速度得到明显提升。绘图效率的提升对比如图5所示。
图5 绘图效率提升示意图
4.3 交互式图形显示和分析模块
图形浏览模块可支持多视图显示,用户可以根据需要同时浏览1、2或4张图片。系统提供图像浏览方式的交互配置界面,方便用户配置视图的数量及各视图对应的绘图集。设置不同的筛选条件,将条件加入到某个视图中,浏览模块会自动从图片库中寻找匹配筛选条件的图片,显示在对应视图中。可配置每个窗口图片显示的顺序进行显示如:时间,预报时次,要素,层次等同步显示和动画显示。
提供交互式的图形操作功能,例如浏览、缩放、取值、对比、剖面线、廓线等交互功能,多窗口同步显示,便于科研用户对比分析。
建立交互工具,以“点”,“线”,“面”操作分类,通过关联数据,调用实时绘图引擎实现在线处理和显示,“点”交互功能包括单点取值标注、单点廓线和单点时序图等;“线”交互主要是在图片上任意直线的剖面功能;“面”交互功能包括关注区域标示和放大查看,两个场的偏差操作。
4.4 远程访问和可视化交互诊断软件平台
系统以QT、GRIB_API、NCL和OCI技术为基础构建,在Windows平台上实现客户端软件开发,通过增加ActiveMQ消息组件与服务器进行通讯,建立网络平台的基础架构,经过功能拆分,形成了前台交互,后台响应的客户/服务系统,支持多用户共享,促进软件的推广应用。软件平台主要界面如图6所示。
图6 软件主界面
4.5 软件平台的开发与应用
软件以模式研发人员的需求为出发点,通过详细的需求调研,在实际开发过程中,不断与模式研发人员进行交流,迭代开发改进软件功能设计,在推广试用过程中,持续根据模式研发人员的意见不断改进软件的功能与效率。系统通过接入研发人员日常使用的数据平台,保证了与模式试验软件平台的有效对接,在模式支撑软件体系成为一个重要工具。
5 结论
物理过程诊断软件平台提供数据导入、数据处理、绘图配置、批量绘图、图形显示、诊断交互操作等功能,基本涵盖物理过程诊断可视化分析的全流程。当前版本支持GRAPES GFS模式的输出数据,支持FNL等数据作为参考资料。本软件为模式研发人员提供方便快捷的物理过程诊断工具,为科研用户提供操作便捷,界面友好的专用工具。软件平台采用网络化技术,具有很强的扩展性,支持多用户同时使用。本软件平台与分布式数据平台系统(DDPS)对接,方便用户对模式试验结果进行分析,提高模式研发人员进行物理过程诊断的效率。
发展数值预报模式物理过程诊断技术,并形成模式物理过程数据的在线显示和实时人机交互诊断平台,有助于提高模式研发水平和研发效率,从而缩短模式研发的周期。
深入阅读
贾朋群, 王淞秋, 2016. 气象可视化——用可视化方法诠释. 气象知识, (4): 63-67.
李月安, 曹莉, 沃伟峰, 2011. MICAPS 3.1.1用户使用手册. 北京:气象出版社.
伍湘君, 金之雁, 黄丽萍, 2005. GRAPES模式软件框架与实现. 应用气象学报, 16(4): 539-546.
徐国强, 陈德辉, 薛纪善, 2008. GRAPES物理过程的优化试验及程序结构设计. 科学通报, 53(20): 2428-2434.