class_docstr: File handler for TROPOMI L2 netCDF files.
class_docstr_tok: ["File","handler","for","TROPOMI","L2","netCDF","files","."]
docstr: Iterate over dataset contents.
  
  This is where we dynamically add new datasets
  We will sift through all groups and variables, looking for data matching
  the geolocation bounds
docstr_tok: ["Iterate","over","dataset","contents",".","This","is","where","we","dynamically","add","new","datasets","We","will","sift","through","all","groups","and","variables",",","looking","for","data","matching","the","geolocation","bounds"]
code: def _iterate_over_dataset_contents(self, handled_variables, shape):
      """Iterate over dataset contents.
  
      This is where we dynamically add new datasets
      We will sift through all groups and variables, looking for data matching
      the geolocation bounds
      """
      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 shape == var_shape[: len(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)
                  last_index_separator = var_name.rindex("/")
                  last_index_separator = last_index_separator + 1
                  var_name_no_path = var_name[last_index_separator:]
                  logger.debug(
                      "Using short name of: %s", var_name_no_path
                  )
                  # Create new ds_info object
                  if var_name_no_path in [
                      "latitude_bounds",
                      "longitude_bounds",
                  ]:
                      coordinates = []
                  else:
                      coordinates = ["longitude", "latitude"]
                  new_info = {
                      "name": var_name_no_path,
                      "file_key": var_name,
                      "coordinates": coordinates,
                      "file_type": self.filetype_info["file_type"],
                  }
                  yield True, new_info
  
imports: import logging
  from datetime import datetime
  import dask.array
  import numpy
  import xarray
  from satpy.readers.netcdf_utils import NetCDF4FileHandler, netCDF4
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 9 for calling the TROPOMIL2FileHandler obj's underlying member method code with example usage: obj._iterate_over_dataset_contents(handled_variables, shape) without return types