Skip to content

Latest commit

 

History

History
43 lines (35 loc) · 3.53 KB

paper.md

File metadata and controls

43 lines (35 loc) · 3.53 KB
title tags authors affiliations date bibliography
PyBox: An automated box-model generator for atmospheric chemistry and aerosol simulations.
Python
Atmosphere
Air-quality
Climate
Chemistry
Aerosol
Fortran
name orcid affiliation
David Topping
0000-0001-8247-9649
1
name orcid affiliation
Paul Connolly
0000-0002-3294-7405
1
name orcid affiliation
Jonathan Reid
0000-0001-6022-1778
2
name index
School of Earth and Environmental Science, University of Manchester, M13 9PL
1
name index
School of Chemistry, University of Bristol, BS8 1TS
2
18 May 2018
paper.bib

Summary

Air pollution and climate change are two of the biggest multidisciplinary challenges in society today. The need to understand the chemical and physical processes in the atmosphere that dictate the impacts of both has created a wide range of research platforms. These include numerical models. Volatile organic compounds (VOCs), emitted from both natural and anthropogenic sources, are oxidised in the atmosphere to form lower-volatility species that form organic particulate matter in the atmosphere through gas-to-particle partitioning. Chemical mechanisms, such as the Master Chemical Mechanism (MCM) [@Jenkin2003], have been built to hold information of all relevant species and reactions in the atmosphere.

However, it is becoming extremely hard to develop models that can respond to our growing body of knowledge since these mechanisms now treat thousands of species and tens of thousands of reactions. Researchers need to simulate the evolution of each individual species over a range of time-scales and ambient conditions. Manually setting up the relevant ordinary differential equations definitions [ODEs] and associated solvers would present a huge challenge given the number of compounds and equations involved. In addition, it is important to test sensitivity to rate coefficients or evaluate the impact of emerging laboratory data that might identify new reaction pathways or new, improved rate coefficients. Added to this complexity is the need to account for gas-to-particle partitioning of each compound. The atmosphere has varying concentrations of particulate matter that might act as a condensational sink for each compound. Predicting that partitioning requires calculations of molecular properties including saturation vapour pressures. Automation is essential, not least to ensure the gas phase chemistry is accounted for alongside the gas-to-particle partitioning and reproducibility is ensured. This is the driver behind PyBox.

PyBox is a 0-D box model, where all species are homogeneously distributed, built around a chemical mechanism file; a file that represents all the individual chemical reactions taking place starting from a wide range of precursors. By parsing a chemical equation file, obtained from the MCM project, PyBox creates files that account for the gas phase chemistry as well as automatically calculating properties that dictate gas-to-particle partitioning through connection with the UManSysProp informatics suite [@Topping2016]. Written in Python, PyBox uses Numba [@Lam2015] or the Fortran-to-Python-Generator f2py [@Peterson2009] to perform calculations currently within a library of ODE solvers provided by the Assimulo package [@Andersson2015].

Acknowledgements

This project was partly supported through NERC grant NE/N013794/1 which funded Dr Topping to spend time developing new community models for sensitivity studies.

References