-
Immersion freezing in particle-based aerosol-cloud microphysics: a probabilistic perspective on singular and time-dependent models
Authors:
Sylwester Arabas,
Jeffrey H. Curtis,
Israel Silber,
Ann M. Fridlind,
Daniel A. Knopf,
Matthew West,
Nicole Riemer
Abstract:
Cloud droplets containing ice-nucleating particles (INPs) may freeze at temperatures above the homogeneous freezing threshold temperature. This process, referred to as immersion freezing, is one of the modulators of aerosol-cloud interactions in the Earth's atmosphere. In modeling studies, immersion freezing is often described using either so-called "singular" or "time-dependent" parameterizations…
▽ More
Cloud droplets containing ice-nucleating particles (INPs) may freeze at temperatures above the homogeneous freezing threshold temperature. This process, referred to as immersion freezing, is one of the modulators of aerosol-cloud interactions in the Earth's atmosphere. In modeling studies, immersion freezing is often described using either so-called "singular" or "time-dependent" parameterizations. Here, we juxtapose both approaches and discuss them in the context of probabilistic particle-based cloud microphysics modeling. First, using a box model, we contrast how both parameterizations respond to different idealized ambient cooling rate profiles and quantify the impact of the polydispersity of the immersed surface spectrum on the frozen fraction evolution. Second, using a prescribed-flow two-dimensional cloud model, we illustrate the implications of applying the singular model in simulations with flow regimes relevant to ambient cloud conditions rather than to the cloud-chamber experiments on which these parameterizations are built upon. We discuss the critical role of the attribute-space sampling strategy for particle-based model simulations in modeling heterogeneous ice nucleation which is contingent on the presence of relatively sparse immersed INPs. The key takeaways include: (i) The singular approach, constituting a time-integrated form of a more general time-dependent approach, is only applicable under a limited range of ambient cooling rates. (ii) The time-dependent approach, especially when based on water-activity, is suitable for integration with particle-based model components of detailed aerosol composition and collisional growth/breakup. (iii) A flow-coupled aerosol-budget-resolving simulation shows the benefits and challenges of modeling cloud condensation nuclei activation and immersion freezing on insoluble ice nuclei with super-particle methods.
△ Less
Submitted 13 October, 2024; v1 submitted 7 August, 2023;
originally announced August 2023.
-
PyPartMC: A Pythonic interface to a particle-resolved, Monte Carlo aerosol simulation framework
Authors:
Zachary D'Aquino,
Sylwester Arabas,
Jeffrey Curtis,
Akshunna Vaishnav,
Nicole Riemer,
Matthew West
Abstract:
PyPartMC is a Pythonic interface to PartMC, a stochastic, particle-resolved aerosol model implemented in Fortran. Both PyPartMC and PartMC are free, libre, and open-source. PyPartMC reduces the number of steps and mitigates the effort necessary to install and utilize the resources of PartMC. Without PyPartMC, setting up PartMC requires: working with UNIX shell, providing Fortran and C libraries, a…
▽ More
PyPartMC is a Pythonic interface to PartMC, a stochastic, particle-resolved aerosol model implemented in Fortran. Both PyPartMC and PartMC are free, libre, and open-source. PyPartMC reduces the number of steps and mitigates the effort necessary to install and utilize the resources of PartMC. Without PyPartMC, setting up PartMC requires: working with UNIX shell, providing Fortran and C libraries, and performing standard Fortran and C source code configuration, compilation and linking. This can be challenging for those less experienced with computational research or those intending to use PartMC in environments where provision of UNIX tools is less straightforward (e.g., on Windows). PyPartMC offers a single-step installation/upgrade process of PartMC and all dependencies through the pip Python package manager on Linux, macOS, and Windows. This allows streamlined access to the unmodified and versioned Fortran internals of the PartMC codebase from both Python and other interoperable environments (e.g., Julia through PyCall). Consequently, users of PyPartMC can setup, run, process and visualize output of PartMC simulations using a single general-purpose programming language.
△ Less
Submitted 19 December, 2023; v1 submitted 3 August, 2023;
originally announced August 2023.
-
PySDM v1: particle-based cloud modelling package for warm-rain microphysics and aqueous chemistry
Authors:
Piotr Bartman,
Oleksii Bulenok,
Kamil Górski,
Anna Jaruga,
Grzegorz Łazarski,
Michael Olesik,
Bartosz Piasecki,
Clare E. Singer,
Aleksandra Talar,
Sylwester Arabas
Abstract:
PySDM is an open-source Python package for simulating the dynamics of particles undergoing condensational and collisional growth, interacting with a fluid flow and subject to chemical composition changes. It is intended to serve as a building block for process-level as well as computational-fluid-dynamics simulation systems involving representation of a continuous phase (air) and a dispersed phase…
▽ More
PySDM is an open-source Python package for simulating the dynamics of particles undergoing condensational and collisional growth, interacting with a fluid flow and subject to chemical composition changes. It is intended to serve as a building block for process-level as well as computational-fluid-dynamics simulation systems involving representation of a continuous phase (air) and a dispersed phase (aerosol), with PySDM being responsible for representation of the dispersed phase. The PySDM package core is a Pythonic high-performance implementation of the Super-Droplet Method (SDM) Monte-Carlo algorithm for representing collisional growth, hence the name. PySDM has two alternative parallel number-crunching backends available: multi-threaded CPU backend based on Numba and GPU-resident backend built on top of ThrustRTC. The usage examples are built on top of four simple atmospheric cloud modelling frameworks: box, adiabatic parcel, single-column and 2D prescribed flow kinematic models. In addition, the package ships with tutorial code depicting how PySDM can be used from Julia and Matlab.
△ Less
Submitted 22 October, 2021; v1 submitted 31 March, 2021;
originally announced March 2021.
-
On the design of Monte-Carlo particle coagulation solver interface: a CPU/GPU Super-Droplet Method case study with PySDM
Authors:
Piotr Bartman,
Sylwester Arabas
Abstract:
Super-Droplet Method (SDM) is a probabilistic Monte-Carlo-type model of particle coagulation process, an alternative to the mean-field formulation of Smoluchowski. SDM as an algorithm has linear computational complexity with respect to the state vector length, the state vector length is constant throughout simulation, and most of the algorithm steps are readily parallelizable. This paper discusses…
▽ More
Super-Droplet Method (SDM) is a probabilistic Monte-Carlo-type model of particle coagulation process, an alternative to the mean-field formulation of Smoluchowski. SDM as an algorithm has linear computational complexity with respect to the state vector length, the state vector length is constant throughout simulation, and most of the algorithm steps are readily parallelizable. This paper discusses the design and implementation of two number-crunching backends for SDM implemented in PySDM, a new free and open-source Python package for simulating the dynamics of atmospheric aerosol, cloud and rain particles. The two backends share their application programming interface (API) but leverage distinct parallelism paradigms, target different hardware, and are built on top of different lower-level routine sets. First offers multi-threaded CPU computations and is based on Numba (using Numpy arrays). Second offers GPU computations and is built on top of ThrustRTC and CURandRTC (and does not use Numpy arrays). In the paper, the API is discussed focusing on: data dependencies across steps, parallelisation opportunities, CPU and GPU implementation nuances, and algorithm workflow. Example simulations suitable for validating implementations of the API are presented.
△ Less
Submitted 3 April, 2021; v1 submitted 15 January, 2021;
originally announced January 2021.
-
On numerical broadening of particle size spectra: a condensational growth study using PyMPDATA
Authors:
Michael Olesik,
Jakub Banaśkiewicz,
Piotr Bartman,
Manuel Baumgartner,
Simon Unterstrasser,
Sylwester Arabas
Abstract:
This work discusses the numerical aspects of representing the diffusional (condensational) growth in particulate systems such as atmospheric clouds. It focuses on the Eulerian modeling approach, in which the evolution of the particle size spectrum is carried out using a fixed-bin discretization associated with inherent numerical diffusion. Focus is on the applications of MPDATA numerical schemes (…
▽ More
This work discusses the numerical aspects of representing the diffusional (condensational) growth in particulate systems such as atmospheric clouds. It focuses on the Eulerian modeling approach, in which the evolution of the particle size spectrum is carried out using a fixed-bin discretization associated with inherent numerical diffusion. Focus is on the applications of MPDATA numerical schemes (variants explored include: infinite-gauge, non-oscillatory, third-order-terms and recursive antidiffusive correction). Methodology for handling coordinate transformations associated with both particle size distribution variable choice and numerical grid layout are expounded. Analysis of the performance of the scheme is performed using: (i) an analytically solvable box-model test case, and (ii) the single-column "KiD" test case in which the size-spectral advection due to condensation is solved simultaneously with the spatial advection in the vertical physical coordinate, and in which the supersaturation evolution is coupled with the droplet growth through water mass budget. The single-column problem involves numerical solution of a two-dimensional advection problem (spectral and spatial dimensions). The box-model simulations demonstrate that, for the problem considered, even a tenfold decrease of the spurious numerical spectral broadening can be obtained by a proper choice of the MPDATA variant (maintaining the same spatial and temporal resolution), yet at an increased computational cost. Analyses using the single-column test case reveal that the width of the droplet size spectrum is affected by numerical diffusion pertinent to both spatial and spectral advection. Application of even a single corrective iteration of MPDATA robustly decreases the relative dispersion of the droplet spectrum, roughly by a factor of two at the levels of maximal liquid water content.
△ Less
Submitted 13 January, 2022; v1 submitted 30 November, 2020;
originally announced November 2020.
-
On the CCN [de]activation nonlinearities
Authors:
Sylwester Arabas,
Shin-ichiro Shima
Abstract:
We take into consideration the evolution of particle size in a monodisperse aerosol population during activation and deactivation of cloud condensation nuclei (CCN). The phase portrait of the system derived through a weakly-nonlinear analysis reveals a saddle-node bifurcation and a cusp catastrophe. An analytical estimate of the activation timescale is derived through estimation of the time spent…
▽ More
We take into consideration the evolution of particle size in a monodisperse aerosol population during activation and deactivation of cloud condensation nuclei (CCN). The phase portrait of the system derived through a weakly-nonlinear analysis reveals a saddle-node bifurcation and a cusp catastrophe. An analytical estimate of the activation timescale is derived through estimation of the time spent in the saddle-node bifurcation bottleneck. Numerical integration of the system portrays two types of activation/deactivation hystereses: one associated with the kinetic limitations on droplet growth when the system is far from equilibrium, and one occurring close to equilibrium and associated with the cusp catastrophe. The hysteretic behaviour close to equilibrium imposes stringent time-resolution constraints on numerical integration, particularly during deactivation.
△ Less
Submitted 2 October, 2016; v1 submitted 29 August, 2016;
originally announced August 2016.
-
Python bindings for libcloudph++
Authors:
Dorota Jarecka,
Sylwester Arabas,
Davide Del Vento
Abstract:
This technical note introduces the Python bindings for libcloudph++. The libcloudph++ is a C++ library of algorithms for representing atmospheric cloud microphysics in numerical models. The bindings expose the complete functionality of the library to the Python users. The bindings are implemented using the Boost.Python C++ library and use NumPy arrays. This note includes listings with Python scrip…
▽ More
This technical note introduces the Python bindings for libcloudph++. The libcloudph++ is a C++ library of algorithms for representing atmospheric cloud microphysics in numerical models. The bindings expose the complete functionality of the library to the Python users. The bindings are implemented using the Boost.Python C++ library and use NumPy arrays. This note includes listings with Python scripts exemplifying the use of selected library components. An example solution for using the Python bindings to access libcloudph++ from Fortran is presented.
△ Less
Submitted 5 April, 2015;
originally announced April 2015.
-
libmpdata++ 0.1: a library of parallel MPDATA solvers for systems of generalised transport equations
Authors:
Anna Jaruga,
Sylwester Arabas,
Dorota Jarecka,
Hanna Pawlowska,
Piotr K. Smolarkiewicz,
Maciej Waruszewski
Abstract:
This paper accompanies first release of libmpdata++, a C++ library implementing the Multidimensional Positive-Definite Advection Transport Algorithm (MPDATA). The library offers basic numerical solvers for systems of generalised transport equations. The solvers are forward-in-time, conservative and non-linearly stable. The libmpdata++ library covers the basic second-order-accurate formulation of M…
▽ More
This paper accompanies first release of libmpdata++, a C++ library implementing the Multidimensional Positive-Definite Advection Transport Algorithm (MPDATA). The library offers basic numerical solvers for systems of generalised transport equations. The solvers are forward-in-time, conservative and non-linearly stable. The libmpdata++ library covers the basic second-order-accurate formulation of MPDATA, its third-order variant, the infinite-gauge option for variable-sign fields and a flux-corrected transport extension to guarantee non-oscillatory solutions. The library is equipped with a non-symmetric variational elliptic solver for implicit evaluation of pressure gradient terms. All solvers offer parallelisation through domain decomposition using shared-memory parallelisation.
The paper describes the library programming interface, and serves as a user guide. Supported options are illustrated with benchmarks discussed in the MPDATA literature. Benchmark descriptions include code snippets as well as quantitative representations of simulation results. Examples of applications include: homogeneous transport in one, two and three dimensions in Cartesian and spherical domains; shallow-water system compared with analytical solution (originally derived for a 2D case); and a buoyant convection problem in an incompressible Boussinesq fluid with interfacial instability. All the examples are implemented out of the library tree. Regardless of the differences in the problem dimensionality, right-hand-side terms, boundary conditions and parallelisation approach, all the examples use the same unmodified library, which is a key goal of libmpdata++ design. The libmpdata++ library is implemented in C++, making use of the Blitz++ multi-dimensioanl array containers, and is released as free/libre and open-source software.
△ Less
Submitted 18 August, 2014; v1 submitted 4 July, 2014;
originally announced July 2014.
-
libcloudph++ 0.2: single-moment bulk, double-moment bulk, and particle-based warm-rain microphysics library in C++
Authors:
Sylwester Arabas,
Anna Jaruga,
Hanna Pawlowska,
Wojciech W. Grabowski
Abstract:
This paper introduces a library of algorithms for representing cloud microphysics in numerical models. The library is written in C++, hence the name libcloudph++. In the current release, the library covers three warm-rain schemes: the single- and double-moment bulk schemes, and the particle-based scheme with Monte-Carlo coalescence. The three schemes are intended for modelling frameworks of differ…
▽ More
This paper introduces a library of algorithms for representing cloud microphysics in numerical models. The library is written in C++, hence the name libcloudph++. In the current release, the library covers three warm-rain schemes: the single- and double-moment bulk schemes, and the particle-based scheme with Monte-Carlo coalescence. The three schemes are intended for modelling frameworks of different dimensionality and complexity ranging from parcel models to multi-dimensional cloud-resolving (e.g. large-eddy) simulations. A two-dimensional prescribed-flow framework is used in example simulations presented in the paper with the aim of highlighting the library features. The libcloudph++ and all its mandatory dependencies are free and open-source software. The Boost.units library is used for zero-overhead dimensional analysis of the code at compile time. The particle-based scheme is implemented using the Thrust library that allows to leverage the power of graphics processing units (GPU), retaining the possibility to compile the unchanged code for execution on single or multiple standard processors (CPUs). The paper includes complete description of the programming interface (API) of the library and a performance analysis including comparison of GPU and CPU setups.
△ Less
Submitted 18 August, 2014; v1 submitted 7 October, 2013;
originally announced October 2013.
-
Object-oriented implementations of the MPDATA advection equation solver in C++, Python and Fortran
Authors:
Sylwester Arabas,
Dorota Jarecka,
Anna Jaruga,
Maciej Fijałkowski
Abstract:
Three object-oriented implementations of a prototype solver of the advection equation are introduced. The presented programs are based on Blitz++ (C++), NumPy (Python), and Fortran's built-in array containers. The solvers include an implementation of the Multidimensional Positive-Definite Advective Transport Algorithm (MPDATA). The introduced codes exemplify how the application of object-oriented…
▽ More
Three object-oriented implementations of a prototype solver of the advection equation are introduced. The presented programs are based on Blitz++ (C++), NumPy (Python), and Fortran's built-in array containers. The solvers include an implementation of the Multidimensional Positive-Definite Advective Transport Algorithm (MPDATA). The introduced codes exemplify how the application of object-oriented programming (OOP) techniques allows to reproduce the mathematical notation used in the literature within the program code. A discussion on the tradeoffs of the programming language choice is presented. The main angles of comparison are code brevity and syntax clarity (and hence maintainability and auditability) as well as performance. In the case of Python, a significant performance gain is observed when switching from the standard interpreter (CPython) to the PyPy implementation of Python. Entire source code of all three implementations is embedded in the text and is licensed under the terms of the GNU GPL license.
△ Less
Submitted 19 March, 2013; v1 submitted 7 January, 2013;
originally announced January 2013.
-
Super-Droplet Approach to Simulate Precipitating Trade-Wind Cumuli - Comparison of Model Results with RICO Aircraft Observations
Authors:
Sylwester Arabas,
Shin-ichiro Shima
Abstract:
In this study we present a series of LES simulations employing the Super-Droplet Method (SDM) for representing aerosol, cloud and rain microphysics. SDM is a particle-based and probabilistic approach in which a Monte-Carlo type algorithm is used for solving the particle collisions and coalescence process. The model does not differentiate between aerosol particles, cloud droplets, drizzle or rain d…
▽ More
In this study we present a series of LES simulations employing the Super-Droplet Method (SDM) for representing aerosol, cloud and rain microphysics. SDM is a particle-based and probabilistic approach in which a Monte-Carlo type algorithm is used for solving the particle collisions and coalescence process. The model does not differentiate between aerosol particles, cloud droplets, drizzle or rain drops. Consequently, it covers representation of such cloud-microphysical processes as: CCN activation, drizzle formation by autoconversion, accretion of cloud droplets, self-collection of raindrops and precipitation including aerosol wet deposition. Among the salient features of the SDM, there are: (i) the robustness of the model formulation (i.e. employment of basic principles rather than parametrisations) and (ii) the ease of comparison of the model results with experimental data obtained with particle-counting instruments.
The model set-up used in the study is based on observations from the Rain In Cumulus over Ocean (RICO) field project (the GEWEX Cloud System Study Boundary Layer Cloud Working Group RICO case). Cloud and rain droplet size spectrum features obtained in the simulations are compared with previously published aircraft observations carried out during the RICO field project. The analysis covers height-resolved statistics of simulated cloud microphysical parameters such as droplet number concentration, effective radius, and the width of the cloud droplet size spectrum. The sensitivity of the results to the grid resolution of the LES, as well as to the sampling density of the probabilistic (Monte-Carlo type) model is discussed.
△ Less
Submitted 23 October, 2012; v1 submitted 15 May, 2012;
originally announced May 2012.