CDO基础操作(二):用CDO进行数据切片和统计运算

本文将介绍如何用CDO进行nc文件的数据切片和统计运算(for Mac)

1.数据切片

cdo seldate/selmon/selyear……(选取特定时间范围的信息)

cdo selname/sellevel……(选取特定的变量和高度场的信息)

cdo sellonlatbox……(选取特定经纬度的信息)

实例①:提取prec_snow.nc文件中2010-01-01到2011-06-30的所有数据

step1:查看日期格式,输入cdo showdate prec_snow.nc→发现格式是yyyy-mm-dd

CDO基础操作(二):用CDO进行数据切片和统计运算_第1张图片

step2:提取2010-01-01到2011-06-30的数据

输入cdo seldate,2010-01-01,2011-06-30 prec_snow.nc prec_snow_cut.nc

(切片后的数据命名为prec_snow_cut.nc)

实例②:提取2010-2012年中国地区(10-55N, 70-135E)的冬季(12、1、2月)降雪

step1:查询prec_snow.nc文件中降水变量的名称,输入cdo showname prec_snow.nc,降雪变量的名称为sf(snowfall)

step2:提取需要的数据

cdo -selmon,1,2,12 -selyear,2010/2012, -sellonlatbox,70,135,10,55 -selname,sf prec_snow.nc prec_snow_select.nc

(提取后的数据命名为prec_snow_select.nc)

注意:多个命令同时使用时命令前加入-,命令与命令之间用空格隔开。

2.统计运算

cdo ensmean/ensmax/ensmin/ensvar/ensstd……(集合平均/最大值/最小值/方差/标准差等)

cdo timselmean/timselmax/timselmin/timselsum/timselvar/timselstd

(时间序列运算,使用见实例④)

cdo runmean,X(滑动平均X为滑动的时间)

cdo timmean/yearmean/seasmean/monmean(时间/年/季节/月平均,max min sum等同样用)

cdo fldmean(变量的一个水平层平均)/zonmean(所有输入场的纬向平均)/gridboxmean(盒平均)/vertmean(高度场平均)……

实例③:计算2010-2015年夏季降水均值,降水变量的名称为tp(total precipitation)

输入:cdo -yearmean -selyear,2010/2015 -selmon,6,7,8 -selname,tp prec_snow.nc prec_snow_summean.nc(提取tp变量,月份选择678,年份选择2010-2015再求年均值即可)

CDO基础操作(二):用CDO进行数据切片和统计运算_第2张图片

实例④:计算2010-2015年冬季降雪,降雪变量的名称为sf(snowfall)

step1:将日尺度数据求月平均

cdo -monmean -selyear,2010/2016 -selname,sf prec_snow.nc prec_snow_monmean.nc

注意:这里将2016年算进去是因为2015年冬季降水包括2015年12月和2016年1、2月

step2:用timeselmean

cdo timselmean,3,11,9 prec_snow_monmean.nc prec_snow_winmean.nc

注意:这里不能用yearmean和selmon,因为冬季的平均跨越了两个年份。因此这里用timselmean函数,设计三个参数,第一个3表示3个月的平均,第二个11表示跳过最初的11个月,第三个9表示间隔的时间步长,即从2月份到12月份需要间隔9个月。

实例⑤:计算季节性平均

cdo timselmean,3,2 xxx.nc yyy.nc (x和y分别为输入文件和输出文件)

注意:3表示每三个月求一次平均,2表示跳过最初的2个月(上一年冬季),第三个参数为0(因为间隔数为0,不为0的情况见实例④)。可得3-5为季度1,6-8为季度2,9-11为季度3,12-2为季度4。

此处参考:

科学网-[转载]合并多个nc数据_气象数据处理的火箭加速器—CDO(转载)-文小航的博文

以上为如何用CDO进行nc文件的数据切片和统计运算(for Mac),其他相关内容可以见主页或CDO专辑~

你可能感兴趣的:(CDO,macos)