Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Introduction

pysdm logo

PySDM examples are engineered as Jupyter Python notebooks supported by auxiliary Python commons that constitute a separate PySDM-examples Python package which is also available at PyPI. The examples have additional dependencies listed in PySDM-examples package setup.py file. Running the example Jupyter notebooks requires the PySDM-examples package to be pip-installed. For installation instructions see project docs homepage. Note that the Jupyter notebooks themselves are not included in the package wheels, but are included in the source .tar.gz file on PyPI, and are conveninently browsable on GitHub. All notebooks feature header cells with badges enabling single-click execution on Google Colab and on mybinder.org. The examples package is also used in the PySDM test suite.

Example gallery

The examples are named referring to the journal paper they aim to reproduce simulations from (or sometimes just where the inspiration originated from). The list below groups all examples by the dimensionality and type of the employed modelling framework ("environment" in PySDM nomenclature, which can be: box, parcel, single-column, 2D prescribed flow), and by the set of physical processes simulated (condensation, collisional coagulation and breakup, drop freezing, isotopic fractionation, aqueous chemistry, seeding, ...).

2D kinematic environment (prescribed-flow) mimicking Sc deck

The 2D prescribed-flow framework used here can be traced back to the work of Kessler 1969 (section 3C). The setup employed in PySDM-examples, which mimics a stratiform cloud deck and features periodic horizontal boundary condition and vanishing flow at vertical boundaries, was introduced in Morrison and Grabowski (2007) and later adopted for particle-based simulations in Arabas et al. (2015). It uses a non-devergent single-eddy flow field resulting in an updraft-downdraft pair in the domain. The flow field advects two scalar fields in an Eulerian way: water vapour mixing ratio and dry-air potential temperature. In PySDM-examples, the Eulerian advection is handled using the PyMPDATA Numba-based implementation of the MPDATA numerical scheme of Smolarkiewicz (e.g., 2006). An animation depicting PySDM simulation capturing aerosol collisional processing by warm rain is shown below (see the Paraview hello-world HOWTO Jupyter notbook for code generating the simulation and visualisation):

Example notebooks:

  • Arabas_et_al_2015
    • in-notebook GUI for setting up, running and interactively visualising the 2D kinematic simulations (with an option to export raw data to VTK and netCDF files, as well as to save plots to SVG or PDF):
    • "hello world" notebook depicting how to automate using Python the process of loading data and creating animations in Paraview
  • Arabas_et_al_2025: adaptation of the 2D kinematic setup for studying glaciation of the cloud deck by immersion freezing

1D kinematic environment (prescribed-flow, single-column)

The single-column PySDM environment is a reimplementation of the Met Office KiD framework introduced in Shipway & Hill 2012. The framework features a single Eulerian-transported field of water vapour mixing ratio (vertical profile of potential temperature is fixed). As in the 2D kinematic framework above, the Eulerian advection is handled by PyMPDATA.

Example notebooks:

OD/1D iterative parcel/column environment mimicking removal of precipitation

This framework uses a parcel model with removal of precipitation for analysis, iterative equilibration, the isotopic composition of the water vapour and rain water in a column of air (no Eulerian transport, only iterative passage of a parcel through the column).

Rozanski_and_Sonntag_1982: bulk microphysics example (i.e. single super droplet) with deuterium and heavy-oxygen water isotopologues featured.

0D parcel environment

The parcel framework implemented in PySDM uses a hydrostatic profile and adiabatic mass and energy conservation to drive evolution of thermodynamic state and microphysical properties of particles.

Example notebooks include:

The parcel environment is also featured in the PySDM tutorials.

0D box environment

The box environment is void of any spatial or thermodynamic context, it constitutes the most basic framework.

Example notebooks include:

  • coalescence only:
    • Shima_et_al_2009: using Golovin additive kernel for comparison against analytic solution, featuring interactive in-notebook interface for selecting simulation parameters
    • Berry_1967: examples using geometric, hydrodynamic and electric-field collision kernels
  • coalescence and breakup:
  • immersion freezing only:
    • Alpert_and_Knopf_2016: stochastic immersion freezing with monodisperse vs. lognormal immersed surface areas
    • Arabas_et_al_2025: comparison of time-dependent and singular immersion freezing schemes

The box environment is also featured in the PySDM tutorials.

examples depicting isotope-related formulae (without any simulation context)

examples depicting extraterrestrial clouds (formulae-only, no simulations yet)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysdm_examples-3.0.0rc38.tar.gz (142.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pysdm_examples-3.0.0rc38-py3-none-any.whl (193.5 kB view details)

Uploaded Python 3

File details

Details for the file pysdm_examples-3.0.0rc38.tar.gz.

File metadata

  • Download URL: pysdm_examples-3.0.0rc38.tar.gz
  • Upload date:
  • Size: 142.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pysdm_examples-3.0.0rc38.tar.gz
Algorithm Hash digest
SHA256 5a95235e215181c64d8a75a52c5e10c92e44276214d62646338e491adb0b8cbf
MD5 9d6cec5a593cdbd0c9ebd2cfa69adeac
BLAKE2b-256 220ddf545080cc857ec057b28701505b3226e79c282c8dedef741e36f4ce4cdf

See more details on using hashes here.

File details

Details for the file pysdm_examples-3.0.0rc38-py3-none-any.whl.

File metadata

File hashes

Hashes for pysdm_examples-3.0.0rc38-py3-none-any.whl
Algorithm Hash digest
SHA256 075f189dc3576161e549ff3b4ca5c311178bbd758bbb0c55dafa92bee48ea0d8
MD5 740f5e94280cbc538087b39596f1c313
BLAKE2b-256 ca874910e3edcb7bbdf46e62ff7e23397e06e0b16fb2bcd483eb294ddc2e4cf1

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page