PySDM v1: particle-based cloud modelling package for warm-rain microphysics and aqueous chemistry
arXiv:2103.17238 · doi:10.21105/joss.03219
Abstract
PySDM is an open-source Python package for simulating the dynamics of particles undergoing condensational and collisional growth, interacting with a fluid flow and subject to chemical composition changes. It is intended to serve as a building block for process-level as well as computational-fluid-dynamics simulation systems involving representation of a continuous phase (air) and a dispersed phase (aerosol), with PySDM being responsible for representation of the dispersed phase. The PySDM package core is a Pythonic high-performance implementation of the Super-Droplet Method (SDM) Monte-Carlo algorithm for representing collisional growth, hence the name. PySDM has two alternative parallel number-crunching backends available: multi-threaded CPU backend based on Numba and GPU-resident backend built on top of ThrustRTC. The usage examples are built on top of four simple atmospheric cloud modelling frameworks: box, adiabatic parcel, single-column and 2D prescribed flow kinematic models. In addition, the package ships with tutorial code depicting how PySDM can be used from Julia and Matlab.
References in corpus (2)
Cited by in corpus (3)
- Immersion freezing in particle-based aerosol-cloud microphysics: a probabilistic perspective on singular and time-dependent models
- On the design of Monte-Carlo particle coagulation solver interface: a CPU/GPU Super-Droplet Method case study with PySDM
- PyPartMC: A Pythonic interface to a particle-resolved, Monte Carlo aerosol simulation framework