dask: `Data.filled` by davidhassell · Pull Request #340 · NCAS-CMS/cf-python
Expand Up
@@ -9815,9 +9815,10 @@ def soften_mask(self):
self._map_blocks(cf_soften_mask, dtype=self.dtype)
self._hardmask = False
@daskified(_DASKIFIED_VERBOSE) @_inplace_enabled(default=False) def filled(self, fill_value=None, inplace=False): """Replace masked elements with the fill value. """Replace masked elements with a fill value.
.. versionadded:: 3.4.0
Expand Down Expand Up @@ -9854,25 +9855,17 @@ def filled(self, fill_value=None, inplace=False): if fill_value is None: fill_value = d.get_fill_value(None) if fill_value is None: # still... fill_value = default_netCDF_fillvals().get( d.dtype.str[1:], None ) fill_value = default_netCDF_fillvals().get(d.dtype.str[1:]) if fill_value is None and d.dtype.kind in ("SU"): fill_value = default_netCDF_fillvals().get("S1", None)
if fill_value is None: # should not be None by this stage if fill_value is None: raise ValueError( "Can't determine fill value for " "data type {!r}".format(d.dtype.str) f"data type {d.dtype.str!r}" ) # --- End: if
hardmask = d.hardmask d.hardmask = False
d.where(d.mask, fill_value, inplace=True)
d.hardmask = hardmask d._map_blocks(np.ma.filled, fill_value=fill_value, dtype=d.dtype)
return d
Expand Down
@daskified(_DASKIFIED_VERBOSE) @_inplace_enabled(default=False) def filled(self, fill_value=None, inplace=False): """Replace masked elements with the fill value. """Replace masked elements with a fill value.
.. versionadded:: 3.4.0
Expand Down Expand Up @@ -9854,25 +9855,17 @@ def filled(self, fill_value=None, inplace=False): if fill_value is None: fill_value = d.get_fill_value(None) if fill_value is None: # still... fill_value = default_netCDF_fillvals().get( d.dtype.str[1:], None ) fill_value = default_netCDF_fillvals().get(d.dtype.str[1:]) if fill_value is None and d.dtype.kind in ("SU"): fill_value = default_netCDF_fillvals().get("S1", None)
if fill_value is None: # should not be None by this stage if fill_value is None: raise ValueError( "Can't determine fill value for " "data type {!r}".format(d.dtype.str) f"data type {d.dtype.str!r}" ) # --- End: if
hardmask = d.hardmask d.hardmask = False
d.where(d.mask, fill_value, inplace=True)
d.hardmask = hardmask d._map_blocks(np.ma.filled, fill_value=fill_value, dtype=d.dtype)
return d
Expand Down