CESM优化——Intel编译器编译安装NetCDF库(C+Fortran)
文章目录
- 安装包链接(也是我当前使用的版本):
- 一、安装zlib
- 二、安装szip
- 三、安装hdf5
- 四、安装netcdf-c
- 五、安装netcdf-fortran
- 六、配置环境变量
在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/
一、安装zlib
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
二、安装szip
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
三、安装hdf5
使用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
四、安装netcdf-c
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
五、安装netcdf-fortran
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。
CESM优化——Intel编译器编译安装NetCDF库(C+Fortran)相关推荐
- mysql netcdf_Linux下用Intel编译器编译安装NetCDF-Fortan库(4.2以后版本)
本来这个问题真的没必要写的,可是真的困扰我太久%>_ 首先,最权威清晰的安装文档还是官方的: 那这个文档最开始就告诉我们,自NetCDF库4.2版本以后,Fortran的库和C的库就要分开bui ...
- Intelnbsp;Fortran安装netcdf库amp;n…
一直头痛于win7下的compaq fortran兼容性问题,安装intel fortran 10.1 + vs2008,接下来遇到了,compaq fortran 安装netcdf库的方法,无 ...
- php5.6.30环境报错Call to undefined function ImageCreate() 编译安装 gd库
php5.6.30环境报错Call to undefined function ImageCreate() 编译安装 gd库发现php5.6.30没有加载gd库[root@cn_vs_web04:/u ...
- 烂泥:centos单独编译安装gd库
本文首发于烂泥行天下. 这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没有安装gd库.如下: 目 ...
- linux如何编译boost指定库,linux下编译安装boost库
linux下编译安装boost库 先看一下系统环境 Linux o-pc 3.19.0-22-generic #22-Ubuntu SMP Tue Jun 16 17:15:15 UTC 2015 x ...
- linux编译pcre生成动态链接库,Linux下编译安装PCRE库
最近在学习nginx,nginx rewrite依赖于PCRE库,所以需要在linux系统中编译安装PCRE库.具体步骤如下: 1.下载PCRE包 首先去官网下载pcre的安装包 如果通过FTP的方式 ...
- centos php gd库,Centos 编译安装GD库
详细编译安装GD库整个过程,让php对更多图形方面gif jpg(jpeg) png wbmp xml 和 ttf字体 的支持. 我先启动CentOS5.3 Linux 可以说如果要配置一台LAMP服 ...
- CentOS7下编译安装libmodbus库
CentOS7下编译安装libmodbus库 下载libdmodbus源代码 编译安装lidmodbus 测试 参考资料 下载libdmodbus源代码 libmodbus官网下载页面如下图所示: 可 ...
- Qt5 Windows10编译安装QtXlsx库
Qt5 Windows10编译安装QtXlsx库 大家都知道QtXlsx无需依赖office办公组件,大体的说就是针对Excel表格处理包括读.写等功能,这里主要演示QtXlsx库的编译和安装. 一. ...
- linux检查是否安装proc编译器,编译安装 GCC 4.9并验证使用
编译安装 GCC 4.9并验证使用 1. 准备环境(GCC 编译器) CentOS 6.3 cat /proc/version Linux version 2.6.32-279.el6.x86_64 ...
最新文章
- 学习RPG Maker MZ开发创建并发布PC和移动端游戏
- 指针应用-----链表二
- HTTP请求常见状态码
- dart语法中list相关详解
- 用pytorch及numpy计算成对余弦相似性矩阵,并用numpy实现kmeans聚类
- 有抱负/初级开发人员的良好习惯-避免使用的习惯
- 设计师交流平台!!!
- opencv打开的图片应用于nn.Conv2d()(一)(H, W, C)转为 (C, H, W)
- junit测试给定默认的jvm参数
- 不规则形状 前端_精度提升第一步:形状各异测区的像控点布设方案
- js日历控件源代码下载
- 虚拟机安装MAC-OS系统开发非常卡。使用beamoff.zip优化教程
- vscode格式化代码快捷键
- 算法分析与设计(NPC问题)
- [软件更新]LeadBBS 6.0正式发布(更新日志和下载)
- 常见编程错误及解决方法,避免踩雷
- 微信小程序怎么实现防止截屏
- 风云编程python基础语法(6)
- 你看到的是乱,我看到的是月亮,如是而已。
- zeppelin源码分析(1)——编译、调试和maven modules分析