KPPax: preprocess differentiable kinetic ODE for machine learning in atmospheric chemistry· KPPax: 大气化学中的机器学习预处理器
Atmospheric 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. We present KPPax, a kinetic preprocessor that generates differentiable, just-in-time compiled, and vectorisable chemistry code in JAX from mechanisms written in the KPP language. KPPax evaluates the rate law with sparse operations in log space, which keeps it differentiable, and integrates the stiff system with the implicit solvers and the forward- and reverse-mode adjoints of the \texttt{diffrax} library, so that exact sensitivities are obtained without hand-derived adjoint code. We demonstrate two applications with the POLLU ben
将大气化学机制预处理为可微分的 JAX 代码,适用于机器学习。
- 核心方法
- 开发了 KPPax,从 KPP 语言编写的大气化学机制生成可微分、即时编译和可向量化的 JAX 代码,利用稀疏运算和隐式解算器确保计算的可微分性和准确性。
- 适合谁读
- 研究者 / 工程师
- 要解决的问题
- 现有的大气化学机制预处理器生成的代码无法在机器学习的可微分编程框架中使用。
- 关键实验
- 通过两个示例应用展示了 KPPax 的有效性和准确性,但具体数据未提供。
- 主要贡献
- KPPax 使得大气化学机制可以直接集成到机器学习模型中,无需手动推导伴随代码即可获得精确的敏感性分析。
- 意义与局限
- KPPax 提高了大气化学研究中的机器学习模型的精度和效率,但其在大规模复杂系统中的性能和稳定性仍需进一步验证。