“杀死”试图使用save_mfdataset()

时间:2018-03-26 21:51:44

标签: dask python-xarray

我有一个dask数据集(在磁盘上大约200GB),我在其上执行一些计算(屏蔽和累加海冰范围)。我正在尝试写出这个dask数据集:

ds_mod_trim = <xarray.DataArray (ensemble: 12, init_time: 408, fore_time: 1367)>
dask.array<shape=(12, 408, 1367), dtype=float64, chunksize=(12, 408, 40)>
Coordinates:
  * init_time  (init_time) datetime64[ns] 1980-01-01 1980-02-01 1980-03-01 ...
  * ensemble   (ensemble) int64 1 2 3 4 5 6 7 8 9 10 11 12
  * fore_time  (fore_time) timedelta64[ns] 0 days 29 days 30 days 31 days ...

到这样的多个netcdf文件:

c_e, datasets = zip(*ds_mod_trim.to_dataset(name='sic').groupby('ensemble'))
paths = ['GFDL_extent_esns_%s.nc' % e for e in c_e]
xr.save_mfdataset(datasets, paths)

其中:

datasets[0] = <xarray.Dataset>
Dimensions:    (fore_time: 1367, init_time: 408)
Coordinates:
  * init_time  (init_time) datetime64[ns] 1980-01-01 1980-02-01 1980-03-01 ...
    ensemble   int64 1
  * fore_time  (fore_time) timedelta64[ns] 0 days 29 days 30 days 31 days ...
Data variables:
    sic        (init_time, fore_time) float64 dask.array<shape=(408, 1367), chunksize=(408, 40)>

产生“被杀”。当我观察内存使用情况时,它会保持在85-90%左右,但在系统冻结之前CPU使用率从100%上升到~650%,我得到“杀死”。

当我检查目录时,文件已使用正确的尺寸/坐标创建,但缺少正确的变量(无数据)。

我期望save_mfdataset()来处理这个用例?我做错了吗?

0 个答案:

没有答案