KPPax compiles KPP chemistry mechanisms into differentiable JAX code
Original title: KPPax: preprocess differentiable kinetic ODE for machine learning in atmospheric chemistry
On POLLU, online fine-tuning cuts biogenic emission-correction error by a factor of 2.4 to 5.
KPPax is a kinetic preprocessor that turns mechanisms written in the Kinetic PreProcessor language into differentiable, just-in-time compiled, vectorisable JAX chemistry code. It evaluates rate laws with sparse log-space operations and integrates stiff systems with diffrax implicit solvers and adjoints. On the POLLU benchmark, automatic differentiation predicts which of 25 rate coefficients a flow-tube-like design can identify, and a neural correction of an emission inventory is trained offline then fine-tuned through the chemical model.
- Nine identifiable rate coefficients match predicted uncertainties to within about 30%.
- Fast-reaction clusters constrain only ratios, the estimation shows.
- Retrievals alone lose low-temperature emission information that the hybrid model recovers.
- Exact sensitivities come from diffrax adjoints without hand-derived adjoint code.
From the original article
1 min read at arxiv.orgAtmospheric chemical mechanisms are commonly distributed in the language of the Kinetic PreProcessor (KPP), which generates efficient Fortran or C code but does not fit into the differentiable programming frameworks in which machine-learning models are developed.
By Wenqing Peng · arxiv.org
A short excerpt; the article and its images belong to the publisher. Summary, key facts and assessment above are AI-written from the article and can be wrong.