【问题标题】:How to disaggregate an accumulated netcdf variable in time using ncl, cdo or nco?如何使用 ncl、cdo 或 nco 及时分解累积的 netcdf 变量?
【发布时间】:2019-08-20 13:33:55
【问题描述】:

我有一个全年累积降水量的 3D nc 变量 PP = (time, lat, lon),我想计算每日值。

我想在示例中做一些链接,但找不到任何示例。

我试图做一个循环,其中减法应该在 [index+1] 减去值 [index] 的值之间(如下所示)

t = f->time(:)   ;size = 365

pp = f->TOTALRAIN(:,:,:) ; time, lat, lon dimensions


do i = 0,dimsizes(t)-1

DailyPp = pp(i,:,:) - pp(i-1,:,:)

end do

但那样会产生错误。

我需要每天的数值,并且只有累积的降水量作为输入信息,并认为这样的循环应该是最好的方法。

如何根据变量进行计算???

我正在与ncl 合作,但如果您有cdonco 的建议,我们欢迎他们。

【问题讨论】:

    标签: cdo-climate nco ncl


    【解决方案1】:

    你可以用两个 NCO shell 命令来做到这一点

    下面的命令将记录向上移动一个

    ncks -v TOTALRAIN --msa_usr_rdr -d time,1,364 -d time,364 in.nc shift.nc

    现在用 ncbo 来找不同

    ncbo -v TOTALRAIN shift.nc in.nc diff.nc

    现在 netcdf 文件差异应该包含您的每日 pp 此文件中 TOTALRAIN 的最终记录将为零

    ...亨利

    【讨论】:

      【解决方案2】:

      在 cdo 中,您可以使用

      分解累积变量
      cdo deltat in.nc diff.nc 
      

      这与this question有关,请参阅那里的答案以获取更多详细信息,包括插入初始时间步长。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-02
        • 2021-10-29
        • 1970-01-01
        • 1970-01-01
        • 2021-09-18
        • 2022-06-24
        • 2020-01-29
        相关资源
        最近更新 更多