class_docstr: ATMS SDR HDF5 File Reader.
class_docstr_tok: ["ATMS","SDR","HDF5","File","Reader","."]
code: def _get_scans_per_granule(self, dataset_group):
      number_of_granules_path = "Data_Products/{dataset_group}/{dataset_group}_Aggr/attr/AggregateNumberGranules"
      nb_granules_path = number_of_granules_path.format(
          dataset_group=DATASET_KEYS[dataset_group]
      )
      scans = []
      for granule in range(self[nb_granules_path]):
          scans_path = "Data_Products/{dataset_group}/{dataset_group}_Gran_{granule}/attr/N_Number_Of_Scans"
          scans_path = scans_path.format(
              dataset_group=DATASET_KEYS[dataset_group], granule=granule
          )
          scans.append(self[scans_path])
      return scans
  
file_path: satpy/satpy/readers/atms_sdr_hdf5.py
imports: import logging
  import os
  import dask.array
  import h5py
  import xarray
  from satpy.readers.viirs_atms_sdr_base import DATASET_KEYS, JPSS_SDR_FileHandler
  from satpy.utils import get_legacy_chunk_size
label_desc: Use image node_id 4 for calling the ATMS_SDR_FileHandler obj's underlying member method code with example usage: obj._get_scans_per_granule(dataset_group) and returns: scans