本帖最后由 ljh110011 于 2015-3-25 15:42 编辑
十、WPS编译安装
WPS是WRF的预处理系统,解压WRFV3.6.1.TAR.gz到 /home/mode目录下:
cd /home/mode
tar -zxvf/home/mode/WPSV3.6.1.TAR.gz
这时/mode目录下出现WPS文件夹,记住,WPS和WRFV3必须存在于同一个父目录下,WPS编译时会在相同目录下寻找已经编译好的WRF目录。
1.先修改一些参数
进去WPS文件夹,设置环境变量 NETCDF 到刚刚安装好的netcdf目录
打开 WPS 下的 arch 文件夹,找到 configure.defaults,打开,找到这一部分:
#ARCH Linux x86_64, gfortran # serial serial_NO_GRIB2 dmpar dmpar_NO_GRIB2
在这部分里面做如下修改:
COMPRESSION_LIBS = -L/usr/local/JASPER/lib -ljasper -lpng -lpng16 -lz
COMPRESSION_INC = -I/usr/local/JASPER/include
保存后退出。
上面的lpng16估计因人而异,有的人是lpng12,自己灵活修改吧。
找到 preamble 文件,打开做如下修改:
WRF_DIR = /home/mode/WRFV3
保存后退出。
开始编译安装
cd WPS
./configure
如果出现Your Fortran + NETCDF did not run successfully.错误,估计就是你的netcdf没配置好了。回去修改。
过程中有选择,选择
1. Linux x86_64, gfortran (serial)
输入:1,回车
完成后输入:
./compile wps >&checkwps.log
./compile util >&checkutil.log
然后检查WPS文件夹下checkwps.log 和 checkutil.log是否有错误。
接着输入:
ls *.exe
出现geogrid.exe metgrid.exe ungrib.exe三个蓝色的可运行文件。
cd util
ls *.exe
出现好多可执行文件。
全部不是红色,WPS安装成功(如图)。
新增错误解决办法: 在运行WPS编译的时候,由于libpng库函数路径设置不当 当执行命令:./ungrib.exe >& ungrib_data.log后,ungrib_data.log文件会出现: ./ungrib.exe:error while loading shared libraries: libpng16.so.16: cannot open shared objectfile: No such file or directory 的错误。 经研究,应该更新库函数路径: 打开 /etc/ld.so.conf.d/ 的文件目录 新建一个文本文件: mkdirlibpng16.conf 这时,就会生成一个libpng16.conf的文件: geditlibpng16.conf 添加库函数路径语句: /usr/local/libpng/lib 如图:
保存后退出。 cd ldconfig 更新 /etc/ld.so.conf.d/ 目录的文件。然后问题解决。
以后遇到这类型问题,都可以按上述方法在 /etc/ld.so.conf.d/ 的文件目录下添加**.conf的文件,添加并更新文件路径,解决问题。
|