## *TAN Section: Tangent Heights (or other ray path definitions) |

**Type**- Primary Section#6
**Description**- Contents of section defined according to section label and flags:
(NB: 'limb-viewing' here refers to any mode using a full ray-trace
calculation for a curved atmosphere,
ie any mode
*not*using the`HOM`,`FLX`,`NAD`,`ZEN`or`TAB`Flags). -
`*TAN`can also be used as the default section label for all options unless`*GEO`or`*ELE`are specifically required since in the other cases the definition of this section's contents are determined by the Flags. **Format**- Generally: Multiple fields, arbitrary order, except for
`*DIM`Section/`TAB`Flag - see [specific page].-
Section Flags Field Type Description Range (any) (any) `FILTAN`C*200 Name of a `.tan`file`*TAN``TAN`R*4 Actual (refracted) tangent heights [km] (Lowest:Highest) `*HGT`levels in first`.atm`file`*GEO``GEO`R*4 Projected (geometric) tangent heights [km] -(Radius of Curvature):(top `*HGT`level after refraction)`*ELE``ELE`R*4 Elevation angles [deg] relative to observer horizontal,

usually negative=viewing below the horizontalObserver outside atmosphere: -90:(top `*HGT`level after refraction)

Observer within atmosphere: -90:+90

`ZEN`Flag: 0.1:+90

`NAD`Flag: -90:-0.1`*SEC``NAD`or

`ZEN``SEC`R*4 Airmass factors (=sec(zenith angle)) [dimensionless], for plane-parallel atmospheres >= 1.0 (1=vertical path) `*LEV``FLX``LEV`R*4 Altitude levels [km] for flux calculation outputs. (Lowest:Highest) `*HGT`levels in first`.atm`file`*LEN``HOM``LEN`R*4 Path lengths [km] for homogeneous path calculations. >0 `*DIM``TAB`See [specific page] **Notes**- The type of field is identified by first
using the FORTRAN INQUIRE statement
to see if it is a
`.tan`filename (`FILTAN`). in which case the file is opened and the numbers read from the file - or else read the value directly from the field itself, treated as a character string. - For limb or zenith
paths with 'space' as the background, a cosmic background
temperature 2.7 K is assumed, set by parameter
`TEMSPA_DEF`in file`phycon.inc`(`TEMSPA`in`phyadj_dat.f90`for RFM v5 (modified using the`*PHY`section) - For limb paths which intersect the surface (defined as the lowest
altitude specified in the first
`*HGT`profile in the`*ATM`Section rather than 0km), it is also necessary to enable the`SFC`Flag so that the surface parameters are specified. This is always mandatory for`NAD`and`FLX`(although not`FLX+ZEN`) geometries which, by definition, include surface terms. Although`TAN`values themselves must lie within the atmosphere it is possible that the FOV convolution causes the 'surface' to be seen, in which case a fatal error results unless the`SFC`Flag is enabled. - The
***GEO**Section label can be used to specify rays which intersect the surface (in which case the 'refracted' tangent height is meaningless). The minimum geometric tangent height, given by to -(Radius of Curvature), corresponds to a nadir view. - The
***ELE**Section label requires the`OBS`flag to be enabled since an observer altitude has to be specified in order to calculate the projected path. However, this is the only way to specify an 'upward-viewing' path in a spherical atmosphere since tangent height, refracted or otherwise, has no meaning in this case. - Tangent heights, elevation angles and path lengths must generally be distinct to 5 significant figures so that they give distinct output filenames (eg 1m below 100km, 0.001 deg elevation, but note: 1 km above 100km) otherwise a 'Repeated Tan.Hgt' fatal error message results.
- The use of
`*TAN, *ELE`or`*GEO`section labels also has an impact on the interpretation of the data in the`.fov`file. - With the
`GRA`Flag enabled (limb-viewing with horizontal gradients), the location of the tangent point is either determined by the observer location`PSI=PSIOBS`(`OBS`Flag enabled) or taken at the reference profile,`PSI=0.0`as defined in the`*ATM`section. - Note that there are two different types of
`*LEV`sections, the one here is a primary section and requires the`FLX`Flag to be enabled. The other definition of the`*LEV`section is a secondary section linked to the`LEV`Flag which generates intermediate output levels for a ray path calculation. The`*FLX`and`LEV`Flags are mutually exclusive so there should be no ambiguity in the interpretation of the`*LEV`section. - With the
`*LEV/FLX`option if`LEV`does not correspond to an existing atmospheric profile level a new level is inserted. This may not be desirable when also using the`MTX`option so a warning is issued in that case. -
`*LEN`section: using an appropriate path length [km] will scale optical depth to give the spectrum of absorption coefficient [eg m^{2}kmole^{-1}]: path length*s*[m] is related to dimensionless optical depth χ (generated with`OPT`flag) byχ =

where*k*(*v**p**s*) / (*R**T*)*k*is the absorption coefficient [m^{2}kmole^{-1}],*v*is the volume mixing ratio [ppv],*p*is the pressure [Pa],*R*is the molar gas constant [J K^{-1}kmole^{-1}] and*T*is the temperature [K]. So specifying a homogeneous path pressure of 1013.25 Pa, temperature 296 K, and VMR 1 x 10^{-6}(ie 1 ppmv), a lengths = (

would give an optical depth spectrum numerically identical to the absorption coefficient spectrum*R**T*)/(*v**p*) = ( 8314.472 x 296 ) / ( 1 x 10^{-6}x 1013.25 ) = 2.4289 x 10^{9}m = 2.4289 x 10^{6}km*k*[m^{2}kmole^{-1}]. However, since the RFM only allows path lengths up to 10 000 km, a suggested value is 2428.9 km to give [m^{2}mole^{-1}] (or else increase the VMR to 1000 ppmv).

- The type of field is identified by first
using the FORTRAN INQUIRE statement
to see if it is a
**Examples**- Normal use as list of actual tangent heights for limb path calculations
*TAN paths.tan ! list of tangent heights from a standard scan pattern. 40 41 42 ! additional paths at 40, 41, 42 km,

- Nadir-viewing calculations for plane-parallel atmosphere
(
`NAD`Flag).*SEC 1 ! Direct nadir view only

- Set of elevation angles for a balloon observations (
`OBS`Flag)*ELE -90, -1.5, -0.5, 0.0, 0.5, 1.5 ! [deg] nadir, plus views towards limb

**Bugs**- Bug#117 (Fixed v4.36)
- Bug#85 (Fixed v4.31)
- Bug#83 (Fixed v4.31)
- Bug#69 (Fixed v4.28)
- Bug#2 (Fixed v4.02)