
Research
SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.
pyrcel
Advanced tools

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):
lsoda - scipy ODEINT wrappervode, lsode*, lsoda* - ODEPACK via odespycvode - SUNDIALS via Assimuloamong 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.
[!WARNING] As of version 1.3, we no longer support any ODE solver backends other than
cvode. All publications using this model have used this backend, so users shouldn't expect any inconsistencies with historical results. A future version is planned to add a new suite of ODE solvers from the diffrax toolkit.
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).
Detailed documentation is available, including a scientific description, installation details, and a basic example which produces a figure like the plot at the top of this page.
As of February, 2025, we provide an ultra simple way to run pyrcel without any installation
or setup using pixi.
pixi is an all-in-one package management tool that makes handling complex environment
setup and dependencies extremely easy.
Clone or download this repo, then cd into the top-level folder from a terminal. From there, execute:
$ pixi run run_parcel examples/simple.yml
This will automatically prepare an environment with all of pyrcel's dependencies installed,
and then run an example model setup.
The first time the model runs, it may take a few second after invoking the script; this is
normal, and is just a side-effect of numba caching and pre-compiling some of the functions
used to drive the parcel model simulation.
[!NOTE] We provide
pixienvironments for Linux, MacOS (both Intel and Apple Silicon) and Windows, but we have never tried to run the model on a Windows computer so your mileage may vary. Contact the authors if you have any questions and we can try to support your use case.
To get started with using pyrcel, complete the following steps:
$ mamba create -n pyrcel_quick_start python=3.11
$ mamba activate pyrcel_quick_start
$ pip install pyrcel
$ mamba install -c conda-forge assimulo
$ run_parcel simple.yml
That's it! You should be able to import pyrcel into any script or program running in the
environment you created.
Required
Additionally, 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.
http://github.com/darothen/pyrcel
Please fork this repository if you intend to develop the model further so that the code's provenance can be maintained.
All scientific code should be licensed. This code is released under the New BSD (3-clause) license.
You are free to use this code however you would like. If you use this for any scientific work resulting in a publication or citation, please cite our original publication detailing the model, and let the authors know:
@article {
author = "Daniel Rothenberg and Chien Wang",
title = "Metamodeling of Droplet Activation for Global Climate Models",
journal = "Journal of the Atmospheric Sciences",
year = "2016",
publisher = "American Meteorological Society",
address = "Boston MA, USA",
volume = "73",
number = "3",
doi = "10.1175/JAS-D-15-0223.1",
pages= "1255 - 1272",
url = "https://journals.ametsoc.org/view/journals/atsc/73/3/jas-d-15-0223.1.xml"
}
FAQs
pyrcel: 0D adiabatic cloud parcel model
We found that pyrcel demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
An emerging npm supply chain attack that infects repos, steals CI secrets, and targets developer AI toolchains for further compromise.

Company News
Socket is proud to join the OpenJS Foundation as a Silver Member, deepening our commitment to the long-term health and security of the JavaScript ecosystem.

Security News
npm now links to Socket's security analysis on every package page. Here's what you'll find when you click through.