class_docstr: File handler for AOD data files.
class_docstr_tok: ["File","handler","for","AOD","data","files","."]
code: def _mask_invalid(
      self, data_arr: xr.DataArray, ds_info: dict
  ) -> xr.DataArray:
      new_data_arr = super()._mask_invalid(data_arr, ds_info)
      if self._aod_qc_filter is None or ds_info["name"] != "AOD550":
          return new_data_arr
      LOG.debug(
          f"Filtering AOD data to include quality <= {self._aod_qc_filter}"
      )
      qc_all = self.nc["QCAll"]
      return new_data_arr.where(qc_all <= self._aod_qc_filter)
  
imports: from __future__ import annotations
  import logging
  from typing import Iterable
  import dask.array
  import xarray
  from satpy import DataID
  from satpy.readers.file_handlers import BaseFileHandler
  from satpy.utils import get_chunk_size_limit
label_desc: Use image node_id 2 for calling the VIIRSAODHandler obj's underlying member method code with example usage: obj._mask_invalid(data_arr, ds_info) and returns: new_data_arr, new_data_arr