NCO:是否有任何单行命令可以更改整个数组的时间维度索引(不是通过循环)?

NCO: is there any one-line command to change the index of time dimension as a whole array (not by for-loop)?

我有一个 netCDF 文件 FORCING.nc,其中包含维度“时间”,其值如下:[ 841512., 841513., 841514., ..., 1051893., 1051894.,1051895.]。但是我想将时间戳从绝对值更改为从 841512 开始的相对值,比如将其更改为 [0, 1, 2,...,1051895-841512]=[0, 1, 2,...,210383]。那么是否有任何一行 nco 命令可以做到这一点? 非常感谢!

一些代码示例,但在 python 中(抱歉,我不熟悉 nco...):

import numpy as np
from netCDF4 import Dataset
file_small = Dataset('./FORCING.nc')
file_small['time'][:]

然后我可以获得如下输出:

Out[5]: 
masked_array(data=[ 841512.,  841513.,  841514., ..., 1051893., 1051894.,
                   1051895.],
             mask=False,
       fill_value=1e+20,
            dtype=float32)

我想做的是将 time 的值从 [ 841512., 841513., 841514., ..., 1051893., 1051894.,1051895.] 更改为 [0, 1, 2,...,1051895-841512]=[0, 1, 2,...,210383]。谢谢!

阅读 ncap2 文档 here

ncap2 -s 'time-=841512' in.nc out.nc