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 (5)
- Super-Droplet Method for the Numerical Simulation of Clouds and Precipitation: a Particle-Based Microphysics Model Coupled with Non-hydrostatic Model
- The Pencil Code, a modular MPI code for partial differential equations and particles: multipurpose and multiuser-maintained
- libcloudph++ 0.2: single-moment bulk, double-moment bulk, and particle-based warm-rain microphysics library in C++
- On the CCN [de]activation nonlinearities
- On the design of Monte-Carlo particle coagulation solver interface: a CPU/GPU Super-Droplet Method case study with PySDM
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