A Julia package for the calculation of Mie scattering based on a 1:1 port of miepython
Author TacHawkes
2 Stars
Updated Last
5 Months Ago
Started In
October 2022


Build Status Coverage

MieScattering.jl is a pure-Julia package for calculation of Mie scattering. This package is basically a 1:1 port of the great miepython Python package written by Scott Prahl. I highly recommed to read his documentation which also gives a lot of mathematical insights into the topic. This package basically follows the same syntax as miepython but with small tweaks to adapt to Julia specifics. This package gives comparable or even better (thanks to real multi-threading) performance than the JIT-version of miepython using numba. The test suite has been adapted as well, so the whole package is numerically tested against Wiscombe's code and of course miepython itself.



Install the package using the package manager:

] add MieScattering

Usage example

using MieScattering

m = 1.3179 - 0.000097313*im
d = 0.2         # µm 
λ0 = 1.064      # µm
qext, qsca, qback, g = ez_mie(m, d, λ0)


This is not the first Julia package for calculating Mie scattering. The whole purpose of this package is to have all features of miepython without having to call Python from Julia.

Used By Packages

No packages found.