  Earth system models (ESMs) are vital for understanding past, present, and
future climate, but they suffer from legacy technical infrastructure. ESMs are
primarily implemented in Fortran, a language that poses a high barrier of entry
for early career scientists and lacks a GPU runtime, which has become essential
for continued advancement as GPU power increases and CPU scaling slows. Fortran
also lacks differentiability - the capacity to differentiate through numerical
code - which enables hybrid models that integrate machine learning methods.
Converting an ESM from Fortran to Python/JAX could resolve these issues. This
work presents a semi-automated method for translating individual model
components from Fortran to Python/JAX using a large language model (GPT-4). By
translating the photosynthesis model from the Community Earth System Model
(CESM), we demonstrate that the Python/JAX version results in up to 100x faster
runtimes using GPU parallelization, and enables parameter estimation via
automatic differentiation. The Python code is also easy to read and run and
could be used by instructors in the classroom. This work illustrates a path
towards the ultimate goal of making climate models fast, inclusive, and
differentiable.
