Mie#

Linearized Mie#

class sasktran2.mie.LinearizedMie(self: sasktran2._core.LinearizedMie)#

Bases: pybind11_object

A Mie object created with no input parameters.

Standard usage is to create a Mie object, and then calculate mie parameters using calculate method.

calculate(self: sasktran2._core.LinearizedMie, size_param: numpy.ndarray[numpy.float64[m, 1]], refractive_index: complex, cos_angles: numpy.ndarray[numpy.float64[m, 1]], calculate_derivative: bool) sasktran2._core.MieOutput#

Performs the Mie computation for an array of size parameters, a single refractive index, and an array that is the cosine of the scattering angles.

Parameters:
  • size_param (np.ndarray) – Array of Mie size parameters. Shape (size).

  • refractive_index (complex) – Complex Mie refractive index

  • cos_angles (np.ndarray) – Array of cosine of angles to calculate the scattering amplitude at. Shape (angle).

  • calculate_derivative (bool, optional) – Optional parameter, initiates calculations of derivatives for size parameter and refractive index (not implemented at the moment), by default False

Returns:

MieOutput that contains the original size parameters, cosine of angles, and refractive index, as well as the calculated mie parameters.

Return type:

MieOutput

Examples

>>> import sasktran2 as sk
>>> import numpy as np
>>> mie = sk.mie.LinearizedMie()
>>> size_param = np.array([3.0, 4.0, 5.0])
>>> cos_angles = np.linspace(-1, 1, 100)
>>> refractive_index = 1.5 + 0.0j
>>> output = mie.calculate(size_param, refractive_index, cos_angles, True)
>>> print(output.values.Qext)
[3.41805617 4.05245221 3.92782673]
>>> print(output.values.Qsca)
[3.41805617 4.05245221 3.92782673]

Output Data structures#

class sasktran2.mie.MieOutput#

Bases: pybind11_object

property cos_angles#

Array containing the cosine of the scattering angles. Shape (angle).

property refractive_index#

Complex refractive index of spheres.

property size_parameter#

Array containing size parameters of spheres (2pi*radius/wavelength). Shape (size).

property values#

MieData structure containing Extinction Efficiency, Scattering Efficiency and Scattering Amplitudes.

class sasktran2.mie.MieData#

Bases: pybind11_object

property Qext#

Calculated Extinction Efficiency factor [unitless] for given size parameters and refractive index. Shape (size).

property Qsca#

Calculated Scattering Efficiency factor [unitless] for given size parameters and refractive index. Shape (size).

property S1#

Calculated Complex Scattering Amplitude [unitless] in first direction of incident polarization for given size parameters, cos(scattering angles) and refractive index. Shape (size, angle).

property S2#

Calculated Complex Scattering Amplitude [unitless] in second direction of incident polarization for given size parameters, cos(scattering angles) and refractive index. Shape (size, angle).