Я хочу сохранить набор xarray.dataset в виде файла .zarr, но я не могу настроить свои блоки как единообразные, и он не будет сохранен.
Я пробовал:
изменение размера чанка при использовании xarray.open_mfdataset -> он по-прежнему использует автоматические чанки, которые не работают.
изменение размера чанка при использовании dataset.chunk (n) -> по-прежнему относится к автоматическим чанкам при открытии набора данных.
КОД:
import xarray as xr
import glob
import zarr
local_dir = "/directory/"
data_dir = local_dir + 'folder/'
files = glob.glob(data_dir + '*.nc')
n = 1320123
data_files = xr.open_mfdataset(files,concat_dim='TIME',chunks={'TIME': n}) # does not specify chunks, uses automatic chunks
data_files.chunk(n) # try modifying here, still uses automatic chunks
data_files.to_zarr(store=data_dir + 'test.zarr',mode='w') # I get an error about non-uniform chunks - see below
ValueError: Zarr требует одинакового размера чанка, за исключением окончательного чанка.
Куски переменной переменной ((1143410, 512447, 1170473, 281220, 852819),)
несовместимыми. Рассмотрите возможность повторного разбиения, используя chunk()
.
Я ожидаю, что файл .zarr сохранится с новыми чанками, но ссылается на оригинальные автоматические размеры чанков.