logo资料库

wrf简单好用的学习笔记.doc

第1页 / 共83页
第2页 / 共83页
第3页 / 共83页
第4页 / 共83页
第5页 / 共83页
第6页 / 共83页
第7页 / 共83页
第8页 / 共83页
资料共83页,剩余部分请下载后查看
5 模式系统作业卡
5.2.1 编辑参数配置文件namelist.inc
(1) 公用参数块(COMMON BLOCK)
READT213:
WRFSI:
WRF3DVAR:
WRFMODEL:
POST:
VERIFY:
WRF_CASE:
(2) 路径参数块(DIRECTORIES BLOCK)
T213ROOT:
SIROOT:
WRFROOT:
WRF3DVROOT:
MOADDATA:
WRFDATA:
TEMPLATE:
OB_ROOT:
BE_FILE:
ANALPATH:
LBCPATH:
LSMPATH:
CONSTANTS_PATH:
EXTDATAROOT:
PATH_TO_AVN
PATH_TO_ETA =
(3) 读T213场库参数块(READ T213 BLOCK)
(4) WRFSI参数块(WRFSI BLOCK)
(5) WRF3DVAR模式参数块(WRF3VAR BLOCK)
(6) WRF模式参数块(WRFMODEL BLOCK)
5.2.2 运行perl脚本
(A) run.pl
(B) modifydate.pl
(C) wrfmodel.pl
1. 运用作业管理系统(PBS或者LoadLeveler)交互式运行WRF模式,PBS作业名称为“w
2. Shell方式交互式提交WRF模式作业。
3. Shell方式自动运行WRF模式。
4. 运用作业管理系统(LoadLeveler或者PBS)自动运行WRF模式,PBS作业名称为“wr
同时,由于wrfbdy的路径不对,需要修改share/mediation_integrate.F中的
(1) 修改Registry,在Registry/Registry.EM中添加real_in
(2) 修改real_em.F中的输入输出文件名的构造方式。(由旧换成新)
END DO
或者改成:
END DO
WRF 模式运行指南 (2006.3.13~2006.3.22) 国家气象中心数值预报室 (内部资料 请勿扩散) 二○○六年三月十三日
目录 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 6.1 Vis5D 格式 ……….…………………….………………………..61 6.2 MICAPS 格式……………………………….……………………62 6.2 GrADS 格式 ……….…………………….……………………...65 附录 1. WRF 模式参数配置说明 …………………….……………….68 附录 2. T213 场库参数表 ……………………………………………..78
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。 1
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 指定编译环境 首先要选择并指定一个恰当的编译环境。如果需要,可设置 CC,CFLAGS, FC, FFLAGS, CXX, CXXFLAGS, F90 和 F90FLAGS 中任何环境变量, 2
以指明相应的编译环境。环境变量也就是用户外壳程序(shell)管理的参数,并 被 shell 程序用于运行应用程序(例如设置脚本程序)。一些环境变量的说明可参 见下表(表 1)。 表1 编译NetCDF 的一些环境变量及其说明 变量 描述 Notes CC FC F90 C 编译器 如果未指定,设置脚本程序将试图找出合适的 C 编译器,如: cc, c89, xlc, or gcc。 Fortran 编 译 器 (如果存在) 如果未指定,设置脚本程序将试图找出合适的 Fortran 90 or Fortran 77 编译器。 如果不需要 Fortran 接口,则可将 FC 设 置为""。 Fortran 90 编 译器 (如果存在) 如果未指定,设置脚本程序将试图找出合适的 Fortran 90 编译 器。 如果指定了 Fortran 90 编译器,则不需要 FC 参数。如果 不需要 Fortran 90 接口,则可将 F90 设置为""。 CXX C++编译器 如果未指定,设置脚本程序将试图找出合适的 C++编译器。不 需要 C++接口时,可将 CXX 设置为 ""。 C 编 译 器 参 数选项 C 预 处 理 参 数选项 Fortran 编 译 器参数选项 Fortran 90 编 译 器 参 数 选项 C++ 编 译 器 标志 混 合 参 数 选 项 CFLAGS CPPFLAGS FFLAGS F90FLAGS CXXFLAGS ARFLAGS NMFLAGS FPP M4FLAGS LIBS FLIBS 例如 "-0" 或 "-g" 例如"-DNDEBUG" 是忽略声明部分的检测(assertion) 例如"-O" 或 "-g" 例如"-O" 或 "-g"。如果未指定,则采用 FFLAGS 的值。 例如"-O" 或 "-g" 在一些操作平台中可能用到这些参数中的一个或几个。 值得注意的是,如果不设置环境变量,那么配置脚本程序将会试图找出相应 合理的设置值。但在 IBM SP 机器上,如果用户不设置 Fortran90 的编译和编译 选项,那么配置脚本往往找不到正确的 Fortran90 编译器和编译选项,从而造成 NetCDF 函数库中没有 Fortran90 的程序接口。 3
环境变量也就是用户外壳程序(shell)管理的参数,并被 shell 程序用于运行应 用程序(例如设置脚本程序)。典型的环境变量有: 环境变量名 USER HOME PATH 变量值 steve /home/steve /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 为例): F90FLAGS=-qsuffix=f=f90 export CC=xlc CPPFLAGS=-DNDEBUG CFLAGS=-O FC=f77 \ FFLAGS=-O CXX=xlC F90=xlf90 在 IBM AIX SP 环境下,编译 NetCDF 所需要的一些相应的系统环境变量有: CC=/bin/xlc CPPFLAGS=-DNDEBUG CFLAGS=-O FC=/bin/xlf FFLAGS=-O F90=/bin/xlf90 F90FLAGS=-qsuffix=f=f90 CXX=/bin/xlC CXXFLAGS=-O # Note: no "-O" option 因为有些机器的 AIX 系统在用 F90 编译器编译时,选用“-O”优化编译会产生 4
错误信息为“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”即可,它将连接系统的函数库和应用程序,安装到指定 的目录中。 在进行编译安装的时候,可以编写一个 shell 脚本程序。这样,在安装的时 候,只需执行这个批处理命令就行。这里给出一个在 AIX 系统上编译安装的例 子,比如取名为 install.nc: 5
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 格式的文件,包含模式格点定义信息和一些静态数据 场(如地形、土地利用、土壤类型、月叶面积指数、经度和纬度等)。 (2) 将数据插值到 WRF 模式的计算格点(包括水平方向和垂直方向)上,为 WRF 模式提供初始场和边界条件。 这 项 功 能 是 由 “hinterp.exe ” 和 “vinterp.exe ” 程 序 来 完 成 。 另 外 , “gribprep.exe”程序是将标准的 GRIB 码格式的数据文件转换成“hinterp.exe” 6
分享到:
收藏