摘要:本文针对数值天气预报业务系统的需求,对网格计算环境下的数值天气预报工作流系统进行研究,利用计算机技术为气象预报工作提供支持。
关键词:网格;气象预报;分析
20世纪80年代传统的天气预报已被数值天气预报(NWP)取代。数值天气预报采用超大规模计算机将收集到的最新气象资料进行处理,采用合理的数值模型进行计算,得到未来天气的预报结果。数值天气预报要比人的经验预报准确率高得多,尤其对于转折性的天气变化,因此开展数值天气预报是各个国家气象发展的重点。
1.数值气象预报系统的现状分析
数值预报是当代天气预报的一个主要工具,发展数值预报技术是提高天气预报业务水平的关键。数值天气预报已成为制作气象预报产品不可缺少的基础和手段。然而,在数值预报的模拟研究和业务应用的实践中,单一的确定性数值预报水平的提高越来越困难,尤其是对一些局部地区发生的突发性、转折性天气过程的预报结果往往失败。而且单一的确定性数值预报结果也很不稳定,这些现象对数值天气预报的发展提出了严峻的考验。
集合预报技术作为一种新兴的数值天气预报技术,针对数值预报的误差来源,采用合理的扰动原理和扰动方法,构造能沿着模式大气相空间最不稳定的方向快速增长的扰动场和集合预报成员,大大提高了人们对暴雨等灾害性、转折性、突发性、局地性天气过程的认识和预报能力。集合预报技术作为当前高影响天气事件(热带气旋、暴雨等)的最佳预报技术已经成为数值天气预报业务系统的重要组成部分,欧洲中期天气预报中心的60%以上的产品是集合预报业务系统制作的,同时集合预报也是WMOTHORPEX计划的重要研究内容。其核心计算是要对一组初值场扰动样本采用传统的确定性数值模式进行预报,然后对预报结果进行统计从而得到概率预报产品。完整的集合预报流程包括扰动值生成、多个模式预报、后处理、产品生成、可视化等多个处理过程。集合预报往往需要数万亿次以上的计算资源,未来超级集合预报的业务运行将提出百万亿次甚至千万亿次计算能力的需求,这些需求对于某个计算中心的计算能力一般很难有效满足。针对集合预报流程中的某些计算过程可以相互独立的特点,可以采用分布处理的方式来组织计算,充分利用国内的各种计算资源,在网格环境下通过有效的组织来运行集合预报业务。
针对传统的数值天气预报业务的脚本组织方式的不足,网格工作流技术可以有效解决网格环境下运行气象集合预报业务过程面临的问题。气象集合预报业务流程是一个复杂的科学实验过程,它包括一系列密集型计算,同时伴有大量的数据生成和迁移。而网格工作流一般被用来描述复杂的科学实验过程,在准确反映科学实验过程的基础上,它更加注重对数据流的管理、流程的优化执行以及对流程涉及到的各种网格资源的优化调度。
2.数值气象预报系统对网格应用的需求
2.1数值天气预报的局限性
数值天气预报是一门综合性应用科学,其发展取决于大气科学(包括气象学、大气物理)、计算数学与计算机技术、空基与地基遥感技术以及地球科学的其他领域等学科的进步和发展。数值天气预报服务是利用分布在全球各地的各种物理设备进行气象数据资料的收集,这些数据资料包括卫星资料、常规资料、飞机、海洋资料以及下垫面资料等,并运用分布在网格上的各个组织的高性能计算资源对这些资料进行加工和处理,最终通过气象预报应用软件得到天气预报产品的过程。一个完整的天气预报过程包括资料收集,资料前处理和质量检查,变分同化,模式预报,后处理以及产品可视化等过程。它是一门需要海量计算的科学,一直是HPC平台的重要应用领域,当前国内建立的数值天气预报业务系统多运行在银河、IBM等巨型计算机或其它集群系统上。
(1)数值气象应用越来越依赖于网络环境,数值气象应用的复杂度超出以往任何时期,而且将越来越复杂。
(2)数值气象应用环境的地理分布性、应用平台的异构性给应用开发、部署带来很大困难。全国性、全行业性应用;新老应用混杂;异构平台不可能统一;应用和应用依托的平台的动态变化。
(3)没有新的技术支持,数值气象应用的复杂性将超过人的控制能力,制约应用发展。
(4)数值气象应用需要有良好的平台的支持。应该有一层软件,使得应用看到的是统一的服务,彻底从物理细节和异构系统细节解脱出来。
2.2网格计算在数值气象集合预报中的作用
(1)随着计算机网络技术的快速发展,大量以计算机系统为主导的计算资源、存储资源、数据资源、信息资源和仪器设备资源等在互联网上逐步形成,同时更大规模科学计算应用(如集合气象预报)的出现对计算能力提出了更高的要求。对于这些应用,单一的巨型机或集群系统无法提供足够的计算能力和数据资源,于是网格计算应运而生。网格通过将大范围地理分布的异构计算机系统和资源整合在一起形成一个大规模的计算平台,用户可以将这个计算平台视为一个“超级计算机”,只需要接入这个计算平台即可使用所有的资源和服务。由于网格聚集各类高性能计算资源、存储资源、仪器资源,因此它能够处理以前一台高性能计算机无法解决或者不容易解决的大规模科学计算、大规模信息处理等。
(2)网格提供这样一层抽象。网格工作流是数值气象预报系统中一个很重要的部分。它主要完成数值气象预报系统的流程编排、自动将流程中的各计算步部署到各网格结点上启动执行的功能。
3.基于网格的数值气象预报流程特点
(1)提供图形化的网格业务流程编辑工具
用户只需使用该编辑工具,就能够简便地完成对其业务流程进行编排。
(2)提供稳定可靠的工作流引擎
网格工作流的核心就是工作流引擎,它是定义、创建、执行工作流的软件组元,首先负责接收由用户编辑的业务流程,并对其进行解释,而后就可以对用户编辑的业务流程定义进行编排,生成多个工作流实例,工作流实例再从众多服务中选择可用、用户权限可允许的服务,然后调用具体的服务实例执行工作流程中的执行步。
(3)提供业务流程运行过程中的实时监控工具
对工作流程的执行过程进行监控,以图形化的形式反馈给用户,以让用户了解业务工作流程的具体执行情况。在网格工作流生命周期中,其中网格工作流实例生成阶段、网格工作流执行阶段、监控阶段的监控信息收集都是由网格工作流引擎系统完成的。可见引擎系统在工作流系统中处于至关重要的地位。网格工作流引擎是工作流系统的核心,其主要功能包括:解释过程定义、为工作流实例提供运行时环境、控制工作流实例的运行,以及为上层应用提供访问接口。