Freedom251 › Physics Simulation Software
PyMPDATA

What PyMPDATA is
PyMPDATA is a free, GPL v3 Python package that uses Numba acceleration to solve generalized convection-diffusion and transport equations with MPDATA. It works on structured meshes in one, two or three dimensions and can apply coordinate transformations. Available algorithm variants include non-oscillatory, infinite-gauge, divergent-flow, double-pass donor cell and third-order-terms options. Fickian diffusion terms are supported through a pseudo-transport-velocity approach. Two- and three-dimensional runs use domain decomposition for multithreaded parallelism, while a separate PyMPDATA-MPI project demonstrates distributed-memory parallelism. Boundary conditions include Periodic, Extrapolated, Constant and Polar. The package is installable from PyPI with pip, and user installation does not require compilation. It supports Linux, macOS and Windows and depends on NumPy, Numba and pystrict. A separate examples package provides notebooks runnable through Google Colab or mybinder.org. Installing PyMPDATA alone does not install the examples or MPI packages. The project targets research users, developers and maintainers.
Who it suits
It suits researchers, developers and maintainers working with numerical transport or convection-diffusion models in Python. Its dimensional, algorithm and parallelism options support varied simulation setups.
What it does well
- Free GPL v3 open-source package
- Supports structured 1D, 2D and 3D meshes
- Several MPDATA algorithm variants
- Multithreaded 2D and 3D decomposition
- PyPI installation without compilation
What to know first
- Examples package is separate
- MPI package is separate
- Requires NumPy, Numba and pystrict
- Distributed-memory parallelism is demonstrated separately
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| PyMPDATA | GPL v3 open-source Python package · available on PyPI | Free |
As open-atmos.github.io lists them, read 5 Oct 2026. The maker's own page has the final word.
Verdict
PyMPDATA provides a focused, open-source MPDATA implementation with dimensional flexibility and parallel execution options. Users must install examples or MPI components separately when those capabilities are needed.
Facts from PyMPDATA's own pages
- Algorithm options
- Supported MPDATA variants include non-oscillatory, infinite-gauge, divergent-flow, double-pass donor cell, and third-order-terms options. · open-atmos.github.io, 5 Oct 2026
- Boundary conditions
- The library provides Periodic, Extrapolated, Constant, and Polar boundary conditions. · open-atmos.github.io, 5 Oct 2026
- Dependencies
- PyMPDATA depends on NumPy, Numba, and pystrict. · open-atmos.github.io, 5 Oct 2026
- Diffusion
- It supports Fickian terms in advection-diffusion problems through a pseudo-transport-velocity approach. · open-atmos.github.io, 5 Oct 2026
- Dimensions
- It supports integration on structured meshes in 1D, 2D, and 3D, with optional coordinate transformations. · open-atmos.github.io, 5 Oct 2026
- Examples
- A separate PyMPDATA-examples package provides usage examples, and its notebooks can be run through Google Colab or mybinder.org. · open-atmos.github.io, 5 Oct 2026
- Free plan
- Yes · open-atmos.github.io, 24 Sept 2026
- Installation
- The package is available on PyPI and can be installed with pip; the documentation says user installation does not require a compilation stage. · open-atmos.github.io, 5 Oct 2026
- Intended users
- The project describes its design as serving research users, developers, and maintainers. · open-atmos.github.io, 5 Oct 2026
- License
- PyMPDATA and PyMPDATA-examples are free/libre open-source packages released under the GNU GPL v3 license. · open-atmos.github.io, 5 Oct 2026
- Notable limitation
- Installing PyMPDATA alone does not install the separate examples or MPI packages. · open-atmos.github.io, 5 Oct 2026
- Parallelism
- 2D and 3D simulations use domain decomposition for multithreaded parallelism; a separate PyMPDATA-MPI project demonstrates distributed-memory parallelism. · open-atmos.github.io, 5 Oct 2026
- Purpose
- PyMPDATA is a Numba-accelerated Python implementation of MPDATA for numerically solving generalized convection-diffusion and transport equations. · open-atmos.github.io, 5 Oct 2026
- Support
- The maintainers recommend GitHub Discussions for help understanding, using, and extending the code, and the GitHub issue tracker for reporting incorrect, unintuitive, or undocumented behavior. · open-atmos.github.io, 5 Oct 2026
- Supported operating systems
- The documentation lists Linux, OSX, and Windows among the platforms supported for installation. · open-atmos.github.io, 5 Oct 2026
Where PyMPDATA stands on Freedom251
- Physics Simulation Software#42 of 89