MORSE .dia File

08FEB25
Description
MORSE Diagnostics file

Structure
Text file. Formal structure tbd
File Structure
! Diagnostics file for MORSE v.VERSID
! HDRREC
FMT           (= .dia file format version)
NPTMAX     (= Max No.pts in any microwindow)
Then repeat for each iteration ...
! -------------------------
IPIX   IMIC   ISWP   ITER   MICLAB   STATUS   = Pixel#, MW#, Sweep#, Iter#, MW label
CHI2X   CHI2Y   GAMMA   NX   NY   = Chi2X, Chi2Y, Gamma, NX, NY
NMEAS   NTRUE   OFFSET   NESR   ALT   = NMeas, Ntrue, Offset, NESR, Alt
Meas
MEAS(1) MEAS(2) ...
... MEAS(NMEAS)
Masks
MASK(1) MASK(2) ...
... MASK(NMEAS)
Y vec
Y(1) Y(2) ...
... Y(NY)
Y-F vec
DY(1) DY(2) ...
... DY(NY)
NRTV     = N.Rtv
For i = 1, NRTV Repeat for each retrieved product
    *RTV(i)
    NLVRTV(i) = N.Lev
! ix ilv iatm z[km] x a x_sd a_sd
For ix = ix1, ix2 Repeat for each state vector element connected with retrieved product i
    IX ILV(ix) IATM(ix) Z(ix) X(ix) A(ix) X_SD(ix) A_SD(ix)

Dictionary
FieldFormat Description Units Range
A(NX) E10.2 A Priori Vector various
A_SD(NX) E10.2 SD of A Priori Vector various
ALT E10.2 Sweep tangent altitude km ≥0 usually, 0 for nadir
CHI2X E10.2 χ2 value for state vector ≥ 0
CHI2Y E10.2 χ2 value for measurement vector ≥ 0
DY(NY) E10.2 Vector of (meas-forward model) differences R.U.
FMT F5.2 .dia file format identifier 0.01
GAMMA E10.2 Levenberg-Marquardt damping parameter ≥ 1
HDRREC C79 Copied from *HDR section of the driver table
IATM(NLVRTV) I4 Index of level in atmospheric profile 1:NATM
ILV(NLVRTV) I4 Index of level in species retrieval profile 1:NLVRTV
IMIC I4 Microwindow# 1:NMic
IPIX I4 Pixel# 1:NPix
ISWP I4 Sweep# 1:NSwp
ITER I4 Iteration# 1:MAXITR
IX I4 Index in state vector 1:NX
MEAS(NMEAS) E10.2 Full list of measurements in Microwindow R.U.
MASK (NMEAS) I2 List of logical masks (1=use meas.) 1 or 0
MICLAB(NMIC) 2X, C8 Microwindow Label eg NH3_0001
NESR E10.2 Radiometric noise R.U. > 0
NLVRTV(NRTV) I* No. profile levels for species i > 0
NMEAS I4 Total no. spectral points in microwindow (including masked points) NY
NPTMAX I5 Max no. spectral points in any microwindow > 0
NRTV * No. different retrieval products > 0
NTRUE I4 Total used spectral points in microwindow (=NY = ∑MASK) 1 ≥ : ≥ NY
NX I5 No.elements in state vector ≥ 1
NY I5 No.elements in measurement vector ≥ 1
OFFSET E10.2 Radiometric offset R.U.
*RTV(:) Cn (NRTV) Retrieved species (preceded by '*')
STATUS 2X, C7 Status ∈{'ITERATE', 'CONVRGD', 'STOPPED'}
VERSID C11 MORSE version identifier eg 27APR23
X(:) E10.2 (NX) State Vector K, hPa or ppmv
X_SD(:) E10.2 (NX) SD of State Vector [same as X]
Y(:) E10.2 (NY) Vector of measurements used in microwindow R.U.
Z(:) F8.2 (NLVRTV[i]) Altitude of retrieved profile level km
Example
morse.dia
At the moment a bit of a mess with all sorts of possibly useful information output each iteration by subroutine wrtdia.for

Notes
  1. IDL procedure inpdia.pro may be useful in reading the MORSE diagnostics file into a structure.