如何将一个变量的值复制到 NetCDF 中的另一个变量而不是维度?

How can I copy the values of a variable to another variable in a NetCDF but not the dimension?

我有 2 个维度 X1, X2

和 3 个变量 V1(X1), V2(X2), V3(X3)

我想将 V2 的 复制到 V1。但保持尺寸不变。

如果我这样做:

ncap2 -s "V2=V1*1" in.nc out.nc

尺寸变为V1(X2), V2(X2), V3(X3)

如何保留V1的原始尺寸?

这是一个不寻常的请求。一种解决方案是按照您已经执行的步骤,再使用一个命令将您想要的值追加回原始变量。这里 lon 和 ilev 的大小相同,但基础维度不同:

ncap2 -O -v -s 'lon=ilev' ~/in.nc ~/foo.nc # make lon a copy of ilev
ncks -A -C -v lon ~/foo.nc ~/in.nc # append lon back into itself