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
我有一个 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