RFM File Formats

.atm File: Atmospheric Profiles


Mandatory Input(s)

Atmospheric profile data.

Specified in *ATM section of Driver Table

!CMNT [optional comment records]
*PRF(i) [start repeat for each profile i]
DAT(1,i) DAT(2,i) ...
... DAT(NLEV,i) [end repeat for each profile]

!CMNT C80 Comment record(s) (optional) Record starts with '!'
NLEV I Number of profile levels ≥ 1
*PRF C20 Profile Type *HGT, *TEM, *PRE, *AEROSOL, *[gas], *[gas][iso], *[gas][iso][vib]
DAT R Profile Data depends on PRF:
*HGT Altitudes [km] Increase monotonically
*PRE Pressures [hPa] >0, Decrease monotonically
*TEM Temperature [K] >0
*AEROSOL Aerosol ext. [km-1] (no limits)
*[gas], *[gas][iso] Gas VMR [ppmv] 0:106
*[gas][iso][vib] Vib.Tem - Kin.Tem (no limits)
*END C20 End-of-File marker *END
Type: I=Integer; R=Real; D=Double Precision; Cn=character string, length n.

  1. Comment records !CMNT may be inserted anywhere except between *PRF label and the end of the corresponding DAT values
  2. NLEV is read from the first non-comment record, any subsequent text on the same record are ignored (so comments may be added)
  3. The value NLEV=1 indicates a homogeneous atmosphere (see HOM Flag). Normally a minimum value NLEV=2 is expected.
  4. A profile label *PRF (case-insensitive) record is identified by the first character being '*' and the label extends as far as the first space or end-of-record (so comments may be added after the space)
  5. The RFM requires a *HGT or *PRE profile somewhere in each file, according to whether altitude or pressure grid is used.
  6. Any profile label that isn't *HGT, *PRE, *TEM or *AEROSOL is tested to see if it is recognised as a molecular species [gas] and, if not, then it is ignored. So it is OK to have arbitrarily labelled profiles in the file.
  7. The RFM uses a definition of VMR=(no.molec.species)/(total no.molec.), which is, pedantically, a mole fraction rather than a ratio. Thus VMRs [ppmv] of all gases cannot be greater than 1E6 (there is a check for this). [The strict definition of VMR uses either (total molecules of dry air), or (total molecules of other gases) as the denominator, which become infinite for paths of, say, pure H2O]
  8. *AEROSOL extinction is allowed to be negative but a warning message is printed to the rfm.log file when this occurs.

    Isotopologues [See RFM handling of Isotopolgues]

  9. Isotopic profiles can be specified by adding an optional qualifier immediately after the molecule name *[gas](ISO) (no spaces) where ISO is the HITRAN isotopic index, eg H2O(4) for HDO.
  10. Isotope abundances are implicity scaled to the total molecule number, not expressed in absolute terms. So, for example, an HDO concentration of 3ppmv with an H2O(1) concentration of 6ppmv means that HDO is half its nominal surface concentration relative to H2O(1) (which happens to be 3 x 10-4, so in this case HDO absolute concentration would be 3ppmv x 3 x 10-4 = 9 x 10 -4 ppmv)

    Vibrational Temperatures

  11. Vibrational temperature profiles (actually Vib-Kinetic Temp difference profiles) can also be entered using the molecule name with two additional qualifiers identifying isotopologue and Vibrational Level (and the NTE Flag has to be enabled), e.g. *CO2(1)(2) for the '0 1 1 01' vibrational level (ID=2) of the major 622 isotopologue (ID=1) of CO2.

! Modified CO2 profile using 360 ppmv to 80km, reduced to 250 ppmv at 120km
3  = Number of profile levels
*HGT  [km]
              0.0    80.0   120.0
*CO2  [ppmv]
            360.0   360.0   250.0
*CO2(2) different profile shape for Isotope#2
            360.0   360.0   200.0
See ./atm directory for usable examples.

[none recent]