




已阅读5页,还剩81页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WRF 模式操作指南模式操作指南 The Institute of Atmospheric Physics Chinese Academy of Sciences Northeast Institute of Geography and Agroecology Chinese Academy of Sciences 中国科学院大气物理研究所中国科学院大气物理研究所 中国科学院东北地理与农业生态研究所中国科学院东北地理与农业生态研究所 二 一七年三月二十日 目录目录 1 WRF 模式简介 1 2 WRF 模式的安装 2 2 1 安装环境 2 2 2 模式源程序 2 2 3 NetCDF 函数库的安装 2 2 4 标准初始化 SI 的安装 6 2 5 WRF 模式的安 装 9 3 WRF 模式与 T213 模式嵌 套 17 3 1 嵌套方案 17 3 2 嵌套程序设计 17 3 3 编译嵌套程序 21 3 4 嵌套的实现 22 4 WRF 模式系统的运 行 29 4 1 理想大气方案 29 4 2 真实大气方案 32 5 WRF 模式系统作业 卡 47 5 1 源程序 47 5 2 真实大气方案 48 6 模式结果的显示处理 61 1 6 1 Vis5D 格式 61 6 2 MICAPS 格 式 62 6 2 GrADS 格式 65 附录 1 WRF 模式参数配置说明 68 附录 2 T213 场库参数表 78 2 WRF 模式系统安装模式系统安装 调试技术报告调试技术报告 1 WRF 模式简介模式简介 WRF Weather Research Forecast 模式系统是由许多美国研究部门及大学的 科学家共同参与进行开发研究的新一代中尺度预报模式和同化系统 WRF 模式 系统的开发计划是在 1997 年由 NCAR 中小尺度气象处 NCEP 的环境模拟中心 FSL 的预报研究处和奥克拉荷马大学的风暴分析预报中心四部门联合发起建立 的 并由国家自然科学基金和 NOAA 共同支持 现在 这项计划 得到了许多 其他研究部门及大学的科学家共同参与进行开发研究 WRF 模式系统具有可移 植 易维护 可扩充 高效率 方便的等诸多特性 将为新的科研成果运用于 业务预报模式更为便捷 并使得科技人员在大学 科研单位及业务部门之间的 交流变得更加容易 WRF 模式系统将成为改进从云尺度到天气尺度等不同尺度重要天气特征预 报精度的工具 重点考虑 1 10 公里的水平网格 模式将结合先进的数值方法 和资料同化技术 采用经过改进的物理过程方案 同时具有多重嵌套及易于定 位于不同地理位置的能力 它将很好的适应从理想化的研究到业务预报等应用 的需要 并具有便于进一步加强完善的灵活性 WRF 模式作为一个公共模式 由 NCAR 负责维护和技术支持 免费对外 发布 第一版的发布在 2000 年 11 月 30 日 随后在 2001 年 5 月 8 日 第二次 发布了 WRF 模式 版本号为 1 1 2001 年 11 月 6 日 很快进行了模式的第三 次发布 只是改了两个错误 没有很大的改动 因此版本号定为 1 1 1 直到 2002 年 4 月 24 日 才正式第四次发布 版本号为 1 2 同样 在稍微修改一些 错误后 2002 年 5 月 22 日第五次版发布模式系统 版本号为 1 2 1 原定于 2002 年 10 月份左右的第六次发布 直到 2003 年 3 月 20 才推出 版本号为 1 3 2003 年 11 月 21 日进行了更新 2004 年 5 月 21 日推出了嵌套版本 V2 0 2004 年 6 月 3 日进行了更新 到 2006 年 1 月 30 日为止最新版本为 2 1 2 3 2 WRF 模式的安装模式的安装 2 1 安装环境安装环境 2 1 1 硬件环境硬件环境 WRF 模式是一个多机型 跨平台 标准化的模式 可以在 IBM AIX SGI IRIX PC LINUX 等机型上运行 2 1 2 软件环境软件环境 WRF 模式的运行系统中的一般需要的安装软件环境包括 UNIX LINUX 操作系统 Perl5 003 以上 Fortran 程序编辑器 包括 Fortran90 和 Fortran77 编译器 C 程序编译器 NetCDF 函数库 版本在 3 3 1 以上 必须包含 Fortran77 Fortran90 以及 C 的程序调用接口 MICAPS 图形显示系统 VIS5D 图形显示系统 GrADS 或者 RIP 等 2 2 模式源程序模式源程序 WRF 模式系统运行所需要的程序包括 标准初始化 SI WRF 模式的数据前处理部分 可从写成 GRIB 码 的 AVN 数据文件中读取模式区域所需的数据 并 插值成 WRF 所需的变量场 WRF 模式 WRF 模式的初始场 边界条件生成以及模式积分计算部 分 2 3 NetCDF 函数库的安装函数库的安装 2 3 1 文件获取文件获取 目前 由于 WRF 模式的数据处理格式主要是应用较为常见的 NetCDF 数据 格式 因此 在安装 WRF 模式的标准初始化以及 WRF 主模式前 必须在操作 系统环境中先安装 NetCDF 程序包 生成 NetCDF 函数库 在运行的系统环境 中 如果没有安装 NetCDF 函数库 则必须自己安装 NetCDF 程序包的下载地 址为 http www unidata ucar edu packages netcdf 从网站中 可以获得 NetCDF 的压缩程序包 netcdf zip 或者 netcdf tar Z 2 3 2 安装环境安装环境 不同平台要求也不一样 但必需有 25 兆的可用空间用来解压 编译和运行 测试 由于 WRF 模式的程序采用了 C Fortran77 和和 Fortran90 编写 所以也 要求操作平台具有 FORTRAN77 FORTRAN90 和标准 C 或 C 编译器 netCDF 将会编译并测试相应的语言接口 2 3 3 指定编译环境指定编译环境 4 首先要选择并指定一个恰当的编译环境 如果需要 可设置 CC CFLAGS FC FFLAGS CXX CXXFLAGS F90 和 F90FLAGS 中任何环境变量 以指明相应的编译环境 环境变量也就是用户外壳程序 shell 管理的参数 并被 shell 程序用于运行应用程序 例如设置脚本程序 一些环境变量的说明可参见下表 表 1 表1 编译NetCDF的一些环境变量及其说明 变量变量描述描述Notes CCC 编译器 如果未指定 设置脚本程序将试图找出合适的 C 编译器 如 cc c89 xlc or gcc FC Fortran 编译 器 如果存在 如果未指定 设置脚本程序将试图找出合适的 Fortran 90 or Fortran 77 编译器 如果不需要 Fortran 接口 则可将 FC 设 置为 F90 Fortran 90 编 译器 如果存在 如果未指定 设置脚本程序将试图找出合适的 Fortran 90 编译 器 如果指定了 Fortran 90 编译器 则不需要 FC 参数 如果 不需要 Fortran 90 接口 则可将 F90 设置为 CXXC 编译器 如果未指定 设置脚本程序将试图找出合适的 C 编译器 不需要 C 接口时 可将 CXX 设置为 CFLAGS C 编译器参 数选项 例如 0 或 g CPPFLAGS C 预处理参 数选项 例如 DNDEBUG 是忽略声明部分的检测 assertion FFLAGS Fortran 编译 器参数选项 例如 O 或 g F90FLAGS Fortran 90 编 译器参数选 项 例如 O 或 g 如果未指定 则采用 FFLAGS 的值 CXXFLAGS C 编译器 标志 例如 O 或 g ARFLAGS NMFLAGS FPP M4FLAGS LIBS FLIBS 混合参数选 项 在一些操作平台中可能用到这些参数中的一个或几个 值得注意的是 如果不设置环境变量 那么配置脚本程序将会试图找出相 应合理的设置值 但在 IBM SP 机器上 如果用户不设置 Fortran90 的编译和编 译选项 那么配置脚本往往找不到正确的 Fortran90 编译器和编译选项 从而造 成 NetCDF 函数库中没有 Fortran90 的程序接口 5 环境变量也就是用户外壳程序 shell 管理的参数 并被 shell 程序用于运行应 用程序 例如设置脚本程序 典型的环境变量有 环境变量名变量值 USER steve HOME home steve PATH bin usr bin home steve bin 执行命令行命令 env 可得到当前环境中的环境变量列表 定义和设置环境变量的方式取决于用户所用的外壳 Shell 类型 Csh 类 shell 如 csh tcsh 用户设置方式如下 setenv CC c89 setenv CPPFLAGS 0 DNDEBUG 而标准 UNIX shell 例如 sh ksh bash 用户要设置上面同样的环境变量 可 如下设置 export CC c89 export CPPFLAGS 0 DNDEBUG 以上两种方式中 参数值中带有将值的各部分分开的空格分隔符时 双引号不 能省略 否则 参数值只是设置为所要取值得一部分 标准 shell 用户还有一种额外的快捷方式为单一命令定义和设置环境变量 环境 变量可在命令行中定义和设置 并只在这一行中生效 例如 export FOO foo env grep FOO FOO foo FOO bar env grep FOO FOO bar env grep FOO FOO foo 测试系统时 环境变量及其赋值可列表式给出 标准 UNIX shell 用户可直 接使用标准语法 例如 标准 shell 用户可以用 以 IBM SP AIX 为例 export CC xlc CPPFLAGS DNDEBUG CFLAGS O FC f77 FFLAGS O CXX xlC F90 xlf90 F90FLAGS qsuffix f f90 在 IBM AIX SP 环境下 编译 NetCDF 所需要的一些相应的系统环境变量 有 CC bin xlc CPPFLAGS DNDEBUG CFLAGS O FC bin xlf FFLAGS O F90 bin xlf90 F90FLAGS qsuffix f f90 Note no O option CXX bin xlC CXXFLAGS O 6 因为有些机器的 AIX 系统在用 F90 编译器编译时 选用 O 优化编译会产生 错误信息为 1501 229 Compilation ended due to lack of space 的错误 通常是 由于编译时优化消耗内存太多 以至于超出计算机内存 解决方法之一是用 ulimit 命令将数据段 data 堆栈段 stack 以及内存段 memory 设置成足 够大或者设置成无限制 unlimited 另一种解决方法就是 在设置 F90 编译选 项时 不要用 O 优化选项 另外 如果要用 64 位模式编译程序 则除了在 C 和 Fortran 编译选项中添加 q64 外 还要设置以下环境变量 ARFLAGS X 64 cru NMFLAGS X 64 2 3 4 编译和安装编译和安装 NetCDF 要生成编译 netCDF 所需的 Makefile 文件 必须先运行配置脚本程序 configure 它存放在 netCDF 目录的 src 子目录中 首先 选择安装的目录 用这个目录作为配置脚本程序参数 prefix 的指定值 程序默认的安装目录 prefix 参数值 是 即 将程序包安装在 bin lib 和 man 这些目录是相对于 netCDF 的 src 目录 执行设置脚本格式如下 configure prefix 目录名 这里 prefix 是可选的 如果省略的话 程序将默认地将当前目录的 父目录 设为安装目录 运行配置脚本程序时 程序会检测系统的与编译 netCDF 程序包相关的属 性设置 检测结果将会显示在标准输出设备上 如显示器 配置脚本程序还会创建一个记录文件 config log 它包含了配置脚本程序 检测系统属性设置时发现的错误信息 由于系统检测可能会导致一些错误 因 此在记录文件中可能会记录一些错误信息 这些错误信息未必表明是有问题 严重的错误标志会导致下一步编译 make 程序失败 不过 记录文件中 的编译器不能启动的错误信息例外 这是一个编译环境的严重错误 必须改正 否则不会产生相应编译环境的程序接口 运行编译命令 make 此命令将创建一个或多个 netCDF 库 它包括基本 的 netCDF 库 libsrc libnetcdf a 如果系统有 Fortran 77 或者 Fortran 90 编译器 那么 Fortran 接口程序会包含在此库中 如果系统有 C 编译器 那么 C 接口程序会创建在库 cxx libnetcdf c a 中 命令创建的库还包括 netCDF 应用程序库 ncgen 和 ncdump 如果第一步的编译通过 则可以用命令 make test 来检验 netCDF 库和可 执行程序创建得正确与否 系统会建立和运行各种测试 C Fortran 和 C 的 程序 以及应用程序 ncdump 和 ncgen 以 开头的输出显示行中 列出了测试成功与否的信息 任何错误都会明确列出 并终止程序的运行 测 试过程中的编译器和连接器警告会被忽略掉 如果编译和测试都正确 这时就可以安装程序库和可执行程序了 安装时 运行命令 make install 即可 它将连接系统的函数库和应用程序 安装到指 定的目录中 7 在进行编译安装的时候 可以编写一个 shell 脚本程序 这样 在安装的时 候 只需执行这个批处理命令就行 这里给出一个在 AIX 系统上编译安装的例 子 比如取名为 install nc make distclean export CC usr bin xlc export CPPFLAGS DNDEBUG export CFLAGS O export FC usr bin xlf90 export FFLAGS O3 qfixed export F90FLAGS O3 qfree qsuffix f f90 export F90 usr bin xlf90 export CXX usr bin xlC export CXXFLAGS O configure prefix u wrf xp netcdf make make test make install 2 3 5 问题处理问题处理 1 详细阅读本安装文档 2 转到 netCDF 的顶级目录下的源程序目录 SRC 3 执行命令 make distclean 即使执行失败也不会造成什么错误 4 如果存在 config cache 文件 则将它删除 5 按上面描述的方法设置相应的环境变量 6 重新执行配置脚本程序 7 执行命令 make 8 执行命令 make test 9 执行命令 make install 值得注意的是 设置和编译系统应该具有较新的 sh shell make 程序 以及 C 和 Fortran 编译器 在曙光机器上 就存在 Fortran90 编译器版本比较陈 旧 不能编译后缀名为 F90 的程序 导致运行配置脚本时 无法通过对 Fortran90 编译器的检测 故不能生成 Fortran90 程序接口 2 4 标准初始化 标准初始化 SI 的安装 的安装 2 4 1 文件和资料的获取文件和资料的获取 标准初始化是 WRF 模式的数据前处理部分 也是 WRF 模式的三维变分系 统建立使用之前为 WRF 模式提供初 边值的部分 SI 主要的具有两大功能 1 模式区域的定义和创建 在这里 用户可以定义计算区域 投影参数 范围大小 区域位置等 根据这些定义设置 SI 的 gridgen model exe 程序会产生一个名为 static 的文件 它是 NetCDF 格式的文件 包含模式格点定义信息和一些 静态数据场 如地形 土地利用 土壤类型 月叶面积指数 经度和纬度等 8 2 将数据插值到 WRF 模式的计算格点 包括水平方向和垂直方向 上 为 WRF 模式提供初始场和边界条件 这项功能是由 hinterp exe 和 vinterp exe 程序来完成 另外 gribprep exe 程序是将标准的 GRIB 码格式的数据文件转换成 hinterp exe 程序能识别的格式 也可以不用 gribprep exe 程序 而是 直接将其他数据格式的数据写成 hinterp exe 所能识别的格式即可 安装之前 首先需从 WRF 模式的提供网站 http www wrf model org 下 载标准初始化 SI 的压缩程序包 WRFSI TAR gz AVN 模式的试验数据 AVN TAR 以及模式所需的静态数据 如地形 土地利用类型 土壤温度等 WRFSI TAR gz AVN TAR greenfrac 10m tar gz 10 分的植被指数数据 pctland 10m tar gz 10 分的土地利用数据 soiltemp 1deg tar gz 1 度的全球深层土壤温度数据 topo 10m tar gz 10 分的地形数据 另外 还应该下载如下四个文件夹及其其中的数据文件 landuse 30s USGS 24 category landuse fractions soiltype bot 30s WMO FAO 16 category 2 layer soil types soiltype top 30s topo 30s 解压这些文件后 应该得到八个目录 greenfrac 10m pctland 10m topo 10m soiltemp 1deg landuse 30s soiltype bot 30s soiltype top 30s topo 30s 解压后的各目录中所得到的数据文件大多数都是 10 10 的数据块文件 用 户大约需要 1 8Gb 的磁盘空间来存储这些数据 其目录在 WRF SI 的参数配置 文件中需要做相应的设定 2 4 2 安装环境安装环境 编译时 要求系统装有 Perl 5 003 以上的版本 和 make 3 75 以上的版 本 由于 WRF SI 模式的程序采用了 C Fortran77 和 Fortran90 编写 所以也 要求操作平台具有 FORTRAN77 FORTRAN90 和标准 C 或 C 编译器 SI 的数据格式采用了 NetCDF 的格式 要求系统安装了 NetCDF 函数库 2 4 3 SI 的目录结构的目录结构 9 在进行编译和运行 SI 前 有必要先熟悉 SI 的目录结构 在 SI 的编译和运 行当中 有四个 顶级 路径环境变量 这里 顶级 的意思是指每一个路径 都是一个总的路径 在其下面 编译和运行时可能会创建许多子目录 从这个 意义上来说 这四个目录分别相当于他们的子目录的顶级目录 这四个 顶级 目录分别为 1 SRCROOT 这个目录在编译和安装 SI 时要用到 它是包含 SI 源程序代码的目录 也 就是在用户解压 tar 源程序包时所创建的目录 比如用户解压 WRFSI TAR gz 文件时 最终会创建一个名为 wrfsi 的 SRCROOT 目录 当然 用户也可以根 据自己的喜好 将其改为自己喜欢的名称 通常 SRCROOT 目录中包含用 perl 写成的安装脚本文件 install wrfsi pl 编译和安装时 应该提供大约 10 兆空间给 SRCROOT 目录 2 INSTALLROOT 这个目录是在编译和安装 SI 时用到 它是指定 SI 的安装目录 存放 SI 的 可执行程序 包括可执行的二进制文件和可执行的 perl 脚本 在 INSTALLROOT 目录下 安装后会创建三个目录 bin data 和 etc 子目录 bin 中存放可执行的二进制文件 data 存放相关的配置信息文件 etc 存放可执行的 perl 脚本文件 INSTALLROOT 和 SRCROOT 可以相同 这样的话 INSTALLROOT 目录下的三个子目录会创建在 SRCROOT 的目录下 如果 INSTALLROOT 目录缺省 则系统会认为 INSTALLROOT 与 SRCROOT 相同 INSTALLROOT 需要的空间大约为 5 兆 3 MOAD DATAROOT 这个目录在运行 SI 时使用 MOAD 的意思是 所有计算区域之源 Mother of All Domains 当然也包括以后嵌套技术实现后的粗 细网格 MOAD DATAROOT 可以和 INSTALLROOT 以及 SRCROOT 相同 但将 MOAD DATAROOT 与这二者区分开来是非常有用的 它可以使用户在一次编 译后 处理不同的模式区域 MOAD DATAROOT 的默认目录为 INSTALLROOT data 如果要设置不同路径时 只需将 INSTALLROOT data 目 录下的 cdl 和 static 两个子目录拷贝到新的目录下即可 4 EXT DATAROOT 这个目录在运行 SI 时使用 它是用来存放一些所谓的 外部 数据 数据 前处理程序 grib prep exe 产生的结果文件就是存放的在这个目录的子目录 extprd 目录下 而运行 grib prep exe 程序时所创建的记录文件也放在这个目录 的子目录 log 下面 同样 当用户不用个 grib prep exe 程序处理数据 而是自 定义生成 hinterp exe 程序所能识别的数据文件时 用户所生成的数据文件也应 该放在这个目录的 extprd 子目录下 插值程序 hinterp exe 则从这个子目录下读 取输入数据 对于 1 3 版本的 SI 来说 则这个目录已经被提供初始场 ANALPATH 和边界条件 LBCPATH 的路径所代替 并且 在 1 3 版本中 初 始场和边界条件可以分开 使用两个不同的路径 10 2 4 4 编译和安装编译和安装 SI 编译和安装前 需查看一下 src include makefile ibm inc in 文件 比如 查看编译器的名字 如 FC cpp 选项 CPPFLAGS 特殊情况下为 DFORTRANDOUBLEUNDERSCORE 而有些计算机 比如 AlphaUnix 工作站 则要求为 DFORTRANUNDERSCORE 用户还需为 gcc 库函数指定确切的路 径 同时 用户还可以根据需要 设定一些相应的编译选项 要求用户找到计算机安装 netCDF 和 perl 的路径 没有的话 则需必须下载 正确的版本进行安装 找到正确的 netCDF 和 perl 的安装路径后 SI 最简单的安装就是在安装在 当前源代码相同目录下 这时只需设置一下环境变量 NETCDF 将其指到包含 netCDF 库函数的正确目录 例如 setenv NETCDF usr local netcdf 3 4 然后 输入以下安装命令 perl install wrfsi pl 上面是最为简单的安装方式 但是如果用户没有找到 netCDF 和 Perl 的安装目 录的话 则会退出安装 因此 还可以根据用户选择配置来安装 执行安装命 令时 其他的一些参数选项如下 perl install wrfsi pl srcroot u denglt wrfsi src installroot u denglt wrfsi dataroot u denglt wrfsi data path to netcdf usr local netcdf path to perl usr local perl machine ibm log 其中 srcroot 是指提供安装 WRF SI 源代码的目录 installroot 是指将要接受安 装 WRF SI 的目录 dataroot 是以后运行 SI 程序的输出结果存放目录 如果用 户没有指定 dataroot 的目录 则会在安装目录 installroot 中创建一个 data 目录 特别注意的是 在 perl 命令行的续行符 前 最好留一个空 格 因为 如果不留空格 而在后续行的第一列也没有空格的话 则程序会将 两行不留空格地合并起来 造成语法错误 成功安装后 在安装目录下会创建一个名为 bin 的目录 并且创建有如 下四个可执行文件 rwxr xr x 1 wrfhelp users Apr 17 15 36 grib prep exe rwxr xr x 1 wrfhelp users Apr 17 15 36 gridgen model exe rwxr xr x 1 wrfhelp users Apr 17 15 37 hinterp exe rwxr xr x 1 wrfhelp users 63120 Apr 17 15 37 siscan rwxr xr x 1 wrfhelp users Apr 17 15 37 staticpost exe v2 0 以上才有 rwxr xr x 1 wrfhelp users Apr 17 15 37 vinterp exe 其中 grib prep exe 文件是读取 GRIB 码数据文件 并将数据输出成 hinterp exe 所能识别的数据格式 gribgen model exe 是模式区域定义和创建 的文件 在这里 用户可以定义计算区域 投影参数 范围大小 区域位置等 11 hinterp exe 和 vinterp exe 文件分别是水平和垂直插值程序 它们将用户 的输入场插值到 gridgen model exe 所创建的模式区域格点上 为 WRF 模式 的运行准备初始场和边条件 siscan 是一个调试程序 它可以查看 hinterp exe 和 vinterp exe 所产生的文件的详细信息 staticpost exe 将 gridgen model exe 的运行结果 static wrfsi d01 提取其中一些物理量按照 NetCDF 的格式重新写了一遍成 wrfstatic d01 在进行编译安装的时候 可以编写一个 shell 脚本程序 这样 在安装的时 候 只需执行这个批处理命令就行 这里给出一个在 AIX 系统上编译安装的例 子 比如取名为 install si bin sh my homeroot u wrf xp denglt wrfsys my dataroot dgpfs fs2 wrf xp ddeng wrfsys export NETCDF u wrf xp denglt netcdf export SOURCE ROOT my homeroot sisrc export INSTALLROOT my homeroot wrfsi export DATAROOT my dataroot moad export EXT DATAROOT my dataroot moad extroot export TEMPLATES my dataroot moad temp export GEOG DATAROOT my dataroot geog install wrfsi pl install ui y 2 4 5 问题处理问题处理 1 如果失败 则可以用 make realclean 来清除失败的安装程序 2 进入到 src 目录下的各个子目录 如 grib prep hinterp vinterp 以及 grid 等 下 输入 make 命令对单个目录进行编译 这样就相对容易找 出编译安装时的错误所在 2 5 WRF 模式的安装模式的安装 2 5 1 安装环境安装环境 编译时 要求系统装有 Perl 5 003 以上的版本 和 make 3 75 以上的版本 由于 WRF SI 模式的程序采用了 C Fortran77 和 Fortran90 编写 所以也要求 操作平台具有 FORTRAN77 FORTRAN90 和标准 C 或 C 编译器 SI 的数据格式采用了 NetCDF 的格式 要求系统安装了 NetCDF 函数库 因此 在编译 WRF 代码之前 应检查一下系统有没有安装 netCDF WRF 输入 输出 I O 模块需要使用 netCDF 的数据格式 如果 netCDF 安装的目录 不是常用的系统目录 如 usr local 则必须指明 netCDF 函数库以及引用 include 函数库的路径 如果未安装 则必须先下载安装 netCDF 12 2 5 2 安装程序的获取安装程序的获取 WRF 模式的安装程序是一个压缩程序包 可从 WRF 模式网站获得 http www wrf model org 1 2 版的 WRF 压缩程序包名称为 WRFV1 TAR gz 最近发布的 2 1 2 版的 WRF 压缩程序包名称为 WRFV2 1 2 TAR gz 压缩程序包包括两部分 一部分是将输入数据生成 WRF 模式的输入场 另一部分则是模式的积分计算 2 5 3 编译环境配置编译环境配置 WRF 模式的顶级目录中包含配置脚本文件 configure 使用标准 shell sh 和一个编译脚本 compile 使用 Csh 类 shell csh 配置脚本在配 置系统的时候 也用到在 arch 目录中的 Perl 脚本 arch Configure pl 还用到 了 UNIX 系统的应用程序 make 在 arch 子目录中包含了大量不同结构和设 置选项的设置模板文件 configure defaults 这些配置模板在配置脚本运行时 用于在不同的运行平台上创建 configure wrf 文件 在 IBM AIX SP 机器上 会启用设置模板文件中的关于 AIX 的十一个配置模块 ARCH AIX single threaded FC xlf r CC xlc r ARCH AIX single threaded NO NETCDF FC xlf r CC xlc r ARCH AIX SM OpenMP OMP qsmp noauto qthreaded OMPCPP D OPENMP ARCH AIX DM RSL IO IBM MPI DMPARALLEL 1 OMP SFC xlf r 13 ARCH AIX DM RSL IO IBM MPI NO NETCDF DMPARALLEL 1 ARCH AIX DM SM RSL IO IBM MPI OpenMP DMPARALLEL 1 OMP qsmp noauto qthreaded 这十一个配置模块分别对应着不可嵌套串行编译 不可嵌套 OpenMP 并行 编译 可嵌套带 RSL LITE 库 MPI 方式并行编译 可嵌套带 RSL 库 MPI 方式 并行编译 带 RSL 和 HDF5 库可嵌套 MPI 方式并行编译 带 RSL 库可嵌套 MPI 和 OpenMP 方式并存的并行编译 带 RSL 和 MCEL 库 MPI 并行编译 带 RSL 库与 ESMF 耦合不可嵌套 MPI 方式编译 不用 MPI 但带 RSL 库可嵌套串 行编译以及带 RSL 库可嵌套 OpenMP 方式并行编译 每一个模块都设置了对应 的 WRF 模式的编译器配置 编译选项 编译规则等 进行 WRF 的编译环境配置时 进入 WRF 模式的顶级目录中 键入 configure 假设设置脚本可以找到相应版本 5 004 或更高版本 的 Perl 程 序 那么设置文件 arch configure defaults 中的模板将会被扫描检测 提取相 应的配置模块信息 并且会列出一个选择菜单共用户选择 configure checking for perl5 no checking for perl found usr bin perl perl Will use NETCDF in dir usr local netcdf Please select from among the following supported platforms 1 AIX single threaded no nesting 2 AIX SM OpenMP no nesting 3 AIX DM Parallel RSL LITE IBM MPI Allows nesting 4 AIX DM Parallel RSL IBM MPI allows nesting 5 AIX DM Parallel RSL IBM MPI allows nesting PARALLEL HDF5 6 AIX DM Parallel RSL LITE IBM MPI Allows nesting PARALLEL HDF5 7 AIX DM Parallel SM Parallel not recommended RSL IBM MPI OpenMP allows nesting 8 AIX DM Parallel RSL IBM MPI MCEL May 2003 EXPERIMENTAL 9 AIX DM Parallel ESMF RSL IBM MPI ESMF coupling no nesting EXPERIMENTAL 10 AIX single threaded nesting using RSL without MPI 14 11 AIX OpenMP nesting using RSL without MPI Enter selection 1 11 用户输入一个 1 11 的整数 然后按回车 如果选择有效 则所作的选择 和提示符会显示出来 用户选择结束后 正常运行脚本程序时 会在顶级目录 中创建文件 configure wrf 并退出程序 回到操作系统 如果在选择时要退 出设置脚本程序 用 shell 的中断命令即可 如按 Control C 配置脚本 configure 会试图在编译主机上查找 netCDF 函数库以及引用文 件 也可通过设置环境变量 NETCDF 来强制定义到系统中安装 netCDF 的正确 目录 如果没有设置环境变量 而设置脚本也没有找到 netCDF 那么程序将会 要求用户输入一个路径 如果所有这些尝试都失败的话 程序将尝试以没有 netCDF 的状态来进行编译 不过 由于当前版本的程序只能用 netCDF 的输出 输入接口 所以必然会造成程序的运行失败 模式目录中还提供了用于卸载的清除程序 clean Csh 类 shell 脚本 安装 失败时 可以使用这一程序来恢复到最初的状态 当未指定任何参数时 清除 程序 clean 将删除 src 目录中的目标文件 o 以及编译时产生的一些中间 文件 文件 configure wrf 会保留 当指定当指定 a 为为 clean 的参数时 则会的参数时 则会 连同文件连同文件 configure 以及一些在以及一些在 external 目录中的库函数一起删除 目录中的库函数一起删除 所以 用带参数 a 的清除命令 则会将模式恢复到模式的安装最原始的状态 而 文件 configure wrf 中的一些修改信息都会丢失 注意 清除程序并不会将 run 或 test 子目录中的数据文件或可执行文件删除掉 在 configure wrf 创建后 还可以根据需要来修改编译选项 值得注意的 是 WRF 模式可实时配置计算范围大小 处理器数量 以及其他选项 并且仅 需要在运行程序之前通过修改文件 namelist input 即可 而针对这些选项设 置 并没有修改文件 configure wrf 的必要 只是在编译器 编译选项或者编 译规则需要变动时 才有必要对 configure wrf 文件进行修改 在 WRF 模式调试运行过程中 发现由于 WRF 模式采用动态分配数组的方 式来分配模式中的数组单元 因此对计算机的逻辑内存 堆栈段内存以及数据 段内存开销较大 在 IBM SP 上编译时 默认的内存设置可能满足不了模式计 算时的内存需求 而 configure wrf 中没有设置内存编译选项 bmaxdata bmaxstack 和 qmaxmem 这就需要用户对其进行修改 通常将他们的限制值 设置的稍微大些比较好 例如 可以将 configure wrf 的原始设置 FCBASEOPTS qarch auto qfree f90 qzerosize qnosave qmaxmem 1 qspill 20000 FCDEBUG OMP LDFLAGS wrfio nf cd external io netcdf make NETCDFPATH u denglt netcdf 15 FC SFC FCDEBUG qarch auto qfree f90 qzerosize qnosave bin cp wrf io flags h wrf status codes h inc wrfio int cd external io int make CC CC FC SFC FCDEBUG qarch auto qfree f90 qzerosize qnosave all diffwrf solve interface o solve interface F RM CPP I inc CPPFLAGS F f FC c qfree f90 qspillsize 32767 I MODULE DIRS f 修改为 FCBASEOPTS qarch auto qfree f90 bmaxdata 0 x bmaxstack 0 x qzerosize qnosave qmaxmem 1 qspill 20000 FCDEBUG OMP LDFLAGS bmaxdata 0 x bmaxstack 0 x qmaxmem 1 wrfio nf cd external io netcdf make NETCDFPATH u denglt netcdf FC SFC FCDEBUG qarch auto qfree f90 bmaxdata 0 x bmaxstack 0 x qmaxmem 1 qzerosize qnosave bin cp wrf io flags h wrf status codes h inc wrfio int cd external io int make CC CC FC SFC FCDEBUG qarch auto qfree f90 bmaxdata 0 x bmaxstack 0 x qmaxmem 1 qzerosize qnosave all diffwrf solve interface o solve interface F RM CPP I inc CPPFLAGS F f FC c qfree f90 bmaxdata 0 x bmaxstack 0 x qmaxmem 1 qspillsize 32767 I MODULE DIRS f 由于以上的修改 在运行清除程序 clean 后会被自动删除掉 造成修改信 16 息丢失 有鉴于此 用户除了修改 configure wrf 外 还可以直接修改 arch 子目 录中的 configure defaults 文件 找到 configure defaults 文件中与 AIX 相关的十 一个配置模块 按在 configure wrf 中的修改方法一样修改 这样做好修改后 以后的每次清除编译环境重新配置编译环境时 都不会丢失修改好的信息 在编译 1 3 版时 发现有些程序在选用 优化 编译时 往往会编译很慢 甚至会由于优化消耗内存 造成内存不足后而导致编译失败 因此 一种解决 方法是可以在编译选项中去掉优化选项 O2 另一种解决方法就是将优化编 译时耗时很长或者耗内存很大的程序加入到优化的编译规则中 这一修改 也 可以在 arch 子目录中的 configure defaults 中进行 在 IBM SP2 机器上 要添加 的的目标文件有 module io mm5 o module si io o module io wrf o module domain o module start o module initialize o module initialize b wave o module initialize hill2d x o module initialize quarter ss o module initialize squall2d x o module initialize squall2d y o module initialize real o module dm o start domain o mediation force domain o mediation interp domain o mediation feedback domain o solve interface o 当 configure wrf 文件中的 ARCHFLAG 标志参数包含 DDM PARALLEL 参 数值 并且连接好相应的消息传递库函数时 可用分布式内存并行机制进行编 译 目前连接库只有一种可供选择 external RSL RSL librsl a 此时 其他一些 必须设置生效的参数值包括 DWRF RSL IO 和 DRSL CFLAGS 参数必须取 有 DWRF RSL IO DMAXDOM MAKE MAX DOMAINS DMAXPROC MAKE MAX PROC DMAXPROC MAKE MAX PROC I external RSL RSL 在设置文件 arch configure defaults 的用于设置分布式内 存并行编译的模板中包含了上面这些参数值 而在 configure wrf 文件中设置相 应的编译标志参数时 就可以用共享式内存并行机制来进行编译 内存共享式 并行机制采用 OpenMP 线程形式 2 5 4 编译代码编译代码 在配置完编译环境变量之后 就可以输入编译命令 compile 进行程序代 码编译了 首先 输入 compile 则会出现以下帮助选项 Usage compile wrf compile wrf in run dir test cases see README test cases compile em b wave 欧拉质量坐标斜压波方案 compile em grav2d x 欧拉质量坐标重力波方案 compile em hill2d x 欧拉质量坐标二维钟形山体方案 compile em quarter ss 欧拉质量坐标三维超级单体云体方案 compile em real 欧拉质量坐标真实大气方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025汉中市南郑区审计局公益性岗位招聘(5人)模拟试卷及答案详解(易错题)
- 2025年芜湖市国有资本投资运营有限公司招聘10人模拟试卷及一套参考答案详解
- 2025江苏盐城市东台市卫生健康委员会招聘事业单位工作人员130人考前自测高频考点模拟试题有答案详解
- 2025安徽合肥师范学院辅导员招聘32人模拟试卷及答案详解(必刷)
- 2025杭州市钱塘区教育局所属事业单位在职教师直接考核招聘37人模拟试卷及参考答案详解一套
- 2025年河北唐山幼儿师范高等专科学校选聘工作人员35人模拟试卷及答案详解(网校专用)
- 2025福建厦门启航培训服务有限公司招聘1人考前自测高频考点模拟试题及1套完整答案详解
- 2025甘肃定西郑州麦克莱恩心理医院后勤人员招聘27人考前自测高频考点模拟试题及完整答案详解
- 2025年金华义乌市中医医院面向毕业生校园招聘3人(长春中医药大学)考前自测高频考点模拟试题及答案详解(夺冠)
- 土地合作协议书
- 智慧酒店AI大模型数字化平台规划设计方案
- 公路应急抢险管理办法
- 广东省实验中学2025届七年级数学第一学期期末经典试题含解析
- 知识产权代持协议示范文本
- 移动支付网络安全学习心得体会
- 电力反窃查违培训
- 2025-2030中国聚酯TPU薄膜行业运营态势与前景动态预测报告
- pos机收款管理制度
- 朗格汉斯细胞病诊疗研究进展
- 《儿童病毒性脑炎》教学课件
- 建筑行业质量月知识竞赛考试题库500题(含答案)
评论
0/150
提交评论