我的工作环境是Sugon的RedHat服务器,其默认安装了Netcdf4.1.3。而GSI (Gridpoint Statistic Interpolation)-3.7需要Netcdf v4.2+。因此,这里分享一个我觉得最方便的安装Netcdf v4.2+的方法。(下载链接见文末)
![652eaaed46451e0e9b4eb2dcd60d5587.png](https://i-blog.csdnimg.cn/blog_migrate/c88bad1906ecfbed7d053c616946d941.jpeg)
其实为了安装Netcdf v4.2,我花了很多很多时间,但都失败了。主要原因就是每一个步骤都需要花一定的时间,时间一长,上一个安装套路自己设置了什么,很快就忘了,导致效率特别低下。而就算记下每一步的步骤,也依然很慢,效率低。
后来想到了一些辅助的办法(其实早就应该想到了),比如Docker。利用Docker,我都不需要为了安装GSI3.7而安装Netcdf v4.2+。GSI官网直接提供了Docker版的GSI以及安装方法。但是无奈,我只是一个普通用户,没有root权限,暂时无法享受到Docker带来的极大的便利。
同时,我又想到了我同所大牛董理老师开发的STARMAN包管理器。但是,无奈我是csh环境,而STARMAN好像不支持(待确认)。
就在即将崩溃之际,我在气象家园(大本营)看到了一个介绍哈佛大学GEOS-CHEM团队开发的安装zlib-hdf5-netcdf的脚本,我顿时就站起来了。
cd ~/software/harvard3
unzip geos-chem-libraries-master.zip
mkdir test1
cd geos-chem-libraries-master
make PREFIX=~/software/harvard3/test1
就这么简单一行代码,我美滋滋得等结果。然鹅,失败了。。
因为是很多年前开发的一键安装包,里面用到的zlib-1.2.6、hdf5-1.8.9、netcdf-4.3.2和netcdf-fortran-4.2相对版本较低。
所以,我打算把版本较新一些的zlib等替换进去。整个geos-chem-libraries-master文件结构相对简单,主目录下的src内就是上述安装包。我把zlib-1.2.8、hdf5-1.8.16、netcdf-4.4.1(后面试过netcdf-c-4.6.1,但是安装失败了)和netcdf-fortran-4.4.4替换进来。这时候要修改的不是主目录下install.sh,而是主目录/src/GNUmakefile。
进入GNUmakefile,进入如下修改
![d5cd1c6537dbb2e00b47faec4093ec34.png](https://i-blog.csdnimg.cn/blog_migrate/e0e478e4b1e9c004bd80534dbfefb79d.png)
特别注意,SHELL不要改成csh(即使你是csh或其他的话)。
还没完,还需要enable-shared(不然lib里没有libnetcdf.so等),即
![22216cf1db29e8575229d064d9f7fd3e.png](https://i-blog.csdnimg.cn/blog_migrate/c1559bf0f86e4d28f008378e9cb278f9.jpeg)
![88a8da4de8d0319d76a5ae299739fa79.png](https://i-blog.csdnimg.cn/blog_migrate/ad6a264ddb10a9c6d51c8db67bf54c74.jpeg)
按这么修改之后,即可完成zlib-hdf5-netcdf一键安装。
气象家园介绍哈佛大学开发的一键安装包网址:http://bbs.06climate.com/forum.php?mod=viewthread&tid=15197&extra=&page=1
哈佛大学一键安装包下载地址:https://github.com/geoschem/geos-chem-libraries