在python中使用MFDataset组合netcdf文件

在python中使用MFDataset组合netcdf文件,python,netcdf,Python,Netcdf,我试图合并netcdf文件,但它不断地显示 文件“CBL_plot.py”,第11行,在f=MFDataset(fili)文件“utils.pyx”的第274行,在netCDF4.MFDataset中。init(netCDF4.c:3822)IOError:主数据集THref_11:00.nc没有聚合维度 所以,我只检查了一个netcdf文件,一个netcdf文件的信息如下: 第64个浮点数(u't',) 无限维度=() 当前大小=(30,) 看起来没有聚合维度。但是,我希望合并这些netcdf

我试图合并netcdf文件,但它不断地显示 文件“CBL_plot.py”,第11行,在f=MFDataset(fili)文件“utils.pyx”的第274行,在netCDF4.MFDataset中。init(netCDF4.c:3822)IOError:主数据集THref_11:00.nc没有聚合维度

所以,我只检查了一个netcdf文件,一个netcdf文件的信息如下:

第64个浮点数(u't',) 无限维度=() 当前大小=(30,)

看起来没有聚合维度。但是,我希望合并这些netcdf文件,而不是一个接一个地使用。 有没有办法创建聚合维度以使此MFData集正常工作

下面是我使用的python代码:

    import numpy as np
    from netCDF4 import MFDataset
    varn = 'th_ref'
    fili = THref_*nc'
    f    = MFDataset(fili)
    Th  = f.variables[varn]
    Th_ref=np.array(Th[:])
    print Th.shape
我将非常感谢任何帮助、想法和提示

谢谢,,
Isaac

简短回答:MFDataset只能沿文件中变化最慢的维度进行聚合

更长的答案:在中,它说“打开跨越多个文件的数据集,使其看起来像是一个文件。共享相同维度的文件列表中的变量(使用关键字aggdim指定)被聚合。如果未指定aggdim,则聚合无限。当前,aggdim必须是最左边的要聚合的每个变量的(变化最慢的)维度。”


因此,MFDataset的工作原理是沿着现有文件中变化最慢的维度进行聚合。因此,如果有一组文件是同一逻辑数据集在不同时间的快照,并且要及时聚合,则需要在每个文件中都有一个时间维度。如果数据的时间仅编码在文件名中,目前无法使用MFDataset进行聚合。

简短回答:MFDataset只能沿文件中变化最慢的维度进行聚合

更长的答案:在中,它说“打开跨越多个文件的数据集,使其看起来像是一个文件。共享相同维度的文件列表中的变量(使用关键字aggdim指定)被聚合。如果未指定aggdim,则聚合无限。当前,aggdim必须是最左边的要聚合的每个变量的(变化最慢的)维度。”

因此,MFDataset的工作原理是沿着现有文件中变化最慢的维度进行聚合。因此,如果有一组文件是同一逻辑数据集在不同时间的快照,并且要及时聚合,则需要在每个文件中都有一个时间维度。如果数据的时间仅编码在文件名中,目前无法使用MFDataset进行聚合