TY - JOUR
T1 - PyPartMC
T2 - A Pythonic interface to a particle-resolved, Monte Carlo aerosol simulation framework
AU - D'Aquino, Zachary
AU - Arabas, Sylwester
AU - Curtis, Jeffrey H.
AU - Vaishnav, Akshunna
AU - Riemer, Nicole
AU - West, Matthew
N1 - Publisher Copyright:
© 2023 The Author(s)
PY - 2024/2
Y1 - 2024/2
N2 - PyPartMC is a Pythonic interface to PartMC, a stochastic, particle-resolved aerosol model implemented in Fortran. Both PyPartMC and PartMC are free, libre, and open-source. PyPartMC reduces the number of steps and mitigates the effort necessary to install and utilize the resources of PartMC. Without PyPartMC, setting up PartMC requires: working with UNIX shell, providing Fortran and C libraries, and performing standard Fortran and C source code configuration, compilation and linking. This can be challenging for those less experienced with computational research or those intending to use PartMC in environments where provision of UNIX tools is less straightforward (e.g., on Windows). PyPartMC offers a single-step installation/upgrade process of PartMC and all dependencies through the pip Python package manager on Linux, macOS, and Windows. This allows streamlined access to the unmodified and versioned Fortran internals of the PartMC codebase from both Python and other interoperable environments (e.g., Julia through PyCall). In particular, PyPartMC can be set up to handle the time-stepping loop for PartMC simulations making it possible to couple PartMC with other Python-interoperable packages, for either online diagnostics or additional simulation logic. Altogether, users of PyPartMC can setup, run, process and visualize output of PartMC simulations using a single general-purpose programming language.
AB - PyPartMC is a Pythonic interface to PartMC, a stochastic, particle-resolved aerosol model implemented in Fortran. Both PyPartMC and PartMC are free, libre, and open-source. PyPartMC reduces the number of steps and mitigates the effort necessary to install and utilize the resources of PartMC. Without PyPartMC, setting up PartMC requires: working with UNIX shell, providing Fortran and C libraries, and performing standard Fortran and C source code configuration, compilation and linking. This can be challenging for those less experienced with computational research or those intending to use PartMC in environments where provision of UNIX tools is less straightforward (e.g., on Windows). PyPartMC offers a single-step installation/upgrade process of PartMC and all dependencies through the pip Python package manager on Linux, macOS, and Windows. This allows streamlined access to the unmodified and versioned Fortran internals of the PartMC codebase from both Python and other interoperable environments (e.g., Julia through PyCall). In particular, PyPartMC can be set up to handle the time-stepping loop for PartMC simulations making it possible to couple PartMC with other Python-interoperable packages, for either online diagnostics or additional simulation logic. Altogether, users of PyPartMC can setup, run, process and visualize output of PartMC simulations using a single general-purpose programming language.
KW - Atmospheric modeling
KW - Particle-resolved aerosol simulation
KW - Python-to-Fortran interface
UR - http://www.scopus.com/inward/record.url?scp=85181017175&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85181017175&partnerID=8YFLogxK
U2 - 10.1016/j.softx.2023.101613
DO - 10.1016/j.softx.2023.101613
M3 - Article
AN - SCOPUS:85181017175
SN - 2352-7110
VL - 25
JO - SoftwareX
JF - SoftwareX
M1 - 101613
ER -