CDO在处理气候及模式数据方面有着非常强大的功能,而且其中包含有一些简单的统计和计算函数,数据选择以及空间差值函数。支持常见的气象数据格式,比如GRIB,NetCDF等。
CDO有超过700个可用的数据操作,易于扩展,并且可以如Linux中的管道操作一样直接执行多个操作,而无需产生中间文件,从而省却很多不必要的磁盘空间。除此之外,大部分操作都支持缺省值处理,而且处理大数据集也相对容易。
说了这么多好处,最好的是可以利用Cygwin在windows上安装CDO,当然也支持Unix/Linux和MacOS-X系统。
CDO的一些扩展功能需要安装一些额外的依赖包,比如:安装NetCDF库以支持NetCDF数据集处理;如果要处理GRIB2格式文件则需要安装ECMWF的GRIB_API库;szip库和HDF5库可用于处理GRIB和HDF格式数据集。如果需要处理地理坐标,那么就需要安装PROJ4库。安装了Magics库可以使CDO可以直接绘图。
用法
cdo [Options] Operator1 [Operator2 ...]
常用的参数有:
-b 控制输出数据的精度
-C 输出信息彩色化,提高输出信息可读性
-f 控制输出文件格式
-g 定义默认的网格描述信息
-h 获取帮助信息
-m 设置非NetCDF数据集的缺省值。默认值为 -9e+33
-M 表示输入/输出流有缺省值
--operators 列出所有操作符
-P 设置并行线程数
-s 静默模式,不输出任何信息
-V 查看版本号
除了使用参数之外,设置环境变量也能改变CDO的操作。但一般情况下用不到。
操作符
CDO操作符主要分为以下几类:
从上述分类可以看出,CDO功能的强大之处,尤其是当要处理大数据集的时候,更能体现其优势所在。比如:当只需要使用数据集中的一小部分数据时,数据选取操作就可以完成你的要求,而无需将整个文件保存下来,白白浪费磁盘空间。
在开始之前先体验一下CDO的”管道“操作:
cdo sub -dayavg infile2 -timavg infile1 outfile
上述操作相当于:
cdo timavg infile1 tmp1
cdo dayavg infile2 tmp2
cdo sub tmp2 tmp1 oufile
rm tmp1 tmp2
可以看出,使用”管道“操作,省去了 tmp1和tmp2两个临时文件的生成,从而节省磁盘空间。这在磁盘不足的情况下就显得非常重要了。
但在使用”管道“操作时要注意:就是操作符要使用 - 连接。