A Julia package for working with data from aerosol Differential Mobility Analyzers.
Author mdpetters
5 Stars
Updated Last
8 Months Ago
Started In
May 2018


travis badge appveyor badge codecov badge DOI

This package implements the Julia DMA language. The language is a tool to facilitate interpretation of data from aerosol differential mobility analyzers.

Note that this package has been updated to be compatible with the Julia v1 series and later. To see the code directly associated with the paper (compatible with Julia v0.6), please switch to version 1.0.0 of the package and/or load the zenodo virtual machine associated with that version. The update mostly fixed Julia language deprecations. For a detailed list of changes with the current version please read the News.


Link to detailed documentation

Installation & Quickstart

The package DifferentialMobiliyAnalyzers can be installed from the Julia package prompt with

pkg> add https://github.com/mdpetters/DifferentialMobilityAnalyzers.jl.git
pkg> add Calculus DataFrames Distributions Glob IJulia Interpolations LambertW LinearAlgebra LsqFit NetCDF ORCA PlotlyJS Plots Printf ProgressMeter Random SpecialFunctions StatsBase

This installs the package and any missing dependencies. (Patience required for fresh install).

julia> using IJulia
julia> notebook(detached = true)

This starts the notebook server. Then load any of the notebooks in the docs/ folder.

Quickstart: The Julia DMA language is documented in a journal manuscript and 12 Supplementary Jupyter Notebooks. The links open the notebooks in viewer mode via NBViewer. Virtual machines with working copies of all software components can be downloaded from zenodo. Machines are available for Version 1.0.0 and 2.0 of the package. Instructions for setting up the machine are in the Supporting Information.

The Julia DMA Language: Manuscript and Supporting Information
Notebook S1. Differential Mobility Analyzer
Notebook S2. Fredholm Integral Equation
Notebook S3. Size Distribution Arithmetic
Notebook S4. Single Mobility Classification
Notebook S5. Size Distribution Inversion Using Regularization
Notebook S6. Size Distribution Inversion of Ambient Data
Notebook S7. Size resolved CCN measurements
Notebook S8. Hygroscopicity Tandem DMA
Notebook S9. Volatility Tandem DMA
Notebook S10. Dimer Coagulation and Isolation
Notebook S11. PartMC Simulations
Notebook S12. FORTRAN API
Link to Virtual Machine


Contributions including notebooks for classroom instruction, homework assignments, interesting DMA configurations, new inversion schemes, and improved or new functionalities of the language are welcome.


This work was supported by the United States Department of Energy, Office of Science, Biological and Environment Research, Grant number DE-SC0018265.

Petters, M.D. (2018) A language to simplify computation of differential mobility analyzer response functions Aerosol Science & Technology, 52 (12), 1437-1451, https://doi.org/10.1080/02786826.2018.1530724.

Petters, M.D. (2019, April 27) Virtual Machine containing Software for "A language to simplify computation of differential mobility analyzer response functions" (Version 2.0), [Software], Zenodo, https://doi.org/10.5281/zenodo.2652893.