docs: def convert2wavenumber(rsr):
      """
      Take rsr data set with all channels and detectors for an instrument
      each with a set of wavelengths and normalised responses and
      convert to wavenumbers and responses
  
      :rsr: Relative Spectral Response function (all bands)
      Returns:
        :retv: Relative Spectral Responses in wave number space
        :info: Dictionary with scale (to go convert to SI units) and unit
  
      """
  
      retv = {}
      for chname in rsr.keys():  # Go through bands/channels
          retv[chname] = {}
          for det in rsr[chname].keys():  # Go through detectors
              retv[chname][det] = {}
              if 'wavenumber' in rsr[chname][det].keys():
                  # Make a copy. Data are already in wave number space
                  retv[chname][det] = rsr[chname][det].copy()
                  LOG.debug("RSR data already in wavenumber space. No conversion needed.")
                  continue
  
              for sat in rsr[chname][det].keys():
                  if sat == "wavelength":
                      # micro meters to cm
                      wnum = 1. / (1e-4 * rsr[chname][det][sat])
                      retv[chname][det]['wavenumber'] = wnum[::-1]
                  elif sat == "response":
                      # Flip the response array:
                      if type(rsr[chname][det][sat]) is dict:
                          retv[chname][det][sat] = {}
                          for name in rsr[chname][det][sat].keys():
                              resp = rsr[chname][det][sat][name]
                              retv[chname][det][sat][name] = resp[::-1]
                      else:
                          resp = rsr[chname][det][sat]
                          retv[chname][det][sat] = resp[::-1]
  
      unit = 'cm-1'
      si_scale = 100.0
      return retv, {'unit': unit, 'si_scale': si_scale}