v1.0 可编辑可修改 程序,以及应用程序“ncdump”和“ncgen”。以“***”开头的输出显示行中,列出了测试成功与否的信息。任何错误都会明确列出,并终止程序的运行。测试过程中的编译器和连接器警告会被忽略掉。
如果编译和测试都正确,这时就可以安装程序库和可执行程序了。安装时,运行命令“make install”即可,它将连接系统的函数库和应用程序,安装到指定的目录中。
在进行编译安装的时候,可以编写一个shell脚本程序。这样,在安装的时候,只需执行这个批处理命令就行。这里给出一个在AIX系统上编译安装的例子,比如取名为: 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
问题处理
(1) 详细阅读本安装文档。
9
v1.0 可编辑可修改 (2) 转到netCDF的顶级目录下的源程序目录SRC。
(3) 执行命令“make distclean”,即使执行失败也不会造成什么错误。 (4) 如果存在“”文件,则将它删除。 (5) 按上面描述的方法设置相应的环境变量。 (6) 重新执行配置脚本程序。 (7) 执行命令“make”。 (8) 执行命令“make test”。 (9) 执行命令“make install”。
值得注意的是,设置和编译系统应该具有较新的“sh”shell、“make”程序以及C和Fortran编译器。在曙光机器上,就存在Fortran90编译器版本比较陈旧,不能编译后缀名为“.F90”的程序,导致运行配置脚本时,无法通过对Fortran90编译器的检测,故不能生成Fortran90程序接口。
标准初始化(SI)的安装
文件和资料的获取
标准初始化是WRF模式的数据前处理部分,也是WRF模式的三维变分系统建立使用之前为WRF模式提供初/边值的部分。SI主要的具有两大功能: (1) 模式区域的定义和创建
在这里,用户可以定义计算区域(投影参数,范围大小,区域位置等)。根据这些定义设置,SI的“”程序会产生一个名为“static”的文件。它是NetCDF格式的文件,包含模式格点定义信息和一些静态数据场(如地形、土地利用、土壤类型、月叶面积指数、经度和纬度等)。
(2) 将数据插值到WRF模式的计算格点(包括水平方向和垂直方向)上,为WRF模式提供初始场和边界条件。
这项功能是由“”和“”程序来完成。另外,“”程序是将标准的GRIB码格式的数据文件转换成“”程序能识别的格式。也可以不用“”程序,而
10
v1.0 可编辑可修改 是直接将其他数据格式的数据写成“”所能识别的格式即可。
安装之前,首先需从WRF模式的提供网站()下载标准初始化(SI)的压缩程序包、AVN模式的试验数据以及模式所需的静态数据(如地形、土地利用类型、土壤温度等):
- 10分的植被指数数据 - 10分的土地利用数据 - 1度的全球深层土壤温度数据 - 10分的地形数据
另外,还应该下载如下四个文件夹及其其中的数据文件:
- landuse_30s/
USGS 24-category landuse fractions WMO/FAO 16-category 2-layer soil types
- soiltype_bot_30s/ - 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°的数据块文件。用户大约需要的磁盘空间来存储这些数据。其目录在WRF SI的参数配置文件中需要做相应的设定。
11
v1.0 可编辑可修改
安装环境
编译时,要求系统装有Perl(以上的版本)和make(以上的版本)。由于WRF SI模式的程序采用了C,Fortran77和Fortran90编写,所以也要求操作平台具有FORTRAN77,FORTRAN90和标准C(或C++)编译器。SI的数据格式采用了NetCDF的格式,要求系统安装了NetCDF函数库。
SI的目录结构
在进行编译和运行SI前,有必要先熟悉SI的目录结构。在SI的编译和运行当中,有四个“顶级”路径环境变量。这里“顶级”的意思是指每一个路径都是一个总的路径,在其下面,编译和运行时可能会创建许多子目录。从这个意义上来说,这四个目录分别相当于他们的子目录的顶级目录。这四个“顶级”目录分别为:
(1) SRCROOT
这个目录在编译和安装SI时要用到,它是包含SI源程序代码的目录,也就是在用户解压tar源程序包时所创建的目录。比如用户解压文件时,最终会创建一个名为wrfsi_的SRCROOT目录。当然,用户也可以根据自己的喜好,将其改为自己喜欢的名称。通常,SRCROOT目录中包含用perl写成的安装脚本文件“”。编译和安装时,应该提供大约10兆空间给SRCROOT目录。
(2) INSTALLROOT
这个目录是在编译和安装SI时用到。它是指定SI的安装目录,存放SI的可执行程序(包括可执行的二进制文件和可执行的perl脚本)。在INSTALLROOT目录下,安装后会创建三个目录:bin、data和etc。子目录bin中存放可执行的二进制文件;data存放相关的配置信息文件;etc存放可执行的perl脚本文件。INSTALLROOT和SRCROOT可以相同,这样的话,INSTALLROOT目录下的三个子目录会创建在SRCROOT的目录下。如果INSTALLROOT目录缺省,则系统会认为
12
v1.0 可编辑可修改 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时使用。它是用来存放一些所谓的“外部”数据。数据前处理程序产生的结果文件就是存放的在这个目录的子目录extprd目录下,而运行程序时所创建的记录文件也放在这个目录的子目录log下面。同样,当用户不用个程序处理数据,而是自定义生成程序所能识别的数据文件时,用户所生成的数据文件也应该放在这个目录的extprd子目录下,插值程序则从这个子目录下读取输入数据。对于版本的SI来说,则这个目录已经被提供初始场( ANALPATH)和边界条件( LBCPATH)的路径所代替。并且,在版本中,初始场和边界条件可以分开,使用两个不同的路径。
编译和安装SI
编译和安装前,需查看一下“src/include/文件。比如查看编译器的名字(如FC),cpp选项(CPPFLAGS特殊情况下为-DFORTRANDOUBLEUNDERSCORE,而有些计算机(比如AlphaUnix工作站)则要求为-DFORTRANUNDERSCORE)。用户还需为gcc库函数指定确切的路径。同时,用户还可以根据需要,设定一些相应的编译选项。
要求用户找到计算机安装netCDF和perl的路径。没有的话,则需必须下载
13