steidani/FireDanger

Item assignment with dask array

Opened this issue · 0 comments

Dask in xarray does not support item assignment yet. See issue: pydata/xarray#5171
This leads to error in firedanger.calc_canadian_fwi().

Current solution: Manually trigger loading of dataset’s data from disk with .load()

out = xr.full_like(self.ds[temp], np.nan, dtype=np.float32)
out.load() # loading takes some time

Future solutions:

  • Dask arrays must have only one chunk along the "time" dimension
  • xr.apply_ufunc(dask_gufunc_kwargs = ...)
  • ... waiting for the implementation of item assignment by xarray