【发布时间】:2021-05-29 00:49:33
【问题描述】:
我有 3 个非常大的 netcdf 文件,我想根据时间维度将它们全部合并到一个 .nc 文件中。我试图通过 xarray 组合它们,但这不是一个好方法,因为我的 PC 无法处理大量数据并且我收到此错误:MemoryError: Unable to allocate 17.9 GiB for an array with shape (73, 10000, 10000) 和数据类型 float32。 我想知道是否有另一种方法可以直接处理 netcdf 文件并在不使用 xarray 的情况下组合它们并且不会再次遇到内存问题? 这是我使用的代码:
path1 = '/final1_netcdf_VH.nc'
path2 = '/all/final2_netcdf_VH.nc'
path3 = '/final3_netcdf_VH.nc'
xarr1 = xarray.open_dataset(path1)
xarr2 = xarray.open_dataset(path2)
xarr3 = xarray.open_dataset(path3)
ultimate = xarray.merge([xarr1, xarr2, xarr3], compat="equals")
ultimate.to_netcdf('/ultimate_netcdf_VH.nc')
【问题讨论】:
标签: netcdf