RQL's Blog 菜鸟成长记

cdo常用命令

2022-03-08
renql

CDO, climate data operator的缩写。提供了600多个常见的操作,能快速处理nc、grid等常见数据.

常见的功能包括:

  1. 数据的提取合并(提取特定时间、空间、经纬度等等)
  2. 数据的简单运算(加减乘除、方差、均方差、和、最值、滑动均值、滑动方差、滑动最值、区域平均、区域方差、区域最值等等)
  3. 数据的统计运算(相关、线性回归、EOF、滤波、水平插值、垂直插值等等)
  4. 数据的转换(binary转nc、HDF转nc等等)
  5. 各种气候指数的运算(极端有关的指数等等)

参考:https://blog.sciencenet.cn/blog-1081898-1275862.html

数据转换

转换数据类型或者转换文件类型

cdo -b F64 copy input.nc output.nc
# 将input.nc文件中的变量转换为 double,并另存为output.nc。如果不加F,则是将所有变量转换为double。加F则只是将floating data转为double

cdo -f nc copy input.grib output.nc
# 将grib文件转换为nc文件

数据合并

cdo -r -copy ff_stat_[1-9].nc ff_stat_1[0-2].nc outfilename
# 每月数据放在一个文件中,将1-12月共12个文件合并,-r表示合并后添加时间维,拼接后原始文件依然存在

cdo -cat uwind.1985-07.daily.nc uwind.1985-08.daily.nc outfilename
# 将两个文件中的变量按原有的时间维拼接,拼接后,原始文件依然存在
# 当输入文件过大且变量为short变量时,容易产生报错,解决方法是改用以下的代码,将short变量转换为float,-mergetime的作用等同于-cat
cdo -b F32 -mergetime ERA5_precip_1980-[1-9].nc ERA5_precip_1980-1[0-2].nc ERA5_precip_1hr_dec-jan1980.nc

数据提取

cdo selmonth,1 ERA5_NH_z_1981.nc ERA5_NH_z_1981-01.nc
# 提取一个月的数据,注意选项与参数间的逗号

cdo sellevel,850 ERA5_NH_z_1981.nc ERA5_NH_850z_1981.nc
# 提取某个高度的数据,注意选项与参数间的逗号

数学运算

cdo expr,’speed=sqrt(sqr(uwnd)+sqr(vwnd));var2=ts-273.15;’ infile outfile
# infile中有变量uwnd,vwnd,ts。由这三个变量计算新变量并存储入 outfile

数据信息查看

除了处理数据外,cdo也能快速查看 grid、nc 等数据文件信息,常用参数有:

cdo sinfon ERA5_wind10_2016.grib #输出数据文件的简短信息

参考自:https://cloud.tencent.com/developer/article/1618318


支持 支付宝鼓励 鸡腿鸡腿

喜欢此文!

上一篇 Xarray用法

Content