Python &引用;ValueError:chunksize不能超过维度大小;尝试将xarray写入netcdf时

Python &引用;ValueError:chunksize不能超过维度大小;尝试将xarray写入netcdf时,python,python-xarray,netcdf4,Python,Python Xarray,Netcdf4,尝试将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

尝试将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")
所以基本上,我只是操纵内容并重写。然而,块似乎是不好的。与重新聚集到一个数组相同。我都不会重写ds。 你知道如何追踪错误或解决这个问题吗

netCDF4版本为1.2.4
xarray(以前的X射线)版本是0.8.2

dask版本是0.10.1

这是引擎在写入命令时出现的问题。 如果使用块,则需要将引擎从netcdf4(默认)更改为scipy

myds.to_netcdf("somenewfile.nc",engine='scipy')

netcdf4包无法写入此类文件。

这看起来像是xarray的错误。如果您能提供一个复制它的自包含示例,我们应该能够找到它。请关注GitHub: