assume you have for example a general Numpy array `arr`

of shape `(a,b,c,d,e,f)`

and a corresponding boolean array `idx`

of shape `(a,b,c,d)`

.

Then in numpy `arr[idx].shape == (N, e, f)`

, where N is the number of `True`

elements. However, when `arr`

is a dask array, this will fail:

```
*** IndexError: Boolean array with size a*b*c*d is not long enough for axis 0 with size a
```

It works fine if only indexing the first axis with a boolean array of shape `(a,)`

. It works fine if indexing all axes, with a boolean array of shape `== arr.shape`

(although you get `nan`

shape & chunksize, see also here). However, it does not work for a partial mask.

Is this expected behaviour?