Draft:Super Droplet Method
![]() | Draft article not currently submitted for review.
This is a draft Articles for creation (AfC) submission. It is not currently pending review. While there are no deadlines, abandoned drafts may be deleted after six months. To edit the draft click on the "Edit" tab at the top of the window. To be accepted, a draft should:
It is strongly discouraged to write about yourself, your business or employer. If you do so, you must declare it. Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
Last edited by Slayoo (talk | contribs) 0 seconds ago. (Update) |
In mathematical modeling of aerosols, clouds and precipitation, Super Droplet Method (SDM) is a Monte-Carlo approach for representing collisions and coalescence of particles in atmospheric fluid dynamics simulations. The method and its name was introduced in a 2007 arXiv e-print by Shin-ichiro Shima et al.[1] (preceded by a 2006 patent application[2] and followed by a 2009 journal paper[3]).

SDM algorithm is a probabilistic alternative to the deterministic model of the process embodied in the Smoluchowski coagulation equations. Among the key characteristics of SDM is that it is not subject to the "curse of dimensionality" that hampers application of other methods when multiple particle attributes need to be resolved in a simulation[6]. The algorithm is embarrassingly parallel, has linear time complexity, constant state vector size and zero numerical diffusion.
SDM in the cloud microphysics model taxonomy
[edit]Particle-based approaches, including SDM, for simulating the dynamics of sizes of particles in clouds are considered as one of three distinct cloud microphysics modelling paradigms[7], which can be classified as either Eulerian or Lagriangian in terms of formulation of dynamics in particle attribute space:
Lagrangian microphysics approaches:
- particle-based (in zero spatial dimensions as in cloud parcel models, analogous to moving-sectional/method-of-characteristics/method-of-lines approaches)
Eulerian microphysics approaches:
- bulk (in which moment based description of particle attribute distribution is used, with assumed size/mass distributions),
- bin (in which nonparametric histogram-based description of particle attribute space is used, possibly involving moment-based description within each histogram bin)
The term "super-droplet" approach/method has been used either in reference to the particular Monte-Carlo algorithm (even if not used to model clouds[8]), or more broadly in reference to the particle-based approach for modeling of atmospheric clouds (even if neglecting coalescence processes[9]). Applications of particle-based methods in atmospheric modelling[10][11], including for cloud microphysics modelling[12], and including Monte-Carlo techniques and super-particle nomenclature[13], predate SDM. Analogous Monte-Carlo particle-based methods (or particle swarm methods) have also been used for modelling accretion in astrophysical context[14].
SDM Monte-Carlo Algorithm for Coagulation of Particles
[edit]The algorithm formulation presented herein follows the notation of Shima et al.[1], but uses pseudocode rather than mathematical notation. The code snippets are valid Python (used to generate the animation above) and refer to NumPy and SciPy components.
Super-particle state
[edit]SDM models evolution of a particulate system composed of super droplets, with -th super droplet representing a multiplicity of particles. Each super particle carries a set of attributes, among which there are extensive attributes, such as mass , as well as auxiliary attributes which do not change upon aggregation, such as position in space.
Well-mixed control volume
[edit]The considered particle-laden volume is split into cells.
Cell volumes should be small enough to consider them well mixed, and hence to assume that any particle in the cell can collide with any other with a probability dependent only on particle extensive attributes.
In subsequent formulation of the algorithm, a single cell of volume is considered.
Attribute sampling
[edit]SDM allows for arbitrary initial sampling of the particle attribute distribution. Among the commonly used methods, there is inverse transform sampling which yields uniform initial multiplicities across the population. Such constant-multiplicity sampling implies evaluation of the quantile function at random locations chosen uniformly from the 0...1 range as in the listing below:
import numpy as np
from scipy import stats
def sample(*,
rng: np.random.Generator,
dist: stats.rv_continuous,
norm: float,
n_s: int,
):
state = np.empty(
shape=n_s,
dtype=[('ξ', np.int64), ('m', np.float64)]
)
state['ξ'] = round(norm / n_s)
state['m'] = dist.ppf(rng.uniform(0, 1, n_s))
return state
Several other sampling methods were discussed and applied in studies employing SDM[15][16][17].
Time stepping, candidate pairs and attribute update
[edit]Simulation using SDM involves time-stepping loop that advances the system state by in each step. SDM is a Monte Carlo algorithm and each step employs random number generation. As exemplified in the basic serial implementation of an SDM step given in the listing below, each involves:
- permuting the super particles to select a random set of
n_pair
non-overlapping pairs among alln_s
super particles in the considered volume ; - shuffling
n_pair
random numbers from a uniform distribution (stored into arrayφ
) - computing the
p_ratio
of all possible particle unordered pairs to the number of considered candidate pairsn_pair
; - enumerating across all candidate pairs with
α
numbering the pair, andj
,k
numbering the super droplets within a pair; - evaluating the probability
p_α
of collision within the super-droplet pairα
as a product of the coagulation kernel, the timestep-to-cell-volume ratioΔt/Δv
, thep_ratio
andξ_j
wherej
is chosen to point to the super droplet of higher multiplicity in the pair; - evaluating the
γ
factor, which forp_α<1
is a Boolean flag resulting from comparison of the probability of coagulation with the random number from the 0...1 range; while in the case ofp_α≥1
,γ
is augmented by the number of "certain" coagulations to represent repeated collision events within a single step (note that depending on the value of theξ_j/ξ_k
ratio, the number of repeated events may need be truncated incurring a collision-event deficit); - updating particle attributes
ξ_j
,ξ_k
,m_j
andm_k
.



from collections import abc
def sdm(*,
rng: np.random.Generator,
ξ: abc.MutableSequence[int],
m: abc.MutableSequence[float],
kern: abc.Callable[[float, float], float],
Δt: float,
Δv: float,
):
""" SDM step assuming non-zero multiplicities """
n_s = len(ξ)
n_pair = n_s // 2
pairs = rng.permutation(n_s)[: 2 * n_pair]
φ = rng.uniform(0, 1, n_pair)
p_ratio = n_s * (n_s - 1) / 2 / n_pair
for α, (j, k) in enumerate(pairs.reshape(-1, 2)):
p_jk = kern(m[j], m[k]) * Δt / Δv
if ξ[j] < ξ[k]:
j, k = k, j
p_α = ξ[j] * p_ratio * p_jk
γ = p_α // 1 + (p_α - p_α // 1) > φ[α]
if γ != 0:
γ = min(γ, (ξ[j] / ξ[k]) // 1)
if ξ[j] - γ * ξ[k] > 0:
ξ[j] -= γ * ξ[k]
m[k] += γ * m[j]
else:
ξ[j] = ξ[k] // 2
ξ[k] -= ξ[j]
m[k] += γ * m[j]
m[j] = m[k]
Collision Scenarios
[edit]The above algorithm can yield the following collision scenarios (see animations above, symbol m denotes an arbitrary mass unit, symbol M denotes the mass attribute of the super-droplet of respective color):
- A: single-collision event (γ=1
)
- B: multiple-collision event (γ > 1
and ξ[j] ≠ γξ[k]
)
- C: equal-ratio collision event (γ ≥ 1
and ξ[j] = γξ[k]
), note: an equal-ratio collision event may also occur within scenario A
Concurrency
[edit]The SDM coagulation algorithm does not feature data dependencies across candidate pairs, hence is particularly well suited for SIMT concurrent operation. Implementations of SDM leverage both CPU and GPU multi-threading[18].
Algorithm development and applications
[edit]- TODO: mixed phase[17]
- TODO: breakup[19]
- TODO: turbulent mixing
- TODO: aqueous chemistry[20]
- TODO: electro-coalescence[21]
- TODO: idealised benchmark test cases
- TODO: nuclear fallout[22]
- TODO: geo-engineering (cloud brightening)[23] (the reference uses particle-based microphysics representation, but collisions are represented in a different way than SDM)
- TODO: wildfire simulations
- TODO: cloud-chamber modelling[24][25]
- TODO: cosmic rays[26]
- TODO: DNS vs. LES
- TODO: contrails
- TODO: fogs[27]
- TODO: development of parameterization for larger-scale models
Open-source implementations
[edit]- reusable MPDATA libraries and packages:
- TODO: libcloudph++ (C++)
- TODO: PySDM (Python/Numba)
- TODO: CLEO (C++)
- TODO: Droplets.jl (Julia)
- SDM implementations integrated in other software:
- TODO: SCALE-SDM (Fortran)
- TODO: Pencil Code (Fortran)
- TODO: PALM LES (Fortran)
- TODO: LCM1D (Python)
- TODO: superdroplet (Cython/Numba/C++11/Fortran 2008/Julia)
- TODO: NTLP (FORTRAN)
- TODO: LacmoPy (Python/Numba)
- TODO: McSnow (FORTRAN)
References
[edit]- ^ a b c Shima, S.; Kusano, K.; Kawano, A.; Sugiyama, T.; Kawahara, S. (2009). "The super-droplet method for the numerical simulation of clouds and precipitation: A particle-based and probabilistic microphysics model coupled with a non-hydrostatic model". Quarterly Journal of the Royal Meteorological Society. 135 (642): 1307–1320. arXiv:physics/0701103. Bibcode:2009QJRMS.135.1307S. doi:10.1002/qj.441.
- ^ JP 2007292465A, "Simulation method, simulation program, and simulation apparatus"
- ^ Shima, S.; Kusano, K.; Kawano, A.; Sugiyama, T.; Kawahara, S. (2009). "The super-droplet method for the numerical simulation of clouds and precipitation: a particle-based and probabilistic microphysics model coupled with a non-hydrostatic model". Quarterly Journal of the Royal Meteorological Society. 135 (642): 1307–1320. arXiv:physics/0701103. Bibcode:2009QJRMS.135.1307S. doi:10.1002/qj.441.
- ^ V.S. Safronov (1962). "Частный случай решения уравнения коагуляции (A restricted solution of the accretion equation)". Dokl. Akad. Nauk SSSR (in Russian). 147.
- ^ A.M. Golovin (1963). "К вопросу о решении уравнения коагуляции дождевых капель с учетом конденсации (On solving the equation of rain drop coagulation with allowance for condensation)". Dokl. Akad. Nauk SSSR (in Russian). 148.
- ^ Grabowski, W.W. and Morrison, H. and Shima, S. and Abade, G.C. and Dziekan, P. and Pawlowska, H. (2019). "Modeling of Cloud Microphysics: Can We Do Better?". Bulletin of the American Meteorological Society. 100 (4): 655–672. Bibcode:2019BAMS..100..655G. doi:10.1175/BAMS-D-18-0005.1. OSTI 1612584.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Morrison, H. and van Lier-Walqui, M. and Fridlind, A.M. and Grabowski, W.W. and Harrington, J.Y. and Hoose, C. and Korolev, A. and Kumjian, M.R. and Milbrandt, J.A. and Pawlowska, H. and Posselt, D.J. and Prat, O.P. and Reimel, K.J. and Shima, S. and van Diedenhoven, B. and Xue, L. (2020). "Confronting the Challenge of Modeling Cloud and Precipitation Microphysics". Journal of Advences in Modeling Earth Systems. 12 (8). Bibcode:2020JAMES..1201689M. doi:10.1029/2019MS001689. PMID 32999700.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Jokulsdottir, T. and Archer, D. (2016). "A stochastic, Lagrangian model of sinking biogenic aggregates in the ocean (SLAMS 1.0): model formulation, validation and sensitivity". Geoscientific Model Development. 9 (4): 1455–1476. Bibcode:2016GMD.....9.1455J. doi:10.5194/gmd-9-1455-2016.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Chandrakar, K.K. and Grabowski, W.W and Morrison, H. and Bryan, G.H. (2021). "Impact of Entrainment Mixing and Turbulent Fluctuations on Droplet Size Distributions in a Cumulus Cloud: An Investigation Using Lagrangian Microphysics with a Subgrid-Scale Model". Journal of the Atmospheric Sciences. 78 (9): 2983. Bibcode:2021JAtS...78.2983C. doi:10.1175/JAS-D-20-0281.1.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Lange, R. (1973), ADPIC: a three-dimensional computer code for the study of pollutant dispersal and deposition under complex conditions, doi:10.2172/4308175
- ^ Lange, R. (1978). "ADPIC–A Three-Dimensional Particle-in-Cell Model for the Dispersal of Atmospheric Pollutants and its Comparison to Regional Tracer Studies". Journal of Applied Meteorology. 17 (3): 320. Bibcode:1978JApMe..17..320L. doi:10.1175/1520-0450(1978)017<0320:ATDPIC>2.0.CO;2.
- ^ Clark, T.L. and Hall, W.D. (1979). "A Numerical Experiment on Stochastic Condensation Theory". Journal of the Atmospheric Sciences. 36 (3): 470. Bibcode:1979JAtS...36..470C. doi:10.1175/1520-0469(1979)036<0470:ANEOSC>2.0.CO;2.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Zannetti, P. (1984). "New Monte Carlo scheme for simulating Lagranian particle diffusion with wind shear effects"". Applied Mathematical Modelling. 8 (3): 188–192. doi:10.1016/0307-904X(84)90088-X.
- ^ Zsom, A. and Dullemond, C.P. (2008). "A representative particle approach to coagulation and fragmentation of dust aggregates and fluid droplets". Astronomy & Astrophysics. 489 (2): 931–941. arXiv:0807.5052. Bibcode:2008A&A...489..931Z. doi:10.1051/0004-6361:200809921.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Unterstrasser, S. and Hoffmann, F. and Lerch, M. (2017). "Collection/aggregation algorithms in Lagrangian cloud microphysical models: rigorous evaluation in box model simulations". Geoscientifi Model Development. 10 (4): 1521–1548. Bibcode:2017GMD....10.1521U. doi:10.5194/gmd-10-1521-2017.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Dziekan, P. and Pawlowska, H. (2017). "Stochastic coalescence in Lagrangian cloud microphysics". Atmospheric Chemistry and Physics. 17 (22): 13509–13520. doi:10.5194/acp-17-13509-2017.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ a b Shima S. and Sato, Y. and Hashimoto, A. and Misumi R. (2020). "Predicting the morphology of ice particles in deep convection using the super-droplet method: development and evaluation of SCALE-SDM 0.2.5-2.2.0, -2.2.1, and -2.2.2". Geoscientific Model Development. 13 (9): 4107–4157. Bibcode:2020GMD....13.4107S. doi:10.5194/gmd-13-4107-2020.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Arabas, S. and Jaruga, A. and Pawlowska, H. and Grabowski, W.W. (2015). "libcloudph++ 1.0: a single-moment bulk, double-moment bulk, and particle-based warm-rain microphysics library in C++". Geoscientific Model Development. 8 (6): 1677–1707. arXiv:1310.1905. Bibcode:2015GMD.....8.1677A. doi:10.5194/gmd-8-1677-2015.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ de Jong, E. and Mackay, J.B. and Bulenok, O. and Jaruga, A. and Arabas, S. (2023). "Breakups are complicated: an efficient representation of collisional breakup in the superdroplet method". Geoscientific Model Development. 16 (14): 4193–4211. Bibcode:2023GMD....16.4193D. doi:10.5194/gmd-16-4193-2023.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Jaruga, A. and Pawlowska, H. (2018). "libcloudph++ 2.0: aqueous-phase chemistry extension of the particle-based cloud microphysics scheme". Geoscientific Model Development. 11 (9): 3623–3645. Bibcode:2018GMD....11.3623J. doi:10.5194/gmd-11-3623-2018.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Zhang, R. and Zhou, L. and Shima, S. and Yang, H. (2024). "Preliminary evaluation of the effect of electro-coalescence with conducting sphere approximation on the formation of warm cumulus clouds using SCALE-SDM version 0.2.5–2.3.0". Geoscientific Model Dvelopment. 17 (17): 6761–6774. Bibcode:2024GMD....17.6761Z. doi:10.5194/gmd-17-6761-2024.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ McGuffin, D.L. and Lucas, D.D. and Morris, J.P. and Spriggs, G.D. and Knight, K.B. (2022). "Super-Droplet Method to Simulate Lagrangian Microphysics of Nuclear Fallout in a Homogeneous Cloud". Journal of Geophysical Research Atmospheres. 127 (18). Bibcode:2022JGRD..12736599M. doi:10.1029/2022JD036599.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Andrejczuk, M. and Gadian, A. and Blyth, A. (2014). "Numerical simulations of stratocumulus cloud response to aerosol perturbation" (PDF). Atmospheric Research. 140–141: 76–84. Bibcode:2014AtmRe.140...76A. doi:10.1016/j.atmosres.2014.01.006.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ MacMillan, T. and Shaw, R.A. and Cantrell, W.H. and Richter, D.H. (2022). "Direct numerical simulation of turbulence and microphysics in the Pi Chamber". Physical Review Fluids. 7 (2): 020501. Bibcode:2022PhRvF...7b0501M. doi:10.1103/PhysRevFluids.7.020501.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Grabowski, W.W. and Kim, Y. and Yum, S.S. (2024). "CCN Activation and Droplet Growth in Pi Chamber Simulations with Lagrangian Particle–Based Microphysics". Journal of the Atmospheric Sciences. 81 (7): 1201–1212. Bibcode:2024JAtS...81.1201G. doi:10.1175/JAS-D-24-0004.1.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ Kusano, K. and Hasegawa, K. and Shima, S. (2012). Simulation study on bi-stability of cloud-rain system and cosmic ray influence on climate. 39th COSPAR Scientific Assembly. Bibcode:2012cosp...39.1008K.
{{cite conference}}
: CS1 maint: multiple names: authors list (link) - ^ Richter, D.H. and MacMillan, T. and Wainwright, C. (2021). "A Lagrangian Cloud Model for the Study of Marine Fog". Boundary-Layer Meteorology. 181 (2–3): 523–542. Bibcode:2021BoLMe.181..523R. doi:10.1007/s10546-020-00595-w.
{{cite journal}}
: CS1 maint: multiple names: authors list (link)