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.
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):
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.
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.
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.