首页 > 解决方案 > 如何在 cdo 中的时间线性插值(inttime)后更正时间戳

问题描述

我有一个每小时时间步长的数据集,我在 cdo 中使用“inttime”将其插入到 30 分钟。但是,输出的时间戳不正确,它只是从原始数据中复制而来。如何使用 cdo (或 nco)纠正它?

我正在使用“cdo inttime,date,time,inc ifile.nc ofile.nc”对数据进行插值。

这就是我在插值后得到的... 2000-01-01 01: 00 :00, 2000-01-01 01: 00 :00, 2000-01-01 02: 00 :00, 2000-01-01 02 : 00 :00 等

但这是插值后我想要的... 2000-01-01 01: 00 :00, 2000-01-01 01: 30 :00, 2000-01-01 02: 00 :00, 2000-01 -01 02:30:00

提前感谢所有帮助!

干杯,M。

标签: ncocdo-climate

解决方案


您可以通过使用ncap2将其分配给算术递增数组来纠正错误插值后的时间变量,例如,如果单位是自开始日以来的小时数,则类似于以下内容...

ncap2 -s 'time=array(1.0,0.5,$time)' in.nc out.nc

ncap2也可以使用 GSL 进行插值,但 CDO 公式看起来要简单得多,所以我不会费心去尝试改变它。


推荐阅读