由于科研需要,我用到的是CMIP6数据,需要对数据进行合并、插值等操作,用到的模式很多,在python上处理不太方便,所以就用cdo来处理
我的数据是在windows磁盘目录下面,而CDO这个软件目前只支持linux系统,所以,问题就来了,我就想一边访问windows磁盘目录,一边调用CDO来处理windows里面的数据
我在好几个平台都装了CDO:
1.在Windows下面的ubuntu子系统下面先装了anaconda,再用pip install cdo,发现这个只是python里的一个库,并不能独立地调用,所以尝试在ubuntu里面直接装CDO
2.Windows子系统下的ubuntu直接装CDO,出现以下的问题,按照网上的教程,换ubuntu镜像源,换成
阿里云:http://mirrors.aliyun/pypi/simple/,再sudo apt-get update还是出现问题
也尝试改写nameserver 8.8.8.8,也没用,就放弃掉
3.在大型机上装CDO,也就是Linux服务器,Linux的命令行界面就相当于Linux终端,和服务器不是一回事,在服务器上装的CDO在ubuntu上并不能调用,就放弃掉
sudo apt-get Install cdo ,这个直接一行代码就装好了,如果没有sudo权限的话,按照网上的教程也解决不了,就是这个权限被超级管理员禁了,可以先在linux服务器上安装anaconda 再安装CDO,步骤如下:
①wget https://mirrors.tuna.tsinghua.edu/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh
②bash Anaconda3-2021.11-Linux-x86_64.sh
③echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc
出现这个错误的话,说明 anaconda配置环境变量没有配置,需要手动配置
第③步是为anaconda配置环境变量,注意:在linux服务器就算CDO是独立安装的,但是它只能处理服务器上的数据,如果要访问windows磁盘的话,需要将windows磁盘映射到linux服务器,学校的大型机账号这个权限是被禁了的,除非是自己的linux服务器,自己的弄起来也特别地麻烦
4.敲重点,在cygwin上安装CDO(能正常使用)
Cygwinhttps://www.cygwin/cygwin是一款在Windows系统上模拟Linux环境的软件,可免费获取, 我下载的是这个setup-x86_64.exe,这个安装踩了好多坑,如果要用CDO这个软件就要一起安装它的一些依赖包,不然安装完成以后,CDO无法使用
①:CDO的依赖包如下
以netcdf为例,libnetcdf-devel要勾选,devel是cygwin的一个核心,还有些包出现zlib-debuginfo,debuginfo也要勾选,由于反复卸载安装心情很烦,我就建议除了版本不同的选一个以外,其它东西都勾选上,不然可能不能用,选择好库以后就可以点击下一页,最后对话框,下面第二个框可以步勾选,第一个勾选就可以,装好自动出现在桌面上
接下来就是进入Windows磁盘,调用cdo
注意,跟ubuntu不一样,ubuntu进入windows磁盘目录是用 cd /mnt/f/pc/tc,是因为windows磁盘目录挂载到了linux系统下的mnt目录,而windows磁盘目录挂载到cygwin的是在cygdrive这个目录下面,进入到操作的文件所在目录以后, cdo sinfo ×××.nc,就可以查看×××.nc文件的信息的, cdo的操作命令跟ubuntu一样的,可以参考CDO Users guide
由于科研需要,我用到的是CMIP6数据,需要对数据进行合并、插值等操作,用到的模式很多,在python上处理不太方便,所以就用cdo来处理
我的数据是在windows磁盘目录下面,而CDO这个软件目前只支持linux系统,所以,问题就来了,我就想一边访问windows磁盘目录,一边调用CDO来处理windows里面的数据
我在好几个平台都装了CDO:
1.在Windows下面的ubuntu子系统下面先装了anaconda,再用pip install cdo,发现这个只是python里的一个库,并不能独立地调用,所以尝试在ubuntu里面直接装CDO
2.Windows子系统下的ubuntu直接装CDO,出现以下的问题,按照网上的教程,换ubuntu镜像源,换成
阿里云:http://mirrors.aliyun/pypi/simple/,再sudo apt-get update还是出现问题
也尝试改写nameserver 8.8.8.8,也没用,就放弃掉
3.在大型机上装CDO,也就是Linux服务器,Linux的命令行界面就相当于Linux终端,和服务器不是一回事,在服务器上装的CDO在ubuntu上并不能调用,就放弃掉
sudo apt-get Install cdo ,这个直接一行代码就装好了,如果没有sudo权限的话,按照网上的教程也解决不了,就是这个权限被超级管理员禁了,可以先在linux服务器上安装anaconda 再安装CDO,步骤如下:
①wget https://mirrors.tuna.tsinghua.edu/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh
②bash Anaconda3-2021.11-Linux-x86_64.sh
③echo 'export PATH="~/anaconda3/bin:$PATH"' >> ~/.bashrc
出现这个错误的话,说明 anaconda配置环境变量没有配置,需要手动配置
第③步是为anaconda配置环境变量,注意:在linux服务器就算CDO是独立安装的,但是它只能处理服务器上的数据,如果要访问windows磁盘的话,需要将windows磁盘映射到linux服务器,学校的大型机账号这个权限是被禁了的,除非是自己的linux服务器,自己的弄起来也特别地麻烦
4.敲重点,在cygwin上安装CDO(能正常使用)
Cygwinhttps://www.cygwin/cygwin是一款在Windows系统上模拟Linux环境的软件,可免费获取, 我下载的是这个setup-x86_64.exe,这个安装踩了好多坑,如果要用CDO这个软件就要一起安装它的一些依赖包,不然安装完成以后,CDO无法使用
①:CDO的依赖包如下
以netcdf为例,libnetcdf-devel要勾选,devel是cygwin的一个核心,还有些包出现zlib-debuginfo,debuginfo也要勾选,由于反复卸载安装心情很烦,我就建议除了版本不同的选一个以外,其它东西都勾选上,不然可能不能用,选择好库以后就可以点击下一页,最后对话框,下面第二个框可以步勾选,第一个勾选就可以,装好自动出现在桌面上
接下来就是进入Windows磁盘,调用cdo
注意,跟ubuntu不一样,ubuntu进入windows磁盘目录是用 cd /mnt/f/pc/tc,是因为windows磁盘目录挂载到了linux系统下的mnt目录,而windows磁盘目录挂载到cygwin的是在cygdrive这个目录下面,进入到操作的文件所在目录以后, cdo sinfo ×××.nc,就可以查看×××.nc文件的信息的, cdo的操作命令跟ubuntu一样的,可以参考CDO Users guide