Earth Space Research Group

SBDART: A Practical Tool for Plane-Parallel Radiative Transfer in the Earth's Atmosphere


Paul Ricchiazzi, Shiren Yang, and Catherine Gautier

Earth Space Research Group
Institute for Computational Earth System Science
University of California, Santa Barbara


Download SBDART.

Report a bug.


SBDART (Santa Barbara DISORT Atmospheric Radiative Transfer) is a FORTRAN computer code designed for the analysis of a wide variety of radiative transfer problems encountered in satellite remote sensing and atmospheric energy budget studies. The program is based on a collection of highly developed and reliable physical models, which have been developed by the atmospheric science community over the past few decades. The following discussion is a brief introduction to the key components of the code and the models on which they are based.

Cloud Model

Clouds are a major modulator of the earths climate, both by reflecting visible radiation back out to space and by intercepting part of the infrared radiation emitted by the Earth and re-radiating it back to the surface. The computation of radiative transfer within a cloudy atmosphere requires knowledge of the scattering efficiency, the single scattering albedo, which is the probability that a extinction event scatters rather than absorbs a photon, and the asymmetry factor, which indicates the strength of forward scattering. We have computed these parameters using a Mie scattering code for spherical clouds droplets having a gamma size distribution and an effective radii, in the range 2 to 128um. (The effective radius is the ratio of the third and second moments of the droplet radius distribution). To allow analysis of radiative transfer through cirrus clouds we have also included the scattering parameters for spherical ice grains of a fixed size distribution with of an effective radius of 106um. For flux calculations we use the Henyey-Greenstein parameterization of the scattering phase function. This approximation depends only on the asymmetry factor and has been shown to provide good accuracy when applied to radiative flux calculations (van de Hulst, 1968; Hansen, 1969).

Gas Absorption Model

SBDART relies on low resolution band models developed for the LOWTRAN 7 atmospheric transmission code (Pierluissi and Marogoudakis, 1986). These models provide the clear sky atmospheric transmisson from 0 to 50000 cm-1 and include the effects of all radiatively active molecular species found in the earth's atmosphere. The models were derived from detailed line-by-line calculations which were degraded to 20 cm-1 resolution for use in LOWTRAN. This translates to a wavelength resolution of about 5 nm in the visible and about 200 nm in the thermal infrared.

Because these band models represent rather large wavelength bins, the transmission functions do not necessarily follow Beers law; i.e., the fractional transmission through a slab of material depends not only on the slab thickness but also on the amount of material penetrated before entering the slab. In order to allow these transmission functions to be used with DISORT (which assumes Beers law behavior), the band models are approximated with a three term exponential fit (Wiscomb and Evans, 1977).

Extraterrestrial Source Spectra

To facilitate comparison with other radiative tranfer codes, SBDART may be run with any of three extraterrestrial solar spectrum models. The default is to use the LOWTRAN-7 solar spectrum (Thekeakara, 1974). This model is based on measurements between 300 and 610nm and uses a lambda^-4 power law for longer wavelengths. Optionally, SBDART may be run with the solar models used in 5s (Tanre et al. 1990) or MODTRAN-3. The MODTRAN-3 model is probably the most accurate. It is a composite of information gathered by several different spectral measurement campaigns. For wavelenghts between 174 and 351nm the spectral information is based on observations made with the Solar Ultraviolet Spectral Irradiance Monitor flown on Spacelab 2 (VanHoosier et al. 1988). Wavelengths between 351 and 868nm are based on the results of Neckel and Labs (1984). The observations of Wehrli (1985) are used for wavelengths between 0.868 and 3.226um. And finally, for wavelengths greater 3.23um, the longwave power law dependence of LOWTRAN-7 (Thekeakara, 1974) is used.

Standard Atmospheric Models

We have adopted six standard atmospheric profiles from the 5s atmospheric radiation code which are intended to model the following typical climatic conditions: tropical, midlatitude summer, midlatitude winter, subarctic summer, subarctic winter and US62. These model atmospheres (McClatchey et al, 1971) have been widely used in the atmospheric research community and provide standard vertical profiles of pressure, temperature, water vapor and ozone density. In addition, the user can specify their own model atmosphere based on, for example, a series of radiosonde profiles. The concentration of trace gases such as CO2 or CH4 are assumed to make up a fixed fraction (which may be specified by the user) of the total particle density.

Standard Aerosol Models

SBDART can compute the radiative effects of several common boundary layer and upper atmosphere aerosol types. In the boundary layer, the user can select either rural, urban, or maritime aerosols. These models differ from one another in the way their scattering efficiency, single scattering albedo and asymmetry factors vary with wavelength. The total vertical optical depth of boundary layer aerosols is derived from user specified horizontal meterologic visibility at 0.55 um and an internal vertical distribution model. In the upper atmosphere up to 5 aerosol layers can be specified, with radiative characterstics that model fresh and aged volcanic, meteoric and the climitologic tropospheric background aerosols. The aerosol models included in SBDART were derived from those provided in the 5s (Tanre, 1988) and LOWTRAN7 computer codes.

Radiative Transfer Equation Solver

The radiative transfer equation is numerically integrated with DISORT (DIScreet Ordinate Radiative Transfer, Stamnes et al, 1988). The discrete ordinate method provides a numerically stable algorithm to solve the equations of plane-parallel radiative transfer in a vertically inhomogeneous atmosphere. The intensity of both scattered and thermally emitted radiation can be computed at different heights and directions. SBDART is configured to allow up to 40 atmospheric layers and 16 radiation streams (16 zenith angles and 16 azimuthal modes).

Surface Models

The ground surface cover is an important determinant of the overall radiation environment. In SBDART six basic surface types -- ocean water (Viollier, 1980), lake water (Kondratyev, 1969), vegetation (Manual of Remote Sensing), snow (Wiscombe and Warren, 1980) and sand (Staetter and Schroeder, 1978) -- are used to parametrize the spectral reflectivity of the surface. The spectral reflectivity of a large variety of surface conditions is well approximated by combinations of these basic types. For example, the fractions of vegetation, water and sand can be adjusted to generate a new spectral reflectivity representing new/old growth, or deciduous vs evergreen forest. Combining a small fraction of the spectral reflectivity of water with that of sand yields an overall spectral dependence close to wet soil.

SBDART Installation

The SBDART distribution package, is supplied in a single tar file, sbdart_pkg.tar.gz. To expedite web transfers, the file is compressed using gzip, available at no cost from the Free Software Foundation. The SBDART source code is FORTRAN77 compatible and contained within a single file, sbdart.f. Generation of a executable is simply a matter of compiling this file with a FORTRAN77 compiler. Many fortran compilers have an option to force all REAL declarations, constants, functions, and intrinsics to be internally interpreted as DOUBLE PRECISION. This option should be used if your computer system represents REAL numbers with 32 bit words. The tar file also includes an input documentation file, rt.doc, which fully describes all input parameters. Also included is disort.doc which was provided to us by Stamnes and documents some of the important parameters used in the DISORT radiative transfer module.

The tar file also includes a set of UNIX shell command files, sbcmd.1, sbcmd.2, sbcmd.3, sbcmd.4, sbcmd.5 and the resultant output files sbout.1, sbout.2, sbout.3, sbout.4, and sbout.5. These five command files produce output corresponding to the five sample problems given below. To ensure the code is operating properly, you should compare your results with the contents of these files.

The SBDART distribution package does not contain any graphics software. However, the output data formats are simple and the development of automatic graphics postprocessor should be straightforward. To limit the amount of superfluous output, most of the standard output formats do not include any descriptive labeling information. Though labeling text makes it easier to visually inspect output, it also increases the size of the output file and tends to complicate the design of postprocessing code. In most cases only a few quantities are output for each radiative tranfer calculation. For example, the data written for standard output, IOUT=10 (probably the most used), consists of only 9 quantities. The on-line document, rt.doc, contains descriptions of all the standard output formats.

The SBDART Input File

User inputs are handled with FORTRAN NAMELIST input. Eventhough NAMELIST input is not part of the FORTRAN77 standard it is an extremely common extension available on most modern FORTRAN compilers and is part of the FORTRAN90 standard. A significant advantage of NAMELIST input is that not all elements of an input block need be specified by the user. Since, most of the code inputs have been initiallized with reasonable default values, a new user can quickly learn how to use the code, concentrating first on specifying just a few interesting input parameters. The default state of input parameters may be determined by removing INPUT from the current working directory. When SBDART detects the absense of file INPUT, it will print the default settings of all input parameters. This output may be redirected to a file for editing.

The SBDART input file is named INPUT (must be upper case on case sensitive operating systems). This file consists of a single NAMELIST block, $INPUT (some systems require that an ampersand, "&" be used in place of the dollar sign). The on-line file, rt.doc, provides a full description of the SBDART's input parameters.


In this section we present several real-world examples of how to use SBDART. To keep the discussion as clear as possible, the instructions given below are for the UNIX operating system.

Example 1.

As a first example, here is an input file which causes SBDART to compute the spectral surface irradiance from 0.25 to 1.0 um.

    idatm=4,   isat=0, wlinf=.25, wlsup=1.0, wlinc=.005, iout=1,

Shell script sbcmd.1, which is included in the distribution package, writes these lines into file INPUT and pipes the SBDART output into file sbout.1. Execute this example now by typing, sbcmd.1, at the command prompt (it might take a minute to complete)

The sbout.1 file contains the SBDART output for the IOUT=1 standard output format (see the rt.doc). In this format each output record corresponds to a single wavelength. Columns 1 through 8 are: the wavelength (um ), filter value (unity in this example), the downwelling solar flux at the top of the atmosphere (TOA, W cm-2 um-1 ), the TOA upwelling radiant flux, the TOA direct solar flux, the downwelling radiant flux at the surface, the upwelling radiant flux at the surface and the direct solar flux at the surface. The results for this first example are shown in Figure 1. A good way to verify that SBDART is operating correctly on your system is to use your favorite graphics software to read sbout.1 and compare the results visually. The plot of surface irradiance versus wavelength provides a good test. The two plots should be nearly identical. (NOTE: due to the differences in math libraries used on different computer systems, a comparison of the output files with UNIX "diff" is bound to show some differences, but if SBDART is operating properly these will be quite small.)

Example 2.

Most of the interesting applications of SBDART require that the code be repeatedly executed to obtain output values which approximately represent the full range of the total input parameter space. For example, to investigate how surface irradiance depends on the combined effects of cloud optical depth and surface albedo, SBDART must be executed in a doubly nested loop, over these two parameters. In practice, the easiest way to implement this is to use a shell script to perform the looping. Here is a simple UNIX sh script to perform the optical depth, surface albedo problem :

# shell script for Example 2
# vary optical depth and surface albedo

rm -f sbout.2

for albcon in 0 .2 .4 .6 .8 1    ; do 
for tcloud in 0 1 2 4 8 16 32 64 ; do 
echo "
 \$END" > INPUT 
sbdart >> sbout.2

This shell script writes out a new version of INPUT for each iteration of the nested for loops. Results for this run are shown in Figure 2. Note: when reading the output from this run into your graphics software remember that the inner loop represents variations in cloud optical depth.

Example 3.

Compute the spectral surface irradiance in the thermal IR for three cases: clear skies, and high altitude clouds of optical depth 1 and 5.

Method: Similar to example 1, but wavelength range has been changed to 4-20 um. Here is a shell script which performs the required calculations:

# shell script for Example 3
# spectral output in thermal IR 

rm -f sbout.3

for tcloud in 0 1 5 ; do

echo "

sbdart >> sbout.3


The output for this run is shown in Figure 3.

Example 4.

Use SBDART to illustrate the Nakajima and King (1990) method for retrieving cloud optical depth and cloud drop effective radius from measurements in two pass bands: a non-absorptive band for which the cloud single scattering albedo is very close to one and an absorptive band with a smaller single scattering albedo.

Method: Plot the radiance at 0.55 um (non-absorptive band) on the vertical axis and radiance at 2.16 um (absorptive band) on the horizontal axis. Compute the TOA upwelling flux in these two bands for cloud optical depths = 0,1,2,4,8,16,32,64 and for cloud drop effective radius = 2,4,8,16,32,64,128. You can compute this example by running the bash script, sbcmd.4, which is included in the SBDART distripution package. Compare your results to those shown in Figure 4.

Example 5.

Compute the radiance above and below a solid layer of stratus cloud over an ocean surface. The solar zenith angle is 60 degrees, and the sensor bandpass is centered at 0.72 um. Consider clouds of optical depth 5 and 15. This example can be executed with script sbcmd.5.

Radiance information is obtained by specifying IOUT=20, 21, or 23, and by setting values for UZEN and PHI, which are the zenith angles and relative azimuth angles at which the radiance information is generated. In previous examples, the input parameter NSTR, which sets the number of internal radiation streams, was left at its default value of 4 (4 polar angles and 4 azimuthal modes). While 4 streams is adequate for irradiance computations (irradiance predictions with NSTR=4 are within a percent of calculations performed with a greater number of streams), radiance predictions require more streams to better resolve the angular dependence of the radiation field. As a result, the calculation of radiance takes much longer than irradiance.

The IOUT=23 output format provides the same irradiance information as produced by examples 2, 3 or 4 and is supplemented by the radiance output quantities. The output for IOUT=20 and 21 provides the radiance at the surface, and at the top-of-the-atmosphere (TOA), respectively. The IOUT=23 format is a combination of these two output options, providing the upwelling radiance (zenith < 90) at the TOA, and the downwelling (zenith > 90) radiance at the surface. The definitions of the viewing geometry and other radiance inputs are fully described in the rt.doc online document. In Figure 5. , we show contour plots of the radiance in the upper hemisphere as a function of zenith angle and relative azimuth angle. The contours in the upper semicircle represent TOA radiance values, while the lower semicircle shows surface radiance. The optical depth 5 case is on the left.


Kneizs, F.X., E.P. Shettle, W.O. Gallery, J.H. Chetwynd, L.W., Abreu, J.E.A. Selby, S.A. Clough and R.W. Fenn, "Atmospheric transmittance/radiance: computer code LOWTRAN 6", Air Force Geophysics Laboratroy, Report AFGL-TR-83-0187, Hanscom AFB, MA. 1983.

Kondratyev, K. Y., 1969: "Radiation in the atmosphere", Academic Press, N.Y. 10003 USA

Manual of Remote Sensing, American Society of Photogrammetry, R.G. Reeves, A. Anson, D. Landen, eds. 1st ed. Falls Church, Va., 1975.

McClatchey, R.A., R.W. Fenn, J.E.A. Selby, F.E. Volz, J.S. Garing, 1972: Optical properties of the atmosphere, (third edition), Air Force Cambridge Research Laboratories, Report AFCRL-72-0497.

Neckel, H. and D. Labs, 1984: "The solar radiation between 3300 and 12500 angstroms", Solar Physics, 90, 205-258

Nakajima T. and M.D. King, 1990: "Determination of theoretical thickness and effective particle radius of clouds from reflected solar radiation measurements, part I: theory." Journal of the Atmospheric Sciences, 47, 1878-1893.

Pierluissi, J.H., and Maragoudakis, C.E. 1986: "Molecular Transmission Band Models for LOWTRAN", AFGL-TR-86-0272, AD A180655.

Stamnes, K., S. Tsay, W. Wiscombe and K. Jayaweera, 1988: "Numerically stable algorithm for discrete-ordinate-method radiative transfer in multiple scattering and emitting layered media." Appl. Opt., 27, 2502-2509.

Staetter, R., and M. Schroeder, 1978: "Spectral characteristics of natural surfaces", Proceeding of the tenth Int. Conf. on Earth Obs. from Space, 6-11 March 1978, (ESA-SP, 134)

Tanre, D. et al, "Simulation of the Satellite Signal in the Solar Spectrum (5s), Laboratorire d'Optique Atmospherique Universite des Sciences et Techniques de Lille, 59655 Villeneuve d'Ascq Cedex, France, Jan 1988

Thekeakara, M.P., 1974: "Extra-Terrestrial solar spectrum, 3000-6100 A at 1 A intervals, Appl. OPT., 13, 518-522

Viollier, M. "Teledetection des concentrations de seston et pigments chlorophylliens contenus dans l'Ocean", These de Doctorat d'Etat, no 503, 1980

VanHoosier, M.E., J.D. Bartoe, G.E. Brueckner, and D.K. Prinz, 1988: "Absolute solar spectral irradiance 120nm-400nm: Resuts from the Solar Ultraviolet Spectral Irradiance Monitor (SUSIM) experiment on board Spacelab 2", Astro, Lett. and Communications, 27, 163-168

Wiscomb, W.J., J.W. Evans, 1977: "Exponential-Sum Fitting of Radiative Transmission Functions", Journal of Computational Physics, 24, 416-444

Wiscombe, W.J. and and S.G. Warren, 1980: "A model for the spectral albedo of snow. I: pure snow." J. Atmospheric Sciences, 37, 2712-2733.

Wehrli, Ch., 1985: "Extra-Terrestrial solar spectrum", Pubilication No. 615 July 1985, Physikalisch-Meteorologisches Observatorium and World Radiation Center, CH-7260 Davos-Dorf, Switzerland