应用气象学报  2018, 29 (1): 45-56   PDF    
MICAPS4网络平台设计与实现
胡争光, 高嵩, 薛峰, 于连庆     
国家气象中心, 北京 100081
摘要: 针对多源、海量、实时气象数据的特点和高交互天气预报预警的业务需求,设计开发了MICAPS4网络平台,该平台包括服务器和网络前端结构,该平台可以实现网络气象数据叠加显示和交互分析等功能。该平台基于统一气象数据模型和分布式实时计算处理框架对多源海量、实时气象数据进行快速处理、计算分析、网络传输和发布,基于HTML5渲染绘制技术实现了浏览器端气象数据的标准实时渲染绘制和交互操作等。MICAPS4网络平台及基于该平台搭建的国家级、省级专业气象网络应用业务系统运行稳定,实现了海量气象数据的网络快速处理分析、高效渲染绘制、预报预警制作交互操作等功能,对建设国家级和省级气象网络应用系统具有重要意义。
关键词: HTML5    分布式实时计算    MICAPS4    天气预报系统    
Design and Implementation of MICAPS4 Web Platform
Hu Zhengguang, Gao Song, Xue Feng, Yu Lianqing     
National Meteorological Center, Beijing 100081
Abstract: In recent years, Web-based meteorological application platform plays a key role in meteorological data sharing, weather forecast cooperation and early-warning, weather service and meteorological decision-making application. Many meteorological Web service systems are developed based on flash plugins or commercial software such as ArcGIS. For instance, French Meteorological Department develops Synergie-Next, German Meteorological Department develops NINJO, and ECMWF develops MetView adopting WebGIS to integrate the WMS and WMF map services. However, there are still some limitations, for example, these applications cover only limited kinds of meteorological data, and it is expensive and inconvenient to develop WebGIS applications based on third-part plugins or commercial GIS software. Besides, some systems are platform-dependent and not robust when run on different operation systems. Finally, some Web-based applications don't support meteorological data analysis and interoperation well. To solve these problems, MICAPS4 Web Platform is developed by National Meteorological Center(NMC) using JAVA and the Brower/Server mode, and it integrates various models including the VECTOR Model, RASTORV Model, GIRD Model, which can store, process different kinds of meteorological data efficiently. It can be used to publish kinds of heterogeneous meteorological data sources through Web efficiently, and with the help of integrated analysis algorithms and models, this platform could be used for developers to develop kinds of meteorological applications systems. Meanwhile, some modern key technologies are used in this platform, such as drawing based on HTML5, and meteorological data real-time distributed process computation with STORM. MICAPS4 Web Platform provides efficient and common server-side and browser-side interface API, making it a convenient meteorological Web platform which could be used by developers at different levels of meteorological departments. MICAPS4 Web Platform and other applications developed by national or some provincial meteorological observatories with its SDK run stably in real-time weather operation, which illustrates strong practicability and expansibility in massive data Web publishing, Web client rendering, forecast analysis and interoperation, and data monitoring. MICAPS4 Web Platform provides efficient server-side and browser-side SDK API, through which national developers already develop kinds of metrological forecasting and early-warning information platforms, and meanwhile, local developers can also develop local meteorological Web information platforms quickly. There are still some problems to be solved further, such as researches about micro-services and simplifying these SDK APIs.
Key words: HTML5     real-time distributed computation     MICAPS4     weather forecast system    
引言

随着互联网、大数据、云计算的快速发展,信息技术在气象领域的应用越来越广泛,在气象数据网络发布和共享、气象预报预警协同、气象服务、决策分析等方面发挥了重要作用,对我国的气象现代化建设起到了重要的信息支撑作用。相比于基于桌面应用的气象应用系统,网络应用平台具有轻量级、免安装、易维护等优势,易广泛推广和使用,其应用开发亦越来越广泛。在国内,气象业务部门基于WebGIS、大数据及浏览器端插件Flash,Siverlight等技术开发了气象数据共享网、数值预报产品共享服务平台、气象网络决策服务平台等[1-6]。国际上,发达国家也在致力于天气预报平台的网络化研发工作,以提高业务共享和协同能力,如法国气象局正在研发的网络版本预报工作平台Synergie-Next[7], 德国的NINJO预报平台采用GeoServer网络集成了WMS, WMF等地图服务和气象数据服务[8],欧洲中期天气预报中心开发的Metview 4[9-10],采用Terralib开源软件包,实现基于Web的数值预报在线制图。但上述系统开发在不同程度上存在一定局限性:①平台涉及的气象数据种类单一,基于数值预报产品或自动气象站数据,未能提供一个支持各类气象数据实时处理分析、网络发布的气象综合分析网络系统;②系统采用Flash,Siverlight等插件对网络数据进行动态绘制渲染,未能提供在浏览器端使用标准Web技术实现免插件、跨平台的网络数据可视化方案;③系统仅限于气象数据简单显示, 对气象数据可视化表达能力较弱。没有专门的气象专用符号库、专用颜色模板等,对高交互操作、气象算法分析网络服务能力支持有限[11]

人机交互气象信息处理和天气预报制作系统(Meteorological Information Comprehensive Analysis and Processing System,MICAPS)是当今中国气象行业核心的天气预报业务平台[12-13],该平台的研发从MICAPS1.0到MICAPS3.2版本均采用客户端/服务器(C/S)桌面应用程序开发[14],在气象业务平台网络化和云化趋势日益明显的背景下,为了更好地解决以上气象业务网络应用平台中存在的问题,从MICAPS3.2开始MICAPS网络平台研发工作。超文本标记语言第5次版本(简称HTML5)[15-16]作为网络前端技术,自发布以来,性能得到进一步提升,提供了Canvas和WebGL接口对数据进行可视化绘制标记元素实现画布功能,对于大数据量的实时绘制渲染具有较强性能[17],分布式实时大数据处理框架(简称STORM)[18]是一个开源的分布式实时计算系统,可以简单可靠地处理大量数据流,可以支持如实时分析、在线机器学习、持续计算等应用。在结合气象数据特点和天气预报服务需求基础上,综合运用HTML5和STORM技术, 设计研发了MICAPS4网络平台。

1 MICAPS4网络平台定位和应用需求 1.1 MICAPS4网络平台整体定位

MICAPS4网络平台作为MICAPS整体设计的一部分,其服务器是MICAPS云化设计的重要组成部分,MICAPS4网络平台服务器实现的数据计算处理、算法分析、地图服务和气象数据服务等功能不仅可供MICAPS4网络平台网络端应用,还可以支撑MICAPS4桌面版应用使用;MICAPS4网络平台与MICAPS4桌面版共享基础数据支持、基本功能和算法,其与MICAPS4桌面版一起构成MICAPS4的应用服务体系,同时,相对于桌面版,MICAPS4网络平台网络端具有使用更方便、维护更简单、界面更灵活的特点,具有集中部署、全网使用等优势,特别适合在省市县各级气象部门短临预报预警、精细化预报、预报服务产品共享服务等应用上发挥重要作用。

1.2 MICAPS4网络平台需求

MICAPS4网络平台设计和研发,不仅需要分析各类气象数据的特点、高效解决气象数据的实时处理分析、网络共享和发布等问题,而且需要提供一套高交互模式下的可视化和算法分析网络应用平台,同时,MICAPS4网络平台具有良好的数据接口、算法接口、功能接口,支持国家、省市县各级气象部门基于MICAPS4网络平台技术框架和标准接口快速二次开发,以适应特定预报服务业务应用需要。

1.2.1 海量气象数据网络共享和发布应用需求

当前,在气象预报预警、气象决策服务等方面对观测数据(高空观测数据、地面观测数据、自动气象站数据、雷达数据、卫星云图等)、高分辨率数值预报产品等多源气象数据的网络共享和发布需求迫切;同时,随着气象数据时空分辨率提高,自动气象站、L波段探空、高分辨率卫星云图、高分辨率数值预报产品等在气象预报预警中应用越来越广泛[19-20]。MICAPS4网络平台需支撑多源、海量气象数据高效实时处理、网络发布等,同时,采用统一的气象数据模型设计,实现不同数据类型采用不同的模型对象方式存储和网络传输,从而显著提升数据的网络发布性能。

1.2.2 高交互天气预报服务网络应用需求

天气预报分析和决策服务对气象数据叠加显示分析、交互操作(预报预警交互制作、地图缩放,投影变换、属性设置等)等方面具有较高的要求。在短临预报预警中,基于实时雷达、自动气象站及其外推分析产品的预报预警分析制作等[21-23],MICAPS4网络平台需提高气象数据在网络端的绘制效率,提供一套标准的高交互操作工具,支持地图的快速缩放、投影变换、属性面板修改、图层信息添加删除,并提供了天气预报基本分析、落区交互制作、预警交互制作,常用天气符号交互操作等工具箱,可以满足网络端天气预报预警分析制作等高交互要求。

1.2.3 海量气象数据实时天气分析应用需求

气象数据具有高时效、高频次等特点,气象应用业务系统对时效性亦有较高要求,如自动气象站分钟级数据、雷达及卫星数据,如何发挥这些数据及其加工产品在重要天气和气象灾害监视和报警功能的作用,特别是在短时临近预报预警、台风监测、强对流天气监视、实时滚动订正的精细化格点预报等方面。MICAPS4网络平台需要支持实时的数据输入、实时分析、实时更新、消息通知等功能。

1.2.4 气象网络应用系统集约化开发需求

全国各级气象业务部门根据特定的业务应用对构建适应本地业务流程的一体化气象业务网络平台需求迫切,如本地短时临近预报预警、精细化格点预报、服务产品共享等网络化应用开发需求,而MICAPS4网络平台作为天气预报服务网络应用通用平台,需设计提供通用模块和良好扩展接口,支持各级气象部门进行快速众创开发和定制,为全国各级气象部门网络化应用开发提供一个集约化开发平台。

为满足以上应用需求,本文将从MICAPS4网络平台总体设计、气象数据模型设计、基于HTML5的前端气象数据高效渲染技术、针对海量气象数据的分布式实时计算、通用开发接口设计等方面深入研究,构建MICAPS4网络平台,实现符合天气预报服务网络应用的服务体系。

2 MICAPS4网络平台总体设计

MICAPS4网络平台总体上划分为MICAPS4网络平台服务器和网络前端,MICAPS4网络服务器又划分为两层,分别为MICAPS4网络平台服务层和Web服务层(图 1),其业务数据主要来源于全国综合气象信息共享平台(China Integrated Meteorological Information Sharing System,CIMISS)。

图1 MICAPS4网络平台总体结构 Fig.1 The framework of MICAPS Web Platform

2.1 数据源

数据源主要为MICAPS4网络平台所需的业务数据,包括来源于CIMISS数据环境中的气象业务数据、MICAPS4网络平台的基础地理信息服务数据以及本地应用气象业务数据等。这些数据通常存储方式各异,有分布式文件系统,也有数据库或者传统文件系统等。MICAPS4网络平台使用统一的数据访问引擎(MICAPS4网络平台DBE),可以实现对分布式数据文件、数据库、传统文件的统一访问和快速解析,通过统一的数据模型进入MICAPS4网络平台服务器。

2.2 MICAPS4网络平台系统结构 2.2.1 MICAPS4网络平台服务层

MICAPS4网络平台服务层包括MICAPS4网络平台数据分布式实时处理系统、MICAPS4网络平台功能服务组件集、地图服务器、MICAPS4网络平台服务管理器以及数据传输对象构成,其中,MICAPS4网络平台数据分布式实时处理系统基于分布式实时大数据处理框架(STORM)开发,主要完成中期天气分析、物理量计算、集合预报计算、高分辨率数值预报、卫星及雷达数据预处理加工,稠密自动站客观分析和等值线分析。MICAPS4网络平台功能服务组件集提供一套对气象数据进行获取、分析、传输、显示的服务组件,如气象观测数据填图显示和分析、卫星云图及雷达产品浏览、自动气象站数据客观分析、等值线填色、交互平均计算、裁剪实时处理等算法分析,地图服务器包括常用GIS服务组件,包括地图浏览、地图缩放、GIS空间分析等,数据传输对象是MICAPS4网络平台服务层和网络前端进行交互通信的标准网络格式,一般使用JavaScript对象标记语言(JSON)方式传输,由MICAPS4网络平台服务层进行处理,并将最终的处理结果返回前端显示。MICAPS4网络平台服务层是一个可独立运行的服务包。可以由MICAPS4网络平台服务管理器来管理和运行。

2.2.2 Web服务层

Web服务层介于网络前端和MICAPS4网络平台服务层之间,包括一系列网络应用程序,是实现MICAPS4网络平台功能的一个中间层。该层将网络应用程序通过网络服务器(Nginx,Tomcat等)发布到网络中供前端调用,Web服务层传递前端请求到MICAPS4网络平台服务层,调用MICAPS4网络平台服务并获取服务端的结果,并将结果返回给网络前端。

2.2.3 网络前端

MICAPS4网络平台网络前端实现对气象、GIS数据等用户业务数据的显示和交互分析制作发布等功能,采用高性能、标准HTML5技术研发,包括功能模块如下:基础类型对象模块、操作对象模块、气象数据绘制模块(高空观测数据、地面观测数据、自动气象站数据、雷达卫星数据、数值模式产品等)、客观分析处理模块、GIS地图控件、图层对象模块、工具对象模块、前端控件模块。同时,MICAPS4网络平台网络前端具有开放性服务应用架构设计,具有完整标准的应用程序编程接口(API),可以支持本地业务快速开发和用户界面和流程定制,支持网络数据服务,并可通过规范化接口进行服务协议的扩展;支持WMTS及KML等标准GIS地图服务[24]

3 MICAPS4网络平台关键技术设计 3.1 气象数据模型设计

气象数据具有多源化、海量、时效性高等特点,包括各类常规观测数据、自动气象站分钟级数据、雷达数据、卫星云图、数值预报产品等,这些数据不仅包含基本气象信息内容,还包含气象信息属性与元数据信息(经纬度、区站号站名、卫星通道、雷达参数等),为解决多源气象数据处理分析和网络发布问题,MICAPS4网络平台针对这些气象数据,抽象出了统一的气象数据模型,从而可以统一高效地进行数据读取、内存数据组织、空间索引、数据可视化表达等,模型主要分为矢量(VECTOR)、栅格(RASTOR)和格点(GRID)模型。气象数据模型是MICAPS4网络平台的核心结构,它的高效组织和处理决定了平台的运行效率。

3.1.1 矢量数据模型(VECTOR)

矢量模型是以点、线、面为表现形式的拓扑结构,并附带属性数据,主要描述常规观测(高空观测数据、地面观测数据等)、自动气象站分钟级数据、台风路径、天气分析落区、基础地理信息数据等信息;几何数据对象集(FeatureCollectio)用来描述矢量模型,该对象主要定义数据类型(Type,默认为FeatureCollection)、几何数据对象(Feature)以及元数据的属性信息(Properties)。几何数据对象其主要定义几何对象数据的类型标识(Geometry)、要素字段名集合(Fields)以及数据内容(Data),其中Geometry描述存储具体数据的点、线、面类型信息,Fields描述存储和Geometry对象关联的属性表字段名集合,如自动气象站各要素温度、压强、降水等字段名及字段的数据类型集合,Data描述存储具体的矢量数据值,具体结构如图 2所示。

图2 矢量数据模型 Fig.2 The structure of VECTOR Model

3.1.2 栅格数据模型(RASTOR)

海量高时空分辨率的雷达数据和卫星等栅格数据的网络发布,对系统的性能(快速显示、快速的响应时间、高并发量访问能力等)提出了高要求。栅格气象数据模型以存储量大、索引方便优势适合描述高分辨率卫星云图和雷达数据等,MICAPS4网络平台针对此类数据设计了栅格数据模型。基于金字塔模型[25]处理、组织、管理栅格数据,即采用服务器端主动预缓存技术方式,预先在服务器上切割出金字塔结构的缓存切片,按一定规则存储在服务器硬盘目录下,每级地图切片都有相应的坐标值与索引值,当客户端访问时,客户端根据当前缩放级别下的比例尺、当前显示范围进行计算, 得出请求范围覆盖到的瓦片数据的层次号和行列号, 并向服务器发出请求, 服务器通过索引进行检索, 得出所需瓦片数据的坐标范围, 以链接图片的方式快速显示。这种方式的优势是对于实时气象数据可以快速高效地响应。

3.1.3 格点数据模型(GRID)

针对数值预报数据,因其综合了矢量和栅格数据等特点,设计了格点数据模型(GRID)。格点数据模型区别于栅格数据模型,虽然两者均为矩阵存储的相同方式,但格点数据模型更适合数值预报产品的存储和表达,因业务人员使用该类产品有格点值、等值线分析、等值面填色等多种表达方式,因此,对该类数据的描述需要格点数据模型综合数据结构来描述。格点数据模型采用格点集合对象描述,其包括属性信息、格点数值、等值线、等值面; 属性信息主要存储数值预报数据的元数据描述,格点数值主要描述数值预报格点场的值、位置、格点场格距等属性数据,分析等值线存储基于格点数据进行等值线分析后的结果,等值面用于存储格点数据等值线分析后形成的填色区域(图 3)。

图3 格点数据模型 Fig.3 The structure of GRID Model

3.2 基于HTML5的网络前端气象数据高效渲染技术 3.2.1 HTML5技术特性

HTML5是万维网标准通用标记语言下的一个应用超文本标记语言(HTML)的第5次版本[17],目前大部分浏览器都支持HTML5。在功能特性上,HTML5中加入了一些新特性,如语义化标签、音频和视频、矢量绘图、网页内容编辑、Web Socket、多线程处理以及离线存储等。HTML5提供了Canvas和WebGL接口对数据进行可视化绘制标记元素来实现画布功能,对于大数据量的实时绘制渲染具有较强性能[26],可绘制矢量图、栅格图或绘制复杂的动画以及文本文字,这些图形将直接渲染在浏览器上。同时,HTML5使Web浏览器从简单的渲染演变成能够在许多应用领域提供丰富交互式应用程序的运行时环境[27]

3.2.2 MICAPS4网络平台中气象数据高效可视化网络表达技术流程

为解决网络端采用标准Web技术、免插件方式对气象数据高效渲染和互操作等问题,结合MICAPS4网络平台应用需求,基于HTML5 Canvas,WebGL对网络环境下高时效气象数据和基础地理信息数据的动态可视化进行了研究,平台对基于Web的气象观测站点数据填图显示(包括高空观测数据、地面观测数据、自动气象站数据等)、卫星雷达数据、数值预报绘制显示、等值线分析绘制等提供了一套高效的可视化技术流程(如图 4所示)。

图4 浏览器HMTL5渲染过程 Fig.4 Meteorological data plot with HTML5

MICAPS4网络平台前端基于HTML5 Canvas和WebGL两种渲染方式实现了一套标准绘图容器,该绘图容器实现了对3.1节所述数据模型的适配,可以按照用户自定义样式文件CSS3 (渲染方式、颜色、天气符号等)对矢量图层(FeatureLayer)、栅格图层(RasterLayer)、格点图层(GridLayer)进行绘制, 对于地面气象要素填图、高空气象要素填图、自动气象站等站点的显示,平台提供了丰富的气象填图符号和自动分级显示机制,在前端默认采用Canvas方式实现在不同比例尺下的气象数据填图的渲染绘制;对于数值模式数据绘制显示,为了提高格点场绘制效率,MICAPS4网络平台在服务器端对格点数据进行等值线分析,然后在浏览器端向服务端发送请求后保存在客户端的内存,最终采用格点图层实现数值模式的格点分析,填色显示等。同时,平台能根据大数据量、高分辨率的数值预报产品指定选择WebGL渲染加速功能,如欧洲中期天气预报中心细网格数据的加速显示等;针对卫星雷达等高时空分辨率数据,MICAPS4网络平台在服务器对数据进行预加工处理,形成栅格图层需要的文件存储,然后发布为WMTS标准切片网络服务,前端根据栅格图层绘制方式把该类型数据进行高效绘制;以上所有数据,为了保证数据的高效传输、前端显示,MICAPS4网络平台针对每类数据在服务器端和浏览器端均采用了压缩传输和缓存技术。

对于在线的站点客观分析,平台在服务器端提供Cressman和IDW两种插值分析算法,当前端发送请求时,MICAPS4网络平台服务器会解析需要的站点数据等,根据请求发送过来的空间范围的大小以及网格点的间隔,然后调用插值方法,生成结果集,并将结果传返回前端,在前端采用Canvas进行绘制。前端开发形成了一套标准API开发包,可以提供给第三方或者本地业务应用开发使用。

3.3 基于STORM的气象实时分布式计算处理系统 3.3.1 STORM介绍

STORM是一个开源的分布式实时计算系统,可以简单可靠地处理大量数据流。支持水平扩展,具有高容错性、高性能、低延迟,保证每个消息都会得到处理;STORM可以支持实时分析、在线机器学习、持续计算等应用[28],因此,特别适合气象应用中的海量、多源、实时的数据计算和分析;STORM实现一个数据流模型[29-31],在这个模型中数据持续不断地流经一个由很多转换实体构成的网络。一个数据流的抽象叫做流,流是无限的元组序列,STORM包括一个实时处理程序的逻辑结构——拓扑,这个拓扑将会被提交给集群,由集群中的主控节点分发代码,将任务分配给工作节点执行。

3.3.2 MICAPS4网络平台中STORM处理流程

针对天气预报和服务业务中对大量气象数据实时处理、计算分析的应用需求,研究采用了STORM分布式实时计算处理系统来实现MICAPS4网络平台对海量数据的实时处理和计算分析。图 5是MICAPS4网络平台中STORM的实现流程,在具体部署中,为了保证数据的稳定、高效处理,MICAPS4网络平台后台处理采用3台服务器作为STORM集群,其中一台为主节点,其余两台为工作节点,另外采用分布式应用程序协调服务(ZooKeeper)[32]负责集群的管理和调度。

图5 MICAPS4网络平台中STORM处理流程 Fig.5 STORM in MICAPS4 Web Platform

首先,MICAPS4网络平台后台分布式处理程序启用了实时消息监控,实现了对CIMISS分布式数据环境、MICAPS文件系统的实时消息监控,包括各类气象资料的到达、更新、删除等情况进行即时记录和描述,这些即时信息会作为消息索引队列进入内存消息库(REDIS),REDIS具有针对海量数据的高效索引键-值(key-value)性能[33],因此,MICAPS4网络平台采用REDIS作为其实时消息索引库。STORM集群运行中的拓扑会即时的从REDIS消息队列中获取数据索引,根据索引,各拓扑会快速索引到对应的数据,然后进入后续的计算单元对数据进行加工、计算分析。MICAPS4网络平台已经实现了以下7类拓扑的开发,包括卫星处理拓扑、雷达处理拓扑、精细化格点产品拓扑、数值预报处理拓扑、中期天气分析拓扑、集合预报分析拓扑、站点处理分析拓扑。其中,卫星处理拓扑和雷达处理拓扑主要完成风云系列和Himawari-8气象卫星可见光、水汽、红外通道产品及雷达产品的即时处理,以栅格数据方式存储;精细化格点产品拓扑主要完成国家级精细化格点实况和预报产品(5 km分辨率,逐时滚动,10 d时效,空间范围为0°~60°N, 70°~140°E)的实时处理,其处理结果为MICAPS4网络平台栅格数据和格点数据两种存储方式;而数值预报处理拓扑、中期天气分析拓扑、集合预报分析拓扑主要完成数值预报数据的计算分析(模式数据切块、等值线分析、物理量计算、平均场及距平场计算等处理),结果为MICAPS4网络平台格点数据的存储方式;站点处理分析拓扑主要完成稠密自动气象站、高空、探空、地面观测等站点类数据的客观分析、物理量计算等处理,结果存储为MICAPS4网络平台矢量数据类型。同时,根据STORM的扩展性和业务需要,MICAPS4网络平台可以扩展开发其他气象分析应用拓扑,因篇幅有限,本文选取精细化格点产品拓扑分析具体实现流程。

MICAPS4网络平台采用精细化格点产品拓扑分布式计算分析精细化格点实况预报数据,设计实现包括nwfdSpout,gridLoadBolt, FilledContourBolt, gridBlockBolt4个处理单元,nwfdSpout负责精细化格点数据实时文件(到达、更新、删除)消息产生源,发送消息,将精细化格点数据流以元组的形式发送;gridLoadBolt接受nwfdSpout的数据流后,在其execute()函数中,对以Grib2格式的精细化格点数据进行解析、并发送处理消息到FilledContourBolt和gridBlockBolt计算处理;FilledContourBolt接受消息后,调用等值线分析和填色处理算法, 实时计算处理出精细化格点数据的分析结果,并以栅格模型存储;gridBlockBolt接收消息后,按照要素、时次对格点数据进行格点切块处理成格点模型数据;以上实时计算分析结果在MICAPS4网络平台数据服务区,可以响应MICAPS4网络平台的前端实时数据和分析请求。

采用STORM分布式实时计算处理系统后,可以充分利用分布式集群处理和流式计算的优势,不仅提高了MICAPS4网络平台后端实时气象数据的处理和计算分析效率,而且简化了计算处理逻辑结构,可支持计算处理节点的功能复用,同时,可以弹性扩充新增数据类型的处理等,如高分辨率卫星及雷达数据处理拓扑、数值预报处理拓扑、中期天气分析拓扑、集合预报分析拓扑可以在分布式集群工作节点上并行处理计算;站点的客观分析、等值线分析、填色分析等计算处理节点,可同时接受高空、地面观测、稠密自动气象站等拓扑的消息输入;在不改变计算处理框架情况下,MICAPS4网络平台可以弹性扩展开发其他气象分析应用拓扑等。

3.4 MICAPS4网络平台通用接口

MICAPS4网络平台接口设计充分考虑了对通用模块的封装,提供了良好的开发接口,因此,基于MICAPS4网络平台开发包,可高效支持本地短临预报预警、精细化格点预报、服务产品共享等网络化应用开发,进行快速众创开发,为全国各级气象部门网络化应用开发提供一个集约化开发平台。下面以MICAPS4网络平台前端开发接口设计为例(图 6),对MICAPS4网络平台开发包进行简要说明。

图6 MICAPS4网络平台前端开发接口 Fig.6 MICAPS4 Web Platform SDK interface

MICAPS4网络平台应用开发接口主要包括界面框架接口和图形渲染接口,其中界面框架接口设计主要包括一些气象业务应用系统相关的通用界面组件,如功能导航类组件是定制开发业务功能区的组件,图层面板组件是定制地理信息或者气象类数据图层的管理组件,数据面板组件是用户自由定制和业务功能相关的气象数据检索菜单的组件,时间轴类组件可以为用户提供方便的气象数据按时间检索的开发组件,同时,还包括用于气象数据统计、时序分析显示的图表类组件。另外,针对地理信息数据和气象类数据的快速渲染,MICAPS4网络平台开发包提供了图形渲染接口,主要包括地图类接口,图层属性接口和调色板接口,其中核心地图类接口主要封装了地理信息数据、气象数据的图层创建、初始化、显示、增加、删除、更新等方法,还包括图层属性定制、颜色方案定制、图层响应事件等。

4 MICAPS4网络平台应用

基于以上模型、HTML5前端技术和STORM分布式实时计算处理框架,开发实现了MICAPS4网络平台(图 7),该平台已经部署在中央气象台天气业务内网,不仅支持雷达拼图资料、单站雷达PUP产品、卫星云图、高精度地形图等栅格数据的高效网络发布,还可以与自动气象站数据,地面观测、数值预报等数据的叠加显示、查询、交互分析等功能:同时,支持对自动气象站气象要素进行客观分析,对气象要素分析统计等;预报服务人员可以自由切换地图服务、交互绘制天气预报分析落区等;为国家级和省级预报业务人员提供了天气预报分析业务平台。图 7还显示了平台在国家气象中心(中央气象台)业务环境中的运行实例,该平台运行稳定,MICAPS4网络平台采用HTML5前端渲染技术,使用JavaScript脚本在浏览器端直接绘制图形, 相较于用Flash或其他第三方插件显示的方式,节约了资源,并极大地简化了图形和网页中其他元素的交互过程,因此,气象数据的显示、交互操作更加高效,另外,HTML5可以支持MICAPS4网络平台前端使用标准的Web技术实现免插件、跨平台的网络数据可视化。同时,中央气象台基于MICAPS4网络平台开发包研发了针对中长期天气预报网络平台,现已成为中央气象台预报员主要的中期天气预报平台(图 8)。

图7 MICAPS4网络平台应用 Fig.7 Application of MICAPS4 Web Platform

图8 基于MICAPS4网络平台的中长期天气预报业务平台效果 Fig.8 Medium Weather Forecast Analysis Platform based on MICAPS4 Web Platform

同时,该平台在全国各级气象业务部门推广使用,某些省份气象应用开发人员结合当地业务需求,使用该平台组件接口进行开发。如广西壮族自治区气象局开发的广西精细化预报网络平台、辽宁省开发的短临预报预警制作平台,现都已投入业务使用。随着MICAPS4网络平台的完善和推广使用,MICAPS4网络平台在全国各级气象部门的气象灾害预警、天气和气候监测、预报、预测和信息发布等信息化建设方面具有重要的应用前景。

5 小结

1) MICAPS4网络平台运行情况和应用效果表明:前端高效可视化方法和后端分布式实时计算处理系统可以很好地解决网络平台中气象数据高效实时网络发布问题,而且可以对实时气象数据进行分析和监控、叠加显示分析、预报预警制作等功能,增强了MICAPS4网络平台在气象数据网络共享、实况监视报警、预报分析、服务出图等方面应用能力。

2) MICAPS4网络平台关键技术具有通用性,可充分发挥网络化构架的优势,发挥其对省级及以下各级业务的指导能力,提出的方法在跨平台、免插件、后期维护更新方面较传统客户端和浏览器插件等方式具有明显优势。

3) MICAPS4网络平台具有较好的系统结构开放性和扩展性,可以支持省级天气业务的快速集约化开发,根据本地业务特色,构建适应省级天气预报服务一体化综合业务网络平台。

参考文献
[1] 王国复, 李集明, 邓莉, 等. 中国气象科学数据共享服务网总体设计与建设. 应用气象学报, 2004, 15, (增刊Ⅰ): 10–16.
[2] 孙长征, 朱小谦, 张卫民. 基于Web的数值天气预报系统的研究与设计. 计算机工程与科学, 2009, 31, (增刊Ⅰ): 296–299.
[3] 吴焕萍, 罗兵, 曹莉. 地理信息服务及基于服务的气象业务系统框架探讨. 应用气象学报, 2006, 17, (增刊Ⅰ): 135–140.
[4] 陈效杰, 张金泉. 基于Hadoop/Hive的气象数据分布式处理研究. 软件导刊, 2015, 14, (8): 11–14.
[5] 孙利华, 吴焕萍, 郑金伟, 等. 基于Flex的气象信息网络发布平台设计与实现. 应用气象学报, 2010, 21, (6): 754–761. DOI:10.11898/1001-7313.20100613
[6] 程国雄, 胡世清. 基Silverlight的RIA系统架构与设计模式研究. 计算机工程与设计, 2010, 31, (8): 1706–1713.
[7] Jean N. SYNOPSIS Project: From SYNERGIE to SYNERGIE-Next. 25th EGOWS, 2014.
[8] Dirk H. NinJo Recent Developments. 20th EGOWS, 2009.
[9] Ian R. Recent Developments in Metview. 25th EGOWS, 2014.
[10] Grifith F. AWIPS-Ⅱ Into the Future. Proceedings of 27th ⅡPS for Meteorology, Oceanography, and Hydrology. 2011.
[11] 郑卫江, 吴焕萍, 罗兵, 等. GIS技术在台风预报服务产品制作系统中的应用. 应用气象学报, 2010, 21, (2): 250–255. DOI:10.11898/1001-7313.20100216
[12] 李月安, 曹莉, 高嵩, 等. MICAPS预报业务平台现状与发展. 气象, 2010, 26, (7): 50–55. DOI:10.7519/j.issn.1000-0526.2010.07.010
[13] 中国气象局培训中心. MICAPS3系统培训教材. 北京: 气象出版社, 2009.
[14] 高嵩, 毕宝贵, 李月安, 等. MICAPS4预报业务系统建设进展与未来发展. 应用气象学报, 2017, 28, (5): 513–531. DOI:10.11898/1001-7313.20170501
[15] W3School. HTML5教程. 2011. [2017-05-11]. http://www.w3school.com.cn/html5/index.asp.
[16] Lawson B, Sharp R. Introducing HTML5. United States of America: Pearson Education, 2010.
[17] David M. HTML5:Designing rich Internet Applications. United States of America: Focal Press, 2010.
[18] 邓立龙, 徐海水. Storm实现的应用模型研究. 广东工业大学学报, 2014, 31, (3): 114–118.
[19] 高梅, 倪允琪, 张文华, 等. 中尺度灾害天气分析与预报系统综合显示平台. 应用气象学报, 2011, 22, (5): 621–630. DOI:10.11898/1001-7313.20110513
[20] 高嵩, 代刊, 薛峰. 基于MICAPS 3.2平台的格点编辑平台设计与开发. 气象, 2014, 40, (9): 1152–1158. DOI:10.7519/j.issn.1000-0526.2014.09.013
[21] 吴涛, 万玉发, 沃伟锋. SWAN系统中雷达反射率因子质量控制算法及其应用. 气象科技, 2013, 41, (5): 809–817.
[22] 朱浩, 樊彦国, 武腾腾. 开源GIS支持下的气象灾害风险区划分析. 气象与环境科学, 2012, 35, (3): 33–40.
[23] 刘旭林, 赵文芳, 刘国宏. 基于WebGIS的气象信息显示和查询系统. 应用气象学报, 2008, 19, (1): 116–122. DOI:10.11898/1001-7313.20080119
[24] Open GIS Consortium Inc. OpenGIS Specifications: Web Coverage Service (WCS), Version1. 1. 2. [2008-06-12]. http://portal.opengeospatial.org/files/index.php?artifact_id=27297.
[25] 胡争光, 郑卫江, 高嵩, 等. 气象GIS网络平台关键技术研究与实现. 应用气象学报, 2014, 25, (3): 365–373. DOI:10.11898/1001-7313.20140314
[26] 吴磊, 张福庆. 基于HTML Canvas的WebGIS客户端技术研究. 地理信息世界, 2009, 7, (3): 78–82.
[27] 梁春雨, 李新通. 使用HTML5 Canvas构建基于GeoJson的轻量级WebGIS. 计算机科学与应用, 2012, 2, (10): 189–196.
[28] 董昭. STORM分布式实时计算模式. 北京: 机械工业出版社, 2014: 2–15.
[29] 赵菲, 林穗, 高西刚. 面向大数据的STORM框架研究与应用. 微型机与应用, 2016, 35, (6): 12–14.
[30] Apache STORM. STORM Documentation 1. 1. 0. [2016-06-30]. http://storm.apache.org/releases/1.1.0/index.html.
[31] Sun D W, Zhang G Y, Zheng W M. Big data stream computing:Technologies and instances. Journal of Software, 2014, 25, (4): 839–862.
[32] Apache ZooKeeper. ZooKeeper Documentation 3. 4. 10. [2017-03-30]. https://zookeeper.apache.org/.
[33] 郎泓钰, 任永功. 基于Redis内存数据库的快速查找算法. 计算机应用与软件, 2016, 33, (5): 40–43.