0

我想用常数缩放 netcdf 文件中的特定字段。

使用 CDO,我知道如何通过常量 $c缩放所有字段:

cdo mulc,$c in.nc out.nc

但是要将其应用于特定字段,我必须剪切变量,应用缩放,然后从原始文件中删除条目并合并文件,这是一种繁琐、缓慢且不太优雅的解决方案:

cdo merge -mulc,$c -selvar,$var in.nc -delvar,$var in.nc out.nc

我试图在 nco 中做到这一点

ncap -s  "ACSWTTEN=10*ACSWTTEN" in.nc out.nc

这可行,但它会从字段中删除所有元数据,因为 nco 似乎以这种方式创建了一个新变量。同样,我可以手动重新定义所有元数据,但这似乎不是一个优雅的方法。

那么,有没有办法在包含许多字段的 netcdf 文件中缩放单个特定字段,但不破坏元数据?

4

1 回答 1

1

是的,实际上你上面的 NCO 命令是完全正确的,只是你需要使用 ncap2 而不是 ncap,它的前身:

ncap2 -s  "ACSWTTEN=10*ACSWTTEN" in.nc out.nc

我们将很快弃用 ncap,因为情况令人困惑 :)

于 2017-04-04T23:29:02.323 回答