The `mie_derivs.pro` procedure performs single particle Mie scattering calculations, providing the distribution of scattering radiation, various particle cross sections and the analytically derived derivatives of all calculated quantities.

A the derivation of expressions for the analytical derivatives of Mie scattering terms is covered by:

Grainger, R.G., J. Lucas, G.E. Thomas, G. Ewan, "The Calculation of Mie Derivatives", *Appl. Opt.*, **43**(28), 5286-5393, 2004.

`mie_derivs.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_derivs, Dx, Cm, Dqv [, /SILENT], Qext, Qsca, dQextdx, dQextdRem, dQextdImm, dQscadx, dQscadRem, dQscadImm, i1, i2, di1dx, di2dx, di1dRem, di1dImm, di2dRem, di2dImm [, ASYM=ASYM] [, dASYMdx=dASYMdx] [, dASYMdRem=dASYMdRem] [, dASYMdImm=dASYMdImm]`

The input parameters in the above call are:

`x`: Particle size parameter(s). This must be a scalar float/double quantity 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).

`Qext`: Extinction efficiency.`Qsca`: Scattering efficiency.`dQextdx`: Derivative of the extinction efficiency wrt the particle size parameter.`dQextdRem`: Derivative of the extinction efficiency wrt the real part of the refractive index.`dQextdImm`: Derivative of the extinction efficiency wrt the imaginary part of the refractive index.`dQscadx`: Derivative of the scattering efficiency wrt the particle size parameter.`dQscadRem`: Derivative of the scattering efficiency wrt the real part of the refractive index.`dQscadImm`: Derivative of the scattering efficiency wrt the imaginary part of the refractive index.

`i1`: First intensity function - intensity of light polarized in the plane perpendicular to the directions of incident light propagation and observation.`i2`: Second intensity function - intensity of light polarized in the plane parallel to the directions of incident light propagation and observation.`di1dx`: Derivative of the first intensity function wrt the particle size parameter`di2dx`: Derivative of the second intensity function wrt the particle size parameter`di1dRem`: Derivative of the first intensity function wrt to the real part of the refractive index`di1dImm`: Derivative of the first intensity function wrt to the imaginary part of the refractive index`di2dRem`: Derivative of the second intensity function wrt to the real part of the refractive index`di2dImm`: Derivative of the second intensity function wrt to the imaginary part of the refractive index

Maintained by Greg McGarragh