CDO(Climate Data Operator)系列之安装

以下方式针对未联网设备:(文末方式为可联网设备)

2019年11月3日~2019年11月5日 我尝试安装CDO(Climate Data Operator)七八次未果,记录此贴,以降低此小众软件的网络检索难度。

失败情况汇总:
1.win10cmd和cgywin64:
分别安装最新和最旧(32位)的cdo。设置环境变量后,最新的安装后没反应,最旧的安装后有反应。在接下来对.nc文件的操作中,显示不支持格式。于是安装相应格式的包,但还是不行。
32位的有反应
在这里插入图片描述
2.win10的linux子系统:
在这里压根就不给我安装的机会了,各种 ./configure 编译后的错误,百度一个个解决,到最后百度不到了或者我改不动了……来自linux小白的无力……(此贴发帖后半年内,再次尝试子系统安装,估计是微软商城做了些子系统优化,最后顺利完成了,推荐在子系统上搞,对windows用户来说挺方便)
成功情况汇总:
1.使用python。anaconda上面没有搜到cdo包,但在官网上有,原因不言而喻。所以需要从官网找命令下载https://pypi.org/search/?q=cdo
2.使用虚拟机(Ubuntu)进行接下来的操作。

一、首先明确一下要安装什么软件(包):zlib、curl、hdf5、netcdf、jasper、grib、cdo
大多数linux都自带curl,我的也不例外,但是我的电脑如果跳过手动编译安装curl的这一步时,后面软件包将无法安装。
换句话说,我严格按照上面的安装顺序最后才安装成功了……(心累)

二、获取安装包
这边是我下载的
https://download.csdn.net/download/qq_43166192/11964533

三、安装步骤(解压编译安装)
1.zlib
tar -zxf 包全名(例如 zlib-1.2.11.tar.gz )
cd 包全名
./configure -prefix=/usr/local
make
make install

2.curl
tar -zxf 包全名
cd 包全名
./configure -prefix=/usr/local
make
make install

3.hdf5
tar -zxf 包全名
cd 包全名
./configure -with-zlib=/usr/local -prefix=/usr/local -enable-curl
make
make install

4.netcdf
tar -zxf 包全名
cd 包全名
LDFLAGS=-L/usr/local/lib CPPFLAGS=-I/usr/local/include ./configure --enable-netcdf-4 --enable-dap --enable-shared --prefix=/usr/local --with-curl=/usr/local
make
make install

5.jasper
tar -zxf 包全名
cd 包全名
./configure --prefix=/usr/local CFLAGS=-fPIC
make
make install

6.grib
tar -zxf 包全名
cd 包全名
./configure --prefix=/usr/local CFLAGS=-fPIC -with-netcdf=/usr/local -with-jasper=/usr/local
make
make install

7.cdo
tar -zxf 包全名
cd 包全名
./configure --prefix=/usr/local CFLAGS=-fPIC --with-netcdf=/usr/local -with-jasper=/usr/local --with-hdf5=/usr/local -with-grib_api=/usr/local
make
make install

四、其余情况
1.将上面全部操作结束后,在终端输入 cdo,若显示 cdo 的版本信息,那么恭喜你,cdo安装成功,如果显示类似“error while loading shared libraries: libgrib_api.so.1: cannot open shared object file: No such file or directory”,不要慌,问题不大。
so文件类似于windows的dll,他会被存放在/usr/local/lib目录下。
操作:
vim /etc/ld.so.conf 或者 gedit /etc/ld.so.conf
在 include……的下一行加入 /usr/local/lib
保存后退出 在终端输入 ldconfig 更新配置
这样就ok了

2.以上步骤,若有步骤无法正常运行,但不报错,那就在相应的语句前加 sudo,若报错,检查相关语句是否输入错误或者缺少相关依赖包

以上这个方法可以用在linux和unix,理论上直接用在windows的linux子系统应该也可以,具体我没有尝试,心累啊,不想再搞了。
最后,感谢室友陈老哥的linux技术支持和君子-乐胥大佬的资源(http://blog.sina.com.cn/s/blog_1917425780102y15z.html)

2020年5月18日更新:
后台收到君子-乐胥大佬的私信,大家可以尝试下面截图中的方法。再次感谢~~
CDO(Climate Data Operator)系列之安装_第1张图片
服务器没有sudo权限,我直接使用 pip install cdo 安装

2020年10月11日更新:
又装了一次CDO,报错:cdo: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
解决方法:sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5

新人用了这么久CDO,是真的好用,然而他对五维及以上维度无法处理,这就很心酸了,python党可以手动找经纬度,NCL大佬自有解决途径。

你可能感兴趣的:(气象,cdo,气象)