Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 63 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
✓Committers with academic emails
8 of 10 committers (80.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.0%) to scientific vocabulary
Keywords from Contributors
Repository
Particle-resolved stochastic atmospheric aerosol model
Basic Info
- Host: GitHub
- Owner: compdyn
- License: gpl-2.0
- Language: Fortran
- Default Branch: master
- Homepage: http://lagrange.mechse.illinois.edu/partmc/
- Size: 168 MB
Statistics
- Stars: 36
- Watchers: 8
- Forks: 16
- Open Issues: 60
- Releases: 5
Metadata Files
README.md
PartMC: Particle-resolved Monte Carlo code for atmospheric aerosol simulation
Version 2.8.0
Released 2024-02-23
Source: https://github.com/compdyn/partmc
Homepage: http://lagrange.mechse.illinois.edu/partmc/
Cite as: M. West, N. Riemer, J. Curtis, M. Michelotti, and J. Tian (2024) PartMC, ,
Copyright (C) 2005-2024 Nicole Riemer and Matthew West
Portions copyright (C) Andreas Bott, Richard Easter, Jeffrey Curtis,
Matthew Michelotti, and Jian Tian
Licensed under the GNU General Public License version 2 or (at your
option) any later version.
For details see the file COPYING or
http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
References:
- N. Riemer, M. West, R. A. Zaveri, and R. C. Easter (2009) Simulating the evolution of soot mixing state with a particle-resolved aerosol model, J. Geophys. Res. 114(D09202), http://dx.doi.org/10.1029/2008JD011073.
- N. Riemer, M. West, R. A. Zaveri, and R. C. Easter (2010) Estimating black carbon aging time-scales with a particle-resolved aerosol model, J. Aerosol Sci. 41(1), 143-158, http://dx.doi.org/10.1016/j.jaerosci.2009.08.009.
- R. A. Zaveri, J. C. Barnard, R. C. Easter, N. Riemer, and M. West (2010) Particle-resolved simulation of aerosol size, composition, mixing state, and the associated optical and cloud condensation nuclei activation properties in an evolving urban plume, J. Geophys. Res. 115(D17210), http://dx.doi.org/10.1029/2009JD013616.
- R. E. L. DeVille, N. Riemer, and M. West (2011) Weighted Flow Algorithms (WFA) for stochastic particle coagulation, J. Comp. Phys. 230(23), 8427-8451, http://dx.doi.org/10.1016/j.jcp.2011.07.027
- J. Ching, N. Riemer, and M. West (2012) Impacts of black carbon mixing state on black carbon nucleation scavenging: Insights from a particle-resolved model, J. Geophys. Res. 117(D23209), http://dx.doi.org/10.1029/2012JD018269
- M. D. Michelotti, M. T. Heath, and M. West (2013) Binning for efficient stochastic multiscale particle simulations, Multiscale Model. Simul. 11(4), 1071-1096, http://dx.doi.org/10.1137/130908038
- N. Riemer and M. West (2013) Quantifying aerosol mixing state with entropy and diversity measures, Atmos. Chem. Phys. 13, 11423-11439, http://dx.doi.org/10.5194/acp-13-11423-2013
- J. Tian, N. Riemer, M. West, L. Pfaffenberger, H. Schlager, and A. Petzold (2014) Modeling the evolution of aerosol particles in a ship plume using PartMC-MOSAIC, Atmos. Chem. Phys. 14, 5327-5347, http://dx.doi.org/10.5194/acp-14-5327-2014
- R. M. Healy, N. Riemer, J. C. Wenger, M. Murphy, M. West, L. Poulain, A. Wiedensohler, I. P. O'Connor, E. McGillicuddy, J. R. Sodeau, and G. J. Evans (2014) Single particle diversity and mixing state measurements, Atmos. Chem. and Phys. 14, 6289-6299, http://dx.doi.org/10.5194/acp-14-6289-2014
- J. H. Curtis, M. D. Michelotti, N. Riemer, M. Heath, and M. West (2016) Accelerated simulation of stochastic particle removal processes in particle-resolved aerosol models, J. Comp. Phys. 322, 21-32, http://dx.doi.org/10.1016/j.jcp.2016.06.029
- J. Ching, N. Riemer, and M. West (2016) Black carbon mixing state impacts on cloud microphysical properties: Effects of aerosol plume and environmental conditions, J. Geophys. Res. 121(10), 5990-6013, http://dx.doi.org/10.1002/2016JD024851
- J. Ching, J. Fast, M. West, and N. Riemer (2017) Metrics to quantify the importance of mixing state for CCN activity, Atmos. Chem. and Phys. 17, 7445-7458, http://dx.doi.org/10.5194/acp-17-7445-2017
- J. Tian, B. T. Brem, M. West, T. C. Bond, M. J. Rood, and N. Riemer (2017) Simulating aerosol chamber experiments with the particle-resolved aerosol model PartMC, Aerosol Sci. Technol. 51(7), 856-867, http://dx.doi.org/10.1080/02786826.2017.1311988
- J. H. Curtis, N. Riemer, and M. West (2017) A single-column particle-resolved model for simulating the vertical distribution of aerosol mixing state: WRF-PartMC-MOSAIC-SCM v1.0, Geosci. Model Dev. 10, 4057-4079, http://dx.doi.org/10.5194/gmd-10-4057-2017
- J. Ching, M. West, and N. Riemer (2018) Quantifying impacts of aerosol mixing state on nucleation-scavenging of black carbon aerosol particles, Atmosphere 9(1), 17, http://dx.doi.org/10.3390/atmos9010017
- M. Hughes, J. K. Kodros, J. R. Pierce, M. West, and N. Riemer (2018) Machine learning to predict the global distribution of aerosol mixing state metrics, Atmosphere 9(1), 15, http://dx.doi.org/10.3390/atmos9010015
- R. E. L. DeVille, N. Riemer, and M. West (2019) Convergence of a generalized Weighted Flow Algorithm for stochastic particle coagulation, Journal of Computational Dynamics 6(1), 69-94, http://dx.doi.org/10.3934/jcd.2019003
- N. Riemer, A. P. Ault, M. West, R. L. Craig, and J. H. Curtis (2019) Aerosol mixing state: Measurements, modeling, and impacts, Reviews of Geophysics 57(2), 187-249, http://dx.doi.org/10.1029/2018RG000615
- C. Shou, N. Riemer, T. B. Onasch, A. J. Sedlacek, A. T. Lambe, E. R. Lewis, P. Davidovits, and M. West (2019) Mixing state evolution of agglomerating particles in an aerosol chamber: Comparison of measurements and particle-resolved simulations, Aerosol Science and Technology 53(11), 1229-1243, http://dx.doi.org/10.1080/02786826.2019.1661959
- J. T. Gasparik, Q. Ye, J. H. Curtis, A. A. Presto, N. M. Donahue, R. C. Sullivan, M. West, and N. Riemer (2020) Quantifying errors in the aerosol mixing-state index based on limited particle sample size, Aerosol Science and Technology 54(12), 1527-1541, http://dx.doi.org/10.1080/02786826.2020.1804523
- Z. Zheng, J. H. Curtis, Y. Yao, J. T. Gasparik, V. G. Anantharaj, L. Zhao, M. West, and N. Riemer (2021) Estimating submicron aerosol mixing state at the global scale with machine learning and earth system modeling, Earth and Space Science 8(2), e2020EA001500, http://dx.doi.org/10.1029/2020EA001500
Running PartMC with Docker
This is the fastest way to get running.
Step 1: Install Docker Community Edition.
- On Linux and MacOS this is straightforward. Download from here.
- On Windows the best version is Docker Community Edition for Windows, which requires Windows 10 Pro/Edu.
Step 2: (Optional) Run the PartMC test suite with:
docker run -it --rm compdyn/partmc bash -c 'cd /build; make test'Step 3: Run a scenario like the following. This example uses
partmc/scenarios/4_chamber. This mounts the current directory ($PWD, replace with%cd%on Windows) into/runinside the container, changes into that directory, and then runs PartMC.cd partmc/scenarios/4_chamber docker run -it --rm -v $PWD:/run compdyn/partmc bash -c 'cd /run; /build/partmc chamber.spec'
In the above docker run command the arguments are:
-it: activates "interactive" mode so Ctrl-C works to kill the command--rm: remove temporary docker container files after running-v LOCAL:REMOTE: mount theLOCALdirectory to theREMOTEdirectory inside the containercompdyn/partmc: the docker image to runbash -c 'COMMAND': runCOMMANDinside the docker container
The directory structure inside the docker container is:
/partmc # a copy of the partmc git source code repository
/build # the diretory in which partmc was compiled
/build/partmc # the compiled partmc executable
/run # the default diretory to run in
Dependencies
Required dependencies:
- Fortran 2003 compiler - https://gcc.gnu.org/fortran/ or similar
- CMake version 2.6.4 or higher - http://www.cmake.org/
- NetCDF version 4.2 or higher - http://www.unidata.ucar.edu/software/netcdf/
Optional dependencies:
- CAMP chemistry code - https://github.com/open-atmos/camp
- MOSAIC chemistry code version 2012-01-25 - Available from Rahul Zaveri - Rahul.Zaveri@pnl.gov
- MPI parallel support - http://www.open-mpi.org/
- GSL for random number generators - http://www.gnu.org/software/gsl/
- SUNDIALS ODE solver for condensation support - http://www.llnl.gov/casc/sundials/
- gnuplot for testcase plotting - http://www.gnuplot.info/
Installation
Install cmake and NetCDF (see above). The NetCDF libraries are required to compile PartMC. The
netcdf.modFortran 90 module file is required, and it must be produced by the same compiler being used to compile PartMC.Unpack PartMC:
tar xzvf partmc-2.8.0.tar.gzChange into the main PartMC directory (where this README file is located):
cd partmc-2.8.0Make a directory called
buildand change into it:mkdir build cd buildIf desired, set environment variables to indicate the install locations of supporting libraries. If running
echo $SHELLindicates that you are runningbash, then you can do something like:export NETCDF_HOME=/ export MOSAIC_HOME=${HOME}/mosaic-2012-01-25 export SUNDIALS_HOME=${HOME}/opt export GSL_HOME=${HOME}/opt
Of course the exact directories will depend on where the libraries are installed. You only need to set variables for libraries installed in non-default locations, and only for those libraries you want to use. Everything except NetCDF is optional.
If echo $SHELL instead is tcsh or similar, then the environment
variables can be set like setenv NETCDF_HOME / and similarly.
Run cmake with the main PartMC directory as an argument (note the double-c):
ccmake ..Inside ccmake press
cto configure, edit the values as needed, presscagain, thengto generate. Optional libraries can be activated by setting theENABLEvariable toON. For a parallel build, toggle advanced mode withtand set theCMAKE_Fortran_COMPILERtompif90, then reconfigure.Optionally, enable compiler warnings by pressing
tinside ccmake to enable advanced options and then settingCMAKE_Fortran_FLAGSto:-O2 -g -fimplicit-none -W -Wall -Wconversion -Wunderflow -Wimplicit-interface -Wno-compare-reals -Wno-unused -Wno-unused-parameter -Wno-unused-dummy-argument -fbounds-checkCompile PartMC and test it as follows.
make make testTo run just a single test do something like:
ctest -R bidisperse # argument is a regexp for test namesTo see what make is doing run it like:
VERBOSE=1 makeTo run tests with visible output or to make some plots from the tests run them as follows. Note that tests often rely on earlier tests in the same directory, so always run
test_1, thentest_2, etc. Tests occasionally fail due to random sampling, so re-run the entire sequence after failures. For example:cd test_run/emission ./test_emission_1.sh ./test_emission_2.sh ./test_emission_3.sh # similarly for other tests gnuplot -persist plot_species.gnuplot # etc...To run full scenarios, do, for example:
cd ../scenarios/1_urban_plume ./1_run.sh
Usage
The main partmc command reads .spec files and does the run
specified therein. Either particle-resolved runs, sectional-code runs,
or exact solutions can be generated. A run produces one NetCDF file
per output timestep, containing per-particle data (from
particle-resolved runs) or binned data (from sectional or exact
runs). The extract_* programs can read these per-timestep NetCDF
files and output ASCII data (the extract_sectional_* programs are
used for sectional and exact model output).
Python bindings
The PyPartMC project offers pip-installable Python bindings to PartMC. Both source and binary packages are available and ship with all PartMC dependencies included. PyPartMC exposes internal components of PartMC (utility routines and derived types) which then can serve as building blocks to develop PartMC simulations in Python. Time stepping can be performed either using the internal PartMC time-stepper or externally within a Python loop. The latter allows to couple the simulation with external Python components in each timestep. PyPartMC features examples developed as Jupyter notebooks. Snippets of code provided in the README file depict how to use PyPartMC from Julia (using PyCall.jl) and Matlab (using Matlab's built-in Python bridge).
Owner
- Name: compdyn
- Login: compdyn
- Kind: organization
- Repositories: 6
- Profile: https://github.com/compdyn
GitHub Events
Total
- Issues event: 2
- Watch event: 7
- Delete event: 2
- Issue comment event: 4
- Push event: 29
- Pull request event: 13
- Pull request review event: 49
- Pull request review comment event: 84
- Create event: 4
Last Year
- Issues event: 2
- Watch event: 7
- Delete event: 2
- Issue comment event: 4
- Push event: 29
- Pull request event: 13
- Pull request review event: 49
- Pull request review comment event: 84
- Create event: 4
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Matthew West | m****t@i****u | 2,103 |
| Nicole Riemer | n****r@i****u | 409 |
| Jeff Curtis | j****2@i****u | 98 |
| Joseph Ching | c****1@i****u | 28 |
| Matthew Michelotti | m****3@i****u | 22 |
| Rahul Zaveri | R****i@p****v | 17 |
| Sylwester Arabas | s****s@u****l | 8 |
| Jian Tian | j****4@i****u | 7 |
| Zach D'Aquino | 1****2 | 1 |
| Alex Hirzel | a****x@h****s | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 60
- Total pull requests: 73
- Average time to close issues: 8 months
- Average time to close pull requests: 6 months
- Total issue authors: 9
- Total pull request authors: 12
- Average comments per issue: 2.82
- Average comments per pull request: 0.95
- Merged pull requests: 49
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 4
- Pull requests: 13
- Average time to close issues: N/A
- Average time to close pull requests: 27 days
- Issue authors: 2
- Pull request authors: 5
- Average comments per issue: 0.0
- Average comments per pull request: 0.46
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- cguzman95 (27)
- mattldawson (15)
- slayoo (7)
- jcurtis2 (5)
- mwest1066 (2)
- zhonghua-zheng (1)
- jtgasparik (1)
- alhirzel (1)
- tangwhiap (1)
Pull Request Authors
- jcurtis2 (28)
- slayoo (11)
- mattldawson (8)
- mwest1066 (6)
- tangwhiap (5)
- cguzman95 (5)
- zdaq12 (3)
- odiazib (2)
- zhonghua-zheng (2)
- jtgasparik (1)
- alhirzel (1)
- Jim-Xu (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v1 composite
- actions/checkout v1 composite
- actions/checkout v1 composite
- actions/checkout v2 composite
- docker/build-push-action v2 composite
- docker/login-action v1 composite
- docker/setup-buildx-action v1 composite
- docker/setup-qemu-action v1 composite
- actions/checkout v1 composite
- actions/checkout v1 composite
- fedora 33 build