APP下载

GRAPES数值预报模式集成中试支撑平台的设计与应用

2018-04-02赵春燕郭锋孙婧周斌胡江凯常飚刘立明

关键词:客户端可视化界面

■ 赵春燕 郭锋 孙婧 周斌 胡江凯 常飚 刘立明

为提高数值预报模式研发效率,以解决模式研发入门难、环节复杂、试验数据缺乏管理、模式研发效果检验分析和诊断难以对比检验等问题,设计开发了模式集成中试支撑平台,该平台主要为科研用户设计和提供可视化的统一用户接口,实现了GRAPES模式的交互式模式试验构建、配置、编译运行、监控以及试验管理。

GRAPES数值预报模式系统在用不同的试验方案运行时,需要不同的初始数据和配置,在众多的变量因子中,若某些缺省值的设置有变化,则很难对试验结果进行比较。目前在模式试验过程中,采用脚本部署试验,需要一定的技术基础并且需要对模式有一定的了解,此外,相同试验的重复部署不能快速实现,缺乏便捷易用的通用可视化试验平台。

国际上,ECMWF开发的PrepIFS试验平台,提供了IFS模式的便捷的可视化、流程化的交互式界面,实现了模式试验的快速部署、试验重现、试验过程监视和结果比对,并实现了与可视化作业调度管理系统的无缝结合,可实时监视显示模式试验的运行状态,对错误状态进行示警,有效地简化了模式试验的构建配置过程,并对试验及其数据提供了管理和分析的支持。NASA开发的工作流工具NED为NASA的科学家提供配置、运行、监视和管理复杂的模式试验。NED客户端为科学家提供简单易用的图形交互界面,从而替代命令脚本和执行系统命令的方式,由服务端LWWE实现工作流的执行。

目前,我国尚未建立模式研究的中试平台,模式集成试验涉及的程序、数据、资源、可视化、检验诊断、试验监视各个环节尚未形成业务化的、便捷的一体化支撑环境,模式研究入门门槛要求高,缺乏模式研发数据的管理,模式检验评估分析和预报效果的比对存在困难。

1 平台架构

由于模式研发、试验和运行涉及多套异构的平台系统,如数据系统、HPC系统等,系统采用C/S架构设计,并基于消息中间件技术实现各个环节的消息通讯。如图1所示平台结构,客户端主要实现用户所需交互操作功能,消息层实现前后台消息交互,服务端实现试验实例构建、作业调度提交运行等功能,数据层主要实现数据的存储。功能包括模式试验参数的配置、试验流程的组合、模式试验的快速部署以及比较分析、编译运行环境选择、远程提交作业、作业实时监视,实现模式从创建试验到参数配置、作业提交、实时监视和数据归档、数据可视化等业务的一体化过程。

图1 模式集成中试支撑平台结构

图1所示,客户端主要实现用户交互的功能,包括试验配置、试验作业运行管理、试验结果的可视化、试验管理等用户操作,以及系统管理功能;消息层通过消息中间件技术,实现跨平台的消息通信;应用服务端在后台实现客户端交互操作的执行,如试验的实际构建,包括试验环境准备、试验数据准备、作业生成等,以及试验作业的提交运行、试验结果可视化的图形绘制等处理过程;数据层实现试验数据的管理,包括试验信息和模式数据;接口系统实现与数据环境、程序的接口实现,并实现各个异构系统用户的统一管理。

2 系统功能实现

2.1 开发环境

该平台包含客户端和服务端的开发环境两部分(表1),开发语言为Python,以支持系统的跨平台特性并提升运行性能。为了提高交互界面的用户体验,客户端界面框架采用具有丰富控件特性的wxPython3.0框架;服务端部署在Linux平台,采用轻量级消息中间件RabbitMQ,以便于开发和部署,数据库采用Oracle,与用户管理系统一致便于管理;作业调度采用ECFLOW,即ECMWF开发的升级版作业调度系统,以便升级现有HPC系统上采用的SMS作业调度系统。

表1 开发环境

2.2 主要功能实现

1)试验流程构建

试验流程构建指选择模式试验所运行的模块,并根据正确的运行流程组合试验模块运行。平台实现两种试验流程构建方式:用户定制试验和试验快速构建。试验快速构建指根据试验模板(包括通用模板、用户自定义模板)创建试验,模板已定义了试验的常用默认流程和参数,用户可修改。用户定制试验,需要用户自行选择试验的运行模块,配置试验参数。

2)试验参数配置

试验参数配置包含配置试验的资源参数、源码、数据等。配置试验时,首先配置试验的计算平台、作业队列、资源节点数等资源需求,从客户端界面配置和访问试验模块所使用的程序源码,GRAPES程序源码存储在以Perforce版本控制软件实现的程序库中,实现了从Perforce程序库选择源码路径,通过Perforce的Python接口实现。试验输入数据配置来源于共享数据。所以参数均由默认值设置,用户根据试验需求自行定义修改。

3)作业运行监控

作业提交运行采用ECFLOW软件实现。在高性能计算机登录节点上建立ECFLOW服务器,为每个用户分配专属的ECFLOW服务端口。用户在客户端界面点击提交试验后,系统后台通过消息中间件在高性能计算机上启动作业脚本的生成及运行环境的创建,并通过ECFLOW客户端提交运行。

用户在客户端点击作业监控,即可调用ECFLOW的客户端界面,监控试验作业的编译运行,ECFLOW通过颜色标识作业运行的状态,以红色告警异常状态,并可在界面直接干预作业运行。

4)试验管理

试验管理功能包括试验归档、试验查询、试验对比、试验拷贝、试验删除等。为用户提供全面的从试验程序,参数配置方案到结果数据的全流程管理。

采用Oracle数据库存储试验的结构化信息,如试验ID,试验名称、试验起始时间、结束时间,分辨率等基本信息。基于关系型数据库,采用传统SQL查询,实现试验信息的检索。试验结果数据存储在大数据平台上归档,通过接口以试验ID关键字查询到结果数据并返回。通过试验ID调出试验所有信息,可提供试验配置信息的比较和试验结果图形的对比。

3 结束语

该系统的设计和应用,解决了用户试验和试验数据没有关联管理、难以回调的问题,以GUI交互式构建试验屏蔽了底层操作,降低了试验研究的难度,并链接了模式研究所涉及的程序、数据、试验、作业、可视化等环节和接口系统,形成了一体化综合支撑环境。该系统已试运行,应用于模式研发试验。初步为模式研发人员解决了研发中面临的主要问题,包括试验管理、试验监视、结果可视化,未来将进一步扩展和完善功能,提升模式发展效率。

深入阅读

Videla A, Williams J J W, 著, 汪佳南, 译, 2015. RabbitMQ实战:高效部署分布式消息队列. 北京: 电子工业出版社.

崔应杰, 肖华东, 韩同欣, 2011. 参加ECMWF应用软件系统培训总结.气象科技合作动态, 5: 24-26.

刘艳, 薛纪善, 张林, 等, 2016. GRAPES全球三维变分同化系统的检验与诊断. 应用气象学报, 27(1): 2-3.

沈学顺, 苏勇, 胡江林, 等, 2017. GRAPES_GFS全球中期预报系统的研发和业务化.应用气象学报, 28(1): 1-2.

赵立成, 沈文海, 肖华东, 等, 2016. 高性能计算技术在气象领域的应用.应用气象学报, 27(5): 550-552.

猜你喜欢

客户端可视化界面
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
思维可视化
自然资源可视化决策系统
微重力下两相控温型储液器内气液界面仿真分析
国企党委前置研究的“四个界面”
一种可用于潮湿界面碳纤维加固配套用底胶的研究