第27卷第2期2010年4月
海洋预报MARINEFORECASTS
Vol.27,No.2Apr.2010
WRF_ROMS-1.2中尺度海气耦合模式简介
孙一妹,费建芳,程小平,黄小刚
(解放军理工大学气象学院,江苏南京211101)
摘要:本文介绍了WRF_ROMS-1.2中尺度海气耦合模式的研发背景、子模式、耦合技术,并依照模块功能介绍了该耦合模式中各子模块的主要作用。WRF_ROMS-1.2采用的MCT(ModelCouplingToolkit)耦合器技术及消息传递的并行计算方式,均为当前多模式耦合的先进技术,很大程度上提高了模式的可扩展性和计算效率,为耦合模式的建立以及中尺度海气相互作用(尤其是热带气旋期间的海气相互作用)的研究、模拟和预报提供建设性参考。关键词:WRF_ROMS;海气耦合模式;耦合器中图分类号:P732文献标识码:A
文章编号:1003-0239(2010)02-0082-07
式具有较高时空分辨率且有能力刻画中尺度物理过程[2]。本文将重点介绍的是耦合方式先进的中尺度海气耦合模式WRF_ROMS-1.2。
1引言
海洋和大气之间不仅存在着动量、潜热和感热通量的交换,也存在着质量交换。海气边界是海洋和大气交换能量、质量的区域,发生着诸如风应力、热传输及蒸发等过程,这些过程对于整个大气和大洋环流方面的产生及维持是十分重要的[1]。
受海洋资料稀少的限制,采用海气耦合模式进行数值模拟几乎成为研究海气相互作用的最主要方式。目前,人们针对ENSO等气候现象开发了大量大尺度海气耦合模式,如CGCM(CommunityClimateSystemModel)、FGCM(FlexibleGlobalClimateModel)、GOALS(GlobalOcean-Atmo-sphere-LandSystem)等等。然而,海气之间除季节循环及一些大尺度现象外,还存在很多发生在有限空间尺度(如海盆尺度)和短时间尺度(一般小于一周)的重要中尺度海气相互作用现象,如热带气旋、沿海风暴潮、海雾等,对此类现象的研究大多依赖于中尺度海气耦合模式。中尺度海气相互作用具有时空尺度较小的特点,因此要求子模
2WRF_ROMS-1.2模式的研发背景
中尺度海气相互作用现象中,受关注最为广泛、影响最大的应属热带气旋现象。中尺度海气耦合模式的数值模拟是热带气旋期间海气相互作用的重要研究方法。近几年,随着中尺度大气模式以及海浪模式、区域海洋环流模式的发展,国内外利用海气耦合模式对热带气旋期间海气相互作用的研究也取得了一些进展[3],表1列出了当前国内外较著名的已完成或仍在完善中的中尺度海气耦合模式,其大气子模式多采用MM4、MM5或WRF等大气模式,海洋子模式多为POM、CUPOM等海流模式或WW3、WAM、GDM、ECOM-si等海浪模式,模式间传递的物理量以SST、风应力、辐射通量、海表粗糙度、波龄等为主。
耦合WeatherResearchandForecastingmodel(WRF)与RegionalOceanModelSystem(ROMS)是ModelingEnvironmentforAtmosphericDiscovery
收稿日期:2009-11-09
基金项目:国家重点基础研究发展规划项目(973)课题2009CB421502,行业专项GYHY(QX2007-6-15),自然科学基金项目40805046,
解放军理工大学气象学院基础理论研究基金。
作者简介:孙一妹(1984-),女,硕士,从事海气相互作用方面的相关研究。E-mail:sunyimei1984@163.com
2期孙一妹等:WRF_ROMS-1.2中尺度海气耦合模式简介83
表1国内外著名中尺度海气耦合模式
年份1996199920002000200120072001200320052007
开发人或模式名称NRL(COAMPS模式)[4]
Jordan等[5]Bao等[6]Qi等[7]Johnny等[8]NCEP[9]
NOAA/GFDL[10]Christopher等[11]亓春霞、黄立文等
MCMV1.0)
郑静等[3]
[12]
子模式非静力可压缩大气模式,静力海洋模式
MM5,POM,GDMMM5,CUPOM,WAMNRL有限区域天气预报模式,
2.5层海洋模式MM4,两层包式近似的海洋混合层模式
HWRF,YHCOM,WW3GFDL飓风预报系统,POM
WRF,ROMSMM5v3,ECOM-siMM5V3,WAVEWATCHШ
子模式间交换变量表面热量、水汽通量、表面动量通量SST,粗糙度长度,10m风场,热量和动量通量,海表起伏标准差,谱峰值下海浪相速度及方向SST,风诱粗糙度长度,风应力,热通量,
波浪诱导应力SST决定的感热和潜热通量,海表风诱湍流混合
SST决定的热量和湿度通量,风应力SST、wavespectra、windairtemp、wavefluxes等
风应力,水汽、热量和辐射通量,SST
SST,风应力
SST,风应力,感热潜热通量,净长波辐射
波龄,10m风场
[13]
(MEAD)计划中的一部分。MEAD计划主要应用并将气候系统中常用的耦合器应用于中尺度耦合模式系统中,采用基于消息传递的并行计算方式,这些特点使区域中小尺度时空高分辨率多模式耦合模拟得以成功实现。下文将逐一介绍WRF_ROMS-1.2模式的子模式,耦合方法以及各模块的功能。3.13.1.1
子模式简介
WRF(WeatherResearchandForecastingModel)
WRF被誉为新一代的中尺度天气预报模式,是由NCEP(NationalCentersforEnvironmentalPre-diction),NCAR(NationalCenterforAtmosphericRe-search)等机构开发的一种统一的气象模式,分为研究和业务两种版本。WRF为完全可压缩、非静力模式,采用Fortran90语言编写,水平方向采用ArakawaC网格点,垂直方向则采用地形跟随质量坐标,时间积分采用三或四阶的Runge-Kutta算法[14]。WRF模式不仅可以为理想物理过程提供模拟依据,也可用于对真实天气个例的模拟,在国内外得到了极其广泛应用。
3.1.2ROMS(RegionalOceanModelSystem)
ROMS区域海洋模式系统是一个三维非线性、自由表面的斜压原始方程模式,由RutgerUniversity与UCLA两校合作完成[15]。ROMS作为新兴的海洋模式系统,可以模拟不同尺度的运
于中尺度风暴和飓风的研究,由NationalCenterforSupercomputingAlliance(NCSA)提供资金支持。耦合工作主要由NOAA-PMEL的MooreCW,迈阿密大学的NolanDS以及NOAA–FSL的SchafferDS于2003年合作完成。
WRF_ROMS-1.2耦合模式首次运行是通过Abilene网络在NOAA的两个不同实验室的计算机上进行的。大气水平网格采用321
321,水平格
距4km,垂直分布30层,用表征加勒比海域平均飓风季节特征的探空资料作为背景进行初始化。海洋格点采用40
40的水平格点,水平格距32
km,垂直方向分为30层,用典型的热带大西洋温度层结进行初始化。WRF和ROMS的时间步长分别是1分钟和5分钟,每十分钟耦合一次,要维持计算平衡需要8个大气模式进程对应每一个海洋模式进程[11]。WRF和ROMS耦合的最初结果显示了飓风发展物理过程中的一些值得关注的特征。
3WRF_ROMS-1.2模式介绍
WRF_ROMS-1.2耦合模式在UNIX/LINUX环境下运行,需要PGI或IntelFortran编译器、NETCDF库和MPICH并行函数库。WRF_ROMS-1.2中尺度海气耦合模式选用了目前国际上广泛应用的天气研究预报模式WRF和区域海洋模式系统ROMS,
84海洋预报27卷
动,如全球尺度的环流系统、由气象因素或天文潮引起的中尺度水位与流场变化,也可以计算小尺度河川渠道等水利运动,广泛应用于如海洋生物、海洋地质以及海冰研究的诸多领域。与其他海流模式比较,ROMS的主要特点为:使用的S(Stretched)坐标系[16]能够适当的描述流场受地形的影响,这种垂直方向上采用非等比例分层的方式,相对采用水深等比例分层的经典模式POM来说,使人们感兴趣的温跃层和底边界层等具有更高的解析度;ROMS使用新的水平压力梯度演算,相对POM模式特别是在地形变化大的区域,水平压力梯度计算误差累积明显减少。笛卡尔坐标系下,ROMS的基本控制方程在原始方程的基础上采用了包辛内斯克近似和静力近似,具体方程如下:
协调的耦合系统,是耦合技术的主要目的。
耦合技术主要有4种。一种是基于文件输入输出的模式耦合方法,即一个模式将要传递的变量输出到文件,作为另一个模式的输入文件;第二种技术是将一个模式作为另一个模式的子程序进行调用。由于前两种方法分别具有信息交换效率低和可移植性差的缺点,近年来不少学者利用第三种方法——Unix/Linux进程间通信技术实现模式间的双向耦合[17],这种方法具有较好的适用性和可移植性。模式耦合中使用更为普遍的是耦合器[18]方法,比较著名的耦合器有NCAR的CommunityClimateSystemModel(CCSM)耦合器、法国的OASIS(OceanAtmosphereSeaIceSoil)耦合器和ANL(ArgonneNationalLaboratory)的MCT(ModelCouplingToolkit)耦合器[19]等。基于“耦合器”框架,采用模块化结构是当今海-气耦合模式以及气候系统模式发展的主要技术方向。
所谓耦合器,是指一个灵活高效的、高度模块化的工具软件,可以采用“即插即拔”的方式连接各子模式,构成完整的耦合模式并控制整个耦合系统的积分运行。耦合器目前主要应用在气候模式系统中。中尺度海-气耦合模式通常采用第二、第三种方法。WRF_ROMS-1.2模式采用的是第四种耦合器方法,利用前面提到过的Argonne国家实验室研究开发的MCT耦合器完成耦合,有关
上述7个方程式分别为连续方程式、方向动量方程、方向动量方程、静水压平衡方程、热传导方程、盐度扩散方程、状态方程。其中,为三维流速向量,为科氏力系数,为重力加速度,为压力,
为水的参考密度,为水的局地密
,,
,,
)为)为外
度,为温度,为盐度,(,波破碎的参数化参量,(力项。3.2
海气耦合技术介绍
海气耦合技术复杂性的根本原因在于其大气和海洋子模式是分别开发的,学科、时代、模式标准等差异导致子模式的计算平台、运行环境、编程标准都存在着不同。通过实现信息的实时、同步交换,把各模式组合在一起,构成一个完整
,
细节将在下文详细介绍。3.3
WRF_ROMS-1.2模式系统
WRF_ROMS-1.2包括7个模块,其中,GENERICVORTEX模块为大气模式提供人造涡旋
初始场,UTILITIES模块提供一些辅助功能;MPH主要负责多模式环境的建立和计算结点的配置;MCT、WRF_MCT_IO_API及SCRIP三个模块共同作用,通过格点内插、时间平均、通量订正等过程实现子模式之间的变量交换;TINKER模块为包含各子模式的耦合主模块。图1展示了WRF_ROMS-1.2模式的系统流程。3.3.1GENERICVORTEX模块
GENERICVORTEX模块负责为WRF模式生成人造涡旋初始场。
由于台风通常发生在海洋上,而海洋观测资料比较稀少,因此如何确定合理的台风初始场结
消散项,是有关分子扩散和粘性、三维紊流和内
2期孙一妹等:WRF_ROMS-1.2中尺度海气耦合模式简介85
INITALGENERICVORTEX
UTILIESMPH
WRF_MCT_IO_API
SCRIPS
INITAL
TINKER
计
算结点
WRFROMSOutput
WrftoRoms
RomstoWrf
MCT
图1WRF_ROMS-1.2模式系统流程
构是台风数值预报最具挑战性的问题之一[20]。为了弥补初始场的不足,通常在大尺度环境场中加上一个能够描述出台风主要结构特征的人造台风涡
[21]
旋(Bogus方案)。该模块采用加勒比海地区飓风
wrf_mct_io_api函数库中的EXT_MCT_IOINIT函数,利用子模式ID和子模式名称初始化WRFI/OAPI;最后调用UTILITIES模块中的CONSTRUCT_CLOCKS进行时间初始化。
TINKER模块中,大气和海洋模式适时有规律的交换风应力和SST(见图2),以此来实现模式耦合。具体过程为:分别采用GENERICVORTEX模块输出的人造涡旋和所模拟海域的平均温度层结来初始化WRF和ROMS,WRF和ROMS分别启动不同个数的进程执行其主程序;假设WRF和ROMS每N个模式分钟交换一次信息,当两模式运行到第N分钟,WRF向ROMS提供风应力参量,ROMS向WRF提供SST;随后,两模式继续运行并在第2N分钟再次交换变量;如此循环下去直到模拟结束。
季节的平均场作为初始探空背景场并通过迭代,得到满足静力平衡和梯度风平衡的温压场;再生成一个轴对称速度场来代表弱的热带气旋,然后在三维格点中加入轴对称涡旋,并于涡旋中心加入少量随机噪声来引发对流;涡旋可以伴随零散的对流旋转几天,不对称的对流爆发引起的热能扰动,通过旋转动量和热通量传递使对称性涡旋产生局地加速度,而后逐渐加强为热带气旋[22]。3.3.2TINKER模块
TINKER模块为耦合模式的主模块,主要包括WRFV1.3、ROMS和runs三个文件夹以及master.f主程序。大气模式和海洋模式分别采用WRFV1.3和ROMSV2.0版本,主程序生成可执行文件wrf_roms。
从图1看出,主模块的运行不时地调用MPH、WRF_MCT_IO_API、UTILITIES、SCRIP及MCT等模块,在它们的辅助下逐步完成海气模式的前处理和耦合运行。
TINKER模块中的耦合前处理过程为:主程序首先调用MPH函数库中的MPH_components函数读取processors_map.in文件中子模式的名称、所占进程数、进程ID等资料,建立WRF和ROMS构成的多可执行程序多模式的并行环境;再通过调用
AtmosphericModel
(WRF)
SST
OceanicModel
(WRF)
τ
图2WRF_ROMS-1.2耦合模式变量交换示意图
86海洋预报27卷
3.3.3UTILITIES模块
UTILITIES模块囊括了一些公用的功能性程序,包括变量声明、时间计算、中断程序、错误排查等子程序。3.3.4
MPH(MultiProgram-ComponentsHandshak-MPH(MultiProgram-ComponentsHandshak-ing)模块主要负责建立多模式分布环境,在计算结点分配中控制哪个模式连接哪个计算结点,便于变量交换。本模式采用的是由LawrenceBerkeleyNationalLaboratory研发的MPH[23]第二版,其具体功能包括:实现多模式环境检测;注册子模式名称;计算结点的资源配置;子模式间通信等等。MPH在单可执行程序多子模式和多可执行程序多子模式的情况中都可以应用。
3.3.5WRF_MCT_IO_API、SCRIP及MCT模块
MCT模块是模式的耦合工具包,在WRF_MCT_IO_API、SCRIP的配合支持下,共同完成海气相互作用中边界条件的适时交换—即实现SST和风应力变量的传送、不同网格点之间的网格重建以及时间平均等功能。3.3.5.1WRF_MCT_IO_API模块
WRF_MCT_IO_API模块是个函数库,是联系WRF与MCT的应用程序接口软件。其研发工作是DoDProgrammingEnvironmentandTraining(PET)计划的一部分。该软件以WRFI/OAPI为基础进行研究开发的,提供输入输出和数据格式化传递的功能,提高了模式的协调性。3.3.5.2
SCRIP(SphericalCoordinateRemapping
andInterpolationPackage)模块
SCRIP模块负责实现原始和目的网格之间的转换。
要实现子模式之间外强迫资料的接收和发送,就要实现子模式不同网格之间守恒的网格重建。SCRIP为开源程序[24],可实现四种类型的网格重建,本模块在SCRIPV1.2基础上稍作修改。原始和目的网格间网格重建的过程就是将相应数据由原始模式向接收模式传递,并在接受模式网格中进行插值。
从图3看出,TINKER主模块中的脚本文件mk_matrix将调用SCRIP模块中的脚本文件ing)模块
Mkmtx,用于输入原始和目的网格的大小和矩阵名称,并调用SCRIP模块子文件夹grid中的create_11来联系原始和目的网格;随后调用SCRIP.exe程序来生成稀疏矩阵文件,通过稀疏矩阵转换得到网格重建时所需的插值权重,写入一个ASCII码文件,并最终生成Wrf_to_Roms和Roms_to_Wrf两个可执行文件。其中,模式从ASCII码文件中读取系数矩阵,该矩阵的变化依赖于网格分布且包括了原始和目的网格的所有权重信息。
WRF
ROMS
WRF格点配置
create_11
ROMS格点配置
SCRIP.exe
WrftoRoms
RomstoWrf
图3SCRIP模块工作流程图
3.3.5.3MCT(TheModelCouplingToolkit)模块
MCT与WRF中介层(WRF_MCT_IO_API)和ROMS的输入输出层相联系,在耦合模式中发挥耦合器的作用,是模式耦合的关键所在。
MCT耦合器是由ANL实验室研发的开源软件,最新版本为V2.6.0,支持IBM、SGI、Compaq、NEC、CrayX1和Linux等平台,它采用Fortran90程序语言和MPI分布式储存并行计算方式,用于耦合消息传递式并行计算模式。它提供了一种灵活的场变量存储数据格式,可将符合MCT数据格式的两个模式简易快捷地耦合起来,通过简便的应用接口程序实现子模式之间协调运行,并提供子模式注册、子模式间数据传递和再分配、网格间插值等功能。MCT的应用还包括CCSM3以及COAMPS同ROMS的耦合[25]。
MCT耦合器的使用大大提高了WRF_ROMS-1.2模式的模块化、灵活性和可拓展性,其中并行计算方式避免了在不同网格和时间步长的模式间传输物理场时的瓶颈问题。