MORSE .res File

07JUL26

Description
Residual spectra, i.e. difference between (measured spectra) − (forward model calculation) after retrieval.
NB: Format changed from v20APR26 to include measurements SPC as well as residuals RES
These files are generated if RESFIL is defined in the *OUT section of the Driver Table.

Structure
File Structure
! Residual spectra generated by MORSE v. VERSID Fixed header record
! HDRREC User-set header record
NPIX   NMIC = No. pixels, microwindows Dimensions record
For IPIX = 1, NPIX
   [Common_Pixel_Header] 3 records
   For IMIC = 1, NMIC
     [Common_Microwindow_Header] 1 record
     IMIC   NSWP   NPTS   = MW#, NSweeps, NPoints Dimensions record
     For ISWP = 1, NSWP
       ISWP = Sweep index 1 record
       FLG(1) FLG(2) ... Multiple records
... FLG(NPTS)
       RES(1) RES(2) ... Multiple records
... RES(NPTS)
       SPC(1) SPC(2) ... Multiple records
... SPC(NPTS)
Fields
FieldFormatDescription Range
VERSID C11 MORSE version identifier
HDRREC C79 From *HDR section of the driver table
NPIX I10 No. of pixels or profile locations ≥ 1
NMIC I10 No. of microwindows used in retrieval ≥ 1
IMIC I10 Index of microwindow 1 : NMIC
NSWP I10 No. of sweeps for MW [2] ≥ 1
NPTS I10 No. of spectral points for MW ≥ 1
ISWP I10 Index of sweep 1 : NSWP
FLG(NPTS) I2 1=used point, 0=masked point 1 or 0
RES(NPTS) * Residual spectrum values[3]
SPC(NPTS) * Measurement spectrum values[3]

Notes
  1. MORSE generates residuals after each microwindow/sweep is processed, so these are not 'true' residuals since the retrieved profile (and therefore forward model radiance) continues to change after the residuals are output.

  2. NSWP: For nadir-viewing this will be 1. For limb viewing this will be up to a maximum of the number of sweeps within a limb scan (depending on the tangent altitude range over which the microwindow is defined).

  3. RES,SPC: Units are the same as the spectral measurements, i.e. radiance, brightness temperature or transmittance.

Example
morse.res

Reader
read_res.py