WRF,WPS,WRF-Chem安装及编译步骤及bug总结(2)

(1)中详细讲了安装和运行./geogrid.exe的过程和有关bug。

 ./ungrid.exe   ./metgrid.exe   .就相对简单了。

 

在运行WRF时遇到问题:

(1)在WRFV3/test/em_real  下运行 ./real.exe  时 报错:bash:没有找到文件或目录

但是ls后发现有./real.exe   

网上给的解决办法是再下载个32位的什么东西,但是没用。其实原因是:之前运行过WRF了,需要 ./clean -a 指令清除之前的过程, 然后重新编译./configure    ./compile,结果就出来了。

(2)在运行wrf时,要注意先确定WRFV3文件下main文件中四个.exe文件是否存在。如果不存在,需要先编译 ./configure.exe.编译之前得export netcdf的位置。

(3)编译WRF之前,需要对NETCDF进行链接,不然后面会让fix。  

语句为:

export NETCDF=(你的netcdf路径)

我的是/usr/local/wrf/LIBRARIES/netcdf

如果没有提前export,那就按照人家的指示fix:分别写出netcdf  library和include的绝对路径。

(4)如果修改过namelist中的gwt-opt=0, 需要重新./real.exe,然后./wrf.exe

WRF,WPS,WRF-Chem安装及编译步骤及bug总结(2)_第1张图片

WRF,WPS,WRF-Chem安装及编译步骤及bug总结(2)_第2张图片

改完之后如果直接运行.wrf.exe,就会报bug:

WRF,WPS,WRF-Chem安装及编译步骤及bug总结(2)_第3张图片

这时,需要:

WRF,WPS,WRF-Chem安装及编译步骤及bug总结(2)_第4张图片

重新链接,./real.exe  ./wrf.exe

 

安装WRF-Chem问题:

 

下载flex和yacc及其安装顺序问题:

(1)安装flex   make 的时候报错:找不到yacc   网上教程说安装bison,但是教程中说,

方法如下:

先安装yacc:

which yacc

——  没有路径 说明没有安装好的yacc版本

在下载的路径下

gzip -d byacc.1.9.tar.Z
mkdir /usr/local/yacc创建目录
将压缩包放到创建的目录下:tar -xf byacc.1.9.tar -C /usr/local/yacc
进入路径:cd /usr/local/yacc/
make 命令
完成后 gedit ~/.bashrc

输入:

#for chem

export PATH=/usr/local/yacc:$PATH

export YACC='/usr/local/yacc/yacc -d'

保存 关闭  返回命令行:

source ~/.bashrc

然后再

which yacc 

发现结果是:

 

Which flex

   没有结果  意思是没有安装好的flex

进入到下载目录  

创建 mkdir /usr/local/flex

mv flex.tar.gz /usr/local/flex

cd /usr/local/flex

cd flex-2.5.3

./configure --prefix=/usr/local/flex

Make

make install

然后

gedit ~/.bashrc 

添加:

export PATH=/usr/local/flex/bin:$PATH

export FLEX=/usr/local/flex/bin/flex

export FLEX_LIB_DIR=/usr/local/flex/lib

最后保存 退出  返回命令行

source ~/.bashrc 使其生效
Which yacc

Which flex

结果为:

这样就说明flex和yacc安装成功!

 

下载WRFV-Chem-3.9.1,

进入到下载路径,

Tar -xzf WRFV3-Chem-3.9.1.TAR.gz -C /usr/local/wrf/WRFV3

Cd /usr/local/wrf/WRFV3

./clean -a

此时,gedit ~/.bashrc

添加语句:

Export WRF_CHEM=1

Export WRF_KPP=0

然后 source ~/.bashrc

 

./configure

选择34  1

然后./compile em_real

 

(2)WRF-Chem的下载地址:WRF-Chem3.8.1 https://www2.mmm.ucar.edu/wrf/src/WRFV3-Chem-3.8.1.TAR.gz

(3)第一次编译wrf成功,./clean -a 之后再./configure后让输入NETCDF的路径;  或者

报错:module_state_description.F  没有这个文件或目录 之类的错误:

解决办法为:

gedit ~/.bashrc 

检查最后面有没有环境配置的语句,如果没有,添加:

#for netcdf
export NETCDF=/usr/local/netcdf
export PATH=$PATH:$NETCDF/bin
export NETCDF_LIB=$NETCDF/lib
export NETCDF_INC=$NETCDF/include
export MANPATH=$NETCDF/share/man
export WRFIO_NCD_LARGE_FILE_SUPPORT=1

然后记得:

source ~/.bashrc

如果还不行,可能是out of memory 的问题,考虑扩充swap。教程为:

https://www.jianshu.com/p/7d00ead50e3d

(4) 运行Chem  KPP=0时可以成功,但是KPP=1不能成功,报错为:

WRF,WPS,WRF-Chem安装及编译步骤及bug总结(2)_第5张图片

经查:不是WRFV下 Config_new.pl或configure.wrf 未修改的问题。

 

而且其实报错的log里面还会出现  module_state_description.F 的问题,但是都被ignored 了

如何改,还在尝试中。。。。

 

小Tips:

(1)如果使用的是虚拟机,在每个进展之后“拍摄快照”,这样后面如果做不成,也可以一键返回之前好的状态。

(2)及时记录自己的步骤,防止反复犯错,浪费时间

未完待续......

你可能感兴趣的:(WRF,WRF-Chem)