Electromagnetic Scattering by Particles and Surfaces

FORTRAN Codes for the Computation of the Bidirectional Reflection Function for Flat Particulate Layers and Rough Surfaces

This webpage provides access to two collections of FORTRAN codes.

The first one can be used to compute the (scalar) bidirectional reflectance of a semi-infinite homogeneous slab composed of arbitrarily shaped, randomly oriented particles based on a rigorous numerical solution of the radiative transfer equation.

The second one can be used to compute the Stokes reflection matrix of a rough interface separating two homogeneous half-spaces with different refractive indices (e.g., a rough ocean surface).

PARTICULATE SEMI-INFINITE LAYERS

The code brf.f solves the Ambartsumian's nonlinear integral equation for the reflection function using a simple iterative method. Since this technique bypasses the computation of the internal field, it is by far the fastest and most accurate numerical approach available.

The codes are ideally suitable to computing the BRF for flat snow, soil, and powder surfaces and optically thick clouds and may find applications in geophysics, physics, biophysics, and industrial research.

A detailed user manual to the codes has been published: M. I. Mishchenko, J. M. Dlugach, E. G. Yanovitskij, and N. T. Zakharova, Bidirectional reflectance of flat, optically thick particulate layers: An efficient radiative transfer solution and applications to snow and soil surfaces, J. Quant. Spectrosc. Radiat. Transfer, 63, 409-432 (1999). A hardcopy reprint of this paper is available from Michael Mishchenko upon request. Please leave a message at mmishchenko@giss.nasa.gov indicating your name and mailing address.

The users of the codes are encouraged to visit this page on a regular basis for information on latests developments, warnings, and/or errors found. We would highly appreciate informing us of any problems and errors encountered with these codes. Please e-mail your questions and comments to mmishchenko@giss.nasa.gov.

FORTRAN codes

To retrieve a code, click on the code name and use the "Save As..." option from the "File" menu.

  • refl.f - This code computes Fourier components of the reflection function
  • interp.f - This code computes the bidirectional reflection function for a given set of scattering geometries
  • spher.f - This code computes the Legendre expansion coefficients for polydisperse spherical particles using the standard Lorenz-Mie theory

The codes must be run in the following sequence: spher.f -> refl.f -> interp.f.

Note that the Legendre expansion coefficients for polydisperse, randomly oriented nonspherical particles and sphere aggregates can be computed using O T-matrix codes also available on this website. The expansion coefficients for the standard and double-peaked Henyey-Greenstein phase functions are computed using Eqs. (15) and (19) of the manual. Below we also provide the Legendre expansion coefficients for two nonspherical ice particle models described in the manual.

Benchmark results

The following output files were computed by the codes in their current settings and may provide a useful test of the performance of the codes on different computers:

The file refl.write is not given here because of its large size.

Legendre coefficients for two ice particle models


ROUGH SURFACES

The code ocean.shadow.f calculates the Stokes reflection matrix for illumination from above for a statistically rough surface separating two half-spaces with different refractive indices. The effect of shadowing is included.

The code ocean.phase.f calculates Fourier components of the Stokes reflection matrix for illumination from above for a statistically rough surface separating two half-spaces with different refractive indices. The effect of shadowing is included.

A detailed user manual to the codes has been published: M. I. Mishchenko and L. D. Travis, Satellite retrieval of aerosol properties over the ocean using polarization as well as intensity of reflected sunlight, J. Geophys. Res., 102, 16989-17013. A hardcopy reprint of this paper is available from Michael Mishchenko upon request. Please leave a message at mmishchenko@giss.nasa.gov indicating your name and mailing address.

The users of the codes are encouraged to visit this page on a regular basis for information on latests developments, warnings, and/or errors found. We would highly appreciate informing us of any problems and errors encountered with these codes. Please e-mail your questions and comments to mmishchenko@giss.nasa.gov.

FORTRAN codes

To retrieve a code, click on the code name and use the "Save As..." option from the "File" menu.

CONTACT

Please address all inquires about this research to Dr. Michael Mishchenko.

Scattering Home
Books | Publications On-Line
Electromagnetics Community Directory
Codes: T-Matrix | Bidirectional Reflectance | Lorenz-Mie
Related Codes and Databases