\documentclass[10pt]{article}

\usepackage{fullpage}
\usepackage{setspace}
\usepackage{parskip}
\usepackage{titlesec}
\usepackage[section]{placeins}
\usepackage{xcolor}
\usepackage{breakcites}
\usepackage{lineno}
\usepackage{hyphenat}





\PassOptionsToPackage{hyphens}{url}
\usepackage[colorlinks = true,
            linkcolor = blue,
            urlcolor  = blue,
            citecolor = blue,
            anchorcolor = blue]{hyperref}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@combinedblfloats{\box\@outputbox}{\unvbox\@outputbox}{}{%
  \errmessage{\noexpand\@combinedblfloats could not be patched}%
}%
\makeatother


\usepackage{natbib}




\renewenvironment{abstract}
  {{\bfseries\noindent{\abstractname}\par\nobreak}\footnotesize}
  {\bigskip}

\titlespacing{\section}{0pt}{*3}{*1}
\titlespacing{\subsection}{0pt}{*2}{*0.5}
\titlespacing{\subsubsection}{0pt}{*1.5}{0pt}


\usepackage{authblk}


\usepackage{graphicx}
\usepackage[space]{grffile}
\usepackage{latexsym}
\usepackage{textcomp}
\usepackage{longtable}
\usepackage{tabulary}
\usepackage{booktabs,array,multirow}
\usepackage{amsfonts,amsmath,amssymb}
\providecommand\citet{\cite}
\providecommand\citep{\cite}
\providecommand\citealt{\cite}
% You can conditionalize code for latexml or normal latex using this.
\newif\iflatexml\latexmlfalse
\providecommand{\tightlist}{\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}%

\AtBeginDocument{\DeclareGraphicsExtensions{.pdf,.PDF,.eps,.EPS,.png,.PNG,.tif,.TIF,.jpg,.JPG,.jpeg,.JPEG}}

\usepackage[utf8]{inputenc}
\usepackage[english]{babel}



\usepackage{float}








\begin{document}

\title{A Fortran-Python Interface for Integrating Machine Learning
Parameterization into Earth System Models}



\author[1]{Tao Zhang}%
\author[2]{Cyril Julien Morcrette}%
\author[3]{Meng Zhang}%
\author[4]{Wuyin Lin}%
\author[3]{Shaocheng Xie}%
\author[5]{Ye Liu}%
\author[6]{Kwinten Van Weverberg}%
\author[2]{Joana Rodrigues}%
\affil[1]{Brookhaven National Laboratory}%
\affil[2]{Met Office}%
\affil[3]{Lawrence Livermore National Laboratory}%
\affil[4]{Brookhaven National Laboratory (DOE)}%
\affil[5]{Pacific Northwest National Laboratory (DOE)}%
\affil[6]{Department of Geography}%


\vspace{-1em}



  
  \date{May 21, 2024}


\begingroup
\let\center\flushleft
\let\endcenter\endflushleft
\maketitle
\endgroup





\selectlanguage{english}
\begin{abstract}
Parameterizations in Earth System Models (ESMs) are subject to biases
and uncertainties arising from subjective empirical assumptions and
incomplete understanding of the underlying physical processes. Recently,
the growing representational capability of machine learning (ML) in
solving complex problems has spawned immense interests in climate
science applications. Specifically, ML-based parameterizations have been
developed to represent convection, radiation and microphysics processes
in ESMs by learning from observations or high-resolution simulations,
which have the potential to improve the accuracies and alleviate the
uncertainties. Previous works have developed some surrogate models for
these processes using ML. These surrogate models need to be coupled with
the dynamical core of ESMs to investigate the effectiveness and their
performance in a coupled system. In this study, we present a novel
Fortran-Python interface designed to seamlessly integrate ML
parameterizations into ESMs. This interface showcases high versatility
by supporting popular ML frameworks like PyTorch, TensorFlow, and
Scikit-learn. We demonstrate the interface's modularity and reusability
through two cases: a ML trigger function for convection parameterization
and a ML wildfire model. We conduct a comprehensive evaluation of memory
usage and computational overhead resulting from the integration of
Python codes into the Fortran ESMs. By leveraging this flexible
interface, ML parameterizations can be effectively developed, tested,
and integrated into ESMs.%
\end{abstract}%



\sloppy




\selectlanguage{english}
\FloatBarrier
\end{document}

