PartMC

PartMC: Particle-resolved Monte Carlo code for atmospheric aerosol simulation

Version 1.2.1
Released 2010-04-26

http://lagrange.mechse.illinois.edu/mwest/partmc/

Reference: 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.

Copyright (C) 2005-2010 Nicole Riemer and Matthew West
Portions copyright (C) Andreas Bott and Richard Easter
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.

Dependencies

Required dependencies:

Optional dependencies:

PartMC can be compiled out-of-the-box on Linux under Fedora, Ubuntu, or openSUSE if the following packages are installed:

PartMC will also compile out-of-the-box on OS X 10.5 using Fink (see http://www.finkproject.org/) if the following packages are installed: gcc44, cmake, netcdf, netcdf-gfortran, gnuplot.

The recommended version of MOSAIC for this release of PartMC is:

Installation

In principle PartMC should compile under any modern OS. Testing has mainly been under Linux and OS X. The quick-start instructions are:

  1. Install cmake and NetCDF (see above). The NetCDF libraries are required to compile PartMC. The netcdf.mod Fortran 90 module file is required, and it must be produced by the same compiler being used to compile PartMC.

  2. Unpack PartMC:

    tar xzvf partmc-1.2.0.tar.gz
    
  3. Change into the main PartMC directory (where this README file is located):

    cd partmc-1.2.0
    
  4. Make a directory called build and change into it:

    mkdir build
    cd build
    
  5. Run cmake with the main PartMC directory as an argument (note the double-c):

    ccmake ..
    
  6. Inside ccmake press c to configure, edit the values as needed, press c again, then g to generate.

  7. Compile PartMC and test it as follows. Some tests may fail due to bad random initial conditions, so re-run the tests a few times to see if failures persist.

    make
    make test
    
  8. To run just a single test do something like:

    ctest -R poisson # argument is a regexp for test names
    
  9. To see what make is doing run it like:

    VERBOSE=1 make
    
  10. To run tests with visible output or to make some plots from the tests run them as:

    cd run_test/emission
    ./run_test_1.sh                       # similary for other tests
    gnuplot -persist plot_species.gnuplot # etc...
    
  11. There is a complete scenario run under the urban_plume/ directory. From this directory do:

    ./run.sh
    ./process.sh
    gnuplot -persist plot_aero_species_wc.gnuplot
    # similarly for other plots
    

PartMC can interface to the MOSAIC chemistry code (see above for availability) but this is not enabled by default. To use MOSAIC, set the ENABLE_MOSAIC variable to ON in cmake. The MOSAIC_INCLUDE_DIR variable should be the location of the MOSAIC module files (compiled with the same compiler), probably ending in mosaic/datamodules. The MOSAIC_LIB variable should end in something like mosaic/libmosaic.a.

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 timestep, containing per-particle data (from particle-resolved runs) or binned data (from sectional or exact runs). The extract_* programs in the tool/ directory can read these per-timestep NetCDF files and output ASCII data (the extract_sectional_* programs are used for sectional and exact model output).

ChangeLog

1.2.1 - 2010-04-26

1.2.0 - 2009-06-15

1.1.0 - 2008-02-17

1.0.0 - 2007-02-26