PySDM: particle-based cloud modeling package with CPU and GPU number-crunching backends
PySDM (https://pypi.org/p/PySDM) is a free and 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. The 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: a multi-threaded CPU backend based on Numba/LLVM and a GPU-resident backend built on top of ThrustRTC/CUDA. Example Jupyter notebooks accompanying PySDM (https://pypi.org/p/PySDM-examples) depict: box, adiabatic parcel, single-column and 2D prescribed flow simulations. The package includes tutorial code exemplifying how to use PySDM in Python, Julia and Matlab. The talk will feature a live demo, please bring your laptops or tablets and let's try out simple simulations using PySDM through Jupyter notebooks executed either locally or on a cloud-computing platform (i.e., a browser is the only requirement). For more details on PySDM, see Bartman, Arabas et al. 2021 (https://arxiv.org/abs/2103.17238).