代码之家  ›  专栏  ›  技术社区  ›  Yoni Verhaegen

如何将2个seprate netcdf文件合并为1个,包括时间维度

  •  0
  • Yoni Verhaegen  · 技术社区  · 5 年前

    我有两份格陵兰冰盖速度的NetCDF文件,一份来自2015年,一份来自2016年。这些文件包含网格数据,其中速度以x,y坐标绘制。但是,不包括时间维度。如何将这两个文件合并为1,其中最终文件具有时间维度?因此,我希望有一个x,y,z,t数据结构,其中时间=2,而不是两个单独的x,y,z网格。

    谢谢

    0 回复  |  直到 5 年前
        1
  •  3
  •   Charlie Zender    5 年前

    如果文件包含相同的变量且大小相同,请重试 ncecat

    ncecat -u time file1.nc file2.nc out.nc
    
        2
  •  2
  •   ClimateUnboxed    5 年前

    可以使用ncap2向文件添加时间维度:

    ncap2 -s 'defdim("time",1);time[time]=74875.0;time@long_name="Time"; etc.etc.etc.' -O ~/nco/data/in.nc ~/foo.nc
    

    我建议阅读此帖子以了解更多细节: https://sourceforge.net/p/nco/discussion/9830/thread/cee4e1ad/

    完成后,可以使用ncrcat命令将它们合并在一起(请参见 https://linux.die.net/man/1/ncrcat )或者还有cdo

    cdo mergetime file1.nc file2.nc combined_file.nc