摘要: 最近,有幸再次编译了wrf(感谢同门兼舍友sj的陪伴),过程中仍然遇到很多问题,总结一下。 编译器 全新安装的ubuntu11.04可能会缺少g++,gfortran和m4编译器,需要安装。 编译安装netcdf 为了使netcdf支持hdf5,另外编译安装...
最近,有幸再次编译了wrf(感谢同门兼舍友sj的陪伴),过程中仍然遇到很多问题,总结一下。
- 编译器 全新安装的ubuntu11.04可能会缺少g++,gfortran和m4编译器,需要安装。
- 编译安装netcdf 为了使netcdf支持hdf5,另外编译安装了zlib和hdf5,按照netcdf源码包中的install文档操作即可。过程中 ,可能会遇到缺少curl或curl-config,sudo apt-get install libcurl4-openssl-dev就好。
- 编译wrf 首先要修改一下configure文件。用gedit打开后,ctrl+f搜索“foo_ ”,会找到包含“mktemp”的行,改为foo=foo_ $$,或者foo ='mktemp foo_ $$.XXXXXX',后面的X个数不少于3个就好。若忽略此步骤,configure时不但会出现“foo 缺少X”之类的错误,WRFV3下的一些文件还会消失,只得重新解包。另外,设置环境变量WRFIO_ NCD _ LARGE _ FILE _ SUPPORT=1,避免configure最后出现的提示。
- 安装ncarg 这里直接采用编译好的ncarg,并设置好相关环境变量。
- 编译安装jasper和png 本来支持grib2的wps需要的库有3个,jasper,zlib和png,但在编译netcdf已经编译安装了zlib,另外两个的编译安装较为简单。
- 编译wps 首先运行configure,会出来一个名为configure.wps的文件,用gedit打开。找到COMPRESSION_LIBS和COMPRESSION_ INC设置部分,这里是要分别指定jasper、png和zlib的库和头文件的位置,根据安装的具体情况进行修改。NCARG_LIBS中 -lX11前的路径可能也需要设定,可以通过sudo find / -name libX11.so*找到具体位置。如果该共享库以比如libX11.so.6的形式存在,需用ln -s做个libX11.so.6的符号链接libX11.so即可。 补充:
- 如果缺少m4,编译wrf时会提示找不到netcdf.h。
- jasper、zlib和png的安装位置最好相同,可以在各自的configure时通过--prefix制定,这样会方便指定COMPRESSION_LIBS和COMPRESSION_INC。
- wps的编译过程会有几个被忽略的错误,提示找不到libw3.a和libg2_4.a,这是WPS/ungrib/src/ngl中Makefile中的相对路径问题,用gedit打开该Makefile,将两个"$(RANLIB)"后面的路径中的"w3/"和"g2/"去掉。