class_docstr: NetCDF4 reader for MIMC TPW.
class_docstr_tok: ["NetCDF4","reader","for","MIMC","TPW","."]
docstr: Get datasets in file matching gelocation shape (lat/lon).
docstr_tok: ["Get","datasets","in","file","matching","gelocation","shape","(","lat\/lon",")","."]
code: def available_datasets(self, configured_datasets=None):
      """Get datasets in file matching gelocation shape (lat/lon)."""
      lat_shape = self.file_content.get("/dimension/lat")
      lon_shape = self.file_content.get("/dimension/lon")
  
      # Read the lat/lon variables?
      handled_variables = set()
  
      # update previously configured datasets
      logger.debug("Starting previously configured variables loop...")
      for is_avail, ds_info in configured_datasets or []:
          # some other file handler knows how to load this
          if is_avail is not None:
              yield is_avail, ds_info
  
          var_name = ds_info.get("file_key", ds_info["name"])
          # logger.debug("Evaluating previously configured variable: %s", var_name)
          matches = self.file_type_matches(ds_info["file_type"])
          # we can confidently say that we can provide this dataset and can
          # provide more info
          if matches and var_name in self:
              logger.debug(
                  "Handling previously configured variable: %s",
                  var_name,
              )
              handled_variables.add(var_name)
              new_info = (
                  ds_info.copy()
              )  # don't mess up the above yielded
              yield True, new_info
          elif is_avail is None:
              # if we didn't know how to handle this dataset and no one else did
              # then we should keep it going down the chain
              yield is_avail, ds_info
  
      # Iterate over dataset contents
      for var_name, val in self.file_content.items():
          # Only evaluate variables
          if isinstance(val, netCDF4.Variable):
              logger.debug("Evaluating new variable: %s", var_name)
              var_shape = self[var_name + "/shape"]
              logger.debug("Dims:{}".format(var_shape))
              if var_shape == (lat_shape, lon_shape):
                  logger.debug(
                      "Found valid additional dataset: %s", var_name
                  )
                  # Skip anything we have already configured
                  if var_name in handled_variables:
                      logger.debug(
                          "Already handled, skipping: %s", var_name
                      )
                      continue
                  handled_variables.add(var_name)
                  # Create new ds_info object
                  new_info = {
                      "name": var_name,
                      "file_key": var_name,
                      "file_type": self.filetype_info["file_type"],
                  }
                  logger.debug(var_name)
                  yield True, new_info
  
file_path: satpy/satpy/readers/mimic_TPW2_nc.py
imports: import logging
  import numpy
  import xarray
  from pyresample.geometry import AreaDefinition
  from satpy.readers.netcdf_utils import NetCDF4FileHandler, netCDF4
label_desc: Use image node_id 2 for calling the MimicTPW2FileHandler obj's underlying member method code with example usage: obj.available_datasets(configured_datasets) without return types