Package PySDM
PySDM offers a set of building blocks for development of atmospheric cloud simulation systems revolving around the particle-based microphysics modelling concept and the Super-Droplet Method algorithm (Shima et al. 2009) for numerically tackling the probabilistic representation of particle coagulation.
For an overview of PySDM, see Bartman, Arabas et al. 2021. PySDM is released under the GNU GPL v3 license. PySDM development has been spearheaded at the Faculty of Mathematics and Computer Science, Jagiellonian University in Kraków (the copyright holder).
For details on PySDM dependencies and installation procedures, see project README.md file which also includes basic usage examples in Python, Julia and Matlab.
A set of more elaborate examples engineered in Python and accompanied by Jupyter notebooks are maintained in the PySDM-examples package.
PySDM test-suite built using pytest is located in the tests package.
Expand source code
# pylint:disable=invalid-name
"""
PySDM offers a set of building blocks for development of atmospheric cloud
simulation systems revolving around the particle-based microphysics modelling concept
and the Super-Droplet Method algorithm ([Shima et al. 2009](https://doi.org/10.1002/qj.441))
for numerically tackling the probabilistic representation of particle coagulation.
For an overview of PySDM, see [Bartman, Arabas et al. 2021](https://arxiv.org/abs/2103.17238).
PySDM is released under the [GNU GPL v3 license](https://www.gnu.org/licenses/gpl-3.0.en.html).
PySDM development has been spearheaded at the Faculty of Mathematics and Computer Science,
[Jagiellonian University in Kraków](https://en.uj.edu.pl/en) (the copyright holder).
For details on PySDM dependencies and installation procedures, see project
[README.md file](https://github.com/open-atmos/PySDM/blob/master/README.md)
which also includes basic usage examples in **Python**, **Julia** and **Matlab**.
A set of more elaborate examples engineered in Python and accompanied by Jupyter
notebooks are maintained in the
[PySDM-examples package](https://github.com/open-atmos/PySDM-examples).
PySDM test-suite built using [pytest](https://docs.pytest.org/) is located in the
[tests package](https://github.com/open-atmos/PySDM/tree/master/tests).
"""
from importlib.metadata import PackageNotFoundError, version
from . import environments, exporters, products
from .builder import Builder
from .formulae import Formulae
from .particulator import Particulator
try:
__version__ = version(__name__)
except PackageNotFoundError:
# package is not installed
pass
Sub-modules
PySDM.attributes
-
Classes representing super-particle attributes
PySDM.backends
PySDM.builder
-
The Builder class handling creation of
Particulator
instances PySDM.dynamics
-
Classes representing physicochemical processes:
Collision
,Condensation
, … PySDM.environments
PySDM.exporters
-
Exporters handling output to metadata-rich file formats incl. netCDF and VTK
PySDM.formulae
-
Logic for enabling common CPU/GPU physics formulae code
PySDM.impl
-
stuff not intended to be used from user code
PySDM.initialisation
-
initialisation logic, particle size spectra, sampling methods and wet radii equilibration
PySDM.particulator
-
The very class exposing
Particulator.run()
method for launching simulations PySDM.physics
-
Physical constants and formulae (mostly one-liners) that can be automatically either njit-ted or translated to C (in contrast to more complex code …
PySDM.products
-
Simulation output products