GaussianDispersion.jl is a Julia package for running Gaussian plume dispersion models. This package is under heavy development, it still lacks of a lot of features and is subjected to huge changes. If you want to contribute, don't hesitate to contact me or to pull request!
The package is not yet on the official registry, and must be installed this way:
using Pkg; Pkg.add(url="https://github.com/tcarion/GaussianDispersion.jl")
It's currently possible to run a simple Gaussian plume model with the Pasquill and Gifford parametrization:
using GaussianDispersion
relparams = ReleaseParams(h = 12, Q = 100)
meteoparams = MeteoParams(wind = 4, stability = PGStability(:D))
plume = GaussianPlume(release = relparams, meteo = meteoparams)
# Calculate the plume on a 3-D domain:
result = [plume(x,y,z) for x in range(0, 2000, 200), y in range(-300, 300, 100), z in range(0, 150, 150)]