向netcdf文件中添加一个随时间增加的新变量

时间:2019-12-13 03:54:21

标签: netcdf nco

我想向现有的netcdf文件中添加一个新变量,该变量会随文件中的时间变量线性增加,也就是说,在第一个时间片上,变量处处都有数字1,在第二个时间片上是设置为2,等等。

我知道如何在python或fortran中打开文件并定义和添加变量并写出修改后的文件,但是我希望可以通过命令行使用 nco 。我还想知道是否可以通过使用 ncdump 将文件转储为CDL格式,对其进行黑客处理并通过 ncgen 将其转回到netcdf来做到这一点,但这似乎更加漫长而又麻烦比起python方法。

1 个答案:

答案 0 :(得分:1)

对于一维阵列,请使用此

ncap2 -s 'var=array(1,1,$time)' in.nc out.nc

对于多维数组,只需将其添加到零数组

ncap2 -s 'var=array(0,0,/$time,$lat,$lon/)+array(1,1,$time)' in.nc out.nc

数组的数字类型由数组函数的第一个参数的类型确定。有关详细信息,请参见array()上的manual