登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 地理科学类 > 大气科学 > 正文

天气研究与预报模型:软件架构和性能外文翻译资料

 2022-12-02 19:30:06  

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料


天气研究与预报模型:软件架构和性能

J. MICHALAKES,J.DUDHIA,D.GILL,T.HENDERSON, J.KLEMP,W. SKAMAROCK,W.WANG

国家大气中心中尺度和小尺度大气研究部

Boulder,Colorado 80307 U.S.A.

天气研究和预报模型系统(WRF)在2004年5月发布的第一个非测试版本,代表了设计和运行全功能、新一代大气研究和执行NWP用户交流模型系统的一个重要的里程碑。以效率、便携、可维护性和延展性为需求基石,WRF系统框架既保证了增量和稳步发展,同时也保证了结构和界面的一致性。WRF模式的2.0版本支持该模型的全部功能设计,包括一系列的高性能计算机平台、并联的动态核心和物理选项、低消耗的双向交互嵌套、移动嵌套、模型耦合和与其他普通基础模型(如ESMF)的兼容性。

1.介绍

WRF项目已经发展出了新一代用于促进对中尺度降水系统的理解和预测的中尺度预报模型和同化系统,来促进研究和业务预报之间更紧密的联系。随着2004年5月份WRF 2.0版本的发布,WRF模型得到了广泛的宣传,并且可以在包括风暴尺度的研究和预测、空气质量模拟、野外火灾模拟、飓风和热带风暴预测、区域气候和数值天气预报等多种领域得到良好的运用。截止到2004年年底,WRF模式的注册下载量超过2500次。来自20个国家,93个机构的173名参与者于2004年6月在NCAR参加了一年一度的WRF用户研讨会,并听取了28场关于以WRF模式开展工作的科学报告。在NOAA国家环境预测中心和美国空军气象局,也正在进行WRF模式的运行实施。目前已经形成了一个NOAA / NCAR / DoD联合发展试验台中心,来促进模式的测试、评估和由研究团体过渡到NCEP、AFWA和美国海军的操作测试中心等各自的中心。

图1 WRF系统示意图如图1所示,WRF系统由WRF模型本身、初始和横向边界条件预运算器、后处理器以及三维变化数据同化(3DVAR)程序组成 。预运算器主要进行生产理想数据、真实数据和单向嵌入预测,后处理器则用来进行分析和实现可视化。除了标准初始化(SI)程序之外,每个预处理器和3DVAR是使用WRF高级软件框架(ASF)实现的并行程序。程序之间的数据流通过ASF的I / O和模型耦合API进行输入和输出。WRF模型(图中的大框)包含两个动态内核,为机构和应用程序提供额外的灵活性。NCAR开发的高级WRF(ARW;最初的欧拉质量或“EM”核)使用时分高阶Runga-Kutta方法来整合可压缩非静力方程的保守公式。作为WRF模型的第2版,ARW支持用于研究共享,还被美国空军气象局用来业务推进。NOAA / NCEP的WRF的操作理论是来自非流体静力中尺度模型(NMM)的WRF ASF的动力学。

WRF ASF实现了WRF软件架构,是WRF模型和3DVAR系统开发的基础。它具有软件的模块化、层次化、科学代码与并行性和其他架构,并且将安装和运行等特定的问题相隔离。这种设计对于管理一系列用户、应用程序和平台的单源代码模型的复杂性也至关重要。

本文介绍WRF软件的实现和性能,包括WRF 2.0中提供的新功能:双向交互和移动嵌套、支持模型耦合以及与新兴的业务预报建模基础设施(如地球系统建模框架)的兼容性。

2. WRF模式的高级软件框架

WRF ASF包括多个可分离的层和支持组件,分别为:驱动层、中介层、模型层、被称为注册表的元编程实用程序以及用于处理器间交流,数据格式和I/O的外部包的应用程序接口(API)。WRF ASF的优点是可以促进模式的快速开发,易于扩展,可以充分利用WRF共享的开发工作,软件重用,以及适应大众的模型基础设施(如ESMF)。

驱动层处理模型数据结构是通过分配和平行分解的方法进行的;组织,管理,交互和控制嵌套域,包括模型中的主时间循环;高级接口到模型域上的I / O操作;以及当WRF是更大耦合的应用系统的一部分时与其他组件相连接。在驱动程序中,每个域都被抽象地表示为单个单元:由Fortran 90派生的数据类型包含了动态分配的状态数据,它们指向嵌套层次结构中的其他域。嵌套表示为根植于顶级(最低分辨率)域的树状结构。每个时间步长递归深度最深的模型优先遍历这棵树,以此推进每个节点及其子节点到下一个模型时间。运行,反馈和嵌套移动也在驱动程序中处理。

中介层包含单个模型域上一个时间步长的特定动态核心。动态核心的求解程序包括对模型层方程的完整集合调用以及处理器间通信(启动器更新,并行转置等)和多线程的调用。当前的WRF模式使用RSL通信库,而RSL通信库又使用消息传递接口(MPI)通信包。在使用OpenMP的求解程序中还规定了区域共享存储器平行性 - 分布式内存补丁内的第二级域分解。

模型层包括构成模型的实际计算程序:平流、扩散、物理参数化等。模型层子程序通过标准模型层接口进行调用:以全部的状态数据作为参数和正在计算的三个网格维度中的每一个起始和结束索引一起传递。模型层子例程可以不包括I / O、停止语句、多线程或处理器间通信语句,以确保它们在区域上被正确执行或在区域间正确执行。模型层接口是ASF和在模型层工作的程序员/科学家之间的桥梁。WRF模式中的模型层可以被移植到任何接口被正确执行的并联计算机上进行工作。具有数据依赖性的模型层程序是根据被调用的中介层之前执行的必要处理器间通信工作的。程序员通过向注册表添加条目来描述通信类型和模式,然后插入符号以在求解程序中的适当位置执行通信。

注册表是关于WRF数据结构的简明数据库,它可以从数据库中的符号自动生成大部分WRF代码。注册表数据库是一个表的集合,其中列出和描述了WRF状态变量和数组以及其属性,例如维度、时间级数、与特定动态核心的关联、与特定物理包的关联、输入中的成员资格、输出或重新启动数据集、对数据的通信操作以及一些描述性元数据,例如变量或数组所表示的内容及其单位。通信和嵌套的打包和解包代码以及模型I / O代码程序的逐字段调用,是从数据库、注册表生成的,否则将极其耗时并且容易进行手动写入和管理。在WRF模式中添加或修改状态变量或数组只需在注册表中修改一行或两行程序。目前,注册管理机构可以自动生成250万条WRF代码中的6万条。

图2嵌套分解与通讯

外部软件包的API也是WRF软件框架的一部分。它们允许WRF使用不同的软件包用于描述数据格式、模型耦合工具包和库,并且可以通过简单地将外部软件包适配到接口来进行处理器间通信。未使用过的API还支持在其他方向重新使用;例如,地球系统建模框架开发人员正在调整WRF I / O API以在ESMF软件中使用。

WRF基础设施的文档包括注册表的参考文档、WRF I / O应用程序接口规范以及基于Web的WRF代码和文档浏览器在线维护文件。WRF的其他软件文档正在开发过程中。

3.嵌套和移动嵌套

嵌套是允许将昂贵的较高分辨率计算集中在感兴趣区域上的一种网格细化形式。WRF 2.0版本包括对单向和双向交互嵌套域的支持。WRF中的嵌套是非旋转对齐的,这使得主网格点与下面的嵌套上的点重合,消除了对更复杂的重新划分网格计算的需要。嵌套配置在运行时通过名称列表指定。WRF ASF支持在模拟期间的任何时间创建和删除嵌套,但是如果运行需要嵌套分辨率地形或其他下边界数据的输入,则WRF模型当前被限制为在开始时嵌套;这个限制将在不久的将来得到解决。嵌套可以伸缩(嵌套在另一个嵌套内)到任意细化水平。而垂直细化目前尚未实现。精化比是整数,通常为1:3。在WRF 2.0.3版本中发布了移动嵌套的原型实现,此版本用于飓风Ivan的4km移动嵌套模拟(2004年9月),并且可以在线查看动画。

高效可扩展嵌套的实现是一个关键话题。嵌套模拟中的所有区域都在同一组进程上分解,嵌套域与主进程同步运行。在每个主时间步骤中跨进程散布和收集数据需要交换运行和反馈信息。此外,主域数据到嵌套点的插值是负载不平衡的,因为它仅在主域和嵌套共享域的区域上产生。这个过程通过将主域数据重新布置到存储对应的嵌套域点而被部分地减轻,它允许在本地和在更大数量的进程上执行内插。图2展示了覆盖嵌套边界(包括用于西北嵌套角的“a”和“b”)过程的主域数据被传送到计算嵌套边界(包括过程“c”)的过程。二者通过同一组进程被分解)。在重排主域数据之后,在嵌套边界处理上局部地执行主 - 嵌套网格插值。

嵌套的工作量是通过将同等大小的主域和嵌套域运行为双向交互域,然后单独作为独立单域运行来衡量的。嵌套的工作量取决于过程的数量,一般在5%和8%之间,在并行MM5模型中观察到的15%工作量的目标内。大多数工作量与插值的成本相关,比如使用相对昂贵的非线性算法。

移动嵌套的步骤与双向嵌套相同,有一些添加到框架和模型代码的附加逻辑:

1.确定是否是移动的时间,如果是,则确定方向和移动的距离。

2.调整嵌套点和主域对应点的关系。

3.在嵌套的2维和3维状态数组中移动数据与嵌套运动方向相反。

4.在嵌套移动到相对于主域的新位置的时候,初始化嵌套的前边缘。

在上述步骤1中需要添加另外的工作来结合嵌套的运动机制,并且在步骤4中允许在移动的嵌套前边缘上运行时间摄取嵌套分辨率下边界数据,例如地形和土地利用方面。最后,移动耦合到诸如海洋模型的外部模型的问题将会得到解决。

4. I / O和模型耦合

WRF ASF中的I / O和模型耦合API在WRF模式以及I / O和数据格式化的外部软件包之间提供了一个统一的、与软件包无关的接口。用于NetCDF、并行HDF5、本地二进制和GRIB1 I / O的API运行的是可运行的时间分配框架的I / O流。一个很好的关于WRF I / O和模型耦合API的构想是其还应支持模型耦合并且可以在文件浏览器下基于PRISM耦合框架下进行开发。“I / O的耦合”是有吸引力的,因为它允许在已经用于I / O的模型的控制结构和接口内封装组件进行数据交换。它能很容易且有效地适应于不同形式的耦合(顺序或并行),只需要对模型本身进行很少(如果有的话)的修改,就可以在在线和离线模式之间透明地(从应用的角度)切换,耦合,自然它适合于诸如网格计算的分布式计算环境。

目前WRF I / O和模型耦合API的两个模型的耦合已经被开发出来:模型耦合工具包(MCT)是全球气候系统模型(CCSM)耦合器的基础;模型耦合环境库(MCEL)是基于CORBA的基于客户端 - 服务器的耦合框架。

图3黄海模拟的耦合图显示WRF(大气),ADCIRC(海洋环流),SWAN(波模型)和LSOM(沉积物光学)。 WRF的U和V速度为空气; U和来自ADCIRC的是水。

WRF I / O和模型耦合API的MCT实现了支持对WRF和区域海洋建模系统(ROMS)之间从紧密耦合到普通耦合相互作用边界条件的定期有计划的交换。WRF风应力和热通量数据被发送到海洋模型,并且从ROMS接收海面温度。WRF / ROMS耦合的三个性能基准的耦合工作量是标称的,远低于耦合系统的总运行时间的1%。耦合的WRF / ROMS系统已被用于后续的科学研究,涉及[14]中描述的理想化的飓风涡流。WRF / ROMS MCT已经实现了在西雅图NOAA太平洋海洋环境实验室(PMEL)的一个Intel Linux节点上运行Globus工具包中的MPICH-G2库;以及 WRF可以在博尔德NOAA预报系统实验室(FSL)的四个Linux节点上运行。即使在地理分布式系统中,使用基于Globus的MCT WRF / ROMS耦合的工作量也小于2%。

WRF I / O和模型耦合API的MCEL实现支持具有更宽范围的空间和时间尺度或者不规则的数据驱动相互作用的模型集合耦合。图3展示了1999年11月黄海沿海环境的强风的四模型模拟输出。WRF模式可以耦合到由ADCIRC海洋和SWAN波模型组成的系统。而ADCIRC和SWAN反过来提供了一个模拟潜水员能见度的沉积和光学模型。使用非结构化网格的ADCIRC通过WRF I / O API与MCEL接口来证明其适用于其他模型和网格系统。MCEL支持并发耦合,这意味着组件可以在不同组的处理器上同时运行。图4展示了组件之间的相互作用的时间控制。与MCT一样,测量的耦合工作量很小。 WRF模式主要用来进行大气的模拟。因此,我们从WRF大气的角度测量耦合工作量。从WRF测量的耦合工作量在每个方向上的每次交换仅为15-20毫秒。在4个处理器上运行的WRF模式的耦合工作量可以忽略不计——小于总运行时间的一半。如果在32个处理器上运行的话,耦合的工作量低于运行工作量的5%。

图4四个并发执行模型之间的数据交互时间表(耦合间隔T为1小时)

地球系统建模框架作为一个新兴的基于业务部门和软件基础设施标准的模式,采用了不同的方法进行模型耦合。与将耦合处理为I / O的形式相反,ESMF组件被重构以符合顶级“符合ESMF”的组件接口。这允许基于ESMF的驱动程序控制模型初始化,集成和最终化。耦合数据通过将导入和导出状态对象通过组件的顶层接口进行传递,来进行在组件之间的交换。目前WRF不支持多项可执行和与分布式网格计算环境的兼容性。

WRF可以用于支持顶层接口,例如作为ESMF耦合组件进行互操作。但也将继续使用I / O类耦合机制通过WRF I / O和模型耦合API继续互操作。通过WRF I / O和模型耦合API呈现自身的ESMF耦合的形式也正在被探索。

5.性能

WRF软件的关键目标是通过共

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[25557],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图