admin 管理员组文章数量: 1086019
2023年12月17日发(作者:jvm内存分配)
基于Web的数值天气预报系统的研究与设计
CN43—1258/TP
ISSN1007—130X
计算机工程与科学
COMPUTERENGINEERING&SCIENCE
2009年第31卷第A1期
.A1.2009
文章编号:1007—130X(2009)A1—0296—04
基于Web的数值天气预报系统的研究与设计
AResearchandDesignBasedon
WebofNumericalWeatherPrediction
孙长征.朱小谦.张卫民
SUNChang-zheng,ZHUXiao-qian,ZHANGWei-min
(国防科技大学计算机学院,湖南长沙410073)
(SchoolofComputerScience,NationalUniversityofDefenseTechnology,Changsha410073,China)
摘要:数值天气预报的运行,需要高性能计算机资源的支持,而高性能计算机是一种非常昂贵的资源,对于一些小型
的组织和单位来说,是一种难以负担的资源.并且目前数值天气预报模式的运行大多是基于命令行方式的,对于非专业人
员来说,是很难使用的.本文以WRF模式的运行为例,通过开发用户友好的使用界面,以Web服务的形式提供给用户,方
便用户操作.同时,利用兴起的云计算技术,将系统部署到云环境中,充分利用云中的高性能计算机资源,可以节约成本,
也有利于业务的迅速开展.
Abstract:Therunofnumericweatherpredictionsystemsneedsthesupportofhighperforman
cecomputingresources.
Buthighperformancecomputersareveryexpensive,ent,mostnn—
merleweatherpredictionsystemsarebasedoncommandlines,andit'paper,
-friendlyinterfaceisdeveloped,andiseasytoaccessforUS—
temwillbedeployedin''Cloud",andthehighperformancecomputersinthe"cloud"willbeaccessedwhennec—
theexpenseoftheuserwhocan'taffordtObuyahighperformancecomputer.
关键词:云计算;数值天气预报;WRF模式
Keywords:cloudcomputing;numericweatherprediction;WRFmodel
doi:10.3969/.1007—130X.2009.A1.084
中图分类号:TP391文献标识码:A
1引言
数值天气预报系统的运行,需要具有上万亿次以上的
计算能力资源的支持,其运行过程中计算量大,数据量大,
因此需要充分利用本地或网络中的高性能计算机资源以及
其他的软硬件资源进行业务处理.但是,高性能计算机仍
然是一种昂贵的资源,对于一些小型组织和单位来说,是难
以负担的.而近期兴起的云计算技术,则为这种情况的改
善带来了一丝曙光.云计算是分布式处理,并行处理和网
格计算的新发展,其目的在于使计算分布在大量的分布式
计算机上,而非本地或远程的服务器上.云计算应用使用
大规模的数据中心和功能强劲的服务器来运行网络应用程
序与网络服务,能够支持网络服务程序中的三层应用程序
架构模式,以及支持当前Web2.0模式的网络应用程
序¨1].云计算的出现使得用户无需再安装各种应用软件,
同时也减少了软件升级带来的繁琐操作.用户只要通过网
络接入云,就可以使用云中提供的各种应用程序及功能,获
得应用环境或应用本身.
目前,数值天气预报系统一般采用的是c/s结构,程
序的运行大多是在本地集群上,或气象网格中的集群节点
上.要开展数值天气预报业务,其软硬件投资是巨大的,同
时气象网格是专有的资源,不太可能对网格外部的用户开
放,这在一定程度上限制了数值天气预报业务的发展.同
时,目前很多数值天气预报模式的运行是基于命令行方式
的,用户通过输入命令来运行底层程序,查看运行结果,进
*收稿日期:20090713;修订日期:2009—09—10
基金项目:国家863计划资助项目(2006AA01A123)
作者简介:孙长征(1984一),男,山东日照人,硕士生,研究方向为网格计算;朱小谦,副研究员,研究方向为数值天气预报;张卫民,
研究员,博士生导师,研究方向为数值天气预报和网格计算
通讯地址:410073湖南省长沙市国防科技大学计算机学院硕士一队;Tel:159****1436;E-mail:*****************Address:SchoolofComputerScience,NationalUniversityofDefenseTechnology,Changsha,Hunan410073,只
296
行数据分析等工作.这对于那些对模式运行不熟悉的人员
是很难使用的.我们通过Gwq<开发Web使用界面,利
用工作流管理等技术设计了数值天气预报业务流程,为云
环境下提供数值天气预报服务提供了B/S结构业务处理
平台.
2相关概念及技术
2.1云计算
云计算可以被看成是网格计算和虚拟化技术的融合,
即利用网格分布式计算处理的能力,将IT资源构筑成一个
资源池,再加上成熟的服务器虚拟化,存储虚拟化技术,以
便用户可以实时地监控和调配资源.IBM在其技术白皮
书"CloudComputing"中对云计算的定义为:云计算一词用
来同时描述一个系统平台或者一种类型的应用程序.一个
云计算的平台按需进行动态地部署,配置,重新配置以及取
消服务等.在云计算平台中的服务器可以是物理的服务器
或者虚拟的服务器.高级的计算云通常包含一些其他的计
算资源……云计算在描述应用方面,它描述了一种可以通
过Internet进行访问的可扩展的应用程序."云应用"使用
大规模的数据中心以及功能强劲的服务器来运行网络应用
程序与网络服务.任何一个用户可以通过合适的互联网接
入设备以及一个标准的浏览器就能够访问一个云计算应用
程序.[13
2.2wRF模式[]
WRF模式是由美国研究,业务和大学的科学家共同参
与开发研究的新一代中尺度天气预报模式及同化系统.该
模式集成了中尺度方面的研究成果.WRF模式系统开发
的目标是为了在高分辨率模拟中提高计算精度,并提供了
多种物理方案供选择.目前,WRF模式已经在各国的气象
研究部门得到广泛的使用,成为气象预报的有力工具.目
前WRF已经发展到了版本3,WRF模式系统主要有以下
几部分组成:
(1)WPS(WRFPreprocessingSystem,简称WPS):
WRF预处理系统.它由创建地形数据的geogrid,获取全
球模式背景场ungrib和对气象数据进行水平插值的met—
grid三大部分组成,用来创建WRF模式的输人数据.
(2)WRF-Var:用于进行资料同化.
(3)ARWsolver:WRF主模式.这是WRF模式系统
的最核心部分,它由模式初始化程序(ideal,rea1)和模式积
分程序(wrf)组成.
(4)Post-processing~Visualizationtools:后处理图形
化工具,用于将模式结果以图形化的形式显示出来.
2.3GW]【t
GWT是由Google公司开发的,并于2006年5月发布
的一个开发Ajax应用的框架,它支持用Java开发和调试
Aiax应用.Aiax技术是当前开发web应用的非常热门的
技术,也是Web2.0的一个重要组成部分.它被用于创建
更加动态和交互性更好的Web应用程序.如果用传统的
JavaScript进行Aiax开发的话,即使对于Aiax技术非常熟
悉的开发者而言,Aiax应用的开发和调试过程也不是一件
容易的事情.GWT的出现有效地解决了这一难题.
GWT允许程序员用Java同时开发客户端和服务器端
的代码.它提供了一组基于Java语言的开发包,这个开发
包的设计参考JavaAwT包设计,类命名规则,接口设计,
事件监听等都和JavaAwT非常类似.熟悉JavaAwT的
开发者不用花费多大力气就能够快速开发Aiax应用.
GWT编译器会把用于开发客户端的Java代码转化成
JavaScript和HTML,而程序员不必去关心这一过程.
3.系统结构设计
系统引人云环境中的workflow管理数值预报应用的
各种组件,引入云计算门户概念,将数值预报的GUI作为
门户的重要组成部分,同时提供云环境的资源监控等模块.
该系统为客户端提供了一个友好的图形化界面,用户
先通过浏览器登陆该系统,设定应用程序所需的参数和文
件路径.用户通过鼠标在地图上划一方形区域,得到该区
域的经纬度信息,之后选定投影方式,系统自动生成
namelist文件,存储到服务器上相应的目录中.用户可以
手动编辑该文件,调整起报时间等信息.在运行WPS预处
理程序之前需要设置相关的GRIB文件信息,这些信息包
括GRIB文件的位置,开始/结束时间,时问间隔等信息.
之后可以运行WPS预处理程序,通过第三方插件查看处
理结果,图形化显示给用户.通过任务管理和工作流管理
两个模块,用户可以创建,删除,修改任务和工作流,控制数
据处理过程及程序执行流程.
该系统能够满足数值天气预报运行的需求,充分利用
云中的高性能计算资源,对输入的气象观测资料进行处理.
该系统最上层是Web服务器和数据库服务器,数据库存储
模式所需的参数和文件路径等信息,通过Web界面调用模
式服务器上安装的底层模式处理程序处理文件,然后将处
理结果返回给浏览器,呈现给用户.
4系统主要实现技术
目前WRF模式已经有图形化的运行界面,是由NO—
AA开发的WRFPortal.虽然将其称为Portal,但实际上
它并不算真正意义上的门户.它是以JavawebStart的方
式启动的,通过点击WRFPortal网站上的链接,自动将程
序下载到本地机器上,下载时间取决于网络的状况.以后
再点击该链接启动Portal时,就不需要下载,启动速度很
快.同时在启动时,程序会自动检查是否存在更新,若存
在,则自动进行更新.但是这种实现的核心仍然是一个应
用程序,这与当前将应用实现为服务的思想不相适应,与传
统门户的表现形式也存在着很大的差别,不适合与门户集
成在一起,共同利用计算资源以及管理,任务提交等服务,
更不适合部署在云环境中.
我们所开发的系统是将原来的WRFPortal进行改造,
使其符合Portlet规范,适合与门户集成在一起.系统建立
在云环境基础之上,通过将应用包装成Web服务,实现了
简化客户端,多用户共享使用的问题.我们将具体介绍该
系统相关的核心技术的实现.
297
4.1数值天气预报,Veb使用界面设计
项目开发的是一个基于Web的天气预报平台.原有
的程序运行方式将发生根本性的变化,需要通过一系列的
Web页面设置程序所需的参数,文件路径等信息,所有的
运行结果都将在服务器端完成,然后将结果返回通过浏览
器呈现给用户.在开发过程中,用到的主要技术工具是E—
clipse和Google公司开发的GWT工具.在开发过程中,
图形用户界面将借助GWT提供的包来完成,在GWTCli—
ent端实现,而操作数据库,文件读写以及底层模式程序的
调用则由Server端来实现.Client端和Server端的数据通
信则由GWT提供的RPC调用来实现_1."].系统的数据
流程结构如图1所示.
而两
Hw式理系统II积分
任务管理ll工作流管
图1系统结构图
系统主要包括以下几个模块:
(1)参数设置模块:提供一系列的Web页面实现用户
参数的输入,这些参数包括设置底层程序位置,输入输出数
据的路径,以及起报和停止时间等.所有的参数都在Web
页面上进行设置,用户不再需要在命令行下修改复杂的
namelist文件,减轻了用户的负担,同时也减少了出错的可
能性.
参数设置完成后,由用户手动进行保存,写人数据库
中.在用户启动浏览器,登陆到系统时,系统自动将参数加
载,供所有具有访问权限的用户使用.实现了一次设置,所
有用户持续使用,省去了用户每次都需要设置的麻烦.
(2)WPS预处理模块:执行WPS预处理程序,产生
WRF主程序的输入文件.WPS预处理模块包含3个子程
序:geogrid,ungrib和metgrid.用户可以根据自己的需要,
通过鼠标在地图上画一个矩形区域,得到预报区域的位置
信息,并选定投影方式,系统会根据所选区域的大小自动设
置格点数和格点之间的距离,用户可以根据需要调整地形
分辨率信息.系统根据这些设置,自动生成narnelist文件,
其中是WRF主模式(real和wrf)的输入文
件,是WPS预处理程序的输入文件.两个文
件分别包含了程序处理所需的控制信息.用户需要修改
中的时间控制信息,该时间要与GRIB文件
所包含的时间一致,否则在运行ungrib程序时会出错.由
于namelist文件是由系统自动生成的,用户只要初始定义
了namelist文件的格式,在执行过程中,系统会自动将参数
信息写入该文件,而无须用户手动编写,只要对参数进行修
改即可,减少了出错的机会.
程序执行完毕后,向用户显示执行的结果,用户可以通
过第三方工具查看执行的结果,以图形化或具体参数的方
式将结果显示给用户.该结果作为模式处理的输人数据,
参与到后面模式的具体处理过程中.
(3)任务管理模块:系统提供了一个创建,删除,修改任
298
务的界面.系统为用户默认提供了几个任务文件,是用脚
本语言写成的,控制任务,数据的处理顺序.用户可以根据
需要采用其他的脚本语言,但是服务器应当有这些脚本语
言的解释器.
(4)32作流管理模块:这里主要是靠脚本控制程序的执
行流程.以往的数值天气预报过程中,一个程序执行完毕,
需要手动启动下一个程序进行处理,只有通过开发人员的
干预才能完成整个处理过程,效率很低.在该系统中,将由
脚本控制整个程序的执行流程.用户需要预先定义几个脚
本文件,这些文件定义了程序在处理过程中需要的参数,输
入数据的路径等信息,同时还定义了各个程序之间执行的
顺序.用户定义了一个新的工作流,就是定义了一次新的
程序执行流程.用户需要设置工作流执行的时间,系统根
据设定的时间,自动顺序地执行各个任务.程序在执行过
程中会实时监控该工作流中每个任务的执行状态,用户根
据每个任务的状态,对出错的任务通过查看日志文件,查找
任务出错的原因,修改后重新提交运行工作流.
4.2数值天气预报工作流程设计[9]
数值天气预报系统涉及到若干个组件的执行过程,每
个过程执行完成后,其结果作为下一个程序的输入数据.
如果靠手工操作的话,用户需手动启动每个组件,配置相应
的参数.同时在命令行模式下,用户需要输入多个命令操
作,显然效率将非常低下.引入工作流技术,通过工作流控
制程序的自动运行,则可以显着提高运行效率,且自动执行
的可靠性相对较高,避免了在输人命令过程中出现的错误.
在系统设计过程中,我们采用Ruby脚本来控制程序
的执行过程.每个脚本分别对应系统相应的组件.在运行
过程中,系统会自动依次调用每个脚本,然后根据脚本的设
置,寻找相应的应用程序并执行.
在脚本执行过程中,首先检查所需的参数是否为空,并
设置各个参数,WPS预处理程序,WRF模式,输入输出数
据等的路径,同时还要判断这些参数,路径是否存在或是否
为目录.然后执行相应的应用程序.应用程序在执行过程
中,会根据上面的设置及判断,到相应的目录中读取参数,
执行程序.程序执行完成后,判断执行是否成功,输出执行
结果并呈现给用户.如果在执行过程中出现错误,系统会
提示用户,并将错误信息写入日志文件中,用户可根据这些
信息进行修改,同时用户可将该次任务与以前执行成功的
任务进行对照,发现问题所在,修改参数,重新提交执行.
4.3支持多用户共享使用
当前数值天气预报应用程序一般都是命令行应用程
序,而且存在复杂的namelist参数控制.运行这些应用程
序需要手动配置大量的参数和文件路径,因此即使是专家
用户,在执行这些应用的过程中也可能会出现差错.
通过以Web服务的方式提供一系列Web页面实现用
户的参数输入,所有的参数都在Web页面上进行设置,用
户不再需要在命令行下修改复杂的namelist文件,既减少
了出错的可能性,又为用户节省了时间.
将系统以Web服务部署到云环境中后,通过Web服
务就可以访问多个模式服务器.以Web的方式提供服务,
可以支持多用户的共享使用.当某一用户对参数进行了配
置之后,将这些参数写入数据库,在下次启动时将这些参数
自动进行加载,其他用户在使用过程中,就无需再对这些参
数进行配置,节省了查找应用程序的时间,并且方便了所有
用户的使用.系统实时监控每个服务器的状态以及运行其
上的作业的状态,用户通过查看这些状态,根据实际情况选
择服务器,来运行自己的作业.
5云计算环境下系统的应用
系统完成后,需要将其实现为云中的服务.通常需要
一
台Web服务器,还有云中众多的运行模式的服务器.在
这些服务器上,需要安装WRF模式.在执行过程中,用户
向云提交任务,根据各个节点的状态,从众多的集群节点中
选择某一个或部分节点来运行任务,而其他节点可以分配
给其他用户,执行不同的任务.这与传统的气象网格是不
一
样的,气象网格将整个作业分解为若干个小作业,提交给
整个网格来运行任务.
在云环境中,可能会面临节点失效的问题.在节点失
效时,如何将作业迁移到其他节点上继续进行,成为一个不
得不考虑的'问题.同时对于数据的备份,用户也需要采取
相应的措施,以保证在节点失效时,可以及时将作业迁移到
其他节点上,并根据失效前作业的状态继续执行,而不是重
新开始作业.
6结束语
通过将WRFPortal实现为B/S架构的运行模式,将
应用包装成服务提供给用户,简化了客户端的操作,可以快
速向用户提供服务.用户端只要能够接入网络,就可以访
问服务,并根据自己的需求进行业务处理.将服务部署到
云环境中,充分利用了云中的高性能计算资源.用户只通
过鼠标和简单的键盘操作就可以完成整个业务流程,省去
了复杂的命令操作,降低了复杂性.而通过云计算环境,可
以快速部署和提供服务,将工作集中于服务的开发,云计算
平台也必将成为天气预报的一个重要的基础设施.
参考文献:
E1]陈康,郑纬民.云计算:系统实例与研究现状[J].软件,
2009,20(5):1337—1348.
[2]/webtoolkit.
[3]GearyD,WebToolkit开发实战[M].李松
峰,李维鑫译.北京:机械工业出版社,2009.
[4]吉融.GWT入门与经典实例解析[M].北京:机械工业出版
社,2009.
[5]WRFPortal[EB/OL][2009—08—15].ⅥtaI.
org.
[6]HansonR,TacyGWTinAetionEEB/OL].[2009—08—15].
/GWTinAction.
[7]WangLizhe,TaoJie,Kunze^,LScientificCloudComputing:
EarlyDefinitionandExperience[Z].
[8]louckcn,
[9]周建涛,叶新铭.网格工作流及其关键技术研究综述[J].内
蒙古大学(自然科学版),2008,39(5):581—589.
(上接第288页)
开销也就增大了,所以经过通信优化减少开销获得的性能
提升也更明显.因此,使用2个节点运行4个进程时,优化
效果就比较明显了.
6结束语
本文的主要工作是对激光推进数值模拟程序进行串行
性能与并行性能优化,测试结果表明优化后的程序大大缩
短了同等规模网格条件下程序的运行时间,增强了程序的
可扩展性,由此证明了讨论的优化技术是有效的.
目前激光推进数值模拟并行程序在流场计算部分采用
并行的显式五步龙格库塔法,取得了良好的加速比.然而
显式龙格库塔法存在一些不足,如时间步长大小受限制,模
拟精度不高,且在特定环境下的流场模拟无法完成.因此
显式方法难以满足复杂条件下高精度模拟的要求,需要采
用隐式时间积分方法.在进一步的工作任务中将对隐式积
分模块进行并行计算,并嵌入到仿真程序中,设计选择开
关,使得用户可根据不同的需求选用两种积分方式求解.
参考文献:
[1]siontOOrbitGround-BasedLasers[J].
Astronautics&Aeronautics,1972,10:74—76.
[2]ThompsonSL,LausonHSImprovementsintheCharvD
Radiation-HydrodynamieCodeIII:RevisedAnalyticalEqua—
tionofState[R].SC-RR-710714,1972.
[3]ChristiansenJP,2:ATwo-Dimensional
LaserTargetCode[J].ComputerPhysicsCounications,
1979,17:397—401.
[4]PingG,ZhipingNumericalSimulationforLaserPropul—
sionofAirBreathingModeConsideringMovingBoundaries
andMulti—Pulses[C]∥Procofthe4Int'lSymponBeamed
EnergyPropulsion,2006:87—94.
[5]李倩,洪延姬,曹正蕊.吸气式激光推进推力产生机理的数
值模拟口].爆炸与冲击,2006,26(6):550—555.
[6]许仁萍,唐志平.大气模式下多脉冲激光推进的数值模拟
[J].强激光与粒子束,2007,19(3):369—372.
[7]童慧峰,唐志平,张凌.烧蚀模式激光推进的数值模拟[J].
爆炸与冲击,2007,27(2):165—170.
[8]王承尧,王正华,杨晓辉.计算流体力学及其并行算法[M].
长沙:国防科技大学出版社,2000,2-10.
[9]张学波,李晓梅.分布式存储环境下并行程序的优化[J].装
备指挥技术学院,2004,15(2):99—102.
[1O]刘杰,迟利华,胡庆丰.并行程序的优化与性能评价[J].计
算机工程与科学,2000,22(5):67—70.
[11]蒋光庆,文锋.并行程序实用优化方法讨论[J].信息工程
大学.2006,7(4):361—366.
[12]彭国伦.Fortran95程序设计[M].北京:中国电力出版社,
2002:362—365.
[13]龚雪容,陆林生,赵荣彩.并行识别中的依赖关系与通信优
化研究[J].计算机应用,2007,27:9-11.
[14]刘鑫,陆林生.重叠网格CFD并行计算的通信优化研究
[J].计算机工程与设计,2006,27(24):4611—4614.
[15]王珏,胡长军,等.一种数据并行的群通信优化策略[J].计
算机,2008,31(2):318—326.
299
版权声明:本文标题:基于Web的数值天气预报系统的研究与设计 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1702806823a431627.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论