diff --git a/src/finam/adapters/masking.py b/src/finam/adapters/masking.py index 52102015e083343d96eb34dd1d1b0abf089bcbd0..5d078dd387cf2ed0264f8f9ac9fb373783333ea0 100644 --- a/src/finam/adapters/masking.py +++ b/src/finam/adapters/masking.py @@ -65,9 +65,13 @@ class Masking(Adapter): # info coming from output, set grid None to get the input grid request = info.copy_with(grid=None, missing_value=None) in_info = self.exchange_info(request) - # get missing value from cf-convention meta data (in/out can differ here) - out_nodata = info.meta.get("missing_value", None) - in_nodata = in_info.meta.get("missing_value", None) + + # check no-data value + if self.nodata is None: + # get missing value from cf-convention meta data (in/out can differ here) + self.nodata = info.meta.get( + "missing_value", in_info.meta.get("missing_value", None) + ) if info.grid is None: with ErrorLogger(self.logger): @@ -87,10 +91,6 @@ class Masking(Adapter): self._sup_grid = in_info.grid self._sub_grid = info.grid - # check no-data value - if self.nodata is None: - self.nodata = out_nodata if out_nodata is not None else in_nodata - # create_selection if self._sub_grid.mask is not None: self._canonical_mask = self._sub_grid.to_canonical(self._sub_grid.mask)