前言
新的netcdf版本,将netcdf分为两部分:
netcdf-c
netcdf-fortran
最近,在学院服务器集群上尝试了netcdf4.2.1.1版本的编译过程,在此分享记录一下编译安装过程。
编译环境
根据学院集群安装的编译器,通过which 命令查看是否安装icc、ifort
如果成功安装,则需要将下面的代码需要提前写在根目录下的.bashrc
文件中
export CC=icc
export CXX=icpc
export FC=ifort
安装包
安装netcdf 需要有一些依赖的包,所以需要先提前准备
!需要注意的是!
不同版本的不同依赖的包,可能会导致netcdf编译的失败,下面给出经过我测试可以成功编译的各个包的版本
!
需要准备的安装包以及版本如下:
1) zlib-1.2.8
2) hdf5-1.8.9
3) netcdf-4.2.1.1
4) netcdf-fortran-4.2
下面几个是安装WRF需要的依赖
# 5) libpng-1.6.34
# 6) jasper-1.900.1
# 7) mpich-3.2
将上述几个安装文件上传到服务器上,下面进行编译过程:
编译
如图所示,我将在根目录下建立了一个名为Libraries
的文件夹,里面放了所有的压缩包:
/home/Libraries/
使用cd命令,切换到Libraries
文件夹下,进行各个包的编译过程
zlib
- 解压包
tar -zxvf zlib-1.2.8.tar.gz
- 切换路径到解压后的文件夹下:
cd zlib-1.2.8/
- 进行编译准备,通过prefix指定安装路径,以及文件夹名称:
./configure --prefix=/home/Libraries/zlib_1.2.8/
需要注意到是指定的安装路径的名称与解压的名称并不同:
- 解压后的路径是:
zlib-1.2.8/
- 指定安装的路径是:
zlib_1.2.8/
- 下面其他的编译过程同理
下面开始编译:
make > Make.log # The log files are useful for debugging if any compilation errors arise.
make check > Make_Check.log
make install > Make_Install.log
如果没有显示明显的报错的话表示编译成功!下面就进行其他包的安装编译:
HDF5
下面步骤类似,不再赘述
cd ..
tar -zxvf hdf5-1.8.9.tar.gz
cd hdf5-1.8.9/
./configure --with-zlib=/home/Libraries/Libraries/zlib_1.2.8/ --prefix=/home/Libraries/Libraries/hdf5_1.8.9/
make > Make.log
make check > Make_Check.log
make install > Make_Install.log
- 需要注意的是hdf5的
./configure、make、make check、make install
这几个过程比较就,可能好几分钟,需要耐心等待。 - 在
./configure、make、make check、make install
这几个步骤中,只要最后没有出现Error
,就表明成功,如果出现Error
则说明有问题,需要检测问题,重新运行这几个步骤!
LIBPNG
cd ..
tar -zxvf libpng-1.6.34.tar.gz
cd libpng-1.6.34/
./configure --prefix=/home/Libraries/libpng_1.6.34/
make > Make.log
make check > Make_Check.log
make install > Make_Install.log
NETCDF
cd ..
tar -zxvf netcdf-4.2.1.1.tar.gz
cd netcdf-4.2.1.1/
./configure --prefix=/home/Libraries/netcdf_4.2.1.1/ --enable-netcdf-4 --enable-largefile --disable-dap
make > Make.log
make check > Make_Check.log
make install > Make_Install.log
NETCDF-FORTRAN
cd ..
tar -zxvf netcdf-fortran-4.2.tar.gz
cd netcdf-fortran-4.2
./configure --prefix=/home/Libraries/netcdf_4.2.1.1/ --disable-fortran-type-check
make > Make.log
make check > Make_Check.log
make install > Make_Install.log
- 上述过程安装成功后,输入
- nc-config --all 命令,可以查看netcdf是否安装成功
JASPER
cd ..
tar -zxvf jasper-1.900.1.tar.gz
cd jasper-1.900.1/
./configure --prefix=/home/Libraries/jasper_1.900.1/
make > Make.log
make check > Make_Check.log
make install > Make_Install.log
MPICH
cd ..
tar -zxvf mpich-3.2.1.tar.gz
cd mpich-3.2.1/
./configure --prefix=/home/Libraries/mpich_3.2.1/
make > Make.log
make check > Make_Check.log
make install > Make_Install.log
- 这一步编译过程也比较长
配置环境变量
在netcdf安装完成后,为了在之后的WRF编译过程,使得WRF能够找到netcdf的位置,需要在.bashrc
中进行环境设置,这样每次登录服务器就能自动定位了。
在.bashrc
中加入以下代码:
## NETCDF
export NETCDF=/gpfs/home/xialu/Libraries/netcdf_4.2.1.1/
export PATH=$NETCDF/bin:$PATH
export LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH
## MPI
export MPI=/gpfs/home/xialu/Libraries/mpich_3.2.1/
export PATH=$MPI/bin:$PATH
export LD_LIBRARY_PATH=$MPI/lib:$LD_LIBRARY_PATH
## JASPER
export JASPERLIB=/gpfs/home/xialu/Libraries/jasper_1.900.1/lib/
export JASPERINC=/gpfs/home/xialu/Libraries/jasper_1.900.1/include/
## WRF
export WRFIO_NCD_LARGE_FILE_SUPPORT=1
ulimit -s unlimited
保存退出之后,使用source ~/.bashrc
命令,自此全部过程完成!
如果需要上述安装包的可以找我要哈~