class_docstr: EDR file handler.
docstr: Get the dataset.
docstr_tok: ["Get","the","dataset","."]
code: def get_dataset(self, dataset_id, ds_info):
      """Get the dataset."""
      var_path = ds_info.get(
          "file_key", "{}".format(dataset_id["name"])
      )
      metadata = self.get_metadata(dataset_id, ds_info)
      valid_min, valid_max = self.get(
          var_path + "/attr/valid_range",
          self.get(var_path + "/attr/ValidRange", (None, None)),
      )
      if valid_min is None or valid_max is None:
          valid_min = self.get(var_path + "/attr/valid_min", None)
          valid_max = self.get(var_path + "/attr/valid_max", None)
          if valid_min is None or valid_max is None:
              raise KeyError(
                  "File variable '{}' has no valid range attribute".format(
                      var_path
                  )
              )
      fill_name = var_path + "/attr/{}".format(self._fill_name)
      if fill_name in self:
          fill_value = self[fill_name]
      else:
          fill_value = None
  
      data = self[var_path]
      scale_factor_path = var_path + "/attr/ScaleFactor"
      if scale_factor_path in self:
          scale_factor = self[scale_factor_path]
          scale_offset = self[var_path + "/attr/Offset"]
      else:
          scale_factor = None
          scale_offset = None
  
      if valid_min is not None and valid_max is not None:
          # the original .cfg/INI based reader only checked valid_max
          data = data.where((data <= valid_max) & (data >= valid_min))
      if fill_value is not None:
          data = data.where(data != fill_value)
  
      factors = (scale_factor, scale_offset)
      factors = self.adjust_scaling_factors(
          factors, metadata["file_units"], ds_info.get("units")
      )
      if factors[0] != 1 or factors[1] != 0:
          data = data * factors[0] + factors[1]
  
      data.attrs.update(metadata)
      if "DIMENSION_LIST" in data.attrs:
          data.attrs.pop("DIMENSION_LIST")
          dimensions = self.get_reference(var_path, "DIMENSION_LIST")
          for dim, coord in zip(data.dims, dimensions):
              data.coords[dim] = coord[0]
      return data
  
file_path: satpy/satpy/readers/omps_edr.py
imports: import logging
  from datetime import datetime, timedelta
  import numpy
  from satpy.readers.hdf5_utils import HDF5FileHandler
label_desc: Use image node_id 8 for calling the EDRFileHandler obj's underlying member method code with example usage: obj.get_dataset(dataset_id, ds_info) and returns: data