【问题标题】:Scale a specific field in a netcdf file keeping metadata在保留元数据的 netcdf 文件中缩放特定字段
【发布时间】:2017-04-03 10:45:36
【问题描述】:

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

【问题讨论】:

    标签: bash netcdf nco


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-07-23
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      相关资源
      最近更新 更多