Description of the Codes
6SV1 (vector)
6SV1 (Second Simulation of a Satellite Signal in the
Solar Spectrum, V version 1) is a basic RT code used for calculation of look-up
tables in the MODIS atmospheric correction algorithm. It enables accurate simulations of satellite and plane
observations, accounting for elevated targets, use of anisotropic and Lambertian surfaces, and calculation
of gaseous absorption. The code is based on the method of successive orders of scattering (SOS)
approximations. The effects of polarization are included through the calculation of four components of the
Stokes vector. (Download the code)
References
S.Y. Kotchenova, E.F. Vermote, R. Matarrese, & F.J. Klemm, Jr.,
2006. Validation of a vector version of
the 6S radiative transfer code for atmospheric correction of satellite data. Part I: Path radiance,
Applied Optics, Vol. 45, No. 26, p. 6762-6774.
S.Y. Kotchenova & E.F. Vermote, 2007. Validation of a vector version of the 6S
radiative transfer code for atmospheric correction of satellite data. Part II: Homogeneous Lambertian and
anisotropic surfaces, Applied Optics, Vol. 46, No. 20, p. 4455-4464.
Coulson's tabulated values (vector)
Coulson's tabulated values represent the complete solution of the Rayleigh problem
for a molecular atmosphere. The present set of tables gives the exact distribution and polarization of the
reflected and transmitted light in a plane-parallel atmosphere scattering for a wide range of geometrical,
surface boundary reflectance and atmospheric optical conditions. These values are generally considered a
benchmark for everybody who is willing to validate a vector RT code.
Reference
K.L. Coulson, J.V. Dave, and Z. Sekera. Tables related to radiation
emerging from a planetary atmosphere with Rayleigh scattering. University of California Press,
1960
MODTRAN (scalar)
MODTRAN is a scalar RT code developed by the Air Force Research Laboratory in
collaboration with Spectral Sciences, Inc. The code calculates atmospheric transmittance and radiance, and
efficiently simulates molecular and cloud-aerosol emission. It assumes a stratified atmosphere and a
spherical earth surface. Different atmospheric characteristics, such as temperature, pressure and
atmospheric species concentrations need to be specified at the boundaries of each layer. The DISORT
(Discrete Ordinates) code is used as a subroutine in MODTRAN to enable the azimuth dependence of multiple
scattering. The latest publicly released version of the code is MOD4v3r1 (MODTRAN 4 Version 3 Revision 1),
which is available from its authors by request.
References
A. Berk et al.,
MODTRAN4 radiative transfer modeling for atmospheric correction, in Optical Spectroscopic Techniques and
Instrumentation for Atmospheric and Space Research III. Proc. SPIE 3756, July 1999.
A. Berk et al., MODTRAN4 Version 3 Revision 1 User's manual, February 11,
2003.
Monte Carlo (vector)
Monte Carlo is a three-dimensional (3-D) RT code where one photon at a time is
followed on its 3-D path through the atmosphere starting from the moment of its emission. Each photon is
characterized by a statistical weight whose value is initially set to unity. Absorption and scattering
events which may happen to the photon on its way through the scattering media change its statistical weight.
The photon is considered terminated when it emerges from the top of the atmosphere or when its statistical
weight becomes less than a specially indicated minimum. The absorption and scattering processes are
described by suitable probability functions. A Monte Carlo code is generally considered a benchmark
for comparison with other RT codes, because it does not have any limitations except for large amounts of
calculation time and angular space discretization.
Reference
F.-M. Bréon, 1992. Reflectance of
broken cloud fields: simulation and parameterization. Journal of Atmospheric Sciences, Vol. 49,
No. 14, p. 1221-1232.
RT3 (vector)
RT3 is a plane-parallel fully-polarized atmospheric RT model which calculates the
monochromatic radiation emerging from the top of an atmosphere consisting of randomly-oriented particles
(isotropic media). Both solar and thermal sources of radiation can be simulated. Multiple scattering of
radiation is calculated based on the doubling/adding approach, which is considered numerically stable for
large optical depths. (Download the code)
Reference
F.F. Evans and G.L. Stephens, A new polarized atmospheric radiative
transfer model, J. Quant. Spectrosc. Radiat. Transfer, Vol. 5, p. 413-423, 1991.
SHARM (scalar)
SHARM is a plane-parallel 1-D RT code designed to perform simultaneous computations
of monochromatic radiance/fluxes in the shortwave spectral region for arbitrary view geometries and multiple
wavelengths. The code uses the method of spherical harmonics and presently does not take polarization into
account. It has several common built-in models of anisotropic reflectance of land surface and wind-ruffled
water surface. There are two versions of the code. In the first code SHARM, the atmospheric properties can
vary arbitrarily in the vertical dimension, and the user should provide the aerosol or cloud scattering
function, single scattering albedo and optical thickness for each layer. The second code SHARM-Mie was
developed for calculations with spherical aerosols. It uses W. Wiscombe's code for Mie calculations. The
aerosol type is the same for all layers, though its concentration is variable. The gaseous absorption model
is not included in these versions of the code, and the user should provide the gaseous absorption
coefficients as an input. (Download the code)
Reference
A. Lyapustin, 2005. Radiative transfer code SHARM for atmospheric and terrestrial applications,
Applied Optics, Vol. 44, No. 36, p. 7764-7772.
VPD (vector)
VPD (the Dave code) is an accurate RT code consisting of a four-module package,
simply called as Programs A, B, C, and D. The code contains packages for both vector and scalar modes. The
vector program A (the VPA module) computes Legendre series for 4 different scattering functions, which are
used for evaluating the Stokes parameters of the radiation scattered by a sphere of a known refractive
index. The VPB module computes Legendre series representing 4 scattering functions of the normalized
scattering phase matrix of a unit volume containing a known size distribution of spherical particles of the
same type. The VPC module calculates Fourier series representing the normalized 4x4 scattering phase matrix
of a unit volume containing an arbitrary distribution of spherical particles. The VPD module is the actual
RT code that calculates the Stokes parameters. In this project, the Dave code is simply referred to as VPD.
References
J.V. Dave, 1970. Coefficients of the Legendre and Fourier series for the scattering functions of spherical
particles, Applied Optics, Vol. 9, No. 8, p. 1888-1896.
J.V. Dave and J. Gazdag, 1970. A modified Fourier transform method for multiple scattering calculations in a plane
parallel Mie atmosphere, Applied Optics, Vol. 9, No. 6, p. 1457-1466
Effects of Polarization
The effects of light polarization for different types of an atmosphere are
demonstrated here through the comparison of simulations produced by the 6SV1 code in vector and scalar
modes. The comparison shows that ignoring the effects of polarization leads to large errors in calculated TOA
reflectances. The maximum ((vector-scalar)/vector)*100% error is as large as 6.0% for an
ordinary mixed (molecular + aerosol) atmosphere. Therefore, the accounting for polarization is extremely
important for atmospheric correction of remotely sensed data, especially those measured over dark
targets, such as dark dense vegetation canopy or ocean surface.
In addition to the effects of polarization, we also estimated the influence of
errors in TOA reflectance values produced by the codes on the accuracy of aerosol optical
thickness and surface reflectance retrievals. The term "error" here implies all
differences originating from error sources associated with a particular code. The estimation method is
explained on slide 26 of the Project Presentation.
• Effects of polarization for a molecular atmosphere
Figure 1. Effects of polarization for a pure molecular atmosphere. SZA = {0.0-;
10.0-; 23.07-; 45.0-; 58.67-; 75.0-}, VZA = {0.0- - 79.0-}, AZ = {0.0-; 90.0-; 180.0-}, τ= {0.1;
0.3445}, ρ= 0.0.

• Effects of polarization for a mixed (molecular + aerosol) atmosphere
Figure 3. Effects of polarization for a mixed atmosphere. SZA = {0.0-; 11.48-;
23.07-; 32.86-; 58.67-}, VZA = {0.0- - 79.0-}, AZ = {0.0-; 90.0-; 180.0-},τaer = 0.728,
τmol = 0.177 for λ = 470 nm and τmol = 0.042 for λ =
670 nm, ρ = 0.0. The aerosol constituent is represented by "biomass burning smoke".

• Influence on optical thickness retrieval
Figure 5. Errors on ρsurf retrievals obtained for the same cases of a
mixed atmosphere as in Fig. 4, but bounded by a Lambertian surface with the reflectance of 0.05. The aerosol
constituent is represented by the AF model. Each error value is averaged over three azimuths, AZ = {0.0-;
90.0-; 180.0-}.

Results (UI) • Results (AF) • Results (AS)
• Effects of polarization for an aerosol atmosphere
Figure 2a. The average volume size distribution of particles for the
"biomass burning smoke" aerosol model.
Figure 2b. Effects of polarization for a pure aerosol atmosphere (simulated by
"biomass burning smoke"). SZA = {0.0-; 11.48-; 23.07-; 32.86-; 58.67-}, VZA = {0.0- -
79.0-}, AZ = {0.0-; 90.0-; 180.0-},τ = 0.728 (hazy conditions),λ = {470; 670} nm, ρ =
0.0.

• Influence on aerosol optical thickness retrieval
Figure 4. Errors on τaer retrievals obtained for 6 cases of a mixed
atmosphere bounded by black surface. The aerosol constituent is represented by the AF model. Each error
value is averaged over three azimuths, AZ = {0.0-; 90.0-; 180.0-}.

Results (UI) • Results (AF) • Results
(AS)
Note: For more information on the effects of polarization, please check our 6SV
validation papers. More information on the analysis of retrievals can be obtained by request from the MODIS
atmospheric correction group.