【问题标题】:Overwriting specific cells in netcdf覆盖 netcdf 中的特定单元格
【发布时间】:2014-05-05 07:19:50
【问题描述】:

是否有可用于覆盖 netcdf 文件中特定单元格的 netcdf 运算符(来自 nco 或任何 python netcdf 库)?

我想更改包含全球气候数据的 netcdf 文件中一个小区域的值。 谢谢!

【问题讨论】:

    标签: python netcdf nco cdo-climate


    【解决方案1】:

    CDO 可以将特定的经纬度“矩形”区域设置为一个值,这是手动示例:

    要将经度从 120E 到 90W 和纬度从 20N 到 20S 的区域中的所有值设置为常数值 -999,请使用:

    cdo setclonlatbox,-999,120,-90,20,-20 infile outfile 
    

    【讨论】:

      【解决方案2】:

      或者 NCO 的 ncap2 在一个命令中使用

      ncap2 -s 'var[0,0,0]=-999' in.nc out.nc
      

      ncap2 被描述为here

      【讨论】:

        【解决方案3】:

        netCDF4-python 很容易做到这一点。例如,假设nc 是您的netCDF 文件,变量名为var,您要更改的单元格的索引为(0,0,0)。那么:

        from netCDF4 import Dataset
        new_value = -999
        nc.variables['var'][0,0,0] = new_value
        

        netCDF4 使用 numpy 表示所有 netCDF 数组,这可以使用 numpy 的 slicing 和其他功能对其进行强大的操作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-01-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-12-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多