Skip to main content

PyMPDATA usage examples reproducing results from literature and depicting how to use PyMPDATA in Python from Jupyter notebooks

Project description

Introduction

PyMPDATA examples are bundled with PyMPDATA and located in the examples subfolder. They constitute a separate PyMPDATA_examples Python package which is also available at PyPI. The examples have additional dependencies listed in PyMPDATA_examples package setup.py file. Running the examples requires the PyMPDATA_examples package to be installed.

We recommend you look through the example gallery below to see the examples in action.

Example gallery

Unless stated otherwise the following examples solve the basic advection equation: $$ \partial_t (\psi) + \nabla \cdot (u \psi) = 0 $$

The examples are grouped by the dimensionality of the computational grid.

in 1D

tags link
advection-diffusion equation
$$ \partial_t (\psi) + \nabla \cdot (u \psi) + \mu \Delta (\psi) = 0 $$
advection_diffusion_1d*
Black-Scholes equation, option pricing
$$ \frac{\partial f}{\partial t} + rS \frac{\partial f}{\partial S} + \frac{\sigma^2}{2} S^2 \frac{\partial^2 f}{\partial S^2} - rf = 0$$
Arabas_and_Farhat_2020*
advection equation, homogeneous, several algorithm variants comparison: infinite-gauge, flux-corrected,.. Smolarkiewicz_2006_Figs_3_4_10_11_12
Size-spectral advection, particle population condensational growth, coordinate transformation
$$ \partial_t (G \psi) + \nabla \cdot (Gu \psi) = 0 $$
Olesik_et_al_2022*
advection equation, double-pass donor-cell option DPDC

in 2D

tags link
advection-diffusion equation
$$ \partial_t (\psi) + \nabla \cdot (u \psi) + \mu \Delta (\psi) = 0 $$
advection_diffusion_2d*
adv-diff
Spectral-spatial advection, particle population condensational growth in a vertical column of air, time dependent flow Shipway_and_Hill_2012
spectral-spatial
shallow-water equations
$$\begin{eqnarray} \partial_t h + \partial_x (uh) + \partial_y (vh) &=& 0~ \\ \partial_t (uh) + \partial_x ( uuh) + \partial_y (vuh) &=& - h \partial_x h~ \\ \partial_t (vh) + \partial_x ( uvh) + \partial_y (vvh) &=& - h \partial_y h~ \end{eqnarray}$$
Jarecka_et_al_2015*
advection equation, solid body rotation Molenkamp_test_as_in_Jaruga_et_al_2015_Fig_12*
advection equation, coordinate transformation, spherical coordinates, see also examples in PyMPDATA-MPI $$ \partial_t (G \psi) + \nabla \cdot (Gu \psi) = 0 $$ Williamson_and_Rasch_1989_as_in_Jaruga_et_al_2015_Fig_14
<img src="https://github.com/open-atmos/PyMPDATA-MPI/releases/download/latest-generated-plots/n_iters.1_rank_0_size_1_c_field_.0.5.0.25._mpi_dim_0_n_threads_1-SphericalScenario-anim.gif", width="50%" alt="mpi-gif">

in 3D

tags link
homogeneous advection equation Smolarkiewicz_1984
homogeneous advection equation, performance comparison against libmpdata++, scalability analysis in respect to threads Bartman_et_al_2022

* - with comparison against analytic solution

Installation

Since the examples package includes Jupyter notebooks (and their execution requires write access), the suggested install and launch steps are:

git clone https://github.com/open-atmos/PyMPDATA-examples.git cd PyMPDATA-examples pip install -e . jupyter-notebook

Alternatively, one can also install the examples package from pypi.org by using pip install PyMPDATA-examples.

Project details


Download files

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

Source Distribution

pympdata_examples-1.2.1.tar.gz (30.3 kB view details)

Uploaded Source

Built Distribution

PyMPDATA_examples-1.2.1-py3-none-any.whl (43.7 kB view details)

Uploaded Python 3

File details

Details for the file pympdata_examples-1.2.1.tar.gz.

File metadata

  • Download URL: pympdata_examples-1.2.1.tar.gz
  • Upload date:
  • Size: 30.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pympdata_examples-1.2.1.tar.gz
Algorithm Hash digest
SHA256 aa200675a1db1cd222cf3e594709d71a0072b41d5d6ff5fe9f1b0c2ffab08ddf
MD5 0398b86ba556c0b3a0b2dac84fdc085a
BLAKE2b-256 5cb80f4a976d6f12f7e7b8180137311f2931473c79797e4c665cb037c60f0cc4

See more details on using hashes here.

File details

Details for the file PyMPDATA_examples-1.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for PyMPDATA_examples-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fdeba2ee03e8249a4e0735df56ba57b4f298b74dc0ca443148a475831eb9ff47
MD5 6e1793521a4d62024971177ea3f8dbb5
BLAKE2b-256 65891b0be8844a543412bd24175de266c6d164cdec8afc56c8a5b11ddffcc5bc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page