About EODG
People
Research Programme
Satellite Instruments
Methods & Tools
Laboratory Resources
Aerosol Refractive Index Measurement
(Aerosol Refractive Index Archive: ARIA)
(Atmospheric Infrared Spectrum Atlas)
(Atmospheric Anomaly Service)
Mie Code
  mie_single
  mie_lognormal
  mie_derivs
  mie_derivs_ln
  mie_dlm_single
  mieext_f
(MORSE)
ORAC
(The RFM)
Publications
Local Weather
EODG [restricted]
(AOPP)
(C5)
(printable)

mie_single.pro

Purpose

The mie_single.pro routine performs single particle Mie scattering calculations, providing the distribution of scattering radiation, as well as various particle cross sections and the asymmetry parameter.

Calling the procedure

mie_single.pro is an IDL procedure and can be called with the following command line from the IDL prompt (as long as the source file lies within your IDL_PATH environment variable):

mie_single, Dx, Cm [, Dqv=Dqv] [, /DLM] [, mthread=mthread] [, /SILENT], Dqxt, Dqsc, Dqbk, Dg [, Xs1] [, Xs2] [, SPM]

The input parameters in the above call are:

  • Dx: Particle size parameter(s). This can either be a scalar float/double quantity or a vector of values and must always be greater than zero.
  • Cm: Complex refractive index of the particle(s). Only one refractive index value can be used in each call to the procedure and must take the form complex(a,-b) (where a is the real part of the refractive index and b is the imaginary (or absorptive) part, and is either zero or negative).
  • Dqv: Cosines of the scattering angles at which to calculate the intensity functions etc. If specified it must be vector of type float or double (although it can have only one element).
  • /DLM: If set the IDL DLM version of the algorithm (mie_dlm_single) will be used instead of the IDL coded version. Note: This requires the DLM to be compiled.
  • mthread=mthread: Controls the number of threads which will be utilised by the DLM version of the algorithm. If not set by default the code will use 1 thread. See the procedure header for more information.
  • /SILENT: If set all warning messages issued by the code will be suppressed.
The output parameters are:
  • Dqxt: Extinction efficiency. This will be a vector of type double, with the same number of elements as Dx.
  • Dqsc: Scattering efficiency. This is of the same type and size as Dqxt.
  • Dqbk: Backscattering efficiency. This is of the same type and size as Dqxt.
  • Dg: Asymmetry parameter. This is of the same type and size as Dqxt.
  • Xs1: First amplitude function - amplitude of light polarized in the plane perpendicular to the directions of incident light propagation and observation. Xs1 is a complex array of the same dimension as Dqv and is only calculated if Dqv is specified.
  • Xs2: Second amplitude function - amplitude of light polarized in the plane parallel to the directions of incident light propagation and observation. Xs2 is a complex array of the same dimension as Dqv and is only calculated if Dqv is specified.
  • SPM: Scattering phase matrix elements F11 (F[0,*,*]), F33 (F[1,*,*]), F12 (F[2,*,*]), F34 (F[3,*,*]), where the 2nd dimension is the same dimension as Dqv and the 3rd dimension is the same dimension as Dx. Only calculated if Dqv is specified.

Limitations and dependences

The maximum size parameter allowed by mie_single.pro is 1200. Any value larger than this will result in the programme halting with the error message "Error: Size Parameter Overflow in Mie".

To allow the use of the dlm keyword the IDL DLM mie_dlm_single must be compiled.

This procedure is called by the mie_size_dist.pro and mie_derivs_ln.pro procedures.

Download source code

The source code for this routine and supporting routines is part of the EODG Mie scattering distribution which may be downloaded as a gzipped tar file here.

Maintained by Greg McGarragh

Earth Observation Data Group, Department of Physics, University of Oxford. Page last updated: @15:18 GMT 07-Jun-2022