写这个文章,主要有两个目的:一个是自己备忘;另一个是分享. 方便自己也帮助他人.
NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”,对程序员来说,它和zip、jpeg、bmp文件格式类似,都是一种文件格式的标准。netcdf文件开始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的生成文件的格式。
注:netcdf4.2以上的版本c库和fortran库分开,要先安装netcdf-c,然后再安装netcdf-fortran
平台:centos6.9
安装步骤:
(1)编译环境的设置:
终端中输入如下语句:本人使用intel的编译器来编译,其他编译器(如PGI,GNU)对应修改。
export CC=icc
export CXX=icpc
export FC=ifort
export F90=ifort
export F77=ifort
安装之前的说明:
1. 由于安装netcdf4需要zlib和hdf5,我们将把这些安装在同一个目录下,方便后面的环境变量配置.
2. 安装使用的是root用户,如果读者用户没有root权限,可以使用sudo来提升权限。
(2)安装zlib(应该是用于数据压缩,szip安装同zlib)
1.下载地址:ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/
2.解压 tar -zxvf zlib-1.2.8.tar.gz
3.配置安装信息. ./configure –prefix=/usr/local/netcdf4-needed
其中可以使用 ./configure–help来查看可以使用那些选项。这里选择默认选项安装。
4.编译. make
5. 检查. make check
6.安装. make install
安装完成之后会在/usr/local/netcdf4-needed这个目录下生成三个文件lib include share
(3)安装hdf5
hdf5是为了使用netcdf-4特性,这个特性需要hdf5来支持,这个特性支持2G以上的文件。
1.下载地址:ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4/
2.解压 tar -zxvf hdf5-1.8.13.tar.gz
3.配置安装信息. ./configure –prefix=/usr/local/netcdf4-needed –with-zlib=/usr/local/netcdf4-needed/
4.编译 make
5. 检查编译信息 make check
6. 安装 make install
安装完成后,会被安装进 /usr/local/netcdf4-needed目录下的四个文件lib include share bin 中.
(4)安装netcdf-c
1. 下载地址 ftp://ftp.unidata.ucar.edu/pub/netcdf/old/
2. 解压 tar -zxvf netcdf-4.3.2.tar.gz
3.配置安装信息 CPPFLAGS=-I/usr/local/netcdf4-needed/include LDFLAGS=-L/usr/local/netcdf4-needed/lib ./configure –prefix=/usr/local/netcdf4-needed –disable-dap
关于CPPFLAGS和LDFLAGS的用法参考这篇文章:https://blog.csdn.net/tuhuolong/article/details/
4.编译 make
5.编译信息检查 make check
6.安装 make install
(5)安装netcdf-fortran
1.告知库文件位置.终端中输入 export LD_LIBRARY_PATH=/usr/local/netcdf4-needed/lib:$LD_LIBRARY_PATH
2. 解压tar -zxvf netcdf-fortran-4.4.0.tar.gz
3.配置安装信息. CPPFLAGS=-I/usr/local/netcdf4-needed/include LDFLAGS=-L/usr/local/netcdf4-needed/lib ./configure –prefix=/usr/local/netcdf4-needed
注意:此处如果没有输入 –disable-dap的话,要预先安装curl. dap应该是用于远程数据处理相关的,这里不安装也行。
4.编译 make
5.编译信息检查 make check
6.安装 make install
(6)配置环境变量
1.终端中输入 vim ~/.bashrc 按i进入插入模式,输入如下信息
#netcdf4.4
export NETCDF=/usr/local/netcdf4-needed
export PATH=$NETCDF/bin:$PATH
export LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH
export CPPFLAGS=’-I/usr/local/netcdf4-needed/include’
export LDFLAGS=’-L/usr/local/netcdf4-needed/lib’
输入完成保存退出(先按esc键,然后输入:wq保存退出)
2.使环境变量生效
终端中输入 source ~/.bashrc
(7)查看安装了那些组件
[hxz@hxz~]$ nc-config –all
ThisnetCDF 4.3.2 has been built with the following features:
–cc -> icc
–cflags -> -I/usr/local/netcdf4-needed/include-I/usr/local/netcdf4-needed/include
–libs -> -L/usr/local/netcdf4-needed/lib -lnetcdf
–has-c++ -> no
–cxx ->
–has-c++4 -> no
–cxx4 ->
–fc -> ifort
–fflags -> -I/usr/local/netcdf4-needed/include
–flibs -> -L/usr/local/netcdf4-needed/lib -lnetcdff-L/usr/local/netcdf4-needed/lib -lnetcdf -lnetcdf
–has-f90 -> no
–has-dap -> no
–has-nc2 -> yes
–has-nc4 -> yes
–has-hdf5 -> yes
–has-hdf4 -> no
–has-pnetcdf->no
–prefix -> /usr/local/netcdf4-needed
–includedir->/usr/local/netcdf4-needed/include
–version -> netCDF 4.3.2
[hxz@hxz~]$ nf-config –all
ThisnetCDF-Fortran 4.4.0 has been built with the following features:
–cc -> icc
–cflags -> -I/usr/local/netcdf4-needed/include-I/usr/local/netcdf4-needed/include
–fc -> ifort
–fflags -> -I/usr/local/netcdf4-needed/include
–flibs -> -L/usr/local/netcdf4-needed/lib -lnetcdff-L/usr/local/netcdf4-needed/lib -lnetcdf -lnetcdf
–has-f90 -> no
–has-f03 -> yes
–has-nc2 -> yes
–has-nc4 -> yes
–prefix -> /usr/local/netcdf4-needed
–includedir->/usr/local/netcdf4-needed/include
–version -> netCDF-Fortran 4.4.0
补充:这里我没有安装curl,所以就没有选择dap组件。如果需要dap组件,可以先安装curl,然后在安装netcdf-fortran的时候不要输入–disable-dap.但是可能在安装curl的过程中make check之后可能会出现一个错误,虽然不影响最后的安装,但是对于强迫症的人群这个是受不了的。具体看着办把。。。
附录:netcdf4.1.3安装的简单说明。
其实,其他版本的netcdf的安装思路都是差不多的,出现问题主要还是编译环境或者相关库文件的设置不合理导致的。
zlib,hdf5同上,因为netcdf4.1.3版本的c库和fortran库是合并在一起的,所以安装就少了上面netcdf-fortran安装这一步。其他的环境变量配置等同上。
CPPFLAGS=-I/usr/local/netcdf4-needed/include LDFLAGS=-L/usr/local/netcdf4-needed/lib ./configure –prefix=/usr/local/netcdf4-needed/
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204307.html原文链接:https://javaforall.net
