中科院超级计算青岛分中心NETCDF4安装手册

软件名称: 
NETCDF4
安装目录: 
/public/soft/netcdf-4
软件介绍: 

NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”,对程序员来说,它和zip、jpeg、bmp文件格式类似,都是一种文件格式的标准。netcdf文件开 始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的生成文件的格式。

HDF5是用于存储科学数据的一种文件格式和库文件。它被设计并实现满足科学数据存储不断增加和数据处理不断变化的需求,为了充分利用当今计算机系 统的能力和特点,克服HDF4.x的不足。HDF5有一个强大和灵活的数据模块,支持管理文件大于2GB(HDF4.x管理文件的极限),并且还支持并行 I/O.
用户需求:杨德周老师需要使用更高版本的netcdf,故需安装Netcdf4.1.3

目的:1.Netcdf4支持写超过2G的Netcdf文件,可以把文件写到很大比如10G,而Netcdf3(系统中已安装的版本)就只能写2G以内的数据文件最大不会超过4G,现在随着精度的提高,文件越来越大,早晚需要Netcdf4。2.使用HDF5的压缩功能。

使用用户: 

杨德州,尹宝树课题组(环流室)

联系方式:电话:82898931,邮箱:yangdezhou@qdio.ac.cn

安装步骤: 

1. 下载netcdf-4.1.3.tar,zlib-1.2.5.tar,hdf5-1.8.7.tar

2. 解压:tar -xvf netcdf-4.1.3.tar,tar -xvf zlib-1.2.5.tar,hdf5-1.8.7.tar

3. 进入 zlib-1.2.5/目录下进行编译:

  ./configure --prefix=/public/home/zhaozengfang/netcdf-4/local/,然后make check && make install

4. 进入hdf5-1.8.7/目录下进行编译:

   ./configure --with-zlib=/public/home/zhaozengfang/netcdf-4/local/ --prefix=/public/home/zhaozengfang/netcdf-4/local/ --enable-shared,然后make check && make install

5. 进入netcdf-4.1.3/目录下进行编译:

CPPFLAGS=-I/public/home/zhaozengfang/netcdf-4/local/include LDFLAGS=-L/public/home/zhaozengfang/netcdf-4/local/lib ./configure --enable-netcdf-4 -with-hdf5=/public/home/zhaozengfang/netcdf-4/local/ --with-zlib=/public/home/zhaozengfang/netcdf-4/local/ -enable-large-file-tests --enable-shared CC=pgcc CXX=pgCC FC=pgf90 --prefix=/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-pgi/,CPPFLAGS=- DpgiFortran,然后make check && make install

6. 修改.bashrc文件:

export NETCDF=/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-pgi
 export PATH=/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-pgi/bin:$PATH
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDF/lib

export HDF5_DIR=/public/home/zhaozengfang/netcdf-4/local
 export PATH=$HDF5_DIR/bin:$PATH
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HDF5_DIR/lib

然后source .bashrc

7. 测试:

netcdf-4.1.3-pgi是用pgi编译的并安装成功的,在测试编译netcdf-4文件夹下面的test_prog.c文件时,用命令:

pgcc -c -I/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-pgi/include/ test_prog.c 生成test_prog.o,然后

pgcc -o test test_prog.o -L/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-pgi/lib/ -lnetcdf,生成可执行文件test,最后 ./test 便得到运行结果;

如果是 .f 文件或 .f90 文件,编译命令为:

pgf90 -c -I/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-pgi/include/ test_prog.f90,然后 pgf90 -o test test_prog.o -L/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-pgi/lib/ -lnetcdff

 

  如果用pgi编译安装完netcdf后再用intel编译的话,一定要rm -rf netcdf-4.1.3,然后重新解压 tar -xvf netcdf-4.1.3.tar,否则会在make check时报错,受pgi编译器影响,报没有pgf90_stop等相关错误。

用intel编译安装netcdf步骤如下:

   继上面第4步之后,

5*.进入netcdf-4.1.3/目录下进行编译:

CPPFLAGS=-I/public/home/zhaozengfang/netcdf-4/local/include LDFLAGS=-L/public/home/zhaozengfang/netcdf-4/local/lib ./configure --enable-netcdf-4 -with-hdf5=/public/home/zhaozengfang/netcdf-4/local/ --with-zlib=/public/home/zhaozengfang/netcdf-4/local/ -enable-large-file-tests --enable-shared CC=icc CXX=icpc FC=ifort F90=ifort F77=ifort --prefix=/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/,然后make check && make install

安装成功后可以利用nc-config --all来查看include和lib的路径,即:zhaozengfang@node83:~/netcdf-4/netcdf-4.1.3-intel/bin> ./nc-config --all

This netCDF 4.1.3 has been built with the following features:

  --cc        -> icc

  --cflags -> -I/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/include -I/public/home/zhaozengfang/netcdf-4/local/include

  --libs      -> -L/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/lib -lnetcdf

  --cxx       -> icpc

  --has-c++   -> yes

  --fc        -> ifort

  --fflags    -> -g -I/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/include

  --flibs  -> -L/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/lib -lnetcdff -lnetcdf

  --has-f77   -> yes

  --has-f90   -> yes

  --has-dap   -> no

  --has-nc2   -> yes

  --has-nc4   -> yes

  --has-hdf5  -> yes

  --has-hdf4  -> no

  --has-pnetcdf-> no

  --has-szlib ->

  --prefix    -> /public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel

  --includedir-> /public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/include

  --version   -> netCDF 4.1.3

6*. 修改.bashrc文件:

export NETCDF=/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel
 export PATH=/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/bin:$PATH
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NETCDF/lib

export HDF5_DIR=/public/home/zhaozengfang/netcdf-4/local
 export PATH=$HDF5_DIR/bin:$PATH
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HDF5_DIR/lib

然后source .bashrc

7*. 测试:

netcdf-4.1.3-intel是用intel编译的并安装成功的,在测试编译netcdf-4文件夹下面的test_prog.c文件时,用命令:

icc -c -I/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/include/ test_prog.c 生成test_prog.o,然后

icc -o test test_prog.o -L/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/lib/ -lnetcdf,生成可执行文件test,最后 ./test 如果得到运行结果如下所示便说明安装成功:

zhaozengfang@node83:~/netcdf-4>  ./test

NetCDF version: 4.1.3 of Nov 24 2011 22:44:04 $

*** SUCCESS!

如果是 .f 文件或 .f90 文件,编译命令为:

ifort -c -I/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/include/ test_prog.f90,然后 ifort -o test test_prog.o -L/public/home/zhaozengfang/netcdf-4/netcdf-4.1.3-intel/lib/ -lnetcdff

 

NETCDF4已安装在系统目录下:/public/soft/netcdf-4/,用户可直接将此路径设置在自己的环境变量中。