class_docstr: File handler for MODIS HDF-EOS Level 3 CMG gridded files.
class_docstr_tok: ["File","handler","for","MODIS","HDF-EOS","Level","3","CMG","gridded","files","."]
docstr: Automatically determine datasets provided by this file.
docstr_tok: ["Automatically","determine","datasets","provided","by","this","file","."]
code: def available_datasets(self, configured_datasets=None):
      """Automatically determine datasets provided by this file."""
      # Initialise set of variable names to carry through code
      handled_var_names = set()
  
      ds_dict = self.sd.datasets()
  
      for is_avail, ds_info in configured_datasets or []:
          file_key = ds_info.get("file_key", ds_info["name"])
          # we must add all variables here even if another file handler has
          # claimed the variable. It could be another instance of this file
          # type, and we don't want to add that variable dynamically if the
          # other file handler defined it by the YAML definition.
          handled_var_names.add(file_key)
          if is_avail is not None:
              # some other file handler said it has this dataset
              # we don't know any more information than the previous
              # file handler so let's yield early
              yield is_avail, ds_info
              continue
          if self.file_type_matches(ds_info["file_type"]) is None:
              # this is not the file type for this dataset
              yield None, ds_info
              continue
          yield file_key in ds_dict.keys(), ds_info
  
      yield from self._dynamic_variables_from_file(handled_var_names)
  
file_path: satpy/satpy/readers/modis_l3.py
imports: import logging
  from typing import Iterable
  from pyresample import geometry
  from satpy.readers.hdfeos_base import HDFEOSGeoReader
label_desc: Use image node_id 1 for calling the ModisL3GriddedHDFFileHandler obj's underlying member method code with example usage: obj.available_datasets(configured_datasets) without return types