我有一个非常大的 NetCDF
文件。
我尝试使用 python xarray
模块中的 dask.array
功能,并在打开此数据时指定 block 大小。效果很好;然而,当我尝试使用 .load() 将变量加载到内存时,速度非常慢。
我想知道是否有任何选项(在 xarray 或其他 python 模块中)可以通过提供维度索引(lat、lon)来读取 NetCDF 文件的子集?这样我就可以直接将函数应用于子集文件,而无需使用 dask.array
。
最佳答案
您可以在将变量加载到内存之前对数据进行切片。
ds = xr.open_dataset('path/to/file')
in_memory = ds.isel(x=slice(10, 1000)).load()
关于python - 使用维度切片读取单个 NetCDF 文件的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50010971/