<?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" article-type="research-article"><?xmltex \makeatother\@nolinetrue\makeatletter?><?xmltex \hack{\allowdisplaybreaks}?>
  <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-15-2731-2022</article-id><title-group><article-title>Massive-Parallel Trajectory Calculations version 2.2 (MPTRAC-2.2): Lagrangian transport simulations on <?xmltex \hack{\break}?> graphics processing units (GPUs)</article-title><alt-title>MPTRAC v2.2 – Lagrangian transport simulations on GPUs</alt-title>
      </title-group><?xmltex \runningtitle{MPTRAC v2.2 -- Lagrangian transport simulations on GPUs}?><?xmltex \runningauthor{L.~Hoffmann et al.}?>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Hoffmann</surname><given-names>Lars</given-names></name>
          <email>l.hoffmann@fz-juelich.de</email>
        <ext-link>https://orcid.org/0000-0003-3773-4377</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Baumeister</surname><given-names>Paul F.</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-2005-4474</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Cai</surname><given-names>Zhongyin</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff3">
          <name><surname>Clemens</surname><given-names>Jan</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-2422-9454</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Griessbach</surname><given-names>Sabine</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-3792-3573</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Günther</surname><given-names>Gebhard</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-4111-6221</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff4">
          <name><surname>Heng</surname><given-names>Yi</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Liu</surname><given-names>Mingzhao</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-7314-9568</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Haghighi Mood</surname><given-names>Kaveh</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-8578-4961</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Stein</surname><given-names>Olaf</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Thomas</surname><given-names>Nicole</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Vogel</surname><given-names>Bärbel</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-9763-3055</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff5 aff6">
          <name><surname>Wu</surname><given-names>Xue</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-0427-782X</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Zou</surname><given-names>Ling</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-6563-9815</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Jülich Supercomputing Centre, Forschungszentrum Jülich, Jülich, Germany</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Institute of International Rivers and Eco-security, Yunnan University, Kunming, China</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Institut für Energie- und Klimaforschung (IEK-7), Forschungszentrum Jülich, Jülich, Germany</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>School of Computer Science and Engineering, Sun Yat-sen University, Guangzhou, China</institution>
        </aff>
        <aff id="aff5"><label>5</label><institution>Key Laboratory of Middle Atmosphere and Global Environment Observation, Institute of Atmospheric Physics, <?xmltex \hack{\break}?> Chinese Academy of Sciences, Beijing, China</institution>
        </aff>
        <aff id="aff6"><label>6</label><institution>University of Chinese Academy of Sciences, Beijing, China</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Lars Hoffmann (l.hoffmann@fz-juelich.de)</corresp></author-notes><pub-date><day>5</day><month>April</month><year>2022</year></pub-date>
      
      <volume>15</volume>
      <issue>7</issue>
      <fpage>2731</fpage><lpage>2762</lpage>
      <history>
        <date date-type="received"><day>16</day><month>November</month><year>2021</year></date>
           <date date-type="rev-request"><day>1</day><month>December</month><year>2021</year></date>
           <date date-type="rev-recd"><day>8</day><month>March</month><year>2022</year></date>
           <date date-type="accepted"><day>10</day><month>March</month><year>2022</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2022 Lars Hoffmann et al.</copyright-statement>
        <copyright-year>2022</copyright-year>
      <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/15/2731/2022/gmd-15-2731-2022.html">This article is available from https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d1e240">Lagrangian models are fundamental tools to study atmospheric transport processes and for practical applications such as dispersion modeling for anthropogenic and natural emission sources. However, conducting large-scale Lagrangian transport simulations with millions of air parcels or more can become rather numerically costly. In this study, we assessed the potential of exploiting graphics processing units (GPUs) to accelerate Lagrangian transport simulations. We ported the Massive-Parallel Trajectory Calculations (MPTRAC) model to GPUs using the open accelerator (OpenACC) programming model. The trajectory calculations conducted within the MPTRAC model were fully ported to GPUs, i.e., except for feeding in the meteorological input data and for extracting the particle output data, the code operates entirely on the GPU devices without frequent data transfers between CPU and GPU memory. Model verification, performance analyses, and scaling tests of the Message Passing Interface (MPI) – Open Multi-Processing (OpenMP) – OpenACC hybrid parallelization of MPTRAC were conducted on the Jülich Wizard for European Leadership Science (JUWELS) Booster supercomputer operated by the Jülich Supercomputing Centre, Germany. The JUWELS Booster comprises 3744 NVIDIA A100 Tensor Core GPUs, providing a peak performance of 71.0 PFlop s<inline-formula><mml:math id="M1" 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>. As of June 2021, it is the most powerful supercomputer in Europe and listed among the most energy-efficient systems internationally. For large-scale simulations comprising <inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles driven by the European Centre for Medium-Range Weather Forecasts' fifth-generation reanalysis (ERA5), the performance evaluation showed a maximum speed-up of a factor of 16 due to the utilization of GPUs compared to CPU-only runs on the JUWELS Booster. In the large-scale GPU run, about 67 % of the runtime is spent on the physics calculations, conducted on the GPUs. Another 15 % of the runtime is required for file I/O, mostly to read the large ERA5 data set from disk. Meteorological data preprocessing on the CPUs also requires about 15 % of the runtime. Although this study identified potential for further improvements of the GPU code, we consider the MPTRAC model ready for production runs on the JUWELS Booster in its present form. The GPU code provides a much faster time to solution than the CPU code, which is particularly relevant for near-real-time applications of a Lagrangian transport model.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

      <?xmltex \hack{\newpage}?>
<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d1e277">Lagrangian transport models are frequently applied to study chemical and dynamical processes of the Earth's atmosphere. They have important practical applications in modeling and assessing the dispersion of anthropogenic and natural emissions from local to global scale, for instance, for air pollution <xref ref-type="bibr" rid="bib1.bibx34 bib1.bibx50" id="paren.1"/>, nuclear accidents <xref ref-type="bibr" rid="bib1.bibx2 bib1.bibx20" id="paren.2"/>, volcanic eruptions <xref ref-type="bibr" rid="bib1.bibx67 bib1.bibx14 bib1.bibx81" id="paren.3"/>, or wildfires <xref ref-type="bibr" rid="bib1.bibx24 bib1.bibx13" id="paren.4"/>. Concerning studies of atmospheric dynamics of the free troposphere and stratosphere, Lagrangian transport models have been used, for instance, to assess the circulation of the troposphere and stratosphere <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx47 bib1.bibx65" id="paren.5"/>, stratosphere–troposphere exchange <xref ref-type="bibr" rid="bib1.bibx86 bib1.bibx41 bib1.bibx79" id="paren.6"/>, mixing of air <xref ref-type="bibr" rid="bib1.bibx45 bib1.bibx46 bib1.bibx82" id="paren.7"/>, and large-scale features of the atmospheric circulation, such as the polar vortex <xref ref-type="bibr" rid="bib1.bibx29 bib1.bibx89" id="paren.8"/> or the Asian monsoon anticyclone <xref ref-type="bibr" rid="bib1.bibx3 bib1.bibx83 bib1.bibx51" id="paren.9"/>.</p>
      <p id="d1e308">A wide range of Lagrangian transport models has been developed for research studies and operational applications during the past decades <xref ref-type="bibr" rid="bib1.bibx22 bib1.bibx60 bib1.bibx59 bib1.bibx55 bib1.bibx80 bib1.bibx42 bib1.bibx77 bib1.bibx76 bib1.bibx64" id="paren.10"/>. While Eulerian models represent fluid flows in the atmosphere based on the flow between regular grid boxes of the model, Lagrangian models represent the transport of trace gases and aerosols based on large sets of air parcel trajectories following the fluid flow. Both approaches have distinct advantages and disadvantages. Lagrangian models are particularly suited to study fine-scale structures, filamentary transport, and mixing processes in the atmosphere, as their spatial resolution is not inherently limited to the resolution of Eulerian grid boxes and numerical diffusion is particularly low for these models. However, Lagrangian transport simulations may become rather costly because subgrid-scale processes, such as diffusion and mesoscale wind fluctuations, need to be represented in a statistical sense, i.e., by adding stochastic perturbations to large sets of air parcel trajectories.</p>
      <p id="d1e314">In this study, the Massive-Parallel Trajectory Calculations (MPTRAC) model is applied to exploit the potential of conducting Lagrangian transport simulations on graphics processing units (GPUs). MPTRAC was first described by <xref ref-type="bibr" rid="bib1.bibx36" id="text.11"/>, discussing Lagrangian transport simulations for volcanic eruptions with different meteorological data sets. <xref ref-type="bibr" rid="bib1.bibx31" id="text.12"/> and <xref ref-type="bibr" rid="bib1.bibx56" id="text.13"/> discussed inverse transport modeling to estimate volcanic sulfur dioxide emissions from the Nabro eruption in 2011 based on large-scale simulations with MPTRAC. <xref ref-type="bibr" rid="bib1.bibx91 bib1.bibx92" id="text.14"/> conducted case studies on global transport of volcanic sulfur dioxide emissions of Sarychev Peak in 2009 and Mount Merapi in 2010. <xref ref-type="bibr" rid="bib1.bibx9" id="text.15"/> studied the Raikoke volcanic eruption in June 2019. <xref ref-type="bibr" rid="bib1.bibx93" id="text.16"/> applied MPTRAC to study aerosol variations in the upper troposphere and lower stratosphere over the Tibetan Plateau. <xref ref-type="bibr" rid="bib1.bibx75" id="text.17"/> used the model to assess the contribution of Asian emissions to upper tropospheric carbon monoxide over the remote Pacific. <xref ref-type="bibr" rid="bib1.bibx37" id="text.18"/> presented an intercomparison of meteorological analyses and trajectories in the Antarctic lower stratosphere with Concordiasi superpressure balloon observations. <xref ref-type="bibr" rid="bib1.bibx72" id="text.19"/> investigated the accuracy and computational efficiency of different integration schemes to solve the trajectory equation with MPTRAC. Based on the given applications, MPTRAC is designed primarily to study large-scale atmospheric transport in the free troposphere and stratosphere. Applications of the model to the planetary boundary layer are limited as MPTRAC lacks more sophisticated parameterizations of turbulence and mixing required for that region.</p>
      <p id="d1e345">The idea of using specialized computation units for scientific computing goes back to the early 1980s when co-processors like Intel's 8087 and 8231 were introduced. It is more than 20 years since graphics processing units (GPUs) were leveraged for non-graphical general-purpose calculations <xref ref-type="bibr" rid="bib1.bibx35" id="paren.20"/> and a decade since the first GPU-accelerated cluster appeared on the top 500 list of supercomputers <xref ref-type="bibr" rid="bib1.bibx19" id="paren.21"/>. Today, 6 of the 10 fastest supercomputers on the top 500 list and 9 out of 10 on the green 500 list are GPU-accelerated machines. Most of the pre-exascale systems <xref ref-type="bibr" rid="bib1.bibx11 bib1.bibx12" id="paren.22"/>, and likely the first exascale machine will be accelerated by GPUs <xref ref-type="bibr" rid="bib1.bibx17 bib1.bibx18 bib1.bibx57" id="paren.23"/>. Besides energy efficiency, the software and hardware maturity contributed to the popularity of GPUs. GPUs are not only interesting high-performance computing (HPC) research topics anymore but also essential workhorses for modern scientific computing.</p>
      <p id="d1e361">Large-scale and long-term Lagrangian transport simulations for climate studies or inverse modeling applications can become very compute-intensive <xref ref-type="bibr" rid="bib1.bibx31 bib1.bibx56" id="paren.24"/>. The benefits of parallel computing to accelerate Lagrangian transport simulations have been assessed in several studies <xref ref-type="bibr" rid="bib1.bibx42 bib1.bibx7 bib1.bibx64" id="paren.25"/>. The aim of the present study is to investigate the potential of using GPUs for accelerating Lagrangian transport simulations, a topic first explored by <xref ref-type="bibr" rid="bib1.bibx61" id="text.26"/>. Related efforts to solve the advection–diffusion equation for a 3-D time-dependent Eulerian model on GPUs have been reported by <xref ref-type="bibr" rid="bib1.bibx16" id="text.27"/>. The Centre for Global Environmental Research at the National Institute for Environmental Studies, Japan, published online a Lagrangian particle dispersion model based on parts of the FLEXible PARTicle (FLEXPART) model <xref ref-type="bibr" rid="bib1.bibx80 bib1.bibx64" id="paren.28"/>, reporting that performance can be improved by more than 20 times by using a multi-core CPU with an NVIDIA GPU <xref ref-type="bibr" rid="bib1.bibx10" id="paren.29"/>.</p>
      <p id="d1e383">GPUs bear the potential to not only calculate the solutions of Lagrangian transport problems more quickly but also obtain them in a much more energy-efficient manner. For this study, we ported our existing Lagrangian transport model MPTRAC to GPUs by means of the open accelerator (OpenACC) programming model. Next to offloading calculations to GPUs, the code is also capable of distributing computing tasks employing the Message Passing Interface (MPI) over the compute nodes and the Open Multi-Processing (OpenMP) over the CPU cores of a heterogeneous supercomputer. A detailed evaluation and performance assessment of MPTRAC on GPUs was conducted on the Jülich Wizard for European Leadership Science (JUWELS) system <xref ref-type="bibr" rid="bib1.bibx43" id="paren.30"/> at the Jülich Supercomputing Centre, Germany.</p>
      <p id="d1e389">Lagrangian transport simulations are often driven by global meteorological reanalyses or forecast data sets. The MPTRAC model has been used with the National Centers for Environmental Prediction and National Center for Atmospheric Research (NCEP/NCAR) reanalysis 1 <xref ref-type="bibr" rid="bib1.bibx44" id="paren.31"/>, the National Aeronautics and Space Administration (NASA) Modern-Era Retrospective analysis for Research and Applications <xref ref-type="bibr" rid="bib1.bibx69 bib1.bibx26" id="paren.32"/> as well as the European Centre for Medium-Range Weather Forecasts (ECMWF) ERA-Interim reanalysis <xref ref-type="bibr" rid="bib1.bibx15" id="paren.33"/> and operational analyses. More recently, we also applied ECMWF's fifth-generation reanalysis, ERA5 <xref ref-type="bibr" rid="bib1.bibx32" id="paren.34"/>, to drive simulations with the MPTRAC model. Providing hourly data at 31 km horizontal resolution on 137 vertical levels from the surface up to 0.01 hPa (about 80 km of height) on a global scale, ERA5 poses a particular challenge for Lagrangian transport modeling due to the large amount of data that needs to be handled <xref ref-type="bibr" rid="bib1.bibx38" id="paren.35"/>. In this study, we conducted the model verification and performance analyses of MPTRAC with ERA5 data, as this is the data set we intend to mainly use in future works, to benefit from high resolution and other improvements of the forecasting model and data assimilation scheme. It also needs to be taken into account that the production of ERA-Interim stopped in August 2019 in favor of ERA5.</p>
      <p id="d1e407">We provide a comprehensive description of the MPTRAC model in Sect. <xref ref-type="sec" rid="Ch1.S2"/> of this paper. Next to describing the different implemented algorithms and the requirements and options for model input and output data, we discuss the parallelization strategy and the porting of the code to GPUs in more detail. Model verification as well as performance and scaling analyses are discussed in Sect. <xref ref-type="sec" rid="Ch1.S3"/>. As the CPU code of MPTRAC was already verified in earlier studies, we mainly focus on the direct comparisons of CPU and GPU calculations in the present work. The model evaluation covers comparisons of both individual kinematic trajectory calculations and global simulations of synthetic tracer distributions, including the effects of diffusion, convection, and chemical lifetime. We assessed the performance and scaling of all three components of the MPI–OpenMP–OpenACC hybrid parallelization on a single device and in a multi-GPU setup. Section <xref ref-type="sec" rid="Ch1.S4"/> provides the summary and conclusions of this study.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Model description</title>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Overview on model features and code structure</title>
      <p id="d1e431">Figure <xref ref-type="fig" rid="Ch1.F1"/> provides a simplified overview on the code structure and most of the features of the MPTRAC model. The call graph shown here was derived automatically from the C code of MPTRAC by means of the <monospace>cflow</monospace> tool, but it has been edited and strongly simplified in order to present only the most relevant features. Following the input–process–output (IPO) pattern, the call graph reveals the principle input functions (<monospace>read_*</monospace>), the processing functions (<monospace>module_*</monospace>), and the output functions (<monospace>write_*</monospace>) of MPTRAC.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F1"><?xmltex \currentcnt{1}?><?xmltex \def\figurename{Figure}?><label>Figure 1</label><caption><p id="d1e450">Call graph of the most relevant functions of the MPTRAC model. The individual functions are sorted following the IPO approach; see text for details. Black boxes highlight parts of the code that are ported to GPUs.</p></caption>
          <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f01.png"/>

        </fig>

      <p id="d1e459">Three main input functions are available, i.e., <monospace>read_ctl</monospace> to read the model control parameters, <monospace>read_atm</monospace> to read the initial particle data, and <monospace>read_met</monospace> to read the meteorological input data. The <monospace>read_met</monospace> function further splits into functions that deal directly with reading of the meteorological data files (<monospace>read_met_grid</monospace>, <monospace>read_met_levels</monospace>, and <monospace>read_met_surface</monospace>), extrapolation and sampling of the meteorological data (<monospace>read_met_extrapolate</monospace>, <monospace>read_met_periodic</monospace>, <monospace>read_met_sample</monospace>, and <monospace>read_met_detrend</monospace>), and the calculation of additional meteorological variables (<monospace>read_met_geopot</monospace>, <monospace>read_met_pv</monospace>, <monospace>read_met_pbl</monospace>, <monospace>read_met_tropo</monospace>, <monospace>read_met_cloud</monospace>, and <monospace>read_met_cape</monospace>), also referred to as meteorological data preprocessing in this work. Although the additional meteorological variables are often available directly via the meteorological input data files, the MPTRAC model allows users to recalculate these data consistently from different meteorological input data sets. The MPTRAC model input data are further discussed in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>.</p>
      <p id="d1e519">The processing functions of MPTRAC provide the capabilities to calculate kinematic trajectories of the particles using given <inline-formula><mml:math id="M3" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula> velocities (<monospace>module_advection</monospace>) and to add stochastic perturbations to the trajectories to simulate the effects of diffusion and subgrid-scale wind fluctuations (<monospace>module_diffusion_turb</monospace> and <monospace>module_diffusion_meso</monospace>). The functions <monospace>module_convection</monospace> and <monospace>module_ sedi</monospace> may alter the particle positions along the trajectories by simulating the effects of unresolved convection and sedimentation. The function <monospace>module_isosurf</monospace> allows us to vertically constrain the particle positions to different types of isosurfaces. The function <monospace>module_position</monospace> enforces the particle to remain within the boundaries of the model domain. The function <monospace>module_meteo</monospace> allows us to sample the meteorological data along the trajectories at fixed time intervals. The functions <monospace>module_decay</monospace>, <monospace>module_oh_chem</monospace>, <monospace>module_dry_deposition</monospace>, <monospace>module_wet_deposition</monospace>, and <?xmltex \hack{\newline}?> <monospace>module_bound_cond</monospace> affect the mass or volume mixing ratios of the particles based on a given <inline-formula><mml:math id="M4" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula>-folding lifetime, chemical decomposition by the hydroxyl radical, dry and wet deposition, or by enforcing boundary conditions, respectively. Most of the chemistry and physics modules are presented in more detail in Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/>.</p>
      <p id="d1e581">Finally, the model output is directed via a generic function (<monospace>write_output</monospace>) towards individual functions that can be used to write particle data (<monospace>write_atm</monospace>), gridded data (<monospace>write_grid</monospace>), or ensemble data for groups of particles (<monospace>write_ens</monospace>). The functions <monospace>write_csi</monospace>, <monospace>write_prof</monospace>, <monospace>write_sample</monospace>, and <monospace>write_station</monospace> can be used to sample the model data in specific manners to enable comparisons with observational data, such as satellite measurements or data from measurement stations. The model output is further discussed in Sect. <xref ref-type="sec" rid="Ch1.S2.SS4"/>.</p>
      <p id="d1e611">All the processing functions (<monospace>module_*</monospace>) are highlighted in Fig. <xref ref-type="fig" rid="Ch1.F1"/> to indicate that they have been ported to GPUs in the present work. Porting these processing functions to GPUs is the natural choice as these functions typically require most of the computing time, in particular for simulations with many particles. The input and output functions cannot easily be ported to GPUs as the input and output operations are directed over the CPUs and utilize CPU memory in the first place. The approach used for porting the physics and chemistry modules to GPUs and the parallelization strategy of MPTRAC are discussed in more detail in Sect. <xref ref-type="sec" rid="Ch1.S2.SS5"/>.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Model input data</title>
<sec id="Ch1.S2.SS2.SSS1">
  <label>2.2.1</label><title>Initial air parcel positions</title>
      <p id="d1e636">In order to enable trajectory calculations, MPTRAC requires an input file providing the initial positions of the air parcels. The initial positions are defined in terms of time, log-pressure height, longitude, and latitude.  Internally, MPTRAC applies pressure as its vertical coordinate. For convenience, the initial pressure <inline-formula><mml:math id="M5" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> is specified in terms of a log-pressure height <inline-formula><mml:math id="M6" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> obtained from the barometric formula, <inline-formula><mml:math id="M7" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mi>exp⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>z</mml:mi><mml:mi>H</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>,
with a fixed reference pressure <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1013.25</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> and scale height <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">7</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>. Longitude and latitude refer to a spherical Earth approximation, with a constant radius of curvature of <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">E</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6367.421</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d1e741">Internally, MPTRAC uses the time in seconds since 1 January 2000, 00:00 UTC as its time coordinate. Tools are provided along with the model to convert the internal time from and to UTC time format. The internal time step <inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> of the model simulations can be adjusted via a control flag. MPTRAC allows for arbitrary start and end times of the trajectories by adjusting (shortening) the initial and the final time steps to synchronize with the internal model time steps <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>. A control flag is provided to specify whether the model should conduct the trajectory calculations forward or backward in time.</p>
      <p id="d1e764">Unless the initial positions of the trajectories are derived from measurements, a set of tools provided with MPTRAC can be used to create initial air parcel files.  The tool <monospace>atm_init</monospace> creates a regular grid of air parcel positions in time, log-pressure height, longitude, and latitude.  Around each grid point and time, the tool can create random distributions of multiple particles by applying either uniform distributions with given widths or normal distributions with given standard deviations. The total mass of all air parcels can be specified, which is distributed equally over all air parcels. Alternatively, a fixed volume mixing ratio for each air parcel can be specified. With this tool, initializations for a wide range of sources (e.g., point source, vertical column, surface, or volume source) with spontaneous or continuous emissions can be created.</p>
      <p id="d1e770">A tool to modify air parcel positions is <monospace>atm_split</monospace>. It can be used to create a larger set of air parcel positions based on randomized resampling from a given, smaller set of air parcel positions. It splits the initial small set into a larger set of air parcels. The total number of air parcels that is desired for the large set can be specified, which is helpful  because it provides control over the computational time needed for a simulation. The probability by which an air parcel is selected during the resampling can be weighted by its mass. The total mass of the initial air parcels can be retained or adjusted during the resampling process. During the resampling process, uniform or Gaussian stochastic perturbations in space and time can be applied to the air parcel positions. These stochastic perturbations can be used to spread the air parcels over a larger volume, which might represent the measurement volume covered by an instrument, for example. Finally, a vertical weighting function can be applied in the resampling process in order to redistribute the air parcel positions to follow the vertical sensitivity of a satellite sounder, for instance.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS2">
  <label>2.2.2</label><title>Requirements and preprocessing of meteorological input data</title>
      <p id="d1e784">Next to the particle positions, the other main input data required by MPTRAC are meteorological data from a global forecasting or reanalysis system. At a minimum, MPTRAC requires 3-D fields of temperature <inline-formula><mml:math id="M13" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, zonal wind <inline-formula><mml:math id="M14" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula>, and meridional wind <inline-formula><mml:math id="M15" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula>. The vertical velocity <inline-formula><mml:math id="M16" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula>, specific humidity <inline-formula><mml:math id="M17" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula>, ozone mass mixing ratio <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, cloud liquid water content (CLWC), cloud rain water content (CRWC), cloud ice water content (CIWC), and cloud snow water content (CSWC) are optional but often needed for specific applications. The model also requires the surface pressure <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> or log-surface pressure <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>ln⁡</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and the geopotential height at the surface <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to be provided as 2-D fields. Optionally, near-surface temperature <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mtext>2 m</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> and near-surface winds <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mtext>10 m</mml:mtext></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mtext>10 m</mml:mtext></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> can be ingested from the input files.</p>
      <p id="d1e911">The model requires the input data in terms of separate NetCDF files at regular time steps. The meteorological data have to be provided on a regular horizontal latitude <inline-formula><mml:math id="M24" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> longitude grid. The model internally uses pressure <inline-formula><mml:math id="M25" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> as its vertical coordinate; i.e., the meteorological data should be provided on pressure levels. However, the model can also ingest meteorological data on other types of vertical levels, e.g., hybrid sigma vertical coordinates <inline-formula><mml:math id="M26" display="inline"><mml:mi mathvariant="italic">η</mml:mi></mml:math></inline-formula> as used by ECMWF's Integrated Forecast System (IFS). In this case, the model requires <inline-formula><mml:math id="M27" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> as a 3-D coordinate on the input model levels in order to facilitate vertical interpolation of the data to a given list of pressure levels for further use in the model.</p>
      <p id="d1e942">Once the mandatory and optional meteorological input variables have been read in from disk, MPTRAC provides the capability to calculate additional meteorological variables from the input data. This includes the options to calculate geopotential heights, potential vorticity, the tropopause height, cloud properties such as cloud layer depth and total column cloud water, the convective available potential energy (CAPE), and the planetary boundary layer (PBL). Having the option to calculate these additional meteorological data directly in the model helps to reduce the disk space needed to save them as input data. This is particularly relevant for large input data sets such as ERA5. It is also an advantage in terms of consistency, if the same algorithms can be applied to infer the additional meteorological variables from different meteorological data sets. The algorithms and selected examples on the meteorological data preprocessing are presented in the Supplement of this paper.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS3">
  <label>2.2.3</label><title>Boundary conditions for meteorological data</title>
      <p id="d1e953">The upper boundary of the model is defined by the lowest pressure level of the meteorological input data. The lower boundary of the model is defined by the 2-D surface pressure field <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> at a given time. If an air parcel leaves the pressure range covered by the model during the trajectory calculations, it will be pushed back to the lower or upper boundary of the model, respectively. Therefore, the particles will follow the horizontal wind and slide along the surface or the upper boundary until they encounter an up- or downdraft, respectively. For the surface, this approach follows <xref ref-type="bibr" rid="bib1.bibx21" id="text.36"/>. The next release of the MPTRAC model will provide a new option to alternatively reflect particles at the top and bottom boundaries, in order to avoid accumulation of particles at the boundaries.</p>
      <p id="d1e970">We recognize that pressure might not be the best choice for the vertical coordinate of a Lagrangian model, in particular for the boundary layer, because a broad range of surface pressure variations needs to be represented appropriately by a fixed set of pressure levels. However, as the scope of MPTRAC is on applications covering the free troposphere and the stratosphere, we consider the limitation of having reduced vertical resolution in terms of pressure levels near the surface acceptable for now. The next release of MPTRAC will allow the user to choose between pressure and the isentropic-sigma hybrid coordinate (<inline-formula><mml:math id="M29" display="inline"><mml:mi mathvariant="italic">ζ</mml:mi></mml:math></inline-formula>) of <xref ref-type="bibr" rid="bib1.bibx58" id="text.37"/> as vertical coordinate.</p>
      <p id="d1e983">For global meteorological data sets, MPTRAC applies periodic boundary conditions in longitude. During the trajectory calculations, air parcels may sometimes cross either the pole or the longitudinal boundary of the meteorological data. If an air parcel crosses the North or South Pole, its longitude will be shifted by 180<inline-formula><mml:math id="M30" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> and the latitude will be recalculated to match the <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">90</mml:mn></mml:mrow></mml:math></inline-formula><inline-formula><mml:math id="M32" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> latitude range, accordingly. If an air parcel leaves the longitude range, it will be repositioned by a shift of 360<inline-formula><mml:math id="M33" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> to fit the range again. The model works with both meteorological data provided at <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">180</mml:mn></mml:mrow></mml:math></inline-formula><inline-formula><mml:math id="M35" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>…<inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">180</mml:mn></mml:mrow></mml:math></inline-formula><inline-formula><mml:math id="M37" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> or 0<inline-formula><mml:math id="M38" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>… 360<inline-formula><mml:math id="M39" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> of longitude. Following <xref ref-type="bibr" rid="bib1.bibx80" id="text.38"/>, we mirror data from the western boundary at the eastern boundary of the model, in order to achieve full coverage of the 360<inline-formula><mml:math id="M40" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> longitude range and to avoid extrapolation of the meteorological input data.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS4">
  <label>2.2.4</label><title>Interpolation and sampling of meteorological data</title>
      <p id="d1e1097">In MPTRAC, 4-D linear interpolation is applied to sample the meteorological data at any given position and time. Although higher-order interpolation schemes may achieve better accuracy, linear interpolation is considered a standard choice in Lagrangian particle dispersion models <xref ref-type="bibr" rid="bib1.bibx5" id="paren.39"/>. The approach requires that two time steps of the meteorological input data are kept in memory at each time. Higher-order interpolation schemes in time would require more time steps of the input data and would therefore require more memory.</p>
      <p id="d1e1103">Following the memory layout of the data structures used for the meteorological input data in our code and to make efficient use of memory caches, the linear interpolations are conducted first in pressure, followed by latitude and longitude, and finally in time. Interpolations can be conducted for a single variable or all the meteorological data at once. Two separate index look-up functions are implemented for regularly gridded data (longitude and latitude) and for irregularly gridded data (pressure). Interpolation weights are kept in caches to improve efficiency of the calculations.</p>
      <p id="d1e1106">For various studies, it is interesting to investigate the sensitivity of the results with respect to the spatial and temporal resolution of the meteorological input data. For instance, <xref ref-type="bibr" rid="bib1.bibx38" id="text.40"/> assessed the sensitivity of Lagrangian transport simulations for the free troposphere and stratosphere with respect to downsampled versions of the ERA5 reanalysis data set. To enable such studies, we implemented an option for spatial downsampling of the meteorological input data. The downsampling is conducted in two steps. In the first step, the full resolution data are smoothed by applying triangular filters in the respective dimensions. Smoothing of the data is required in order to avoid aliasing effects. In the second step, the data are downsampled by selecting only each <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>l</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>th grid point in longitude, latitude, and pressure, respectively.</p>
      <p id="d1e1132">Note that downsampling has not been implemented rigorously for the time domain. Nevertheless, the user can specify the time interval at which the meteorological input data should be ingested. If filtering of the downsampled data is required, downsampling in time needs to be done externally by the user by applying tools such as the Climate Data Operators (CDO) <xref ref-type="bibr" rid="bib1.bibx74" id="paren.41"/> to preprocess the input data of different time steps accordingly. In any case, it needs to be carefully considered whether the meteorological input data represent instantaneous or time-averaged diagnostics at the given time steps of the data.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Chemistry and physics modules</title>
<sec id="Ch1.S2.SS3.SSS1">
  <label>2.3.1</label><title>Advection</title>
      <p id="d1e1154">The advection of an air parcel, i.e., the position <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at time <inline-formula><mml:math id="M43" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> for a given wind and velocity field <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, is given by the trajectory equation,
              <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M45" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="bold-italic">x</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">v</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            Here, the position <inline-formula><mml:math id="M46" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula> is provided in a meteorological coordinate system, <inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, with longitude <inline-formula><mml:math id="M48" display="inline"><mml:mi mathvariant="italic">λ</mml:mi></mml:math></inline-formula>, latitude <inline-formula><mml:math id="M49" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula>, and pressure <inline-formula><mml:math id="M50" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>. The velocity vector <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>v</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is composed of the zonal wind component <inline-formula><mml:math id="M52" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula>, the meridional wind component <inline-formula><mml:math id="M53" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula>, and the vertical velocity <inline-formula><mml:math id="M54" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula>, respectively. Based on its accuracy and computational efficiency for trajectory calculations <xref ref-type="bibr" rid="bib1.bibx72" id="paren.42"/>, we apply the explicit midpoint method to solve the trajectory equation,
              <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M55" display="block"><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mfenced open="{" close="}"><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mfenced open="[" close="]"><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            The model time step <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> controls the trade-off between the accuracy of the solution and the computational effort. Similar to the Courant–Friedrichs–Lewy (CFL) condition, <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> should, in general, be selected such that the steps <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> remain smaller than the grid box size of the meteorological data. MPTRAC will issue a warning, if <inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>&gt;</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">met</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">E</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for a longitudinal grid spacing <inline-formula><mml:math id="M60" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi mathvariant="italic">λ</mml:mi><mml:mi mathvariant="normal">met</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of the meteorological data, the mean radius of Earth <inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">E</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and a maximum zonal wind speed, <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">150</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>. A default time step <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">180</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> has been selected to match the effective horizontal resolution of <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">31</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> of ECMWF's ERA5 reanalysis.</p>
      <p id="d1e1606">Calculations of the numerical solution of the trajectory equation require coordinate transformations between Cartesian coordinate distances <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and spherical coordinate distances <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>p</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>,

                  <disp-formula specific-use="align" content-type="numbered"><mml:math id="M67" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E3"><mml:mtd><mml:mtext>3</mml:mtext></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">E</mml:mi></mml:msub><mml:mi>cos⁡</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E4"><mml:mtd><mml:mtext>4</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">E</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E5"><mml:mtd><mml:mtext>5</mml:mtext></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

              The vertical coordinate transformation between <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:math></inline-formula> uses an average scale height of <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">7</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>. However, note that the vertical transformation is currently not needed to solve Eq. (<xref ref-type="disp-formula" rid="Ch1.E2"/>), because the vertical velocity is already provided in terms of pressure change, <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:mi mathvariant="italic">ω</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi><mml:mo>/</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:mi>p</mml:mi></mml:mrow></mml:math></inline-formula>, in the meteorological data. The transformation is reported here for completeness, as it is required in other parts of the model. For convenience, we assume <inline-formula><mml:math id="M72" display="inline"><mml:mi mathvariant="italic">λ</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M73" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> to be given in radians; i.e., scaling factors of <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">180</mml:mn></mml:mrow></mml:math></inline-formula><inline-formula><mml:math id="M75" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> and 180<inline-formula><mml:math id="M76" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:mo>/</mml:mo><mml:mi mathvariant="italic">π</mml:mi></mml:mrow></mml:math></inline-formula> to convert from degrees to radians, and vice versa, do not need to be introduced here.</p>
      <p id="d1e1884">The coordinate transformation between <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) bears numerical problems due to the singularities near the poles. Although this problem might be solved by means of a change to a more suitable coordinate system at high latitudes, we implemented a rather simple solution. Near the poles, for <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>|</mml:mo><mml:mo>&gt;</mml:mo><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, we discard the longitudinal distance <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">λ</mml:mi></mml:mrow></mml:math></inline-formula> calculated from Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) and use <inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> instead. The high-latitude threshold was set to <inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">max</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">89.999</mml:mn></mml:mrow></mml:math></inline-formula><inline-formula><mml:math id="M84" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula>, a distance of about 110 m from the poles, following an assessment of its effect on trajectory calculations conducted by <xref ref-type="bibr" rid="bib1.bibx71" id="text.43"/>.</p>
      <p id="d1e1981">As an example, Fig. <xref ref-type="fig" rid="Ch1.F2"/> shows the results of kinematic trajectory calculations for particles located in the vicinity of the Northern Hemisphere subtropical jet (case A) and the Southern Hemisphere polar jet (case B) in January 2017 using ERA5 data for input. The trajectories were launched at (33.5<inline-formula><mml:math id="M85" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> N, 165<inline-formula><mml:math id="M86" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> W) at 11.25 km log-pressure altitude for the subtropical jet and at (57.5<inline-formula><mml:math id="M87" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> S, 165<inline-formula><mml:math id="M88" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> W) at 8.5 km of log-pressure altitude for the polar jet on 1 January 2017, 00:00 UTC, respectively. The trajectory seeds are located close to the horizontal wind speed maxima at 165<inline-formula><mml:math id="M89" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> W in the upper troposphere and lower stratosphere at the given time. In both cases, the trajectories nearly circumvent the Earth during the time period of 8 d covered by the trajectory calculations. Significant horizontal meandering and height oscillations with the jet streams are revealed. The trajectories were calculated with the explicit midpoint method and a default integration time step of 180 s. Varying the time step between 45, 90, 180, 360, and 720 s did not reveal any significant deviations of the results (not shown).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F2"><?xmltex \currentcnt{2}?><?xmltex \def\figurename{Figure}?><label>Figure 2</label><caption><p id="d1e2035">Trajectory calculations for the Northern Hemisphere subtropical jet (case A) and the Southern Hemisphere polar jet (case B) from 1 January 2017, 00:00 UTC, to 9 January 2017, 00:00 UTC. Trajectories were launched at positions A and B at log-pressure altitudes of 11.25 and 8.5 km, respectively. Calculations used hourly ERA5 horizontal winds and vertical velocity data for input. Black curves show trajectories calculated without diffusion. Black dots indicate 24 h time intervals. Colored dots show calculations for two sets of 1000 trajectories for cases A and B with turbulent diffusion and subgrid-scale wind fluctuations being considered.</p></caption>
            <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f02.png"/>

          </fig>

</sec>
<sec id="Ch1.S2.SS3.SSS2">
  <label>2.3.2</label><title>Turbulent diffusion</title>
      <p id="d1e2052">Rather complex parametrizations of atmospheric diffusivity are available for the planetary boundary layer <xref ref-type="bibr" rid="bib1.bibx21 bib1.bibx80" id="paren.44"><named-content content-type="pre">e.g.,</named-content></xref>, which have not been implemented in MPTRAC, so far. Much less is known about the diffusivities in the free troposphere and in the stratosphere, which are in the scope of our model. In MPTRAC, the effects of atmospheric diffusion are simulated by adding stochastic perturbations to the positions <inline-formula><mml:math id="M90" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula> of the air parcels at each time step <inline-formula><mml:math id="M91" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> of the model,
              <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M92" display="block"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>D</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:msqrt><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            This method requires a vector <inline-formula><mml:math id="M93" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">ξ</mml:mi><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> of random variates to be drawn from the standard normal distribution for each air parcel at each time step. The vector of diffusivities <inline-formula><mml:math id="M94" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">D</mml:mi><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is composed of the horizontal diffusivity <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the vertical diffusivity <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The model allows us to specify <inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M98" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> separately for the troposphere and stratosphere as control parameters. The following choices are made for the FLEXPART model <xref ref-type="bibr" rid="bib1.bibx80" id="paren.45"/>: default values of <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> are selected for the troposphere and <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> are selected for the stratosphere. Diffusivities will therefore change, if an air parcel intersects the tropopause.  A smooth transition between tropospheric and stratospheric diffusivities is created by linear interpolation of <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> within a <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> log-pressure altitude range around the tropopause.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS3">
  <label>2.3.3</label><title>Subgrid-scale wind fluctuations</title>
      <p id="d1e2394">In addition to turbulent diffusion, the effects of unresolved subgrid-scale winds, also referred to as mesoscale wind perturbations, are considered. The starting point for this approach is the separation of the horizontal wind and vertical velocity vector <inline-formula><mml:math id="M106" display="inline"><mml:mi mathvariant="bold-italic">v</mml:mi></mml:math></inline-formula> into the grid-scale mean <inline-formula><mml:math id="M107" display="inline"><mml:mover accent="true"><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:mover></mml:math></inline-formula> and the subgrid-scale perturbations <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>,
              <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M109" display="block"><mml:mrow><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>=</mml:mo><mml:mover accent="true"><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:mover><mml:mo>+</mml:mo><mml:msup><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            It is further assumed that the mean wind <inline-formula><mml:math id="M110" display="inline"><mml:mover accent="true"><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo mathvariant="normal">¯</mml:mo></mml:mover></mml:math></inline-formula> is given by the coarse-grid meteorological data, whereas the wind perturbations <inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> need to be parameterized. The subgrid-scale wind perturbations are calculated by
means of the Langevin equation,

                  <disp-formula specific-use="align" content-type="numbered"><mml:math id="M112" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E8"><mml:mtd><mml:mtext>8</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mo>′</mml:mo></mml:msubsup><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>r</mml:mi><mml:msubsup><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mo>′</mml:mo></mml:msubsup><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msup><mml:mi>r</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msqrt><mml:mo>(</mml:mo><mml:mi>f</mml:mi><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">ξ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E9"><mml:mtd><mml:mtext>9</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">met</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

              From a mathematical point of view, this is a Markov chain or a random walk, which adds temporally correlated stochastic perturbations to the winds over time. The degree of correlation depends on the correlation coefficient <inline-formula><mml:math id="M113" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>, and therefore on the time step <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> of the model and the time step <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">met</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of the meteorological data. The variance <inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>f</mml:mi><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> of the random component added at each time step depends on the grid-scale variance <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> of the horizontal wind and vertical velocity data and a scaling factor <inline-formula><mml:math id="M118" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula>, which is used for downscaling to the subgrid scale. The scaling factor <inline-formula><mml:math id="M119" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> needs to be specified as a control parameter of the model. The default value is <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">40</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula>, following a choice made for the FLEXPART model <xref ref-type="bibr" rid="bib1.bibx80" id="paren.46"/>. For each air parcel, the grid-scale variance <inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>i</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> is calculated from the neighboring eight grid boxes and two time steps of the meteorological data. To make computations more efficient, the grid-scale variance of each parcel is kept in a cache. As before, <inline-formula><mml:math id="M122" display="inline"><mml:mi mathvariant="bold-italic">ξ</mml:mi></mml:math></inline-formula> is a vector of random variates to be drawn from the standard normal distribution.</p>
      <p id="d1e2710">Figure <xref ref-type="fig" rid="Ch1.F3"/> shows zonal means of the grid-scale standard deviations of the horizontal wind and the vertical velocity of ERA5 data for 1 January 2017. Although they are treated separately in the parametrization, we here combined the zonal and meridional wind components for convenience, noting that the standard deviations of the horizontal wind are largely dominated by the zonal wind component. The grid-scale standard deviations of the horizontal wind become as large 20 m s<inline-formula><mml:math id="M123" 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> in the tropical mesosphere. The vertical velocity standard deviations are largest (up to 0.08 m s<inline-formula><mml:math id="M124" 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>) at the Northern Hemisphere midlatitude stratopause. Standard deviations are generally much lower in the troposphere and the lower stratosphere. However, some pronounced features of the horizontal wind (up to 3 m s<inline-formula><mml:math id="M125" 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>) are found at the tropopause in the tropics and at northern and southern midlatitudes and for the vertical velocities (up to 0.02 m s<inline-formula><mml:math id="M126" 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>) in the tropical and midlatitude upper troposphere. The parameterized subgrid-scale wind fluctuations vary significantly with time and location and the atmospheric background conditions.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F3"><?xmltex \currentcnt{3}?><?xmltex \def\figurename{Figure}?><label>Figure 3</label><caption><p id="d1e2765">The contour surfaces show the zonal mean standard deviations of <bold>(a)</bold> the grid-scale horizontal wind and <bold>(b)</bold> the grid-scale vertical velocity on 1 January 2017 as calculated by MPTRAC from ERA5 data. Gray curves show positive (solid) and negative (dashed) zonal mean zonal wind at levels of <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula>, 30, 40, 50, 60, 70, 80 m s<inline-formula><mml:math id="M128" 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>, respectively. The black curve shows the zonal mean dynamical tropopause.</p></caption>
            <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f03.png"/>

          </fig>

      <p id="d1e2803">Figure <xref ref-type="fig" rid="Ch1.F2"/> illustrates the effects of the simulated turbulent diffusion and the subgrid-scale winds on the trajectories calculated for the jet streams. Sets of 1000 particles were released at the same starting point for both cases. The trajectory sets reveal significant horizontal and vertical spread over time. The spread mostly increases in regions where the jets are meandering and where notable horizontal and vertical wind shears are present. We calculated absolute horizontal and vertical transport deviations (AHTDs and AVTDs; see Sect. <xref ref-type="sec" rid="Ch1.S2.SS4.SSS3"/>) in order to quantify the effects of simulated diffusion and subgrid-scale wind fluctuations on the jet stream trajectory calculations. Results for case A, the Northern Hemisphere subtropical jet, are shown in Fig. <xref ref-type="fig" rid="Ch1.F4"/>. The analysis of the transport deviations showed that the subgrid-scale wind fluctuations were the major source of the spread of the particles. After 8 d of trajectory time, the AHTDs and AVTDs due to the subgrid-scale winds alone (i.e., <inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">40</mml:mn></mml:mrow></mml:math></inline-formula> %) were about 550 km and 450 m, respectively. In contrast, the corresponding transport deviations due to the constant diffusivities only (i.e., <inline-formula><mml:math id="M131" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> in the troposphere, and <inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> in the stratosphere) were about 150 km for the AHTDs and 200 m for the AVTDs.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F4"><?xmltex \currentcnt{4}?><?xmltex \def\figurename{Figure}?><label>Figure 4</label><caption><p id="d1e2923">Absolute horizontal transport deviations (AHTDs, <bold>a</bold>) and absolute vertical transport deviations (AVTDs, <bold>b</bold>) between trajectory calculations with and without simulated diffusion and subgrid-scale winds. Statistics refer to case A presented in Fig. <xref ref-type="fig" rid="Ch1.F2"/>. The simulations use different parameter choices of the diffusivities <inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the scaling factor <inline-formula><mml:math id="M136" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> for the subgrid-scale variances (see plot key). Default parameters (purple curve) are <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> in the troposphere, <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula> in the stratosphere, and <inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">40</mml:mn></mml:mrow></mml:math></inline-formula> %.</p></caption>
            <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f04.png"/>

          </fig>

      <p id="d1e3044">Note that several studies with Lagrangian models provided estimates of atmospheric diffusivities <xref ref-type="bibr" rid="bib1.bibx52 bib1.bibx53 bib1.bibx63" id="paren.47"/>, but the data required for the free troposphere and stratosphere for the parametrizations are typically still not well constrained. In addition, in earlier work, we found that the parametrizations of diffusion and subgrid-scale winds applied here may yield different particle spread for different meteorological data sets, even if the same parameter choices are applied <xref ref-type="bibr" rid="bib1.bibx37" id="paren.48"/>. As an example, Fig. <xref ref-type="fig" rid="Ch1.F4"/> shows results of sensitivity tests on the parameter choices for the diffusion and subgrid-scale wind parametrizations. The parameter choices may need careful tuning for each individual meteorological data set. However, this also opens the possibility for potentially interesting considerations regarding sensitivities to the relative importance of diffusion and subgrid wind fluctuations.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS4">
  <label>2.3.4</label><title>Convection</title>
      <p id="d1e3063">The spatial resolution of global meteorological input data is often too coarse to allow for explicit representation of convective up- and downdrafts. Although the downdrafts may occur on larger horizontal scales, the updrafts are usually confined to horizontal scales below a few kilometers. Furthermore, convection occurs on timescales of a few hours; i.e., hourly ERA5 data may better represent convection than 6-hourly ERA-Interim data. A parametrization to better represent unresolved convective up- and downdrafts in global simulations was implemented in MPTRAC, which is similar to the convection parametrization implemented in the Hybrid Single-Particle Lagrangian Integrated Trajectory (HYSPLIT) and Stochastic Time-Inverted Lagrangian Transport  (STILT) models <xref ref-type="bibr" rid="bib1.bibx21 bib1.bibx27" id="paren.49"/>. In the present study, the convection parametrization was applied for synthetic tracer simulations as discussed in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>.</p>
      <p id="d1e3071">The convection parametrization requires as input the convective available potential energy (CAPE) and the equilibrium level from the meteorological data. These data need to be interpolated to the horizontal position of each air parcel. If the interpolated CAPE value is larger than a threshold CAPE<inline-formula><mml:math id="M140" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:math></inline-formula>, which is an important control parameter of the parametrization, it is assumed that the up- and downdrafts within the convective cloud are strong enough to yield a well-mixed vertical column. The parametrization will randomly redistribute the air parcels in the vertical column between the surface and the equilibrium level, which is taken as an estimate of the cloud-top height. In order to achieve a well-mixed column, the random distribution of the particles needs to be vertically weighted by air density.</p>
      <p id="d1e3083">The globally applied threshold CAPE<inline-formula><mml:math id="M141" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:math></inline-formula> can be set to a value near zero, implying that convection will always take place everywhere below the equilibrium level. This approach is referred to as the “extreme convection method”. It will provide an upper limit to the effects of unresolved convection. On the contrary, completely switching off the convection parametrization will provide a lower limit for the effects of unresolved convection. Intermediate states can be simulated by selecting other specific values of the threshold CAPE<inline-formula><mml:math id="M142" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:math></inline-formula>, which is an important tuning parameter of the parametrization. The Supplement of this paper provides some guidance on how different choices of CAPE<inline-formula><mml:math id="M143" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:math></inline-formula> can affect the simulated convection.</p>
      <p id="d1e3113">The extreme convection parametrization implemented here is arguably a rather simple approach, as it relies only on CAPE and the equilibrium level from the meteorological input data. Nevertheless, first tests showed that this parametrization significantly improves transport patterns in the free troposphere. We also conducted experiments to further improve the parametrization by considering additional parameters such as the convective inhibition (CIN) to improve the onset of convection. More sophisticated convection parametrizations have been developed and implemented in Lagrangian transport models during recent years <xref ref-type="bibr" rid="bib1.bibx25 bib1.bibx6 bib1.bibx48 bib1.bibx90" id="paren.50"/>. These parametrizations consider additional meteorological variables such as convective mass fluxes and detrainment rates that originate from external convective parameterizations applied in state-of-the-art forecasting models. Future work may look at evaluating the extreme convection parametrization and implementing more advanced convection parametrizations in MPTRAC.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS5">
  <label>2.3.5</label><title>Sedimentation</title>
      <p id="d1e3128">In order to take into account the gravitational settling of particles, the sedimentation velocity <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> needs to be calculated. Once <inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is known, it can be used to calculate the change of the vertical position of the particles over the model time step <inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>. In MPTRAC, <inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is calculated for spherical particles following the method described by <xref ref-type="bibr" rid="bib1.bibx40" id="text.51"/>. In the first step, we calculate the density <inline-formula><mml:math id="M148" display="inline"><mml:mi mathvariant="italic">ρ</mml:mi></mml:math></inline-formula> of dry air,
              <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M149" display="block"><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>p</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>T</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            from pressure <inline-formula><mml:math id="M150" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>, temperature <inline-formula><mml:math id="M151" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, and the specific gas constant <inline-formula><mml:math id="M152" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> of dry air. Next, the dynamic viscosity of air,
              <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M153" display="block"><mml:mrow><mml:mi mathvariant="italic">η</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.8325</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">5</mml:mn></mml:mrow></mml:msup><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">416.16</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">120</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:msup><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>T</mml:mi><mml:mrow><mml:mn mathvariant="normal">296.16</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">1.5</mml:mn></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            and the thermal velocity of an air molecule,
              <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M154" display="block"><mml:mrow><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">8</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>R</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>T</mml:mi></mml:mrow></mml:msqrt><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            are used to calculate the mean free path of an air molecule,
              <disp-formula id="Ch1.E13" content-type="numbered"><label>13</label><mml:math id="M155" display="block"><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">η</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>v</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            as well as the Knudsen number for air,
              <disp-formula id="Ch1.E14" content-type="numbered"><label>14</label><mml:math id="M156" display="block"><mml:mrow><mml:mi>K</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">λ</mml:mi><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            where <inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> refers to the particle radius. The Cunningham slip-flow correction is calculated from
              <disp-formula id="Ch1.E15" content-type="numbered"><label>15</label><mml:math id="M158" display="block"><mml:mrow><mml:mi>G</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mi>K</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mfenced open="[" close="]"><mml:mrow><mml:mn mathvariant="normal">1.249</mml:mn><mml:mo>+</mml:mo><mml:mn mathvariant="normal">0.42</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>exp⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">0.87</mml:mn><mml:mi>K</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            Finally, the sedimentation velocity is obtained by means of Stokes law and from the slip-flow correction,
              <disp-formula id="Ch1.E16" content-type="numbered"><label>16</label><mml:math id="M159" display="block"><mml:mrow><mml:msub><mml:mi>v</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:mn mathvariant="normal">2</mml:mn><mml:msubsup><mml:mi>r</mml:mi><mml:mi mathvariant="normal">p</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mi>g</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mn mathvariant="normal">9</mml:mn><mml:mi mathvariant="italic">η</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mi>G</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            with particle density <inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and conventional standard gravitational acceleration <inline-formula><mml:math id="M161" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>. Note that <inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be specified individually for each air parcel. A larger set of parcels can be used to represent a size distribution of aerosol or cloud particles.</p>
      <p id="d1e3507">Figure <xref ref-type="fig" rid="Ch1.F5"/> shows sedimentation velocities calculated by Eq. (<xref ref-type="disp-formula" rid="Ch1.E16"/>) for different particle diameters as well as pressure levels and mean temperatures at midlatitude atmospheric conditions. A standard particle density of <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1000</mml:mn></mml:mrow></mml:math></inline-formula> kg m<inline-formula><mml:math id="M165" 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> was considered. The sedimentation velocity <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> scales nearly linearly with <inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>; i.e., increasing <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> by a factor of 2 will also increase <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> by the same factor. Note that the overall sensitivity on temperature <inline-formula><mml:math id="M170" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> is much weaker than the sensitivity on pressure <inline-formula><mml:math id="M171" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> (not shown). Sedimentation velocities are shown here up to particle Reynolds number <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">Re</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, for which <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is expected to have accuracies better than 10 % <xref ref-type="bibr" rid="bib1.bibx33" id="paren.52"/>. Larger particles will require additional corrections, which have not been implemented.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F5"><?xmltex \currentcnt{5}?><?xmltex \def\figurename{Figure}?><label>Figure 5</label><caption><p id="d1e3632">Sedimentation velocities of spherical particles in the Stokes–Cunningham regime for different particle sizes, atmospheric pressure levels, and midlatitude mean temperatures.</p></caption>
            <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f05.png"/>

          </fig>

</sec>
<sec id="Ch1.S2.SS3.SSS6">
  <label>2.3.6</label><title>Wet deposition</title>
      <p id="d1e3649">Wet deposition causes the removal of trace gases and aerosol particles from the atmosphere within or below clouds by mixing with suspended water and following washout through rain, snow, or fog. In the first step, it is determined whether an air parcel is located below a cloud top. The cloud-top pressure <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ct</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is determined from the meteorological data as the highest vertical level where cloud water or ice (i.e., CLWC, CRWC, CIWC, or CSWC) is existent. For numerical efficiency, the level <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ct</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is inferred at the time when the meteorological input data are processed. During the model run, <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ct</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can therefore be determined quickly by interpolation from the preprocessed input data. Likewise, the cloud-bottom pressure <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">cb</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is determined quickly from precalculated data.</p>
      <p id="d1e3696">In the second step, the wet deposition parametrization determines an estimate of the subgrid-scale precipitation rate <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, which is needed to calculate the scavenging coefficient <inline-formula><mml:math id="M179" display="inline"><mml:mi mathvariant="normal">Λ</mml:mi></mml:math></inline-formula>. We estimated <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (in units of mm h<inline-formula><mml:math id="M181" 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>) from the total column cloud water <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (in units of kg m<inline-formula><mml:math id="M183" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>) by means of a correlation function reported by <xref ref-type="bibr" rid="bib1.bibx64" id="text.53"/>,
              <disp-formula id="Ch1.E17" content-type="numbered"><label>17</label><mml:math id="M184" display="block"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">0.36</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            which is based on a regression analysis using existing cloud and precipitation data. At the same time as determining <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ct</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">cb</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the total column cloud water <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is calculated by vertically integrating the cloud water content data when the meteorological input data are processed. During the model run, <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can therefore also be determined quickly by horizontal interpolation of the preprocessed input data to the locations of the air parcels. For efficiency, the parametrization of wet deposition is not further evaluated for a lower limit of <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi></mml:mrow><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">h</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d1e3876">In the third step, it is inferred whether the air parcel is located within or below the cloud because scavenging coefficients will be different under these conditions. The position of the air parcel within or below the cloud is determined by interpolating the cloud water content to the position of the air parcel and by testing whether the interpolated values are larger than zero.</p>
      <p id="d1e3879">In the fourth step, the scavenging coefficient <inline-formula><mml:math id="M190" display="inline"><mml:mi mathvariant="normal">Λ</mml:mi></mml:math></inline-formula> is calculated based on the precipitation rate <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:msub><mml:mi>I</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>,
              <disp-formula id="Ch1.E18" content-type="numbered"><label>18</label><mml:math id="M192" display="block"><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo>=</mml:mo><mml:mi>a</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msubsup><mml:mi>I</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi>b</mml:mi></mml:msubsup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            For aerosol particles, the constants <inline-formula><mml:math id="M193" display="inline"><mml:mi>a</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M194" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> need to be specified as control parameters for the “within-cloud” and “below-cloud” cases, respectively. Typical values of <inline-formula><mml:math id="M195" display="inline"><mml:mrow><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mi mathvariant="normal">…</mml:mi><mml:mn mathvariant="normal">8</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">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M196" display="inline"><mml:mrow><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.79</mml:mn></mml:mrow></mml:math></inline-formula> are used in the HYSPLIT and Next-Generation Atmospheric Dispersion Model (NAME)  models <xref ref-type="bibr" rid="bib1.bibx21 bib1.bibx85" id="paren.54"/>. For gases, wet deposition depends upon their solubility and the scavenging coefficient can be calculated from
              <disp-formula id="Ch1.E19" content-type="numbered"><label>19</label><mml:math id="M197" display="block"><mml:mrow><mml:mi mathvariant="normal">Λ</mml:mi><mml:mo>=</mml:mo><mml:mi>H</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>R</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>T</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>I</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="normal">Δ</mml:mi><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">c</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            where <inline-formula><mml:math id="M198" display="inline"><mml:mi>H</mml:mi></mml:math></inline-formula> is Henry's law constant, <inline-formula><mml:math id="M199" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> is the universal gas constant, and <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the depth of the cloud layer, which we calculate from <inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ct</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M202" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">cb</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Henry's law constant is obtained from
              <disp-formula id="Ch1.E20" content-type="numbered"><label>20</label><mml:math id="M203" display="block"><mml:mrow><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mi>H</mml:mi><mml:mo>⊖</mml:mo></mml:msup><mml:mi>exp⁡</mml:mi><mml:mfenced open="[" close="]"><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="normal">sol</mml:mi></mml:msub><mml:mi>H</mml:mi></mml:mrow><mml:mi>R</mml:mi></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>T</mml:mi></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msup><mml:mi>T</mml:mi><mml:mo>⊖</mml:mo></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            The constants <inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:msup><mml:mi>H</mml:mi><mml:mo>⊖</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M205" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="normal">sol</mml:mi></mml:msub><mml:mi>H</mml:mi></mml:mrow><mml:mi>R</mml:mi></mml:mfrac></mml:mstyle></mml:math></inline-formula> with enthalpy of dissolution <inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="normal">sol</mml:mi></mml:msub><mml:mi>H</mml:mi></mml:mrow></mml:math></inline-formula> at the reference temperature <inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:msup><mml:mi>T</mml:mi><mml:mo>⊖</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">298.15</mml:mn></mml:mrow></mml:math></inline-formula> K need to be specified as control parameters. Values for a wide range of species are tabulated by <xref ref-type="bibr" rid="bib1.bibx73" id="text.55"/>. The values of selected species of interest are summarized in Table <xref ref-type="table" rid="Ch1.T1"/> and included as default parameters in MPTRAC.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T1"><?xmltex \currentcnt{1}?><label>Table 1</label><caption><p id="d1e4195">Henry's law constants for water as a solvent. See <xref ref-type="bibr" rid="bib1.bibx73" id="text.56"/> for reference.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Formula</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:msup><mml:mi>H</mml:mi><mml:mo>⊖</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> (at 298.15 K)</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="normal">sol</mml:mi></mml:msub><mml:mi>H</mml:mi></mml:mrow><mml:mi>R</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">[mol m<inline-formula><mml:math id="M210" 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> Pa<inline-formula><mml:math id="M211" 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="col3">[K]</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">CF<inline-formula><mml:math id="M212" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>Cl<inline-formula><mml:math id="M213" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M214" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.0</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">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3500</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CFCl<inline-formula><mml:math id="M215" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M216" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.1</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">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3300</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CH<inline-formula><mml:math id="M217" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M218" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.4</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">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1600</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CO</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M219" display="inline"><mml:mrow><mml:mn mathvariant="normal">9.7</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></oasis:entry>
         <oasis:entry colname="col3">1300</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CO<inline-formula><mml:math id="M220" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M221" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.3</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">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">2400</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">N<inline-formula><mml:math id="M222" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>O</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M223" display="inline"><mml:mrow><mml:mn mathvariant="normal">2.4</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">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">2600</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">NH<inline-formula><mml:math id="M224" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M225" display="inline"><mml:mrow><mml:mn mathvariant="normal">5.9</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">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">4200</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">HNO<inline-formula><mml:math id="M226" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:mn mathvariant="normal">2.1</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">8700</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">NO</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.9</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">5</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1600</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">NO<inline-formula><mml:math id="M229" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.2</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">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">2400</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">O<inline-formula><mml:math id="M231" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M232" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.0</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">4</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">2800</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SF<inline-formula><mml:math id="M233" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">6</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M234" display="inline"><mml:mrow><mml:mn mathvariant="normal">2.4</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></oasis:entry>
         <oasis:entry colname="col3">3100</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SO<inline-formula><mml:math id="M235" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M236" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.3</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">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">2900</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e4754">Finally, once the scavenging coefficient <inline-formula><mml:math id="M237" display="inline"><mml:mi mathvariant="normal">Λ</mml:mi></mml:math></inline-formula> for the gases or aerosol particles within or below a cloud is determined, an exponential loss of mass <inline-formula><mml:math id="M238" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula> over the time step <inline-formula><mml:math id="M239" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> is calculated,
              <disp-formula id="Ch1.E21" content-type="numbered"><label>21</label><mml:math id="M240" display="block"><mml:mrow><mml:mi>m</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>m</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mi>exp⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">Λ</mml:mi></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S2.SS3.SSS7">
  <label>2.3.7</label><title>Dry deposition</title>
      <p id="d1e4834">Dry deposition leads to a loss of mass of aerosol particles or trace gases by gravitational settling or chemical and physical interactions with the surface in the dry phase. In the parametrization implemented in MPTRAC, dry deposition is calculated for air parcels located in the lowermost <inline-formula><mml:math id="M241" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">30</mml:mn></mml:mrow></mml:math></inline-formula> hPa layer above the surface. This corresponds to a layer width of <inline-formula><mml:math id="M242" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">200</mml:mn></mml:mrow></mml:math></inline-formula> m at standard conditions.</p>
      <p id="d1e4865">For aerosol particles, the deposition velocity <inline-formula><mml:math id="M243" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">dep</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> will be calculated as described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS3.SSS5"/> as a function of surface pressure <inline-formula><mml:math id="M244" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> and temperature <inline-formula><mml:math id="M245" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> as well as particle radius <inline-formula><mml:math id="M246" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and particle density <inline-formula><mml:math id="M247" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. For trace gases, the deposition velocity <inline-formula><mml:math id="M248" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">dep</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> needs to be specified as a control parameter. Currently, this parameter is set to a constant value across the globe for each trace gas. For future applications with a stronger focus on the boundary layer, <inline-formula><mml:math id="M249" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">dep</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> will need to vary geographically to account for dependence on the surface characteristics and atmospheric conditions.</p>
      <p id="d1e4940">For both particles and gases, we calculated the loss of mass based on the deposition velocity <inline-formula><mml:math id="M250" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">dep</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the model time step <inline-formula><mml:math id="M251" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>, and the surface layer width <inline-formula><mml:math id="M252" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:math></inline-formula> from
              <disp-formula id="Ch1.E22" content-type="numbered"><label>22</label><mml:math id="M253" display="block"><mml:mrow><mml:mi>m</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>m</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mi>exp⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">dep</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            Note that both the dry deposition and the wet deposition parametrization were implemented only very recently and need further testing and evaluation in future work. They will also have to be compared to more advanced parametrizations <xref ref-type="bibr" rid="bib1.bibx84 bib1.bibx85" id="paren.57"><named-content content-type="pre">e.g.,</named-content></xref>. The parametrizations are described here for completeness, but they were not included in the model verification and performance analysis in Sect. <xref ref-type="sec" rid="Ch1.S3"/>.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS8">
  <label>2.3.8</label><title>Hydroxyl chemistry</title>
      <p id="d1e5047">In this section, we discuss the MPTRAC module that is used to simulate the loss of mass of a chemical species by means of reaction with the hydroxyl radical. The hydroxyl radical (OH) is an important oxidant in the atmosphere, causing the decomposition of many gas-phase species. The oxidation of different gas-phase species with OH can be classified into two main categories, bimolecular reactions (e.g., reactions of CH<inline-formula><mml:math id="M254" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:math></inline-formula> or NH<inline-formula><mml:math id="M255" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:math></inline-formula>), and termolecular reactions (e.g., CO or SO<inline-formula><mml:math id="M256" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>).</p>
      <p id="d1e5077">For bimolecular reactions, the rate constant is calculated from  Arrhenius law,
              <disp-formula id="Ch1.E23" content-type="numbered"><label>23</label><mml:math id="M257" display="block"><mml:mrow><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:mo>×</mml:mo><mml:mi>exp⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>E</mml:mi><mml:mrow><mml:mi>R</mml:mi><mml:mi>T</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            where <inline-formula><mml:math id="M258" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> refers to the Arrhenius factor, <inline-formula><mml:math id="M259" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula> to the activation energy, and <inline-formula><mml:math id="M260" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> to the universal gas constant. For bimolecular reactions, the Arrhenius factor <inline-formula><mml:math id="M261" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> and the ratio <inline-formula><mml:math id="M262" display="inline"><mml:mrow><mml:mi>E</mml:mi><mml:mo>/</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula> need to be specified as control parameters. The reaction rate coefficients for various gas-phase species can be found in the Jet Propulsion Laboratory (JPL) data evaluation <xref ref-type="bibr" rid="bib1.bibx8" id="paren.58"/>. Table <xref ref-type="table" rid="Ch1.T2"/> lists bimolecular reaction rate coefficients for some species of interest, which were also implemented as default values directly into MPTRAC.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T2"><?xmltex \currentcnt{2}?><label>Table 2</label><caption><p id="d1e5166">Bimolecular reaction rate coefficients for the hydroxyl radical. See <xref ref-type="bibr" rid="bib1.bibx8" id="text.59"/> for reference.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Reaction</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M263" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> factor</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:mi>E</mml:mi><mml:mo>/</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">[cm<inline-formula><mml:math id="M265" display="inline"><mml:msup><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:math></inline-formula> molecule<inline-formula><mml:math id="M266" 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> s<inline-formula><mml:math id="M267" 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="col3">[K]</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M268" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">CH</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">OH</mml:mi><mml:mo>→</mml:mo><mml:msub><mml:mi mathvariant="normal">CH</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="normal">H</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi mathvariant="normal">O</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:mn mathvariant="normal">2.45</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">12</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">1775</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M270" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">NH</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">OH</mml:mi><mml:mo>→</mml:mo><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">H</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi mathvariant="normal">O</mml:mi></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="normal">NH</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M271" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.7</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">12</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">710</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">OH</mml:mi><mml:mo>→</mml:mo><mml:msub><mml:mi mathvariant="normal">HO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M273" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.7</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">12</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">940</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e5432">Termolecular reactions require an inert component <inline-formula><mml:math id="M274" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> (e.g., N<inline-formula><mml:math id="M275" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula> or O<inline-formula><mml:math id="M276" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula>) to stabilize the excited intermediate state. Therefore, the reaction rate shows a temperature and pressure dependence and changes smoothly between the low-pressure-limiting rate <inline-formula><mml:math id="M277" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and high-pressure-limiting rate <inline-formula><mml:math id="M278" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">∞</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Based on the molecular density of air,
              <disp-formula id="Ch1.E24" content-type="numbered"><label>24</label><mml:math id="M279" display="block"><mml:mrow><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mo>]</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">A</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mi>R</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>T</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            with Avogadro constant <inline-formula><mml:math id="M280" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi mathvariant="normal">A</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the effective second-order  rate constant <inline-formula><mml:math id="M281" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> is calculated from
              <disp-formula id="Ch1.E25" content-type="numbered"><label>25</label><mml:math id="M282" display="block"><mml:mrow><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mo>]</mml:mo><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">∞</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfrac></mml:mstyle><mml:msup><mml:mn mathvariant="normal">0.6</mml:mn><mml:mrow><mml:msup><mml:mfenced close="}" open="{"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mfenced close="]" open="["><mml:mrow><mml:msub><mml:mi>log⁡</mml:mi><mml:mn mathvariant="normal">10</mml:mn></mml:msub><mml:mfenced open="(" close=")"><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">∞</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            The low- and high-pressure limits of the reaction rate constant are given by

                  <disp-formula specific-use="align" content-type="numbered"><mml:math id="M283" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E26"><mml:mtd><mml:mtext>26</mml:mtext></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">298</mml:mn></mml:msubsup><mml:msup><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>T</mml:mi><mml:mn mathvariant="normal">298</mml:mn></mml:mfrac></mml:mstyle></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E27"><mml:mtd><mml:mtext>27</mml:mtext></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>k</mml:mi><mml:mi mathvariant="normal">∞</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">∞</mml:mi><mml:mn mathvariant="normal">298</mml:mn></mml:msubsup><mml:msup><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>T</mml:mi><mml:mn mathvariant="normal">298</mml:mn></mml:mfrac></mml:mstyle></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

              The constants <inline-formula><mml:math id="M284" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">298</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M285" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">∞</mml:mi><mml:mn mathvariant="normal">298</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula> at the reference temperature of 298 K and the exponents <inline-formula><mml:math id="M286" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M287" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula> need to be specified as control parameters. The exponents can be set to zero in order to neglect the temperature dependence of the low- or high-pressure limits of <inline-formula><mml:math id="M288" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M289" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="normal">∞</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The termolecular reaction rate coefficients implemented directly into MPTRAC are listed in Table <xref ref-type="table" rid="Ch1.T3"/>.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T3" specific-use="star"><?xmltex \currentcnt{3}?><label>Table 3</label><caption><p id="d1e5842">Termolecular reaction rate coefficients for the hydroxyl radical. See <xref ref-type="bibr" rid="bib1.bibx8" id="text.60"/> for reference.</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="center"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Reaction</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M290" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">298</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M291" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M292" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi mathvariant="normal">∞</mml:mi><mml:mn mathvariant="normal">298</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M293" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">[cm<inline-formula><mml:math id="M294" display="inline"><mml:msup><mml:mi/><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:math></inline-formula> molecule<inline-formula><mml:math id="M295" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> s<inline-formula><mml:math id="M296" 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="col3"/>
         <oasis:entry colname="col4">[cm<inline-formula><mml:math id="M297" display="inline"><mml:msup><mml:mi/><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:math></inline-formula> molecule<inline-formula><mml:math id="M298" 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> s<inline-formula><mml:math id="M299" 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="col5"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M300" display="inline"><mml:mrow><mml:mi mathvariant="normal">CO</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">OH</mml:mi><mml:mover><mml:mo movablelimits="false">→</mml:mo><mml:mi>M</mml:mi></mml:mover><mml:mi mathvariant="normal">HOCO</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M301" display="inline"><mml:mrow><mml:mn mathvariant="normal">6.9</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">33</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">2.1</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M302" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.1</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">12</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M303" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1.3</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M304" display="inline"><mml:mrow><mml:mi mathvariant="normal">NO</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">OH</mml:mi><mml:mover><mml:mo movablelimits="false">→</mml:mo><mml:mi>M</mml:mi></mml:mover><mml:mi mathvariant="normal">HONO</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M305" display="inline"><mml:mrow><mml:mn mathvariant="normal">7.1</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">31</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">2.6</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M306" display="inline"><mml:mrow><mml:mn mathvariant="normal">3.6</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">11</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M307" display="inline"><mml:mn mathvariant="normal">0.1</mml:mn></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M308" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">OH</mml:mi><mml:mover><mml:mo movablelimits="false">→</mml:mo><mml:mi>M</mml:mi></mml:mover><mml:msub><mml:mi mathvariant="normal">HONO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M309" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.8</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">30</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">3.0</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M310" display="inline"><mml:mrow><mml:mn mathvariant="normal">2.8</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">11</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M311" display="inline"><mml:mn mathvariant="normal">0</mml:mn></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M312" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">SO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="normal">OH</mml:mi><mml:mover><mml:mo movablelimits="false">→</mml:mo><mml:mi>M</mml:mi></mml:mover><mml:msub><mml:mi mathvariant="normal">HOSO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M313" display="inline"><mml:mrow><mml:mn mathvariant="normal">2.9</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">31</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">4.1</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M314" display="inline"><mml:mrow><mml:mn mathvariant="normal">1.7</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">12</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M315" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.2</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e6307">Based on the bimolecular reaction rate <inline-formula><mml:math id="M316" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> from Eq. (<xref ref-type="disp-formula" rid="Ch1.E23"/>) or the termolecular reaction rate <inline-formula><mml:math id="M317" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:mi>T</mml:mi><mml:mo>,</mml:mo><mml:mo>[</mml:mo><mml:mi>M</mml:mi><mml:mo>]</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> from Eq. (<xref ref-type="disp-formula" rid="Ch1.E25"/>), the loss of mass of the gas-phase species over time is calculated from
              <disp-formula id="Ch1.E28" content-type="numbered"><label>28</label><mml:math id="M318" display="block"><mml:mrow><mml:mi>m</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>m</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mi>exp⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="normal">OH</mml:mi><mml:mo>]</mml:mo><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            The hydroxyl radical concentrations [OH] are obtained by bilinear interpolation from the monthly mean zonal mean climatology of <xref ref-type="bibr" rid="bib1.bibx66" id="text.61"/>. This approach is suitable for global simulations covering at least several days, as hydroxyl concentrations may vary significantly between day- and nighttime as well as the local atmospheric composition.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS9">
  <label>2.3.9</label><title>Exponential decay</title>
      <p id="d1e6423">A rather generic module was implemented in MPTRAC, to simulate the loss of mass of an air parcel over a model time step <inline-formula><mml:math id="M319" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> due to any kind of exponential decay process, e.g., chemical loss or radioactivity,
              <disp-formula id="Ch1.E29" content-type="numbered"><label>29</label><mml:math id="M320" display="block"><mml:mrow><mml:mi>m</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>m</mml:mi><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mi>exp⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            The <inline-formula><mml:math id="M321" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula>-folding lifetime <inline-formula><mml:math id="M322" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of the species needs to be specified as a control parameter. As typical lifetimes may differ, we implemented an option to specify separate lifetimes for the troposphere and stratosphere. A smooth transition between the tropospheric and stratospheric lifetime is created within a <inline-formula><mml:math id="M323" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula> log-pressure altitude range around the tropopause.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS10">
  <label>2.3.10</label><title>Boundary conditions</title>
      <p id="d1e6528">Finally, a module was implemented to impose constant boundary conditions on particle mass or volume mixing ratio. At each time step of the model, all particles that are located within a given latitude and pressure range can be assigned a constant mass or volume mixing ratio as defined by a control parameter of the model. Next to specifying fixed pressure ranges in the free troposphere, stratosphere, or mesosphere to define the boundary conditions, it is also possible to specify a fixed pressure range with respect to the surface pressure, in order to define a near-surface layer.</p>
      <p id="d1e6531">The boundary condition module can be used to conduct synthetic tracer simulations. For example, the synthetic tracer E90 <xref ref-type="bibr" rid="bib1.bibx68 bib1.bibx1" id="paren.62"/> is emitted uniformly at the surface and has a constant <inline-formula><mml:math id="M324" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula>-folding lifetime of 90 d throughout the entire atmosphere. In our study, we implemented this by assigning a constant volume mixing ratio of 150 ppb to all air parcels residing in the lowermost 30 hPa pressure range above the surface. With its 90 d lifetime, the tracer E90 quickly becomes well mixed in the troposphere. However, the lifetime is much shorter than typical timescales of stratospheric transport. The tracer E90 therefore exhibits sharp gradients across the tropopause. Being a passive tracer in the upper troposphere and lower stratosphere region, E90 is evaluated in studies related to the chemical tropopause and stratosphere–troposphere exchange.</p>
      <p id="d1e6544">Another example of a synthetic tracer is ST80, which is defined by a constant volume mixing ratio of 200 ppb above 80 hPa and a uniform, fixed 25 d <inline-formula><mml:math id="M325" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula>-folding lifetime in the troposphere <xref ref-type="bibr" rid="bib1.bibx23" id="paren.63"/>. Like E90, the tracer ST80 is of interest in investigating stratosphere–troposphere exchange. The Northern Hemisphere synthetic tracer (NH50) is considered to assess interhemispheric gradients in the troposphere. It is defined by a surface layer volume mixing ratio of 100 ppb over 30 to 50<inline-formula><mml:math id="M326" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> N and a uniform 50 d <inline-formula><mml:math id="M327" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula>-folding lifetime <xref ref-type="bibr" rid="bib1.bibx23" id="paren.64"/>. Simulation results of E90, ST80, and NH50 obtained with the CPU and GPU code of MPTRAC will be discussed in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>Model output data</title>
<sec id="Ch1.S2.SS4.SSS1">
  <label>2.4.1</label><title>Sampling of meteorological data</title>
      <p id="d1e6595">For diagnostic purposes, it is often necessary to obtain meteorological data along the trajectories. However, typically only a limited subset of the meteorological variables is of interest. Therefore, we introduced the concept of “quantities”, allowing the user to select, which variables should be calculated and stored in the output data files. Next to selecting the specific types of model output that are desired, also a list of the specific quantities that should be provided as output needs to be specified via control parameters. In total, about 50 output variables are implemented in MPTRAC (Table <xref ref-type="table" rid="Ch1.T4"/>). In addition to the predefined output variables, it is possible to include user-defined variables. The user-defined variables are typically not modified during the simulations, but they are useful to store information that are required for further analyses. For example, the starting time and position of the particles can be stored as user-defined variables, and they can later be used to calculate the trajectory time or the distance from the origin.</p>

<?xmltex \floatpos{p}?><table-wrap id="Ch1.T4" specific-use="star"><?xmltex \currentcnt{4}?><label>Table 4</label><caption><p id="d1e6603">List of quantities defined in MPTRAC.</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="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Identifier</oasis:entry>
         <oasis:entry colname="col2">Symbol</oasis:entry>
         <oasis:entry colname="col3">Description</oasis:entry>
         <oasis:entry colname="col4">Units</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">ENS</oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">ensemble index</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">STAT</oasis:entry>
         <oasis:entry colname="col2">–</oasis:entry>
         <oasis:entry colname="col3">station visit flag</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">M</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M328" display="inline"><mml:mi>m</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">mass of species</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M329" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">VMR</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M330" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">volume mixing ratio</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M331" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">ppv</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">R</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M332" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">particle radius</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M333" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RHO</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M334" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">particle density</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M335" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M336" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PS</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M337" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">surface pressure</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M338" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TS</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M339" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">surface temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M340" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ZS</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M341" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">surface geopotential height</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M342" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">US</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M343" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">surface zonal wind</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M344" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">VS</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M345" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">surface meridional wind</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M346" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PBL</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M347" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">planetary boundary layer pressure</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M348" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Z</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M349" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">geopotential height</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M350" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">P</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M351" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">pressure</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M352" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">T</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M353" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M354" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">U</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M355" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">zonal wind</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M356" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M357" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">V</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M358" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">meridional wind</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M359" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M360" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">W</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M361" display="inline"><mml:mi mathvariant="italic">ω</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">vertical velocity</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M362" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M363" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">VH</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M364" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">horizontal wind velocity</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M365" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M366" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">VZ</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M367" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">vertical velocity</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M368" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M369" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PV</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M370" display="inline"><mml:mi>Q</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">potential vorticity</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M371" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">PVU</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">H2O</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M372" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">H</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi mathvariant="normal">O</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">water vapor volume mixing ratio</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M373" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">ppv</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">HNO3</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M374" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">HNO</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">nitric acid volume mixing ratio</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M375" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">ppv</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">O3</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M376" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">ozone volume mixing ratio</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M377" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">ppv</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">OH</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M378" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi mathvariant="normal">OH</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">hydroxyl number density</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M379" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">molec</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M380" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">cm</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">THETA</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M381" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">potential temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M382" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ZETA</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M383" display="inline"><mml:mi mathvariant="italic">ζ</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">hybrid vertical coordinate</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M384" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TVIRT</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M385" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">virtual temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M386" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">LAPSE</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M387" display="inline"><mml:mi mathvariant="normal">Γ</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">moist adiabatic lapse rate</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M388" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M389" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">km</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PT</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M390" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">tropopause pressure</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M391" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TT</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M392" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">tropopause temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M393" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ZT</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M394" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">tropopause geopotential height</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M395" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">H2OT</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M396" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">H</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">t</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">tropopause water vapor volume mixing ratio</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M397" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">ppv</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PSAT</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M398" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">sat</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">saturation pressure over water</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M399" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PSICE</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M400" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ice</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">saturation pressure over ice</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M401" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PW</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M402" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">partial water vapor pressure</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M403" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SH</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M404" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">specific humidity</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M405" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M406" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RH</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M407" display="inline"><mml:mi mathvariant="normal">RH</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">relative humidity over water</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M408" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">%</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">RHICE</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M409" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">RH</mml:mi><mml:mi mathvariant="normal">ice</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">relative humidity over ice</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M410" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">%</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">LWC</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M411" display="inline"><mml:mi mathvariant="normal">CLWC</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">cloud liquid water content</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M412" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M413" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">IWC</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M414" display="inline"><mml:mi mathvariant="normal">CIWC</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">cloud ice water content</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M415" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M416" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CL</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M417" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">l</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">total column cloud water</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M418" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">kg</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M419" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PCT</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M420" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">ct</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">cloud-top pressure</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M421" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PCB</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M422" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">cb</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">cloud-bottom pressure</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M423" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PLCL</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M424" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">LCL</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">pressure at lifted condensation level</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M425" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PLFC</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M426" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">LFC</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">pressure at level of free convection</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M427" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">PEL</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M428" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">EL</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">pressure at equilibrium level</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M429" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">hPa</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">CAPE</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M430" display="inline"><mml:mi mathvariant="normal">CAPE</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">convective available potential energy</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M431" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">J</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M432" display="inline"><mml:mrow class="unit"><mml:msup><mml:mi mathvariant="normal">kg</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TDEW</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M433" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">dew</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">dew-point temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M434" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TICE</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M435" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">ice</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">frost-point temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M436" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TNAT</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M437" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">NAT</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">nitric acid trihydrate (NAT) particle existence temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M438" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TSTS</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M439" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">STS</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">supercooled ternary solution (STS) particle existence temperature</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M440" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e8337">A distinct module was implemented into MPTRAC that is used to sample the meteorological data along the trajectories. This module can become demanding in terms of computing time, as it requires the interpolation of up to 10 3-D variables and 16 2-D variables of meteorological data that are either read in from the meteorological input data files or calculated during the preprocessing of the meteorological data. However, the computing time needs of this module are typically strongly reduced by the fact that meteorological data along the trajectories are usually not required at every model time step but only at user-defined output intervals.</p>
      <p id="d1e8341">Next to the option of sampling of the meteorological data along the trajectories, we also implemented tools to provide direct output of the meteorological data. This includes tools to extract maps, zonal mean cross sections, and vertical profiles on pressure or isentropic levels. These tools allow for time averaging over multiple meteorological data files. Another tool is available to sample the meteorological data based on a list of given times and positions, without involving any trajectory calculations. Altogether, these tools provide a great flexibility in exploiting meteorological data in many applications.</p>
</sec>
<sec id="Ch1.S2.SS4.SSS2">
  <label>2.4.2</label><title>Output from Lagrangian transport simulations</title>
      <p id="d1e8352">At present, MPTRAC offers seven output options, referred to as “atmospheric output”, “grid output”, “CSI output”, “ensemble output”, “profile output”, “sample output”, and “station output”. The most comprehensive output of MPTRAC is the atmospheric output. Atmospheric output files can be generated at user-defined time intervals, which need to be integer multiples of the model time step <inline-formula><mml:math id="M441" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>. The atmospheric output files are the most comprehensive type of output because they contain the time, location, and the values of all user-defined quantities of each individual air parcel.</p>
      <p id="d1e8365">As the atmospheric output can easily become too large for further analyses, in particular if many air parcels are involved, the output of gridded data was implemented. This output will be generated by integrating over the mass of all parcels in regular longitude <inline-formula><mml:math id="M442" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> latitude <inline-formula><mml:math id="M443" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> log-pressure height grid boxes. From the total mass per grid box and the air density, the column density and the volume mixing ratio of the tracer are calculated. Alternatively, if the volume mixing ratio per air parcel is specified, the mean volume mixing ratio per grid box is reported. In the vertical, it is possible to select only a single layer for the grid output, in order to obtain total column data. Similarly, by selecting only one grid box in longitude, it is possible to calculate zonal means.</p>
      <p id="d1e8382">Another type of output that we used in several studies <xref ref-type="bibr" rid="bib1.bibx36 bib1.bibx31" id="paren.65"/> is the critical success index (CSI) output. This output is produced by analyzing model and observational data on a regular grid. The analysis is based on a <inline-formula><mml:math id="M444" display="inline"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> contingency table of model predictions and observations. Here, predictions and observations are counted as <italic>yes</italic>, if the model column density or the observed variable exceed user-defined thresholds. Otherwise, they would be counted as <italic>no</italic>. Next to the CSI, the counts allow us to calculate the probability of detection (POD) and the false alarm rate (FAR), which are additional skill scores that are often considered in model verification. More recently, the CSI output was extended to also include the equitable threat score (ETS), the linear and rank-order correlation coefficients, the bias, the root mean square (rms) difference, and the mean absolute error. A more detailed discussion of the skill scores is provided by <xref ref-type="bibr" rid="bib1.bibx87" id="text.66"/>.</p>
      <p id="d1e8409">Another option to condense comprehensive particle data is provided by means of the ensemble output. This type of output requires a user-defined specific ensemble index value to be assigned to each air parcel. Instead of the individual air parcel data, the ensemble output will contain the mean positions as well as the means and standard deviations of the quantities selected for output for each set of air parcels having the same ensemble index. The ensemble output if of interest, if tracer dispersion from multiple point sources needs to be quantified by means of a single model run, for instance.</p>
      <p id="d1e8413">The profile output of MPTRAC is similar to the grid output as it creates vertical profiles from the model data on a regular longitude <inline-formula><mml:math id="M445" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> latitude horizontal grid. However, the vertical profiles contain not only  volume mixing ratios of the species of interest but also profiles of pressure, temperature, water vapor, and ozone as inferred from the meteorological input data. This output is compiled with the intention to be used as input for a radiative transfer model, in order to simulate satellite observations for the given model output. In combination with real satellite observations, this output can be used for model validation but also as a basis for radiance data assimilation.</p>
      <p id="d1e8423">The sample output of MPTRAC was implemented most recently. It allows the user to extract model information on a list of given locations and times, by calculating the column density and volume mixing ratio of all parcels located within a user-specified horizontal search radius and vertical height range. For large numbers of sampling locations and air parcels, this type of output can become rather time-consuming. It requires an efficient implementation and parallelization because it needs to be tested at each time step of the model whether an air parcel is located within a sampling volume or not. The numerical effort scales linearly with both the number of air parcels and the number of sampling volumes. The sample output was first applied in the study of <xref ref-type="bibr" rid="bib1.bibx9" id="text.67"/> to sample MPTRAC data directly on TROPOspheric Monitoring Instrument (TROPOMI) satellite observations.</p>
      <p id="d1e8429">Finally, the station output is collecting the data of air parcels that are located within a search radius around a given location (latitude, longitude). The vertical position is not considered here; i.e., the information of all air parcels within the vertical column over the station is collected. In order to avoid double counting of air parcels over multiple time steps, the quantity STAT (Table <xref ref-type="table" rid="Ch1.T4"/>) has been introduced that keeps track on whether an air parcel has already been accounted for in the station output or not. We used this type of output in studies estimating volcanic emissions from satellite observations using the backward-trajectory method <xref ref-type="bibr" rid="bib1.bibx36 bib1.bibx91 bib1.bibx92" id="paren.68"/>.</p>
      <p id="d1e8437">By default, all output functions of MPTRAC create data files in an ASCII table format. This type of output is usually simple to understand and usable with many tools for data analysis and visualization. However, in the case of large-scale simulations, it is desirable to use more efficient file formats. Therefore, an option was implemented to write particle data to binary output files. Likewise, reading particle data from a binary file is much more efficient than from an ASCII file. The binary input and output is an efficient way to save or restore the state of the model during intermediate steps of a workflow. Another interesting option of output is to pipe the data directly from the model to a visualization tool. This will keep the output data in memory and directly forward it from MPTRAC to the visualization tool. This option has been successfully tested for the particle and the grid output in combination with the graphing utility <monospace>gnuplot</monospace> <xref ref-type="bibr" rid="bib1.bibx88" id="paren.69"/>.</p>
</sec>
<sec id="Ch1.S2.SS4.SSS3">
  <label>2.4.3</label><title>Trajectory statistics</title>
      <p id="d1e8454">For diagnostic purposes, it is often helpful to calculate trajectory statistics. The tool <monospace>atm_stat</monospace> can calculate the mean, standard deviation, skewness, kurtosis, median, absolute deviation, median absolute deviation, minimum, and maximum of the positions and variables of air parcel data sets. The calculations can cover the entire set or a selection of air parcels, based on the ensemble variable or extracted by means of the tool  <monospace>atm_select</monospace>. The tool <monospace>atm_select</monospace> allows the user to select air parcels based on a range of parcels, a log-pressure height <inline-formula><mml:math id="M446" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> longitude <inline-formula><mml:math id="M447" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> latitude box, and a search radius around a given geolocation. The trajectory statistics are calculated by applying the algorithms of the GNU Scientific Library <xref ref-type="bibr" rid="bib1.bibx28" id="paren.70"/>.</p>
      <p id="d1e8484">The tool <monospace>atm_dist</monospace> allows us to calculate statistics of the deviations between two sets of trajectories. Foremost, this includes the AHTDs and AVTDs <xref ref-type="bibr" rid="bib1.bibx49 bib1.bibx70 bib1.bibx78" id="paren.71"/> over time,

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M448" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E30"><mml:mtd><mml:mtext>30</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><?xmltex \hack{\hbox\bgroup\fontsize{8.5}{8.5}\selectfont$\displaystyle}?><mml:mtext mathvariant="normal">AHTD</mml:mtext><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>N</mml:mi></mml:mfrac></mml:mstyle><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:msqrt><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msup><mml:mo>]</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:msup><mml:mo>]</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msqrt><mml:mo>,</mml:mo><?xmltex \hack{$\egroup}?></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E31"><mml:mtd><mml:mtext>31</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mtext>AVTD</mml:mtext><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>N</mml:mi></mml:mfrac></mml:mstyle><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:munderover><mml:mfenced open="|" close="|"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

              Here, the horizontal distances are calculated approximately by converting the geographic longitudes and latitudes of the particles to Cartesian coordinates, <inline-formula><mml:math id="M449" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M450" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>X</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>Y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, followed by calculation of the Euclidean distance of the Cartesian coordinates. Vertical distances are calculated based on conversion of particle pressure to log-pressure altitude using the barometric formula.</p>
      <p id="d1e8807">Next to AHTDs and AVTDs, the tool <monospace>atm_dist</monospace> can calculate the relative horizontal and vertical transport deviations (RHTDs and RVTDs), which relate the absolute transport deviations to the horizontal and vertical path lengths of individual trajectories. It can also be used to quantify the mean absolute and relative deviations as well as the absolute and relative bias of meteorological variables or the relative tracer conservation errors of dynamical tracers over time. The definitions of these quantities and more detailed descriptions are provided by <xref ref-type="bibr" rid="bib1.bibx38" id="text.72"/>. In this study, we mostly present absolute transport deviations to evaluate the differences between CPU and GPU trajectory calculations (Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>).</p>
</sec>
</sec>
<sec id="Ch1.S2.SS5">
  <label>2.5</label><title>Parallelization strategy</title>
      <p id="d1e8828">Lagrangian particle dispersion models are well suited for parallel computing as large sets of air parcel trajectories can be calculated independently of each other.  The workload is “embarrassingly parallel” or “perfectly parallel” as little to no effort is needed to separate the problem into a number of independent parallel computing tasks. In this section, we discuss the MPI–OpenMP–OpenACC hybrid parallelization implemented in MPTRAC. The term “hybrid parallelization” refers to the fact that several parallelization techniques are employed in a simulation at the same time.</p>
      <p id="d1e8831">MPI is a communication protocol and standardized interface to enable point-to-point and collective communication between computing tasks. MPI provides high performance, scalability, and portability. It is considered as a leading approach used for high-performance computing. The OpenMP application programming interface supports multi-platform shared-memory multiprocessing programming for various programming languages and computing architectures. It consists of a set of compiler directives, library routines, and environment variables that are used to distribute the workload over a set of computing threads on a compute node. An application built with an MPI–OpenMP hybrid approach can run on a compute cluster, such that OpenMP can be used to exploit the parallelism of all hardware threads within a multi-core node while MPI is used for parallelism between the nodes. Open accelerators (OpenACC) is a programming model to enable parallel programming of heterogeneous CPU–GPU systems. As in OpenMP, the source code of the program is annotated with “pragmas” to identify the areas that should be accelerated by using GPUs. In combination with MPI and OpenMP, OpenACC can be used to conduct multi-GPU simulations.</p>
      <p id="d1e8834">The GPU parallelization is a new feature since the release of version 2.0 of MPTRAC. Various concepts for employing GPUs are available for scientific high-performance computing. The simplest option is to replace standard computing libraries by GPU-enabled versions, which are provided by the vendors of the GPU hardware such as the NVIDIA company. A prominent example of such a library, which was ported to GPUs, is the Basic Linear Algebra Subprograms (BLAS) library for matrix–matrix, matrix–vector, and vector–vector operations. However, as MPTRAC does not employ the BLAS library, this simple parallelization technique was not considered helpful for porting our model to GPUs. At the other end of the options for GPU computing, the Compute Unified Device Architecture (CUDA) is a dedicated application programming model for GPUs. The CUDA programming model is often considered to be most flexible and allows for most detailed control over the GPU hardware. However, CUDA requires solid knowledge on GPU technology and it may cause error-prone and time-consuming work if legacy code needs to be rewritten <xref ref-type="bibr" rid="bib1.bibx54" id="paren.73"/>.</p>
      <p id="d1e8840">OpenACC can help to overcome the practical difficulties of CUDA and reduces the coding workload for developers significantly. We considered OpenACC to be a more practical choice for porting MPTRAC to GPUs as the code of the model should remain understandable and maintainable by students and domain scientists that may not be familiar with the details of more complex GPU programming concepts such as CUDA. By using OpenACC, we found that we were able to maintain the same code base of the MPTRAC model rather than having to develop a CPU and a GPU version of the model independently of each other.  Next to easiness in terms of maintenance and portability of the code, the common code base is considered a significant advantage to check for bit-level agreement of CPU and GPU computations and reproducibility of simulation results.</p>
      <p id="d1e8844">Algorithm 1 illustrates the GPU porting of the C code of MPTRAC by means of OpenACC pragmas. Two important aspects need to be considered. First, the pragma <monospace>#pragma acc parallel loop independent gang vector</monospace> is used to distribute the calculations within the loops over the particles over the compute elements of the GPU device. In this example, the loop over the particles within the advection module used to calculate the trajectories is offloaded to GPUs. For compute kernels that are used inside of a GPU parallelized code block, the compiler will create both a CPU and a GPU version of the kernel. In this example, the pragma <monospace>#pragma acc routine (intpol_met_time_3d)</monospace> instructs the compiler to create CPU and GPU code for the function used to interpolate meteorological data, as used within and outside of the advection module. Algorithm 1 also shows that if the code is compiled without GPU support (as identified by the <monospace>_OPENACC</monospace> flag), the fall-back option is to apply OpenMP parallelization for the compute loops on the CPUs (<monospace>#pragma omp parallel for default(shared)</monospace>). The OpenMP parallelization was already implemented in an earlier, CPU-only version of MPTRAC.</p>
      <p id="d1e8859"><?xmltex \hack{\begin{figure*}[p]}?><?xmltex \igopts{width=483.69685pt}?><inline-graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-g01.png"/><?xmltex \hack{\end{figure*}}?></p>
      <p id="d1e8867">The second aspect of GPU porting by means of OpenACC is concerned with the data management. In principle, the data required for a calculation need to be copied from CPU to GPU memory before the calculation and need to be copied back from GPU to CPU memory after the computation finished. Although NVIDIA's “CUDA Unified Memory” technique makes sure, these data transfers can be done automatically, frequent data transfers can easily become a bottleneck of the code. Therefore, we implemented additional pragmas to instruct the compiler when a data transfer is actually required.</p>
      <p id="d1e8870">The pragma <monospace>#pragma acc enter data create(ctl,atm[:1],met0[:1],met1[:1])</monospace> in Algorithm 1 creates a data region and allocates memory for the model control parameters (<monospace>ctl</monospace>), air parcel data (<monospace>atm</monospace>), and meteorological data (<monospace>met0</monospace>, <monospace>met1</monospace>) on the GPU. The data region is deleted and the GPU memory is freed by <monospace>#pragma acc exit data delete(ctl,atm,met0,met1)</monospace> at the end of the main function. Within the data region, the associated data will remain present in GPU memory. Within the data region, the pragma <monospace>#pragma acc update device(atm[:1],ctl)</monospace> is used to explicitly copy data from CPU to GPU memory, whereas <monospace>#pragma acc update host(atm[:1])</monospace> is used to copy data from GPU to CPU memory. In the MPTRAC model, a single large data region was created around the main loop over the time steps of the model. As a consequence, the calls to all physics and chemistry modules will be conducted completely on GPU memory. Data transfers between CPUs and GPUs are needed only for updating of the meteorological data or for writing model output.</p>
      <p id="d1e8898">In total, about 60 pragmas had to be implemented in the code to parallelize the computational loops and to handle the data management to facilitate the GPU porting of MPTRAC by means of OpenACC. Code parts that were ported to GPUs are highlighted in the call graph shown in Fig. <xref ref-type="fig" rid="Ch1.F1"/>. Next to the OpenACC pragmas, some additional code changes were necessary to enable the GPU porting. In the original CPU code, the GNU Scientific Library (GSL) was applied to conduct a number of tasks, for instance, to compute statistics of data arrays. As the GSL is not ported to GPUs, the corresponding functions had to be rewritten without usage of the GSL. The GSL was also used to generate random numbers. Here, we implemented NVIDIA's CUDA random number generation library (cuRAND) as an efficient replacement for distributed random number generation on GPUs. Also, we found that some standard math library functions were not available with Portland Group, Inc. (PGI)'s C compiler; e.g., a replacement had to be implemented for the math function <monospace>fmod</monospace> used to calculate floating point modulo. For earlier versions of the PGI C compiler, we also found a severe bug when large data structures (<inline-formula><mml:math id="M451" display="inline"><mml:mrow><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">GB</mml:mi></mml:mrow></mml:mrow></mml:math></inline-formula>) were transferred from CPU to GPU memory. Nevertheless, despite a number of technical issues, we consider the porting of MPTRAC to GPUs by means of OpenACC to be straight forward and would recommend it for other applications.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Model verification and performance analysis</title>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Description of the GPU test system and software environment</title>
      <p id="d1e8936">The model verification and performance analysis described in this section was conducted on the  JUWELS system <xref ref-type="bibr" rid="bib1.bibx43" id="paren.74"/>. The JUWELS system is considered as a major target system for running Lagrangian transport simulations with MPTRAC in future work. The JUWELS system is composed of a CPU module, referred to as the JUWELS Cluster, and a GPU module, referred to as the JUWELS Booster. The JUWELS Booster and the JUWELS Cluster can be used jointly as a heterogeneous, modular supercomputer, or they can be used independently of each other. The JUWELS Booster was used as a test system in this study.</p>
      <p id="d1e8942">The JUWELS Booster consists of 936 compute nodes, each equipped with four NVIDIA A100 Tensor Core GPUs. Each NVIDIA A100 GPU comprises 6912 INT32 and 6912 FP32 compute cores as well as 3456 FP64 compute cores, the latter being most relevant for us because most calculations in MPTRAC are conducted at double precision. It also features 432 tensor cores, providing <inline-formula><mml:math id="M452" display="inline"><mml:mrow><mml:mn mathvariant="normal">8</mml:mn><mml:mo>×</mml:mo></mml:mrow></mml:math></inline-formula>  peak speed-up for mixed-precision matrix multiplication compared to standard FP32 precision operations. The numbers of compute elements listed here indicate the large degree of parallelism required for the compute problem, which is exploited by large numbers of particles in the Lagrangian transport simulations. The A100 GPUs are equipped with 40 GB HBM2e memory per device, connected with the third-generation NVLink lossless, high-bandwidth, low-latency shared memory interconnect, providing 1555 GB s<inline-formula><mml:math id="M453" 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> of memory bandwidth. The A100 GPU supports the new Compute Capability 8.0. <xref ref-type="bibr" rid="bib1.bibx62" id="text.75"/> provides a detailed description of the Ampere architecture.</p>
      <p id="d1e8970">The JUWELS Booster GPUs are hosted by AMD EPYC Rome 7402 CPUs. Each compute node of the Booster comprises two CPU sockets, four non-uniform memory access (NUMA) domains per CPU, and six compute cores per NUMA domain, which provide two-way simultaneous multithreading. Up to 48 physical threads or 96 virtual threads can be executed on the CPUs of a compute node. The compute nodes are equipped with 512 GB DDR4-3200 RAM. They are connected by a Mellanox HDR200 InfiniBand ConnectX 6 network in a DragonFly+ topology. CPUs, GPUs, and network adapters are connected via two PCIe Gen 4 switches with 16 PCIe lanes going to each device. A 350 GB s<inline-formula><mml:math id="M454" 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> network connection IBM Spectrum Scale (GPFS) parallel file system is implemented. As of November 2020, the JUWELS Booster yields a peak performance (Rpeak) of 70.98 PFlop s<inline-formula><mml:math id="M455" 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> (see <uri>https://www.top500.org/lists/top500/2020/11/</uri>, last access: 21 May 2021).</p>
      <p id="d1e9000">The software environment on JUWELS is based on the CentOS 8 Linux distribution. Compute jobs are managed by the Slurm batch system with ParTec's ParaStation resource management. The JUWELS Booster software stack comprises the CUDA-aware ParTec ParaStation MPI and the NVIDIA HPC Software Development Kit (SDK), as used in this work. In particular, we used the PGI C Compiler (PGCC) version 21.5, which more recently was rebranded and integrated as NVIDIA C compiler (NVC) in NVIDIA's HPC SDK, and the GNU C compiler (GCC) version 10.3.0 to compile the GPU and CPU code, respectively. We applied the compile flag for strong optimization (<monospace>-O3</monospace>) for both GCC and PGCC. For other standard compile flags, please refer to the makefile in the MPTRAC code repository. MPTRAC was built with the NetCDF library version 4.7.4 and HDF5 library version 1.12.0 for file I/O.  GSL version 2.7 was used for generating random numbers on the CPUs. The cuRAND library from the CUDA Toolkit release 11.0 was applied for random number generation on the GPU devices.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Comparison of kinematic trajectory calculations</title>
      <p id="d1e9014">In this section, we discuss comparisons of kinematic trajectory calculations conducted with the CPU and GPU versions of the MPTRAC model. For the CPU simulations, we considered binaries created with two different C compilers. The CPU code compiled with GCC is considered here as a reference, as this compiler has been used in most of the previous work and earlier studies with MPTRAC. The second version of the CPU binaries as well as the GPU binaries were compiled with PGCC, which is the recommended compiler for GPU applications on the JUWELS Booster.</p>
      <p id="d1e9017">We first focus on comparisons of kinematic trajectories that were calculated with horizontal wind and vertical velocity fields of the ERA5 reanalysis. The calculations were conducted without subgrid-scale wind fluctuations, turbulent diffusion, or convection, as these parametrizations rely on different random number generators implemented in the cuRAND and GSL libraries and utilize a different parallelization approach for random number generation for the CPU and GPU code, respectively. Individual trajectories calculated with these modules being activated are therefore not directly comparable to each other. They can only be compared in a statistical sense, as in  Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>.</p>
      <p id="d1e9022">We globally distributed the trajectory seeds in the pressure range from the surface up to 0.1 hPa (about 0–64 km of log-pressure altitude). The starting time of the trajectories was 1 January 2017, 00:00 UTC, and the calculations cover 60 d of trajectory time. To evaluate the trajectories, we calculated AHTDs,  AVTDs,  RHTDs, and RVTDs at 6-hourly time intervals (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS4.SSS3"/>). Considering that the trajectory errors often significantly depend on the altitude range of the atmosphere and to enable comparisons with earlier work <xref ref-type="bibr" rid="bib1.bibx72 bib1.bibx38" id="paren.76"/>, we calculated the transport deviations for log-pressure height ranges of 0–2 km (boundary layer), 2–8 km (lower to middle troposphere), 8–16 km (middle troposphere to lower stratosphere), 16–32 km (lower to middle stratosphere), 32–48 km (middle to upper stratosphere), and 48–64 km (mesosphere).</p>
      <p id="d1e9030">The absolute transport deviations between the GPU and CPU versions of MPTRAC with the GCC and PGCC compilers are shown in Fig. <xref ref-type="fig" rid="Ch1.F6"/>. Up to 30 d of trajectory time, the transport deviations between the different binaries and versions of the code are negligible; i.e., they are <inline-formula><mml:math id="M456" display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> km for the AHTDs and <inline-formula><mml:math id="M457" display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> m for the AVTDs at all heights. This corresponds to RHTDs and RVTDs of <inline-formula><mml:math id="M458" display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">0.01</mml:mn></mml:mrow></mml:math></inline-formula> % (not shown). The small deviations between the different binaries during the first 30 d might be attributed to different compiler settings, which enforce aggressive optimizations to achieve performance improvements coming by the price of rounding errors in the math library functions. After about 30 d, the small rounding errors further accumulate so that after 60 d, the differences between the PGCC GPU and CPU code results increase to up to 120 km (0.3 %) in the horizontal domain and about 70 m (0.4 %) in the vertical domain. The smallest transport deviations are found in the lower stratosphere (16 to 32 km of altitude), which is consistent with earlier work showing particularly low deviations for this height range due to favorable background wind and velocity conditions <xref ref-type="bibr" rid="bib1.bibx38" id="paren.77"/>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F6"><?xmltex \currentcnt{6}?><?xmltex \def\figurename{Figure}?><label>Figure 6</label><caption><p id="d1e9071">Absolute <bold>(a)</bold> horizontal and <bold>(b)</bold> vertical transport deviations (AHTDs and AVTDs) between kinematic trajectories calculated with the CPU and GPU code of MPTRAC as compiled with the PGI C compiler (colored curves). Simulations start on 1 January 2017, 00:00 UTC and comprise 60 d of simulation time. For this test case, <inline-formula><mml:math id="M459" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> trajectory seeds were globally distributed in different height ranges between the lower troposphere and the mesosphere (see plot key). Transport deviations between simulations using the CPU code compiled with the GNU and PGI C compilers are shown for comparison (light gray, solid curves). Transport deviations due to subgrid-scale wind fluctuations and diffusion are also shown for reference (dark gray, dashed curves).</p></caption>
          <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f06.png"/>

        </fig>

      <p id="d1e9097">Note that the CPU and GPU binaries created by PGCC (colored curves in Fig. <xref ref-type="fig" rid="Ch1.F6"/>) show somewhat better agreement (by a factor of 3 to 5) compared to deviations between the CPU binaries created by GCC and PGCC (solid gray curves). These differences between the compilers may also be attributed to different optimization settings applied at compile time. However, overall, the transport deviations found here are several orders of magnitude smaller than deviations caused by other factors, such as deviations related to different numerical integration schemes and the choice of the model time step <xref ref-type="bibr" rid="bib1.bibx72" id="paren.78"/> or the impact of subgrid-scale winds and diffusion <xref ref-type="bibr" rid="bib1.bibx38" id="paren.79"/>. Therefore, we consider this result to show excellent agreement between the kinematic trajectory calculations with the GPU and CPU code and the different compilers.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Comparison of synthetic tracer simulations</title>
      <p id="d1e9116">With our current code, we cannot directly compare individual trajectories including the effects of turbulent diffusion and subgrid-scale winds as well as convection because these modules add stochastic perturbations to the trajectories that are created by means of the different random number generators of the cuRAND library for the GPUs and the GSL library for the CPUs. In order to compare CPU and CPU simulations considering these modules, we conducted global transport simulations of synthetic tracers with ERA5 data. In these simulations, we included the tropospheric synthetic tracers (E90 and NH50) as well as the stratospheric synthetic tracer (ST80) (Sect. <xref ref-type="sec" rid="Ch1.S2.SS3.SSS10"/>). The simulations were initialized with <inline-formula><mml:math id="M460" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> globally homogeneously distributed air parcels in the height range from the surface up to the lower mesosphere on 1 January 2017, 00:00 UTC. The simulations cover the entire time range of the year 2017. We assigned volume mixing ratios to the individual air parcels according to the specific initial and boundary conditions of the synthetic tracers (Sect. <xref ref-type="sec" rid="Ch1.S2.SS3.SSS10"/>). Expecting that differences between individual trajectories are largely canceling out due to the averaging, we then compared monthly mean zonal means of the synthetic tracer volume mixing ratios from the CPU and GPU simulations.</p>
      <p id="d1e9134">As a representative example, Fig. <xref ref-type="fig" rid="Ch1.F7"/>c shows the monthly mean zonal mean distribution of E90 in July 2017 from our ERA5 simulations with the GPU code of MPTRAC. Following a spin-up time of half a year, i.e., about twice the lifetime of the E90 tracer, it is found that E90 is well mixed and rather homogeneously distributed throughout the troposphere. The 90 ppbv contour of the E90 tracer is expected to indicate the chemical tropopause <xref ref-type="bibr" rid="bib1.bibx68" id="paren.80"/>. For our simulations, we found that the 90 ppbv contour line of E90 agrees well with the monthly mean zonal dynamical tropopause. The E90 distribution in Fig. <xref ref-type="fig" rid="Ch1.F7"/>c qualitatively compares well with the climatological mean presented by <xref ref-type="bibr" rid="bib1.bibx1" id="text.81"/>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F7" specific-use="star"><?xmltex \currentcnt{7}?><?xmltex \def\figurename{Figure}?><label>Figure 7</label><caption><p id="d1e9149">Monthly mean zonal means of the synthetic tracers ST80, E90, and NH50 in July 2017 from GPU calculations <bold>(a, c, e)</bold> as well as corresponding differences between GPU and CPU simulations <bold>(b, d, f)</bold>. Simulations were initialized on 1 January 2017, 00:00 UTC, with <inline-formula><mml:math id="M461" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> homogeneously distributed trajectory seeds in the troposphere and stratosphere and are based on ERA5 meteorological input data. The synthetic tracer data are sampled on 3<inline-formula><mml:math id="M462" display="inline"><mml:msup><mml:mi/><mml:mo>∘</mml:mo></mml:msup></mml:math></inline-formula> latitude and 500 m altitude bins. The black curve shows the monthly mean zonal mean dynamical tropopause.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f07.png"/>

        </fig>

      <p id="d1e9185">Figure <xref ref-type="fig" rid="Ch1.F7"/>d shows the differences of the E90 monthly mean zonal means between the GPU and CPU code. Despite the fact that even without diffusion or convection being considered, individual CPU and GPU trajectories already differ significantly after 60 d (Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>), the E90 monthly mean zonal means of the CPU and GPU code agree quite well. The differences of the means are typically below <inline-formula><mml:math id="M463" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">8</mml:mn></mml:mrow></mml:math></inline-formula> ppb, which is about 5 % of the maximum volume mixing ratio of the E90 tracer. The largest differences between the CPU and GPU simulations are found near the tropopause. This region is most sensitive to statistical effects, as the tracer gradients are largest in this region. However, no systematic bias between the E90 distributions of the CPU and GPU code was revealed. The remaining differences are attributed to statistical noise, as can be seen by running simulations with different random seeds. Overall, this comparison of the E90 simulations shows good agreement between the GPU and CPU simulations.</p>
      <p id="d1e9202">Figure <xref ref-type="fig" rid="Ch1.F7"/>a and b show the July 2017 simulation results for the stratospheric synthetic tracer (ST80). Figure <xref ref-type="fig" rid="Ch1.F7"/>e and f show the simulation results for the Northern Hemisphere tracer (NH50). Similar to E90, the comparisons for ST80 and NH50 show that individual differences between the monthly mean zonal means from the CPU and GPU simulations are mostly below <inline-formula><mml:math id="M464" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> % of the maximum volume mixing ratios and that the largest differences are found in regions where sharp gradients are present in the tracer fields. Recognizing the effects of the spin-up time of the simulations and that stratospheric transport has much longer timescales than tropospheric transport, which causes some latency in particular for ST80, similar results are also found for the other months of the year 2017.</p>
</sec>
<sec id="Ch1.S3.SS4">
  <label>3.4</label><title>OpenMP scaling analysis</title>
      <p id="d1e9227">Some parts of the MPTRAC code cannot or have not been ported to GPUs. This includes the file input and output operations, which are directed via the hosting CPUs and the CPU memory, and the functions that are used for preprocessing of the meteorological data, such as the codes to calculate geopotential heights, potential vorticity, convective available potential energy, the planetary boundary layer, the tropopause height, and others. For those parts of the MPTRAC code that have not been ported to GPUs, it is important to study the OpenMP scalability on the host devices. In particular, good OpenMP scaling up to 12 threads on the JUWELS Booster needs to be demonstrated, as this is the fraction of physical cores shared by each GPU device on a JUWELS compute node.</p>
      <p id="d1e9230">Here, we focus on an OpenMP strong scaling test conducted by means of binaries compiled with the PGI compiler, as this is the recommended compiler for GPU applications on JUWELS Booster. For this test, the OpenMP static scheduling strategy was applied. The pinning of the threads to the CPU cores was optimized compared to the default settings of the system by using a fixed assignment of the threads to the sockets of the nodes (by setting the environment variables <monospace>OMP_PROC_BIND = true</monospace> and <monospace>OMP_PLACES = sockets</monospace>, respectively). We measured the runtime and speed-up for different numbers of OpenMP threads for a fixed set of <inline-formula><mml:math id="M465" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> globally distributed particles for 24 h of simulation time starting 1 January 2017, 00:00 UTC. The trajectory seeds for this test are the same as those used for comparing the kinematic trajectory calculations in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>. However, similar to the synthetic tracer simulations described in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>, we not only calculated kinematic trajectories but also included the effects of turbulent diffusion and subgrid-scale wind fluctuations as well as convection in these calculations.</p>
      <p id="d1e9254">The results of the OpenMP strong scaling test are shown in Fig. <xref ref-type="fig" rid="Ch1.F8"/>. The runtimes indicate that the calculations in the physics modules (trajectories, diffusion, convection, etc.) and the meteorological data processing yield the major contributions to total runtime up to 12 OpenMP threads. At larger numbers of threads, the file input becomes the leading contribution to the total runtime. Concerning the GPU simulations, the OpenMP scaling of the meteorological data processing on the CPUs is of interest, as this is the leading component in the calculations that was not ported to GPUs. In contrast, the scaling of the physics calculations can be ignored here for now, as these calculations were ported to GPUs. For the meteorological data processing, OpenMP provides a speed-up of 10.7 (a parallel efficiency of 90 %) up to 12 threads and 20.2 (84 %) up to 24 threads (Fig. <xref ref-type="fig" rid="Ch1.F8"/>b). If the simulations cover more than one socket (48 threads), the parallel efficiency drops to 65 %. Enabling simultaneous multithreading (SMT) provides a further improvement of the speed-up from 31.3 at 48 threads to 37.2 at 96 threads. The OpenMP scaling of the meteorological data processing is particularly efficient compared to other parts of the code. This might be related to the fact that we selected a rather suitable memory layout for the meteorological data. Vertical columns of the meteorological data are ordered sequentially in memory, which allows for efficient use of memory caches as the preprocessing of the meteorological data is mostly conducted on vertical columns of the data.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F8"><?xmltex \currentcnt{8}?><?xmltex \def\figurename{Figure}?><label>Figure 8</label><caption><p id="d1e9264">Runtime <bold>(a)</bold> and speed-up <bold>(b)</bold> of an OpenMP strong scaling test for MPTRAC simulations on JUWELS Booster CPUs. The simulations cover a 24 h time period starting on 1 January 2017, 00:00 UTC and use ERA5 input data. The simulations were initialized with a fixed number of <inline-formula><mml:math id="M466" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles with homogeneously distributed trajectory seeds. Colored curves show the OpenMP scaling for different parts of the code (see text for details). The dotted  black curve indicates linear speed-up.</p></caption>
          <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f08.png"/>

        </fig>

</sec>
<sec id="Ch1.S3.SS5">
  <label>3.5</label><title>GPU scaling analysis</title>
      <p id="d1e9299">In this section, we discuss the GPU scaling of MPTRAC simulations conducted on JUWELS Booster nodes with respect to the problem size, i.e., the number of particles or trajectories that are calculated. The analysis of the scaling behavior with respect to the problem size is of interest because the NVIDIA A100 GPUs provide a particularly large number of parallel compute elements (Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>), which require a high degree of parallelism of the problem in order fully exploit the GPU computing capacities. Here, we tested problem sizes of <inline-formula><mml:math id="M467" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">0</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M468" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles in the simulations. We measured the runtime for simulations starting on 1 January 2017, 00:00 UTC, covering 24 h of simulation time. The simulations were driven by hourly ERA5 input data. Particle and grid output were written every 6 h.</p>
      <p id="d1e9326">Figure <xref ref-type="fig" rid="Ch1.F9"/>a shows the runtime of the MPTRAC simulations required for different numbers of particles on the JUWELS Booster A100 GPU devices. The scaling analysis shows that the total runtime required for the simulations is rather constant and in the range of 122 to 127 s between <inline-formula><mml:math id="M469" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">0</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M470" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles. For larger numbers of particles, linear scaling is observed. The total runtime increases up to 153 s for <inline-formula><mml:math id="M471" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">7</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles and 409 s for <inline-formula><mml:math id="M472" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F9"><?xmltex \currentcnt{9}?><?xmltex \def\figurename{Figure}?><label>Figure 9</label><caption><p id="d1e9377">Scaling analysis showing <bold>(a)</bold> the runtime of MPTRAC simulations with respect to the number of particles on a JUWELS Booster GPU node and <bold>(b)</bold> the speed-up of GPU over CPU-only calculations. The simulations cover a 24 h time period starting on 1 January 2017, 00:00 UTC and used ERA5 input data. Colored curves in panel <bold>(a)</bold> refer to different parts of the code (see plot key). The speed-up of GPUs over CPUs shown in panel <bold>(b)</bold> was calculated for simulations with and without using NVIDIA's Unified Memory capability.</p></caption>
          <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f09.png"/>

        </fig>

      <p id="d1e9399">The analysis of individual contributions shows that reading of the ERA5 input data (60 to 64 s, referred to as INPUT in Fig. <xref ref-type="fig" rid="Ch1.F9"/>a) and preprocessing of the meteorological data (60 to 62 s, referred to as METEO) accounts for most of the total runtime for <inline-formula><mml:math id="M473" display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">7</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles. The runtime for this part of the code depends on the size of the meteorological input data and is independent of the number of particles. The computing time required to calculate the trajectories, diffusion, convection, and the decay of particle mass (referred to as PHYSICS) is rather constant (0.1 to 0.4 s) for <inline-formula><mml:math id="M474" display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">4</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles, followed by linear scaling for larger numbers of particles. A transition from constant to linear scaling in the range of <inline-formula><mml:math id="M475" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">3</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M476" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">4</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles can be expected, as at least 3456 particles must be simulated at once, in order to fully exploit the A100 parallel compute capacities (Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>). For smaller numbers of particles, a fraction of the compute elements of the GPU device remains unused. Beyond <inline-formula><mml:math id="M477" display="inline"><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">7</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles, the runtime required for the physics calculations exceeds the runtime required for file input and meteorological data preprocessing. The runtime for file output can be neglected in the current setup.</p>
      <p id="d1e9470">The same scaling test was used to estimate the speed-up achieved by applying the GPU device over a simulation that was conducted on CPUs only. Note that defining a GPU-over-CPU speed-up is a difficult task, in general, as the results will depend not only on the GPU device but also on the individual compute capacities of both the CPU and GPU devices. Nevertheless, to estimate this speed-up, we conducted corresponding CPU-only simulations and runtime measurements by applying 12 cores of a JUWELS Booster compute node. A number of 12 cores was chosen here, as this corresponds to the number of physical cores sharing a GPU device on a booster node. We think that this specific approach of estimating the GPU-over-CPU speed-up provides a fair and more realistic comparison in contrast to comparing the GPU compute capacity to just a single CPU core, for example.</p>
      <p id="d1e9473">The estimated speed-up due to applying the GPU devices of a JUWELS Booster compute node is shown in Fig. <xref ref-type="fig" rid="Ch1.F9"/>b. In the case of not using the “managed memory” option (also referred to as NVIDIA Unified Memory), which corresponds to the results shown earlier, we found a GPU-over-CPU speed-up of less than 1 for <inline-formula><mml:math id="M478" display="inline"><mml:mrow><mml:mo>≤</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles; i.e., the GPU simulations are actually slower than the CPU-only simulations. This behavior changes starting from about <inline-formula><mml:math id="M479" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles, with an actual speed-up of about 1.5 for <inline-formula><mml:math id="M480" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">6</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles and about 5.3 for <inline-formula><mml:math id="M481" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">7</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles.  The GPU-over-CPU speed-up finally saturates near 16.4 for <inline-formula><mml:math id="M482" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles. At these particle numbers, the speed-up of the total runtime is largely determined by the scaling for the physics calculations. Additionally, we tested NVIDIA's Unified Memory capability, which allows the programmer to avoid specifying explicit data transfers between the host and the device, by triggering those data transfers automatically, if memory cache misses occur. It is convenient not having to specify the data transfers explicitly in the code, but our tests showed that the managed memory option causes a performance degradation of about 20 % in the GPU-over-CPU speed-up.</p>
      <p id="d1e9536">Finally, we conducted a more detailed runtime profile analysis of the GPU simulations based on about 40 individual timers, which are implemented directly into the code. Table <xref ref-type="table" rid="Ch1.T5"/> shows the results of the profile analysis for the largest GPU simulation conducted here, covering <inline-formula><mml:math id="M483" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles. This is the most compute-intensive simulation, in which about 67 % of the computing time are spent in the physics modules of MPTRAC. The calculation of the trajectories (referred to as MODULE_ADVECTION in Table <xref ref-type="table" rid="Ch1.T5"/>) require about 47 % of the runtime. Adding stochastic perturbations to the trajectories to represent diffusion and subgrid-scale wind fluctuations requires 3 % and 7 % of the runtime, respectively. Simulating convection and enforcing particles to remain within the model domain both require about 3 %–4 % of the runtime.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T5"><?xmltex \currentcnt{5}?><label>Table 5</label><caption><p id="d1e9557">Runtime profile of an MPTRAC simulation using ERA5 input data with <inline-formula><mml:math id="M484" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles for 24 h simulation time. Runtime measurements were conducted on a JUWELS Booster GPU node. Timers with less than 0.01 s are not shown.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.93}[.93]?><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Timer name</oasis:entry>
         <oasis:entry rowsep="1" namest="col2" nameend="col3" align="center">Runtime </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">[s]</oasis:entry>
         <oasis:entry colname="col3">[%]</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">TIMER_TOTAL</oasis:entry>
         <oasis:entry colname="col2">409.00</oasis:entry>
         <oasis:entry colname="col3">100.00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{4mm}}?> TIMER_INPUT</oasis:entry>
         <oasis:entry colname="col2">62.19</oasis:entry>
         <oasis:entry colname="col3">15.20</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_GET_MET</oasis:entry>
         <oasis:entry colname="col2">0.64</oasis:entry>
         <oasis:entry colname="col3">0.16</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_ATM</oasis:entry>
         <oasis:entry colname="col2">1.36</oasis:entry>
         <oasis:entry colname="col3">0.33</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_MET_LEVELS</oasis:entry>
         <oasis:entry colname="col2">59.77</oasis:entry>
         <oasis:entry colname="col3">14.61</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_MET_SURFACE</oasis:entry>
         <oasis:entry colname="col2">0.42</oasis:entry>
         <oasis:entry colname="col3">0.10</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{4mm}}?> TIMER_METPROC</oasis:entry>
         <oasis:entry colname="col2">60.04</oasis:entry>
         <oasis:entry colname="col3">14.68</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_MET_CAPE</oasis:entry>
         <oasis:entry colname="col2">22.09</oasis:entry>
         <oasis:entry colname="col3">5.40</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_MET_CLOUD</oasis:entry>
         <oasis:entry colname="col2">1.99</oasis:entry>
         <oasis:entry colname="col3">0.49</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_MET_EXTRAPOLATE</oasis:entry>
         <oasis:entry colname="col2">3.51</oasis:entry>
         <oasis:entry colname="col3">0.86</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_MET_GEOPOT</oasis:entry>
         <oasis:entry colname="col2">20.12</oasis:entry>
         <oasis:entry colname="col3">4.92</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_MET_PBL</oasis:entry>
         <oasis:entry colname="col2">0.95</oasis:entry>
         <oasis:entry colname="col3">0.23</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_MET_PV</oasis:entry>
         <oasis:entry colname="col2">2.58</oasis:entry>
         <oasis:entry colname="col3">0.63</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_READ_MET_TROPO</oasis:entry>
         <oasis:entry colname="col2">8.80</oasis:entry>
         <oasis:entry colname="col3">2.15</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{4mm}}?> TIMER_PHYSICS</oasis:entry>
         <oasis:entry colname="col2">272.70</oasis:entry>
         <oasis:entry colname="col3">66.68</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_MODULE_ADVECTION</oasis:entry>
         <oasis:entry colname="col2">191.84</oasis:entry>
         <oasis:entry colname="col3">46.90</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_MODULE_CONVECTION</oasis:entry>
         <oasis:entry colname="col2">15.17</oasis:entry>
         <oasis:entry colname="col3">3.71</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_MODULE_DECAY</oasis:entry>
         <oasis:entry colname="col2">3.31</oasis:entry>
         <oasis:entry colname="col3">0.81</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_MODULE_METEO</oasis:entry>
         <oasis:entry colname="col2">6.26</oasis:entry>
         <oasis:entry colname="col3">1.53</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_MODULE_POSITION</oasis:entry>
         <oasis:entry colname="col2">13.04</oasis:entry>
         <oasis:entry colname="col3">3.19</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_MODULE_TURBDIFF</oasis:entry>
         <oasis:entry colname="col2">12.68</oasis:entry>
         <oasis:entry colname="col3">3.10</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_MODULE_TURBMESO</oasis:entry>
         <oasis:entry colname="col2">29.68</oasis:entry>
         <oasis:entry colname="col3">7.26</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_TIME STEPS</oasis:entry>
         <oasis:entry colname="col2">0.72</oasis:entry>
         <oasis:entry colname="col3">0.18</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{4mm}}?> TIMER_OUTPUT</oasis:entry>
         <oasis:entry colname="col2">9.58</oasis:entry>
         <oasis:entry colname="col3">2.34</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_WRITE_ATM</oasis:entry>
         <oasis:entry colname="col2">5.19</oasis:entry>
         <oasis:entry colname="col3">1.27</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_WRITE_GRID</oasis:entry>
         <oasis:entry colname="col2">4.39</oasis:entry>
         <oasis:entry colname="col3">1.07</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{4mm}}?> TIMER_MEMORY</oasis:entry>
         <oasis:entry colname="col2">4.47</oasis:entry>
         <oasis:entry colname="col3">1.10</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_ACC_INIT</oasis:entry>
         <oasis:entry colname="col2">0.29</oasis:entry>
         <oasis:entry colname="col3">0.07</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_CREATE_DATA_REGION</oasis:entry>
         <oasis:entry colname="col2">0.02</oasis:entry>
         <oasis:entry colname="col3">0.00</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_FREE</oasis:entry>
         <oasis:entry colname="col2">0.02</oasis:entry>
         <oasis:entry colname="col3">0.01</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_UPDATE_DEVICE</oasis:entry>
         <oasis:entry colname="col2">0.85</oasis:entry>
         <oasis:entry colname="col3">0.21</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><?xmltex \hack{\hspace*{8mm}}?> TIMER_UPDATE_HOST</oasis:entry>
         <oasis:entry colname="col2">3.29</oasis:entry>
         <oasis:entry colname="col3">0.81</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table></table-wrap>

      <p id="d1e10029">Next to the physics modules, other parts of the code required about 33 % of the overall runtime of this large-scale simulation. Reading the input data required about 15 % of the runtime, where most time was needed to read the 3-D level data of the meteorological input data. A similar amount of time (about 15 %) was required for the processing of the meteorological data, with most time spent on calculating CAPE (5.4 %), geopotential heights (4.9 %), and the tropopause (2.1 %). The runtime required for output was 2.4 % in this simulation. However, it needs to be considered that output was written only 6-hourly here. The runtime required for output would scale accordingly for more frequent output. The runtime required for data transfers between GPU and CPU memory was also about 1 %, with most time spent on transferring the input meteorological data from CPU to GPU memory. Although this profile analysis did not reveal any major bottlenecks, there is room for further improving the code of MPTRAC. Most attention should be devoted to further optimizing the advection module, as it requires most of the runtime for large-scale simulations.</p>
</sec>
<sec id="Ch1.S3.SS6">
  <label>3.6</label><title>Timeline analysis of GPU simulations</title>
      <p id="d1e10040">For a more detailed analysis of the large-scale MPTRAC simulation comprising <inline-formula><mml:math id="M485" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles as discussed in Sect. <xref ref-type="sec" rid="Ch1.S3.SS5"/>, we analyzed the timeline of the simulation generated with the NVIDIA Nsight Systems performance analysis tool. Figure <xref ref-type="fig" rid="Ch1.F10"/>a shows the timeline for the entire 24 h simulation time period, completed in a runtime of 460 s. Note that the runtime of the Nsight Systems run comprises an overhead of about 50 s compared to the corresponding runtime profile presented in Sect. <xref ref-type="sec" rid="Ch1.S3.SS5"/>. Figure <xref ref-type="fig" rid="Ch1.F10"/>b shows a zoom of the timeline for about 18 s of runtime, which comprises the simulation time period in between two time steps of the ERA5 data.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F10" specific-use="star"><?xmltex \currentcnt{10}?><?xmltex \def\figurename{Figure}?><label>Figure 10</label><caption><p id="d1e10064">Timeline analysis of a 24 h MPTRAC simulation comprising <inline-formula><mml:math id="M486" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles driven by the ERA5 reanalysis for 1 January 2017. As an example, screenshots from the NVIDIA Nsight Systems performance analysis tool show the timeline for <bold>(a)</bold> the entire simulation and <bold>(b)</bold> a zoom for 1 h simulation time (in between two time steps of the ERA5 input data). The performance data presented here are made available via an open data repository <xref ref-type="bibr" rid="bib1.bibx30" id="paren.82"/>. See text for details.</p></caption>
          <?xmltex \igopts{width=483.69685pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f10.png"/>

        </fig>

      <p id="d1e10093">The black bars on top of Fig. <xref ref-type="fig" rid="Ch1.F10"/>a and b show the CPU utilization of a selected subset of the 96 virtual threads operating on a JUWELS compute node. The analysis of the CPU utilization shows that a single CPU, the master thread, is utilized during most of the runtime, i.e., to conduct computation, file I/O, or data transfers with the GPU, whereas the remaining 11 threads assigned to a GPU device are utilized via OpenMP only when the meteorological data preprocessing is conducted.</p>
      <p id="d1e10099">The blue bars in the middle of Fig. <xref ref-type="fig" rid="Ch1.F10"/>a and b indicate the GPU utilization over time. In agreement with Sect. <xref ref-type="sec" rid="Ch1.S3.SS5"/>, the timeline analysis shows regular patterns over time, where in each block about 30 % of the runtime was spent on file I/O and meteorological data preprocessing whereas about 70 % of the runtime was used for the physics calculations on the GPUs. On the GPU devices, the timeline analysis shows that 97.3 % of the time was spent in the compute kernels whereas 2.7 % of the time was required for memory transfers. For the data transfers, most of the time (83.4 %) was spent on host-to-device transfers of the ERA5 data.</p>
      <p id="d1e10106">The colored bars at the bottom of Fig. <xref ref-type="fig" rid="Ch1.F10"/>a and b provide information for the NVIDIA Tools Extension (NVTX) markers, which were inserted directly into the MPTRAC model to indicate distinct sections of the code for profiling. The bars near the bottom also provide access to profiling information on the operating system (OS) runtime libraries (which are utilized for file I/O, for instance) as well as the OpenACC and CUDA application programming interfaces.</p>
      <p id="d1e10111">Overall, the timeline analysis indicates that the code is providing a high utilization rate of the GPU devices, which is a basic requirement for using the GPU devices efficiently. However, the timeline analysis also reveals optimization opportunities. Overlapping file I/O and GPU computations can hide the file I/O costs with the expense of a slight increase in memory usage and reduce the wall-clock time significantly. As the meteorological data are finally required on the GPU devices to conduct the Lagrangian transport simulations, it could also be beneficial to port the meteorological data processing from the CPU to the GPU devices to accelerate the processing.</p>
      <p id="d1e10114">Finally, a more detailed inspection of the physics calculations on the GPUs shows that about 70 % of the time is spent in the advection module, which is used to solve the trajectory equation. A more detailed analysis indicates that this part of the code is memory bound; i.e., the runtime is limited by the GPU's global memory bandwidth. Future work should focus on optimizing this specific bottleneck of the GPU code by improving data locality and memory access patterns on the GPU devices.</p>
</sec>
<sec id="Ch1.S3.SS7">
  <label>3.7</label><title>Multi-GPU usage and MPI scaling test</title>
      <p id="d1e10125">MPTRAC provides a hybrid MPI–OpenMP–OpenACC parallelization to fully exploit the compute capacities of the JUWELS Booster. Each compute node of the booster is equipped with four NVIDIA A100 Tensor Core GPU devices. In order to utilize the capacities of the compute nodes, a multi-GPU approach is required. In MPTRAC, multiple GPU devices can be utilized by means of the MPI parallelization. With the current approach, each MPI task is assigned a single GPU device to offload computations; i.e., four MPI tasks will be operating on each compute node in the multi-GPU mode. At the same time, each MPI task can access up to 12 physical CPU cores of each node by means of the OpenMP parallelization. This scheme is particularly suited for ensemble simulations, i.e., to run many distinct MPTRAC simulations as parallel MPI tasks.</p>
      <p id="d1e10128"><xref ref-type="bibr" rid="bib1.bibx56" id="text.83"/> demonstrated good strong and excellent weak scaling of the MPI–OpenMP hybrid parallelization of MPTRAC in an inverse modeling approach for up to 38 400 computing processes on the Tianhe-2 supercomputer at the National Supercomputer Center in Guangzhou, China. Here, strong scaling is defined as how the runtime varies with the number of compute elements for a fixed total problem size. Weak scaling is defined as how the runtime varies with the number of compute elements for a fixed problem size per compute element. As the MPI approach of MPTRAC is embarrassingly parallel and does not require any communication between the MPI tasks, performance degradation is generally not expected to be related to computation or communication but might arise from other limiting factors, such as file I/O.</p>
      <p id="d1e10133">Figure <xref ref-type="fig" rid="Ch1.F11"/> shows the results of an MPI weak scaling test on the JUWELS Booster, utilizing the MPI–OpenMP–OpenACC hybrid parallelization. Here, the test setup was slightly modified compared to earlier work. We conducted the simulations with <inline-formula><mml:math id="M487" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">7</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles. This number of particles was chosen to achieve similar fractions of runtime required for file I/O, meteorological data preprocessing, and the physics calculations. File I/O was given a significant fraction of the total runtime in this experiment (at least 25 %), as we expected this part to be most sensitive to performance degradation in the MPI scaling test. The simulation time was reduced from 24 to 6 h, to limit the overall consumption of computing resources. During the 6 h simulation time, ERA5 data for seven synoptic time steps were read from the global file system. Particle data and grid output were written once at the end of the 6 h time interval.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F11"><?xmltex \currentcnt{11}?><?xmltex \def\figurename{Figure}?><label>Figure 11</label><caption><p id="d1e10156">MPI weak scaling test for MPTRAC simulations on the JUWELS Booster compute nodes. Each task utilized one GPU device and shared 12 CPU cores. The simulations cover a 6 h time period starting on 1 January 2017, 00:00 UTC and used ERA5 input data. The simulations were initialized with a fixed number of <inline-formula><mml:math id="M488" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>×</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">7</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles with homogeneously distributed trajectory seeds. Colored curves show the means (solid) and standard deviations (dashed) of the runtime for different parts of the code.</p></caption>
          <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/15/2731/2022/gmd-15-2731-2022-f11.png"/>

        </fig>

      <p id="d1e10180">We measured the total runtime as well as the runtime for the physics calculations, meteorological data processing, file input, and file output for each MPI task. Figure <xref ref-type="fig" rid="Ch1.F11"/> shows the means and standard deviations of the runtime between 1 and 256 MPI tasks. The scaling test shows that the runtime for the meteorological data preprocessing and physics calculations is rather constant over the complete range of MPI tasks tested here. The runtime for file I/O is nearly constant up to 64 MPI tasks, whereas it significantly increases and shows larger fluctuations for 128 and 256 MPI tasks. Such limitations and fluctuations in runtime for file I/O are expected because the global file system of the JUWELS Booster is a shared resource and increasing data volumes from our own simulations as well as processes from other users of the system might have affected the runs while the scaling tests were conducted. The MPI scaling test indicates reasonable scaling up to 256 MPI tasks, but it also shows that file I/O will become a bottleneck for larger simulations, at least if large-scale data sets, such as the ERA5 reanalysis, are used to drive the simulations.</p>
</sec>
</sec>
<sec id="Ch1.S4" sec-type="conclusions">
  <label>4</label><title>Conclusions</title>
      <p id="d1e10195">In this paper, we provide a comprehensive description of the Lagrangian transport model, MPTRAC version 2.2. We give an overview on the main features of the model and briefly introduce the code structure. Requirements for the model input data, i.e., global meteorological reanalysis or forecast data as well as particle data, are discussed. MPTRAC provides the functionality to calculate various additional meteorological data from basic prognostic variables, such as the 3-D fields of pressure, temperature, winds, water vapor, and cloud ice and liquid water content. This includes functions to calculate geopotential heights and potential vorticity, to calculate additional cloud properties, such as the cloud-top pressure and the total column cloud water, to estimate the convective available potential energy, and to determine the boundary layer and the tropopause height level. Some evaluation of the results of the meteorological data processing code of MPTRAC with data provided along with ECMWF's ERA5 reanalysis is presented in the Supplement of this paper.</p>
      <p id="d1e10198">As its main component, MPTRAC provides an advection module to calculate the trajectories of air parcels based on the explicit midpoint method using given wind fields. Individual stochastic perturbations can be added to the trajectories to account for the effects of diffusion and subgrid-scale wind fluctuations. Additional modules are implemented to simulate the effects of unresolved convection, wet and dry deposition, sedimentation, hydroxyl chemistry, and other types of exponential loss processes of particle mass. MPTRAC provides a variety of output options, including the particle data itself, gridded data, profile data, station data, sampled data, ensemble data, and verification statistics and other measures of the model skills. Additional tools are provided to further analyze the particle output, including tools to calculate statistics of particle positions and transport deviations over time.</p>
      <p id="d1e10201">Next to providing a detailed model description, the focus of this study was to assess the potential for accelerating Lagrangian transport simulations by exploiting GPUs. We ported the Lagrangian transport model MPTRAC to GPUs by means of the OpenACC programming model. The GPU porting mainly comprised (i) creating a large data region over most of the code to keep the particle data in GPU memory during the entire simulation, (ii) implementing data transfers of the meteorological input data from CPU to GPU memory, (iii) implementing data transfers of the particle data from GPU to CPU memory for output, (iv) parallelization and offloading of the compute loops for the trajectories and other physical processes of the particles, and (v) removing calls to the GNU Scientific Library, which is not available for GPUs, and adding calls to the cuRAND library for random number generation on the GPUs. Next to various minor changes and fixes, about 60 OpenACC pragmas had to be introduced into the code to manage the data transfers and to offload the compute loops. With the OpenACC approach used here, it was possible to maintain the same code base for both the CPU and the GPU version of MPTRAC.</p>
      <p id="d1e10204">We verified and evaluated the GPU version of MPTRAC on the JUWELS Booster at the Jülich Supercomputing Centre, providing access to the latest generation of NVIDIA A100 Tensor Core GPUs. The verification is mostly focusing on comparison of CPU- and GPU-based simulations. A direct comparison of kinematic trajectories showed negligible deviations between the CPU and GPU code for up to 30 d of simulation time. The relative deviations slowly increase to about 0.3 % in the horizontal domain and 0.4 % in the vertical domain after 60 d. To evaluate the impact of additional processes, i.e., the diffusion and subgrid-scale wind fluctuations, convection, and exponential loss of particle mass, we conducted CPU and GPU simulations of synthetic tracers. The simulations for  tropospheric tracers E90 and NH50 as well as the stratospheric tracer ST80 showed that the differences between the monthly mean zonal means from the CPU and GPU simulations are well below <inline-formula><mml:math id="M489" display="inline"><mml:mrow><mml:mo>±</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> % of the maximum volume mixing ratios of the tracers. The largest differences are found in regions where sharp gradients are present in the tracer fields. Overall, these tests show very good agreement of the CPU and GPU simulations; i.e., the GPU code is considered to be verified with respect to the CPU version.</p>
      <p id="d1e10218">The performance and scaling behavior of the MPI–OpenMP–OpenACC hybrid parallelization of MPTRAC was also assessed on the JUWELS Booster. The OpenMP strong scaling analysis showed satisfying scalability of those parts of the code, which were not ported to GPUs. In particular, the code for meteorological data preprocessing showed an OpenMP parallel efficiency of about 85 % to 90 % for up to 12 physical CPU cores of a compute node. The GPU scaling analysis showed that positive speed-up in the GPU simulations compared to CPU-only simulations is achieved for <inline-formula><mml:math id="M490" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles or more. A maximum acceleration due to the utilization of the GPUs of about 16<inline-formula><mml:math id="M491" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> was achieved for <inline-formula><mml:math id="M492" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles. The runtime analysis of the large-scale simulation showed that GPU devices are utilized up to <inline-formula><mml:math id="M493" display="inline"><mml:mo>∼</mml:mo></mml:math></inline-formula>70 % of the time, with most of the time spent in the advection module used to calculate the trajectories. The MPI scaling test showed that MPTRAC can be used to conduct multi-GPU simulations and file I/O was identified as a potential bottleneck for simulations based on ERA5 comprising more than 256 MPI tasks.</p>
      <p id="d1e10257">We identified several opportunities for potential improvements of the GPU code of the MPTRAC model in future work. For large-scale simulations, comprising <inline-formula><mml:math id="M494" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">7</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M495" display="inline"><mml:mrow><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mn mathvariant="normal">8</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> particles, the trajectory code was found to use about 40 % of the total runtime of the simulations. The efficiency of this part of the code might be improved by optimizing the access to GPU memory and better utilization of the memory caches. However, this optimization would require significant changes of the code of the model, in particular of the data structures and layout. For simulations with fewer particles, the runtime requirements for file I/O become more relevant. We started to implement asynchronous file I/O for a future release of MPTRAC, which allows us to conduct file I/O operations on the CPUs at the same time as trajectory calculations are conducted on the GPUs. Nevertheless, we found that GPUs bear a large potential to conduct fast and effective Lagrangian transport simulations. The MPTRAC model is considered ready for production runs on the JUWELS Booster and other machines applying recent NVIDIA GPUs in its present form.</p>
</sec>

      
      </body>
    <back><notes notes-type="codeavailability"><title>Code availability</title>

      <p id="d1e10286">MPTRAC is made available under the terms and conditions of the GNU General Public License (GPL) version 3. Release version 2.2 of MPTRAC, described in this paper, has been archived on Zenodo <xref ref-type="bibr" rid="bib1.bibx39" id="paren.84"><named-content content-type="pre"><ext-link xlink:href="https://doi.org/10.5281/zenodo.5714528" ext-link-type="DOI">10.5281/zenodo.5714528</ext-link>,</named-content></xref>. New versions of MPTRAC are made available via the repository at <uri>https://github.com/slcs-jsc/mptrac</uri> (last access: 29 November 2021).</p>
  </notes><notes notes-type="dataavailability"><title>Data availability</title>

      <p id="d1e10302">MPTRAC performance analysis data obtained with NVIDIA Nsight Systems are made available via an open data repository (<ext-link xlink:href="https://doi.org/10.5281/zenodo.6330715" ext-link-type="DOI">10.5281/zenodo.6330715</ext-link>; Haghighi Mood and Hoffmann, 2022).</p>
  </notes><app-group>
        <supplementary-material position="anchor"><p id="d1e10308">The supplement related to this article is available online at: <inline-supplementary-material xlink:href="https://doi.org/10.5194/gmd-15-2731-2022-supplement" xlink:title="pdf">https://doi.org/10.5194/gmd-15-2731-2022-supplement</inline-supplementary-material>.</p></supplementary-material>
        </app-group><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d1e10317">LH developed the concept for this study and conducted most of the model development, GPU porting, verification, and performance analyses. PFB and KHM provided expertise on GPU usage and contributed to the performance analysis and optimization of the code. JC, ZC, SG, YH, ML, XW, and LZ are developers and users of the MPTRAC model and provided many suggestions for improving the model. NT and BV provided expertise on Lagrangian transport modeling and model development. GG and OS were responsible for downloading and preparing the ERA5 data for this study. LH wrote the manuscript with contributions from all co-authors.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d1e10323">The contact author has declared that neither they nor their co-authors have any competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d1e10329">Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.</p>
  </notes><ack><title>Acknowledgements</title><p id="d1e10335">The work described in this paper was supported by the Helmholtz Association of German Research Centres (HGF) through the projects Pilot Lab Exascale Earth System Modelling (PL-ExaESM) and Joint Lab Exascale Earth System Modelling (JL-ExaESM) as well as the Center for Advanced Simulation and Analytics (CASA) at Forschungszentrum Jülich. We acknowledge the Jülich Supercomputing Centre for providing computing time and storage resources on the  JUWELS supercomputer and for selecting MPTRAC to participate in the JUWELS Booster Early Access Program. We also acknowledge mentoring and support provided during the 2019 Helmholtz GPU hackathon. We are thankful to Sebastian Keller, CSCS, who helped us to develop the first version of MPTRAC that was capable of running on GPUs.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d1e10340">Xue Wu was supported by the National Natural Science Foundation of China (grant nos. 41975049 and 41861134034).<?xmltex \hack{\newline}?><?xmltex \hack{\newline}?>The article processing charges for this open-access<?xmltex \notforhtml{\newline}?>    publication were covered by the Forschungszentrum Jülich.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d1e10351">This paper was edited by Christoph Knote and reviewed by two anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><?xmltex \def\ref@label{{Abalos et~al.(2017)}}?><label>Abalos et al.(2017)</label><?label abalos17?><mixed-citation>Abalos, M., Randel, W. J., Kinnison, D. E., and Garcia, R. R.: Using the
Artificial Tracer e90 to Examine Present and Future UTLS Tracer Transport
in WACCM, J. Atmos. Sci., 74, 3383–3403, <ext-link xlink:href="https://doi.org/10.1175/JAS-D-17-0135.1" ext-link-type="DOI">10.1175/JAS-D-17-0135.1</ext-link>,
2017.</mixed-citation></ref>
      <ref id="bib1.bibx2"><?xmltex \def\ref@label{{Becker et~al.(2007)}}?><label>Becker et al.(2007)</label><?label becker07?><mixed-citation>Becker, A., Wotawa, G., De Geer, L.-E., Seibert, P., Draxler, R. R., Sloan,
C., D’Amours, R., Hort, M., Glaab, H., Heinrich, P., Grillon, Y.,
Shershakov, V., Katayama, K., Zhang, Y., Stewart, P., Hirtl, M., Jean, M.,
and Chen, P.: Global backtracking of anthropogenic radionuclides by means of
a receptor oriented ensemble dispersion modelling system in support of
Nuclear-Test-Ban Treaty verification, Atmos. Environ., 41, 4520–4534,
<ext-link xlink:href="https://doi.org/10.1016/j.atmosenv.2006.12.048" ext-link-type="DOI">10.1016/j.atmosenv.2006.12.048</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx3"><?xmltex \def\ref@label{{Bergman et~al.(2013)}}?><label>Bergman et al.(2013)</label><?label bergman13?><mixed-citation>Bergman, J. W., Fierli, F., Jensen, E. J., Honomichl, S., and Pan, L. L.:
Boundary layer sources for the Asian anticyclone: Regional contributions to
a vertical conduit, J. Geophys. Res., 118, 2560–2575,
<ext-link xlink:href="https://doi.org/10.1002/jgrd.50142" ext-link-type="DOI">10.1002/jgrd.50142</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx4"><?xmltex \def\ref@label{{Bowman and Carrie(2002)}}?><label>Bowman and Carrie(2002)</label><?label bowman02?><mixed-citation>Bowman, K. P. and Carrie, G. D.: The Mean-Meridional Transport Circulation of
the Troposphere in an Idealized GCM, J. Atmos. Sci., 59, 1502–1514,
<ext-link xlink:href="https://doi.org/10.1175/1520-0469(2002)059&lt;1502:TMMTCO&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0469(2002)059&lt;1502:TMMTCO&gt;2.0.CO;2</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx5"><?xmltex \def\ref@label{{Bowman et~al.(2013)}}?><label>Bowman et al.(2013)</label><?label bowman13?><mixed-citation>Bowman, K. P., Lin, J. C., Stohl, A., Draxler, R., Konopka, P., Andrews, A.,
and Brunner, D.: Input Data Requirements for Lagrangian Trajectory Models,
B. Am. Meteorol. Soc., 94, 1051–1058, <ext-link xlink:href="https://doi.org/10.1175/BAMS-D-12-00076.1" ext-link-type="DOI">10.1175/BAMS-D-12-00076.1</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx6"><?xmltex \def\ref@label{{Brinkop and J\"{o}ckel(2019)}}?><label>Brinkop and Jöckel(2019)</label><?label brinkop19?><mixed-citation>Brinkop, S. and Jöckel, P.: ATTILA 4.0: Lagrangian advective and convective transport of passive tracers within the ECHAM5/MESSy (2.53.0) chemistry–climate model, Geosci. Model Dev., 12, 1991–2008, <ext-link xlink:href="https://doi.org/10.5194/gmd-12-1991-2019" ext-link-type="DOI">10.5194/gmd-12-1991-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx7"><?xmltex \def\ref@label{{Brioude et~al.(2013)}}?><label>Brioude et al.(2013)</label><?label brioude13?><mixed-citation>Brioude, J., Arnold, D., Stohl, A., Cassiani, M., Morton, D., Seibert, P., Angevine, W., Evan, S., Dingwell, A., Fast, J. D., Easter, R. C., Pisso, I., Burkhart, J., and Wotawa, G.: The Lagrangian particle dispersion model FLEXPART-WRF version 3.1, Geosci. Model Dev., 6, 1889–1904, <ext-link xlink:href="https://doi.org/10.5194/gmd-6-1889-2013" ext-link-type="DOI">10.5194/gmd-6-1889-2013</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx8"><?xmltex \def\ref@label{{Burkholder et~al.(2019)}}?><label>Burkholder et al.(2019)</label><?label burkholder19?><mixed-citation>Burkholder, J. B., Sander, S. P., J. Abbatt, J. R. B., Cappa, C., Crounse,
J. D., Dibble, T. S., Huie, R. E., Kolb, C. E., Kurylo, M. J., Orkin, V. L.,
Percival, C. J., Wilmouth, D. M., and Wine, P. H.: Chemical kinetics and
photochemical data for use in atmospheric studies: evaluation number 19,
Tech. rep., Jet Propulsion Laboratory, Pasadena,
<uri>http://jpldataeval.jpl.nasa.gov/</uri> (last access: 30 March 2022), 2019.</mixed-citation></ref>
      <ref id="bib1.bibx9"><?xmltex \def\ref@label{{Cai et~al.(2021)}}?><label>Cai et al.(2021)</label><?label cai21?><mixed-citation>Cai, Z., Griessbach, S., and Hoffmann, L.: Improved estimation of volcanic SO<inline-formula><mml:math id="M496" display="inline"><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:math></inline-formula> injections from satellite observations and Lagrangian transport simulations: the 2019 Raikoke eruption, Atmos. Chem. Phys. Discuss. [preprint], <ext-link xlink:href="https://doi.org/10.5194/acp-2021-874" ext-link-type="DOI">10.5194/acp-2021-874</ext-link>, in review, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx10"><?xmltex \def\ref@label{{CGER(2016)}}?><label>CGER(2016)</label><?label cger16?><mixed-citation>CGER: Lagrangian Particle Dispersion Program,
<uri>https://db.cger.nies.go.jp/metex/flexcpp.html</uri> (last access: 30 March 2022), 2016.</mixed-citation></ref>
      <ref id="bib1.bibx11"><?xmltex \def\ref@label{{CINECA(2020)}}?><label>CINECA(2020)</label><?label LEONARDO?><mixed-citation>CINECA: LEONARDO: The European HPC Path Toward the Digital Era,
<uri>https://www.cineca.it/en/hot-topics/Leonardo-announce</uri> (last access: 30 March 2022), 2020.</mixed-citation></ref>
      <ref id="bib1.bibx12"><?xmltex \def\ref@label{{CSC(2020)}}?><label>CSC(2020)</label><?label LUMI?><mixed-citation>CSC: One of the world’s mightiest supercomputers, LUMI, will lift European
research and competitiveness to a new level and promotes green transition,
<uri>https://www.lumi-supercomputer.eu/lumi-one-of-the-worlds-mightiest-supercomputers/</uri> (last access: 30 March 2022),
2020.</mixed-citation></ref>
      <ref id="bib1.bibx13"><?xmltex \def\ref@label{{Damoah et~al.(2004)}}?><label>Damoah et al.(2004)</label><?label damoah04?><mixed-citation>Damoah, R., Spichtinger, N., Forster, C., James, P., Mattis, I., Wandinger, U., Beirle, S., Wagner, T., and Stohl, A.: Around the world in 17 days – hemispheric-scale transport of forest fire smoke from Russia in May 2003, Atmos. Chem. Phys., 4, 1311–1321, <ext-link xlink:href="https://doi.org/10.5194/acp-4-1311-2004" ext-link-type="DOI">10.5194/acp-4-1311-2004</ext-link>, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx14"><?xmltex \def\ref@label{{D'Amours et~al.(2010)}}?><label>D'Amours et al.(2010)</label><?label damours10?><mixed-citation>D'Amours, R., Malo, A., Servranckx, R., Bensimon, D., Trudel, S., and
Gauthier-Bilodeau, J.-P.: Application of the atmospheric Lagrangian particle
dispersion model MLDP0 to the 2008 eruptions of Okmok and Kasatochi
volcanoes, J. Geophys. Res., 115, D00L11, <ext-link xlink:href="https://doi.org/10.1029/2009JD013602" ext-link-type="DOI">10.1029/2009JD013602</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx15"><?xmltex \def\ref@label{{Dee et~al.(2011)}}?><label>Dee et al.(2011)</label><?label dee11?><mixed-citation>Dee, D. P., Uppala, S. M., Simmons, A. J., Berrisford, P., Poli, P., Kobayashi,
S., Andrae, U., Balmaseda, M. A., Balsamo, G., Bauer, P., Bechtold, P.,
Beljaars, A. C. M., van de Berg, L., Bidlot, J., Bormann, N., Delsol, C.,
Dragani, R., Fuentes, M., Geer, A. J., Haimberger, L., Healy, S. B.,
Hersbach, H., Hólm, E. V., Isaksen, L., Kãllberg, P., Köhler, M.,
Matricardi, M., McNally, A. P., Monge-Sanz, B. M., Morcrette, J.-J., Park,
B.-K., Peubey, C., de Rosnay, P., Tavolato, C., Thépaut, J.-N., and
Vitart, F.: The ERA-Interim reanalysis: configuration and performance of
the data assimilation system, Q. J. Roy. Meteor. Soc., 137, 553–597,
<ext-link xlink:href="https://doi.org/10.1002/qj.828" ext-link-type="DOI">10.1002/qj.828</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx16"><?xmltex \def\ref@label{{de~la Cruz et~al.(2016)}}?><label>de la Cruz et al.(2016)</label><?label delacruz16?><mixed-citation>de la Cruz, R., Folch, A., Farré, P., Cabezas, J., Navarro, N., and Cela,
J. M.: Optimization of Atmospheric Transport Models on HPC Platforms, Comput.
Geosci., 97, 30–39, <ext-link xlink:href="https://doi.org/10.1016/j.cageo.2016.08.019" ext-link-type="DOI">10.1016/j.cageo.2016.08.019</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx17"><?xmltex \def\ref@label{{DOE(2019a)}}?><label>DOE(2019a)</label><?label Aurora?><mixed-citation>DOE: U.S. Department of Energy and Intel to deliver first exascale
supercomputer,
<ext-link xlink:href="https://www.anl.gov/article/us-department-of-energy-and-intel-to-deliver-first-exascale-supercomputer">https://www.anl.gov/article/us-department-of-energy-and-intel-to-deliver-first-exascale-supercomputer</ext-link> (last access: 30 March 2022),
2019a.</mixed-citation></ref>
      <ref id="bib1.bibx18"><?xmltex \def\ref@label{{DOE(2019b)}}?><label>DOE(2019b)</label><?label Frontier?><mixed-citation>DOE: U.S. Department of Energy and Cray to Deliver Record-Setting Frontier
Supercomputer at ORNL,
<ext-link xlink:href="https://www.ornl.gov/news/us-department-energy-and-cray-deliver-record-setting-frontier-supercomputer-ornl">https://www.ornl.gov/news/us-department-energy-and-cray-deliver-record-setting-frontier-supercomputer-ornl</ext-link> (last access: 30 March 2022),
2019b.</mixed-citation></ref>
      <ref id="bib1.bibx19"><?xmltex \def\ref@label{{Dongarra et~al.(2021)}}?><label>Dongarra et al.(2021)</label><?label top500Old?><mixed-citation>Dongarra, J., Strohmaier, E., Simon, H., and Meuer, M.: TOP500,
<uri>https://www.top500.org/lists/2021/06/</uri> (last access: 30 March 2022), 2021.</mixed-citation></ref>
      <ref id="bib1.bibx20"><?xmltex \def\ref@label{{Draxler et~al.(2015)}}?><label>Draxler et al.(2015)</label><?label draxler15?><mixed-citation>Draxler, R., Arnold, D., Chino, M., Galmarini, S., Hort, M., Jones, A.,
Leadbetter, S., Malo, A., Maurer, C., Rolph, G., Saito, K., Servranckx, R.,
Shimbori, T., Solazzo, E., and Wotawa, G.: World Meteorological
Organization's model simulations of the radionuclide dispersion and
deposition from the Fukushima Daiichi nuclear power plant accident, J.
Environ. Radioact., 139, 172–184, <ext-link xlink:href="https://doi.org/10.1016/j.jenvrad.2013.09.014" ext-link-type="DOI">10.1016/j.jenvrad.2013.09.014</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx21"><?xmltex \def\ref@label{{Draxler and Hess(1997)}}?><label>Draxler and Hess(1997)</label><?label draxler97?><mixed-citation>Draxler, R. R. and Hess, G.: Description of the HYSPLIT4 modeling system,
NOAA Technical Memorandum ERL ARL-224,
<uri>https://www.arl.noaa.gov/documents/reports/arl-224.pdf</uri> (last access: 30 March 2022), 1997.</mixed-citation></ref>
      <ref id="bib1.bibx22"><?xmltex \def\ref@label{{Draxler and Hess(1998)}}?><label>Draxler and Hess(1998)</label><?label draxler98?><mixed-citation>
Draxler, R. R. and Hess, G. D.: An overview of the HYSPLIT_4 modeling system
of trajectories, dispersion, and deposition, Aust. Meteorol. Mag., 47,
295–308, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx23"><?xmltex \def\ref@label{{Eyring et~al.(2013)}}?><label>Eyring et al.(2013)</label><?label eyring13?><mixed-citation>
Eyring, V., Lamarque, J.-F., Hess, P., Arfeuille, F., Bowman, K., Chipperfield, M. P., Duncan, B., Fiore, A., Gettelman, A., Giorgetta, M. A., Granier, C., Hegglin, M., Kinnison, D., Kunze, M., Langematz, U., Luo, B., Martin, R., Matthes, K., Newman, P. A., Peter, T., Robock, A., Ryerson, T., Saiz-Lopez, A., Salawitch, R., Schultz, M., Shepherd, T. G., Shindell, D., Staehelin, J., Tegtmeier, S., Thomason, L., Tilmes, S., Vernier, J.-P., Waugh, D. W., and Young, P. J.: Overview of IGAC/SPARC Chemistry–Climate Model Initiative
(CCMI) community simulations in support of upcoming ozone and climate
assessments, SPARC Newsletter, 40, 48–66, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx24"><?xmltex \def\ref@label{{Forster et~al.(2001)}}?><label>Forster et al.(2001)</label><?label forster01?><mixed-citation>Forster, C., Wandinger, U., Wotawa, G., James, P., Mattis, I., Althausen, D.,
Simmonds, P., O'Doherty, S., Jennings, S. G., Kleefeld, C., Schneider, J.,
Trickl, T., Kreipl, S., Jäger, H., and Stohl, A.: Transport of boreal forest
fire emissions from Canada to Europe, J. Geophys. Res., 106,
22887–22906, <ext-link xlink:href="https://doi.org/10.1029/2001JD900115" ext-link-type="DOI">10.1029/2001JD900115</ext-link>, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx25"><?xmltex \def\ref@label{{Forster et~al.(2007)}}?><label>Forster et al.(2007)</label><?label forster07?><mixed-citation>Forster, C., Stohl, A., and Seibert, P.: Parameterization of Convective
Transport in a Lagrangian Particle Dispersion Model and Its Evaluation, J.
Appl. Meteorol. Clim., 46, 403–422, <ext-link xlink:href="https://doi.org/10.1175/JAM2470.1" ext-link-type="DOI">10.1175/JAM2470.1</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx26"><?xmltex \def\ref@label{{Gelaro et~al.(2017)}}?><label>Gelaro et al.(2017)</label><?label gelaro17?><mixed-citation>Gelaro, R., McCarty, W., Suárez, M. J., Todling, R., Molod, A., Takacs, L.,
Randles, C. A., Darmenov, A., Bosilovich, M. G., Reichle, R., Wargan, K.,
Coy, L., Cullather, R., Draper, C., Akella, S., Buchard, V., Conaty, A.,
da Silva, A. M., Gu, W., Kim, G.-K., Koster, R., Lucchesi, R., Merkova, D.,
Nielsen, J. E., Partyka, G., Pawson, S., Putman, W., Rienecker, M., Schubert,
S. D., Sienkiewicz, M., and Zhao, B.: The modern-era retrospective analysis
for research and applications, version 2 (MERRA-2), J. Climate, 30,
5419–5454, <ext-link xlink:href="https://doi.org/10.1175/JCLI-D-16-0758.1" ext-link-type="DOI">10.1175/JCLI-D-16-0758.1</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx27"><?xmltex \def\ref@label{{Gerbig et~al.(2003)}}?><label>Gerbig et al.(2003)</label><?label gerbig03?><mixed-citation>Gerbig, C., Lin, J. C., Wofsy, S. C., Daube, B. C., Andrews, A. E., Stephens,
B. B., Bakwin, P. S., and Grainger, C. A.: Toward constraining regional-scale
fluxes of CO2 with atmospheric observations over a continent: 2. Analysis
of COBRA data using a receptor-oriented framework, J. Geophys. Res., 108, 4757,
<ext-link xlink:href="https://doi.org/10.1029/2003JD003770" ext-link-type="DOI">10.1029/2003JD003770</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx28"><?xmltex \def\ref@label{{Gough(2003)}}?><label>Gough(2003)</label><?label gough03?><mixed-citation>Gough, B. (Ed.): GNU Scientific Library Reference Manual, Network Theory Ltd.,
2nd edn., <uri>http://www.gnu.org/software/gsl</uri> (last access: 30 March 2022), 2003.</mixed-citation></ref>
      <ref id="bib1.bibx29"><?xmltex \def\ref@label{{Groo{\ss} et~al.(2005)}}?><label>Grooß et al.(2005)</label><?label grooss05?><mixed-citation>Grooß, J.-U., Konopka, P., and Müller, R.: Ozone Chemistry during the
2002 Antarctic Vortex Split, J. Atmos. Sci., 62, 860–870,
<ext-link xlink:href="https://doi.org/10.1175/JAS-3330.1" ext-link-type="DOI">10.1175/JAS-3330.1</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx30"><?xmltex \def\ref@label{{Haghighi~Mood and Hoffmann(2022)}}?><label>Haghighi Mood and Hoffmann(2022)</label><?label haghighimood22?><mixed-citation>Haghighi Mood, K. and Hoffmann, L.: Performance measurements of MPTRAC v2.2, Zenodo [data set],
<ext-link xlink:href="https://doi.org/10.5281/zenodo.6330715" ext-link-type="DOI">10.5281/zenodo.6330715</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx31"><?xmltex \def\ref@label{{Heng et~al.(2016)}}?><label>Heng et al.(2016)</label><?label heng16?><mixed-citation>Heng, Y., Hoffmann, L., Griessbach, S., Rößler, T., and Stein, O.: Inverse transport modeling of volcanic sulfur dioxide emissions using large-scale simulations, Geosci. Model Dev., 9, 1627–1645, <ext-link xlink:href="https://doi.org/10.5194/gmd-9-1627-2016" ext-link-type="DOI">10.5194/gmd-9-1627-2016</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx32"><?xmltex \def\ref@label{{Hersbach et~al.(2020)}}?><label>Hersbach et al.(2020)</label><?label hersbach20?><mixed-citation>Hersbach, H., Bell, B., Berrisford, P., Hirahara, S., Horányi, A.,
Muñoz-Sabater, J., Nicolas, J., Peubey, C., Radu, R., Schepers, D., Simmons,
A., Soci, C., Abdalla, S., Abellan, X., Balsamo, G., Bechtold, P., Biavati,
G., Bidlot, J., Bonavita, M., De Chiara, G., Dahlgren, P., Dee, D.,
Diamantakis, M., Dragani, R., Flemming, J., Forbes, R., Fuentes, M., Geer,
A., Haimberger, L., Healy, S., Hogan, R. J., Hólm, E., Janisková, M.,
Keeley, S., Laloyaux, P., Lopez, P., Lupu, C., Radnoti, G., de Rosnay, P.,
Rozum, I., Vamborg, F., Villaume, S., and Thépaut, J.-N.: The ERA5 global
reanalysis, Q. J. Roy. Meteor. Soc., 146, 1999–2049,
<ext-link xlink:href="https://doi.org/10.1002/qj.3803" ext-link-type="DOI">10.1002/qj.3803</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx33"><?xmltex \def\ref@label{{Hesketh(1996)}}?><label>Hesketh(1996)</label><?label hesketh96?><mixed-citation>
Hesketh, H. E. (Ed.): Air Pollution Control: Traditional Hazardous Pollutants,
Revised Edition, CRC Press, ISBN 9781566764131, 1996.</mixed-citation></ref>
      <ref id="bib1.bibx34"><?xmltex \def\ref@label{{Hirdman et~al.(2010)}}?><label>Hirdman et al.(2010)</label><?label hirdman10?><mixed-citation>Hirdman, D., Sodemann, H., Eckhardt, S., Burkhart, J. F., Jefferson, A., Mefford, T., Quinn, P. K., Sharma, S., Ström, J., and Stohl, A.: Source identification of short-lived air pollutants in the Arctic using statistical analysis of measurement data and particle dispersion model output, Atmos. Chem. Phys., 10, 669–693, <ext-link xlink:href="https://doi.org/10.5194/acp-10-669-2010" ext-link-type="DOI">10.5194/acp-10-669-2010</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx35"><?xmltex \def\ref@label{{Hoff et~al.(1999)}}?><label>Hoff et al.(1999)</label><?label hoff99?><mixed-citation>Hoff, K. E., Keyser, J., Lin, M., Manocha, D., and Culver, T.: Fast Computation
of Generalized Voronoi Diagrams Using Graphics Hardware, in: Proceedings of
the 26th Annual Conference on Computer Graphics and Interactive Techniques,
SIGGRAPH '99, ACM Press/Addison-Wesley Publishing Co., USA, 277–286,
<ext-link xlink:href="https://doi.org/10.1145/311535.311567" ext-link-type="DOI">10.1145/311535.311567</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx36"><?xmltex \def\ref@label{{Hoffmann et~al.(2016)}}?><label>Hoffmann et al.(2016)</label><?label hoffmann16b?><mixed-citation>Hoffmann, L., Rößler, T., Griessbach, S., Heng, Y., and Stein, O.:
Lagrangian transport simulations of volcanic sulfur dioxide emissions: impact
of meteorological data products, J. Geophys. Res., 121, 4651–4673,
<ext-link xlink:href="https://doi.org/10.1002/2015JD023749" ext-link-type="DOI">10.1002/2015JD023749</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx37"><?xmltex \def\ref@label{{Hoffmann et~al.(2017)}}?><label>Hoffmann et al.(2017)</label><?label hoffmann17b?><mixed-citation>Hoffmann, L., Hertzog, A., Rößler, T., Stein, O., and Wu, X.: Intercomparison of meteorological analyses and trajectories in the Antarctic lower stratosphere with Concordiasi superpressure balloon observations, Atmos. Chem. Phys., 17, 8045–8061, <ext-link xlink:href="https://doi.org/10.5194/acp-17-8045-2017" ext-link-type="DOI">10.5194/acp-17-8045-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx38"><?xmltex \def\ref@label{{Hoffmann et~al.(2019)}}?><label>Hoffmann et al.(2019)</label><?label hoffmann19?><mixed-citation>Hoffmann, L., Günther, G., Li, D., Stein, O., Wu, X., Griessbach, S., Heng, Y., Konopka, P., Müller, R., Vogel, B., and Wright, J. S.: From ERA-Interim to ERA5: the considerable impact of ECMWF's next-generation reanalysis on Lagrangian transport simulations, Atmos. Chem. Phys., 19, 3097–3124, <ext-link xlink:href="https://doi.org/10.5194/acp-19-3097-2019" ext-link-type="DOI">10.5194/acp-19-3097-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx39"><?xmltex \def\ref@label{{Hoffmann et~al.(2021)}}?><label>Hoffmann et al.(2021)</label><?label hoffmann21b?><mixed-citation>Hoffmann, L., Clemens, J., Holke, J., Liu, M., and Mood, K. H.:
slcs-jsc/mptrac: v2.2, Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.5714528" ext-link-type="DOI">10.5281/zenodo.5714528</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx40"><?xmltex \def\ref@label{{Jacobson(1999)}}?><label>Jacobson(1999)</label><?label jacobson99?><mixed-citation>Jacobson, M. Z.: Fundamentals of Atmospheric Modeling, Cambridge University
Press, <ext-link xlink:href="https://doi.org/10.1017/CBO9781139165389" ext-link-type="DOI">10.1017/CBO9781139165389</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx41"><?xmltex \def\ref@label{{James et~al.(2003)}}?><label>James et al.(2003)</label><?label james03?><mixed-citation>James, P., Stohl, A., Forster, C., Eckhardt, S., Seibert, P., and Frank, A.: A
15-year climatology of stratosphere troposphere exchange with a Lagrangian
particle dispersion model 2. Mean climate and seasonal variability, J.
Geophys. Res., 108, 8522, <ext-link xlink:href="https://doi.org/10.1029/2002JD002639" ext-link-type="DOI">10.1029/2002JD002639</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx42"><?xmltex \def\ref@label{{Jones et~al.(2007)}}?><label>Jones et al.(2007)</label><?label jones07?><mixed-citation>Jones, A., Thomson, D., Hort, M., and Devenish, B.: The U.K. Met Office's Next-Generation Atmospheric Dispersion Model, NAME III, in: Air Pollution Modeling and Its Application XVII, edited by: Borrego, C., Norman, A. L., Springer, Boston, MA, <ext-link xlink:href="https://doi.org/10.1007/978-0-387-68854-1_62" ext-link-type="DOI">10.1007/978-0-387-68854-1_62</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx43"><?xmltex \def\ref@label{{{Jülich Supercomputing Centre}(2019)}}?><label>Jülich Supercomputing Centre(2019)</label><?label krause19?><mixed-citation>Jülich Supercomputing Centre: JUWELS: Modular Tier-0/1 Supercomputer
at the Jülich Supercomputing Centre, J. Large-scale Res. Facilities,
5, A135, <ext-link xlink:href="https://doi.org/10.17815/jlsrf-5-171" ext-link-type="DOI">10.17815/jlsrf-5-171</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx44"><?xmltex \def\ref@label{{Kalnay et~al.(1996)}}?><label>Kalnay et al.(1996)</label><?label kalnay96?><mixed-citation>Kalnay, E., Kanamitsu, M., Kistler, R., Collins, W., Deaven, D., Gandin, L.,
Iredell, M., Saha, S., White, G., Woollen, J., Zhu, Y., Chelliah, M.,
Ebisuzaki, W., Higgins, W., Janowiak, J., Mo, K. C., Ropelewski, C., Wang,
J., Leetmaa, A., Reynolds, R., Jenne, R., and Joseph, D.: The NCEP/NCAR
40-year reanalysis project, B. Am. Meteorol. Soc., 77, 437–471,
<ext-link xlink:href="https://doi.org/10.1175/1520-0477(1996)077&lt;0437:TNYRP&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0477(1996)077&lt;0437:TNYRP&gt;2.0.CO;2</ext-link>, 1996.</mixed-citation></ref>
      <ref id="bib1.bibx45"><?xmltex \def\ref@label{{Konopka et~al.(2005)}}?><label>Konopka et al.(2005)</label><?label konopka05?><mixed-citation>Konopka, P., Spang, R., Günther, G., Müller, R., McKenna, D. S.,
Offermann, D., and Riese, M.: How homogeneous and isotropic is stratospheric
mixing? Comparison of CRISTA-1 observations with transport studies based on
the Chemical Lagrangian Model of the Stratosphere (CLaMS), Q. J. Roy.
Meteor. Soc., 131, 565–579, <ext-link xlink:href="https://doi.org/10.1256/qj.04.47" ext-link-type="DOI">10.1256/qj.04.47</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx46"><?xmltex \def\ref@label{{Konopka et~al.(2007)}}?><label>Konopka et al.(2007)</label><?label konopka07?><mixed-citation>Konopka, P., Günther, G., Müller, R., dos Santos, F. H. S., Schiller, C., Ravegnani, F., Ulanovsky, A., Schlager, H., Volk, C. M., Viciani, S., Pan, L. L., McKenna, D.-S., and Riese, M.: Contribution of mixing to upward transport across the tropical tropopause layer (TTL), Atmos. Chem. Phys., 7, 3285–3308, <ext-link xlink:href="https://doi.org/10.5194/acp-7-3285-2007" ext-link-type="DOI">10.5194/acp-7-3285-2007</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx47"><?xmltex \def\ref@label{{Konopka et~al.(2015)}}?><label>Konopka et al.(2015)</label><?label konopka15?><mixed-citation>Konopka, P., Ploeger, F., Tao, M., Birner, T., and Riese, M.: Hemispheric
asymmetries and seasonality of mean age of air in the lower stratosphere:
Deep versus shallow branch of the Brewer-Dobson circulation, J. Geophys.
Res., 120, 2053–2066, <ext-link xlink:href="https://doi.org/10.1002/2014JD022429" ext-link-type="DOI">10.1002/2014JD022429</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx48"><?xmltex \def\ref@label{{Konopka et~al.(2019)}}?><label>Konopka et al.(2019)</label><?label konopka19?><mixed-citation>Konopka, P., Tao, M., Ploeger, F., Diallo, M., and Riese, M.: Tropospheric mixing and parametrization of unresolved convective updrafts as implemented in the Chemical Lagrangian Model of the Stratosphere (CLaMS v2.0), Geosci. Model Dev., 12, 2441–2462, <ext-link xlink:href="https://doi.org/10.5194/gmd-12-2441-2019" ext-link-type="DOI">10.5194/gmd-12-2441-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx49"><?xmltex \def\ref@label{{Kuo et~al.(1985)}}?><label>Kuo et al.(1985)</label><?label kuo85?><mixed-citation>Kuo, Y.-H., Skumanich, M., Haagenson, P. L., and Chang, J. S.: The accuracy of
trajectory models as revealed by the observing system simulation experiments,
Mon. Weather Rev., 113, 1852–1867,
<ext-link xlink:href="https://doi.org/10.1175/1520-0493(1985)113&lt;1852:TAOTMA&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0493(1985)113&lt;1852:TAOTMA&gt;2.0.CO;2</ext-link>, 1985.</mixed-citation></ref>
      <ref id="bib1.bibx50"><?xmltex \def\ref@label{{Lee et~al.(2014)}}?><label>Lee et al.(2014)</label><?label lee14?><mixed-citation>Lee, H.-J., Kim, S.-W., Brioude, J., Cooper, O. R., Frost, G. J., Kim, C.-H.,
Park, R. J., Trainer, M., and Woo, J.-H.: Transport of NOx in East Asia
identified by satellite and in situ measurements and Lagrangian particle
dispersion model simulations, J. Geophys. Res., 119, 2574–2596,
<ext-link xlink:href="https://doi.org/10.1002/2013JD021185" ext-link-type="DOI">10.1002/2013JD021185</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx51"><?xmltex \def\ref@label{{Legras and Bucci(2020)}}?><label>Legras and Bucci(2020)</label><?label legras20?><mixed-citation>Legras, B. and Bucci, S.: Confinement of air in the Asian monsoon anticyclone and pathways of convective air to the stratosphere during the summer season, Atmos. Chem. Phys., 20, 11045–11064, <ext-link xlink:href="https://doi.org/10.5194/acp-20-11045-2020" ext-link-type="DOI">10.5194/acp-20-11045-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx52"><?xmltex \def\ref@label{{Legras et~al.(2003)}}?><label>Legras et al.(2003)</label><?label legras03?><mixed-citation>Legras, B., Joseph, B., and Lefèvre, F.: Vertical diffusivity in the lower
stratosphere from Lagrangian back-trajectory reconstructions of ozone
profiles, J. Geophys. Res., 108, 4562, <ext-link xlink:href="https://doi.org/10.1029/2002JD003045" ext-link-type="DOI">10.1029/2002JD003045</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx53"><?xmltex \def\ref@label{{Legras et~al.(2005)}}?><label>Legras et al.(2005)</label><?label legras05?><mixed-citation>Legras, B., Pisso, I., Berthet, G., and Lefèvre, F.: Variability of the Lagrangian turbulent diffusion in the lower stratosphere, Atmos. Chem. Phys., 5, 1605–1622, <ext-link xlink:href="https://doi.org/10.5194/acp-5-1605-2005" ext-link-type="DOI">10.5194/acp-5-1605-2005</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx54"><?xmltex \def\ref@label{{Li and Shih(2018)}}?><label>Li and Shih(2018)</label><?label li18?><mixed-citation>Li, X. and Shih, P.-C.: An early performance comparison of CUDA and
OpenACC, in: MATEC Web of Conferences, EDP Sciences, 208, 05002,
<ext-link xlink:href="https://doi.org/10.1051/matecconf/201820805002" ext-link-type="DOI">10.1051/matecconf/201820805002</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx55"><?xmltex \def\ref@label{{Lin et~al.(2003)}}?><label>Lin et al.(2003)</label><?label lin03?><mixed-citation>Lin, J., Gerbig, C., Wofsy, S., Andrews, A., Daube, B., Davis, K., and
Grainger, C.: A near-field tool for simulating the upstream influence of
atmospheric observations: The Stochastic Time-Inverted Lagrangian Transport
(STILT) model, J. Geophys. Res., 108, 4493, <ext-link xlink:href="https://doi.org/10.1029/2002JD003161" ext-link-type="DOI">10.1029/2002JD003161</ext-link>,
2003.</mixed-citation></ref>
      <ref id="bib1.bibx56"><?xmltex \def\ref@label{{Liu et~al.(2020)}}?><label>Liu et al.(2020)</label><?label liu20?><mixed-citation>Liu, M., Huang, Y., Hoffmann, L., Huang, C., Chen, P., and Heng, Y.:
High-Resolution Source Estimation of Volcanic Sulfur Dioxide Emissions Using
Large-Scale Transport Simulations, in: International Conference on
Computational Science, Springer, 12139, 60–73,
<ext-link xlink:href="https://doi.org/10.1007/978-3-030-50420-5_5" ext-link-type="DOI">10.1007/978-3-030-50420-5_5</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx57"><?xmltex \def\ref@label{{LLNL(2020)}}?><label>LLNL(2020)</label><?label Capiton?><mixed-citation>LLNL: LLNL and HPE to partner with AMD on El Capitan, projected as world’s
fastest supercomputer,
<ext-link xlink:href="https://www.llnl.gov/news/llnl-and-hpe-partner-amd-el-capitan-projected-worlds-fastest-supercomputer">https://www.llnl.gov/news/llnl-and-hpe-partner-amd-el-capitan-projected-worlds-fastest-supercomputer</ext-link> (last access: 30 March 2022),
2020.</mixed-citation></ref>
      <ref id="bib1.bibx58"><?xmltex \def\ref@label{{Mahowald et~al.(2002)}}?><label>Mahowald et al.(2002)</label><?label mahowald02?><mixed-citation>Mahowald, N. M., Plumb, R. A., Rasch, P. J., del Corral, J., Sassi, F., and
Heres, W.: Stratospheric transport in a three-dimensional isentropic
coordinate model, J. Geophys. Res., 107, ACH 3-1–ACH 3-14,
<ext-link xlink:href="https://doi.org/10.1029/2001JD001313" ext-link-type="DOI">10.1029/2001JD001313</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx59"><?xmltex \def\ref@label{{McKenna et~al.(2002a)}}?><label>McKenna et al.(2002a)</label><?label mckenna02b?><mixed-citation>McKenna, D. S., Grooß, J.-U., Günther, G., Konopka, P., Müller, R.,
Carver, G., and Sasano, Y.: A new Chemical Lagrangian Model of the
Stratosphere (CLaMS) 2. Formulation of chemistry scheme and initialization,
J. Geophys. Res., 107, ACH 4-1–ACH 4-14, <ext-link xlink:href="https://doi.org/10.1029/2000JD000113" ext-link-type="DOI">10.1029/2000JD000113</ext-link>,
2002a.</mixed-citation></ref>
      <ref id="bib1.bibx60"><?xmltex \def\ref@label{{McKenna et~al.(2002b)}}?><label>McKenna et al.(2002b)</label><?label mckenna02a?><mixed-citation>McKenna, D. S., Konopka, P., Grooß, J.-U., Günther, G., Müller, R.,
Spang, R., Offermann, D., and Orsolini, Y.: A new Chemical Lagrangian Model
of the Stratosphere (CLaMS) 1. Formulation of advection and mixing, J.
Geophys. Res., 107, ACH 15-1–ACH 15-15, <ext-link xlink:href="https://doi.org/10.1029/2000JD000114" ext-link-type="DOI">10.1029/2000JD000114</ext-link>,
2002b.</mixed-citation></ref>
      <ref id="bib1.bibx61"><?xmltex \def\ref@label{{Molnár et~al.(2010)}}?><label>Molnár et al.(2010)</label><?label molnar10?><mixed-citation>Molnár, F., Szakály, T., Mészáros, R., and Lagzi, I.: Air pollution
modelling using a Graphics Processing Unit with CUDA, Comp. Phys. Comm.,
181, 105–112, <ext-link xlink:href="https://doi.org/10.1016/j.cpc.2009.09.008" ext-link-type="DOI">10.1016/j.cpc.2009.09.008</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx62"><?xmltex \def\ref@label{{NVIDIA(2020)}}?><label>NVIDIA(2020)</label><?label nvidia20?><mixed-citation>NVIDIA: NVIDIA A100 Tensor Core GPU Architecture: unprecedented acceleration
at every scale,
<uri>https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/nvidia-ampere-architecture-whitepaper.pdf</uri> (last access: 30 March 2022),
2020.</mixed-citation></ref>
      <ref id="bib1.bibx63"><?xmltex \def\ref@label{{Pisso et~al.(2009)}}?><label>Pisso et al.(2009)</label><?label pisso09?><mixed-citation>Pisso, I., Real, E., Law, K. S., Legras, B., Bousserez, N., Attié, J. L.,
and Schlager, H.: Estimation of mixing in the troposphere from Lagrangian
trace gas reconstructions during long-range pollution plume transport, J.
Geophys. Res., 114, D19301, <ext-link xlink:href="https://doi.org/10.1029/2008JD011289" ext-link-type="DOI">10.1029/2008JD011289</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx64"><?xmltex \def\ref@label{{Pisso et~al.(2019)}}?><label>Pisso et al.(2019)</label><?label pisso19?><mixed-citation>Pisso, I., Sollum, E., Grythe, H., Kristiansen, N. I., Cassiani, M., Eckhardt, S., Arnold, D., Morton, D., Thompson, R. L., Groot Zwaaftink, C. D., Evangeliou, N., Sodemann, H., Haimberger, L., Henne, S., Brunner, D., Burkhart, J. F., Fouilloux, A., Brioude, J., Philipp, A., Seibert, P., and Stohl, A.: The Lagrangian particle dispersion model FLEXPART version 10.4, Geosci. Model Dev., 12, 4955–4997, <ext-link xlink:href="https://doi.org/10.5194/gmd-12-4955-2019" ext-link-type="DOI">10.5194/gmd-12-4955-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx65"><?xmltex \def\ref@label{{Ploeger et~al.(2021)}}?><label>Ploeger et al.(2021)</label><?label ploeger21?><mixed-citation>Ploeger, F., Diallo, M., Charlesworth, E., Konopka, P., Legras, B., Laube, J. C., Grooß, J.-U., Günther, G., Engel, A., and Riese, M.: The stratospheric Brewer–Dobson circulation inferred from age of air in the ERA5 reanalysis, Atmos. Chem. Phys., 21, 8393–8412, <ext-link xlink:href="https://doi.org/10.5194/acp-21-8393-2021" ext-link-type="DOI">10.5194/acp-21-8393-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx66"><?xmltex \def\ref@label{{Pommrich et~al.(2014)}}?><label>Pommrich et al.(2014)</label><?label pommrich14b?><mixed-citation>Pommrich, R., Müller, R., Grooß, J.-U., Konopka, P., Ploeger, F., Vogel, B., Tao, M., Hoppe, C. M., Günther, G., Spelten, N., Hoffmann, L., Pumphrey, H.-C., Viciani, S., D'Amato, F., Volk, C. M., Hoor, P., Schlager, H., and Riese, M.: Tropical troposphere to stratosphere transport of carbon monoxide and long-lived trace species in the Chemical Lagrangian Model of the Stratosphere (CLaMS), Geosci. Model Dev., 7, 2895–2916, <ext-link xlink:href="https://doi.org/10.5194/gmd-7-2895-2014" ext-link-type="DOI">10.5194/gmd-7-2895-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx67"><?xmltex \def\ref@label{{Prata et~al.(2007)}}?><label>Prata et al.(2007)</label><?label prata07b?><mixed-citation>Prata, A. J., Carn, S. A., Stohl, A., and Kerkmann, J.: Long range transport and fate of a stratospheric volcanic cloud from Soufrière Hills volcano, Montserrat, Atmos. Chem. Phys., 7, 5093–5103, <ext-link xlink:href="https://doi.org/10.5194/acp-7-5093-2007" ext-link-type="DOI">10.5194/acp-7-5093-2007</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx68"><?xmltex \def\ref@label{{Prather et~al.(2011)}}?><label>Prather et al.(2011)</label><?label prather11?><mixed-citation>Prather, M. J., Zhu, X., Tang, Q., Hsu, J., and Neu, J. L.: An atmospheric
chemist in search of the tropopause, J. Geophys. Res., 116, D04306,
<ext-link xlink:href="https://doi.org/10.1029/2010JD014939" ext-link-type="DOI">10.1029/2010JD014939</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx69"><?xmltex \def\ref@label{{Rienecker et~al.(2011)}}?><label>Rienecker et al.(2011)</label><?label rienecker11?><mixed-citation>Rienecker, M. M., Suarez, M. J., Gelaro, R., Todling, R., Bacmeister, J., Liu,
E., Bosilovich, M. G., Schubert, S. D., Takacs, L., Kim, G.-K., Bloom, S.,
Chen, J., Collins, D., Conaty, A., da Silva, A., Gu, W., Joiner, J., Koster,
R. D., Lucchesi, R., Molod, A., Owens, T., Pawson, S., Pegion, P., Redder,
C. R., Reichle, R., Robertson, F. R., Ruddick, A. G., Sienkiewicz, M., and
Woollen, J.: MERRA: NASA's Modern-Era Retrospective Analysis for Research
and Applications, J. Climate, 24, 3624–3648, <ext-link xlink:href="https://doi.org/10.1175/JCLI-D-11-00015.1" ext-link-type="DOI">10.1175/JCLI-D-11-00015.1</ext-link>,
2011.</mixed-citation></ref>
      <ref id="bib1.bibx70"><?xmltex \def\ref@label{{Rolph and Draxler(1990)}}?><label>Rolph and Draxler(1990)</label><?label rolph90?><mixed-citation>Rolph, G. D. and Draxler, R. R.: Sensitivity of three-dimensional trajectories
to the spatial and temporal densities of the wind field, J. Appl. Meteorol.,
29, 1043–1054, <ext-link xlink:href="https://doi.org/10.1175/1520-0450(1990)029&lt;1043:SOTDTT&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0450(1990)029&lt;1043:SOTDTT&gt;2.0.CO;2</ext-link>, 1990.</mixed-citation></ref>
      <ref id="bib1.bibx71"><?xmltex \def\ref@label{{R{\"{o}}{\ss}ler(2015)}}?><label>Rößler(2015)</label><?label roessler15?><mixed-citation>Rößler, T.: Optimization and validation of atmospheric advective and
diffusive transport simulations, bachelor thesis, Fachhochschule Aachen,
Jülich, Germany, <uri>https://juser.fz-juelich.de/record/256610</uri> (last access: 30 March 2022), 2015.</mixed-citation></ref>
      <ref id="bib1.bibx72"><?xmltex \def\ref@label{{R\"{o}{\ss}ler et~al.(2018)}}?><label>Rößler et al.(2018)</label><?label roessler18?><mixed-citation>Rößler, T., Stein, O., Heng, Y., Baumeister, P., and Hoffmann, L.: Trajectory errors of different numerical integration schemes diagnosed with the MPTRAC advection module driven by ECMWF operational analyses, Geosci. Model Dev., 11, 575–592, <ext-link xlink:href="https://doi.org/10.5194/gmd-11-575-2018" ext-link-type="DOI">10.5194/gmd-11-575-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx73"><?xmltex \def\ref@label{{Sander(2015)}}?><label>Sander(2015)</label><?label sander15?><mixed-citation>Sander, R.: Compilation of Henry's law constants (version 4.0) for water as solvent, Atmos. Chem. Phys., 15, 4399–4981, <ext-link xlink:href="https://doi.org/10.5194/acp-15-4399-2015" ext-link-type="DOI">10.5194/acp-15-4399-2015</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx74"><?xmltex \def\ref@label{{Schulzweida(2014)}}?><label>Schulzweida(2014)</label><?label schulzweida14?><mixed-citation>Schulzweida, U.: CDO User's Guide, Max-Planck-Institut für Meteorologie,
Hamburg, <uri>https://code.zmaw.de/projects/cdo</uri> (last access: 14 November 2018), 2014.</mixed-citation></ref>
      <ref id="bib1.bibx75"><?xmltex \def\ref@label{{Smoydzin and Hoor(2021)}}?><label>Smoydzin and Hoor(2021)</label><?label smoydzin21?><mixed-citation>Smoydzin, L. and Hoor, P.: Contribution of Asian emissions to upper tropospheric CO over the remote Pacific, Atmos. Chem. Phys. Discuss. [preprint], <ext-link xlink:href="https://doi.org/10.5194/acp-2021-733" ext-link-type="DOI">10.5194/acp-2021-733</ext-link>, in review, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx76"><?xmltex \def\ref@label{{Sprenger and Wernli(2015)}}?><label>Sprenger and Wernli(2015)</label><?label sprenger15?><mixed-citation>Sprenger, M. and Wernli, H.: The LAGRANTO Lagrangian analysis tool – version 2.0, Geosci. Model Dev., 8, 2569–2586, <ext-link xlink:href="https://doi.org/10.5194/gmd-8-2569-2015" ext-link-type="DOI">10.5194/gmd-8-2569-2015</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx77"><?xmltex \def\ref@label{{Stein et~al.(2015)}}?><label>Stein et al.(2015)</label><?label stein15?><mixed-citation>Stein, A. F., Draxler, R. R., Rolph, G. D., Stunder, B. J. B., Cohen, M. D.,
and Ngan, F.: NOAA's HYSPLIT Atmospheric Transport and Dispersion Modeling
System, B. Am. Meteorol. Soc., 96, 2059–2077,
<ext-link xlink:href="https://doi.org/10.1175/BAMS-D-14-00110.1" ext-link-type="DOI">10.1175/BAMS-D-14-00110.1</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx78"><?xmltex \def\ref@label{{Stohl(1998)}}?><label>Stohl(1998)</label><?label stohl98b?><mixed-citation>Stohl, A.: Computation, accuracy and applications of trajectories – a review
and bibliography, Atmos. Environ., 32, 947–966,
<ext-link xlink:href="https://doi.org/10.1016/S1352-2310(97)00457-3" ext-link-type="DOI">10.1016/S1352-2310(97)00457-3</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx79"><?xmltex \def\ref@label{{Stohl et~al.(2003)}}?><label>Stohl et al.(2003)</label><?label stohl03?><mixed-citation>Stohl, A., Bonasoni, P., Cristofanelli, P., Collins, W., Feichter, J., Frank,
A., Forster, C., Gerasopoulos, E., Gäggeler, H., James, P., Kentarchos,
T., Kromp-Kolb, H., Krüger, B., Land, C., Meloen, J., Papayannis, A.,
Priller, A., Seibert, P., Sprenger, M., Roelofs, G. J., Scheel, H. E.,
Schnabel, C., Siegmund, P., Tobler, L., Trickl, T., Wernli, H., Wirth, V.,
Zanis, P., and Zerefos, C.: Stratosphere-troposphere exchange: A review, and
what we have learned from STACCATO, J. Geophys. Res., 108, 8516,
<ext-link xlink:href="https://doi.org/10.1029/2002JD002490" ext-link-type="DOI">10.1029/2002JD002490</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx80"><?xmltex \def\ref@label{{Stohl et~al.(2005)}}?><label>Stohl et al.(2005)</label><?label stohl05?><mixed-citation>Stohl, A., Forster, C., Frank, A., Seibert, P., and Wotawa, G.: Technical note: The Lagrangian particle dispersion model FLEXPART version 6.2, Atmos. Chem. Phys., 5, 2461–2474, <ext-link xlink:href="https://doi.org/10.5194/acp-5-2461-2005" ext-link-type="DOI">10.5194/acp-5-2461-2005</ext-link>, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx81"><?xmltex \def\ref@label{{Stohl et~al.(2011)}}?><label>Stohl et al.(2011)</label><?label stohl11?><mixed-citation>Stohl, A., Prata, A. J., Eckhardt, S., Clarisse, L., Durant, A., Henne, S., Kristiansen, N. I., Minikin, A., Schumann, U., Seibert, P., Stebel, K., Thomas, H. E., Thorsteinsson, T., Tørseth, K., and Weinzierl, B.: Determination of time- and height-resolved volcanic ash emissions and their use for quantitative ash dispersion modeling: the 2010 Eyjafjallajökull eruption, Atmos. Chem. Phys., 11, 4333–4351, <ext-link xlink:href="https://doi.org/10.5194/acp-11-4333-2011" ext-link-type="DOI">10.5194/acp-11-4333-2011</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx82"><?xmltex \def\ref@label{{Vogel et~al.(2011)}}?><label>Vogel et al.(2011)</label><?label vogel11?><mixed-citation>Vogel, B., Pan, L. L., Konopka, P., Günther, G., Müller, R., Hall, W.,
Campos, T., Pollack, I., Weinheimer, A., Wei, J., Atlas, E. L., and Bowman,
K. P.: Transport pathways and signatures of mixing in the extratropical
tropopause region derived from Lagrangian model simulations, J. Geophys.
Res., 116, D05306, <ext-link xlink:href="https://doi.org/10.1029/2010JD014876" ext-link-type="DOI">10.1029/2010JD014876</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx83"><?xmltex \def\ref@label{{Vogel et~al.(2019)}}?><label>Vogel et al.(2019)</label><?label vogel19?><mixed-citation>Vogel, B., Müller, R., Günther, G., Spang, R., Hanumanthu, S., Li, D., Riese, M., and Stiller, G. P.: Lagrangian simulations of the transport of young air masses to the top of the Asian monsoon anticyclone and into the tropical pipe, Atmos. Chem. Phys., 19, 6007–6034, <ext-link xlink:href="https://doi.org/10.5194/acp-19-6007-2019" ext-link-type="DOI">10.5194/acp-19-6007-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx84"><?xmltex \def\ref@label{{Webster and Thomson(2011)}}?><label>Webster and Thomson(2011)</label><?label webster11?><mixed-citation>Webster, H. and Thomson, D.: Dry deposition modelling in a Lagrangian
dispersion model, Int. J. Environ. Pollut., 47, 1–9,
<ext-link xlink:href="https://doi.org/10.1504/IJEP.2011.047322" ext-link-type="DOI">10.1504/IJEP.2011.047322</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx85"><?xmltex \def\ref@label{{Webster and Thomson(2014)}}?><label>Webster and Thomson(2014)</label><?label webster14?><mixed-citation>Webster, H. N. and Thomson, D. J.: The NAME wet deposition scheme, Met
Office,
<uri>https://library.metoffice.gov.uk/Portal/Default/en-GB/RecordView/Index/197129</uri> (last access: 30 March 2022),
2014.</mixed-citation></ref>
      <ref id="bib1.bibx86"><?xmltex \def\ref@label{{Wernli and Bourqui(2002)}}?><label>Wernli and Bourqui(2002)</label><?label wernli02?><mixed-citation>Wernli, H. and Bourqui, M.: A Lagrangian “1-year climatology” of (deep)
cross-tropopause exchange in the extratropical Northern Hemisphere, J.
Geophys. Res., 107, ACL 13-1–ACL 13-16, <ext-link xlink:href="https://doi.org/10.1029/2001JD000812" ext-link-type="DOI">10.1029/2001JD000812</ext-link>, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx87"><?xmltex \def\ref@label{{Wilks(2011)}}?><label>Wilks(2011)</label><?label wilks11?><mixed-citation>
Wilks, D. S.: Statistical methods in the atmospheric sciences, vol. 100,
Academic Press, ISBN 9780123850225, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx88"><?xmltex \def\ref@label{{Williams and Kelley(2020)}}?><label>Williams and Kelley(2020)</label><?label williams20?><mixed-citation>Williams, T. and Kelley, C.: gnuplot 5.4 – An interactive plotting program,
<uri>http://www.gnuplot.info/docs_5.4/Gnuplot_5_4.pdf</uri> (last access: 30 March 2022), 2020.</mixed-citation></ref>
      <ref id="bib1.bibx89"><?xmltex \def\ref@label{{Wohltmann et~al.(2010)}}?><label>Wohltmann et al.(2010)</label><?label wohltmann10?><mixed-citation>Wohltmann, I., Lehmann, R., and Rex, M.: The Lagrangian chemistry and transport model ATLAS: simulation and validation of stratospheric chemistry and ozone loss in the winter 1999/2000, Geosci. Model Dev., 3, 585–601, <ext-link xlink:href="https://doi.org/10.5194/gmd-3-585-2010" ext-link-type="DOI">10.5194/gmd-3-585-2010</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx90"><?xmltex \def\ref@label{{Wohltmann et~al.(2019)}}?><label>Wohltmann et al.(2019)</label><?label wohltmann19?><mixed-citation>Wohltmann, I., Lehmann, R., Gottwald, G. A., Peters, K., Protat, A., Louf, V., Williams, C., Feng, W., and Rex, M.: A Lagrangian convective transport scheme including a simulation of the time air parcels spend in updrafts (LaConTra v1.0), Geosci. Model Dev., 12, 4387–4407, <ext-link xlink:href="https://doi.org/10.5194/gmd-12-4387-2019" ext-link-type="DOI">10.5194/gmd-12-4387-2019</ext-link>, 2019.
</mixed-citation></ref><?xmltex \hack{\newpage}?>
      <ref id="bib1.bibx91"><?xmltex \def\ref@label{{Wu et~al.(2017)}}?><label>Wu et al.(2017)</label><?label wu17b?><mixed-citation>Wu, X., Griessbach, S., and Hoffmann, L.: Equatorward dispersion of a high-latitude volcanic plume and its relation to the Asian summer monsoon: a case study of the Sarychev eruption in 2009, Atmos. Chem. Phys., 17, 13439–13455, <ext-link xlink:href="https://doi.org/10.5194/acp-17-13439-2017" ext-link-type="DOI">10.5194/acp-17-13439-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx92"><?xmltex \def\ref@label{{Wu et~al.(2018)}}?><label>Wu et al.(2018)</label><?label wu18c?><mixed-citation>Wu, X., Griessbach, S., and Hoffmann, L.: Long-range transport of volcanic aerosol from the 2010 Merapi tropical eruption to Antarctica, Atmos. Chem. Phys., 18, 15859–15877, <ext-link xlink:href="https://doi.org/10.5194/acp-18-15859-2018" ext-link-type="DOI">10.5194/acp-18-15859-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx93"><?xmltex \def\ref@label{{Zhang et~al.(2020)}}?><label>Zhang et al.(2020)</label><?label zhang20?><mixed-citation>Zhang, J., Wu, X., Bian, J., Xia, X., Bai, Z., Liu, Y., Cai, Z., Huo, J., and
Lyu, D.: Aerosol variations in the upper troposphere and lower stratosphere
over the Tibetan Plateau, Environ. Res. Lett., 15, 094068,
<ext-link xlink:href="https://doi.org/10.1088/1748-9326/ab9b43" ext-link-type="DOI">10.1088/1748-9326/ab9b43</ext-link>, 2020.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Massive-Parallel Trajectory Calculations version 2.2 (MPTRAC-2.2): Lagrangian transport simulations on  graphics processing units (GPUs)</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Abalos et al.(2017)</label><mixed-citation>
Abalos, M., Randel, W. J., Kinnison, D. E., and Garcia, R. R.: Using the
Artificial Tracer e90 to Examine Present and Future UTLS Tracer Transport
in WACCM, J. Atmos. Sci., 74, 3383–3403, <a href="https://doi.org/10.1175/JAS-D-17-0135.1" target="_blank">https://doi.org/10.1175/JAS-D-17-0135.1</a>,
2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Becker et al.(2007)</label><mixed-citation>
Becker, A., Wotawa, G., De Geer, L.-E., Seibert, P., Draxler, R. R., Sloan,
C., D’Amours, R., Hort, M., Glaab, H., Heinrich, P., Grillon, Y.,
Shershakov, V., Katayama, K., Zhang, Y., Stewart, P., Hirtl, M., Jean, M.,
and Chen, P.: Global backtracking of anthropogenic radionuclides by means of
a receptor oriented ensemble dispersion modelling system in support of
Nuclear-Test-Ban Treaty verification, Atmos. Environ., 41, 4520–4534,
<a href="https://doi.org/10.1016/j.atmosenv.2006.12.048" target="_blank">https://doi.org/10.1016/j.atmosenv.2006.12.048</a>, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Bergman et al.(2013)</label><mixed-citation>
Bergman, J. W., Fierli, F., Jensen, E. J., Honomichl, S., and Pan, L. L.:
Boundary layer sources for the Asian anticyclone: Regional contributions to
a vertical conduit, J. Geophys. Res., 118, 2560–2575,
<a href="https://doi.org/10.1002/jgrd.50142" target="_blank">https://doi.org/10.1002/jgrd.50142</a>, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Bowman and Carrie(2002)</label><mixed-citation>
Bowman, K. P. and Carrie, G. D.: The Mean-Meridional Transport Circulation of
the Troposphere in an Idealized GCM, J. Atmos. Sci., 59, 1502–1514,
<a href="https://doi.org/10.1175/1520-0469(2002)059&lt;1502:TMMTCO&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0469(2002)059&lt;1502:TMMTCO&gt;2.0.CO;2</a>, 2002.
</mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Bowman et al.(2013)</label><mixed-citation>
Bowman, K. P., Lin, J. C., Stohl, A., Draxler, R., Konopka, P., Andrews, A.,
and Brunner, D.: Input Data Requirements for Lagrangian Trajectory Models,
B. Am. Meteorol. Soc., 94, 1051–1058, <a href="https://doi.org/10.1175/BAMS-D-12-00076.1" target="_blank">https://doi.org/10.1175/BAMS-D-12-00076.1</a>, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Brinkop and Jöckel(2019)</label><mixed-citation>
Brinkop, S. and Jöckel, P.: ATTILA 4.0: Lagrangian advective and convective transport of passive tracers within the ECHAM5/MESSy (2.53.0) chemistry–climate model, Geosci. Model Dev., 12, 1991–2008, <a href="https://doi.org/10.5194/gmd-12-1991-2019" target="_blank">https://doi.org/10.5194/gmd-12-1991-2019</a>, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Brioude et al.(2013)</label><mixed-citation>
Brioude, J., Arnold, D., Stohl, A., Cassiani, M., Morton, D., Seibert, P., Angevine, W., Evan, S., Dingwell, A., Fast, J. D., Easter, R. C., Pisso, I., Burkhart, J., and Wotawa, G.: The Lagrangian particle dispersion model FLEXPART-WRF version 3.1, Geosci. Model Dev., 6, 1889–1904, <a href="https://doi.org/10.5194/gmd-6-1889-2013" target="_blank">https://doi.org/10.5194/gmd-6-1889-2013</a>, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Burkholder et al.(2019)</label><mixed-citation>
Burkholder, J. B., Sander, S. P., J. Abbatt, J. R. B., Cappa, C., Crounse,
J. D., Dibble, T. S., Huie, R. E., Kolb, C. E., Kurylo, M. J., Orkin, V. L.,
Percival, C. J., Wilmouth, D. M., and Wine, P. H.: Chemical kinetics and
photochemical data for use in atmospheric studies: evaluation number 19,
Tech. rep., Jet Propulsion Laboratory, Pasadena,
<a href="http://jpldataeval.jpl.nasa.gov/" target="_blank"/> (last access: 30 March 2022), 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Cai et al.(2021)</label><mixed-citation>
Cai, Z., Griessbach, S., and Hoffmann, L.: Improved estimation of volcanic SO<sub>2</sub> injections from satellite observations and Lagrangian transport simulations: the 2019 Raikoke eruption, Atmos. Chem. Phys. Discuss. [preprint], <a href="https://doi.org/10.5194/acp-2021-874" target="_blank">https://doi.org/10.5194/acp-2021-874</a>, in review, 2021.
</mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>CGER(2016)</label><mixed-citation>
CGER: Lagrangian Particle Dispersion Program,
<a href="https://db.cger.nies.go.jp/metex/flexcpp.html" target="_blank"/> (last access: 30 March 2022), 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>CINECA(2020)</label><mixed-citation>
CINECA: LEONARDO: The European HPC Path Toward the Digital Era,
<a href="https://www.cineca.it/en/hot-topics/Leonardo-announce" target="_blank"/> (last access: 30 March 2022), 2020.
</mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>CSC(2020)</label><mixed-citation>
CSC: One of the world’s mightiest supercomputers, LUMI, will lift European
research and competitiveness to a new level and promotes green transition,
<a href="https://www.lumi-supercomputer.eu/lumi-one-of-the-worlds-mightiest-supercomputers/" target="_blank"/> (last access: 30 March 2022),
2020.
</mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Damoah et al.(2004)</label><mixed-citation>
Damoah, R., Spichtinger, N., Forster, C., James, P., Mattis, I., Wandinger, U., Beirle, S., Wagner, T., and Stohl, A.: Around the world in 17 days – hemispheric-scale transport of forest fire smoke from Russia in May 2003, Atmos. Chem. Phys., 4, 1311–1321, <a href="https://doi.org/10.5194/acp-4-1311-2004" target="_blank">https://doi.org/10.5194/acp-4-1311-2004</a>, 2004.
</mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>D'Amours et al.(2010)</label><mixed-citation>
D'Amours, R., Malo, A., Servranckx, R., Bensimon, D., Trudel, S., and
Gauthier-Bilodeau, J.-P.: Application of the atmospheric Lagrangian particle
dispersion model MLDP0 to the 2008 eruptions of Okmok and Kasatochi
volcanoes, J. Geophys. Res., 115, D00L11, <a href="https://doi.org/10.1029/2009JD013602" target="_blank">https://doi.org/10.1029/2009JD013602</a>, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Dee et al.(2011)</label><mixed-citation>
Dee, D. P., Uppala, S. M., Simmons, A. J., Berrisford, P., Poli, P., Kobayashi,
S., Andrae, U., Balmaseda, M. A., Balsamo, G., Bauer, P., Bechtold, P.,
Beljaars, A. C. M., van de Berg, L., Bidlot, J., Bormann, N., Delsol, C.,
Dragani, R., Fuentes, M., Geer, A. J., Haimberger, L., Healy, S. B.,
Hersbach, H., Hólm, E. V., Isaksen, L., Kãllberg, P., Köhler, M.,
Matricardi, M., McNally, A. P., Monge-Sanz, B. M., Morcrette, J.-J., Park,
B.-K., Peubey, C., de Rosnay, P., Tavolato, C., Thépaut, J.-N., and
Vitart, F.: The ERA-Interim reanalysis: configuration and performance of
the data assimilation system, Q. J. Roy. Meteor. Soc., 137, 553–597,
<a href="https://doi.org/10.1002/qj.828" target="_blank">https://doi.org/10.1002/qj.828</a>, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>de la Cruz et al.(2016)</label><mixed-citation>
de la Cruz, R., Folch, A., Farré, P., Cabezas, J., Navarro, N., and Cela,
J. M.: Optimization of Atmospheric Transport Models on HPC Platforms, Comput.
Geosci., 97, 30–39, <a href="https://doi.org/10.1016/j.cageo.2016.08.019" target="_blank">https://doi.org/10.1016/j.cageo.2016.08.019</a>, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>DOE(2019a)</label><mixed-citation>
DOE: U.S. Department of Energy and Intel to deliver first exascale
supercomputer,
<a href="https://www.anl.gov/article/us-department-of-energy-and-intel-to-deliver-first-exascale-supercomputer" target="_blank">https://www.anl.gov/article/us-department-of-energy-and-intel-to-deliver-first-exascale-supercomputer</a> (last access: 30 March 2022),
2019a.
</mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>DOE(2019b)</label><mixed-citation>
DOE: U.S. Department of Energy and Cray to Deliver Record-Setting Frontier
Supercomputer at ORNL,
<a href="https://www.ornl.gov/news/us-department-energy-and-cray-deliver-record-setting-frontier-supercomputer-ornl" target="_blank">https://www.ornl.gov/news/us-department-energy-and-cray-deliver-record-setting-frontier-supercomputer-ornl</a> (last access: 30 March 2022),
2019b.
</mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Dongarra et al.(2021)</label><mixed-citation>
Dongarra, J., Strohmaier, E., Simon, H., and Meuer, M.: TOP500,
<a href="https://www.top500.org/lists/2021/06/" target="_blank"/> (last access: 30 March 2022), 2021.
</mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Draxler et al.(2015)</label><mixed-citation>
Draxler, R., Arnold, D., Chino, M., Galmarini, S., Hort, M., Jones, A.,
Leadbetter, S., Malo, A., Maurer, C., Rolph, G., Saito, K., Servranckx, R.,
Shimbori, T., Solazzo, E., and Wotawa, G.: World Meteorological
Organization's model simulations of the radionuclide dispersion and
deposition from the Fukushima Daiichi nuclear power plant accident, J.
Environ. Radioact., 139, 172–184, <a href="https://doi.org/10.1016/j.jenvrad.2013.09.014" target="_blank">https://doi.org/10.1016/j.jenvrad.2013.09.014</a>, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Draxler and Hess(1997)</label><mixed-citation>
Draxler, R. R. and Hess, G.: Description of the HYSPLIT4 modeling system,
NOAA Technical Memorandum ERL ARL-224,
<a href="https://www.arl.noaa.gov/documents/reports/arl-224.pdf" target="_blank"/> (last access: 30 March 2022), 1997.
</mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Draxler and Hess(1998)</label><mixed-citation>
Draxler, R. R. and Hess, G. D.: An overview of the HYSPLIT_4 modeling system
of trajectories, dispersion, and deposition, Aust. Meteorol. Mag., 47,
295–308, 1998.
</mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Eyring et al.(2013)</label><mixed-citation>
Eyring, V., Lamarque, J.-F., Hess, P., Arfeuille, F., Bowman, K., Chipperfield, M. P., Duncan, B., Fiore, A., Gettelman, A., Giorgetta, M. A., Granier, C., Hegglin, M., Kinnison, D., Kunze, M., Langematz, U., Luo, B., Martin, R., Matthes, K., Newman, P. A., Peter, T., Robock, A., Ryerson, T., Saiz-Lopez, A., Salawitch, R., Schultz, M., Shepherd, T. G., Shindell, D., Staehelin, J., Tegtmeier, S., Thomason, L., Tilmes, S., Vernier, J.-P., Waugh, D. W., and Young, P. J.: Overview of IGAC/SPARC Chemistry–Climate Model Initiative
(CCMI) community simulations in support of upcoming ozone and climate
assessments, SPARC Newsletter, 40, 48–66, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Forster et al.(2001)</label><mixed-citation>
Forster, C., Wandinger, U., Wotawa, G., James, P., Mattis, I., Althausen, D.,
Simmonds, P., O'Doherty, S., Jennings, S. G., Kleefeld, C., Schneider, J.,
Trickl, T., Kreipl, S., Jäger, H., and Stohl, A.: Transport of boreal forest
fire emissions from Canada to Europe, J. Geophys. Res., 106,
22887–22906, <a href="https://doi.org/10.1029/2001JD900115" target="_blank">https://doi.org/10.1029/2001JD900115</a>, 2001.
</mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Forster et al.(2007)</label><mixed-citation>
Forster, C., Stohl, A., and Seibert, P.: Parameterization of Convective
Transport in a Lagrangian Particle Dispersion Model and Its Evaluation, J.
Appl. Meteorol. Clim., 46, 403–422, <a href="https://doi.org/10.1175/JAM2470.1" target="_blank">https://doi.org/10.1175/JAM2470.1</a>, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Gelaro et al.(2017)</label><mixed-citation>
Gelaro, R., McCarty, W., Suárez, M. J., Todling, R., Molod, A., Takacs, L.,
Randles, C. A., Darmenov, A., Bosilovich, M. G., Reichle, R., Wargan, K.,
Coy, L., Cullather, R., Draper, C., Akella, S., Buchard, V., Conaty, A.,
da Silva, A. M., Gu, W., Kim, G.-K., Koster, R., Lucchesi, R., Merkova, D.,
Nielsen, J. E., Partyka, G., Pawson, S., Putman, W., Rienecker, M., Schubert,
S. D., Sienkiewicz, M., and Zhao, B.: The modern-era retrospective analysis
for research and applications, version 2 (MERRA-2), J. Climate, 30,
5419–5454, <a href="https://doi.org/10.1175/JCLI-D-16-0758.1" target="_blank">https://doi.org/10.1175/JCLI-D-16-0758.1</a>, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Gerbig et al.(2003)</label><mixed-citation>
Gerbig, C., Lin, J. C., Wofsy, S. C., Daube, B. C., Andrews, A. E., Stephens,
B. B., Bakwin, P. S., and Grainger, C. A.: Toward constraining regional-scale
fluxes of CO2 with atmospheric observations over a continent: 2. Analysis
of COBRA data using a receptor-oriented framework, J. Geophys. Res., 108, 4757,
<a href="https://doi.org/10.1029/2003JD003770" target="_blank">https://doi.org/10.1029/2003JD003770</a>, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Gough(2003)</label><mixed-citation>
Gough, B. (Ed.): GNU Scientific Library Reference Manual, Network Theory Ltd.,
2nd edn., <a href="http://www.gnu.org/software/gsl" target="_blank"/> (last access: 30 March 2022), 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Grooß et al.(2005)</label><mixed-citation>
Grooß, J.-U., Konopka, P., and Müller, R.: Ozone Chemistry during the
2002 Antarctic Vortex Split, J. Atmos. Sci., 62, 860–870,
<a href="https://doi.org/10.1175/JAS-3330.1" target="_blank">https://doi.org/10.1175/JAS-3330.1</a>, 2005.
</mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Haghighi Mood and Hoffmann(2022)</label><mixed-citation>
Haghighi Mood, K. and Hoffmann, L.: Performance measurements of MPTRAC v2.2, Zenodo [data set],
<a href="https://doi.org/10.5281/zenodo.6330715" target="_blank">https://doi.org/10.5281/zenodo.6330715</a>, 2022.
</mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Heng et al.(2016)</label><mixed-citation>
Heng, Y., Hoffmann, L., Griessbach, S., Rößler, T., and Stein, O.: Inverse transport modeling of volcanic sulfur dioxide emissions using large-scale simulations, Geosci. Model Dev., 9, 1627–1645, <a href="https://doi.org/10.5194/gmd-9-1627-2016" target="_blank">https://doi.org/10.5194/gmd-9-1627-2016</a>, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Hersbach et al.(2020)</label><mixed-citation>
Hersbach, H., Bell, B., Berrisford, P., Hirahara, S., Horányi, A.,
Muñoz-Sabater, J., Nicolas, J., Peubey, C., Radu, R., Schepers, D., Simmons,
A., Soci, C., Abdalla, S., Abellan, X., Balsamo, G., Bechtold, P., Biavati,
G., Bidlot, J., Bonavita, M., De Chiara, G., Dahlgren, P., Dee, D.,
Diamantakis, M., Dragani, R., Flemming, J., Forbes, R., Fuentes, M., Geer,
A., Haimberger, L., Healy, S., Hogan, R. J., Hólm, E., Janisková, M.,
Keeley, S., Laloyaux, P., Lopez, P., Lupu, C., Radnoti, G., de Rosnay, P.,
Rozum, I., Vamborg, F., Villaume, S., and Thépaut, J.-N.: The ERA5 global
reanalysis, Q. J. Roy. Meteor. Soc., 146, 1999–2049,
<a href="https://doi.org/10.1002/qj.3803" target="_blank">https://doi.org/10.1002/qj.3803</a>, 2020.
</mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Hesketh(1996)</label><mixed-citation>
Hesketh, H. E. (Ed.): Air Pollution Control: Traditional Hazardous Pollutants,
Revised Edition, CRC Press, ISBN 9781566764131, 1996.
</mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Hirdman et al.(2010)</label><mixed-citation>
Hirdman, D., Sodemann, H., Eckhardt, S., Burkhart, J. F., Jefferson, A., Mefford, T., Quinn, P. K., Sharma, S., Ström, J., and Stohl, A.: Source identification of short-lived air pollutants in the Arctic using statistical analysis of measurement data and particle dispersion model output, Atmos. Chem. Phys., 10, 669–693, <a href="https://doi.org/10.5194/acp-10-669-2010" target="_blank">https://doi.org/10.5194/acp-10-669-2010</a>, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Hoff et al.(1999)</label><mixed-citation>
Hoff, K. E., Keyser, J., Lin, M., Manocha, D., and Culver, T.: Fast Computation
of Generalized Voronoi Diagrams Using Graphics Hardware, in: Proceedings of
the 26th Annual Conference on Computer Graphics and Interactive Techniques,
SIGGRAPH '99, ACM Press/Addison-Wesley Publishing Co., USA, 277–286,
<a href="https://doi.org/10.1145/311535.311567" target="_blank">https://doi.org/10.1145/311535.311567</a>, 1999.
</mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Hoffmann et al.(2016)</label><mixed-citation>
Hoffmann, L., Rößler, T., Griessbach, S., Heng, Y., and Stein, O.:
Lagrangian transport simulations of volcanic sulfur dioxide emissions: impact
of meteorological data products, J. Geophys. Res., 121, 4651–4673,
<a href="https://doi.org/10.1002/2015JD023749" target="_blank">https://doi.org/10.1002/2015JD023749</a>, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Hoffmann et al.(2017)</label><mixed-citation>
Hoffmann, L., Hertzog, A., Rößler, T., Stein, O., and Wu, X.: Intercomparison of meteorological analyses and trajectories in the Antarctic lower stratosphere with Concordiasi superpressure balloon observations, Atmos. Chem. Phys., 17, 8045–8061, <a href="https://doi.org/10.5194/acp-17-8045-2017" target="_blank">https://doi.org/10.5194/acp-17-8045-2017</a>, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Hoffmann et al.(2019)</label><mixed-citation>
Hoffmann, L., Günther, G., Li, D., Stein, O., Wu, X., Griessbach, S., Heng, Y., Konopka, P., Müller, R., Vogel, B., and Wright, J. S.: From ERA-Interim to ERA5: the considerable impact of ECMWF's next-generation reanalysis on Lagrangian transport simulations, Atmos. Chem. Phys., 19, 3097–3124, <a href="https://doi.org/10.5194/acp-19-3097-2019" target="_blank">https://doi.org/10.5194/acp-19-3097-2019</a>, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Hoffmann et al.(2021)</label><mixed-citation>
Hoffmann, L., Clemens, J., Holke, J., Liu, M., and Mood, K. H.:
slcs-jsc/mptrac: v2.2, Zenodo [code], <a href="https://doi.org/10.5281/zenodo.5714528" target="_blank">https://doi.org/10.5281/zenodo.5714528</a>, 2021.
</mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Jacobson(1999)</label><mixed-citation>
Jacobson, M. Z.: Fundamentals of Atmospheric Modeling, Cambridge University
Press, <a href="https://doi.org/10.1017/CBO9781139165389" target="_blank">https://doi.org/10.1017/CBO9781139165389</a>, 1999.
</mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>James et al.(2003)</label><mixed-citation>
James, P., Stohl, A., Forster, C., Eckhardt, S., Seibert, P., and Frank, A.: A
15-year climatology of stratosphere troposphere exchange with a Lagrangian
particle dispersion model 2. Mean climate and seasonal variability, J.
Geophys. Res., 108, 8522, <a href="https://doi.org/10.1029/2002JD002639" target="_blank">https://doi.org/10.1029/2002JD002639</a>, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Jones et al.(2007)</label><mixed-citation>
Jones, A., Thomson, D., Hort, M., and Devenish, B.: The U.K. Met Office's Next-Generation Atmospheric Dispersion Model, NAME III, in: Air Pollution Modeling and Its Application XVII, edited by: Borrego, C., Norman, A. L., Springer, Boston, MA, <a href="https://doi.org/10.1007/978-0-387-68854-1_62" target="_blank">https://doi.org/10.1007/978-0-387-68854-1_62</a>, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Jülich Supercomputing Centre(2019)</label><mixed-citation>
Jülich Supercomputing Centre: JUWELS: Modular Tier-0/1 Supercomputer
at the Jülich Supercomputing Centre, J. Large-scale Res. Facilities,
5, A135, <a href="https://doi.org/10.17815/jlsrf-5-171" target="_blank">https://doi.org/10.17815/jlsrf-5-171</a>, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Kalnay et al.(1996)</label><mixed-citation>
Kalnay, E., Kanamitsu, M., Kistler, R., Collins, W., Deaven, D., Gandin, L.,
Iredell, M., Saha, S., White, G., Woollen, J., Zhu, Y., Chelliah, M.,
Ebisuzaki, W., Higgins, W., Janowiak, J., Mo, K. C., Ropelewski, C., Wang,
J., Leetmaa, A., Reynolds, R., Jenne, R., and Joseph, D.: The NCEP/NCAR
40-year reanalysis project, B. Am. Meteorol. Soc., 77, 437–471,
<a href="https://doi.org/10.1175/1520-0477(1996)077&lt;0437:TNYRP&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0477(1996)077&lt;0437:TNYRP&gt;2.0.CO;2</a>, 1996.
</mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Konopka et al.(2005)</label><mixed-citation>
Konopka, P., Spang, R., Günther, G., Müller, R., McKenna, D. S.,
Offermann, D., and Riese, M.: How homogeneous and isotropic is stratospheric
mixing? Comparison of CRISTA-1 observations with transport studies based on
the Chemical Lagrangian Model of the Stratosphere (CLaMS), Q. J. Roy.
Meteor. Soc., 131, 565–579, <a href="https://doi.org/10.1256/qj.04.47" target="_blank">https://doi.org/10.1256/qj.04.47</a>, 2005.
</mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Konopka et al.(2007)</label><mixed-citation>
Konopka, P., Günther, G., Müller, R., dos Santos, F. H. S., Schiller, C., Ravegnani, F., Ulanovsky, A., Schlager, H., Volk, C. M., Viciani, S., Pan, L. L., McKenna, D.-S., and Riese, M.: Contribution of mixing to upward transport across the tropical tropopause layer (TTL), Atmos. Chem. Phys., 7, 3285–3308, <a href="https://doi.org/10.5194/acp-7-3285-2007" target="_blank">https://doi.org/10.5194/acp-7-3285-2007</a>, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Konopka et al.(2015)</label><mixed-citation>
Konopka, P., Ploeger, F., Tao, M., Birner, T., and Riese, M.: Hemispheric
asymmetries and seasonality of mean age of air in the lower stratosphere:
Deep versus shallow branch of the Brewer-Dobson circulation, J. Geophys.
Res., 120, 2053–2066, <a href="https://doi.org/10.1002/2014JD022429" target="_blank">https://doi.org/10.1002/2014JD022429</a>, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Konopka et al.(2019)</label><mixed-citation>
Konopka, P., Tao, M., Ploeger, F., Diallo, M., and Riese, M.: Tropospheric mixing and parametrization of unresolved convective updrafts as implemented in the Chemical Lagrangian Model of the Stratosphere (CLaMS v2.0), Geosci. Model Dev., 12, 2441–2462, <a href="https://doi.org/10.5194/gmd-12-2441-2019" target="_blank">https://doi.org/10.5194/gmd-12-2441-2019</a>, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Kuo et al.(1985)</label><mixed-citation>
Kuo, Y.-H., Skumanich, M., Haagenson, P. L., and Chang, J. S.: The accuracy of
trajectory models as revealed by the observing system simulation experiments,
Mon. Weather Rev., 113, 1852–1867,
<a href="https://doi.org/10.1175/1520-0493(1985)113&lt;1852:TAOTMA&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0493(1985)113&lt;1852:TAOTMA&gt;2.0.CO;2</a>, 1985.
</mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Lee et al.(2014)</label><mixed-citation>
Lee, H.-J., Kim, S.-W., Brioude, J., Cooper, O. R., Frost, G. J., Kim, C.-H.,
Park, R. J., Trainer, M., and Woo, J.-H.: Transport of NOx in East Asia
identified by satellite and in situ measurements and Lagrangian particle
dispersion model simulations, J. Geophys. Res., 119, 2574–2596,
<a href="https://doi.org/10.1002/2013JD021185" target="_blank">https://doi.org/10.1002/2013JD021185</a>, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Legras and Bucci(2020)</label><mixed-citation>
Legras, B. and Bucci, S.: Confinement of air in the Asian monsoon anticyclone and pathways of convective air to the stratosphere during the summer season, Atmos. Chem. Phys., 20, 11045–11064, <a href="https://doi.org/10.5194/acp-20-11045-2020" target="_blank">https://doi.org/10.5194/acp-20-11045-2020</a>, 2020.
</mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>Legras et al.(2003)</label><mixed-citation>
Legras, B., Joseph, B., and Lefèvre, F.: Vertical diffusivity in the lower
stratosphere from Lagrangian back-trajectory reconstructions of ozone
profiles, J. Geophys. Res., 108, 4562, <a href="https://doi.org/10.1029/2002JD003045" target="_blank">https://doi.org/10.1029/2002JD003045</a>, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>Legras et al.(2005)</label><mixed-citation>
Legras, B., Pisso, I., Berthet, G., and Lefèvre, F.: Variability of the Lagrangian turbulent diffusion in the lower stratosphere, Atmos. Chem. Phys., 5, 1605–1622, <a href="https://doi.org/10.5194/acp-5-1605-2005" target="_blank">https://doi.org/10.5194/acp-5-1605-2005</a>, 2005.
</mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>Li and Shih(2018)</label><mixed-citation>
Li, X. and Shih, P.-C.: An early performance comparison of CUDA and
OpenACC, in: MATEC Web of Conferences, EDP Sciences, 208, 05002,
<a href="https://doi.org/10.1051/matecconf/201820805002" target="_blank">https://doi.org/10.1051/matecconf/201820805002</a>, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>Lin et al.(2003)</label><mixed-citation>
Lin, J., Gerbig, C., Wofsy, S., Andrews, A., Daube, B., Davis, K., and
Grainger, C.: A near-field tool for simulating the upstream influence of
atmospheric observations: The Stochastic Time-Inverted Lagrangian Transport
(STILT) model, J. Geophys. Res., 108, 4493, <a href="https://doi.org/10.1029/2002JD003161" target="_blank">https://doi.org/10.1029/2002JD003161</a>,
2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>Liu et al.(2020)</label><mixed-citation>
Liu, M., Huang, Y., Hoffmann, L., Huang, C., Chen, P., and Heng, Y.:
High-Resolution Source Estimation of Volcanic Sulfur Dioxide Emissions Using
Large-Scale Transport Simulations, in: International Conference on
Computational Science, Springer, 12139, 60–73,
<a href="https://doi.org/10.1007/978-3-030-50420-5_5" target="_blank">https://doi.org/10.1007/978-3-030-50420-5_5</a>, 2020.
</mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>LLNL(2020)</label><mixed-citation>
LLNL: LLNL and HPE to partner with AMD on El Capitan, projected as world’s
fastest supercomputer,
<a href="https://www.llnl.gov/news/llnl-and-hpe-partner-amd-el-capitan-projected-worlds-fastest-supercomputer" target="_blank">https://www.llnl.gov/news/llnl-and-hpe-partner-amd-el-capitan-projected-worlds-fastest-supercomputer</a> (last access: 30 March 2022),
2020.
</mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>Mahowald et al.(2002)</label><mixed-citation>
Mahowald, N. M., Plumb, R. A., Rasch, P. J., del Corral, J., Sassi, F., and
Heres, W.: Stratospheric transport in a three-dimensional isentropic
coordinate model, J. Geophys. Res., 107, ACH 3-1–ACH 3-14,
<a href="https://doi.org/10.1029/2001JD001313" target="_blank">https://doi.org/10.1029/2001JD001313</a>, 2002.
</mixed-citation></ref-html>
<ref-html id="bib1.bib59"><label>McKenna et al.(2002a)</label><mixed-citation>
McKenna, D. S., Grooß, J.-U., Günther, G., Konopka, P., Müller, R.,
Carver, G., and Sasano, Y.: A new Chemical Lagrangian Model of the
Stratosphere (CLaMS) 2. Formulation of chemistry scheme and initialization,
J. Geophys. Res., 107, ACH 4-1–ACH 4-14, <a href="https://doi.org/10.1029/2000JD000113" target="_blank">https://doi.org/10.1029/2000JD000113</a>,
2002a.
</mixed-citation></ref-html>
<ref-html id="bib1.bib60"><label>McKenna et al.(2002b)</label><mixed-citation>
McKenna, D. S., Konopka, P., Grooß, J.-U., Günther, G., Müller, R.,
Spang, R., Offermann, D., and Orsolini, Y.: A new Chemical Lagrangian Model
of the Stratosphere (CLaMS) 1. Formulation of advection and mixing, J.
Geophys. Res., 107, ACH 15-1–ACH 15-15, <a href="https://doi.org/10.1029/2000JD000114" target="_blank">https://doi.org/10.1029/2000JD000114</a>,
2002b.
</mixed-citation></ref-html>
<ref-html id="bib1.bib61"><label>Molnár et al.(2010)</label><mixed-citation>
Molnár, F., Szakály, T., Mészáros, R., and Lagzi, I.: Air pollution
modelling using a Graphics Processing Unit with CUDA, Comp. Phys. Comm.,
181, 105–112, <a href="https://doi.org/10.1016/j.cpc.2009.09.008" target="_blank">https://doi.org/10.1016/j.cpc.2009.09.008</a>, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib62"><label>NVIDIA(2020)</label><mixed-citation>
NVIDIA: NVIDIA A100 Tensor Core GPU Architecture: unprecedented acceleration
at every scale,
<a href="https://www.nvidia.com/content/dam/en-zz/Solutions/Data-Center/nvidia-ampere-architecture-whitepaper.pdf" target="_blank"/> (last access: 30 March 2022),
2020.
</mixed-citation></ref-html>
<ref-html id="bib1.bib63"><label>Pisso et al.(2009)</label><mixed-citation>
Pisso, I., Real, E., Law, K. S., Legras, B., Bousserez, N., Attié, J. L.,
and Schlager, H.: Estimation of mixing in the troposphere from Lagrangian
trace gas reconstructions during long-range pollution plume transport, J.
Geophys. Res., 114, D19301, <a href="https://doi.org/10.1029/2008JD011289" target="_blank">https://doi.org/10.1029/2008JD011289</a>, 2009.
</mixed-citation></ref-html>
<ref-html id="bib1.bib64"><label>Pisso et al.(2019)</label><mixed-citation>
Pisso, I., Sollum, E., Grythe, H., Kristiansen, N. I., Cassiani, M., Eckhardt, S., Arnold, D., Morton, D., Thompson, R. L., Groot Zwaaftink, C. D., Evangeliou, N., Sodemann, H., Haimberger, L., Henne, S., Brunner, D., Burkhart, J. F., Fouilloux, A., Brioude, J., Philipp, A., Seibert, P., and Stohl, A.: The Lagrangian particle dispersion model FLEXPART version 10.4, Geosci. Model Dev., 12, 4955–4997, <a href="https://doi.org/10.5194/gmd-12-4955-2019" target="_blank">https://doi.org/10.5194/gmd-12-4955-2019</a>, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib65"><label>Ploeger et al.(2021)</label><mixed-citation>
Ploeger, F., Diallo, M., Charlesworth, E., Konopka, P., Legras, B., Laube, J. C., Grooß, J.-U., Günther, G., Engel, A., and Riese, M.: The stratospheric Brewer–Dobson circulation inferred from age of air in the ERA5 reanalysis, Atmos. Chem. Phys., 21, 8393–8412, <a href="https://doi.org/10.5194/acp-21-8393-2021" target="_blank">https://doi.org/10.5194/acp-21-8393-2021</a>, 2021.
</mixed-citation></ref-html>
<ref-html id="bib1.bib66"><label>Pommrich et al.(2014)</label><mixed-citation>
Pommrich, R., Müller, R., Grooß, J.-U., Konopka, P., Ploeger, F., Vogel, B., Tao, M., Hoppe, C. M., Günther, G., Spelten, N., Hoffmann, L., Pumphrey, H.-C., Viciani, S., D'Amato, F., Volk, C. M., Hoor, P., Schlager, H., and Riese, M.: Tropical troposphere to stratosphere transport of carbon monoxide and long-lived trace species in the Chemical Lagrangian Model of the Stratosphere (CLaMS), Geosci. Model Dev., 7, 2895–2916, <a href="https://doi.org/10.5194/gmd-7-2895-2014" target="_blank">https://doi.org/10.5194/gmd-7-2895-2014</a>, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib67"><label>Prata et al.(2007)</label><mixed-citation>
Prata, A. J., Carn, S. A., Stohl, A., and Kerkmann, J.: Long range transport and fate of a stratospheric volcanic cloud from Soufrière Hills volcano, Montserrat, Atmos. Chem. Phys., 7, 5093–5103, <a href="https://doi.org/10.5194/acp-7-5093-2007" target="_blank">https://doi.org/10.5194/acp-7-5093-2007</a>, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib68"><label>Prather et al.(2011)</label><mixed-citation>
Prather, M. J., Zhu, X., Tang, Q., Hsu, J., and Neu, J. L.: An atmospheric
chemist in search of the tropopause, J. Geophys. Res., 116, D04306,
<a href="https://doi.org/10.1029/2010JD014939" target="_blank">https://doi.org/10.1029/2010JD014939</a>, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib69"><label>Rienecker et al.(2011)</label><mixed-citation>
Rienecker, M. M., Suarez, M. J., Gelaro, R., Todling, R., Bacmeister, J., Liu,
E., Bosilovich, M. G., Schubert, S. D., Takacs, L., Kim, G.-K., Bloom, S.,
Chen, J., Collins, D., Conaty, A., da Silva, A., Gu, W., Joiner, J., Koster,
R. D., Lucchesi, R., Molod, A., Owens, T., Pawson, S., Pegion, P., Redder,
C. R., Reichle, R., Robertson, F. R., Ruddick, A. G., Sienkiewicz, M., and
Woollen, J.: MERRA: NASA's Modern-Era Retrospective Analysis for Research
and Applications, J. Climate, 24, 3624–3648, <a href="https://doi.org/10.1175/JCLI-D-11-00015.1" target="_blank">https://doi.org/10.1175/JCLI-D-11-00015.1</a>,
2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib70"><label>Rolph and Draxler(1990)</label><mixed-citation>
Rolph, G. D. and Draxler, R. R.: Sensitivity of three-dimensional trajectories
to the spatial and temporal densities of the wind field, J. Appl. Meteorol.,
29, 1043–1054, <a href="https://doi.org/10.1175/1520-0450(1990)029&lt;1043:SOTDTT&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0450(1990)029&lt;1043:SOTDTT&gt;2.0.CO;2</a>, 1990.
</mixed-citation></ref-html>
<ref-html id="bib1.bib71"><label>Rößler(2015)</label><mixed-citation>
Rößler, T.: Optimization and validation of atmospheric advective and
diffusive transport simulations, bachelor thesis, Fachhochschule Aachen,
Jülich, Germany, <a href="https://juser.fz-juelich.de/record/256610" target="_blank"/> (last access: 30 March 2022), 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib72"><label>Rößler et al.(2018)</label><mixed-citation>
Rößler, T., Stein, O., Heng, Y., Baumeister, P., and Hoffmann, L.: Trajectory errors of different numerical integration schemes diagnosed with the MPTRAC advection module driven by ECMWF operational analyses, Geosci. Model Dev., 11, 575–592, <a href="https://doi.org/10.5194/gmd-11-575-2018" target="_blank">https://doi.org/10.5194/gmd-11-575-2018</a>, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib73"><label>Sander(2015)</label><mixed-citation>
Sander, R.: Compilation of Henry's law constants (version 4.0) for water as solvent, Atmos. Chem. Phys., 15, 4399–4981, <a href="https://doi.org/10.5194/acp-15-4399-2015" target="_blank">https://doi.org/10.5194/acp-15-4399-2015</a>, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib74"><label>Schulzweida(2014)</label><mixed-citation>
Schulzweida, U.: CDO User's Guide, Max-Planck-Institut für Meteorologie,
Hamburg, <a href="https://code.zmaw.de/projects/cdo" target="_blank"/> (last access: 14 November 2018), 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib75"><label>Smoydzin and Hoor(2021)</label><mixed-citation>
Smoydzin, L. and Hoor, P.: Contribution of Asian emissions to upper tropospheric CO over the remote Pacific, Atmos. Chem. Phys. Discuss. [preprint], <a href="https://doi.org/10.5194/acp-2021-733" target="_blank">https://doi.org/10.5194/acp-2021-733</a>, in review, 2021.
</mixed-citation></ref-html>
<ref-html id="bib1.bib76"><label>Sprenger and Wernli(2015)</label><mixed-citation>
Sprenger, M. and Wernli, H.: The LAGRANTO Lagrangian analysis tool – version 2.0, Geosci. Model Dev., 8, 2569–2586, <a href="https://doi.org/10.5194/gmd-8-2569-2015" target="_blank">https://doi.org/10.5194/gmd-8-2569-2015</a>, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib77"><label>Stein et al.(2015)</label><mixed-citation>
Stein, A. F., Draxler, R. R., Rolph, G. D., Stunder, B. J. B., Cohen, M. D.,
and Ngan, F.: NOAA's HYSPLIT Atmospheric Transport and Dispersion Modeling
System, B. Am. Meteorol. Soc., 96, 2059–2077,
<a href="https://doi.org/10.1175/BAMS-D-14-00110.1" target="_blank">https://doi.org/10.1175/BAMS-D-14-00110.1</a>, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib78"><label>Stohl(1998)</label><mixed-citation>
Stohl, A.: Computation, accuracy and applications of trajectories – a review
and bibliography, Atmos. Environ., 32, 947–966,
<a href="https://doi.org/10.1016/S1352-2310(97)00457-3" target="_blank">https://doi.org/10.1016/S1352-2310(97)00457-3</a>, 1998.
</mixed-citation></ref-html>
<ref-html id="bib1.bib79"><label>Stohl et al.(2003)</label><mixed-citation>
Stohl, A., Bonasoni, P., Cristofanelli, P., Collins, W., Feichter, J., Frank,
A., Forster, C., Gerasopoulos, E., Gäggeler, H., James, P., Kentarchos,
T., Kromp-Kolb, H., Krüger, B., Land, C., Meloen, J., Papayannis, A.,
Priller, A., Seibert, P., Sprenger, M., Roelofs, G. J., Scheel, H. E.,
Schnabel, C., Siegmund, P., Tobler, L., Trickl, T., Wernli, H., Wirth, V.,
Zanis, P., and Zerefos, C.: Stratosphere-troposphere exchange: A review, and
what we have learned from STACCATO, J. Geophys. Res., 108, 8516,
<a href="https://doi.org/10.1029/2002JD002490" target="_blank">https://doi.org/10.1029/2002JD002490</a>, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib80"><label>Stohl et al.(2005)</label><mixed-citation>
Stohl, A., Forster, C., Frank, A., Seibert, P., and Wotawa, G.: Technical note: The Lagrangian particle dispersion model FLEXPART version 6.2, Atmos. Chem. Phys., 5, 2461–2474, <a href="https://doi.org/10.5194/acp-5-2461-2005" target="_blank">https://doi.org/10.5194/acp-5-2461-2005</a>, 2005.
</mixed-citation></ref-html>
<ref-html id="bib1.bib81"><label>Stohl et al.(2011)</label><mixed-citation>
Stohl, A., Prata, A. J., Eckhardt, S., Clarisse, L., Durant, A., Henne, S., Kristiansen, N. I., Minikin, A., Schumann, U., Seibert, P., Stebel, K., Thomas, H. E., Thorsteinsson, T., Tørseth, K., and Weinzierl, B.: Determination of time- and height-resolved volcanic ash emissions and their use for quantitative ash dispersion modeling: the 2010 Eyjafjallajökull eruption, Atmos. Chem. Phys., 11, 4333–4351, <a href="https://doi.org/10.5194/acp-11-4333-2011" target="_blank">https://doi.org/10.5194/acp-11-4333-2011</a>, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib82"><label>Vogel et al.(2011)</label><mixed-citation>
Vogel, B., Pan, L. L., Konopka, P., Günther, G., Müller, R., Hall, W.,
Campos, T., Pollack, I., Weinheimer, A., Wei, J., Atlas, E. L., and Bowman,
K. P.: Transport pathways and signatures of mixing in the extratropical
tropopause region derived from Lagrangian model simulations, J. Geophys.
Res., 116, D05306, <a href="https://doi.org/10.1029/2010JD014876" target="_blank">https://doi.org/10.1029/2010JD014876</a>, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib83"><label>Vogel et al.(2019)</label><mixed-citation>
Vogel, B., Müller, R., Günther, G., Spang, R., Hanumanthu, S., Li, D., Riese, M., and Stiller, G. P.: Lagrangian simulations of the transport of young air masses to the top of the Asian monsoon anticyclone and into the tropical pipe, Atmos. Chem. Phys., 19, 6007–6034, <a href="https://doi.org/10.5194/acp-19-6007-2019" target="_blank">https://doi.org/10.5194/acp-19-6007-2019</a>, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib84"><label>Webster and Thomson(2011)</label><mixed-citation>
Webster, H. and Thomson, D.: Dry deposition modelling in a Lagrangian
dispersion model, Int. J. Environ. Pollut., 47, 1–9,
<a href="https://doi.org/10.1504/IJEP.2011.047322" target="_blank">https://doi.org/10.1504/IJEP.2011.047322</a>, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib85"><label>Webster and Thomson(2014)</label><mixed-citation>
Webster, H. N. and Thomson, D. J.: The NAME wet deposition scheme, Met
Office,
<a href="https://library.metoffice.gov.uk/Portal/Default/en-GB/RecordView/Index/197129" target="_blank"/> (last access: 30 March 2022),
2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib86"><label>Wernli and Bourqui(2002)</label><mixed-citation>
Wernli, H. and Bourqui, M.: A Lagrangian “1-year climatology” of (deep)
cross-tropopause exchange in the extratropical Northern Hemisphere, J.
Geophys. Res., 107, ACL 13-1–ACL 13-16, <a href="https://doi.org/10.1029/2001JD000812" target="_blank">https://doi.org/10.1029/2001JD000812</a>, 2002.
</mixed-citation></ref-html>
<ref-html id="bib1.bib87"><label>Wilks(2011)</label><mixed-citation>
Wilks, D. S.: Statistical methods in the atmospheric sciences, vol. 100,
Academic Press, ISBN 9780123850225, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib88"><label>Williams and Kelley(2020)</label><mixed-citation>
Williams, T. and Kelley, C.: gnuplot 5.4 – An interactive plotting program,
<a href="http://www.gnuplot.info/docs_5.4/Gnuplot_5_4.pdf" target="_blank"/> (last access: 30 March 2022), 2020.
</mixed-citation></ref-html>
<ref-html id="bib1.bib89"><label>Wohltmann et al.(2010)</label><mixed-citation>
Wohltmann, I., Lehmann, R., and Rex, M.: The Lagrangian chemistry and transport model ATLAS: simulation and validation of stratospheric chemistry and ozone loss in the winter 1999/2000, Geosci. Model Dev., 3, 585–601, <a href="https://doi.org/10.5194/gmd-3-585-2010" target="_blank">https://doi.org/10.5194/gmd-3-585-2010</a>, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib90"><label>Wohltmann et al.(2019)</label><mixed-citation>
Wohltmann, I., Lehmann, R., Gottwald, G. A., Peters, K., Protat, A., Louf, V., Williams, C., Feng, W., and Rex, M.: A Lagrangian convective transport scheme including a simulation of the time air parcels spend in updrafts (LaConTra v1.0), Geosci. Model Dev., 12, 4387–4407, <a href="https://doi.org/10.5194/gmd-12-4387-2019" target="_blank">https://doi.org/10.5194/gmd-12-4387-2019</a>, 2019.

</mixed-citation></ref-html>
<ref-html id="bib1.bib91"><label>Wu et al.(2017)</label><mixed-citation>
Wu, X., Griessbach, S., and Hoffmann, L.: Equatorward dispersion of a high-latitude volcanic plume and its relation to the Asian summer monsoon: a case study of the Sarychev eruption in 2009, Atmos. Chem. Phys., 17, 13439–13455, <a href="https://doi.org/10.5194/acp-17-13439-2017" target="_blank">https://doi.org/10.5194/acp-17-13439-2017</a>, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib92"><label>Wu et al.(2018)</label><mixed-citation>
Wu, X., Griessbach, S., and Hoffmann, L.: Long-range transport of volcanic aerosol from the 2010 Merapi tropical eruption to Antarctica, Atmos. Chem. Phys., 18, 15859–15877, <a href="https://doi.org/10.5194/acp-18-15859-2018" target="_blank">https://doi.org/10.5194/acp-18-15859-2018</a>, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib93"><label>Zhang et al.(2020)</label><mixed-citation>
Zhang, J., Wu, X., Bian, J., Xia, X., Bai, Z., Liu, Y., Cai, Z., Huo, J., and
Lyu, D.: Aerosol variations in the upper troposphere and lower stratosphere
over the Tibetan Plateau, Environ. Res. Lett., 15, 094068,
<a href="https://doi.org/10.1088/1748-9326/ab9b43" target="_blank">https://doi.org/10.1088/1748-9326/ab9b43</a>, 2020.
</mixed-citation></ref-html>--></article>
