(1)中详细讲了安装和运行./geogrid.exe的过程和有关bug。
./ungrid.exe ./metgrid.exe .就相对简单了。
(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.exe,就会报bug:
这时,需要:
重新链接,./real.exe ./wrf.exe
(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不能成功,报错为:
经查:不是WRFV下 Config_new.pl或configure.wrf 未修改的问题。
而且其实报错的log里面还会出现 module_state_description.F 的问题,但是都被ignored 了
如何改,还在尝试中。。。。
小Tips:
(1)如果使用的是虚拟机,在每个进展之后“拍摄快照”,这样后面如果做不成,也可以一键返回之前好的状态。
(2)及时记录自己的步骤,防止反复犯错,浪费时间
未完待续......