TABCMP_X |
|
|
| Latest: TABCMP_X v2.00 (27AUG19) [Download] | 16OCT25 | |
This is intended to follow on from compression in the spectral domain (TABCMP_V) but is unlikely to produce such significant compression unless the user has vastly over-specified the resolution along one or more of the p,T,q tabulation dimensions.
Spectral dependence aside, the main variation in k is likely to be in the pressure domain (at least for molecules with distinct spectral lines) due to the influence of pressure (or Lorentz) broadening on the lineshape at pressures higher than a few hPa (troposphere and lower stratosphere). There will also be some temperature dependence both via the dependence on the pressure broadening halfwidth on temperature (a parameter read from the HITRAN database) but also the Doppler broadening at low pressures. Some molecules also have a dependence on their own partial pressure, either through self-broadening or continuum features (H2O is the main example in terrestrial atmospheres).
For any given path condition of (lnp,T,lnq) the RFM performs a 3-dimensional linear interpolation in lnk (actually 4-dimensional if the spectral axis is included).
For the compression, the user specifies an Accuracy Criterion Δτ with which the transmittance of every cell matches the original transmittance as spectral points are removed and interpolated,
| exp(-k'lu) - exp(-klu) | ≤ Δτwhere k' is the (p,T,q)-interpolated k. This limit has to be satisfied for every spectral point νl for every cell (equivalent to (pi, Tj, qk) axis points). Unlike with the spectral compression, there is no option to specify resolution.
The procedure is to evaluate the maximum error over all cells if each (p,T,q)-axis point in turn were removed and all tabulated k values (including the spectral domain) replaced by an re-interpolated value. The axis point with the smallest maximum error is removed. The procedure is repeated until no more points can be removed without exceeding the specified error limit.
First download the source code: [tabcmp_x.f90]
Then compile with any FORTRAN compiler, eg
(although, if using binary .tab files, use the same compiler as for the RFM which created the original files — see Introduction).gfortran tabcmp_x.f90 -o tabcmp_x
A typical run might be (user responses in bold)
The program takes a few seconds to remove each point, depending on the original table size.
Notes