BOXMOX

BOX MOdeling eXtensions to KPP
BOXMOX is an extension to the Kinetic PreProcessor (KPP) that is easy to set up for box model simulations. KPP is a code generator which simplifies the numerical integration of systems of Ordinary Differential Equations (ODEs). The BOXMOX system can be used to simulate chamber experiments, Lagrange-type air parcel studies, as well as to describe chemistry in the atmospheric boundary layer. While it is typically used for chemical systems of the atmosphere, the code itself allows to integrate any kind of ODE systems. Efforts to install, run and diagnose using this system should be minimal. An example application has been published in Knote et al. (2015).
Responsive image
Responsive image
Responsive image
BOXMOX uses a KPP file as input that defines a set of chemical equations in human readable language to generate a solver code (Matlab, Fortran or C) for integrating this system of the equations over time. The solvers can generate the Jacobian and Hessian matrices at chosen time steps and resolutions.
Data input for BOXMOX is convenient and uses simple text files; concentrations, temperature, boundary layer height, turbulent mixing, emissions, photolysis rates, emission/deposition are the input parameters you can control. Model ouput also produces text files that contain evolution of chemical concentrations, rate constants and the Jacobian/Hessian. Model inputs/outputs can be perturbed independently in order to create an ensemble of BOXMOX simulations for data assimilation and sensitivity studies.
So far, a total of 7 chemical mechanisms are shipped with BOXMOX, more can be added. These are mechanisms typically used in 3-D chemistry transport models to describe tropospheric gas-phase chemistry. All of them contain an explicit description of inorganic chemistry of NOx (NO and NO2), and a more or less condensed representation of the chemistry of reactive volatile organic compounds (VOCs) required for a realistic representation of radical cycling (especially OH, HO2).