【问题标题】:Python - merging netcdf files having time duplicatesPython - 合并具有时间重复的 netcdf 文件
【发布时间】:2019-03-20 17:19:58
【问题描述】:

我有几个来自 MODIS 卫星数据的 netCDF 文件。我想合并这些文件。为此,我使用以下命令(在 python 中):

data = data_1.merge(data_2)

或者我只是使用以下命令打开文件:

data = xr.open_mfdataset('MCD43A3*.nc')

我的问题是 1 个文件的结尾是下一个文件开头的副本。所以我最终得到的文件有重复:

lat;lon;time;var1;var2
10;10;2000-01-01;22;55
      2000-01-02;12;87
      2000-01-03;57;65
      2000-01-04;45;67
      2000-01-04;45;67
      2000-01-05;78;15

如何删除时间序列的最后一个时间戳或合并而不重复?

注意:输入文件有一个儒略历,不幸的是,CDO/NCO 命令不起作用

【问题讨论】:

  • 你不能合并它们然后在它们上运行uniq 吗? (如果您可以访问 Unix 实用程序 :))

标签: python file merge netcdf python-xarray


【解决方案1】:

您是否使用 CDO 命令“seldate”进行选择?

您可能仍然可以使用 seltimestep 来做到这一点:

cdo seltimestep,first/last in.nc out.nc 

另一种选择可能是先尝试使用转换日历

cdo setcalendar,standard in.nc out.nc 

然后使用 seldate...

【讨论】:

    【解决方案2】:

    我认为您应该可以使用nco。例如如果您有 4 个时间戳并想删除最后一个,

    ncks -d time,0,2 in.nc out.nc
    

    或删除第一个:

    ncks -d time,1,3 in.nc out.nc
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-28
      • 2018-12-31
      • 2015-05-11
      • 2018-10-10
      • 2018-09-10
      • 2017-12-19
      • 2020-07-07
      • 2018-09-06
      相关资源
      最近更新 更多