RFM Driver Table Sections

*JAC Section: Jacobian Calculation elements


Secondary Section - depends on JAC Flag.

Specify derivatives for Jacobian (=Weighting Function) calculations, effectively the elements of a 'retrieval' state vector. Apart from the usual (unperturbed) output spectra, additional spectra will be generated representing the difference (in radiance, transmission, etc) for these perturbations of the atmospheric profile.

Multiple records, arbitrary order.
Record Structure: SPECIES [ALT(1) ALT(2) ... ALT(N)]
SPECIES C*8 Perturbed parameter
ALT R*4 Perturbed altitude [km] (monotonically increasing)
FILALT C*80 Name of .tan file containing ALT values
'TAN' C*3 List of tangent altitudes from *TAN section
Allowed values for SPECIES are
SPECIES Parameter Requirements Perturbation
TEM Temperature PTBTEM = 1 [K]
PRE Pressure PTBPRE = 1 [%]
SFCTEM Surface Temperature SFC Flag Enabled PTBSFT = 1 [K]
SFCEMS Surface Emissivity SFC Flag Enabled PTBSFE = 0.01
AEROSOL Aerosol Extinction 'aerosol' in *GAS section PTBAER = 1E-4 [/km]
[gas] Absorber Concentration [gas] in *GAS section PTBVMR = 1 [%]
[gas(i)(v)] Vibrational Temperature NTE Flag Enabled PTBNTE = 1 [K]
The last column refers to the PARAMETER in rfmcon.inc (ptbcon_dat.f90 in RFM v5) which sets the size of the perturbation applied.

  1. [gas] can be any absorber listed in the *GAS section, using either chemical formula or 'F' number (CFCs), but not HITRAN index.
  2. [gas(i)] For Jacobians of specific isotopes, add the HITRAN isotope index in brackets, eg H2O(1) for the most abundant water vapour isotope If the isotope profile has not been specified in the *ATM the RFM will assume it is the same as the main gas profile. It is possible to mix specified isotopes and the molecule name on its own, eg H2O(1), H2O(2), H2O: in this case the specified isotopes will be excluded from those represented by just the molecule name but there is nothing in the output filenames to indicate this.
  3. [gas(i)(v)] For Jacobians of Vibrational Temperatures it is necessary to specify both an isotope and a 'Global Quantum Number' identifying the vibrational level, and a matching VT profile has to be loaded via the *NTE section.
  4. If the surface emissivity is 1.0 (i.e., black surface) the SFCEMS Jacobian represents a 1 % enhancement in surface emissivity but reflected components remain zero (see subroutine radsfc.for). For emissivities close to unity it may be more useful to redefine the perturbation PTBSFE as -0.01 (edit rfmcon.inc).
  5. If no ALT values are specified, the Jacobian will be calculated for a 'column' perturbation (eg increasing the entire temperature profile by 1K). For Jacobians of the surface parameters SFCTEM and SFCEMS, or Jacobians of homogeneous paths (HOM Flag), altitude is meaningless so any subsequent fields in the same record will result in a fatal error message.
  6. For a set of altitudes ALT, the 'perturbations' for each Jacobian are effectively triangular, centred on each altitude (apart from the highest and lowest) and decreasing linearly (in K or %) to zero at the adjacent altitudes. So if N altitudes are listed, there will be N-2 output spectra, and therefore at least three altitudes have to be specified. Eg if the altitudes 8, 11, 14 km are listed a Jacobian will only be created for 11 km. If the atmospheric profile is represented at 1km spacing, this '11 km' Jacobian corresponds to a 1% perturbation at 11km, 0.67% at 10 and 12km, 0.33% at 9 and 13 km.
  7. If the highest specified altitude lies above the top of the profile this is effectively regarded as infinity, i.e., the Jacobian calculation for the next highest altitude will be with respect to a perturbed 'column' above that altitude (although with the normal triangular taper below). Similar rule applies for a lowest altitude below the base of the profile and the Jacobian calculated for the next lowest altitude.
  8. The RFM inserts extra atmospheric profile levels at any Jacobian altitude ALT that is not in the original profile.
  9. The list of altitudes ALT must fit into a single record (maximum length 80 characters). If there is not enough space, enter the altitudes into a .tan format file and put the filename FILALT in the altitude list (can also be mixed with ALT values). Altitudes can be supplied in any order.
  10. Jacobian output files are created for each species at each perturbation altitude, and represent the difference (perturbed-unperturbed). The filenames are those of the normal output spectra but with an additional string inserted after the [s][t] component representing the perturbed parameter and, if applicable, perturbed altitude. e.g. if the normal (unperturbed) radiance spectrum is file rad_a08000.asc there will be additional Jacobian spectra such as rad_a08000_h2o11000.asc repeated for each species and each altitude (h2o and 11 km in this case)
  11. Pointing (line-of-sight) Jacobians can also be generated, but this is via the LOS Flag.
  12. Since calculating Jacobians can lead to a large number of output files, to run the RFM on some systems may require adding the LUN Flag. However, if only tangent point perturbations are required, add the JTP Flag.
  13. The 'TAN' string (upper/lower case) can be used as a short-hand for the full list, and only the full list, of (limb-viewing) tangent points specified in the *TAN section (NB using *TAN rather than *GEO or *ELE). However, lower and upper bound altitudes are also required, giving a record of 4 fields (you cannot add further altitudes). For example TEM 6 TAN 18 for a set of tangent heights in the *TAN section of (9, 12, 15)km, would be equivalent to TEM 6 9 12 15 18 , but TEM 6 TAN or TEM 6 TAN 18 21 would not be accepted.
  14. Use of the 'TAN' field is mandatory with the JTP Flag (which ensures that the perturbation altitudes do actually match the tangent points).

     O3 5 8 11 14 ! Perturb O3 levels @ 8,11 km in 3km layers
    TEM 5 8 11 14 ! Perturb Temp levels @ 8, 11 km in 3km layers
    PRE           ! Perturb pressure for whole profile
    sfctem        ! Surface temperature Jacobian
     H2O(1)       ! Perturb H2O main isotope column
     H2O(2)       ! Perturb H2O second isotope column
     H2O          ! Perturb remaining H2O isotopes (#3,#4 etc) column
Bug#107 (Fixed v4.34)
Bug#98 (Fixed v4.33)
Bug#88 (Fixed v4.32)
Bug#83 (Fixed v4.31)