RFM Use of Look-Up Tables of Absorption Coefficient



NB: Use
RFM v4.33 or later to generate these files, an extra header variable has introduced after the RFM v4.32 release

The RFM splits any ray path calculation into equivalent homogeneous path segments for each absorber and calculates an absorption coefficient k(ν,p,T) for each segment, where ν is the wavenumber (on the spectral fine grid, 0.0005cm-1 by default), and p and T are the Curtis-Godson equivalent pressure and temperature for the segment (i.e., absorber-weighted averages for the path within each atmospheric layer), but see also VMR Dependence, below.

For absorbing species represented by line parameters (i.e., molecules#1-56) the calculation of k is 'line-by-line': each local transition has its strength and linewidth adjusted for local p,T conditions, and the contributions summed at each spectral grid point.

This 'line-by-line' approach is computationally expensive and, where a large number of transitions are involved (mid-infrared) it is quicker to use pre-tabulated look-up tables (LUTs) of k [m2/kmol] (1 kmol approx 6e26 molecules). There will be some loss of accuracy since the set of (p,T) values used for the tabulation will generally not match the actual (p,T) values required for the RFM calculations, resulting in an interpolation error (which can be reduced by dense sampling of the p,T domain when constructing the tables or, if working on a fixed pressure grid, ensuring that the p tabulation values are at the Curtis-Godson pressures for the grid ).

The RFM has the ability both to create such LUTs and to use them.

With RFM v4.32 the handling of LUTs has been significantly enhanced.

Creating LUTs

The TAB Flag can be used to switch the RFM from generating spectral output files to generating LUTs as individual .tab files, one for each absorber for each spectral range. In this case the contents of the *TAN section of the driver table, which usually specify the path geometry, instead specify the axes for the LUTs (see *DIM section).

The spectral range(s) (*SPC) and list of absorbers (*GAS) have their usual definitions, allowing multiple tables to be generated in a single RFM run. The atmospheric profiles included in the *ATM section have a more subtle influence, described below.

For the 'plain' LUT calculation, the user would specify uniformly spaced axes in pressure and temperature, and the RFM would calculate one or more .tab files containing tabulations of k(ν,p,T) for different spectral ranges and/or absorbers.

Using LUTs

The LUT Flag can be used to enable the RFM to use .tab files as input, with filenames specified in the *LUT section.

To be used, the LUT file has to contain one of the absorbers specified in the *GAS section of the Driver Table, and completely span one or more of the spectral ranges specified in the *SPC section.

Unless a LUT file can be found for all spectral ranges for each specified absorber, the RFM will also require a HITRAN binary file (*HIT section) or a cross-section file (*XSC), depending on the molecule, even if these files contain no absorption feature for the molecule in the spectral range.

Note the distinction between LUTs which are assumed to specify absorption only within the spectral range covered by the LUT, and the HITRAN and cross-section files which are assumed to contain all the spectral features of the absorber. This allows LUTs to be 'plugged into' any spectral range over-riding HITRAN or cross-section data without ambiguity.

See also tabmrg.

LUT Axes

The following suggestions are provided for specifying the range and spacing of the p, T axes in the *DIM section of the Driver Table.
Max Pressure
The maximum value on the pressure axis should be larger than the maximum pressure that will be required for RFM calculations, eg for nadir viewing this should be larger than the surface pressure.
Min Pressure
Absorption k tends to become independent of pressure once the lineshapes are Doppler-limited, so 1 mb is probably a suitable minimum value.
Pressure spacing
For nadir/zenith-viewing the recommendation is either
a) for profiles on fixed pressure levels use such a profile in the *ATM section and use PCG as the first field in the *DIM section, or
b) Use a pressure axis uniformly spaced in pressure with approximately the same number of levels as the profiles specified in the *ATM section
For limb-viewing, uniform spacing in log(pressure). The number of points along the pressure axis should be approximately the same, or larger than, the number of atmospheric layers in the RFM calculations to which these LUTs will be applied.
Max/Min Temperature
The temperature axis should be larger than the range of temperatures encountered in the atmosphere to which the LUT will be applied. For the earth's atmosphere up to the mesopause a range 180-310 K should be adequate.
Temperature spacing
A uniform spacing of 10 K should be adequate for most cases.
Warning messages will be written into the rfm.runlog file if the path calculations require pressures > Max p, or outside the T range (but not if less than Min p, which is assumed to be normal). When this happens the RFM uses the edge value in the LUT rather than extrapolating.

See also tabcmp_x.

Binary Files

Unless you want transfer between different computers, or to examine the output file contents, the BIN Flag is recommended: creating binary files which are more compact and faster to read.

However, different compilers have different interpretations of binary files, so you should use the same fortran compiler for

The various Auxiliary Programs for manipulating .tab files can also be used to convert between ASCII and binary formats, and some (tabcut, tabmrg) for simple format conversion alone.

Atmospheric Profiles

Although the calculation of LUTs in principle only involves applying a fixed set of (p,T) values to the HITRAN parameters it is still necessary to provide the RFM with atmospheric profile information via the *ATM section, or at least homogeneous path conditions (HOM flag).

The main reason for this is that the 'line-by-line' calculations involve some dependence on absorber concentration (see VMR Dependence), which is obtained from the user-specified VMR profile interpolated to the LUT pressure grid.

A second reason is if the user uses LUT axis options related to the atmospheric profile itself, such as PCG, or 'relative temperatures', where the LUT temperature axes are temperatures relative to some temperature which varies as a function of the pressure axis.

The temperature and VMR profiles, interpolated to the pressure axis, are always written to the LUT file. If the user specifies a homogeneous atmosphere then the temperature and VMR profile values will be constant, but still contain as many values as points on the pressure axis.

VMR Dependence

By default, absorption coefficient values k(ν,p,T) are tabulated as functions of wavenumber, pressure and temperature.

Since HITRAN has different Lorentz half-width parameters for self-broadening and air-broadening, and molecular continua may also contain different self- and air-broadening components, when calculating these k values it is necessary to make some assumption on the absorber concentration, expressed as Volume Mixing Ratio (VMR).

Usually this is obtained by using the user-supplied profiles of pressure and VMR (see Atmospheric Profiles) to interpolate VMR to the pressure axis values.

However, the .tab file format allows for a fourth-dimension: k(ν,p,T,q), where q is the explicit dependence on the VMR.

For most species in the Earth's atmosphere the actual concentrations are too small for this to be significant, and for other molecules such as O2 or N2 the concentrations are almost constant so no tabulation as a function of VMR variability is required. In fact this extra dimension is only likely to be needed for tropospheric H2O.

The tabulated q-axis values are defined to be % scaling factors for the embedded VMR profile, thus the actual VMR used to calculate k(ν,p,T,q), will also vary with the p-axis value.

In the absence of any explicitly defined q-axis the .tab file contains a single value '100' [%] for this dimension.

Irregular Grids

A main advantage of LUTs is that the format allows for irregular spectral grid spacing - ideally with dense spectral sampling near line centres, coarser sampling in line wings and no sampling where absorption is negligible. This reduces both the file size and the access time.

It is possible to generate LUTs on predefined grids using the GRD option there is also a dedicated Auxiliary program, tabcmp_v to automatically thin out a .tab file generated on a full regular grid.

The suggested procedure is to use the RFM to generate .tab files on the full grid (which will be huge), then run the tabcmp_v program to remove spectral points which can be interpolated, thereby reducing the files to a more manageable size.

Cross-section (.xsc) files

A number of mostly heavier molecules (molecules#100+) are already represented by tabulated absorption cross-sections k(ν,p,T) rather than individual transitions (although note that k in these .xsc files is in units of [cm2/molecule] cf [m2/kmol] in the .tab files).

These are usually species where the individual line transitions are too closely spaced to be distinguished so lab measurements are restricted to the general shape of the absorption feature for a variety of different p,T conditions.

These .xsc files files are in principle the same as the RFM-created .tab files in that the RFM interpolates k in the (ν,p,T) domain but with the following differences

Since there is no saving in the 'line-by-line' aspect for such molecules, the main advantage of converting .xsc files to .tab files is the saving of internal array space required to hold the full k(ν,p,T) matrix .xsc files.

Microwave Region

The number of line transitions, per unit wavenumber, is less dense in the microwave (a few 10s of cm-1) compared to the mid infrared (1000 cm-1) so the main advantage of using LUTs is lessened.

Note also the GHZ Flag which converts the .tab file table spectral axes from cm-1 to GHz. When using these as input files, the RFM automatically determines which spectral units are used.

Accuracy Criteria

Several of the Auxiliary Programs compress the .tab files subject to a user-defined 'accuracy criterion'.

While defining accuracy in terms of the reconstructed k values would be straightforward (either in absolute terms or as a fractional error), it is not actually that useful. The problem is that the user probably wants to maintain accuracy in transmittance or radiance spectra, which are non-linearly related to k.

The approach approach is assume that the pressure axis of the .tab file approximates to the vertical layering required by the user, and that the temperature and VMR axes represent the range of atmospheres to be modelled. Following the RFM treatment (see Introduction) the (p,T,q) axes of the .tab file can then be used to define a set of Np × NT × Nq homogeneous cells, with each cell (pi, Tj, qk) containing an absorber amount uijk [kmol/m2] defined by the pressure-axis interval and embedded VMR profile as if these were layers in a vertical path through the earth's atmosphere

uijk = Δpi vi qk / (Mg)
where Δpi = pi+1-pi, the pressure axis increment in [mb] (with pNp+1=0 at the low pressure end of the axis); vi is the VMR profile value [ppv] associated with pressure value pi; qk is the VMR scaling factor [%] (or 100% if this dimension is not present), M=28.964 [kg/kmol] is the molar weight of air and g=9.80665 [m/s2] is gravitational acceleration (Note that factors of 100 converting q from percentage to fraction, and converting p from [mb] to [Pa] cancel out). The absorber amount assumed for each cell does not depend on temperature Tj.

Each cell ijk will have a monochromatic transmittance given by

τijk = exp ( - k(pi, Tj, qk) × uijk )

The user then defines the accuracy Δτ with which the transmittance of every cell matches the original transmittance as spectral points are removed and interpolated.

Auxiliary Programs

There are several standalone FORTRAN77 programs for manipulating .tab files.
To compress a file in spectral domain
To compress a file in p,T,q domain
To merge/extend files in spectral domain
To truncate a file spectral domain
Extract axis information from file
Overwrite part of the spectral range of one file with another.