Microwave radiative transfer (non-scattering) programs.
Questions/comments, contact phil.rosenkranz@alum.mit.edu

Contents-

Two main programs:
tbdnw_spectrum.f computes a downward-propagating brightness-temperature
 spectrum at the bottom of the atmosphere.
tbupw_spectrum.f computes an upward-propagating brightness-temperature spectrum
 over a smooth ocean surface. The surface temperature is set equal to the
 surface-air temperature of the standard atmosphere (std76.dat).
These programs can be run as is, or read as examples for using the subroutines
 in another application. The programs ask for the maximum altitude at which to
 terminate the calculation. If the altitude is >40km, the azimuthal angle of 
 propagation and the terrestrial magnetic field vector are also required. Note
 that the direction of propagation is opposite to the direction in which the
 receiving antenna is pointed. The programs write to a text file and also
 produce encapsulated postscript plots using subroutines from the plot
 subdirectory.
example_spectrum.txt: test output from tbdnw_spectrum and tbupw_spectrum;
test_dn.eps: test postscript file from tbdnw_spectrum;
test_up.eps: test postscript file from tbupw_spectrum.

Subroutines for lower-atmosphere (below 40 km) and surface :

Name         Purpose  (Last substantive update)   / Main Reference
--------     -------  -----------------------     --------------
abh2o_list.f water-vapor absorption coefficient (8/6/15)
h2o_list.asc line list read by abh2o_list (7/27/15)
o2abs.f      oxygen absorption coefficient  (12/19/14)
             M.Yu. Tretyakov et al, J. Mol. Spect. v.231, pp.1-14 (2005)
abliq12.for  cloud liquid-water absorption coefficient (6/5/15)
             using dilec12
absn2.for    dry-air collision-induced absorption coefficient (4/14/05) 
             Thermal Microwave Radiation - Applications for Remote Sensing
             (C. Maetzler, ed.), p. 64-65, IET, London, 2006.
abso3_list.f ozone absorption coefficient (8/6/15)
abinto3_list.f ozone absorption-line integral (8/6/15)
             P.W. Rosenkranz, doi:10.1109/IGARSS.2006.263
o3_list.asc  line list read by abso3_list.f and abinto3_list.f (8/6/15)
             There are many ozone lines in the microwave spectrum, but this list
             contains only those that are considered relevant for a small number
             of satellite instruments, like AMSU-B, MHS, ATMS or SAPHIR.
dilec9.for   complex dielectric constant of fresh water ice (6/1/04)
             G. Hufford, Int. J. IR & MM WAVES V.12, pp.677-682 (1991)
dilec10.for  complex dielectric constant of seawater or fresh water (11/7/08)
             W. J. Ellison, in Thermal Microwave Radiation - Applications 
             for Remote Sensing (C. Maetzler, ed.), pp. 445-455, IET, London, 2006.
dilec12.for  complex dielectric constant of fresh water (4/15/14)
             P.W. Rosenkranz, IEEE Trans. Geosci. & Remote Sens.,  
             v.53(3) pp.1387-93 (2015)
ref.for      reflection coefficient from a specular surface (4/3/87)
tbarray.for  brightness temperature calculation without scattering (7/9/07)

Subroutines for Zeeman-split O2 lines (upper atmosphere):

zeeman.for   computes complex propagation coefficients (3/23/10)
cerror.for   function called by zeeman  (2/19/88)
tbmx.for     radiative transfer through an atmospheric layer (11/28/87)
e2rot.f      calculates angles and phase factor used by tbmx  (4/29/15)

Zeeman computes propagation coefficients for one O2 line, so it can be used 
where overlap of lines is not significant, e.g. above approx. 30 km altitude.
Below that altitude, Zeeman splitting is overwhelmed by pressure broadening,
and the usual non-split oxygen absorption is applicable.
Tbmx does the radiative transfer for a single slab of gas, so repeated
calls are used to integrate through the atmosphere. The equations used 
are discussed by P.W. Rosenkranz and D.H. Staelin, Radio Science
v. 23, pp.721-729 (1988). A circular-polarization basis is used. The phase
of the complex linear component (tblin) in tbmx is defined relative to the
projection of magnetic field direction on the plane orthogonal to the 
direction of propagation. The phase factor computed in e2rot will rotate tblin
to the vertical reference plane. So if you want to take into account a change in
orientation of the field along the path of integration, that differential
angle should be subtracted from the phase of tblin at each step of the program,
which can be done by means of the phase factors and their conjugates.

In order to use the Zeeman routines, a magnetic field model is required.
The International Geomagnetic Reference Field model, updated every 5 years,
is available at http://www.ngdc.noaa.gov/IAGA/vmod/
Note the conversion factor 10^5 nanotesla = 1 gauss.
-------------------------------------------------------------

