pyrcel: cloud parcel model
This is an implementation of a simple, adiabatic cloud parcel model for use in aerosol-cloud interaction studies. Rothenberg and Wang (2016) discuss the model in detail and its improvements and changes over Nenes et al (2001):
- Implementation of κ-Köhler theory for condensation physics (Petters and Kreidenweis, 2007)
- Extension of model to handle arbitrary sectional representations of aerosol populations, based on user-controlled empirical or parameterized size distributions
- Improved, modular numerical framework for integrating the model, including bindings to several different stiff integrators:
among other details. It also includes a library of droplet activation routines and scripts/notebooks for evaluating those schemes against equivalent calculations done with the parcel model.
Updated code can be found the project github repository. If you'd like to use this code or have any questions about it, please contact the author. In particular, if you use this code for research purposes, be sure to carefully read through the model and ensure that you have tweaked/configured it for your purposes (i.e., modifying the accomodation coefficient); other derived quantities).
- Python 3 is strongly encouraged; Python 2.7 is supported via future. Python 2.6 is not supported!
- pandas - v0.17+
- xarray - v0.7+
The following packages are used for better numerics (ODE solving)
The easiest way to satisfy the basic requirements for building and running the model is to use the Anaconda scientific Python distribution. Alternatively, a miniconda environment is provided to quickly set-up and get running the model. Assimulo's dependency on the SUNDIALS library makes it a little bit tougher to install in an automated fashion, so it has not been included in the automatic setup provided here; you should refer to Assimulo's documentation for more information on its installation process. Note that many components of the model and package can be used without Assimulo.
Please fork this repository if you intend to develop the model further so that the code's provenance can be maintained.