WRF安装第四期:搭建WRF编译所需系统-WRF和WPS模型的安装
本期博客说明WRF和WPS模型的安装,往期内容可参见其他博客。
1 WRF的编译安装(Building WRF)
1.1 进入Build_WRF文件夹
执行以下命令:
cd Build_WRF
终端窗口如下:
1.2 下载WRFV4.0
下载WRFV4.0的安装包有以下两种方式:
- 方式1:利用Linux命令下载。
下面是Linux命令下载的命令,在Build_WRF文件夹下,输入:
wget https://www2.mmm.ucar.edu/wrf/src/WRFV4.0.TAR.gz
终端窗口如下:
- 方式2:进入网站-Index of /wrf/src直接下载。
1.3 解压WRF安装包
解压WRF安装包并进入,执行以下命令:
tar xzvf WRFV4.0.TAR.gz
cd WRF
终端窗口如下:
切换 root 用户
代码如下:
sudo -s
1.4 安装WRF
在WRF文件夹下,输入:
./configure
会出现如下选项:
在WRF和WPS的./configure时会让你选择编译器和并行方式。
- 选择1:编译器选择GUN(gfortran/gcc),即32-35
最右侧一列为编译器,一般而言Intel编译器的效率比较高,但如果你没有,就只能选GUN了。 - 选择2:构建 WRF 的方式(即,串行或并行)
官方给了三种不同类型的并行(smpar、dmpar 和 dm+sm),并且推荐使用dmpar(34)
并行方式有四种:serial(串行,即非并行)、smpar(内存共享并行)、dmpar(分布式并行)、dm+sm(同时使用dmpar和smpar),请根据你自己服务器的情况进行选择
在此尝试了多次,因文件安装位置出现问题,多次安装失败。
选择#1:32
此处选择32,窗口如下:
选择1,basic,可以得到:
到这里WRF基本安装完成了。
接下来要配置,WRF编译哪种类型的案例:
输入以下命令:
./compile em_real >& log.compile
这一步需要花费较长的时间(在官方教程中有解释)
完成后不会有任何反应,如下图:
检查WRF是否安装成功,失败了!!!
选择#2:33
此处选择33,窗口如下:
选择1,basic,可以得到:
到这里WRF基本安装完成了。
接下来要配置,WRF编译哪种类型的案例:
输入以下命令:
./compile em_real >& log.compile
这一步需要花费较长的时间(在官方教程中有解释)
完成后不会有任何反应,如下图:
检查WRF是否安装成功。
选择#3:34
此处选择34,窗口如下:
选择1,basic,可以得到:
到这里WRF基本安装完成了。
接下来要配置,WRF编译哪种类型的案例:
输入以下命令:
./compile em_real >& log.compile
这一步需要花费较长的时间(在官方教程中有解释)
完成后不会有任何反应,如下图:
检查WRF是否安装成功,依然失败了!!!
输入以下编译命令时,
./compile em_real
界面如下:
1.5 检查WRF是否安装成功
查看一下WRF是否安装成功,执行以下命令:
ls -ls main/*.exe
终端窗口如下所示:(显示4个.exe)
说明:如果在$DIR/WRF/run 或 $DIR/WRF/test/em_real下成功生成四个exe文件,则表示安装成功
至此,WRF模型安装就顺利结束了。
1.5.1 WRF安装失败:解决方案1-选择其他安装选项重新编译
当检查WRF安装是否成功时,显示以下【ls: cannot access ‘main/*.exe’: No such file or directory】,说明安装失败。
此时,可更换安装选项,注意需要先清空。
输入./compile 程序文件夹名后瞬间就结束了,没有编译过程
解决方法:在WRF文件夹打开终端,输入./clean -a,然后重新./configure ,最后再次./compile
1、./clean -a 指令清除之前的过程
2、 然后重新编译./configure
再次进步1.4 安装WRF。
此问题参考解答如下-安装wrf 为什么 *.exe 都在run文件夹,main里面没有exe文件
1.5.2 WRF安装失败:解决方案2-降gcc和gfortran版本
问题描述: 在run文件夹中编译完成4个.exe文件,如下:
WRF和WPS安装后没有出现.exe,在run文件有,链接到了main文件,但是main里面没有!最后发现问题,gcc和gfortran的版本太高!降版本就可以。
具体操作步骤如下:
1、查看gcc和gfortran安装版本:
gfortran --version
cpp --version
gcc --version
终端窗口如下:
2、降版本
2 WPS的编译安装(Building WPS)
WPS 是 WRF 模式的预处理,就是在进行WRF模拟之前对数据进行一个预处理。
包含了三个重要的可执行文件,分别是geogrid.exe,ungrib.exe 和 metgrid.exe。
可执行文件 | 作用 |
---|---|
geogrid.exe | 把静态地理数据,按照我们要求的样子(比如经纬度范围,网格大小,包含哪些要素等等)处理成WRF需要的样子 |
ungrib.exe | 解压GRIB数据,转化成WRF需要的格式数据 |
metgrid.exe | 把气象数据水平插入到模式领域内,可以理解为,把geogrid.exe的地理数据, ungrib.exe的气象数据搅和到一起,让WRF去跑。 |
所以,在进入WRF之前,需要跑一下geogrid.exe和ungrib.exe,这俩不分先后,然后再跑一下metgrid.exe,才能得到WRF能用的东西。
2.1 进入Build_WRF文件夹
进入Build_WRF文件夹,执行以下命令:
cd Build_WRF
终端窗口如下:
2.2 下载WPSV4.0
下载WPSV4.0的安装包有以下俩种方式:
- 方式一:利用Linux命令下载。
下面是Linux命令下载的命令,在Build_WRF文件夹下,输入
wget https://www2.mmm.ucar.edu/wrf/src/WPSV4.0.TAR.gz
- 方式二:进入网站https://www2.mmm.ucar.edu/wrf/src/直接下载。
2.3 解压WPS安装包
解压WPS安装包并进入。同时,在安装之前,对WPS文件夹进行一个清理。
tar xzvf WPSV4.0.TAR.gz
cd WPS
./clean
终端窗口如下:
2.4 修改intmath.f(必须执行)
这一步必须做,不做的后果就是WPS生成的三个exe执行文件中少一个ungrib.exe。
方法如下:
- 根据此目录(WPS/ungrib/src/ngl/g2/intmath.f)找到intmath.f文件,并用记事本或者其他编辑器打开。
- 第172行改为iand(i,i-1_2)/=0
- 第207行改为iand(i,i-1_1)/=0
- 保存文件并退出
2.5 安装WPS
在WPS文件夹下,输入:
./configure
会出现如下选项:
选择1,
与之前安装WRF的时候对应,分别代表了,操作系统、编译器、并行方式。之前装WRF的时候选择了gfortran以及serial
完成后输入:
./compile >& compile.log & tail -f compile.log
接下来请耐性等待屏幕停止跳动,系统会停留,但是程序不会自己中断。
当屏幕不再跳动以后,输入:
ctrl+c 用来手动停止进程
自此,WPS安装完成,查看三个可执行文件
ls -las *.exe
终端窗口如下所示:(显示3个.exe)
至此,WPS模型安装就顺利结束了。
2.5.1 WPS安装失败:cannot access ‘*.exe’: No such file or directory
若出现以下界面:
则表明安装失败。
2.5.2 WPS安装失败:WPS在./compile完成后,没有生成相应的exe文件
解决方法:检查你使用的编译器版本是否过低。
如果你使用Intel编译器,在WRF的./configure时需要选择15,在WPS的./configure时需要选择19,除此之外,还可能需要在configure.wps里面修改下面两行:
DM_FC=mpiifort
DM_CC=mpiicc
【注意】,必须先成功编译WRF,才能编译WPS,顺序不能颠倒。如果编译WRF后配置WPS时仍提示No compiled WRF code found,则说明WPS找不到WRF的目录,请检查你的WRF文件夹的名称是否为WRF,或者设置WRF文件夹的路径:
export WRF_DIR=/home/xxx/Build_WRF/WRFV4.5.1
参考
1、WRF官方教程-Building WRF
2、CSDN博客-小白跑WRF第四天,安装WRF
3、CSDN博客-小白跑WRF第五天,安装WPS和静态地理数据
4、CSDN博客-解决WRF和WPS安装时.exe文件在run文件中-WRF模型安装三大问题解决
5、CSDN博客-WPS编译三个exe文件只出现ungrib.exe?解决办法
6、CSDN博客-系统完整介绍WRF安装-WRF安装和运行的技术教程