.grd File

RFM Files: Irregular Spectral Grid

13FEB24

Type
Input(s), mandatory if GRD Flag enabled without LUT Flag.

Description
Irregular grid for spectral calculations (MIPAS-specific format — the irregular spectral file is probably more convenient for other uses)

Filename
Specified in *GRD or *SPC sections of the Driver Table

Structure
The file consists of a header section, then a set of data records containing 50 hexadecimal characters (ie 4 bits each) corresponding 200 points on the regular grid. A bit value 1 means 'use this point' and 0 means 'ignore'.

Thus a grid of NREG points will be represented by
NHex = Ceil ( NREG/4 ) hexadecimal characters, requiring
NRec = Ceil ( NREG/200 ) data records.

The last data record is shortened as required, and the last hex character padded with 0 bits.

File Structure
!CMNT Comment record(s), starting with '!'
FNC Interpolation Function
NREG   NUSE   WNO_MIN   WNO_DEL No.pts in Full, Irr. grids, Spectral axis
ALT_MIN   ALT_MAX Tangent altitude range for grid
For iRec = 1, NRec
   HEX(1:50) First 200 encoded grid points
   HEX(51:100) Next 200 encoded grid points
   ... etc.
   HEX(*:NHex) Last encoded grid points
[eof]

Fields
Field Type Description Units Range
!CMNT C80 Comment records (first character is '!')
FNC C3 Interpolation function[1] 'lin'
NREG I No. pts in full (regular) grid [2] NUSE
NUSE I No. pts used for irregular grid 1 < : ≤ NREG
WNO_MIN R Lower Wavenumber of full grid [2] cm-1 ≥ 0
WNO_DEL R Wavenumber increment of full grid [2] cm-1 ≥ 0
ALT_MIN R Lowest valid tangent altitude for grid km ALT_MAX
ALT_MAX R Highest valid tangent altitude for grid km ALT_MIN
HEX(:) Z Irregular grid encoded as hexadecimal string ∈{0, 1 ... F}
Type: I=Integer; Z=Hexadecimal; R=Real; Cn=character string, length n.

In principle, the FNC field (always lower case) may indicate any of the following interpolation methods (however, see [1])
FNCInterpolation Function
lin y = ax + b
qad y = ax2 + b + c
cub y = ax3 + bx2 +cx + d
1li y = 1 / ( ax + b )
1qa y = 1 / ( ax2 + b + c )
1cu y = 1 / ( ax3 + bx2 +cx + d )
1sq y = 1 / ( ax + b )2
lor y = 1 / ( ax2 + b )
lnl y = exp ( ax + b )
lnc y = exp ( ax3 + bx2 +cx + d )

Notes
  1. FNC: All current irregular grids use the lin function, i.e., simple linear interpolation.

  2. A negative value of NREG is interpreted as defining spectral ranges in GHz rather than cm-1

Example
iasi_0.25.grd (Irregular grid for IASI spectral range derived from 0.001 cm-1 regular grid)

Python Reader
read_grd.py

Bugs
[none recent]