PyPartMC is a jointly developed effort between Nicole Riemer's group at University of Illinois Urbana-Champaign, and our team at AGH University of Krakow, as well as an open contributor and user community. The goal of the project is to provide a maintainable, multi-platform, and pip-installable Python interface to PartMC — an open-source aerosol dynamics simulation framework. PartMC itself has been under active development for nearly two decades and has been used in computational studies ranging from chamber-experiment modelling, through cloud-microphysics process studies, to large-scale air pollution modelling. With its modular Fortran 90 codebase and dependencies such as SUNDIALS, netCDF, CAMP, PartMC represents a robust but technically demanding HPC tool. PyPartMC bridges this complexity by enabling seamless interoperability between the Python ecosystem and the existing Fortran-based computational core.
The PyPartMC project aims to enhance accessibility for both seasoned PartMC users and newcomers to atmospheric modelling by simplifying the previously intricate setup, compilation, and analysis workflows into a unified Python environment. The package, distributed via PyPI in both source and binary forms for Linux, Windows, and macOS, relies on a CMake-based build system that statically links all dependencies. Its design retains the unmodified Fortran core while using nanobind for implementing automatic garbage collection for Fortran objects, and offering a JSON-based configuration system compatible with the original Fortran-implemented custom "spec file" input API. Comprehensive test coverage ensures maintainability of the codebase, and interoperability across platforms. Integration with Matlab and Julia is depicted with examples included in the PyPartMC documentation.