docs: def load(self):
          """Read the internally formatet hdf5 relative spectral response data"""
          import h5py
  
          no_detectors_message = False
          with h5py.File(self.filename, 'r') as h5f:
              self.band_names = [b.decode('utf-8') for b in h5f.attrs['band_names'].tolist()]
              self.description = h5f.attrs['description'].decode('utf-8')
              if not self.platform_name:
                  try:
                      self.platform_name = h5f.attrs['platform_name'].decode('utf-8')
                  except KeyError:
                      LOG.warning("No platform_name in HDF5 file")
                      try:
                          self.platform_name = h5f.attrs[
                              'platform'] + '-' + h5f.attrs['satnum']
                      except KeyError:
                          LOG.warning(
                              "Unable to determine platform name from HDF5 file content")
                          self.platform_name = None
  
              if not self.instrument:
                  try:
                      self.instrument = h5f.attrs['sensor'].decode('utf-8')
                  except KeyError:
                      LOG.warning("No sensor name specified in HDF5 file")
                      self.instrument = INSTRUMENTS.get(self.platform_name)
  
              for bandname in self.band_names:
                  self.rsr[bandname] = {}
                  try:
                      num_of_det = h5f[bandname].attrs['number_of_detectors']
                  except KeyError:
                      if not no_detectors_message:
                          LOG.debug("No detectors found - assume only one...")
                      num_of_det = 1
                      no_detectors_message = True
  
                  for i in range(1, num_of_det + 1):
                      dname = 'det-{0:d}'.format(i)
                      self.rsr[bandname][dname] = {}
                      try:
                          resp = h5f[bandname][dname]['response'][:]
                      except KeyError:
                          resp = h5f[bandname]['response'][:]
  
                      self.rsr[bandname][dname]['response'] = resp
  
                      try:
                          wvl = (h5f[bandname][dname]['wavelength'][:] *
                                 h5f[bandname][dname][
                                     'wavelength'].attrs['scale'])
                      except KeyError:
                          wvl = (h5f[bandname]['wavelength'][:] *
                                 h5f[bandname]['wavelength'].attrs['scale'])
  
                      # The wavelength is given in micro meters!
                      self.rsr[bandname][dname]['wavelength'] = wvl * 1e6
  
                      try:
                          central_wvl = h5f[bandname][
                              dname].attrs['central_wavelength']
                      except KeyError:
                          central_wvl = h5f[bandname].attrs['central_wavelength']
  
                      self.rsr[bandname][dname][
                          'central_wavelength'] = central_wvl