在netcdf文件中缩放特定字段以保留元数据

时间:2017-04-03 10:45:36

标签: bash netcdf nco

我想用常量缩放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文件中缩放单个特定字段,但不会破坏元数据?

1 个答案:

答案 0 :(得分:1)

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

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

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