RT Codes Comparison Project


The joint Radiative Transfer (RT) code comparison project is devoted to compare several vector/scalar RT codes, which are performed by the MODIS atmospheric correction group at the University of Maryland in collaboration with the NASA Goddard Space Flight Center.





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




Comparison


The comparison was performed separately for molecular, aerosol and mixed (molecular + aerosol) atmospheres. For a molecular atmosphere, TOA (top-of-atmosphere) reflectances produced by the RT codes were compared to Coulson's tabulated values. In two other cases, the 6SV1 simulations were compared to those produced by the Monte Carlo code and then used as benchmarks for other codes.


1. Molecular atmosphere


  • • Conditions of the comparison
    (6SV1, RT3, MODTRAN, & SHARM vs. Coulson's)

  • • Results of the comparison
    (6SV1, RT3, MODTRAN, & SHARM vs. Coulson's)

  • Note: VPD was dropped from the comparison after the completion of the molecular case.
  • • Conditions of the comparison
    (6SV1 vs. Monte Carlo)

  • • Results of the comparison
    (6SV1 vs. Monte Carlo)


2. Aerosol atmosphere


  • • Conditions of the comparison
    (6SV1, RT3, MODTRAN, & SHARM vs. Coulson's)

  • • Results of the comparison
    (6SV1, RT3, MODTRAN, & SHARM vs. Coulson's)

  • Note: In addition to the Excel files with the results, we also provide 6SV1 Mie-files with the calculated phase function values (251 Gaussian angles) for each value of optical thickness.
  • • Conditions of the comparison
    (6SV1 vs. Monte Carlo)

  • • Results of the comparison
    (6SV1 vs. Monte Carlo)


3. Mixed atmosphere


  • • Conditions of the comparison
    (6SV1, RT3, MODTRAN, & SHARM vs. Coulson's)

  • • Results of the comparison
    (6SV1, RT3, MODTRAN, & SHARM vs. Coulson's)

  • • Conditions of the comparison
    (6SV1 vs. Monte Carlo)

  • • Results of the comparison
    (6SV1 vs. Monte Carlo)





Benchmark


Can a regular RT code be used as a benchmark?


Since 6SV1 demonstrates excellent overall agreement with Coulson's tabulated values (within 0.22%) and Monte Carlo simulations (better than 0.4% for a molecular atmosphere and 0.9% for an aerosol atmosphere), this code can also be used as a benchmark for RT comparison studies. Below you can check the calculated 6SV1 TOA reflectances for the specified conditions.


1. Molecular atmosphere


2. Aerosol atmosphere


3. Mixed atmosphere




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.