\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{Computing the ecRad radiation scheme with half-precision arithmetic}



\author[1]{Anton Pershin}%
\author[2]{Matthew Chantry}%
\author[2]{Peter Dominik Dueben}%
\author[1,2]{Robin J Hogan}%
\author[1]{Tim Palmer}%
\affil[1]{Oceanic and Planetary Physics, University of Oxford}%
\affil[2]{European Centre for Medium-Range Weather Forecasts}%


\vspace{-1em}



  
  \date{June 13, 2024}


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





\selectlanguage{english}
\begin{abstract}
Numerical simulations of weather and climate models are conventionally
carried out using double-precision floating-point numbers throughout the
vast majority of the code. At the same time, the urgent need of
high-resolution forecasts given limited computational resources
encourages development of much more efficient numerical codes. A number
of recent studies has suggested the use of reduced numerical precision,
including half-precision floating-point numbers increasingly supported
by hardware, as a promising avenue. In this paper, the possibility of
using half-precision calculations in the radiation scheme ecRad
operationally used in the ECMWF's Integrated Forecasting System (IFS).
By deliberately mixing half-, single- and double-precision variables, we
develop a mixed-precision version of the Tripleclouds solver, the most
computationally demanding part of the radiation scheme, where
reduced-precision calculations are emulated by a Fortran software rpe.
By employing two tools that estimate the dynamic range of model
parameters and identify problematic areas of the model code using
ensemble statistics, the code variables were assigned particular
precision levels.

It is demonstrated that heating rates computed by the mixed-precision
code are reasonably close to those produced by the double-precision
code.~Moreover, it is shown that using the mixed-precision ecRad in
OpenIFS has a very limited impact on the accuracy of a medium-range
forecast in comparison to the original double-precision
configuration.~These results imply that mixed-precision arithmetic could
successfully be used to accelerate the radiation scheme ecRad and,
possibly, other parametrization schemes used in weather and climate
models without harming the forecast accuracy.%
\end{abstract}%



\sloppy




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

