class_docstr: Custom file reader for finding VIIRS SDR geolocation at runtime.
docstr: Load filenames from the N_GEO_Ref attribute of a dataset's file.
docstr_tok: ["Load","filenames","from","the","N_GEO_Ref","attribute","of","a","dataset","'s","file","."]
code: def _load_filenames_from_geo_ref(self, dsid):
      """Load filenames from the N_GEO_Ref attribute of a dataset's file."""
      file_handlers = self._get_file_handlers(dsid)
      if not file_handlers:
          return []
  
      fns = []
      for fh in file_handlers:
          base_dir = os.path.dirname(fh.filename)
          try:
              # get the filename and remove the creation time
              # which is often wrong
              fn = fh["/attr/N_GEO_Ref"][:46] + "*.h5"
              fns.extend(glob(os.path.join(base_dir, fn)))
  
              # usually is non-terrain corrected file, add the terrain
              # corrected file too
              if fn[:5] == "GIMGO":
                  fn = "GITCO" + fn[5:]
              elif fn[:5] == "GMODO":
                  fn = "GMTCO" + fn[5:]
              else:
                  continue
              fns.extend(glob(os.path.join(base_dir, fn)))
          except KeyError:
              LOG.debug(
                  "Could not load geo-reference information from {}".format(
                      fh.filename
                  )
              )
  
      return fns
  
imports: import logging
  import os.path
  from contextlib import suppress
  from datetime import datetime, timedelta
  from glob import glob
  import numpy
  from satpy.readers.viirs_atms_sdr_base import ATMS_DATASET_KEYS, DATASET_KEYS, VIIRS_DATASET_KEYS, JPSS_SDR_FileHandler
  from satpy.readers.yaml_reader import FileYAMLReader
label_desc: Use image node_id 7 for calling the VIIRSSDRReader obj's underlying member method code with example usage: obj._load_filenames_from_geo_ref(dsid) and returns: fns, list