覆盖netcdf中的特定单元格

时间:2014-03-26 17:25:53

标签: python netcdf

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

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

3 个答案:

答案 0 :(得分:6)

或者NCO的ncap2使用

在一个命令中执行此操作
ncap2 -s 'var[0,0,0]=-999' in.nc out.nc

ncap2被描述为here

答案 1 :(得分:4)

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和其他功能实现强大的操作。

答案 2 :(得分:0)

cdo还可以将特定的lon-lat“矩形”区域设置为一个值,这里是手动示例:

要设置区域内的所有值,经度从120E到90W,纬度从20N到20S再到恒定值-1.23,请使用:

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