GRD File Structure

31AUG22 Original
Contents

Overview

Irregular grid (GRD) files contain a subset of spectral grid points for calculation of monochomatic spectra, the results of which are then (implicitly) linearly-interpolated to a regular grid, and then convolved with the instrument line shape/spectral response function.

The aim is to reduce the CPU time, which is approximately proportional to the number of grid points used, at the expense of accuracy. The grid points are chosen so that deviations of a representative set of convolved spectra compared with the full grid always lie within some limiting maximum difference, expressed as an error in modelled transmittance.

File 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.

Overall File Structure
File_Header_Section defines NReg, hence NRec and NHex
For iRec = 1, NRec
    Data_Record Containing up to 50 hex characters

File Header Section
!CMNT Optional 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
Data Section
HEX(1:50) First 200 encoded grid points
HEX(51:100) Next 200 encoded grid points
...
HEX(*:NHex) Last encoded grid points

Data Dictionary

Field Type Description Units Range
!CMNT String*80 Comment records first character is '!'
Alt_Max Float Highest valid tangent altitude for grid [1] km > Alt_Min
Alt_Min Float Lowest valid tangent altitude for grid [1] km < Alt_Max
FNC String*3 Interpolation function [2] 'lin' expected
HEX String*NHex Irregular grid encoded as hexadecimal string [3] '0' : 'F'
NReg Long No. pts in full (regular) grid NUse
NUse Long No. pts used for irregular grid 2 : NReg
Wno_Del Float Wavenumber increment of full grid cm-1 ≥ 0
Wno_Min Float Lower Wavenumber of full grid cm-1 ≥ 0

Notes

  1. The grid will be presumably have been optimised over a particular tangent altitude range, which can be noted here. Otherwise use, eg, 0, and 120 as values.

  2. In principle various interpolation schemes can be applied but only simple linear interpolation is currently implemented (as in the RFM).

  3. A hexadecimal character consists of 4 bits, representing four regular grid points, bit value 1 implying that this is to be used as an irregular grid point. Thus hexadecimal character '8', representing bit pattern '1000' means that only the first of the four regular grid points is part of the irregular grid. Most hex characters will be probably be '0'

Document Changes

31AUG22 Original