Geoscientific Model Development (Mar 2024)

HETerogeneous vectorized or Parallel (HETPv1.0): an updated inorganic heterogeneous chemistry solver for the metastable-state NH<sub>4</sub><sup>+</sup>–Na<sup>+</sup>–Ca<sup>2+</sup>–K<sup>+</sup>–Mg<sup>2+</sup>–SO<sub>4</sub><sup>2−</sup>–NO<sub>3</sub><sup>−</sup>–Cl<sup>−</sup>–H<sub>2</sub>O system based on ISORROPIA II

  • S. J. Miller,
  • P. A. Makar,
  • C. J. Lee

DOI
https://doi.org/10.5194/gmd-17-2197-2024
Journal volume & issue
Vol. 17
pp. 2197 – 2219

Abstract

Read online

We describe a new Fortran computer program to solve the system of equations for the NH4+–Na+–Ca2+–K+–Mg2+–SO42-–NO3-–Cl−–H2O system, based on the algorithms of ISORROPIA II. Specifically, the code solves the system of equations describing the “forward” (gas + aerosol input) metastable state but with algorithm improvements and corrections. These algorithm changes allow the code to deliver more accurate solution results in formal evaluations of accuracy of the roots of the systems of equations, while reducing processing time in practical applications by about 50 %. The improved solution performance results from several implementation improvements relative to the original ISORROPIA algorithms. These improvements include (i) the use of the “interpolate, truncate and project” (ITP) root-finding approach rather than bisection, (ii) the allowance of search interval endpoints as valid roots at the onset of a search, (iii) the use of a more accurate method to solve polynomial subsystems of equations, (iv) the elimination of negative concentrations during iterative solutions, (v) corrections for mass conservation enforcement, and (vi) several code structure improvements. The new code may be run in either a “vectorization” mode wherein a global convergence criterion is used across multiple tests within the same chemical subspace or a “by case-by-case” mode wherein individual test cases are solved with the same convergence criteria. The latter approach was found to be more efficient on the compiler tested here, but users of the code are recommended to test both options on their own systems. The new code has been constructed to explicitly conserve the input mass for all species considered in the solver and is provided as open-source Fortran shareware.