写这个文章,主要有两个目的:一个是自己备忘;另一个是分享. 方便自己也帮助他人.

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/7843352

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/

Netcdf4.4的安装过程(附netcdf4.1.3的安装过程)相关推荐

  1. xshell中文免费下载及安装 (内附xshell下载链接以及安装步骤)

    xshell  中文免费版     下载 百度云盘下载链接以及提取码 链接:https://pan.baidu.com/s/1zdkeB_F3-hW_GfiErgKLCg 提取码:i5ox xshel ...

  2. 达芬奇18 DaVinci Resolve Studio 18下载及安装讲解附资源包,win11安装达芬奇18

    DaVinci Resolve 18发布了更新,本次软件更新到 DaVinci Resolve Studio 18 版,增加了对 Blackmagic Cloud 工作流程以及 DaVinci Pro ...

  3. Win10中的ERDAS 9.2安装(附下载链接)

    Win10中的ERDAS 9.2安装(附下载链接) 前言 安装教程 前言 ERDAS和ENVI是著名的两大遥感影像处理软件.对于每一个遥感专业的同学来说,安装一款遥感影像处理软件是必需的. 话不多说, ...

  4. linux环境手动编译安装Nginx实践过程 附异常解决

    linux环境手动编译安装Nginx实践过程 附异常解决 参考文章: (1)linux环境手动编译安装Nginx实践过程 附异常解决 (2)https://www.cnblogs.com/david9 ...

  5. 【Linux】CentOS7下安装Ngnix代理服务器详细过程 附Linux 64位 Ngnix压缩包百度云盘分享

    [Linux]CentOS7下安装Ngnix代理服务器详细过程 附Linux 64位 Ngnix压缩包百度云盘分享 Ngnix基本概况 Nginx (读作"engine X") 由 ...

  6. Win11上Pytorch的安装并在Pycharm上调用PyTorch最新超详细过程并附详细的系统变量添加过程,可解决pycharm中pip不好使的问题

    网上资源越来越多,关于PyTorch的安装教程各式各样,下面我将详细介绍在安装过程中的操作步骤. 经过上述流程图的介绍我们心中对安装过程有了一个大致的轮廓.下面我将对每一步进行细致的说明 步骤Ⅰ:检查 ...

  7. python函数和模块有什么关键特性_零基础学python之函数与模块(附详细的代码和安装发布文件过程)...

    代码重用--函数与模块 摘要:构建函数,创建模块,安装发布文件,安装pytest和PEP 8插件,确认PEP8兼容性以及纠错 重用代码是构建一个可维护系统的关键. 代码组是Python中对块的叫法. ...

  8. python3.6爬虫环境安装要多少内存_Python3爬虫环境配置——解析库安装(附tesserocr安装方法)...

    Python3爬虫环境配置--解析库安装(附tesserocr安装方法) 抓取网页代码后,第二步就是提取信息,为了方便程序设计,这里不采用繁琐的正则提取,利用社区里强大的Python解析库,如lxml ...

  9. 阿里云免费SSL证书申请与安装使用-附Nginx,Apache,IIS 6,IIS 8配置SSL教程

    大家直接跳转吧:http://www.07net01.com/2017/01/1795676.html 也许是看到了Https是未来发展的大趋势,Symantec 和GeoTrust 两大SSL公司最 ...

最新文章

  1. php内核探索方法与资源
  2. 姗姗来迟的Serverless如何助力微服务和DevOps
  3. java学习笔记(五)----super用法,final用法,抽象类,接口
  4. OpenCV的支持向量机SVM的程序
  5. 哪些计算机p玩游戏,有了这个神器,你的电脑玩什么游戏都带得动
  6. 深入理解javascript原型和闭包(1)——一切都是对象
  7. 手把手教你报表工具PentahoBI安装和简单使用
  8. PAT L3-007 天梯地图
  9. python保存为excel文件_初级Python:在excel文件打开时保存它
  10. 数据结构排序3-堆排序
  11. android camera(6)---camera2 拍照流程
  12. 每周到岗上班3天,2天可在家办公!携程3+2工作模式来了
  13. modbus_tk与Modubs Slave结合使用
  14. 浅谈C# XML WebServer数据序列化及数据压缩
  15. 已添加了具有相同键的项_减糖的另一种创新方案:不被计算为“添加糖”的水果泥...
  16. armv6, armv7, armv7s的区别
  17. matlab在图像两点连线,matlab画图,画出任意两点间的连线图,请高人帮忙呀,谢谢!谢谢!...
  18. V-REP仿真简介与用户界面 | Introduction to V-REP simulation and user interface
  19. 基于机会网络环境模拟器的命名数据容迟网络的设计与实现
  20. 【计算机网络】网络安全 : 数字签名 ( 数字签名简介 | 数字签名实现 | 数字签名功能 | 保密数字签名 )

热门文章

  1. SDUT 2021 Spring Individual Contest(for 20) - 1
  2. A - DZY Loves Sequences
  3. 拼车小程序的市场应用与外包开发的建议
  4. 【ArcGIS微课1000例】0052:创建地理数据库注记(标准注记、要素关联注记、尺寸注记)
  5. 系统之美 作者:德内拉梅多斯
  6. 论文阅读笔记《Siamese Convolutional Neural Network for Camera Pose Estimation and Visual Servoing》
  7. 如何让游戏讲一个好故事?
  8. 趣味计算:加油站加油
  9. 工程文件参考——CubeMX+STM32F4+FreeRTOS+IIC实现JY901通讯
  10. XMPP协议的工作原理