XiZi's Blog
Build NetCDF For C,C++,Fortran interface with intel comilers
由于版本的变化,导致了NetCDF的一些变化。因此,此过程仅适用于NetCDF的版本为4.1.3(估计适用于3.6.3-4.1.3),但不适用于后来的4.2版本。
1、解压源程序包,修改configure文件
--- netcdf-4.1.3/configure 2011-07-01 07:22:45.000000000 +0800 +++ netcdf-4.1.3n/configure 2013-04-19 05:39:43.029982048 +0800 @@ -24472,7 +24472,7 @@ call sub() end EOF - doit='$FC -c ${FFLAGS} conftest.f' + doit='$FC -c conftest.f' if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$doit\""; } >&5 (eval $doit) 2>&5 ac_status=$?
2、configure and install
./configure --disable-netcdf-4 --disable-dap --prefix=/opt/netcdf \ CPP='icc -E' CXXCPP='icpc -E' CC=icc CXX=icpc FC=ifort F90=ifort F77=ifort \ CFLAGS="-fast -w" CXXFLAGS="-fast -w" FFLAGS="-fast -w" LD=ifort \ LFLAGS="-fast -w" AR=xiar CPPFLAGS='-DNDEBUG -DINTEL_COMPILER' make install
PS: 如果在Centos下configure失败,请安装依赖库。
yum install glibc-devel glibc-headers glibc-static
为FVCOM2.7.1启用SEMI_IMPLICIT
对于FVCOM2.7.1 其使用的PETSC版本应该是2.3.3(副版本好变,目前最新的是这个),使用这个版本你可以不用修改FVCOM的源代码
其次,PETSC需要开启Hypre的支持,configure的使用需要--with-hypre=1 --with-hypre-dir=/hypre/install/dir
最新的库可以从官方网站下载:
PETSC:http://www.mcs.anl.gov/petsc/download/index.html
HYPRE:http://acts.nersc.gov/hypre/
你可以可以使用PETSC的3.0版本,但需要适当的修改一下makefile和mod_petsc.F和(省略)的源代码修正include的目标文件夹。
程序库的编译,如果您的已经安装了mpi,和intel compiler (会带mkl库),推荐不要给定其他configure参数。