Skip to content

Commit

Permalink
Merge pull request #13 from jedbrown/master
Browse files Browse the repository at this point in the history
JOSS copy edits
  • Loading branch information
simonom authored Apr 8, 2020
2 parents 1a8007a + 8222811 commit 85b979b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,13 @@ @article{Topping:2018

@article{Andersson:2015,
author = {C. Andersson and C. F$\rm{\ddot{u}}$hrer and J. {\AA}kesson},
title = {Assimulo: A unified framework for \{ODE\} solvers},
title = {Assimulo: A unified framework for {ODE} solvers},
journal = {Mathematics and Computers in Simulation},
year = {2015},
number = {0},
pages = {26 - 43},
volume = {116},
doi = {http://dx.doi.org/10.1016/j.matcom.2015.04.007},
doi = {10.1016/j.matcom.2015.04.007},
}
@article{Zhang:2015,
Expand Down
10 changes: 5 additions & 5 deletions paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@ bibliography: paper.bib

# Summary

PyCHAM (CHemistry with Aerosol Microphysics in Python) is an open-access O-D box model for aerosol chamber studies. Aerosol chambers provide a means for atmospheric scientists to interrogate aerosol processes [@Finlayson:2000; @Schwantes:2017; @Hidy:2019]. Allying PyCHAM with chamber measurements allows quantification of unknown parameters, such as branching ratios for oxidation schemes [@Chen:2005]. Although several box models have already been published [@Pierce:2008; @Roldin:2014; @Sunol:2018; @Roldin:2019], PyCHAM is novel in its ease of accessibility and utility. To the best of our knowledge, PyBOX [@Topping:2018], which formed the basis of PyCHAM, and AtChem [@AtCHEM:2020], are the only other box models available online or with a graphical user interface. However, PyCHAM provides a considerable upgrade to the functionality of both prior models, as AtChem only simulates gas-phase photochemistry and PyBOX has limited particle effects, whilst PyCHAM models significantly more particle microphysics (detailed below) and wall effects in addition to gas-phase photochemistry. The intention therefore, is that it will be readily employed by research groups undertaking aerosol chamber measurements.
PyCHAM (CHemistry with Aerosol Microphysics in Python) is an open-access 0-D box model for aerosol chamber studies. Aerosol chambers provide a means for atmospheric scientists to interrogate aerosol processes [@Finlayson:2000; @Schwantes:2017; @Hidy:2019]. Allying PyCHAM with chamber measurements allows quantification of unknown parameters, such as branching ratios for oxidation schemes [@Chen:2005]. Although several box models have already been published [@Pierce:2008; @Roldin:2014; @Sunol:2018; @Roldin:2019], PyCHAM is novel in its ease of accessibility and utility. To the best of our knowledge, PyBOX [@Topping:2018], which formed the basis of PyCHAM, and AtChem [@AtCHEM:2020], are the only other open source box models with graphical user interfaces. However, PyCHAM provides a considerable upgrade to the functionality of both prior models, as AtChem only simulates gas-phase photochemistry and PyBOX has limited particle effects, whilst PyCHAM models significantly more particle microphysics (detailed below) and wall effects, in addition to gas-phase photochemistry. The intention therefore, is that it will be readily employed by research groups undertaking aerosol chamber measurements.

With air quality and climate models increasingly important to guiding sustainable societies, the accuracy of simulations must suffice [@Tong:2019]. However, research shows that the simulated aerosol effects in these models provides a relatively high amount of uncertainty [@Johnson:2018]. The combination of box models like PyCHAM with aerosol chamber measurements to better constrain aerosol processes is therefore necessary to ultimately improve societal sustainability.

Funding for model development has been provided by the EUROCHAMP-2020 research project [@EUROCHAMP:2020]. At the time of writing, PyCHAM is being used to investigate the autoxidation of organic vapours in the atmosphere. The autoxidation process has recently been discovered to play a significant role in the formation of airbourne particulates [@Ehn:2014], however its exact chemical mechanism is yet to be elucidated. Through comparison of chamber measurements with PyCHAM outputs using various mechanism possibilities, a constrained autoxidation chemical scheme is being generated. Here is the model repository: github.com/simonom/PyCHAM.
Funding for model development has been provided by the EUROCHAMP-2020 research project [@EUROCHAMP:2020]. At the time of writing, PyCHAM is being used to investigate the autoxidation of organic vapours in the atmosphere. The autoxidation process has recently been discovered to play a significant role in the formation of airbourne particulates [@Ehn:2014], however its exact chemical mechanism is yet to be elucidated. Through comparison of chamber measurements with PyCHAM outputs using various mechanism possibilities, a constrained autoxidation chemical scheme is being generated.

The model employs non-equilibrium equations to simulate the known processes occurring in aerosol chambers. At its core is integration of ordinary differential equations (ODEs) for gas-phase photochemistry and gas partitioning to particles and walls. Here, the CVode function of the Assimulo package for ODE solvers is called on [@Andersson:2015], using the backward differentiation formula, which studies have shown is most reliable for solution of these equations [@Jacobson:2005]. The general equation for chemical reactions is [@Jacobson:2005]:
The model employs non-equilibrium equations to simulate the known processes occurring in aerosol chambers. At its core is integration of ordinary differential equations (ODEs) for gas-phase photochemistry and gas partitioning to particles and walls. Here, the CVode function of the Assimulo package [@Andersson:2015] for ODE solvers is called on, using the backward differentiation formula, which studies have shown is most reliable for solution of these equations [@Jacobson:2005]. The general equation for chemical reactions is [@Jacobson:2005]:

$$\frac{d[i_{g}]}{dt} = \pm i_{s}k_{n}[a_{g}]^{a_{s}}[b_{g}]^{b_{s}},
$$
Expand All @@ -58,7 +58,7 @@ The gas-particle partitioning equation is [@Jacobson:2005]:
$$\frac{d[i_{g}]}{dt} = -k_{i}([i_{g}]-p^{0}_{i}x_{i}K_{v}),
$$

where $k$ is the mass transfer coefficient, $p^{0}$ is the liquid saturation vapour pressure, $x$ is particle-phase mole fraction and $K_{v}$ is the kelvin effect.
where $k$ is the mass transfer coefficient, $p^{0}$ is the liquid saturation vapour pressure, $x$ is particle-phase mole fraction and $K_{v}$ is the Kelvin effect.

Gas partitioning to walls is an area of ongoing research [@Zhang:2015], therefore we provide an equation analogous to gas-particle partitioning given above:

Expand All @@ -67,7 +67,7 @@ $$

where $_{w}$ represents the wall, $k_{gwt}$ is the gas-wall mass transfer coefficient, $C_{w}$ is the effective absorbing concentration of the wall. Users set the values of $k_{gwt}$ and $C_{w}$ as wall effects vary significantly between chambers.

Outside the ODE solver, particle loss to walls, coagulation and nucleation are also solved, with equations for the former two given in @Jacobson:2005 and the parameters inside the nucleation expression (for relevent experiments) tuned by the user. PyCHAM takes a sectional approach to particulates, dividing particles into a number of size bins and treating their changing size using the moving-centre approach [@Jacobson:2005]. It builds upon PyBOX [@Topping:2018] which did not include coagulation, nucleation or a sectional method.
Outside the ODE solver, particle loss to walls, coagulation and nucleation are also solved, with equations for the former two given in @Jacobson:2005 and the parameters inside the nucleation expression (for relevent experiments) tuned by the user. PyCHAM takes a sectional approach to particulates, dividing particles into a number of size bins and treating their changing size using the moving-centre approach [@Jacobson:2005]. It builds upon PyBOX [@Topping:2018], which did not include coagulation, nucleation or a sectional method.

Several variables change between different aerosol chambers and different experiments; therefore, the software is designed to allow the user to set these with ease.

Expand Down

0 comments on commit 85b979b

Please sign in to comment.