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
The test suite has been adapted as well, so the whole package is numerically tested against Wiscombe's code and of course
Install the package using the package manager:
] add MieScattering
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.