code: def filter_filenames_by_info(self, filename_items):
          
          filename_items = list(filename_items)
          geo_keep = []
          geo_del = []
          for filename, filename_info in filename_items:
              filename_info['datasets'] = datasets = filename_info['datasets'].split('-')
              if ('GITCO' in datasets) or ('GMTCO' in datasets):
                  if self.use_tc is False:
                      geo_del.append(filename)
                  else:
                      geo_keep.append(filename)
              elif ('GIMGO' in datasets) or ('GMODO' in datasets):
                  if self.use_tc is True:
                      geo_del.append(filename)
                  else:
                      geo_keep.append(filename)
          if geo_keep:
              fdict = dict(filename_items)
              for to_del in geo_del:
                  for dataset in ['GITCO', 'GMTCO', 'GIMGO', 'GMODO']:
                      try:
                          fdict[to_del]['datasets'].remove(dataset)
                      except ValueError:
                          pass
                  if not fdict[to_del]['datasets']:
                      del fdict[to_del]
              filename_items = fdict.items()
          for filename, filename_info in filename_items:
              filename_info['datasets'] = '-'.join(filename_info['datasets'])
          return super(VIIRSSDRReader, self).filter_filenames_by_info(filename_items)
docs: Filter out file using metadata from the filenames.
  
          This sorts out the different lon and lat datasets depending on TC is
          desired or not.