我想在Python中使用xarray打开多个netCDF文件。这些文件具有相同的数据形状,我希望将它们连接起来,创建一个新维度。
我尝试使用xarray.open_mfdataset()的concat_dim参数,但它不能按预期工作。下面是一个示例,它打开了两个包含124次温度数据、241个纬度和480个经度的文件:
DS = xr.open_mfdataset( 'eraINTERIM_t2m_*.nc', concat_dim='cases' )
da_t2m = DS.t2m
print( da_t2m )
使用这段代码,我希望结果数据数组的形状为 (cases: 2, time: 124, latitude: 241, longitude: 480)。然而,实际上它的形状是 (cases: 2, time: 248, latitude: 241, longitude: 480)。这个代码创建了一个新的维度,但也对左侧维度(即两个数据集的 'time' 维度)进行了求和。
我在想,这是由于 'xarray.open_mfdateset' 的错误还是因为两个数据集的 'time' 维度都是无限的而导致的预期行为?
有没有一种方法可以直接使用 xarray 将这些文件中的数据连接起来,并获得所期望的结果?
谢谢。
Mateus
preprocess
关键字参数,将时间维度重命名/复制/删除为一个新的维度,该维度在每个文件中都相等(只需为0,1,……,123)。我正在做类似的事情,但此时手头没有代码。 - kmuehlbauer