class_docstr: VIIRS SDR HDF5 File Reader.
docstr: Get the dataset corresponding to *dataset_id*.
  
  The size of the return DataArray will be dependent on the number of
  scans actually sensed, and not necessarily the regular 768 scanlines
  that the file contains for each granule. To that end, the number of
  scans for each granule is read from:
  ``Data_Products/...Gran_x/N_Number_Of_Scans``.
docstr_tok: ["Get","the","dataset","corresponding","to","*","dataset_id","*",".","The","size","of","the","return","DataArray","will","be","dependent","on","the","number","of","scans","actually","sensed",",","and","not","necessarily","the","regular","768","scanlines","that","the","file","contains","for","each","granule",".","To","that","end",",","the","number","of","scans","for","each","granule","is","read","from",":","``","Data_Products\/","...","Gran_x\/N_Number_Of_Scans","``","."]
code: def get_dataset(self, dataset_id, ds_info):
      """Get the dataset corresponding to *dataset_id*.
  
      The size of the return DataArray will be dependent on the number of
      scans actually sensed, and not necessarily the regular 768 scanlines
      that the file contains for each granule. To that end, the number of
      scans for each granule is read from:
      ``Data_Products/...Gran_x/N_Number_Of_Scans``.
      """
      dataset_group = [
          ds_group
          for ds_group in ds_info["dataset_groups"]
          if ds_group in self.datasets
      ]
      if not dataset_group:
          return
      dataset_group = dataset_group[0]
      ds_info["dataset_group"] = dataset_group
      var_path = self._generate_file_key(dataset_id, ds_info)
  
      data = self.concatenate_dataset(dataset_group, var_path)
      data = self.mask_fill_values(data, ds_info)
  
      data = self.scale_data_to_specified_unit(
          data, dataset_id, ds_info
      )
      data = self._update_data_attributes(data, dataset_id, ds_info)
  
      return data
  
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 3 for calling the VIIRSSDRFileHandler obj's underlying member method code with example usage: obj.get_dataset(dataset_id, ds_info) and returns: data