def METHOD_NAME(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 of course.
    """
    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)
    ch_index = self._get_atms_channel_index(ds_info['name'])
    data = self.concatenate_dataset(dataset_group, var_path, channel_index=ch_index)
    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