Introduction
The following assumes that the Fortran compiler options have already been
set to produce 'fast' code, eg removing array bound checks, enabling any
compiler-specific optimisations.
The RFM decomposes any problem into a calculation of monochromatic absorption
spectra for a number of single-absorber, homogeneous paths. The computation
time therefore scales approximately as the time required for a single spectral
calculation multiplied by the number of paths. That is:
(geometric component) ×
(spectral component) ×
(No. absorbing species)
Geometric Component
The principal calculation unit is a 'path',
defined as the segment of a ray path within an atmospheric
profile layer for a single gas. For example, if an atmosphere is defined
at 0, 10, 20 .... 60 km, and a single limb-viewing
spectrum from tangent height
35 km is required, there will be 3 paths (for each absorbing species)
corresponding to the altitudes 35–40,
40–50 and 50–60 km.
For zenith-viewing from the surface (ZEN
flag) there will be 6 paths (0–10, 10–20, ... 50–60 km)
Adding horizontal structure with limb-viewing
(GRA Flag) will
double the number of paths since the upward and downward parts of the
ray path are no longer identical.
If a Field-of-View convolution (FOV Flag)
is required the number of paths is again increased by
a factor corresponding to the number of tangent rays required to specify the
FOV.
The following options, starting with the simplest, are suggested to reduce the
number of paths:
- *ATM Section
- The number of paths is also determined
by the height (or pressure range)
and resolution of the atmospheric profile, i.e. the
altitude (or pressure) grid specified in the first file named in the
*ATM section of the Driver Table.
-
It is generally
adequate to set an upper limit of 120 km for the earth's atmosphere
(unless performing specialist high-altitude calculations)
and to increase the profile spacing in the
upper levels.
-
Rather than reformat the standard atmosphere files,
the suggested method is to prepare a single height (or pressure) profile in
the .atm file
format which contains the required subset of profile levels
and insert this as the first file in the
*ATM section.
- Something similar to the US Std Atmosphere levels
(hgt_std.atm) is adequate for
limb-viewing but even this is probably too fine (particularly in the upper
altitudes) for nadir-viewing.
-
The LAY and/or
BFX Flags can be used for a quick check
whether the layering makes a significant change to the calculated spectra.
- *TAN Section
- Compute as many tangent heights as possible at the same time. This is
because many path sections in the upper
atmosphere have similar Curtis-Godson p,T values so the absorption
coefficients only need to be calculated for one path segment and will
be automatically scaled by the absorber amount for similar segments
(the CLC Flag switches off this scaling).
-
For plane-parallel atmospheres
(NAD or
ZEN
flags) this makes no difference as the RFM already
uses the fact that all slant
paths have mathematically identical CG parameters.
- .fov File
(limb-viewing)
- The field-of-view (FOV) representation
critically affects the number of calculated paths. For single tangent
heights, the number of paths will be proportional to the number of points
required
to specify the FOV. For multiple, regularly-spaced tangent heights,
efficiency can be gained by using a FOV tabulation on the same spacing
as the tangent heights which allows individual tangent paths to be reused
and adding the FVZ Flag.
For example, the MIPAS trapezium-shape response (0,1,1,1,0) at
relative altitude coordinates (-2,-1.4,0,+1.4,+2) can be replaced by an
'equivalent' shape (0,y,1,y,0) where y=0.2798 for (-3,-1.5,0,+1.5,+3),
or y=0.2302 for (-2,-1,0,+1,+2). For the 1.5km FOV spacing,
a series of n limb views at 3 km increments will
require 2n+3 tangent paths instead of 5n.
Speed improvements can be made by reducing the number of spectral points
at which calculations are made, reducing the number of lines
considered, using simplified lineshapes, or replacing the line-by-line
calculation with look-up tables.