在ASC19的地球气候系统(CESM)环境配置中,安装时间和安装步骤最复杂的数学库必须是Netcdf库。楼主足足研究了五天。下面都是使用源码安装,因为优化CESM要比较不同版本的库。
NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”,对程序员来说,它和zip、jpeg、bmp文件格式类似,都是一种文件格式的标准。netcdf文件开始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的生成文件的格式。
注意:
1.netcdf4.2以上的版本c库和fortran库分开,要先安装netcdf-c,然后再安装netcdf-fortran。
2.要注意编译安装库时候的编译器要和你以后编译你的Fortran代码使用的编译器一致,否则以后在编译Fortran源代码其中用到netcdf库时会出错。
3.需要先安装szip zlib hdf5,解决软件依赖性问题
netcdf-c-4.4.1.tar.gz
https://github.com/Unidata/netcdf-c/releases/tag/v4.4.1
netcdf-fortran-4.4.4.tar.gz
https://github.com/Unidata/netcdf-fortran/releases/tag/v4.4.4
openmpi4.0(本节不介绍,详细信息在以下链接)
https://blog.csdn.net/weixin_41890971/article/details/86766492
szip-2.1.1.tar.gz
https://support.hdfgroup.org/doc_resource/SZIP/
zlib-1.2.11.tar.gz
http://www.zlib.net/
hdf5-1.10.4.tar.gz
https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.4/src/
1.解压 tar -zxvf zlib-1.2.11.tar.gz
2.配置安装信息
env \
CC="gcc -fPIC" \
CFLAGS="-O2" \
CXX="g++ -fPIC" \
CXXFLAGS="-O2" \
./configure \
–prefix=/home/CESM_Share/netcdf_intel \
--sharedlibdir=/home/liangziquan/intel/lib/intel64
可以使用 ./configure --help来查看选项。后面要用Intel编译器安装Netcdf,所以链接了Intel库。
3.编译. make
4.检查. make check
5.安装. make install
安装完成之后会在$netcdf_intel这个目录下生成三个文件lib include share
1.解压 tar -zxvf szip-2.1.1.tar.gz
2.配置安装信息.
env \
CC="gcc -fPIC" \
CFLAGS="-O2" \
CXX="g++ -fPIC" \
CXXFLAGS="-O2" \
./configure \
–prefix=/home/CESM_Share/netcdf_intel \
--sharedlibdir=/home/liangziquan/intel/lib/intel64
可以使用 ./configure --help来查看选项。
3.编译. make
4.检查. make check
5.安装. make install
使用netcdf-4特性需要hdf5来支持,这个特性支持2G以上的文件。
1.解压 tar -zxvf hdf5-1.10.4.tar.gz
2.配置安装信息.
env \
CFLAGS="-O3 -fPIC" \
CXXFLAGS="-O3 -fPIC" \
./configure \
–prefix=/home/CESM_Share/netcdf_intel \
--with-zlib=/home/CESM_Share/netcdf_intel \
--with-szlib=/home/CESM_Share/netcdf_intel
(–with-parallel,如果需要并行io支持,加上这参数)
3.编译 make
4.检查编译信息 make check
5.安装 make install
1.解压 tar -zxvf netcdf-4.4.1.tar.gz
2.配置安装信息
./configure \
CC=icc \
CXX=icpc \
FC=ifort \
F90=ifort \
F77=ifort \
CFLAGS="-g -O3 -fPIC" \
CXXFLAGS="-g -O3 -fPIC" \
CPPFLAGS=-I/home/CESM_Share/netcdf_intel/include \
LDFLAGS=-L/home/CESM_Share/netcdf_intel/lib \
--disable-dap \
–prefix=/home/CESM_Share/netcdf_intel
3.编译 make
4.编译信息检查 make check
5.安装 make install
1.告知库文件位置.终端中输入
export LD_LIBRARY_PATH=/home/CESM_Share/netcdf_intel/lib:$LD_LIBRARY_PATH
2.解压tar -zxvf netcdf-fortran-4.4.4.tar.gz
3.配置安装信息.
./configure \
CC=icc \
CXX=icpc \
FC=ifort \
F90=ifort \
F77=ifort \
CFLAGS="-g -O3 -fPIC" \
CXXFLAGS="-g -O3 -fPIC" \
CPPFLAGS=-I/home/CESM_Share/netcdf_intel/include \
LDFLAGS=-L/home/CESM_Share/netcdf_intel/lib \
--disable-dap \
–prefix=/home/CESM_Share/netcdf_intel
如果没有输入 --disable-dap的话,要预先安装curl。dap应该是用于远程数据处理相关的,这里不安装也行。
4.编译 make
5.检查 make check
6.安装 make install
1.终端中输入 vim ~/.bashrc 按i进入插入模式,输入如下信息
###############netcdf4.4_intel#########################
export NETCDF=/home/CESM_Share/netcdf_intel
export PATH=\$NETCDF/bin:$PATH
export LD_LIBRARY_PATH=\$NETCDF/lib:$LD_LIBRARY_PATH
export CPPFLAGS='-I/home/CESM_Share/netcdf_intel/include'
export LDFLAGS='-L/home/CESM_Share/netcdf_intel/lib'
输入完成保存退出(先按esc键,然后输入:wq保存退出)
2.重新登录,使环境变量生效;使用source也可以,但我选择exit。