Description
Submitting Author: Sylwester Arabas (@slayoo)
All current maintainers: (@zdaq12, @jcurtis2, @nriemer, @mwest1066)
Package Name: PyPartMC
One-Line Description of Package: Python interface to PartMC aerosol-dynamics Monte-Carlo simulation package
Repository Link: https://github.com/open-atmos/PyPartMC/
Version submitted: v1.2.0
EIC: @Batalex
Editor: @cmarmo
Reviewer 1: @simonom
Reviewer 2: @dbaston
Archive:
Version accepted: 1.4.2
Date accepted (month/day/year): 02/12/2025
Code of Conduct & Commitment to Maintain Package
- I agree to abide by [pyOpenSci's Code of Conduct][PyOpenSciCodeOfConduct] during the review process and in maintaining my package after should it be accepted.
- I have read and will commit to package maintenance after the review as per the [pyOpenSci Policies Guidelines][Commitment].
Description
PyPartMC is a Python interface to PartMC, a particle-resolved Monte-Carlo code for atmospheric aerosol simulation. PyPartMC is implemented mostly in C++ (based on the pybind11 framework) with some C and Fortran boilerplate layers. PyPartMC constitutes an API to the PartMC Fortran internals. Besides empowering Python/Jupyter users, PyPartMC can facilitate using PartMC from other environments - see, e.g., Julia and Matlab examples in the project README.
Scope
- [ ] Data retrieval
- [ ] Data extraction
- [ ] Data processing/munging
- [ ] Data deposition
- [ ] Data validation and testing
- [ ] Data visualization
- [ ] Workflow automation
- [ ] Citation management and bibliometrics
- [x] Scientific software wrappers
- [ ] Database interoperability
Domain Specific
n/a
(atmospheric science)
Community Partnerships
n/a
(we host development as a part of the OpenAtmos initiative: https://github.com/open-atmos)
Target audience and scientific applications
Development of PyPartMC has been intended to remove limitations to the use of Fortran-implemented PartMC software. PyPartMC facilitates the dissemination of computational research results by streamlining independent execution of PartMC simulations, which could prove advantageous during peer review process. Additionally, the ability to easily package examples, simple simulations, and results in a web-based notebook allows PyPartMC to support the efforts of many members of the scientific community, including researchers, instructors, and students, with nominal software and hardware requirements.
Other Python packages with relevant feature scope
- PySDM: particle-based Monte-Carlo aerosol-cloud simulation package (differences: PySDM focuses on growth and breakup processes relevant to cloud droplets; PyPartMC focuses on processes relevant to air pollutants and their chemical and physical transformations)
- DustPy: Python package for modelling dust evolution in protoplanetary disks (differences: focus on astrophysical applications vs. atmospheric aerosol)
- PyBox: aerosol simulation model featuring gas and particle chamistry (differences: PyBox focuses on chemical mechanisms; PyPartMC is an interface to PartMC which focuses on physics - e.g., collisions of aerosol particles - while chemical processes are handled with external software, e.g., CAMP or MOSAIC)
Technical checks
For details about the pyOpenSci packaging requirements, see our [packaging guide][PackagingGuide]. Confirm each of the following by checking the box. This package:
- does not violate the Terms of Service of any service it interacts with.
- uses an [OSI approved license][OsiApprovedLicense].
- contains a README with instructions for installing the development version.
- includes documentation with examples for all functions:
- README file: https://github.com/open-atmos/PyPartMC/blob/main/README.md
- auto-generated docstring-based docs: https://open-atmos.github.io/PyPartMC/
- documentation of the wrapped PartMC package: https://lagrange.mechse.illinois.edu/partmc/partmc-2.6.1/doc/html/index.html
- contains a tutorial with examples of its essential functions and uses.
- Jupyter notebooks with examples: https://github.com/open-atmos/PyPartMC/blob/main/README.md#jupyter-notebooks-with-examples
- has a test suite.
- has continuous integration setup, such as GitHub Actions CircleCI, and/or others.
Publication Options
- Do you wish to automatically submit to the [Journal of Open Source Software][JournalOfOpenSourceSoftware]? If so:
(we have recently published a SoftwareX paper on PyPartMC: https://doi.org/10.1016/j.softx.2023.101613)
Are you OK with Reviewers Submitting Issues and/or pull requests to your Repo Directly?
- Yes I am OK with reviewers submitting requested changes as issues to my repo. Reviewers will then link to the issues in their submitted review.
Confirm each of the following by checking the box.
- I have read the author guide.
- I expect to maintain this package for at least 2 years and can help find a replacement for the maintainer (team) if needed.
Please fill out our survey
Metadata
Metadata
Assignees
Type
Projects
Status