如何在python中设置netCDF4的块大小?

时间:2016-08-09 21:00:54

标签: python netcdf chunks chunking netcdf4

我可以在netCDF4库中看到默认的分块设置,但我不知道如何更改块大小。

from netCDF4 import Dataset    
volcgrp = Dataset('datasets/volcano.nc', 'r')
data = volcgrp.variables['abso4']
print data.shape
print data.chunking()
>(8, 96, 192)
>[1, 96, 192]

是否有人可以帮助设置?

2 个答案:

答案 0 :(得分:2)

您可以使用xarray来读取netcdf文件并设置块,例如

import xarray as xr

ds = xr.open_dataset('/datasets/volcano.nc', chunks={'time': 10})

答案 1 :(得分:0)

有点不清楚你想要做什么。 data.chunking()告诉您存储在文件中的变量的块大小。如果要更改此设置,则需要在磁盘上重写该文件,为每个变量设置chunksize。使用netCDF4库,您可以使用chunksize关键字netCDF4.CreateVariable()执行此操作。在此处找到文档:

http://unidata.github.io/netcdf4-python/#netCDF4.Dataset.createVariable