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.
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:
gcc-gfortran
, cmake
, netcdf-devel
, gnuplot
gfortran
, cmake
, libnetcdf-dev
, gnuplot
gcc-fortran
, cmake
, libnetcdf-devel
, gnuplot
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:
In principle PartMC should compile under any modern OS. Testing has mainly been under Linux and OS X. The quick-start instructions are:
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.
Unpack PartMC:
tar xzvf partmc-1.2.0.tar.gz
Change into the main PartMC directory (where this README file is located):
cd partmc-1.2.0
Make a directory called build
and change into it:
mkdir build
cd build
Run cmake with the main PartMC directory as an argument (note the double-c):
ccmake ..
Inside ccmake press c
to configure, edit the values as needed,
press c
again, then g
to generate.
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
To run just a single test do something like:
ctest -R poisson # argument is a regexp for test names
To see what make is doing run it like:
VERBOSE=1 make
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...
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
.
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).
1.2.1 - 2010-04-26
Specified the appropriate MOSAIC version in README.
Added restart capability from NetCDF state files.
1.2.0 - 2009-06-15
Output of full per-particle data in NetCDF format.
urban_plume
test-case added, as described in the paper
http://dx.doi.org/10.1029/2008JD011073.
Build system switched to cmake
.
Automated test suite added (make test
).
1.1.0 - 2008-02-17
Internal reorganization to use Fortran 90 derived types for the data structures.
Integration with the MOSAIC gas- and aerosol-chemistry code.
Output is in binary NetCDF format.
Parallel implementation using 1D mixing.
1.0.0 - 2007-02-26