xarray オブジェクトを netcdf ファイルに書き込もうとすると、次のエラーが発生しました。
"ValueError: chunksize cannot exceed dimension size"
データがメモリに対して大きすぎるため、チャンクする必要があります。
ルーチンは基本的に次のとおりです。
import xarray as xr
ds=xr.open_dataset("somefile.nc",chunks={'lat':72,'lon':144}
myds=ds.copy()
#ds is 335 (time) on 720 on 1440 and has variable var
def some_function(x):
return x*2
myds['newvar']=xr.DataArray(np.apply_along_axis(some_function,0,ds['var']))
myds.drop('var')
myds.to_netcdf("somenewfile.nc")
基本的には内容をいじって書き直すだけです。それにもかかわらず、チャンクは悪いようです。1 つの配列に再チャンクする場合と同じです。私もdsを書き換えることができません。エラーを追跡する方法、またはこれを解決する方法はありますか?
netCDF4 のバージョンは 1.2.4
、xarray (以前の xray) のバージョンは 0.8.2
、dask のバージョンは 0.10.1 です。