open-atmos packages ../_images/code-branch-solid.svg

Before going into specific descriptions of our proposed solutions, let us introduce open-source Pythonic packages that will serve as examples and show-cases. All of them are developed and maintained by open-atmos contributors link to GitHub. Packages started over 5 years ago, hence, serve as good examples for discussion about maintainability.


PySDM ../_images/pysdm_logo.svg

PySDM is a package for simulating the dynamics of a population of particles undergoing diffusional and collisional growth (and breakage). The package features a Pythonic high-performance (multithreaded CPU & CUDA GPU) implementation of the Super-Droplet Method (SDM) Monte-Carlo algorithm for representing collisional growth Shima et al. [2009], hence the name.

The animation from the landing page PySDM Documentation

https://github.com/open-atmos/PySDM/releases/download/tip/docs_intro_animation_ubuntu-24.04.gif

link to GitHub PyPI version


PyMPDATA ../_images/pympdata_logo.svg

PyMPDATA is a Numba-accelerated multithreaded Pythonic implementation of the MPDATA algorithm of Smolarkiewicz [1984] used in geophysical fluid dynamics for solving convection-diffusion PDEs. PyMPDATA supports integration in 1D, 2D, and 3D structured meshes with optional coordinate transformations.

More information and examples can be found in PyMPDATA Documentation

link to github PyPI version


open-atmos-jupyter-utils ../_images/Atmos-logo-vert.svg

open-atmos-jupyter-utils is a Python package providing Jupyter notebook utility routines for:

Can be installed via pip

pip install open-atmos-jupyter-utils

link to GitHub PyPI version


What’s next?

The next part links challenges of the maintainability of research-results reproducibility with solutions developed during evolution of the packages mentioned above. We divided it into sections concerning developers’ and users’ gains.

../_images/signs-post-solid.svg Let’s start with the developers’ perspective!