Package PyMPDATA
Numba-accelerated Pythonic implementation of Multidimensional Positive Definite Advection Transport Algorithm (MPDATA) with examples in Python, Julia and Matlab
PyMPDATA uses staggered grid with the following node placement for
ScalarField
and
VectorField
elements:
Expand source code
"""
Numba-accelerated Pythonic implementation of Multidimensional Positive Definite
Advection Transport Algorithm (MPDATA) with examples in Python, Julia and Matlab
PyMPDATA uses staggered grid with the following node placement for
`PyMPDATA.scalar_field.ScalarField` and
`PyMPDATA.vector_field.VectorField` elements:
![](https://github.com/atmos-cloud-sim-uj/PyMPDATA/releases/download/tip/readme_grid.png)
"""
# pylint: disable=invalid-name
from importlib.metadata import PackageNotFoundError, version
from .options import Options
from .scalar_field import ScalarField
from .solver import Solver
from .stepper import Stepper
from .vector_field import VectorField
try:
__version__ = version(__name__)
except PackageNotFoundError:
# package is not installed
pass
Sub-modules
PyMPDATA.boundary_conditions
-
classes representing boundary conditions
PyMPDATA.impl
-
package internals, if anything from within is needed to be referenced from user code, please report implementation leak into public API as an issue
PyMPDATA.options
-
MPDATA variants, iterations, data-type and jit-flags settings
PyMPDATA.scalar_field
-
scalar field abstractions for the staggered grid
PyMPDATA.solver
-
class grouping user-supplied stepper, fields and post-step/post-iter hooks, as well as self-initialised temporary storage
PyMPDATA.stepper
-
MPDATA iteration logic
PyMPDATA.vector_field
-
vector field abstractions for the staggered grid