<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">GMD</journal-id><journal-title-group>
    <journal-title>Geoscientific Model Development</journal-title>
    <abbrev-journal-title abbrev-type="publisher">GMD</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Geosci. Model Dev.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1991-9603</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/gmd-11-3089-2018</article-id><title-group><article-title>Quasi-Newton methods for atmospheric chemistry simulations: implementation
in UKCA UM vn10.8</article-title><alt-title>Quasi-Newton methods for atmospheric chemistry simulations</alt-title>
      </title-group><?xmltex \runningtitle{Quasi-Newton methods for atmospheric chemistry simulations}?><?xmltex \runningauthor{E.~Esent\"{u}rk et al.}?>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1 aff2">
          <name><surname>Esentürk</surname><given-names>Emre</given-names></name>
          <email>e.esenturk.1@warwick.ac.uk</email>
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff3">
          <name><surname>Abraham</surname><given-names>Nathan Luke</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-3750-3544</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Archer-Nicholls</surname><given-names>Scott</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-3311-9003</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff4">
          <name><surname>Mitsakou</surname><given-names>Christina</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff3">
          <name><surname>Griffiths</surname><given-names>Paul</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-1089-340X</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff3">
          <name><surname>Archibald</surname><given-names>Alex</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-9302-4180</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff3">
          <name><surname>Pyle</surname><given-names>John</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-3629-9916</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Department of Chemistry, University of Cambridge, Cambridge,
UK</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Mathematics Institute, University of Warwick, Coventry,  UK</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>National Centre for Atmospheric Science, Cambridge, UK</institution>
        </aff>
        <aff id="aff4"><label>a</label><institution>currently at: the Centre for Radiation, Chemical Environments and
Hazards, Public Health England, Chilton,  UK</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Emre Esentürk (e.esenturk.1@warwick.ac.uk)</corresp></author-notes><pub-date><day>1</day><month>August</month><year>2018</year></pub-date>
      
      <volume>11</volume>
      <issue>8</issue>
      <fpage>3089</fpage><lpage>3108</lpage>
      <history>
        <date date-type="received"><day>6</day><month>February</month><year>2018</year></date>
           <date date-type="rev-request"><day>26</day><month>February</month><year>2018</year></date>
           <date date-type="rev-recd"><day>22</day><month>May</month><year>2018</year></date>
           <date date-type="accepted"><day>8</day><month>June</month><year>2018</year></date>
      </history>
      <permissions>
        
        
      <license license-type="open-access"><license-p>This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this licence, visit <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link></license-p></license></permissions><self-uri xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018.html">This article is available from https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018.pdf</self-uri>
      <abstract>
    <p id="d1e155">A key and expensive part of coupled atmospheric chemistry–climate model
simulations is the integration of gas-phase chemistry, which involves dozens
of species and hundreds of reactions. These species and reactions form a
highly coupled network of differential equations (DEs). There exist orders of
magnitude variability in the lifetimes of the different species present in
the atmosphere, and so solving these DEs to obtain robust numerical solutions
poses a “stiff problem”. With newer models having more species and
increased complexity, it is now becoming increasingly important to have
chemistry solving schemes that reduce time but maintain accuracy. While a
sound way to handle stiff systems is by using implicit DE solvers, the
computational costs for such solvers are high due to internal iterative
algorithms (e.g. Newton–Raphson methods). Here, we propose an approach for
implicit DE solvers that improves their convergence speed and robustness with
relatively small modification in the code. We achieve this by blending the
existing Newton–Raphson (NR) method with quasi-Newton (QN) methods, whereby
the QN routine is called only on selected iterations of the solver. We test
our approach with numerical experiments on the UK Chemistry and Aerosol
(UKCA) model, part of the UK Met Office Unified Model suite, run in both an
idealised box-model environment and under realistic 3-D atmospheric
conditions. The box-model tests reveal that the proposed method reduces the
time spent in the solver routines significantly, with each QN call costing
27 % of a call to the full NR routine. A series of experiments over a range
of chemical environments was conducted with the box model to find the optimal
iteration steps to call the QN routine which result in the greatest reduction
in the total number of NR iterations whilst minimising the chance of causing
instabilities and maintaining solver accuracy. The 3-D simulations show that
our moderate modification, by means of using a blended method for the
chemistry solver, speeds up the chemistry routines by around 13 %,
resulting in a net improvement in overall runtime of the full model by
approximately 3 % with negligible loss in the accuracy. The blended QN
method also improves the robustness of the solver, reducing the number of
grid cells which fail to converge after 50 iterations by 40 %. The relative
differences in chemical concentrations between the control run and that using
the blended QN method are of order <inline-formula><mml:math id="M1" display="inline"><mml:mo>∼</mml:mo></mml:math></inline-formula> 10<inline-formula><mml:math id="M2" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">7</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> for longer-lived
species, such as ozone, and below the threshold for solver convergence
(10<inline-formula><mml:math id="M3" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>) almost everywhere for shorter-lived species such as the hydroxyl
radical.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

      <?xmltex \hack{\allowdisplaybreaks}?>
<sec id="Ch1.S1" sec-type="intro">
  <title>Introduction</title>
      <p id="d1e198">With the advent of supercomputers, simulating the atmosphere using
computational models has become an integral part of atmospheric science
research, complementing experimental measurements, in situ and remote
observations. Model predictions are playing an increasingly important role in
both purely scientific investigations and public policy making (IPCC, 2013;
Glotfelty et al., 2017). In recent years, increasing computational power has
enabled the<?pagebreak page3090?> development of coupled chemistry–climate models (Morgenstern et
al., 2009) which determine the chemical evolution and transport (Lauritzen et
al., 2009) of trace atmospheric constituents, such as long-lived greenhouse
gases, ozone, nitrogen oxides, volatile organic compounds and aerosol
particles, and their influence on the environment, air quality and human
health (Heal et al., 2013; Lamarque et al., 2013; O'Connor et al., 2014;
Tilmes et al., 2015; Collins et al., 2017). These models require globally
accurate predictions over time frames that span decades (Lamarque et al.
2013), involving chemical reactions of species with lifetimes ranging from
sub-seconds to centuries (Whitehouse et al., 2004), making the task
computationally very expensive.</p>
      <p id="d1e201">The UK Chemistry and Aerosols (UKCA) model is part of the Met Office Unified
Model (UM) (Cullen, 1993; Hewitt et al., 2011) and works as its chemistry
(Morgenstern et al., 2009; O'Connor et al., 2014) and aerosol (Mann et al.,
2010) component. Hereafter, we refer to UM-UKCA as the fully coupled
chemistry–climate model and refer to the individual submodules as UKCA and
UM. Solving the chemistry in UKCA comes at a significant cost as it is one of
the most expensive components in the UM-UKCA model. As coupled
chemistry–climate models become more complex and the description of
chemistry more involved, the need for computationally economic methods will
be in higher demand. Hence, it makes sense to investigate ways of increasing
the speed of the existing schemes with the goal of little or no sacrifice in
accuracy.</p>
      <p id="d1e204">Problems of a similar kind appear in other fields such as combustion systems
which contain possibly reduced physical dynamics but more intensive
chemistry (up to thousands of reactions) (Lu et al., 2009) and aerosol
microphysics and dynamics (Mitsakou et al., 2005). Mathematically, these
systems are represented by complex networks of coupled differential
equations (DEs) which one must solve numerically. There is no universal
best numerical method that works for every type of DE. Often one needs to
choose the most reasonable method according to the need (e.g. ease of
incorporating/modifying in model, solution CPU cost/time, accuracy). The
numerical methods available can be conveniently categorised as explicit or
implicit. Explicit methods are direct integration methods that work for many
types of conventional problems but have worse stability properties, while
implicit methods are more involved and indirect in calculations but have
superior stability properties (Atkinson, 1989; Sandu et al.,  1997; Damian et
al., 2002). Generally, explicit methods are quicker than implicit methods at
integration of single iteration steps but can fall behind in the total
integration cost due to the extra efforts to ensure stability (generally by
halving the time steps). When it comes to atmospheric chemistry
calculations, the main stumbling block against getting stable solutions is
the problem of stiffness, which, broadly speaking, originates from different
chemical reactions having orders of magnitude different timescales
(Cariolle et al., 2017). If one uses an explicit DE method, the
(approximate) concentration values of the next time step are calculated based
on the tendencies at the current time. This makes it extremely hard to
choose a time step which is short enough to capture the chemical changes and
preserve stability but also long enough to make the calculations feasible
for computers. A good way to overcome this difficulty is by using an
implicit method where tendencies are not based on current values but
treated as unknowns to be solved (along with the new concentration values).
This greatly increases the stability of solutions at the cost of a series of
extra calculations for each time step. But again, there is no single best
implicit method which is suitable for all types of stiff problems. In fact,
there are families of numerical schemes available for each category
(Atkinson, 1989). It is therefore desirable for any proposed new method to be
flexible enough so that they can be appended to the existing solver
algorithms without substantial change. This is the aim of the proposed
method here.</p>
      <p id="d1e207">As will be detailed further in the text, a common feature of the many
currently available implicit schemes is the solution of large systems of
nonlinear differential equations iteratively (Ortega and Rheinboldt, 1970;
Brandt, 1977; Kelley, 1995). At each time step, expensive subroutines have to
be called several times; this is the main source of computational cost of the
chemical time integration. These subroutines typically include
(i) construction of a Jacobian (derivative of a function in higher
dimensions) and (ii) a Newton–Raphson-type iterative algorithm to solve the
nonlinear algebraic equations (associated with the nonlinear differential
equations). To overcome the high costs, methods that avoid or reduce Jacobian
construction have gained popularity in recent years (Brown and Saad, 1990;
Chan and Jackson, 1984; Knoll and Keyes, 2004; Viallet et al., 2016, and the
references therein). Our motivation for this work is somewhat similar in that
we use approximations of the Jacobian to reduce the costs of the solver.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F1"><caption><p id="d1e213">Illustration of application of the QN method (adopted in our work)
to find the root of a function of one variable.</p></caption>
        <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018-f01.png"/>

      </fig>

      <?pagebreak page3091?><p id="d1e222"><?xmltex \hack{\newpage}?>Here, we develop an approach which reduces the costs of expensive routines by
partly recycling the information generated within the iterations. The method
is based on exploiting this information in a way that enables one to take
extra steps forward for the desired solution without going through the costly
parts of the cycle. The approach is an adaptation of the quasi-Newton (QN)
methods (Broyden, 1965; Shanno, 1970; Fletcher, 1970; Goldfarb, 1970;
Davidon, 1991), fused into the classical Newton–Raphson (NR) method, which
are commonly used for solving large systems of nonlinear algebraic equations.</p>
      <p id="d1e226">The main idea behind the QN method is illustrated in Fig. 1. The objective of
finding species concentrations after a short time interval can be transformed
into finding the roots of a nonlinear function, which, in Fig. 1, is
represented as a function <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:mi>F</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> of a single variable <inline-formula><mml:math id="M5" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>. Numerically, the
task of finding the root of the function can be achieved by the NR algorithm
which is based on finding the <inline-formula><mml:math id="M6" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> intercepts following the tangent lines of
values of the function (the green lines in Fig. 1). The root is obtained by
simply re-evaluating the function at each <inline-formula><mml:math id="M7" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> intercept and iterating the
process. The QN method uses an approximation for the tangent line (instead of
an exact derivative), the orange line in Fig. 1, so that computing the
“new” <inline-formula><mml:math id="M8" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> intercept is quicker. In higher dimensions (e.g. when solving for
multiple chemical species), finding the exact derivative is equivalent to
calculating the Jacobian matrix, while the QN method uses an approximate
Jacobian, saving considerable computation time. A key point of the
implementation is that the additional internal QN iterations do not replace
the NR iterations completely. Rather each QN iteration works in and is fed by
the current NR iteration.</p>
      <p id="d1e271">Our adaptation of the QN method uses an “inverse update” approximation
(Kvaalen, 1991) instead of the more commonly used “forward updates”
(Broyden, 1965). We demonstrate that the approach improves the convergence
rate significantly with respect to the number of main NR iterations and saves
computational time. We further argue that using our mixed-method approach
makes the algorithm more robust against “stiff environments” as it reduces
the probability of the solver failing to converge on a solution and
restarting using a shorter time step. We also test how the solutions (chemical
concentrations of species) are affected over a long period of integration. We
show that the differences in prognostic variables between our suggested QN
method and the classical NR method are negligible and do not grow in time.</p>
      <p id="d1e274">The structure of this article is as follows. In Sect. 2, we describe the
UM-UKCA model and give a brief summary of its basic features. We then outline
the current algorithm that handles the reaction kinetics by solving systems
of nonlinear ordinary differential equations (ODEs) followed by our suggested
modification using quasi-Newton methods. We further discuss why and how this
modification works, its advantages and its possible dangers. In Sect. 3, we
report results of our computational experiments carried out under both a
controlled box-model environment and as part of the full 3-D Met Office
UM-UKCA model. We compare the results of the code-modified runs with the
control runs from the perspective of computational savings and differences in
the concentrations/mixing ratios of chemical species, and discuss related
matters with regard to parallel computing clusters. In Sect. 4, we conclude
the paper by summarising and highlighting our results and pointing to
possible future directions.</p>
</sec>
<sec id="Ch1.S2">
  <title>The UKCA model</title>
      <p id="d1e283">UM-UKCA, originally developed by the National Centre for Atmospheric Science
and the UK Met Office, was designed as a framework for atmospheric chemistry
and aerosol computations that operates under the Met Office Unified Model (UM)
platform and models atmospheric chemistry and aerosol fields that can
feed back onto the model dynamics via the model radiation scheme (Morgenstern
et al., 2009; O'Connor et al., 2014). It computes a number of possible
physical–chemical processes taking place in the atmosphere such as radiation,
photolysis, emissions, wet/dry deposition and clouds. It is coupled to the UM
transport dynamics sequentially; that is, transport routines and
chemistry–aerosol routines are performed one after another (operator
splitting) with adjustable frequency. Currently in its global configuration,
for transport, a time step of 20 min is used, whilst a chemical time step of
1 h is used to update the new concentrations of species in the model.</p>
      <p id="d1e286">A number of chemical schemes are available in UKCA for modelling different
parts of the atmosphere (troposphere, stratosphere, etc.) with varying model
details (e.g. radiative feedback switched on/off). In this paper, we use the
more general stratospheric–tropospheric coupled scheme with and without an
online aerosol mode (either using GLOMAP mode (Mann et al., 2010) or aerosol
climatologies) to demonstrate our results. The pure
stratospheric–tropospheric mode (StratTrop) contains 75 species and
consists of 283 chemical reactions (Banerjee et al., 2016). When GLOMAP-mode
aerosols are activated, 12 additional tracers are added to the system and a
total of 306 reactions represent the atmospheric chemistry. The StratTrop
chemical mechanism is solved using an implicit backward Euler scheme under
the ASAD framework (Carver et al., 1997; Wild and Prather, 2000), as
described in detail below, while photolysis is computed using the Fast-JX
scheme (Wild et al., 2000). The details of these schemes can be found in
Abraham et al. (2012). The UM-UKCA version used here is vn10.6.1, in the
Global Atmosphere 7.1 configuration, which is a development of the UM-UKCA
GA6 configuration (Walters et al., 2017).</p>
      <p id="d1e289">In addition to the full 3-D UM-UKCA model, we also use a box-model version of
UKCA (hereafter referred to as UKCA_BOX) to gain better control of the
chemistry part of our simulations. UKCA_BOX is designed as a development
tool using the same UKCA code, branched from version 10.1<?pagebreak page3092?> of the UM-UKCA, but
with the rest of the UM-UKCA model removed and replaced with inputs that feed
the UKCA code with the same information as if it were a single grid cell in
the full 3-D model. The box model uses the same StratTrop (CheST) chemical
mechanism, ASAD chemical solver and Fast-JX photolysis scheme as the full 3-D
model but does not have any emissions, deposition or transport. As it runs
for only a single grid cell, it can be run cheaply on a single processor
across many test cases. Thus, it is ideal for testing and optimising the
chemical solver in UKCA over a wide range of idealised chemical environments.</p>
      <p id="d1e292">In the following sections, we discuss the chemical time integration schemes
in the UKCA package for determining the new tracer concentrations and
chemical tendencies. All numerical schemes are implemented using the Fortran
95 language. The code is available in the UM-UKCA trunk from version 10.8.
Branches are also available in vn10.7 and vn10.6.1.</p>
<sec id="Ch1.S2.SS1">
  <title>Chemical evolution in the UKCA</title>
      <p id="d1e301">The time integration for the gas-phase chemistry in UKCA is carried out by
the ASAD package which provides a flexible framework for adding and removing
new reactions/species (Carver et al., 1997; Wild and Prather, 2000). The UKCA
version of the ASAD package uses a backward Euler numerical scheme to compute
the new species concentrations at the next chemical time step. One of the
reasons for this choice is that the relevant timescales of the reactions of
species vary over many orders of magnitudes depending on the location and
time of the reactions, which makes the system extremely stiff. The backward
Euler method is an implicit scheme which has superior numerical stability
properties to almost all other explicit or semi-explicit methods and hence
works particularly well with stiff systems (Atkinson, 1989). This enables the
use of longer time steps and makes long time integrations feasible. The
drawback is that, as in all implicit schemes, it demands that systems of
nonlinear algebraic equations are solved at each time step, requiring extra
calculations and so increasing the computational cost significantly.</p>
      <p id="d1e304">These heavy costs can be partly reduced by exploiting the fact that the
coupling among species is “loose” in the sense that each species reacts
with several other species but not all. This makes the Jacobian sparse and
allows for the use of sparse matrix methods which significantly cuts costs.
This approach was implemented in the UM-UKCA model (see Morgenstern et al.,
2009).</p>
</sec>
<sec id="Ch1.S2.SS2">
  <title>Numerical implementation in the existing solver</title>
      <p id="d1e313">The reaction kinetics in the atmosphere can be represented, mathematically,
as a system of nonlinear ODEs where the initial values are prescribed.
Emissions and dry/wet deposition enter these equations as source and sink
terms. The task of determining the change in chemical species concentrations
is equivalent to solving the coupled nonlinear system numerically.</p>
      <p id="d1e316">Let <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mfenced close=")" open="("><mml:mi>t</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced><mml:msub><mml:mi>c</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mfenced open="(" close=")"><mml:mi>t</mml:mi></mml:mfenced><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi>N</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> denote the vector of species concentrations at a
given time. Then, the species evolve according to

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M10" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E1"><mml:mtd/><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="bold-italic">c</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">c</mml:mi></mml:mfenced><mml:mo>=</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="bold">P</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold">L</mml:mi><mml:mfenced close=")" open="("><mml:mi mathvariant="bold-italic">c</mml:mi></mml:mfenced><mml:mo>+</mml:mo><mml:mi mathvariant="bold">E</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold">D</mml:mi><mml:mi mathvariant="normal">wet</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold">D</mml:mi><mml:mi mathvariant="normal">dry</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E2"><mml:mtd/><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>(</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">a</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

            where <inline-formula><mml:math id="M11" display="inline"><mml:mi mathvariant="bold-italic">f</mml:mi></mml:math></inline-formula> is the nonlinear vector function (tendencies) given by the
production and loss terms <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:mi mathvariant="bold">P</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold">L</mml:mi></mml:mrow></mml:math></inline-formula>, emissions <inline-formula><mml:math id="M13" display="inline"><mml:mi mathvariant="bold">E</mml:mi></mml:math></inline-formula>,
and wet and dry depositions <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">D</mml:mi><mml:mi mathvariant="normal">wet</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>,
<inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">D</mml:mi><mml:mi mathvariant="normal">dry</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The vector <inline-formula><mml:math id="M16" display="inline"><mml:mi mathvariant="bold-italic">a</mml:mi></mml:math></inline-formula> is the initial
concentration. The variables in bold–italic font are understood to be
vectors. In the current implementation, emissions are treated separately
during the boundary-layer mixing step, and dry deposition occurs throughout
the boundary layer.</p>
      <p id="d1e528">To solve Eq. (1) numerically using a backward Euler scheme, we discretise the
time variable, so the discrete equation takes the form

                <disp-formula id="Ch1.E3" content-type="numbered"><mml:math id="M17" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mo>∗</mml:mo></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mo>∗</mml:mo></mml:msub><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mo>∗</mml:mo></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> is the current time and <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> is the difference
between the next chemical time step and current time. The unknown
<inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mo>∗</mml:mo></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the vector of species concentrations at the
next chemical time step, appears on both sides of the nonlinear equation which
can be solved numerically using a NR algorithm.</p>
</sec>
<sec id="Ch1.S2.SS3">
  <title>Newton–Raphson scheme</title>
      <p id="d1e654">Here, we give a brief description of the NR method, which will prepare the
ground for discussion of our contribution. Setting <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mo>∗</mml:mo></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>
and <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> for brevity, we first
write the discretised ODE (Eq. 3) in the standard form of an algebraic
equation (AE); that is,

                <disp-formula id="Ch1.E4" content-type="numbered"><mml:math id="M23" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="bold">F</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          The NR scheme starts with an initial guess (e.g. solution from the previous
time step or a first-order predictor) followed by an iteration algorithm in
which the following system of linear equations is solved:

                <disp-formula id="Ch1.E5" content-type="numbered"><mml:math id="M24" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="bold">J</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:mi mathvariant="bold">J</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> (or simply <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">J</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>) is the Jacobian
at the <inline-formula><mml:math id="M27" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>th iterate and <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo>-</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is
the increment (still within the same chemical time step). At each iteration,
by solving a linear equation of the form of Eq. (5), our initial guess will
be improved and approach the actual solution of Eq. (4) as the procedure
is repeated (Atkinson, 1989).</p>
      <?pagebreak page3093?><p id="d1e879">The linear equation (Eq. 5) can also be written in the form

                <disp-formula id="Ch1.E6" content-type="numbered"><mml:math id="M29" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi mathvariant="bold">H</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:mi mathvariant="bold">H</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> (or simply <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>) is the negative
of the inverse of the Jacobian <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mo>-</mml:mo><mml:msup><mml:mi mathvariant="bold">J</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. This form will be
particularly useful when we explain our improvement of the current method.</p>
      <p id="d1e976">In the current UKCA implementation, each major calculation step of the ODE
solution algorithm is carried out by a separate routine as shown in Fig. 2a.
The main solving engine begins by calculating the current tendencies
(right-hand side of Eq. 1) using the updated chemical concentrations from the
previous time step (Step 1 in Fig. 2a). Then an initial predictor guess
(forward Euler type) is calculated to be used in the following iterative
loop. After that, the Jacobian is calculated using the exact quadratic form
of the nonlinear reaction rates (Step 2). This step is followed by the
solution of the linear Eq. (6) (Step 3). After the new increment (<inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>) is calculated, convergence is tested to determine whether
<inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is within our tolerance limit (which is set to a
relative change of <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in the current version). If the routine passes
the convergence test, the solver exits and concentrations at the next
time step are output; otherwise, the process repeats until it converges on a
stable solution. If the solution fails to converge after a set number of
iterations (50 in the current version), is unstable or diverges, the routine
will exit and repeat using a smaller time step (typically by halving the
time step). The expensive parts of the above procedure are, particularly,
Steps 2 and 3 (Fig. 2a), and our goal is to reduce the number of calls to these
steps as we show in the next section.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F2" specific-use="star"><caption><p id="d1e1021">Flowchart showing steps taken to numerically solve the nonlinear
chemical equations using the Newton–Raphson method: as carried out in the
standard version of ASAD in the UKCA chemical transport model <bold>(a)</bold>
and in our modified version incorporating a “quasi-Newton iteration”
<bold>(b)</bold>.</p></caption>
          <?xmltex \igopts{width=355.659449pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018-f02.png"/>

        </fig>

</sec>
<sec id="Ch1.S2.SS4">
  <title>Quasi-Newton algorithm</title>
      <p id="d1e1042">We noted above that the expensive parts of the chemical integration are the
Jacobian construction and solution of a system of linear equations at each
iteration. Our strategy is based on the idea of using QN
methods to minimise the number of iterations in the main NR
solving loop, thereby reducing the number of Jacobian reconstructions and
linear systems to be solved.</p>
      <p id="d1e1045">In QN methods, the use of exact Jacobian at every iteration is abandoned.
Instead it is approximated in a way that will satisfy certain imposed
conditions. The ideas behind these (secant) methods, which date back to
Broyden (1965), Shanno (1970), Fletcher (1970), Goldfarb (1970) and
Davidon (1991) resemble using the inverse quotient of a function (of one
variable) to replace the reciprocal of the exact derivative of the same
function (see Fig. 1). The price of this avoidance is a slowdown in
convergence (not quadratic as in the NR algorithm but still super-linear). In
general, this strategy is more profitable since the slowdown in the
convergence rate can be compensated by the substantial time gain obtained
from bypassing the other costly steps compared to the time lost in the number
of iterations.</p>
      <p id="d1e1048">Our implementation is somewhat different from the standard quasi-Newton
methods in that Newton–Raphson iterations are not completely replaced by the
QN iterations. Rather, QN iterations are fused into the existing NR loop and
implemented only if a chosen criterion is met. In this sense, the new
algorithm is a mixed method which uses both NR and QN methods as needed.
This way keeps the changes to the existing algorithm minimal and makes the
method flexible and practical to use. Despite this relatively small change
in the algorithm, the computational gain in return is considerable.</p>
      <p id="d1e1051">Diagrammatically (see Fig. 2b), the approach works as follows. If the desired
convergence has not taken place after the end of the Newton–Raphson
iteration, then instead of moving on to the next iteration and reconstructing
the Jacobian from scratch (Step 2), we make a pseudo-iteration and form an
“effective approximation” for the inverse of the Jacobian using the
concentrations already computed (Step 5). Step 6 follows in which we resolve
for the newer concentration values making use of the information available
from Step 3. So, a full NR iteration is effectively replaced by a QN
pseudo-iteration taking much less time. These measures are quantified in
Sect. 3.1.</p>
      <p id="d1e1055">In the above description, we refer to the “effective approximation” of the
inverse of the Jacobian. However, in practice, we do not strictly construct
an approximate “inverse” since taking the inverse of a matrix brings more
expense. Rather, the remnants of the main NR iteration (the Jacobian from
Step 2, concentrations from Step 3) are recycled and used in the
approximation scheme for the inverse of the Jacobian (Broyden approximation).
Schematically, after the main Newton–Raphson route, we perform Steps
4–6 shown in Fig. 2b, which is formalised below.</p>
      <p id="d1e1058">We use a particular, Broyden-type inverse approximation scheme (Kvaalen,
1991), which is given by the following form

                <disp-formula id="Ch1.E7" content-type="numbered"><mml:math id="M36" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msubsup><mml:mi mathvariant="bold">H</mml:mi><mml:mi mathvariant="bold">app</mml:mi><mml:mi>k</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are the increments from the <inline-formula><mml:math id="M39" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>th
main iteration step, <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is the inverse of the (exact)
Jacobian in the main step (at the <inline-formula><mml:math id="M41" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>th iteration), and
<inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">H</mml:mi><mml:mi mathvariant="normal">app</mml:mi><mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is the negative of the approximate inverse
of the Jacobian in the pseudo-iteration after the <inline-formula><mml:math id="M43" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>th iteration. The
superscript “…<inline-formula><mml:math id="M44" display="inline"><mml:msup><mml:mi/><mml:mi mathvariant="normal">T</mml:mi></mml:msup></mml:math></inline-formula>” denotes the transpose of a matrix. Although the
above relation requires us to know the inverse of the Jacobian, for our
purposes, we do not need to compute it explicitly.</p>
      <?pagebreak page3094?><p id="d1e1308">Once <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">H</mml:mi><mml:mi mathvariant="normal">app</mml:mi><mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is determined, the new
pseudo-increment <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is given by the relation

                <disp-formula id="Ch1.E8" content-type="numbered"><mml:math id="M47" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:msubsup><mml:mi mathvariant="bold">H</mml:mi><mml:mi mathvariant="normal">app</mml:mi><mml:mi>k</mml:mi></mml:msubsup><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          Taking <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">H</mml:mi><mml:mi mathvariant="normal">app</mml:mi><mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> from Eq. (7) and placing it into
Eq. (8) gives

                <disp-formula id="Ch1.E9" content-type="numbered"><mml:math id="M49" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:msup><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:msup><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula>. Now, recalling
<inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and using the linearity of
<inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and noting that <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the terms simplify:

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M54" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:msup><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mlabeledtr id="Ch1.E10"><mml:mtd/><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

            If compared, we see that Eq. (9) has the same form as Eq. (6), which can
also be written in the form of Eq. (5) as

                <disp-formula id="Ch1.E11" content-type="numbered"><mml:math id="M55" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="bold">J</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mi>a</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="bold">F</mml:mi><mml:mo>(</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mi>k</mml:mi></mml:msup><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          Now, crucially, the information of the reduced (row echelon) matrix obtained
from the original Jacobian through Gaussian elimination in Step 3 (Eq. 5) is
still available and can readily be used to solve the linear Eq. (10), where
the only difference from Eq. (5) is on the right-hand side. This
bypasses the need for computing <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">H</mml:mi><mml:mi mathvariant="normal">app</mml:mi><mml:mi>k</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> explicitly,
saving memory and time. In effect, the method accomplishes two tasks at once:
reducing the combined steps of reconstructing a new Jacobian and solving a
new linear equation (in a new NR iteration) into a single step of solving a
modified linear equation (in a pseudo-iteration) based on the information
already available within that (main) iteration. In practical terms, this
means that <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> numerical operations that are normally needed to
solve a linear system are now reduced to <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> operations, which gives
substantial savings within the routine. An example of the implementation of
these changes is given in the pseudo-code provided in Appendix A.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <title>Numerical results</title>
      <p id="d1e1907">In this section, we compare our results with the new method (quasi-Newton)
and without (classical Newton–Raphson) when implemented in the current
version of the UKCA solver. We consider the effectiveness of the algorithm on
a single processor with, i.e. UKCA_BOX, as well as on a high-performance
parallel computing (HPC) platform (ARCHER) with the full 3-D UM simulations.
In both cases, our<?pagebreak page3095?> analysis will be two-fold: comparison of computational
performance (savings, robustness, etc.) and comparison of predicted model
values. We show that, although the chemistry step alone takes 5 to 10 % of
the entire computations, there is a noticeable speed-up when the chemistry
component is modified in the way suggested without causing any significant
error in prognostic variable values. This also improves the robustness of the
computation by reducing the number of cases during the course of entire
chemical integration for which the time step has to be halved in order to
converge on a solution.</p>
<sec id="Ch1.S3.SS1">
  <?xmltex \opttitle{UKCA\_BOX simulations}?><title>UKCA_BOX simulations</title>
      <p id="d1e1916">To test the performance of the QN approximation method on
performance of the UKCA chemistry solver, we first tested the changes in
UKCA_BOX. UKCA_BOX allows us to test the performance of the QN methods
under a highly controlled environment, and optimise the options for the
solver based on a variety of chemical conditions.</p>
      <p id="d1e1919">Four standard test cases were set up for these experiments to test the
behaviour of the box model in different chemical environments: Urban, Rural,
Marine and Stratosphere (Strat). The initial conditions for these test cases
were extracted for July from a 10-year run of the full UM-UKCA model for the
year 2000 at 1.875<inline-formula><mml:math id="M59" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> <inline-formula><mml:math id="M60" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 1.25<inline-formula><mml:math id="M61" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> resolution, equivalent
to the experiments conducted in Sect. 3.2. For the Urban, Rural and Marine
scenarios, average surface chemical fields, temperature, pressure and
specific humidity were extracted at surface locations over the Beijing
megacity, the continental USA and the Pacific Ocean, respectively (see Table 1 for
details). All UKCA_BOX experiments were run on a single processor core. The
Strat scenario used zonally averaged chemical and meteorological fields at
40<inline-formula><mml:math id="M62" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> N and 32 km. Full details of the scenarios are given in the
Supplement. The Urban scenario is initialised with the most complex mix of
chemical components and is therefore the most challenging to solve. For this
reason, the analysis in the paper will focus on the Urban scenario. Results
from the other scenarios are included in the Supplement.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T1" specific-use="star"><caption><p id="d1e1959">Summary of data points from UM model runs used to initialise
UKCA_BOX scenarios, parameters describing atmospheric conditions of each
scenario and initial concentrations of select chemical species. In each
case, data are extracted from a 10-year July average run of the UM-UKCA model
for the year 2000.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.92}[.92]?><oasis:tgroup cols="9">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Scenario</oasis:entry>
         <oasis:entry colname="col2">Location</oasis:entry>
         <oasis:entry colname="col3">Height above</oasis:entry>
         <oasis:entry colname="col4">Pressure</oasis:entry>
         <oasis:entry colname="col5">Temperature</oasis:entry>
         <oasis:entry colname="col6">Specific humidity</oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M63" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M64" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col9">HCHO</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">ground (km)</oasis:entry>
         <oasis:entry colname="col4">(hPa)</oasis:entry>
         <oasis:entry colname="col5">(K)</oasis:entry>
         <oasis:entry colname="col6">(kg kg<inline-formula><mml:math id="M65" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col7">(ppbv)</oasis:entry>
         <oasis:entry colname="col8">(ppbv)</oasis:entry>
         <oasis:entry colname="col9">(ppbv)</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Urban</oasis:entry>
         <oasis:entry colname="col2">40<inline-formula><mml:math id="M66" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> N, 116.4<inline-formula><mml:math id="M67" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> E</oasis:entry>
         <oasis:entry colname="col3">0</oasis:entry>
         <oasis:entry colname="col4">983</oasis:entry>
         <oasis:entry colname="col5">300</oasis:entry>
         <oasis:entry colname="col6">0.0147</oasis:entry>
         <oasis:entry colname="col7">46.5</oasis:entry>
         <oasis:entry colname="col8">20.5</oasis:entry>
         <oasis:entry colname="col9">3.37</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rural</oasis:entry>
         <oasis:entry colname="col2">40<inline-formula><mml:math id="M68" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> N, 260<inline-formula><mml:math id="M69" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> E</oasis:entry>
         <oasis:entry colname="col3">0</oasis:entry>
         <oasis:entry colname="col4">926</oasis:entry>
         <oasis:entry colname="col5">304</oasis:entry>
         <oasis:entry colname="col6">0.0101</oasis:entry>
         <oasis:entry colname="col7">49.8</oasis:entry>
         <oasis:entry colname="col8">2.5</oasis:entry>
         <oasis:entry colname="col9">1.95</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Marine</oasis:entry>
         <oasis:entry colname="col2">40<inline-formula><mml:math id="M70" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> N, 180<inline-formula><mml:math id="M71" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> E</oasis:entry>
         <oasis:entry colname="col3">0</oasis:entry>
         <oasis:entry colname="col4">1017</oasis:entry>
         <oasis:entry colname="col5">292</oasis:entry>
         <oasis:entry colname="col6">0.0121</oasis:entry>
         <oasis:entry colname="col7">25.0</oasis:entry>
         <oasis:entry colname="col8">0.30</oasis:entry>
         <oasis:entry colname="col9">0.39</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Stratosphere (Strat)</oasis:entry>
         <oasis:entry colname="col2">Zonal average at 40<inline-formula><mml:math id="M72" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> N</oasis:entry>
         <oasis:entry colname="col3">32</oasis:entry>
         <oasis:entry colname="col4">8.61</oasis:entry>
         <oasis:entry colname="col5">240</oasis:entry>
         <oasis:entry colname="col6">3.<inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:mn mathvariant="normal">44</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula><?xmltex \hack{\hfill\break}?></oasis:entry>
         <oasis:entry colname="col7">9102</oasis:entry>
         <oasis:entry colname="col8">15.7</oasis:entry>
         <oasis:entry colname="col9">0.09</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table></table-wrap>

      <p id="d1e2289">The UKCA_BOX uses the Fast-JX photolysis scheme (Wild et al., 2000),
comparable to that used in the full UM-UKCA model (Telford et al., 2013). For
the purposes of these experiments, a simplified setup was used whereby
photolysis turns “on” and “off” every 12 h of integration, using
precalculated photolysis rates. This was done to minimise the computation of
photolysis rates and create idealised scenarios with an abrupt step change at
“dawn” and “dusk” to test the stability of the solver. Photolysis rates
were taken from an offline run of the 1-D column Fast-JX scheme at 12:00 UTC
on 1 July, 40<inline-formula><mml:math id="M74" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> N at 0 and 32 km in clear-sky conditions for
the Urban, Rural, Marine and Strat scenarios, respectively. Each experiment
ran for 5 days with a 60 min time step (the same as the chemical time step
used in the full 3-D UM-UKCA model). Without emissions, deposition or
transport, the chemical evolution is completely determined by the initial
conditions. Each scenario starts in a state of disequilibrium, then slowly
“winds down” over the 5 days of integration.</p>
      <p id="d1e2301">As discussed in the previous section, the QN method is cheaper than the full
NR method because it does not recalculate the full Jacobian
at each iteration (Table 2). On average, one QN iteration takes 27 % of the
time of a full NR iteration. Since the QN method reduces the number of NR
iterations required to converge, the time taken will therefore generally be
reduced. However, the QN method is not as exact as the NR method, and so
there is not a one-to-one efficiency: calling the QN method many times may
only reduce the number of NR iterations required by a few, and in some cases
calling the QN method too many times can result in a net increase in
computational burden. Finding the most efficient setup therefore becomes an
optimisation problem: how can we gain the maximum reduction in NR iterations,
with as few calls to the QN method as possible? In particular, we are
interested in reducing the number of iterations required for the solver
during the most challenging chemical states when the equations are most
stiff. This will reduce the range of time taken for cores to solve each part
of the domain, therefore reducing time spent waiting for all cores to catch
up to the same time in the full 3-D model.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T2" specific-use="star"><caption><p id="d1e2307">Wall-clock times for running 1000 calls for the NR iterations and QN
iteration within the UKCA_BOX model run on a single processor core.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Full Newton–Raphson method</oasis:entry>
         <oasis:entry colname="col3">Quasi-Newton method</oasis:entry>
         <oasis:entry colname="col4">Ratio</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">CPU time for 1000 calls</oasis:entry>
         <oasis:entry colname="col2">160 <inline-formula><mml:math id="M75" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 3.1 ms</oasis:entry>
         <oasis:entry colname="col3">42 <inline-formula><mml:math id="M76" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0.71 ms</oasis:entry>
         <oasis:entry colname="col4">0.2625</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Wall-clock time for 1000 calls</oasis:entry>
         <oasis:entry colname="col2">157 <inline-formula><mml:math id="M77" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 1.8 ms</oasis:entry>
         <oasis:entry colname="col3">42.9 <inline-formula><mml:math id="M78" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0.15 ms</oasis:entry>
         <oasis:entry colname="col4">0.273</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e2402">To test the range of options, we devised nine experiments for each scenario, as
summarised in Table 3. The control (CNTL) experiment does not call the QN
method and is identical to the solver in the release version of UKCA. The
other scenarios call the QN method after one or more NR-iterations, as given
by the numbers in the names of experiments in Table 3. For example, QN1 calls
the QN Newton method after the first NR iteration only, QN2–3 calls it after
the second and third NR iterations, and QN1<inline-formula><mml:math id="M79" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> calls the QN method after
every NR iteration. In general, the first iteration of the solver is where
the solution is most likely to diverge and cause stability problems, and so a
dampening factor of 0.5 is applied to the QN method, as is also done on the
first iteration for the NR method. As shown by the flow structure of this
development (Fig. 2b), the QN method is only called if the solution has not
already converged.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T3" specific-use="star"><caption><p id="d1e2415">Summary of experiments conducted using UKCA_BOX. The control (CNTL)
experiment does not call the QN method. The other experiments call the QN
method after one or more NR iterations.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:colspec colnum="6" colname="col6" align="left"/>
     <oasis:colspec colnum="7" colname="col7" align="left"/>
     <oasis:colspec colnum="8" colname="col8" align="left"/>
     <oasis:colspec colnum="9" colname="col9" align="left"/>
     <oasis:colspec colnum="10" colname="col10" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Call QN method on</oasis:entry>
         <oasis:entry colname="col2">CNTL</oasis:entry>
         <oasis:entry colname="col3">QN1</oasis:entry>
         <oasis:entry colname="col4">QN1–2</oasis:entry>
         <oasis:entry colname="col5">QN1–3</oasis:entry>
         <oasis:entry colname="col6">QN1<inline-formula><mml:math id="M80" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7">QN2</oasis:entry>
         <oasis:entry colname="col8">QN2–3</oasis:entry>
         <oasis:entry colname="col9">QN2<inline-formula><mml:math id="M81" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col10">QN3</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">First iteration:</oasis:entry>
         <oasis:entry colname="col2">No</oasis:entry>
         <oasis:entry colname="col3">Yes</oasis:entry>
         <oasis:entry colname="col4">Yes</oasis:entry>
         <oasis:entry colname="col5">Yes</oasis:entry>
         <oasis:entry colname="col6">Yes</oasis:entry>
         <oasis:entry colname="col7">No</oasis:entry>
         <oasis:entry colname="col8">No</oasis:entry>
         <oasis:entry colname="col9">No</oasis:entry>
         <oasis:entry colname="col10">No</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Second iteration:</oasis:entry>
         <oasis:entry colname="col2">No</oasis:entry>
         <oasis:entry colname="col3">No</oasis:entry>
         <oasis:entry colname="col4">Yes</oasis:entry>
         <oasis:entry colname="col5">Yes</oasis:entry>
         <oasis:entry colname="col6">Yes</oasis:entry>
         <oasis:entry colname="col7">Yes</oasis:entry>
         <oasis:entry colname="col8">Yes</oasis:entry>
         <oasis:entry colname="col9">Yes</oasis:entry>
         <oasis:entry colname="col10">No</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Third iteration:</oasis:entry>
         <oasis:entry colname="col2">No</oasis:entry>
         <oasis:entry colname="col3">No</oasis:entry>
         <oasis:entry colname="col4">No</oasis:entry>
         <oasis:entry colname="col5">Yes</oasis:entry>
         <oasis:entry colname="col6">Yes</oasis:entry>
         <oasis:entry colname="col7">No</oasis:entry>
         <oasis:entry colname="col8">Yes</oasis:entry>
         <oasis:entry colname="col9">Yes</oasis:entry>
         <oasis:entry colname="col10">Yes</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M82" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> Third iteration:</oasis:entry>
         <oasis:entry colname="col2">No</oasis:entry>
         <oasis:entry colname="col3">No</oasis:entry>
         <oasis:entry colname="col4">No</oasis:entry>
         <oasis:entry colname="col5">No</oasis:entry>
         <oasis:entry colname="col6">Yes</oasis:entry>
         <oasis:entry colname="col7">No</oasis:entry>
         <oasis:entry colname="col8">No</oasis:entry>
         <oasis:entry colname="col9">Yes</oasis:entry>
         <oasis:entry colname="col10">No</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <?pagebreak page3096?><p id="d1e2640">Figure 3 shows chemical concentrations for a selection of chemical tracers
from the box model, comparing the CNTL experiment with the QN experiments,
for the Urban scenario. Similar figures for the other scenarios are included
in the Supplement. In this scenario, the mix of <inline-formula><mml:math id="M83" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and VOCs
results in production of <inline-formula><mml:math id="M84" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> for the first day, then a slow loss of
<inline-formula><mml:math id="M85" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> over the next four days as concentrations of short-lived tracers
decay due to the lack of fresh emissions (Fig. 3a). Overall, these results
show the QN method is very accurate with negligible divergence from the CNTL
experiment. The fractional differences are largest for short-lived tracers,
such as OH, but are at most of the order 10<inline-formula><mml:math id="M86" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> or less (Fig. 3f). For
longer-lived species, such as <inline-formula><mml:math id="M87" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> or <inline-formula><mml:math id="M88" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, fractional
changes are typically <inline-formula><mml:math id="M89" display="inline"><mml:mo>&lt;</mml:mo></mml:math></inline-formula> 10<inline-formula><mml:math id="M90" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">8</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> (Fig. 3c, i). Differences between the
CNTL and QN scenarios do not grow over time; rather, they tend to be largest
in periods which are challenging to solve (at the start of the simulation
and around dawn and dusk) and then decay to zero.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F3" specific-use="star"><caption><p id="d1e2732">Concentrations of <inline-formula><mml:math id="M91" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, OH and <inline-formula><mml:math id="M92" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in molecules
cm<inline-formula><mml:math id="M93" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> from UKCA_BOX simulations of the Urban scenario. The left panels
show absolute concentrations from all scenarios, with differences too small
to be observed by eye. The centre and rightmost panels show absolute and
fractional differences between the CNTL and QN experiments, respectively. The
white bands show periods with photolysis on, and grey bands show periods with
photolysis off.</p></caption>
          <?xmltex \igopts{width=469.470472pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018-f03.png"/>

        </fig>

      <p id="d1e2775">Time series of the number of iterations required to converge for the Urban
scenario are shown in Fig. 4. Similar figures for the Rural, Marine and Strat
scenarios are included in the Supplement (Figs. S1 and S2; S3 and S4;
S5 and S6, respectively),
which in general are found to converge in fewer iterations than the Urban
case. The dashed blue line shows the number of NR iterations required to
reach a stable solution at each time step, the red line shows the number of
QN iterations required, and the black line shows the estimated NR-equivalent
number of iterations taken to solve, using the result that QN iterations take
on average 27 % of the computational time to solve compared to the NR
method (Table 2). The first time step is the most difficult to solve, as the
initial chemical concentrations are typically far from a steady state having
been taken from monthly average values from model cells. After that, the dawn
and dusk periods, the time steps immediately after photolysis is turned on
and off, respectively, are the next most challenging, as changing photolysis
rates causes an abrupt change in the lifetimes of many species. The inclusion
of the QN method can be seen to improve the solver when the net NR-equivalent
iterations (black line) are lowered compared to the CNTL scenario, and is
optimal when this can be achieved with the minimum number of QN
pseudo-iterations (red line, Fig. 4). While the UKCA_BOX model only solves a
single case at any one time step, each core in the 3-D model will solve for
many grid cells at each time step, and can only move on to the next time step
once all have converged. In other words, the 3-D model is only as fast as its
slowest grid cell. For this reason, the cases where the new methods reduce
iteration count at the more challenging time steps (at dawn and dusk) are
considered a stronger indication that they will improve integration time in
the full 3-D model rather than the average.</p>
      <p id="d1e2778">The Urban scenario is the most challenging of the test cases to solve, due to
the high initial concentrations of reactive tracers (Fig. 4). The CNTL
scenario takes 12 full NR iterations to solve the first time step, then
between 4 and 7 for each time step thereafter, needing 4.36 iterations on
average (Fig. 4a). More iterations are required at dawn and dusk, with a
maximum of seven NR iterations required at dusk. Calling the QN pseudo-iteration
on the first iteration (QN1, QN1–2, QN1–3 and QN1<inline-formula><mml:math id="M94" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>; Fig. 4b–e) reduces
the number of NR iterations required to reach a stable solution on most
time steps but increases the number of NR iterations at dawn on most days,
therefore increasing the computational costs at these time steps compared to
the CNTL run. The experiments with the QN method first called on the second
iteration (QN2, QN2–3 and QN2<inline-formula><mml:math id="M95" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>; Fig. 4f–h) consistently reduce the number
of NR iterations required to reach a stable solution. Experiment QN2–3 is
the most efficient of the three, reducing the number of NR iterations
required, at the dusk time steps to 6, and to 3.52 on average, giving a net
average of 3.89 NR-equivalent iterations counting each QN pseudo-iteration as
27 % of a full NR iteration. Experiment QN2<inline-formula><mml:math id="M96" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> shows diminishing returns
compared to QN2–3, calling more QN pseudo-iterations for no reduction in NR
iterations on most time steps. The experiment with QN called on the third
iteration only (QN3; Fig. 3i) shows only marginal improvement compared to the
CNTL scenario. Overall, QN2–3 most consistently reduces the net iteration
count on average at dawn and dusk in the Urban test case. In some of the other
scenarios, QN1–3 performed most efficiently (see the Supplement). However, in
the Urban scenario, the QN2–3 experiment performs better at the dawn
time steps, when the QN1–3 experiment performs worse than the CNTL run.
QN1–3 therefore shows signs of reduced robustness during the periods<?pagebreak page3097?> which
are most challenging to solve, meaning it is unlikely to be able to handle
the wide range of chemical states that will be simulated in the 3-D model
runs. We therefore use the QN2–3 setup for the 3-D model runs, as UKCA_BOX
results suggest it shows the most consistent improvements over the CNTL
scenario.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F4" specific-use="star"><caption><p id="d1e2804">Plots of solver iteration (convergence) numbers for the original
full NR method and QN methods, with QN pseudo-iterations only called on
particular iteration(s). The CNTL scenario <bold>(a)</bold> only solves with NR
iterations, and is equivalent to the solver in the release version of UKCA.
The other eight panels call QN pseudo-iterations on one or more iterations at
each time step. The blue dashed lines show the number of NR iterations
required to converge on a stable solution, while the red line shows the
number of QN pseudo-iterations required, and the black line total net number
of NR-equivalent iterations to solved, calculated as NR <inline-formula><mml:math id="M97" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> 0.27QN. The white
bands show periods with photolysis on, and grey bands show periods with
photolysis off. The text in each panel gives the number of NR and QN
iterations required to converge on the first time step, the most difficult
time step after the first, and on average across the whole period in
NR-equivalent iterations. </p></caption>
          <?xmltex \igopts{width=469.470472pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018-f04.png"/>

        </fig>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T4" specific-use="star"><caption><p id="d1e2827">Computational speed-up using the QN method in comparison to the regular
Newton–Raphson method.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row>

         <oasis:entry colname="col1">Chemistry</oasis:entry>

         <oasis:entry colname="col2">Number of</oasis:entry>

         <oasis:entry colname="col3">Simulation</oasis:entry>

         <oasis:entry colname="col4">Mean wall-clock time for one</oasis:entry>

         <oasis:entry colname="col5">Speed-up (%)</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">cores</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4">month (s) <inline-formula><mml:math id="M98" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>2 <inline-formula><mml:math id="M99" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> standard error</oasis:entry>

         <oasis:entry colname="col5"/>

       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>

         <oasis:entry rowsep="1" colname="col1" morerows="1">StratTrop</oasis:entry>

         <oasis:entry rowsep="1" colname="col2" morerows="1">432</oasis:entry>

         <oasis:entry colname="col3">CNTL</oasis:entry>

         <oasis:entry colname="col4">3525.7 <inline-formula><mml:math id="M100" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 10.6</oasis:entry>

         <oasis:entry rowsep="1" colname="col5" morerows="1">2.31 <inline-formula><mml:math id="M101" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0.01</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col3">QN2–3</oasis:entry>

         <oasis:entry colname="col4">3444.2 <inline-formula><mml:math id="M102" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 9.5</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" morerows="1">StratTrop<inline-formula><mml:math id="M103" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>GLOMAP</oasis:entry>

         <oasis:entry colname="col2" morerows="1">432</oasis:entry>

         <oasis:entry colname="col3">CNTL</oasis:entry>

         <oasis:entry colname="col4">4805.7 <inline-formula><mml:math id="M104" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 20.6</oasis:entry>

         <oasis:entry colname="col5" morerows="1">2.93 <inline-formula><mml:math id="M105" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0.02</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col3">QN2–3</oasis:entry>

         <oasis:entry colname="col4">4664.7 <inline-formula><mml:math id="M106" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 14.2</oasis:entry>

       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T5" specific-use="star"><caption><p id="d1e3005">Average wall-clock time in seconds (<inline-formula><mml:math id="M107" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>2 standard error) across
all processors used for various UM components comparing the CNTL and QN2–3
methods. All are from 1-year simulations performed on a Cray XC40.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="7">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right" colsep="1"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right" colsep="1"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Chemistry</oasis:entry>
         <oasis:entry namest="col2" nameend="col3" align="center" colsep="1">StratTrop </oasis:entry>
         <oasis:entry namest="col4" nameend="col5" align="center" colsep="1">StratTrop<inline-formula><mml:math id="M108" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>GLOMAP </oasis:entry>
         <oasis:entry namest="col6" nameend="col7" align="center">StratTrop </oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Cores</oasis:entry>
         <oasis:entry namest="col2" nameend="col3" align="center" colsep="1">432 </oasis:entry>
         <oasis:entry namest="col4" nameend="col5" align="center" colsep="1">432 </oasis:entry>
         <oasis:entry namest="col6" nameend="col7" align="center">216 </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Simulation</oasis:entry>
         <oasis:entry colname="col2">CNTL</oasis:entry>
         <oasis:entry colname="col3">QN2–3</oasis:entry>
         <oasis:entry colname="col4">CNTL</oasis:entry>
         <oasis:entry colname="col5">QN2–3</oasis:entry>
         <oasis:entry colname="col6">CNTL</oasis:entry>
         <oasis:entry colname="col7">QN2–3</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Dynamics</oasis:entry>
         <oasis:entry colname="col2">12 123 <inline-formula><mml:math id="M109" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 22</oasis:entry>
         <oasis:entry colname="col3">12 099 <inline-formula><mml:math id="M110" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 23</oasis:entry>
         <oasis:entry colname="col4">15 117 <inline-formula><mml:math id="M111" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 28</oasis:entry>
         <oasis:entry colname="col5">15 297 <inline-formula><mml:math id="M112" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 27</oasis:entry>
         <oasis:entry colname="col6">18 881 <inline-formula><mml:math id="M113" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 27</oasis:entry>
         <oasis:entry colname="col7">18 743 <inline-formula><mml:math id="M114" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 30</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Chemistry</oasis:entry>
         <oasis:entry colname="col2">4228 <inline-formula><mml:math id="M115" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 26</oasis:entry>
         <oasis:entry colname="col3">3678 <inline-formula><mml:math id="M116" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 16</oasis:entry>
         <oasis:entry colname="col4">4725 <inline-formula><mml:math id="M117" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 28</oasis:entry>
         <oasis:entry colname="col5">4123 <inline-formula><mml:math id="M118" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 19</oasis:entry>
         <oasis:entry colname="col6">9102 <inline-formula><mml:math id="M119" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 96</oasis:entry>
         <oasis:entry colname="col7">7875 <inline-formula><mml:math id="M120" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 75</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Diagnostics</oasis:entry>
         <oasis:entry colname="col2">2951 <inline-formula><mml:math id="M121" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  1</oasis:entry>
         <oasis:entry colname="col3">2979 <inline-formula><mml:math id="M122" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  1</oasis:entry>
         <oasis:entry colname="col4">3628 <inline-formula><mml:math id="M123" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  1</oasis:entry>
         <oasis:entry colname="col5">3641 <inline-formula><mml:math id="M124" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  1</oasis:entry>
         <oasis:entry colname="col6">3098 <inline-formula><mml:math id="M125" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  1</oasis:entry>
         <oasis:entry colname="col7">3108 <inline-formula><mml:math id="M126" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  1</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Photolysis</oasis:entry>
         <oasis:entry colname="col2">3038 <inline-formula><mml:math id="M127" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  7</oasis:entry>
         <oasis:entry colname="col3">3038 <inline-formula><mml:math id="M128" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  7</oasis:entry>
         <oasis:entry colname="col4">3041 <inline-formula><mml:math id="M129" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  7</oasis:entry>
         <oasis:entry colname="col5">3030 <inline-formula><mml:math id="M130" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  7</oasis:entry>
         <oasis:entry colname="col6">6082 <inline-formula><mml:math id="M131" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 43</oasis:entry>
         <oasis:entry colname="col7">6084 <inline-formula><mml:math id="M132" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 43</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Convection</oasis:entry>
         <oasis:entry colname="col2">1833 <inline-formula><mml:math id="M133" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 51</oasis:entry>
         <oasis:entry colname="col3">1828 <inline-formula><mml:math id="M134" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 51</oasis:entry>
         <oasis:entry colname="col4">2367 <inline-formula><mml:math id="M135" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 62</oasis:entry>
         <oasis:entry colname="col5">2366 <inline-formula><mml:math id="M136" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 62</oasis:entry>
         <oasis:entry colname="col6">3648 <inline-formula><mml:math id="M137" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 148</oasis:entry>
         <oasis:entry colname="col7">3637 <inline-formula><mml:math id="M138" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 148</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Radiation</oasis:entry>
         <oasis:entry colname="col2">1184 <inline-formula><mml:math id="M139" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 10</oasis:entry>
         <oasis:entry colname="col3">1184 <inline-formula><mml:math id="M140" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 10</oasis:entry>
         <oasis:entry colname="col4">1140 <inline-formula><mml:math id="M141" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 10</oasis:entry>
         <oasis:entry colname="col5">1136 <inline-formula><mml:math id="M142" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula>  9</oasis:entry>
         <oasis:entry colname="col6">2487 <inline-formula><mml:math id="M143" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 34</oasis:entry>
         <oasis:entry colname="col7">2485 <inline-formula><mml:math id="M144" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 34</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">UM Total</oasis:entry>
         <oasis:entry colname="col2">48 871 <inline-formula><mml:math id="M145" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0</oasis:entry>
         <oasis:entry colname="col3">47 730 <inline-formula><mml:math id="M146" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0</oasis:entry>
         <oasis:entry colname="col4">71 900 <inline-formula><mml:math id="M147" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0</oasis:entry>
         <oasis:entry colname="col5">70 596 <inline-formula><mml:math id="M148" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0</oasis:entry>
         <oasis:entry colname="col6">82 561 <inline-formula><mml:math id="M149" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0</oasis:entry>
         <oasis:entry colname="col7">79 600 <inline-formula><mml:math id="M150" display="inline"><mml:mo>±</mml:mo></mml:math></inline-formula> 0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Chemistry speed-up (%)</oasis:entry>
         <oasis:entry namest="col2" nameend="col3" align="center" colsep="1">13.00 </oasis:entry>
         <oasis:entry namest="col4" nameend="col5" align="center" colsep="1">12.74 </oasis:entry>
         <oasis:entry namest="col6" nameend="col7" align="center">13.48 </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">UM speed-up (%)</oasis:entry>
         <oasis:entry namest="col2" nameend="col3" align="center" colsep="1">2.33 </oasis:entry>
         <oasis:entry namest="col4" nameend="col5" align="center" colsep="1">1.81 </oasis:entry>
         <oasis:entry namest="col6" nameend="col7" align="center">3.59 </oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S3.SS2">
  <title>UM-UKCA simulations</title>
      <p id="d1e3609">In this section, we report our results for the full 3-D global UM-UKCA
simulations with the QN method implemented (on the original ASAD solver code)
and without (classical NR method). We discuss these results from the
perspectives of model performance (computational savings and stability) and
prognostic evaluations (comparison of model physical values). All simulations
were performed using version 10.6.1 of the model, applying the GA7.1
configuration at 1.875<inline-formula><mml:math id="M151" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> <inline-formula><mml:math id="M152" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 1.25<inline-formula><mml:math id="M153" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> resolution with 85
vertical levels up to 85 km<?pagebreak page3098?> (N96L85). Emissions were the year 2000 CMIP5
emissions for all runs (Lamarque et al., 2013). Surface sea temperatures
(SST) were as in Banzon et al. (2018) and Reynolds et
al. (2007). Aerosols were provided via a climatology. The UM-UKCA
is a nonhydrostatic model which uses a regular longitude–latitude grid and a
vertical hybrid height coordinate.</p>
      <p id="d1e3637">We have performed three sets of numerical experiments with two slightly
different configurations of UKCA. The first<?pagebreak page3099?> version (StratTrop) uses the
stratosphere–troposphere chemistry where all radiative feedback from UKCA
trace gases was turned off and aerosol climatologies were used. This setup
allows for changing the chemical species whilst maintaining the same wind
fields between the simulations. The UM-UKCA is parallelised by breaking the
domain up into a chess-board pattern of subdomains, defined by the number of
processes given for the east–west (EW) and north–south (NS) directions. The
solver iterates across all grid cells in the subdomain until all have reached
a stable solution. Thus, the computational speed is limited by the
hardest-to-converge (“stiffest”) grid cell in each subdomain. This
configuration was run for 20 model years using 432 cores
(24EW <inline-formula><mml:math id="M154" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 18NS) in both control (CNTL) and quasi-Newton configurations
(QN2–3). Additionally, four 1-year simulations were performed with
additional timer diagnostics included using the Dr Hook package (ECMWF,
2013), two using 432 cores and two using 216 cores (18EW <inline-formula><mml:math id="M155" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 12NS). In
all these sets of simulations, the initial start file was the same and the
wind fields bit compared at the end of the simulation.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T6" specific-use="star"><caption><p id="d1e3657">Number of times that the solver needed to halve the time step in
order to avoid divergences or wild oscillations over 1 year of
integration.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row>

         <oasis:entry colname="col1">Chemistry</oasis:entry>

         <oasis:entry colname="col2">Number of</oasis:entry>

         <oasis:entry colname="col3">Simulation</oasis:entry>

         <oasis:entry colname="col4">Number of</oasis:entry>

         <oasis:entry colname="col5">Fraction of total</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">cores</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4">halving steps</oasis:entry>

         <oasis:entry colname="col5">number of solver calls</oasis:entry>

       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>

         <oasis:entry rowsep="1" colname="col1" morerows="3">StratTrop</oasis:entry>

         <oasis:entry rowsep="1" colname="col2" morerows="1">216</oasis:entry>

         <oasis:entry colname="col3">CNTL</oasis:entry>

         <oasis:entry colname="col4">457 344</oasis:entry>

         <oasis:entry colname="col5">0.00288</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col3">QN2–3</oasis:entry>

         <oasis:entry colname="col4">270 101</oasis:entry>

         <oasis:entry colname="col5">0.00170</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry rowsep="1" colname="col2" morerows="1">432</oasis:entry>

         <oasis:entry colname="col3">CNTL</oasis:entry>

         <oasis:entry colname="col4">436 048</oasis:entry>

         <oasis:entry colname="col5">0.00137</oasis:entry>

       </oasis:row>
       <oasis:row rowsep="1">

         <oasis:entry colname="col3">QN2–3</oasis:entry>

         <oasis:entry colname="col4">256019</oasis:entry>

         <oasis:entry colname="col5">0.00081</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" morerows="1">StratTrop<inline-formula><mml:math id="M156" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>GLOMAP</oasis:entry>

         <oasis:entry colname="col2" morerows="1">432</oasis:entry>

         <oasis:entry colname="col3">CNTL</oasis:entry>

         <oasis:entry colname="col4">544 532</oasis:entry>

         <oasis:entry colname="col5">0.00172</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col3">QN2–3</oasis:entry>

         <oasis:entry colname="col4">328 836</oasis:entry>

         <oasis:entry colname="col5">0.00104</oasis:entry>

       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e3811">A second set of simulations was performed using the stratosphere–troposphere
chemistry combined with the GLOMAP-mode aerosol scheme (StratTrop<inline-formula><mml:math id="M157" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>GLOMAP).
This requires additional chemical species and reactions to be included on top
of the standard StratTrop chemistry. In these simulations, both CNTL and
QN2–3 simulations were performed on 432 cores (24EW <inline-formula><mml:math id="M158" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 18NS) for 20
model years (equivalent to the StratTrop simulations). However, here, both
aerosols (via the direct and first and second indirect effects) and ozone,
methane and nitrous oxide were coupled interactively to the Met Office UM dynamics
via the model radiation scheme. This means that the wind fields in these
simulations were not identical as the small concentration changes introduced
by the QN method resulted in global changes to the dynamical fields.
Additionally, two 1-year simulations with timer diagnostics were also
completed for the CNTL and QN2–3 configurations.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F5" specific-use="star"><caption><p id="d1e3831">Left column <bold>(a, c, e)</bold>: maps of average NR iteration numbers
for the three different 1-year standard UM Newton–Raphson solver (CNTL)
simulations from Table 5; right column <bold>(b, d, f)</bold>: differences
between the quasi-Newton solver (QN2–3) and the equivalent control
simulation. The top plots <bold>(a, b)</bold> are 216-core StratTrop
(18EW <inline-formula><mml:math id="M159" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 12NS), the middle plots <bold>(c, d)</bold> are 432-core StratTrop
(24EW <inline-formula><mml:math id="M160" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 18NS), and the bottom plots <bold>(e, f)</bold> are
432-core StratTrop<inline-formula><mml:math id="M161" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>GLOMAP. The quoted statistics are for the simulations
and not for the differences.</p></caption>
          <?xmltex \igopts{width=355.659449pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018-f05.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F6"><caption><p id="d1e3879">Histograms of the number of NR iterations to convergence for the
216-core StratTrop <bold>(a)</bold>, 432-core StratTrop <bold>(b)</bold>, and
432-core StratTrop<inline-formula><mml:math id="M162" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>GLOMAP <bold>(c)</bold> 1-year long simulations.</p></caption>
          <?xmltex \igopts{width=199.169291pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018-f06.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F7" specific-use="star"><caption><p id="d1e3906"><bold>(a, c, e)</bold> Zonal-mean ozone from the last 10 years of the
20-year StratTrop 432-core simulations and <bold>(b, d, f)</bold> surface ozone
from the last 10 years of the 20-year StratTrop 432-core simulations.
<bold>(a, b)</bold> Ozone from the CNTL simulation. <bold>(c, d)</bold> Absolute
differences between the QN2–3 simulation and the CNTL simulation. <bold>(e, f)</bold> Fractional differences between the QN2–3 simulation and the CNTL simulation.
Stippling in the <bold>(e)</bold> and <bold>(f)</bold> plots indicates that the
values are below the convergence criterion of the chemical solver
(10<inline-formula><mml:math id="M163" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>).</p></caption>
          <?xmltex \igopts{width=412.564961pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018-f07.png"/>

        </fig>

<sec id="Ch1.S3.SS2.SSS1">
  <title>Model performance</title>
      <p id="d1e3953">We begin our discussion with an overview of the timing for each simulation
set. These total time measurements are complemented by a robustness
assessment, checking the number of times that iteration steps of the main
chemistry solver are halved in order to reach the prescribed accuracy (that
is, where UKCA spends more CPU in regions of stiff chemistry). This initial
analysis is then expanded to a more detailed analysis via time measurement
maps of the simulations and iteration maps of the chemistry solver.</p>
      <p id="d1e3956">Table 4 gives the total wall-clock time measurement results for the four
20-year sets of simulations (jobs). A plot of the speed-up for absolute
wall-clock time is also included in the Supplement (Fig. S7). Using our
suggested modification of the current algorithm leads to a net savings of
<inline-formula><mml:math id="M164" display="inline"><mml:mo>∼</mml:mo></mml:math></inline-formula> 2–3 % over the full UM simulation despite the fact that the
chemistry routine takes a relatively small part (5–10 %) of the entire
simulation (depending on the configuration). This suggests that using a
(mixed) quasi-Newton method has the potential to reduce the computational
costs of other non-spatial systems with more intensive chemistry or even
spatial systems modelled by partial differential equations that involves
construction of a Jacobian for the computation of solutions. For the
comparison of core components of the UKCA routines, we conducted 1-year long
timer diagnostics analysis with the Dr Hook package. The results are
tabulated in Table 5. It is found that the QN scheme speeds up the chemistry
component between 12.7 and 13.5 % depending on the configuration.</p>
      <p id="d1e3966">A legitimate question is to check how quasi-Newton methods, which are
essentially based on approximations, change the robustness of the numerical
scheme. This is particularly important since the modelled systems are
generally under stiff conditions which are prone to instability. A poorly
designed approximate method could wash out important information on the
direction of the chemical evolution and cause<?pagebreak page3100?> the program to crash after some
number of steps. To demonstrate that the approximation scheme that we propose
is safe, we show in Table 6 the number of times the UKCA model halves the
time step (a sign that the chemical conditions at that particular location and
time are such that the solution to fails to converge, oscillate or even
diverge, and therefore the time step has to be reduced). According to Table 6,
with the QN modification, the occurrence of halving the time step is nearly
2 times less frequent compared to the original algorithm, suggesting that
the mixed QN method can be more robust in chemically stiff environments,
saving more computational time overall as halving the time step significantly
increases computational costs. The parallelisation of the UM-UKCA is such
that the whole model can be held up by the few grid cells which fail to
converge under the normal time step. So improving the robustness of the solver
potentially has much greater benefits to net computational efficiency than
just the direct reduction in cost to solve the individual grid cells.</p>
      <p id="d1e3969">Next, we make a grid point analysis of NR iterations to understand the
origin of computational savings. In general, the time that it takes the
solver to calculate final chemical concentrations on a grid point depends
heavily on the ambient photochemical conditions at that point and time. So,
the number of iterations in which the program exits the solver loop varies
significantly across the domain.</p>
      <p id="d1e3973">Figure 5 shows maps of the mean number of iterations to convergence (averaged
over column and time) for the 1-year simulations (one chemical time step is
equal to 1 model hour) with the StratTrop (216- and 432-core) and GLOMAP
(432-core) schemes. The CNTL simulations (left-hand column) clearly show regions
where more iterations are required. The right-hand column shows the
difference in mean number of iterations to convergence when using the QN2–3
method. Not only is the mean number of NR iterations reduced globally, but
greater benefit is seen in the hot-spot regions noted in the CNTL
simulations.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F8" specific-use="star"><caption><p id="d1e3978">As Fig. 7 but for OH. Note the use of a log scale in the top (CNTL)
plots. Note that the model domains are visible due to the extremely small
differences in OH.</p></caption>
            <?xmltex \igopts{width=412.564961pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/11/3089/2018/gmd-11-3089-2018-f08.png"/>

          </fig>

      <p id="d1e3987">By summing the total number of points through the 1-year period
according to number of iterations, a histogram of iteration numbers is
produced which neatly summarises performance of both methods (the CNTL and
the QN cases). Figure 6 shows the histogram of the iteration numbers over all
grid points for the 1-year simulations with the same StratTrop (216- and
432-core) and GLOMAP (432-core) schemes. The QN method greatly reduces the peak
at eight iterations, and allows the majority of solutions (approximately 70 %)
to be found in four or less NR iterations.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS2">
  <title>Model evaluation</title>
      <p id="d1e3996">In this section, we evaluate the accuracy of our proposed method. Recall from
Sect. 3.1 that the QN method produces physical values which are very close to
what the original method calculates even for fast-changing species.</p>
      <p id="d1e3999">We test the accuracy of the two methods by comparing the model predictions
for two different species which have very different lifetimes (<inline-formula><mml:math id="M165" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
and OH) and are key species that chemistry–climate models need to simulate
accurately (Monks et al., 2015). If the 3-D model predictions for the two
species which are on the opposite sides of the lifetime spectrum are very
close, then it is very likely that physical values for all other species
which have intermediate lifetimes will also be close.</p>
      <p id="d1e4013">For comparison of differences in values, we consider only the StratTrop
scenario in which ozone and other chemical feedbacks are not included. This
avoids intrinsic perturbations dominating the solutions over long periods of
time and ensures that the dynamics are identical between both simulations.</p>
      <p id="d1e4016">From the last 10-year average of two 20-year experiments (StratTrop-CNTL and
StratTrop-QN2–3), we see that <inline-formula><mml:math id="M166" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> concentrations (here plotted as a
10-year mean for the representative month of July) for the two experiments
are very similar, as seen in Fig. 7 (for zonal-mean differences on the left
column and for surface differences on the right column). The same figures
also show that the relative percentage differences (bottom row) between the
two runs are negligible, being of the order of 0.01 % or smaller.</p>
      <p id="d1e4031">For the comparison of OH concentrations in the 20-year StratTrop-CNTL and
StratTrop-QN2–3 experiments, Fig. 8 shows the zonal-mean differences and
surface value<?pagebreak page3101?> differences in the month of July. The difference values are
slightly larger but still only of the order of 0.1 % or smaller. Note that
the largest percentage differences are seen in the areas with the smallest
absolute OH concentrations. Almost everywhere else the fractional difference
in OH is less than the tolerance of the solver (10<inline-formula><mml:math id="M167" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>). It is also clear
from the surface OH plots (Fig. 8b, d, f) that the differences in OH are so
small that they are approaching the limits of the numerical scheme, as the
subdomains solved by each processor are clearly visible (being 24 in the <inline-formula><mml:math id="M168" display="inline"><mml:mi>X</mml:mi></mml:math></inline-formula>
direction and 18 in the <inline-formula><mml:math id="M169" display="inline"><mml:mi>Y</mml:mi></mml:math></inline-formula> direction). This
artefact appears because all grid cells in each subdomain are iterated in the
solver until all have converged and thus can introduce small numerical
differences.</p>
</sec>
<sec id="Ch1.S3.SS2.SSS3">
  <title>Analysis of the differences between simulations with UM-UKCA</title>
      <p id="d1e4067">In this subsection, we give a quantitative analysis of the differences in the
physical values obtained from the computations. In the strict sense of the
word, there is actually no extra “error” associated with our proposed
method of computation as both the classical NR and QN approaches<?pagebreak page3102?> give
approximate solutions of the real DE within a chosen error tolerance (which
is met by each method). Nevertheless, for completeness and comparison, we will
regard the NR computations (CNTL runs) as the “true” values and measure the
difference in OH and <inline-formula><mml:math id="M170" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> fields for the two runs using two different
metrics defined below.</p>
      <p id="d1e4081">The figures in the previous sections provide maps of absolute and relative
differences. Depending on the location of the point, these differences vary
but always stay very small. In order to have a more quantitative measure of
how different one particular run is from the other, we need a metric that
will take into account all of the grid points and the corresponding errors.
Considering the extreme low values of OH in certain regions, the most
suitable metrics (Yu et al., 2006) are the normalised mean absolute
difference (NMAD) and normalised root mean square difference (NRMSD) which
are, respectively, defined by

                  <disp-formula specific-use="align" content-type="numbered"><mml:math id="M171" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E12"><mml:mtd/><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi mathvariant="normal">NMAD</mml:mi><mml:mi mathvariant="normal">S</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:mfenced open="|" close="|"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">nr</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mi>T</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mo>,</mml:mo><mml:mi>q</mml:mi><mml:mi>n</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:mfenced close="|" open="|"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">nr</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mfenced close=")" open="("><mml:mi>T</mml:mi></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E13"><mml:mtd/><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi mathvariant="normal">NRMSD</mml:mi><mml:mi mathvariant="normal">S</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:msup><mml:mfenced close="|" open="|"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">nr</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mi>T</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">qn</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:msup><mml:mfenced open="|" close="|"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">nr</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mi>T</mml:mi></mml:mfenced><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:msqrt><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

              where S denotes the species and <inline-formula><mml:math id="M172" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> denotes the time at the end of the run.
To measure the bias, we calculate normalised mean bias which is defined as

                  <disp-formula id="Ch1.E14" content-type="numbered"><mml:math id="M173" display="block"><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi mathvariant="normal">NMB</mml:mi><mml:mi mathvariant="normal">S</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">nr</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mi>T</mml:mi></mml:mfenced><mml:mo>-</mml:mo><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">qn</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>i</mml:mi></mml:munder><mml:mfenced open="|" close="|"><mml:mrow><mml:msubsup><mml:mi>c</mml:mi><mml:mrow><mml:mi mathvariant="normal">S</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">nr</mml:mi></mml:mrow><mml:mi>i</mml:mi></mml:msubsup><mml:mfenced open="(" close=")"><mml:mi>T</mml:mi></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

            Table 7 below shows the NMAD, NRMSD and NMB for the OH and <inline-formula><mml:math id="M174" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>
species. A complete table showing NMAD, NRMSD and NMB for all species is
provided in the Supplement.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T7" specific-use="star"><caption><p id="d1e4372">Comparison of Newton–Raphson versus quasi-Newton methods by the metrics
NMAD and NRMSD.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="6">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Chemistry</oasis:entry>
         <oasis:entry colname="col2">Species</oasis:entry>
         <oasis:entry colname="col3">Comparison</oasis:entry>
         <oasis:entry colname="col4">NMAD</oasis:entry>
         <oasis:entry colname="col5">NRMSD</oasis:entry>
         <oasis:entry colname="col6">NMB</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">StratTrop (432 cores)</oasis:entry>
         <oasis:entry colname="col2">OH</oasis:entry>
         <oasis:entry colname="col3">CNTL vs <?xmltex \hack{\hfill\break}?>QN2–3</oasis:entry>
         <oasis:entry colname="col4">3.<inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:mn mathvariant="normal">6986</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">8</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula><?xmltex \hack{\hfill\break}?></oasis:entry>
         <oasis:entry colname="col5">3.<inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:mn mathvariant="normal">6019</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">8</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col6">3.<inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:mn mathvariant="normal">0382</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">9</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">StratTrop (432 cores)</oasis:entry>
         <oasis:entry colname="col2">Ozone</oasis:entry>
         <oasis:entry colname="col3">CNTL vs <?xmltex \hack{\hfill\break}?>QN2–3</oasis:entry>
         <oasis:entry colname="col4">8.<inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:mn mathvariant="normal">8374</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">7</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">8.<inline-formula><mml:math id="M179" display="inline"><mml:mrow><mml:mn mathvariant="normal">9908</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">7</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col6">7.<inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:mn mathvariant="normal">3761</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">7</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e4572">We also plot the NMAD, NRMSD and NMB as a function of time (each month) in
the last 10-year period for OH (Figs. S8, S9 and S10 of the Supplement,
respectively) and for <inline-formula><mml:math id="M181" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (Figs. S11, S12 and S13 of the Supplement,
respectively). We observe that the differences are extremely small and stay
bounded in time and do not grow, which indicates that the two methods
reproduce essentially the same evolution. We remark that NMB values are
smaller than NMAD in magnitude and do not grow in time, as expected. Similar
conclusions can be drawn for the other species as shown in the Supplement.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S4" sec-type="conclusions">
  <title>Conclusions</title>
      <p id="d1e4595">Atmospheric chemistry simulations are at the heart of coupled
chemistry–climate models. Solving the complex sets of equations that
represent the evolution of species comes at a high computational cost. In
this article, we introduced a version of the quasi-Newton method into the
UKCA coupled climate model. The quasi-Newton method demonstrates
improvements, in multiple ways, over the classical Newton–Raphson method
used in the UKCA model chemistry solver.</p>
      <p id="d1e4598">The main benefit of the QN approach, as discussed in Sect. 3, is its ability
to reduce the computational time for the simulations. The advantages,
however, are not limited to reducing the costs of chemistry calculations. The
computations are more robust against stiff chemical environments, thereby
reducing the possibility of divergence and instability in computations. On
parallel platforms, even when there is no danger of instability, robustness
actually can translate into extra computational gain as the method saves
further time by avoiding unnecessary wait times in the subdomains. Overall,
we see a reduction in total computational costs of the whole UKCA model of
approximately 3 %, corresponding to a reduction of approximately 15 % in
the chemistry routines. Whilst this may not seem like a big reduction, it is
significant given the high costs associated with the rest of the<?pagebreak page3103?> coupled UKCA
model. In practice, a 3 % reduction of costs for a large study involving
10 000 model years corresponds to 300 model years saved, roughly 100 real
days of supercomputer time with the current setup.</p>
      <p id="d1e4601">We also demonstrated that the suggested method, while improving the
performance, does not deteriorate the accuracy of physical predictions, which
is an obvious requirement for any proposed method. From the cross comparisons
under different computational environments (UKCA_BOX or parallel UM
simulations), different chemical scenarios (interactive or noninteractive)
for a large spectrum of chemical species (varying from very long lifetime or
short lifetime), the method maintains the same level of accuracy as the
original method.</p>
      <p id="d1e4604">Another feature of our approach is its flexibility to use with many existing
chemistry solving systems. Whilst this work focussed
specifically on the UKCA, the algorithm can be easily integrated to the
existing codes of the other (unrelated) coupled chemical system solvers. If
implemented in a chemical transport model, for example, one would expect the
overall benefit to be greater, due to the greater proportion of computational
expense of the chemical solver due to the lack of other online physical
processes. As shown in Sect. 2, it is also simple to detach the algorithm
from the modified program and revert back to the original algorithm if
desired using options defined in the namelist. Furthermore, since the method
is quite generic, it can be used beyond solving chemical systems. We think
that it will be just as easy to implement<?pagebreak page3104?> the method in other components of
the climate model, for instance, solving systems of time-dependent nonlinear
(partial) differential equations which can be cast into a problem of solving
systems of nonlinear algebraic equations at each time step.</p>
      <p id="d1e4608">Finally, we remark that we have focused on one particular quasi-Newton
approach which took advantage of available information and use it to replace costly Jacobian construction and linear
system solving routines which proved to work robustly under fairly general
conditions. There are also other Newton-type methods that avoid or reduce
Jacobian construction (Brown and Saad, 1990). Although these methods pursue
relatively different strategies (and hence require more substantial changes
to a classical NR-type algorithm), it would be interesting to investigate
their numerical capability.</p><?xmltex \hack{\newpage}?>
</sec>

      
      </body>
    <back><notes notes-type="codeavailability">

      <p id="d1e4616">Due to intellectual property right restrictions, we cannot
provide either the source code or documentation papers for the UM. However,
we provide a pseudo-code for the NR and QN routine part of the DE system
solver of the UKCA (see Appendix A below).</p>

      <p id="d1e4619"><italic>Obtaining the UM.</italic> The Met Office Unified Model is available for use
under licence. The code is available in the UM trunk from version 10.8.
Branches are also available in vn10.7 and vn10.6.1. A number of research
organisations and national meteorological services use the UM in
collaboration with the Met Office to undertake basic atmospheric process
research, produce forecasts, develop the UM code and build and evaluate Earth
system models. For further information on how to apply for a licence,
see <uri>http://www.metoffice.gov.uk/research/modelling-systems/unified-model</uri>
(Banzon et al., 2018; Cullen, 1993; Reynolds et al., 2007).</p>
  </notes><?xmltex \hack{\clearpage}?><app-group>

<?pagebreak page3105?><app id="App1.Ch1.S1">
  <?xmltex \opttitle{(Pseudo-code for NR$+$QN routine)}?><title>(Pseudo-code for NR<inline-formula><mml:math id="M182" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula>QN routine)</title>
      <p id="d1e4644">! <bold>Pseudo-code for solving the equation </bold><bold><italic>F(c)</italic></bold><inline-formula><mml:math id="M183" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula><bold><italic>0</italic></bold></p>
      <p id="d1e4661"><?xmltex \hack{\noindent}?>! Inside the new chemistry step: determine the concentrations for the next
step...<?xmltex \hack{\newline}?></p>
      <p id="d1e4666"><?xmltex \hack{\noindent}?>…</p>
      <p id="d1e4670"><?xmltex \hack{\noindent}?>…</p>
      <p id="d1e4675"><?xmltex \hack{\noindent}?><italic>err</italic> <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></p>
      <p id="d1e4696"><?xmltex \hack{\noindent}?>…<?xmltex \hack{\newline}?></p>
      <p id="d1e4701"><?xmltex \hack{\noindent}?>Update tendencies (<inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow></mml:mfenced><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/></mml:mrow></mml:math></inline-formula> at
the time of the current chemistry step (<inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>)<?xmltex \hack{\newline}?></p>
      <p id="d1e4735"><?xmltex \hack{\noindent}?>Make an initial guess for the algebraic system as an input to the iterative
solver <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>∗</mml:mo></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi mathvariant="italic">_</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula><?xmltex \hack{\newline}?></p>
      <p id="d1e4777"><?xmltex \hack{\noindent}?><bold>! Main NR Iteration loop starts</bold><?xmltex \hack{\newline}?></p>
      <p id="d1e4783"><?xmltex \hack{\noindent}?>! Iteration counter: k, maximum iteration counter:
max_iter<?xmltex \hack{\newline}?></p>
      <p id="d1e4789"><?xmltex \hack{\noindent}?><italic>Do k</italic><inline-formula><mml:math id="M188" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula><italic>1,max_iter</italic></p>
      <p id="d1e4802">! Update the <bold><italic>F</italic></bold> vector and store it</p>
      <p id="d1e4809"><inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:mi mathvariant="bold">F</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow><mml:mrow><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>l</mml:mi><mml:mi mathvariant="italic">_</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi></mml:mrow></mml:math></inline-formula></p>
      <p id="d1e4847"><bold><italic>Fold </italic></bold><inline-formula><mml:math id="M190" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula><bold><italic>F</italic></bold><?xmltex \hack{\newline}?></p>
      <p id="d1e4862">! Jacobian construction and linear system solving</p>
      <p id="d1e4865">Compute exact Jacobian <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:mi mathvariant="bold">J</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> of the <bold><italic>F</italic></bold>
vector()<?xmltex \hack{\newline}?></p>
      <p id="d1e4888">Solve for the new increment <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:mi mathvariant="bold">del</mml:mi><mml:mi mathvariant="bold">_</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula> in the equation</p>
      <p id="d1e4903"><inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:mi mathvariant="bold">J</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="bold">del</mml:mi><mml:mi mathvariant="italic">_</mml:mi><mml:mi mathvariant="bold-italic">c</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi mathvariant="bold">F</mml:mi></mml:mrow></mml:math></inline-formula></p>
      <p id="d1e4924"><italic>err_c</italic> <inline-formula><mml:math id="M194" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mspace width="1em" linebreak="nobreak"/><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:mi>x</mml:mi><mml:mi>v</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mo>(</mml:mo><mml:mi>a</mml:mi><mml:mi>b</mml:mi><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold">del</mml:mi><mml:mi mathvariant="bold">_</mml:mi><mml:mi mathvariant="bold">c</mml:mi><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula><?xmltex \hack{\newline}?></p>
      <p id="d1e4975">! Updating the <bold><italic>c</italic></bold> values</p>
      <p id="d1e4982">Perform treatments for troublesome convergence (e.g. <inline-formula><mml:math id="M195" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula></p>
      <p id="d1e4991">dampening factor) or</p>
      <p id="d1e4995">Filtering of possible negative values in components of</p>
      <p id="d1e4998"><inline-formula><mml:math id="M196" display="inline"><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo>+</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">β</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="bold">del</mml:mi><mml:mi mathvariant="bold">_</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula><?xmltex \hack{\newline}?></p>
      <p id="d1e5024"><bold>! Test and decide if QN step will be taken</bold></p>
      <p id="d1e5028">! This can be done on iterations 2 <inline-formula><mml:math id="M197" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> k <inline-formula><mml:math id="M198" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 50, and</p>
      <p id="d1e5045">recommended on steps 2 &amp; 3</p>
      <p id="d1e5048">! This step will not be done if the <bold><italic>c</italic></bold> vector converged</p>
      <p id="d1e5056">and the routine is about to exit<?xmltex \hack{\newline}?></p>
      <p id="d1e5060">If (<inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:mi>e</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="italic">_</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M200" display="inline"><mml:mo>≥</mml:mo></mml:math></inline-formula> <italic>err</italic> .AND. <italic>choice_qn</italic>)
Then<?xmltex \hack{\newline}?></p>
      <p id="d1e5093"><?xmltex \hspace*{4mm}?>Update the tendencies</p>
      <p id="d1e5097"><?xmltex \hspace*{4mm}?>Update the <bold><italic>F</italic></bold> vector</p>
      <p id="d1e5105"><?xmltex \hspace*{4mm}?><inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:mi mathvariant="bold">F</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">c</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">del</mml:mi><mml:mi mathvariant="normal">_</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi></mml:mrow></mml:math></inline-formula></p>
      <p id="d1e5140"><?xmltex \hspace*{4mm}?><bold><italic>delF</italic></bold><inline-formula><mml:math id="M202" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula><bold><italic>F</italic></bold><inline-formula><mml:math id="M203" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula><bold><italic>Fold</italic></bold><?xmltex \hack{\newline}?></p>
      <p id="d1e5166"><?xmltex \hspace*{4mm}?>! <bold>QN approximation below</bold> …<?xmltex \hack{\newline}?></p>
      <p id="d1e5174"><?xmltex \hspace*{4mm}?>Compute the Jacobian modification factor</p>
      <p id="d1e5178"><?xmltex \hspace*{4mm}?><inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mi>T</mml:mi><mml:mi mathvariant="italic">_</mml:mi><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>u</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold">delF</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold">F</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mi>D</mml:mi><mml:mi>O</mml:mi><mml:mi>T</mml:mi><mml:mi mathvariant="italic">_</mml:mi><mml:mi>p</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>d</mml:mi><mml:mi>u</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold">del</mml:mi><mml:mi mathvariant="bold">_</mml:mi><mml:mi mathvariant="bold">c</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="bold">del</mml:mi><mml:mi mathvariant="bold">_</mml:mi><mml:mi mathvariant="bold">c</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula><?xmltex \hack{\newline}?></p>
      <p id="d1e5269"><?xmltex \hspace*{4mm}?>Re-solve
for the newer increment <bold><italic>del_c</italic></bold></p>
      <p id="d1e5276"><?xmltex \hspace*{4mm}?><inline-formula><mml:math id="M205" display="inline"><mml:mrow><mml:mi mathvariant="bold">J</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>(</mml:mo><mml:mi mathvariant="bold">del</mml:mi><mml:mi mathvariant="bold">_</mml:mi><mml:mi mathvariant="bold">c</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>a</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="bold">F</mml:mi></mml:mrow></mml:math></inline-formula><?xmltex \hack{\newline}?></p>
      <p id="d1e5313"><?xmltex \hspace*{4mm}?>Update <bold><italic>c</italic></bold> values</p>
      <p id="d1e5322"><?xmltex \hspace*{4mm}?><inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:mi mathvariant="bold">c</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold">c</mml:mi><mml:mo>+</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">β</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="bold">del</mml:mi><mml:mi mathvariant="bold">_</mml:mi><mml:mi mathvariant="bold">c</mml:mi></mml:mrow></mml:math></inline-formula> <?xmltex \hack{\newline}?></p>
      <p id="d1e5350">End If <?xmltex \hack{\newline}?></p>
      <?pagebreak page3106?><p id="d1e5354"><?xmltex \hack{\noindent}?>End Do <?xmltex \hack{\clearpage}?></p><supplementary-material position="anchor"><p id="d1e5358"><bold>The Supplement related to this article is available online at <inline-supplementary-material xlink:href="https://doi.org/10.5194/gmd-11-3089-2018-supplement" xlink:title="pdf">https://doi.org/10.5194/gmd-11-3089-2018-supplement</inline-supplementary-material>.</bold></p></supplementary-material>
</app>
  </app-group><notes notes-type="authorcontribution">

      <p id="d1e5366">EE developed and implemented the method. NLA modernised the implementation
and performed the global simulations in the article. SAN developed the modern BOX_MODEL with
support from PTG, NLA, and ATA and performed the UKCA_BOX simulations in the article.
CM developed the earlier versions of the box model. ATA and JAP oversaw the work. EE, NLA,
and SAN wrote the paper with contributions from all authors.</p>
  </notes><notes notes-type="competinginterests">

      <p id="d1e5372">The authors declare that they have no conflict of
interest.</p>
  </notes><ack><title>Acknowledgements</title><p id="d1e5378">We thank Oliver Wild for many useful discussions. The first author thanks
Nigel Wood and Olaf Morgenstern for helpful comments. We also thank Alan
Hewitt and Stuart Whitehouse for reviewing the code.</p><p id="d1e5380">Model integrations have been performed using the ARCHER UK National
Supercomputing Service and the MONSooN system, a collaborative facility
supplied by the Joint Weather and Climate Research Programme, which is a
strategic partnership between the UK Met Office and the Natural Environment
Research Council. This work used the NEXCS HPC facility provided by the
Natural Environment Research Council. We thank NCAS for providing support
for the UKCA model development.</p><p id="d1e5382">The first and last authors were supported under the ERC (ACCI) grant
(project number 267760). Alex T. Archibald and Scott Nicholls thank the
Isaac Newton Trust under whose auspices this work was
funded.<?xmltex \hack{\newline}?><?xmltex \hack{\newline}?>Edited by: Jason Williams
<?xmltex \hack{\newline}?>
Reviewed by: three anonymous referees</p></ack><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><mixed-citation>Banzon, V., Reynolds, R., and National Center for Atmospheric Research Staff
(Eds.): The Climate Data Guide: SST data: NOAA High-resolution (<inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.25</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula>) Blended Analysis of Daily SST and Ice, OISSTv2, available at:
<ext-link xlink:href="https://climatedataguide.ucar.edu/climate-data/sst-data-noaa-high-resolution-025x025-blended-analysis-daily-sst-and-ice-oisstv2">https://climatedataguide.ucar.edu/climate-data/sst-data-noaa-high-resolution-025x025-blended-analysis-daily
-sst-and-ice-oisstv2</ext-link>,
last access: 23 June 2018.</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><mixed-citation>Abraham, N. L.,  Archibald, A. T.,  Bellouin, N.,  Boucher, O.,  Braesicke, P.,
Bushell, A., Carslaw, K., Collins, B., Dalvi, M., Emmerson, K., Folberth, G.,
Haywood, J., Hewitt, A., Johnson, C., Kipling, Z., Macintyre, H., Mann, G.,
Telford, P., Merikanto, J., Morgenstern, O., O'Connor, F., Ordonez, C.,
Osprey, S., Pringle, K., Pyle, J., Rae, J., Reddington, C., Savage, N.,
Spracklen, D., Stier, P., West, R., Mulcahy, J., Woodward, S., Boutle, I.,
and Woodhouse, M. T.: Unified Model Documentation Paper 084: United Kingdom
Chemistry and Aerosol (UKCA) Technical Description Met UM Version 10.6,
available at: <uri>https://code.metoffice.gov.uk/doc/um/vn10.6/papers/umdp
084.pdf</uri> (last access: 26 October 2016) (for the version of the model used
here), 2012.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><mixed-citation>Atkinson, K.: Introduction to Numerical Analysis, John Wiley &amp; Sons Inc.,
1989.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><mixed-citation>Banerjee, A., Maycock, A. C., Archibald, A. T., Abraham, N. L., Telford, P.,
Braesicke, P., and Pyle, J. A.: Drivers of changes in stratospheric and
tropospheric ozone between year 2000 and 2100, Atmos. Chem. Phys., 16,
2727–2746, <ext-link xlink:href="https://doi.org/10.5194/acp-16-2727-2016" ext-link-type="DOI">10.5194/acp-16-2727-2016</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><mixed-citation>Brandt, A.: Multilevel adaptive solutions to boundary value problems, Math.
Comp., 31, 333–390, 1977.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><mixed-citation>Brown, P. N. and  Saad, Y.: Hybrid Krylov methods for nonlinear system of
equations, SIAM J. Sci. Stat. Comp., 11, 450–481, 1990.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><mixed-citation>Broyden, C. G.: A Class of Methods for Solving Nonlinear Simultaneous
Equations, Mathematics of Computation, American Mathematical Society, 19,
577–593, 1965.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><mixed-citation>Cariolle, D., Moinat, P., Teyssèdre, H., Giraud, L., Josse, B., and
Lefèvre, F.: ASIS v1.0: an adaptive solver for the simulation of
atmospheric chemistry, Geosci. Model Dev., 10, 1467–1485,
<ext-link xlink:href="https://doi.org/10.5194/gmd-10-1467-2017" ext-link-type="DOI">10.5194/gmd-10-1467-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><mixed-citation> Carver, G. D.,  Brown, P. D., and Wild, O.: The ASAD atmospheric chemistry integration
package and chemical reaction database, Comput. Phys. Commun., 105, 197–215,
1997.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><mixed-citation>Chan, T. F. and  Jackson, K. R.: Nonlinearly preconditioned Kylov subspace methods
for discrete Newton algortihms, SIAM J. Sci. Stat. Comp., 5, 533–542, 1984.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><mixed-citation>Collins, W. J., Lamarque, J.-F., Schulz, M., Boucher, O., Eyring, V.,
Hegglin, M. I., Maycock, A., Myhre, G., Prather, M., Shindell, D., and Smith,
S. J.: AerChemMIP: quantifying the effects of chemistry and aerosols in
CMIP6, Geosci. Model Dev., 10, 585–607, <ext-link xlink:href="https://doi.org/10.5194/gmd-10-585-2017" ext-link-type="DOI">10.5194/gmd-10-585-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><mixed-citation>Cullen, M. J. P.: The unified forecast/climate model, Meteorol. Mag., 122,
81–94,    <uri>https://digital.nmla.metoffice.gov.uk/file/sdb%
3AdigitalFile%
7C33af6d4a-7c25-4bbc-819a-be64312e783d/</uri>, 1993.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><mixed-citation>Damian, V., Sandu, A., Damian, M., Potra, F., and  Carmichael, G. R.:
The kinetic preprocessor KPP – a software environment for solving chemical
kinetics, Comput. Chem. Eng., 26, 1567–1579, 2002.</mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><mixed-citation>Davidon, W. C.: Variable metric method for minimization, SIAM J.
Optimiz., 1, 1–17, 1991.</mixed-citation></ref>
      <ref id="bib1.bib15"><label>15</label><mixed-citation>ECMWF: Documentation, available at:
<uri>https://software.ecmwf.int/wiki/display/OIFS/Documentation</uri>, direct
link:
<uri>https://software.ecmwf.int/wiki/download/attachments/19661682/drhook.pdf</uri>
(last access: 19 January 2018), 2013.</mixed-citation></ref>
      <ref id="bib1.bib16"><label>16</label><mixed-citation>Fletcher, R.: A New Approach to Variable Metric Algorithms, Comput. J., 13,
317–322, 1970.</mixed-citation></ref>
      <ref id="bib1.bib17"><label>17</label><mixed-citation>Glotfelty, T., He, J., and Zhang, Y.: Impact of future climate policy scenarios on air
quality and aerosol-cloud interactions using an advanced version of
CESM/CAM5: Part I.  model evaluation for the current decadal simulations,
Atmos. Environ., 152, 222–239, 2017.</mixed-citation></ref>
      <ref id="bib1.bib18"><label>18</label><mixed-citation>Goldfarb, D.: A Family of Variable Metric Updates Derived by Variational
Means, Math. Comput., 24, 23–26, <ext-link xlink:href="https://doi.org/10.1090/S0025-5718-1970-0258249-6" ext-link-type="DOI">10.1090/S0025-5718-1970-0258249-6</ext-link>,
1970.</mixed-citation></ref>
      <ref id="bib1.bib19"><label>19</label><mixed-citation> Heal, M. R., Heaviside, C., Doherty, R. M., Vieno, M., Stevenson, D. S., and Vardoulakis,
S.: Health burdens of surface ozone in<?pagebreak page3107?> the UK for a range of future
scenarios, Environ. Int., 61, 36–44, 2013.</mixed-citation></ref>
      <ref id="bib1.bib20"><label>20</label><mixed-citation>Hewitt, H. T., Copsey, D., Culverwell, I. D., Harris, C. M., Hill, R. S. R.,
Keen, A. B., McLaren, A. J., and Hunke, E. C.: Design and implementation of
the infrastructure of HadGEM3: the next-generation Met Office climate
modelling system, Geosci. Model Dev., 4, 223–253,
<ext-link xlink:href="https://doi.org/10.5194/gmd-4-223-2011" ext-link-type="DOI">10.5194/gmd-4-223-2011</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bib21"><label>21</label><mixed-citation>IPCC: Climate Change 2013: The Physical Science Basis. Contribution of
Working Group I to the Fifth Assessment Report of the Intergovernmental Panel
on Climate Change, edited by: Stocker, T. F., Qin, D., Plattner, G.-K.,
Tignor, M., Allen, S. K., Boschung, J., Nauels, A., Xia, Y., Bex, V., and
Midgley, P. M., Cambridge University Press, Cambridge, United Kingdom
and New York, NY, USA, 1535 pp., 2013.</mixed-citation></ref>
      <ref id="bib1.bib22"><label>22</label><mixed-citation>Kelley, C. T.: Iterative Methods for Linear and Nonliner Equations, SIAM,
Philadelphia, 1995.</mixed-citation></ref>
      <ref id="bib1.bib23"><label>23</label><mixed-citation>Knoll, D. A. and  Keyes, D. E.: Newton-Krylov methods: A survey of approaches and
applications, J. Comput. Phys., 193, 357–397, 2004.</mixed-citation></ref>
      <ref id="bib1.bib24"><label>24</label><mixed-citation>Kvaalen, E.: A faster Broyden method, BIT Numerical Mathematics,
SIAM, 31, 369–372, 1991.</mixed-citation></ref>
      <ref id="bib1.bib25"><label>25</label><mixed-citation>Lamarque, J.-F., Shindell, D. T., Josse, B., Young, P. J., Cionni, I.,
Eyring, V., Bergmann, D., Cameron-Smith, P., Collins, W. J., Doherty, R.,
Dalsoren, S., Faluvegi, G., Folberth, G., Ghan, S. J., Horowitz, L. W., Lee,
Y. H., MacKenzie, I. A., Nagashima, T., Naik, V., Plummer, D., Righi, M.,
Rumbold, S. T., Schulz, M., Skeie, R. B., Stevenson, D. S., Strode, S., Sudo,
K., Szopa, S., Voulgarakis, A., and Zeng, G.: The Atmospheric Chemistry and
Climate Model Intercomparison Project (ACCMIP): overview and description of
models, simulations and climate diagnostics, Geosci. Model Dev., 6, 179–206,
<ext-link xlink:href="https://doi.org/10.5194/gmd-6-179-2013" ext-link-type="DOI">10.5194/gmd-6-179-2013</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bib26"><label>26</label><mixed-citation>Lauritzen, P. H., Nair, R. D., and  Ullrich, P.: A conservative semi-Lagrangian
multi-tracer transport scheme (CSLAM) on the cubed-sphere grid, J. Comput.
Phys., 229, 1401–1424, 2009.</mixed-citation></ref>
      <ref id="bib1.bib27"><label>27</label><mixed-citation>Lu, T., Chung, L., Yoo, C. S., and Chen, J. H.: Dynamic stiffness for direct
numerical simulations, Combust. Flame, 156, 1542–1551, 2009.</mixed-citation></ref>
      <ref id="bib1.bib28"><label>28</label><mixed-citation>Mann, G. W., Carslaw, K. S., Spracklen, D. V., Ridley, D. A., Manktelow, P.
T., Chipperfield, M. P., Pickering, S. J., and Johnson, C. E.: Description
and evaluation of GLOMAP-mode: a modal global aerosol microphysics model for
the UKCA composition-climate model, Geosci. Model Dev., 3, 519–551,
<ext-link xlink:href="https://doi.org/10.5194/gmd-3-519-2010" ext-link-type="DOI">10.5194/gmd-3-519-2010</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bib29"><label>29</label><mixed-citation>Mitsakou, C., Helmis, C., and Housiadas, C.: Eulerian modelling of lung deposition
with sectional representation of aerosol dynamics, J. Aerosol Sci., 36,
75–94, 2005.</mixed-citation></ref>
      <ref id="bib1.bib30"><label>30</label><mixed-citation>Monks, P. S., Archibald, A. T., Colette, A., Cooper, O., Coyle, M., Derwent,
R., Fowler, D., Granier, C., Law, K. S., Mills, G. E., Stevenson, D. S.,
Tarasova, O., Thouret, V., von Schneidemesser, E., Sommariva, R., Wild, O.,
and Williams, M. L.: Tropospheric ozone and its precursors from the urban to
the global scale from air quality to short-lived climate forcer, Atmos. Chem.
Phys., 15, 8889–8973, <ext-link xlink:href="https://doi.org/10.5194/acp-15-8889-2015" ext-link-type="DOI">10.5194/acp-15-8889-2015</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bib31"><label>31</label><mixed-citation>Morgenstern, O., Braesicke, P., O'Connor, F. M., Bushell, A. C., Johnson, C.
E., Osprey, S. M., and Pyle, J. A.: Evaluation of the new UKCA
climate-composition model – Part 1: The stratosphere, Geosci. Model Dev., 2,
43–57, <ext-link xlink:href="https://doi.org/10.5194/gmd-2-43-2009" ext-link-type="DOI">10.5194/gmd-2-43-2009</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bib32"><label>32</label><mixed-citation>O'Connor, F. M., Johnson, C. E., Morgenstern, O., Abraham, N. L., Braesicke,
P., Dalvi, M., Folberth, G. A., Sanderson, M. G., Telford, P. J.,
Voulgarakis, A., Young, P. J., Zeng, G., Collins, W. J., and Pyle, J. A.:
Evaluation of the new UKCA climate-composition model – Part 2: The
Troposphere, Geosci. Model Dev., 7, 41-91,
<ext-link xlink:href="https://doi.org/10.5194/gmd-7-41-2014" ext-link-type="DOI">10.5194/gmd-7-41-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bib33"><label>33</label><mixed-citation>Ortega, J. and  Rheinboldt, W.: Iterative solutions of Nonlinear Equations in
several variables, Acadmic Press, Boston, 1970.</mixed-citation></ref>
      <ref id="bib1.bib34"><label>34</label><mixed-citation>Reynolds, R. W., Smith, T. M., Liu, C., Chelton, D. B., Casey, K. S., and
Schlax, M. G.: Daily high-resolution blended analyses for sea surface
temperature, J. Climate, 20, 5473–5496, <ext-link xlink:href="https://doi.org/10.1175/2007JCLI1824.1" ext-link-type="DOI">10.1175/2007JCLI1824.1</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bib35"><label>35</label><mixed-citation>
Sandu, A., Verwer, J. G., Blom, J. G., Spee, E. J., Carmichael, G. R., and
Potra, F. A., Benchmarking stiff ode solvers for atmospheric chemistry
problems II: Rosenbrock solvers, Atmos. Environ., 31, 3469–3472, 1997.</mixed-citation></ref>
      <ref id="bib1.bib36"><label>36</label><mixed-citation>Shanno, D. F.: Conditioning of quasi-Newton methods for function
minimization, Math. Comput.,  24, 647–656, 1970.</mixed-citation></ref>
      <ref id="bib1.bib37"><label>37</label><mixed-citation>Telford, P. J., Abraham, N. L., Archibald, A. T., Braesicke, P., Dalvi, M.,
Morgenstern, O., O'Connor, F. M., Richards, N. A. D., and Pyle, J. A.:
Implementation of the Fast-JX Photolysis scheme (v6.4) into the UKCA
component of the MetUM chemistry-climate model (v7.3), Geosci. Model Dev., 6,
161–177, <ext-link xlink:href="https://doi.org/10.5194/gmd-6-161-2013" ext-link-type="DOI">10.5194/gmd-6-161-2013</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bib38"><label>38</label><mixed-citation>Tilmes, S., Lamarque, J.-F., Emmons, L. K., Kinnison, D. E., Ma, P.-L., Liu,
X., Ghan, S., Bardeen, C., Arnold, S., Deeter, M., Vitt, F., Ryerson, T.,
Elkins, J. W., Moore, F., Spackman, J. R., and Val Martin, M.: Description
and evaluation of tropospheric chemistry and aerosols in the Community Earth
System Model (CESM1.2), Geosci. Model Dev., 8, 1395–1426,
<ext-link xlink:href="https://doi.org/10.5194/gmd-8-1395-2015" ext-link-type="DOI">10.5194/gmd-8-1395-2015</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bib39"><label>39</label><mixed-citation>Viallet, M.,  Goffrey, T.,  Baraffe, I.,  Folini, D.,   Geroux,
C., Popov, M. V., Pratt, J., and Walder, R.: A Jacobian-free Newton-Krylov
method for time-implicit multidimensional hydrodynamics-Physics-based
preconditioning for sound waves and thermal diffusion, Astron. Astrophys.,
586, 1–17, <ext-link xlink:href="https://doi.org/10.1051/0004-6361/201527339" ext-link-type="DOI">10.1051/0004-6361/201527339</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib40"><label>40</label><mixed-citation>Walters, D., Boutle, I., Brooks, M., Melvin, T., Stratton, R., Vosper, S.,
Wells, H., Williams, K., Wood, N., Allen, T., Bushell, A., Copsey, D.,
Earnshaw, P., Edwards, J., Gross, M., Hardiman, S., Harris, C., Heming, J.,
Klingaman, N., Levine, R., Manners, J., Martin, G., Milton, S., Mittermaier,
M., Morcrette, C., Riddick, T., Roberts, M., Sanchez, C., Selwood, P.,
Stirling, A., Smith, C., Suri, D., Tennant, W., Vidale, P. L., Wilkinson, J.,
Willett, M., Woolnough, S., and Xavier, P.: The Met Office Unified Model
Global Atmosphere 6.0/6.1 and JULES Global Land 6.0/6.1 configurations,
Geosci. Model Dev., 10, 1487–1520, <ext-link xlink:href="https://doi.org/10.5194/gmd-10-1487-2017" ext-link-type="DOI">10.5194/gmd-10-1487-2017</ext-link>,
2017.</mixed-citation></ref>
      <ref id="bib1.bib41"><label>41</label><mixed-citation>Whitehouse, L. E., Tomlin, A. S., and Pilling, M. J.: Systematic reduction of
complex tropospheric chemical mechanisms, Part I: sensitivity and time-scale
analyses, Atmos. Chem. Phys., 4, 2025–2056,
<ext-link xlink:href="https://doi.org/10.5194/acp-4-2025-2004" ext-link-type="DOI">10.5194/acp-4-2025-2004</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bib42"><label>42</label><mixed-citation>Wild, O. and  Prather, M. J.: Excitation of the primary tropospheric chemical mode
in a global three dimensional model, J. Geophys. Res.-Atmos., 105,
24647–24660, 2000.</mixed-citation></ref>
      <?pagebreak page3108?><ref id="bib1.bib43"><label>43</label><mixed-citation>Wild, O., Zhu, X. I. N., and Prather, M. J.: Fast-J: Accurate Simulation of
In- and Below-Cloud Photolysis in Tropospheric Chemical Models, J. Atmos.
Chem., 37, 245–282, 2000.
 </mixed-citation></ref><?xmltex \hack{\newpage}?>
      <ref id="bib1.bib44"><label>44</label><mixed-citation>Yu, S., Eder, B., Dennis, R., Chu, S., and Schwartz, S. E.: New unbiased symmetric
metrics for evaluation of air quality models, Atmos. Sci. Lett., 7, 26–34,
2006.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Quasi-Newton methods for atmospheric chemistry simulations: implementation in UKCA UM vn10.8</article-title-html>
<abstract-html><p>A key and expensive part of coupled atmospheric chemistry–climate model
simulations is the integration of gas-phase chemistry, which involves dozens
of species and hundreds of reactions. These species and reactions form a
highly coupled network of differential equations (DEs). There exist orders of
magnitude variability in the lifetimes of the different species present in
the atmosphere, and so solving these DEs to obtain robust numerical solutions
poses a <q>stiff problem</q>. With newer models having more species and
increased complexity, it is now becoming increasingly important to have
chemistry solving schemes that reduce time but maintain accuracy. While a
sound way to handle stiff systems is by using implicit DE solvers, the
computational costs for such solvers are high due to internal iterative
algorithms (e.g. Newton–Raphson methods). Here, we propose an approach for
implicit DE solvers that improves their convergence speed and robustness with
relatively small modification in the code. We achieve this by blending the
existing Newton–Raphson (NR) method with quasi-Newton (QN) methods, whereby
the QN routine is called only on selected iterations of the solver. We test
our approach with numerical experiments on the UK Chemistry and Aerosol
(UKCA) model, part of the UK Met Office Unified Model suite, run in both an
idealised box-model environment and under realistic 3-D atmospheric
conditions. The box-model tests reveal that the proposed method reduces the
time spent in the solver routines significantly, with each QN call costing
27&thinsp;% of a call to the full NR routine. A series of experiments over a range
of chemical environments was conducted with the box model to find the optimal
iteration steps to call the QN routine which result in the greatest reduction
in the total number of NR iterations whilst minimising the chance of causing
instabilities and maintaining solver accuracy. The 3-D simulations show that
our moderate modification, by means of using a blended method for the
chemistry solver, speeds up the chemistry routines by around 13&thinsp;%,
resulting in a net improvement in overall runtime of the full model by
approximately 3&thinsp;% with negligible loss in the accuracy. The blended QN
method also improves the robustness of the solver, reducing the number of
grid cells which fail to converge after 50 iterations by 40&thinsp;%. The relative
differences in chemical concentrations between the control run and that using
the blended QN method are of order  ∼ &thinsp;10<sup>−7</sup> for longer-lived
species, such as ozone, and below the threshold for solver convergence
(10<sup>−4</sup>) almost everywhere for shorter-lived species such as the hydroxyl
radical.</p></abstract-html>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
Banzon, V., Reynolds, R., and National Center for Atmospheric Research Staff
(Eds.): The Climate Data Guide: SST data: NOAA High-resolution (0.25×0.25) Blended Analysis of Daily SST and Ice, OISSTv2, available at:
<a href="https://climatedataguide.ucar.edu/climate-data/sst-data-noaa-high-resolution-025x025-blended-analysis-daily-sst-and-ice-oisstv2" target="_blank">https://climatedataguide.ucar.edu/climate-data/sst-data-noaa-high-resolution-025x025-blended-analysis-daily
-sst-and-ice-oisstv2</a>,
last access: 23 June 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
Abraham, N. L.,  Archibald, A. T.,  Bellouin, N.,  Boucher, O.,  Braesicke, P.,
Bushell, A., Carslaw, K., Collins, B., Dalvi, M., Emmerson, K., Folberth, G.,
Haywood, J., Hewitt, A., Johnson, C., Kipling, Z., Macintyre, H., Mann, G.,
Telford, P., Merikanto, J., Morgenstern, O., O'Connor, F., Ordonez, C.,
Osprey, S., Pringle, K., Pyle, J., Rae, J., Reddington, C., Savage, N.,
Spracklen, D., Stier, P., West, R., Mulcahy, J., Woodward, S., Boutle, I.,
and Woodhouse, M. T.: Unified Model Documentation Paper 084: United Kingdom
Chemistry and Aerosol (UKCA) Technical Description Met UM Version 10.6,
available at: <a href="https://code.metoffice.gov.uk/doc/um/vn10.6/papers/umdp&#xA;084.pdf" target="_blank">https://code.metoffice.gov.uk/doc/um/vn10.6/papers/umdp
084.pdf</a> (last access: 26 October 2016) (for the version of the model used
here), 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>Atkinson, K.: Introduction to Numerical Analysis, John Wiley &amp; Sons Inc.,
1989.
</mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
Banerjee, A., Maycock, A. C., Archibald, A. T., Abraham, N. L., Telford, P.,
Braesicke, P., and Pyle, J. A.: Drivers of changes in stratospheric and
tropospheric ozone between year 2000 and 2100, Atmos. Chem. Phys., 16,
2727–2746, <a href="https://doi.org/10.5194/acp-16-2727-2016" target="_blank">https://doi.org/10.5194/acp-16-2727-2016</a>, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>Brandt, A.: Multilevel adaptive solutions to boundary value problems, Math.
Comp., 31, 333–390, 1977.
</mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>Brown, P. N. and  Saad, Y.: Hybrid Krylov methods for nonlinear system of
equations, SIAM J. Sci. Stat. Comp., 11, 450–481, 1990.
</mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>Broyden, C. G.: A Class of Methods for Solving Nonlinear Simultaneous
Equations, Mathematics of Computation, American Mathematical Society, 19,
577–593, 1965.
</mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
Cariolle, D., Moinat, P., Teyssèdre, H., Giraud, L., Josse, B., and
Lefèvre, F.: ASIS v1.0: an adaptive solver for the simulation of
atmospheric chemistry, Geosci. Model Dev., 10, 1467–1485,
<a href="https://doi.org/10.5194/gmd-10-1467-2017" target="_blank">https://doi.org/10.5194/gmd-10-1467-2017</a>, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation> Carver, G. D.,  Brown, P. D., and Wild, O.: The ASAD atmospheric chemistry integration
package and chemical reaction database, Comput. Phys. Commun., 105, 197–215,
1997.
</mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>Chan, T. F. and  Jackson, K. R.: Nonlinearly preconditioned Kylov subspace methods
for discrete Newton algortihms, SIAM J. Sci. Stat. Comp., 5, 533–542, 1984.
</mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
Collins, W. J., Lamarque, J.-F., Schulz, M., Boucher, O., Eyring, V.,
Hegglin, M. I., Maycock, A., Myhre, G., Prather, M., Shindell, D., and Smith,
S. J.: AerChemMIP: quantifying the effects of chemistry and aerosols in
CMIP6, Geosci. Model Dev., 10, 585–607, <a href="https://doi.org/10.5194/gmd-10-585-2017" target="_blank">https://doi.org/10.5194/gmd-10-585-2017</a>, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
Cullen, M. J. P.: The unified forecast/climate model, Meteorol. Mag., 122,
81–94,    <a href="https://digital.nmla.metoffice.gov.uk/file/sdb%&#xA;3AdigitalFile%&#xA;7C33af6d4a-7c25-4bbc-819a-be64312e783d/" target="_blank">https://digital.nmla.metoffice.gov.uk/file/sdb%
3AdigitalFile%
7C33af6d4a-7c25-4bbc-819a-be64312e783d/</a>, 1993.
</mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>Damian, V., Sandu, A., Damian, M., Potra, F., and  Carmichael, G. R.:
The kinetic preprocessor KPP – a software environment for solving chemical
kinetics, Comput. Chem. Eng., 26, 1567–1579, 2002.
</mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>Davidon, W. C.: Variable metric method for minimization, SIAM J.
Optimiz., 1, 1–17, 1991.
</mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>15</label><mixed-citation>ECMWF: Documentation, available at:
<a href="https://software.ecmwf.int/wiki/display/OIFS/Documentation" target="_blank">https://software.ecmwf.int/wiki/display/OIFS/Documentation</a>, direct
link:
<a href="https://software.ecmwf.int/wiki/download/attachments/19661682/drhook.pdf" target="_blank">https://software.ecmwf.int/wiki/download/attachments/19661682/drhook.pdf</a>
(last access: 19 January 2018), 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>16</label><mixed-citation>Fletcher, R.: A New Approach to Variable Metric Algorithms, Comput. J., 13,
317–322, 1970.
</mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>17</label><mixed-citation>Glotfelty, T., He, J., and Zhang, Y.: Impact of future climate policy scenarios on air
quality and aerosol-cloud interactions using an advanced version of
CESM/CAM5: Part I.  model evaluation for the current decadal simulations,
Atmos. Environ., 152, 222–239, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>18</label><mixed-citation>Goldfarb, D.: A Family of Variable Metric Updates Derived by Variational
Means, Math. Comput., 24, 23–26, <a href="https://doi.org/10.1090/S0025-5718-1970-0258249-6" target="_blank">https://doi.org/10.1090/S0025-5718-1970-0258249-6</a>,
1970.
</mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>19</label><mixed-citation> Heal, M. R., Heaviside, C., Doherty, R. M., Vieno, M., Stevenson, D. S., and Vardoulakis,
S.: Health burdens of surface ozone in the UK for a range of future
scenarios, Environ. Int., 61, 36–44, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>20</label><mixed-citation>
Hewitt, H. T., Copsey, D., Culverwell, I. D., Harris, C. M., Hill, R. S. R.,
Keen, A. B., McLaren, A. J., and Hunke, E. C.: Design and implementation of
the infrastructure of HadGEM3: the next-generation Met Office climate
modelling system, Geosci. Model Dev., 4, 223–253,
<a href="https://doi.org/10.5194/gmd-4-223-2011" target="_blank">https://doi.org/10.5194/gmd-4-223-2011</a>, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>21</label><mixed-citation>IPCC: Climate Change 2013: The Physical Science Basis. Contribution of
Working Group I to the Fifth Assessment Report of the Intergovernmental Panel
on Climate Change, edited by: Stocker, T. F., Qin, D., Plattner, G.-K.,
Tignor, M., Allen, S. K., Boschung, J., Nauels, A., Xia, Y., Bex, V., and
Midgley, P. M., Cambridge University Press, Cambridge, United Kingdom
and New York, NY, USA, 1535 pp., 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>22</label><mixed-citation>Kelley, C. T.: Iterative Methods for Linear and Nonliner Equations, SIAM,
Philadelphia, 1995.
</mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>23</label><mixed-citation>Knoll, D. A. and  Keyes, D. E.: Newton-Krylov methods: A survey of approaches and
applications, J. Comput. Phys., 193, 357–397, 2004.
</mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>24</label><mixed-citation>Kvaalen, E.: A faster Broyden method, BIT Numerical Mathematics,
SIAM, 31, 369–372, 1991.
</mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>25</label><mixed-citation>
Lamarque, J.-F., Shindell, D. T., Josse, B., Young, P. J., Cionni, I.,
Eyring, V., Bergmann, D., Cameron-Smith, P., Collins, W. J., Doherty, R.,
Dalsoren, S., Faluvegi, G., Folberth, G., Ghan, S. J., Horowitz, L. W., Lee,
Y. H., MacKenzie, I. A., Nagashima, T., Naik, V., Plummer, D., Righi, M.,
Rumbold, S. T., Schulz, M., Skeie, R. B., Stevenson, D. S., Strode, S., Sudo,
K., Szopa, S., Voulgarakis, A., and Zeng, G.: The Atmospheric Chemistry and
Climate Model Intercomparison Project (ACCMIP): overview and description of
models, simulations and climate diagnostics, Geosci. Model Dev., 6, 179–206,
<a href="https://doi.org/10.5194/gmd-6-179-2013" target="_blank">https://doi.org/10.5194/gmd-6-179-2013</a>, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>26</label><mixed-citation>Lauritzen, P. H., Nair, R. D., and  Ullrich, P.: A conservative semi-Lagrangian
multi-tracer transport scheme (CSLAM) on the cubed-sphere grid, J. Comput.
Phys., 229, 1401–1424, 2009.
</mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>27</label><mixed-citation>Lu, T., Chung, L., Yoo, C. S., and Chen, J. H.: Dynamic stiffness for direct
numerical simulations, Combust. Flame, 156, 1542–1551, 2009.
</mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>28</label><mixed-citation>
Mann, G. W., Carslaw, K. S., Spracklen, D. V., Ridley, D. A., Manktelow, P.
T., Chipperfield, M. P., Pickering, S. J., and Johnson, C. E.: Description
and evaluation of GLOMAP-mode: a modal global aerosol microphysics model for
the UKCA composition-climate model, Geosci. Model Dev., 3, 519–551,
<a href="https://doi.org/10.5194/gmd-3-519-2010" target="_blank">https://doi.org/10.5194/gmd-3-519-2010</a>, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>29</label><mixed-citation>Mitsakou, C., Helmis, C., and Housiadas, C.: Eulerian modelling of lung deposition
with sectional representation of aerosol dynamics, J. Aerosol Sci., 36,
75–94, 2005.
</mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>30</label><mixed-citation>
Monks, P. S., Archibald, A. T., Colette, A., Cooper, O., Coyle, M., Derwent,
R., Fowler, D., Granier, C., Law, K. S., Mills, G. E., Stevenson, D. S.,
Tarasova, O., Thouret, V., von Schneidemesser, E., Sommariva, R., Wild, O.,
and Williams, M. L.: Tropospheric ozone and its precursors from the urban to
the global scale from air quality to short-lived climate forcer, Atmos. Chem.
Phys., 15, 8889–8973, <a href="https://doi.org/10.5194/acp-15-8889-2015" target="_blank">https://doi.org/10.5194/acp-15-8889-2015</a>, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>31</label><mixed-citation>
Morgenstern, O., Braesicke, P., O'Connor, F. M., Bushell, A. C., Johnson, C.
E., Osprey, S. M., and Pyle, J. A.: Evaluation of the new UKCA
climate-composition model – Part 1: The stratosphere, Geosci. Model Dev., 2,
43–57, <a href="https://doi.org/10.5194/gmd-2-43-2009" target="_blank">https://doi.org/10.5194/gmd-2-43-2009</a>, 2009.
</mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>32</label><mixed-citation>
O'Connor, F. M., Johnson, C. E., Morgenstern, O., Abraham, N. L., Braesicke,
P., Dalvi, M., Folberth, G. A., Sanderson, M. G., Telford, P. J.,
Voulgarakis, A., Young, P. J., Zeng, G., Collins, W. J., and Pyle, J. A.:
Evaluation of the new UKCA climate-composition model – Part 2: The
Troposphere, Geosci. Model Dev., 7, 41-91,
<a href="https://doi.org/10.5194/gmd-7-41-2014" target="_blank">https://doi.org/10.5194/gmd-7-41-2014</a>, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>33</label><mixed-citation>Ortega, J. and  Rheinboldt, W.: Iterative solutions of Nonlinear Equations in
several variables, Acadmic Press, Boston, 1970.
</mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>34</label><mixed-citation>
Reynolds, R. W., Smith, T. M., Liu, C., Chelton, D. B., Casey, K. S., and
Schlax, M. G.: Daily high-resolution blended analyses for sea surface
temperature, J. Climate, 20, 5473–5496, <a href="https://doi.org/10.1175/2007JCLI1824.1" target="_blank">https://doi.org/10.1175/2007JCLI1824.1</a>, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>35</label><mixed-citation>
Sandu, A., Verwer, J. G., Blom, J. G., Spee, E. J., Carmichael, G. R., and
Potra, F. A., Benchmarking stiff ode solvers for atmospheric chemistry
problems II: Rosenbrock solvers, Atmos. Environ., 31, 3469–3472, 1997.
</mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>36</label><mixed-citation>Shanno, D. F.: Conditioning of quasi-Newton methods for function
minimization, Math. Comput.,  24, 647–656, 1970.
</mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>37</label><mixed-citation>
Telford, P. J., Abraham, N. L., Archibald, A. T., Braesicke, P., Dalvi, M.,
Morgenstern, O., O'Connor, F. M., Richards, N. A. D., and Pyle, J. A.:
Implementation of the Fast-JX Photolysis scheme (v6.4) into the UKCA
component of the MetUM chemistry-climate model (v7.3), Geosci. Model Dev., 6,
161–177, <a href="https://doi.org/10.5194/gmd-6-161-2013" target="_blank">https://doi.org/10.5194/gmd-6-161-2013</a>, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>38</label><mixed-citation>
Tilmes, S., Lamarque, J.-F., Emmons, L. K., Kinnison, D. E., Ma, P.-L., Liu,
X., Ghan, S., Bardeen, C., Arnold, S., Deeter, M., Vitt, F., Ryerson, T.,
Elkins, J. W., Moore, F., Spackman, J. R., and Val Martin, M.: Description
and evaluation of tropospheric chemistry and aerosols in the Community Earth
System Model (CESM1.2), Geosci. Model Dev., 8, 1395–1426,
<a href="https://doi.org/10.5194/gmd-8-1395-2015" target="_blank">https://doi.org/10.5194/gmd-8-1395-2015</a>, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>39</label><mixed-citation>Viallet, M.,  Goffrey, T.,  Baraffe, I.,  Folini, D.,   Geroux,
C., Popov, M. V., Pratt, J., and Walder, R.: A Jacobian-free Newton-Krylov
method for time-implicit multidimensional hydrodynamics-Physics-based
preconditioning for sound waves and thermal diffusion, Astron. Astrophys.,
586, 1–17, <a href="https://doi.org/10.1051/0004-6361/201527339" target="_blank">https://doi.org/10.1051/0004-6361/201527339</a>, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>40</label><mixed-citation>
Walters, D., Boutle, I., Brooks, M., Melvin, T., Stratton, R., Vosper, S.,
Wells, H., Williams, K., Wood, N., Allen, T., Bushell, A., Copsey, D.,
Earnshaw, P., Edwards, J., Gross, M., Hardiman, S., Harris, C., Heming, J.,
Klingaman, N., Levine, R., Manners, J., Martin, G., Milton, S., Mittermaier,
M., Morcrette, C., Riddick, T., Roberts, M., Sanchez, C., Selwood, P.,
Stirling, A., Smith, C., Suri, D., Tennant, W., Vidale, P. L., Wilkinson, J.,
Willett, M., Woolnough, S., and Xavier, P.: The Met Office Unified Model
Global Atmosphere 6.0/6.1 and JULES Global Land 6.0/6.1 configurations,
Geosci. Model Dev., 10, 1487–1520, <a href="https://doi.org/10.5194/gmd-10-1487-2017" target="_blank">https://doi.org/10.5194/gmd-10-1487-2017</a>,
2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>41</label><mixed-citation>
Whitehouse, L. E., Tomlin, A. S., and Pilling, M. J.: Systematic reduction of
complex tropospheric chemical mechanisms, Part I: sensitivity and time-scale
analyses, Atmos. Chem. Phys., 4, 2025–2056,
<a href="https://doi.org/10.5194/acp-4-2025-2004" target="_blank">https://doi.org/10.5194/acp-4-2025-2004</a>, 2004.
</mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>42</label><mixed-citation>Wild, O. and  Prather, M. J.: Excitation of the primary tropospheric chemical mode
in a global three dimensional model, J. Geophys. Res.-Atmos., 105,
24647–24660, 2000.
</mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>43</label><mixed-citation>Wild, O., Zhu, X. I. N., and Prather, M. J.: Fast-J: Accurate Simulation of
In- and Below-Cloud Photolysis in Tropospheric Chemical Models, J. Atmos.
Chem., 37, 245–282, 2000.

</mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>44</label><mixed-citation>Yu, S., Eder, B., Dennis, R., Chu, S., and Schwartz, S. E.: New unbiased symmetric
metrics for evaluation of air quality models, Atmos. Sci. Lett., 7, 26–34,
2006.
</mixed-citation></ref-html>--></article>
