class_docstr: VIIRS L1B File Reader.
class_docstr_tok: ["VIIRS","L1B","File","Reader","."]
docstr: Generate dataset info and their availablity.
  
  See
  :meth:`satpy.readers.file_handlers.BaseFileHandler.available_datasets`
  for details.
docstr_tok: ["Generate","dataset","info","and","their","availablity",".","See",":","meth",":","`","satpy.readers.file_handlers.BaseFileHandler.available_datasets","`","for","details","."]
code: def available_datasets(self, configured_datasets=None):
      """Generate dataset info and their availablity.
  
      See
      :meth:`satpy.readers.file_handlers.BaseFileHandler.available_datasets`
      for details.
  
      """
      for is_avail, ds_info in configured_datasets or []:
          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
          ft_matches = self.file_type_matches(ds_info["file_type"])
          var_path = self._dataset_name_to_var_path(
              ds_info["name"], ds_info
          )
          is_in_file = var_path in self
          yield ft_matches and is_in_file, ds_info
  
imports: import logging
  from datetime import datetime
  import numpy
  from satpy.readers.netcdf_utils import NetCDF4FileHandler
label_desc: Use image node_id 15 for calling the VIIRSL1BFileHandler obj's underlying member method code with example usage: obj.available_datasets(configured_datasets) without return types