Virtual Lab

The DLR Virtual Lab: Scattering and Radiative Transfer Codes

Virtual Scattering and Radiative Transfer Lab
- Scattering Codes
- Radiative Transfer Codes
A typical Virtual Lab sample session


The Virtual Lab (VL) project's initial goals were to provide Web access for electromagnetic scattering and radiative transfer simulation applications developed at the DLR's Remote Sensing Technology Institute and to make them more accessible for technology transfer and scientific exchange. To reduce perprogram development effort, it became clear early on that providing Web interfaces for a substantial selection of programs would only be feasible with a generic platform.

The VL hardware currently comprises a heterogeneous cluster containing seven Intel/Linux machines and one Sparc/ Solaris machine located at DLR's site in Neustrelitz. The VL's main implementation language is Python along with Zope, MySQL, and OpenLDAP. The project is based on first- and second-generation Web technology, nb. HTML 3.2 and HTTP 1.0.

A more detailed description of the VL can be found in a recent article published by Computing in Science & Engineering:
DLR's Virtual Lab - Scientific Software Just A Mouse Click Away
(CISE, Vol. 5, No. 1, Jan./Feb. 2003. Copyright IEEE/AIP.)

The Virtual Scattering and Radiative Transfer Lab

Remote sensing of the earth and its environment becomes more and more important in the context of sustainable development and global change monitoring. Common to all remote sensing techniques is the fact that they are based on information coming from scattered and transmitted electromagnetic waves in different spectral ranges. Therefore, realistic models of how such electromagnetic waves are transmitted and scattered under certain conditions are of particular importance in remote sensing applications.

During the past we have developed several programs allowing light scattering analysis on dielectric but, in general, nonspherical particles in the resonance region. In this region the scattering models must be based on a full-wave analysis of Maxwell's equations. This is a mathematically pretentious task. Concerning radiative transfer we have developed models to perform simulations in the infrared (line-by-line model) as well as the visible and the ultraviolet spectral range. All these programs have been successfully applied to retrieve trace gases in the earth's atmosphere, to determine cloud and aerosol properties, and to perform system studies for the detection of natural and anthropogenic high-temperature events like volcanoes and bio-mass burning. Our scattering and radiative transfer programs represent the state-of-the-art in many aspects, and they are also of interest in other fields than remote sensing (in technical and medical diagnostics, for instance)

Scattering Codes

In the VL, sophisticated programs are available allowing light scattering analysis up to the geometric optics region on various classes of nonspherical particles such as spheroids, hexagonal and irregular ice particles, and Chebyshev-like particles which are used in remote sensing to model aerosol components, microphysical properties of Cirrus clouds and hydrometeors, for instance. Amongst other, the following programs can be used:

  • mieschka: This program calculates the integral and differential scattering properties of axisymmetric particles in a fixed orientation. It includes spherical particles as a special case.
  • pmieschka: This program calculates the integral and differential scattering properties of randomly oriented axisymmetric particles. It also includes spherical particles as a special case.
  • CYL: The program CYL aims to compute integral and differential scattering quantities of finitely extended cylinders with circular, hexagonal or octagonal cross sections in random orientation.
  • QCACP: The program QCACP aims to model an inhomogeneous host scatterer which contains up to three different classes of densly packed small spheres. The inhomogeneous host scatterer is replaced by an homogeneous analog with an effective permittivity. The method is based on the so-called "quasi-crystalline approach with coherent potential (QCA-CP)" [Tsang et al., 1985].

The methodological background of mieschka, pmieschka, and CYL are the generalization of the separation of variables method [Rother, 1998] (GSVM) applied in spherical coordinates for the first two programs. In CYL this method is applied in cylindical coordinates in combination with Huygen's principle to find an approximation for finite cylindrical columns having noncircular cross-sections [Rother et al., 1999]. Essential numerical simplifications can be achieved if the scattering geometry exhibits a certain symmetry. This was demonstrated in Rother et al. [2001], for instance.

There are two general approaches which have been widely used in the past to solve light scattering problems on nonspherical particles rigorously. These are the Finite-Difference methods (FD) and the Boundary Integral Equation methods (BIE) which have traditionally been treated separately. FD methods are based on the description of the scattering problem in terms of partial differential equations. They apply a discretization scheme to some (Method of Lines (MoL) [Rother, 1999a]) or to all spatial coordinates (conventional FD methods, see e.g. Taflove [1995]) of the corresponding partial differential equation. BIE methods, such as Waterman's T-matrix approach, start from Green's theorem in conjunction with the Helmholtz equation and the related free-space Green's function [Tsang et al., 1985]. With the GSVM both approaches can be condensed into a common mathematical body [Rother, 1999b]. This is achieved by deriving the surface Green's function related to the scattering problem. This Green's function establishes the link between BIE methods and methods based on the solution of the corresponding partial differential equation.

Radiative Transfer Codes

Modelling the transfer of electromagnetic radiation in the atmosphere is important for meteorology, climatology, and atmospheric remote sensing. Radiative transfer in the atmosphere is driven by absorption, emission, and scattering of light at molecules, aerosols, and hydrometeors [Liou, 1980]. The change of radiation intensity (radiance) passing through the atmosphere is formally described by a complex equation which does not allow for a general solution. A large variety of radiative transfer codes have been developed in the past decades based on approximations etc. appropriate for a a certain application and/or wavenumber regime.

The following models are currently available in the VL for radiative transfer:

  • MIRART: The Modules for InfraRed Atmospheric Radiative Transfer are a suite of programs for high-resolution, line-by-line radiative transfer calculations emphasizing efficient and reliable numerical algorithms and a modular approach appropriate for simulation and retrieval in atmospheric spectroscopy [Schreier, 2003]]. The code has been carefully tested in the framework of two extensive intercomparisons [Clarmann, 2002]]. Recently, the PyFort tool has made individual MIRART modules accessible from a Python layer. These Python scripts are usually called from a Unix command line but are also available through the VL.
  • Squirrl: (Schwarzschild Quadrature InfraRed Radiation Line-by-line)
    SQUIRRL is the main program of the MIRART suite of programs.
  • select
    -- read Hitran or Geisa database and select a frequency range or molecule
  • lines2xs
    -- compute cross sections
  • planck
    evaluate Planck's function
  • PFUI: An earlier 'Python Fascode User Interface' was an inspiration for the VL's development [Schreier, 2001]. PFUI already significantly simplified the usage of the Fascode (fast atmospheric signature code), a line-by-line program that the US Air Force developed. Now the same functionality is available in the VL's unified platform. (Due to licensing issues, only input-file generation is supported.)
  • WIMP -- Web Interface Modtran using Python (same as for PFUI).
  • ST -- The radiative transfer code ST is designed to calculate the full Stokes vector in an atmosphere surface system with one homogeneous atmospheric layer including aerosols, Lambertian surface or a wind roughed water surface. The matrix operator method is used to solve the radiative transfer equation. Aerosols are considered as spheres. The output is the upward and downward diffuse Stokes vector at the top and bottom of atmosphere.

A typical Virtual Lab sample session

The following figures show an excerpt of a typical session using the MIESCHKA code for computing scattering properties for spherical and non-spherical particles. For other software components the sequence of providing the relevant input parameters is similar.

Figure 1 shows the complete specification for MIESCHKA to perform a single scattering calculation for a homogeneous water drop. Before the required input data is complete, the user is requested to fill out a sequence of individual HTML forms containing input masks.

As soon as the input for the numerical experiment is complete, the "Start Task" button will appear near the top of the screen.

Figure 2 indicates that the VL cluster has completed this particular task. This screen also echoes standard output and standard errors during the task.

After pressing the Show Results" button a plot pops up, Figure 3, serving as a quicklook. This plot shows the scattering phase function for a purely scattering water drop.

The complete results for each task are packed into a tar-file "resultfiles.tar" which can readily be downloaded to the user's local directory.

Using the button "Abort task and go back to InputDialog" allows the user to modify some of the parameters and re-run the task, leading to another plot, in this case for an absorbing water drop, see Figure 4.


  • Thomas von Clarmann, M. Höpfner, B. Funke, M. López-Puertas, A. Dudhia, V. Jay, F. Schreier, M. Ridolfi, S. Ceccherini, B.J. Kerridge, J. Reburn, and R. Siddans
    Modeling of atmospheric mid-infrared radiative transfer: The AMIL2DA algorithm intercomparison experiment.
    J. Quant. Spectrosc. Radiat. Transfer, 78, 381-407, 2002.
  • Kuo-Nan Liou.  
    An Introduction to Atmospheric Radiation.
    Academic Press, Orlando, 1980.
  • T. Rother.
    Generalization of the separation of variables method for nonspherical scattering on dielectric objects.
    J. Quant. Spectrosc. Radiat. Transfer, 60, 335-353, 1998.
  • T. Rother.
    The discretized Mie-formalism for electromagnetic scattering.
    Progress in Electromagnetic Research, 17, 91-183, 1999a.
  • T. Rother.
    General aspects of solving Helmholtz's equation underlying eigenvalue and scattering problems in electromagnetic wave theory.
    J. Electromagn. Waves Appl., 13, 867-888, 1999b.
  • T. Rother, S. Havemann, and K. Schmidt.
    Scattering of plane waves on finite cylinders with noncircular cross sections.
    Progress in Electromagnetic Research, 23, 79-105, 1999.
  • T. Rother, K. Schmidt, and S. Havemann.
    Light scattering on hexagonal ice columns.
    J. Opt. Soc. Am. A, 18, 2512-2517, 2001.
  • F. Schreier and B. Schimpf
    PFUI - Python Fascode user interface.
    In P. Eriksson and S. Bühler (editors), Atmospheric Millimeter and Sub-Millimeter Wave Radiative Transfer Modeling II,
    pages 191-205. Universität Bremen, Institut für Umweltphysik. Logos-Verlag, Berlin, 2001.
  • F. Schreier and U. Böttger
    MIRART, A Line-By-Line Code for Infrared Atmospheric Radiation Computations incl. Derivatives.
    J. Atmos. & Oceanic Optics, 16, 262-268, 2003.
  • A. Taflove.
    Computational Electrodynamics - The Finite-Difference Time-Domain Method
    Artech House, Boston, 1995.
  • L. Tsang, J. A. Kong, and R. T. Shin.
    Theory of Microwave Remote Sensing
    John Wiley & Sons, New York, 1985.

Points of Contact...

For more general information on VL, please visit the VL website or contact the VL administrator or, Dr. Jochen Wauer.

For scientific questions related to:

1) Scattering codes, please contact Dr. Jochen Wauer

2) Radiative transfer codes, please contact Dr. Franz Schreier