<?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"><?xmltex \makeatother\@nolinetrue\makeatletter?>
  <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-12-4185-2019</article-id><title-group><article-title>Pysteps: an open-source Python library  for probabilistic precipitation nowcasting (v1.0)</article-title><alt-title>Pysteps v1.0</alt-title>
      </title-group><?xmltex \runningtitle{Pysteps v1.0}?><?xmltex \runningauthor{S. Pulkkinen et al.}?>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1 aff2">
          <name><surname>Pulkkinen</surname><given-names>Seppo</given-names></name>
          <email>seppo.pulkkinen@fmi.fi</email>
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3 aff4">
          <name><surname>Nerini</surname><given-names>Daniele</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-6222-4294</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff5">
          <name><surname>Pérez Hortal</surname><given-names>Andrés A.</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff6">
          <name><surname>Velasco-Forero</surname><given-names>Carlos</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-2352-1223</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff6">
          <name><surname>Seed</surname><given-names>Alan</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Germann</surname><given-names>Urs</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Foresti</surname><given-names>Loris</given-names></name>
          
        </contrib>
        <aff id="aff1"><label>1</label><institution>Colorado State University, Fort Collins, CO, USA</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Finnish Meteorological Institute, Helsinki, Finland</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Federal Office of Meteorology and Climatology MeteoSwiss, Locarno-Monti, Switzerland</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>Institute for Atmospheric and Climate Science, ETH Zurich, Zurich, Switzerland</institution>
        </aff>
        <aff id="aff5"><label>5</label><institution>Department of Atmospheric and Oceanic Sciences, McGill University, Montreal, Canada</institution>
        </aff>
        <aff id="aff6"><label>6</label><institution>Bureau of Meteorology, Melbourne, Australia</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Seppo Pulkkinen (seppo.pulkkinen@fmi.fi)</corresp></author-notes><pub-date><day>7</day><month>October</month><year>2019</year></pub-date>
      
      <volume>12</volume>
      <issue>10</issue>
      <fpage>4185</fpage><lpage>4219</lpage>
      <history>
        <date date-type="received"><day>5</day><month>April</month><year>2019</year></date>
           <date date-type="rev-request"><day>13</day><month>May</month><year>2019</year></date>
           <date date-type="rev-recd"><day>8</day><month>August</month><year>2019</year></date>
           <date date-type="accepted"><day>25</day><month>August</month><year>2019</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2019 Seppo Pulkkinen et al.</copyright-statement>
        <copyright-year>2019</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/12/4185/2019/gmd-12-4185-2019.html">This article is available from https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019.pdf</self-uri>
      <abstract><title>Abstract</title>
    <p id="d1e169">Pysteps is an open-source and community-driven Python library for probabilistic precipitation nowcasting, that is, very-short-range forecasting (0–6 h). The aim of pysteps is to serve two different needs. The first is to provide a modular and well-documented framework for researchers interested in developing new methods for nowcasting and stochastic space–time simulation of precipitation. The second aim is to offer a highly configurable and easily accessible platform for practitioners ranging from weather forecasters to hydrologists. In this sense, pysteps has the potential to become an important component for integrated early warning systems for severe weather.</p>
    <p id="d1e172">The pysteps library supports various input/output file formats and implements several optical flow methods as well as advanced stochastic generators to produce ensemble nowcasts. In addition, it includes tools for visualizing and post-processing the nowcasts and methods for deterministic, probabilistic and neighborhood forecast verification. The pysteps library is described and its potential is demonstrated using radar composite images from Finland, Switzerland, the United States and Australia. Finally, scientific experiments are carried out to help the reader to understand the pysteps framework and sensitivity to model parameters.</p>
  </abstract>
    </article-meta>
  </front>
<body>
      

      <?xmltex \hack{\newpage}?>
<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d1e186">As defined by the World Meteorological Organization (WMO), nowcasting encompasses a description of the current state of the atmosphere along with forecasts up to 6 h ahead <xref ref-type="bibr" rid="bib1.bibx93" id="paren.1"/>. These short-term forecasts, typically obtained by extrapolation of observations, statistical models or numerical weather prediction (NWP), represent an essential tool to predict severe weather, such as heavy precipitation and intense thunderstorms.</p>
      <p id="d1e192">Excessive rainfall can act as a trigger for water-related hazards <xref ref-type="bibr" rid="bib1.bibx1" id="paren.2"/>, and this is particularly true in an increasingly urbanized territory or in the presence of steep topography. When vulnerable objects become exposed to such hazards, risk can manifest in terms of property damage and loss of lives.</p>
      <p id="d1e198">Reliable precipitation nowcasts are therefore needed to support decision making during severe weather, for example, to decide whether to interrupt a train line exposed to debris flows or to evacuate buildings in flood-prone areas, as well as in the context of the optimization of airport operations and regulation of sewage systems during storm events. All such scenarios can benefit from the availability of real-time nowcasting systems that take into account the predictability of precipitation and related hazards at a high spatial and temporal resolution so that risk is mitigated.</p><?xmltex \hack{\newpage}?>
<?pagebreak page4186?><sec id="Ch1.S1.SS1">
  <label>1.1</label><title>From deterministic to probabilistic nowcasting</title>
      <p id="d1e210">Weather radars are ideally suited for providing the input data for precipitation nowcasting at high resolution, namely spatial scales under 2 km and time ranges between 5 min and 3 h <xref ref-type="bibr" rid="bib1.bibx8" id="paren.3"/>. Despite recent advances in numerical weather prediction <xref ref-type="bibr" rid="bib1.bibx83" id="paren.4"><named-content content-type="pre">e.g.,</named-content></xref>, extrapolation-based nowcasting remains the primary approach at such space- and timescales, typically outperforming NWP forecasts in the first 2–5 h, depending on the weather situation, domain and NWP characteristics <xref ref-type="bibr" rid="bib1.bibx7 bib1.bibx57 bib1.bibx82 bib1.bibx42" id="paren.5"><named-content content-type="pre">e.g.,</named-content></xref>. Other recent developments include machine learning methods, for which promising results have been obtained <xref ref-type="bibr" rid="bib1.bibx96 bib1.bibx23" id="paren.6"><named-content content-type="pre">e.g.,</named-content></xref>, but these have not so far been deployed in operational nowcasting systems.</p>
      <p id="d1e231">Precipitation exhibits variability over a wide range of space- and timescales <xref ref-type="bibr" rid="bib1.bibx54" id="paren.7"><named-content content-type="pre">e.g.,</named-content></xref> which, in combination with the chaotic nature of the atmosphere <xref ref-type="bibr" rid="bib1.bibx53" id="paren.8"><named-content content-type="pre">e.g.,</named-content></xref>, limits our ability to predict its evolution in a deterministic manner. The NWP community recognized this challenge in the early 1990s and tackled the problem by producing an ensemble of NWP forecasts by perturbing the set of initial conditions <xref ref-type="bibr" rid="bib1.bibx88" id="paren.9"><named-content content-type="pre">e.g.,</named-content></xref>. Those perturbations grow exponentially and lead to an ensemble of solutions that reflect forecast uncertainties. The information contained in the ensemble can then be used to derive probabilistic forecasts.</p>
      <p id="d1e249">Just as any other forecasting technique, the skill of radar-based nowcasting was found to depend on multiple factors such as the meteorological conditions, geographical location, spatial and temporal scales <xref ref-type="bibr" rid="bib1.bibx25 bib1.bibx20 bib1.bibx3 bib1.bibx59" id="paren.10"><named-content content-type="pre">e.g.,</named-content></xref>. It is therefore not surprising that also the nowcasting community rapidly acknowledged the importance of estimating predictive uncertainty <xref ref-type="bibr" rid="bib1.bibx79 bib1.bibx26 bib1.bibx11" id="paren.11"><named-content content-type="pre">e.g.,</named-content></xref>. A common approach is based on stochastic simulation, in which correlated noise fields are used to perturb a deterministic nowcast <xref ref-type="bibr" rid="bib1.bibx11 bib1.bibx6 bib1.bibx52 bib1.bibx21" id="paren.12"><named-content content-type="pre">e.g.,</named-content></xref>. Substantial research efforts have been made to make the perturbation fields as realistic as possible and consistent with the nowcast uncertainty <xref ref-type="bibr" rid="bib1.bibx80 bib1.bibx63" id="paren.13"><named-content content-type="pre">e.g.,</named-content></xref>. For a review of the history of nowcasting starting from the 1950s, and its evolution to the probabilistic framework, we refer the reader to <xref ref-type="bibr" rid="bib1.bibx70" id="text.14"/>.</p>
</sec>
<sec id="Ch1.S1.SS2">
  <label>1.2</label><title>The pysteps open-source initiative</title>
      <p id="d1e283">Similarly to other research fields, the nowcasting community has invested a significant amount of time to re-implement from scratch routines and algorithms that have been around for decades, for example, optical flow and advection schemes. Part of this problem is due to the unavailability of software, which is often proprietary or too poorly documented to be understood, trusted and used.</p>
      <p id="d1e286">Recognizing that nowcasting methods and related applications can be further developed and distributed by promoting universal access to existing knowledge, a Python-based software package, called pysteps, is being developed as a community-driven effort. Such effort fits well into the weather radar community with emergence of open data and an increasing number of open-source software projects <xref ref-type="bibr" rid="bib1.bibx38" id="paren.15"/>, for instance, in radar data processing <xref ref-type="bibr" rid="bib1.bibx37 bib1.bibx39" id="paren.16"/>. More recently, community-based initiatives dedicated to nowcasting have emerged, for example, Com-SWIRLS by the Regional Specialized Meteorological Centre (RSMC) for Nowcasting operated by the Hong Kong Observatory (HKO), IMPROVER by the UK MetOffice or rainymotion at the University of Potsdam (see Table <xref ref-type="table" rid="Ch1.T1"/>).</p>

<table-wrap id="Ch1.T1" specific-use="star"><?xmltex \currentcnt{1}?><label>Table 1</label><caption><p id="d1e299">Non-exhaustive list (in alphabetical order) of precipitation nowcasting packages that are in principle available to the public. Open-source libraries have their source code available to the general public. Free-license libraries can be obtained upon request.</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="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:colspec colnum="5" colname="col5" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Library</oasis:entry>
         <oasis:entry colname="col2">Language</oasis:entry>
         <oasis:entry colname="col3">Website</oasis:entry>
         <oasis:entry colname="col4">Availability</oasis:entry>
         <oasis:entry colname="col5">Reference</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Com-SWIRLS</oasis:entry>
         <oasis:entry colname="col2">Python, C++</oasis:entry>
         <oasis:entry colname="col3"><uri>https://com-swirls.org</uri></oasis:entry>
         <oasis:entry colname="col4">Open source<inline-formula><mml:math id="M2" display="inline"><mml:msup><mml:mi/><mml:mo>*</mml:mo></mml:msup></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">
                    <xref ref-type="bibr" rid="bib1.bibx94" id="text.17"/>
                  </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(last access: 23 September 2019)</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">IMPROVER</oasis:entry>
         <oasis:entry colname="col2">Python, Shell</oasis:entry>
         <oasis:entry colname="col3"><uri>https://improver.readthedocs.io</uri></oasis:entry>
         <oasis:entry colname="col4">Open source</oasis:entry>
         <oasis:entry colname="col5">
                    <xref ref-type="bibr" rid="bib1.bibx19" id="text.18"/>
                  </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(last access: 23 September 2019)</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">INCA</oasis:entry>
         <oasis:entry colname="col2">C, Fortran, Shell</oasis:entry>
         <oasis:entry colname="col3"><uri>https://www.zamg.ac.at</uri></oasis:entry>
         <oasis:entry colname="col4">Free license</oasis:entry>
         <oasis:entry colname="col5">
                    <xref ref-type="bibr" rid="bib1.bibx32" id="text.19"/>
                  </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(last access: 23 September 2019)</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">pysteps</oasis:entry>
         <oasis:entry colname="col2">Python</oasis:entry>
         <oasis:entry colname="col3"><uri>https://pysteps.github.io</uri></oasis:entry>
         <oasis:entry colname="col4">Open source</oasis:entry>
         <oasis:entry colname="col5">This study</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(last access: 23 September 2019)</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">rainymotion</oasis:entry>
         <oasis:entry colname="col2">Python</oasis:entry>
         <oasis:entry colname="col3"><uri>https://github.com/hydrogo/rainymotion</uri></oasis:entry>
         <oasis:entry colname="col4">Open source</oasis:entry>
         <oasis:entry colname="col5">
                    <xref ref-type="bibr" rid="bib1.bibx4" id="text.20"/>
                  </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(last access: 23 September 2019)</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">STEPS</oasis:entry>
         <oasis:entry colname="col2">C, C++</oasis:entry>
         <oasis:entry colname="col3"><uri>https://www.bom.gov.au</uri></oasis:entry>
         <oasis:entry colname="col4">Free license</oasis:entry>
         <oasis:entry colname="col5"><xref ref-type="bibr" rid="bib1.bibx11" id="text.21"/>,</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(last access: 23 September 2019)</oasis:entry>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5">
                    <xref ref-type="bibr" rid="bib1.bibx80" id="text.22"/>
                  </oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d1e302"><inline-formula><mml:math id="M1" display="inline"><mml:msup><mml:mi/><mml:mo>*</mml:mo></mml:msup></mml:math></inline-formula> Only for national meteorological and hydrological services within WMO.</p></table-wrap-foot></table-wrap>

      <p id="d1e579">In this article, we present pysteps, an open-source and community-driven Python library for probabilistic precipitation nowcasting.
The objective of pysteps is two-fold. First, it aims at providing a well-documented and modular framework for development of new nowcasting methods. In this sense, pysteps promotes the adoption of open-science practices, as the lack of common standards, transparency, code availability and well-documented workflows in computational disciplines can lead to non-reproducible results, hence questioning their scientific value <xref ref-type="bibr" rid="bib1.bibx41" id="paren.23"/>. Second, pysteps aims at providing an easily accessible software package for practitioners ranging from weather forecasters to hydrologists.</p>
</sec>
<sec id="Ch1.S1.SS3">
  <label>1.3</label><title>Outline of the paper</title>
      <p id="d1e593">The paper is structured as follows. The theoretical framework for precipitation nowcasting and using stochastic perturbations to characterize the uncertainty is formulated in Sect. <xref ref-type="sec" rid="Ch1.S2"/>. The general architecture of the pysteps library is presented in Sect. <xref ref-type="sec" rid="Ch1.S3"/>. A comprehensive verification of pysteps nowcasts is given in Sect. <xref ref-type="sec" rid="Ch1.S4"/>. Various experiments to understand the sensitivity of pysteps to the model parameters and define the default configuration are done in Sect. <xref ref-type="sec" rid="Ch1.S5"/>. The limits of pysteps are tested in Sect. <xref ref-type="sec" rid="Ch1.S6"/> using a tropical cyclone and severe convection case in Australia. Section <xref ref-type="sec" rid="Ch1.S7"/> concludes the paper and lists potential future applications of pysteps. Finally, code listings demonstrating the use of pysteps are given in Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>.</p>
</sec>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Formulation of precipitation nowcasting</title>
      <p id="d1e620">This section introduces the basic concepts and components of probabilistic nowcasting models based on the Lagrangian persistence of radar precipitation fields and describes how these are currently implemented in pysteps.</p>
<?pagebreak page4187?><sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Lagrangian persistence and optical flow</title>
      <p id="d1e630">In its simplest form, extrapolation-based precipitation nowcasting assumes that over the time frame of a few hours the evolution of precipitation can be captured by moving the radar echoes along a stationary motion field without changes in intensity. In the literature, this is known as Lagrangian persistence <xref ref-type="bibr" rid="bib1.bibx98" id="paren.24"/>.</p>
      <p id="d1e636">Denoting a precipitation parcel by <inline-formula><mml:math id="M3" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> and its displacement vector by <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">α</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the conservation equation for an incompressible flow is written as
            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M5" display="block"><mml:mrow><mml:mi>R</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</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:mi mathvariant="italic">τ</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>R</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">α</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>)</mml:mo><mml:mo>;</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          or equivalently in differential form as
            <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M6" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>R</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:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>u</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>v</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>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:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>y</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:mrow></mml:math></disp-formula>
          where <inline-formula><mml:math id="M7" display="inline"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>R</mml:mi><mml:mo>/</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M8" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M9" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula> are the <inline-formula><mml:math id="M10" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M11" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> components of the motion field. In the so-called optical flow methods, <inline-formula><mml:math id="M12" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M13" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula> are estimated for a given location by solving Eq. (<xref ref-type="disp-formula" rid="Ch1.E2"/>) numerically based on a sequence of precipitation intensity fields. Typically, a constraint on the spatial continuity of nearby <inline-formula><mml:math id="M14" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M15" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula> is imposed to guarantee a unique solution. Once the motion field is known, the radar echoes are extrapolated by means of an advection scheme.</p>
      <p id="d1e905">Three methods are currently implemented in pysteps for motion field estimation: a local Lucas–Kanade method <xref ref-type="bibr" rid="bib1.bibx55 bib1.bibx10" id="paren.25"/>, a global variational echo-tracking approach <xref ref-type="bibr" rid="bib1.bibx49 bib1.bibx25" id="paren.26"/> and a spectral approach <xref ref-type="bibr" rid="bib1.bibx75" id="paren.27"><named-content content-type="pre">DARTS, </named-content></xref>. The currently implemented advection method is the backward-in-time semi-Lagrangian scheme described in <xref ref-type="bibr" rid="bib1.bibx25" id="text.28"/>, which is robust against numerical diffusion.</p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Sources of uncertainty</title>
      <p id="d1e930">The predictability of the atmosphere is intrinsically limited by the fact that its state cannot be observed with absolute precision nor expressed without approximations in its governing laws <xref ref-type="bibr" rid="bib1.bibx53" id="paren.29"/>. In the case of radar-based precipitation nowcasting, predictive uncertainty originates from errors in the estimation of the current state of the rainfall and motion fields (initial state errors), and limitations of Lagrangian persistence as a model to predict the evolution of the rainfall and motion fields (model errors).</p>
      <p id="d1e936">The main contribution to model errors in the Lagrangian approach stems from the evolution of precipitation in terms of initiation, growth, decay and termination processes that violate the steady-state assumption. Other sources of model uncertainty include the assumption of stationarity of the motion field, inaccuracies due to the practical implementation of the method, as the discretization in time, space and reflectivity, and numerical diffusion of the advection scheme <xref ref-type="bibr" rid="bib1.bibx28" id="paren.30"/>.</p>
      <p id="d1e942">Currently, pysteps focuses on the representation of the model errors, whereas incorporation of the initial state errors in the nowcasting is left for future work.</p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Data transformation</title>
      <p id="d1e953">The statistics of intermittent precipitation rates are non-Gaussian and display a typical asymmetric distribution that is bounded at zero. Such properties restrict the usage of well-established stochastic models that assume Gaussianity. A common workaround is to introduce a suitable data transformation to approximate a normal distribution <xref ref-type="bibr" rid="bib1.bibx18" id="paren.31"><named-content content-type="pre">e.g.,</named-content></xref>.</p>
      <?pagebreak page4188?><p id="d1e961"><?xmltex \hack{\newpage}?>Currently, pysteps assumes a log-normal distribution of rain rates by applying the logarithmic transformation
            <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M16" display="block"><mml:mrow><mml:mi>R</mml:mi><mml:mo>→</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left left"><mml:mtr><mml:mtd><mml:mrow><mml:mn mathvariant="normal">10</mml:mn><mml:msub><mml:mi>log⁡</mml:mi><mml:mn mathvariant="normal">10</mml:mn></mml:msub><mml:mi>R</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if</mml:mtext><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>R</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mrow class="unit"><mml:mi mathvariant="normal">mm</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><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:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">15</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mtext>otherwise</mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          that corresponds to logarithmic radar rain rates (units of dBR). The value of <inline-formula><mml:math id="M17" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">15</mml:mn></mml:mrow></mml:math></inline-formula> dBR is equivalent to assigning a rain rate of approximately 0.03 mm h<inline-formula><mml:math id="M18" 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> to the zeros. Hereafter, <inline-formula><mml:math id="M19" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> refers to the transformed rain rates, unless otherwise stated.</p>
      <p id="d1e1058">Using the logarithmic transformation is motivated by the fact that rain rates are approximately log-normally distributed <xref ref-type="bibr" rid="bib1.bibx16" id="paren.32"/>. This has two main advantages. First, it simplifies the estimation of distribution parameters, particularly with limited sample size and in the presence of measurement noise <xref ref-type="bibr" rid="bib1.bibx36" id="paren.33"/>. Second, the decomposition of log-transformed rainfall fields defines a multiplicative cascade, where multiplication is replaced with summation in the transformed space <xref ref-type="bibr" rid="bib1.bibx79" id="paren.34"/>.</p>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>A cascade of spatial scales</title>
      <p id="d1e1079">It has been shown that the lifetime of precipitation relates to its spatial scale <xref ref-type="bibr" rid="bib1.bibx91 bib1.bibx79 bib1.bibx28" id="paren.35"><named-content content-type="pre">e.g.,</named-content></xref>, often denominated as dynamic scaling. Recognizing this fundamental property, <xref ref-type="bibr" rid="bib1.bibx79" id="text.36"/> introduced the Spectral Prognosis (S-PROG) model, which laid the foundation for the development of Short-Term Ensemble Prediction System (STEPS) <xref ref-type="bibr" rid="bib1.bibx11 bib1.bibx80" id="paren.37"/>. The key idea is to decompose the precipitation field into a multiplicative cascade, where the cascade levels represent different spatial scales, and treat them separately in the nowcasting model.</p>
      <p id="d1e1093">In STEPS, the scale decomposition is done by applying a fast Fourier transform (FFT) to the input precipitation field. This is motivated by the fact that for a grid of size <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:mi>L</mml:mi><mml:mo>×</mml:mo><mml:mi>L</mml:mi></mml:mrow></mml:math></inline-formula> pixels, the radial Fourier wavenumbers <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo>|</mml:mo><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>k</mml:mi><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> are related to spatial scales via
            <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M22" display="block"><mml:mrow><?xmltex \hack{\hbox\bgroup\fontsize{9.5}{9.5}\selectfont$\displaystyle}?><mml:mover><mml:mover accent="true" class="overbrace"><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo>|</mml:mo></mml:mrow><mml:mo mathvariant="normal">︷</mml:mo></mml:mover><mml:mstyle scriptlevel="+2"><mml:mtable class="substack" columnspacing="0.4em" rowspacing="0.2ex"><mml:mtr><mml:mtd><mml:mrow><mml:mi mathvariant="normal">radial</mml:mi><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi mathvariant="normal">wavenumber</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">pixels</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mstyle></mml:mover><mml:mo>→</mml:mo><mml:mover><mml:mover accent="true" class="overbrace"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>L</mml:mi><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo mathvariant="normal">︷</mml:mo></mml:mover><mml:mstyle scriptlevel="+2"><mml:mtable rowspacing="0.2ex" class="substack" columnspacing="0.4em"><mml:mtr><mml:mtd><mml:mi mathvariant="normal">wavelength</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">pixels</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mstyle></mml:mover><mml:mo>→</mml:mo><mml:mover><mml:mover accent="true" class="overbrace"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>L</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo mathvariant="normal">︷</mml:mo></mml:mover><mml:mrow><mml:mi mathvariant="normal">wavelength</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>(</mml:mo><mml:mi mathvariant="normal">km</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mover><mml:mo>→</mml:mo><mml:mover><mml:mover accent="true" class="overbrace"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>L</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo>|</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mo mathvariant="normal">︷</mml:mo></mml:mover><mml:mrow><mml:mi mathvariant="normal">scale</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>(</mml:mo><mml:mi mathvariant="normal">km</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mover><mml:mo>,</mml:mo><?xmltex \hack{$\egroup}?></mml:mrow></mml:math></disp-formula>
          where <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> denotes the grid resolution (km). Thus, the spatial scale is half the wavelength. Alternative approaches to perform a scale decomposition include the discrete-cosine transform <xref ref-type="bibr" rid="bib1.bibx25 bib1.bibx84" id="paren.38"/> or wavelets <xref ref-type="bibr" rid="bib1.bibx89 bib1.bibx77" id="paren.39"/>.</p>
      <p id="d1e1295">In the current implementation of pysteps, we adopt the approach of <xref ref-type="bibr" rid="bib1.bibx71" id="text.40"/>, where Gaussian weight functions are used for separating the Fourier spectrum into a set of radial bands. An example of the weight functions for the domain covered by the Finnish Meteorological Institute (FMI) radars is shown in Fig. <xref ref-type="fig" rid="Ch1.F1"/>. After the FFT and Gaussian filtering, each frequency band is transformed back to the spatial domain, which results in a cascade with <inline-formula><mml:math id="M24" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> levels each representing a different scale (see an example in Fig. <xref ref-type="fig" rid="Ch1.F2"/>).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F1"><?xmltex \currentcnt{1}?><label>Figure 1</label><caption><p id="d1e1315">Normalized weight functions with corresponding Fourier wavenumbers and spatial scales for the FMI domain. The domain is a <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:mn mathvariant="normal">760</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1226</mml:mn></mml:mrow></mml:math></inline-formula> grid at 1 km resolution.</p></caption>
          <?xmltex \igopts{width=236.157874pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f01.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F2" specific-use="star"><?xmltex \currentcnt{2}?><label>Figure 2</label><caption><p id="d1e1338">The radar observations and seven first levels of the cascade decomposition of an FMI rain rate composite at  16:00 UTC on 28 September 2016. Values below <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> dBR were set to <inline-formula><mml:math id="M27" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">15</mml:mn></mml:mrow></mml:math></inline-formula> dBR before applying the decomposition in order to reduce the discontinuity at the boundaries of precipitation areas. The observed field and the cascade levels have been normalized to zero mean and unit variance. See Listing <xref ref-type="fig" rid="App1.Ch1.S1.F27"/> in Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/> for obtaining the decomposition.</p></caption>
          <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f02.png"/>

        </fig>

</sec>
<sec id="Ch1.S2.SS5">
  <label>2.5</label><title>Temporal evolution</title>
      <p id="d1e1379">In nowcasting, the typical approach to model the temporal evolution of precipitation fields employs an auto-regressive (AR) process that combines the deterministic component from Lagrangian persistence with a stochastic innovation term, also referred to as a noise or perturbation term. For instance, S-PROG and STEPS use a second-order AR(2) process with two parameters. Separate AR(2) processes are applied to each cascade level to account for the dynamic scaling of precipitation. The combination of the auto-regressive model in time and the cascade model in space allows one to control the temporal evolution and correlation structure of precipitation.</p>
      <p id="d1e1382">Currently, a more general AR(<inline-formula><mml:math id="M28" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>) model has been implemented in pysteps. For each cascade level <inline-formula><mml:math id="M29" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>, the recursion formula is given by
            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M30" display="block"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>p</mml:mi></mml:munderover><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>R</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</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>
          The first term corresponds to the deterministic predictable component at cascade level <inline-formula><mml:math id="M31" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> (i.e., Lagrangian persistence). The second term is a stochastic term that represents the unpredictable component at the same cascade level <inline-formula><mml:math id="M32" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>, that is, mainly initiation, growth and decay of precipitation. The symbol <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula> denotes the time difference between consecutive precipitation fields <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> that are normalized to zero mean and unit variance.</p>
      <?pagebreak page4189?><p id="d1e1547">The parameters <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> in the above model are estimated from time-lagged auto-correlation coefficients <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:mi>k</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:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:math></inline-formula> using the Yule–Walker equations <xref ref-type="bibr" rid="bib1.bibx35" id="paren.41"/>. For <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, the correlation coefficients can be adjusted to ensure that the resulting AR(<inline-formula><mml:math id="M39" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>) process is stationary and non-periodic <xref ref-type="bibr" rid="bib1.bibx12" id="paren.42"/>. Finally, the parameters <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are chosen as
            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M41" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>p</mml:mi></mml:munderover><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msqrt><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          Given that the variance of the noise fields <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is one, this choice guarantees that the AR(<inline-formula><mml:math id="M43" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>) process is normalized to unit variance <xref ref-type="bibr" rid="bib1.bibx35" id="paren.43"/>.</p>
      <p id="d1e1728">The theoretical auto-correlation function (ACF) of the AR(2) process can be computed recursively from the model parameters and auto-correlation coefficients <xref ref-type="bibr" rid="bib1.bibx15" id="paren.44"/> according to
            <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M44" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>j</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 mathvariant="italic">ϕ</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          The empirical ACF can be derived by computing the correlation coefficients between the extrapolation nowcasts and the observations.</p>
      <p id="d1e1816">For an exponentially decaying ACF, the precipitation lifetime is defined as the time when the ACF, theoretical or empirical, falls below the value <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mi>e</mml:mi><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">0.37</mml:mn></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M46" display="inline"><mml:mi>e</mml:mi></mml:math></inline-formula> is the Euler number. Alternatively, one can estimate the lifetime by integrating the ACF according to
            <disp-formula id="Ch1.E8" content-type="numbered"><label>8</label><mml:math id="M47" display="block"><mml:mrow><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mi mathvariant="normal">∞</mml:mi></mml:munderover><mml:mi mathvariant="italic">ρ</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d1e1872">It is not common to employ an AR(<inline-formula><mml:math id="M48" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>) process with <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> for several reasons. First, it is not trivial to guarantee the stationarity and non-periodicity of the process. Second, when estimated in Lagrangian frame, the higher-order auto-correlation coefficients are affected by the uncertainty of the motion field. This occurs especially at small spatial scales as it is difficult to properly track convective cells over several time steps. Third, a low-order AR process is generally sufficient to model the loss of predictability in the nowcasting range; departures are usually observed only after <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> h <xref ref-type="bibr" rid="bib1.bibx2" id="paren.45"/>.</p>
</sec>
<sec id="Ch1.S2.SS6">
  <label>2.6</label><title>Stochastic perturbations of precipitation intensities</title>
      <p id="d1e1915">The perturbation field <inline-formula><mml:math id="M51" display="inline"><mml:mi mathvariant="italic">ε</mml:mi></mml:math></inline-formula> in Eq. (<xref ref-type="disp-formula" rid="Ch1.E5"/>) is typically generated as a correlated Gaussian random field using FFT filtering <xref ref-type="bibr" rid="bib1.bibx66 bib1.bibx11" id="paren.46"><named-content content-type="pre">e.g.,</named-content></xref>. The process consists of three steps:
<list list-type="order"><list-item>
      <p id="d1e1934">generate a Gaussian white noise field,</p></list-item><list-item>
      <?pagebreak page4190?><p id="d1e1938">apply the FFT and a Fourier filter to the above to generate a random field having the desired correlation structure and</p></list-item><list-item>
      <p id="d1e1942">apply the inverse FFT to transform the noise field back to the spatial domain.</p></list-item></list>
This technique is also known as power–law filtering of white noise or fractional integration <xref ref-type="bibr" rid="bib1.bibx76" id="paren.47"/>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F3" specific-use="star"><?xmltex \currentcnt{3}?><label>Figure 3</label><caption><p id="d1e1951">Comparison of three <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">30</mml:mn></mml:mrow></mml:math></inline-formula> min stochastic nowcasts produced with the FFT noise generators available in pysteps as described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS6"/>. <bold>(a)</bold> The radar-based rainfall analysis from the Australian radar network valid at 06:05 UTC on 1 January 2019 on a <inline-formula><mml:math id="M53" display="inline"><mml:mrow><mml:mn mathvariant="normal">512</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">512</mml:mn></mml:mrow></mml:math></inline-formula> pixel grid (event no. 2 in Table <xref ref-type="table" rid="Ch1.T10"/>). <bold>(b)</bold>–<bold>(d)</bold> One member of a <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">30</mml:mn></mml:mrow></mml:math></inline-formula> min nowcast produced using <bold>(b)</bold> the parametric noise generator, <bold>(c)</bold> the non-parametric generator or <bold>(d)</bold> the short-space Fourier transform (SSFT) generator with a <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:mn mathvariant="normal">128</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">128</mml:mn></mml:mrow></mml:math></inline-formula> pixel sliding window. All realizations share the same random seed.</p></caption>
          <?xmltex \igopts{width=455.244094pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f03.png"/>

        </fig>

      <p id="d1e2028">At present, three methods for filtering white noise fields have been implemented in pysteps. In the absence of a model that predicts the evolution of the spatial correlation structure, one assumes that the correlation structure remains constant through the nowcast. An example is provided in Fig. <xref ref-type="fig" rid="Ch1.F3"/>.</p>
      <p id="d1e2034">In the parametric method introduced by <xref ref-type="bibr" rid="bib1.bibx66" id="text.48"/>, the filtered noise field <inline-formula><mml:math id="M56" display="inline"><mml:mi mathvariant="italic">ε</mml:mi></mml:math></inline-formula> is obtained from the white noise field <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as
            <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M58" display="block"><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="script">F</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo mathvariant="italic">{</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="bold-italic">k</mml:mi><mml:mo>|</mml:mo><mml:mo>)</mml:mo><mml:mi mathvariant="script">F</mml:mi><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo mathvariant="italic">}</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          where <inline-formula><mml:math id="M59" display="inline"><mml:mi mathvariant="script">F</mml:mi></mml:math></inline-formula> denotes the Fourier transform and the function <inline-formula><mml:math id="M60" display="inline"><mml:mi>f</mml:mi></mml:math></inline-formula> defines the slope of the radially averaged power spectrum (RAPS).</p>
      <p id="d1e2148">Our implementation follows the approach by <xref ref-type="bibr" rid="bib1.bibx79" id="text.49"/>, which uses a piecewise linear function with two spectral slopes (<inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>,<inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) and one breaking point. The main limitation of such model relates to the assumption of an isotropic power–law scaling relationship, meaning that anisotropic structures such as rainfall bands cannot be represented.</p>
      <p id="d1e2176">In the non-parametric method <xref ref-type="bibr" rid="bib1.bibx80" id="paren.50"/>, the Fourier filter is obtained directly from the power spectrum of the observed precipitation field <inline-formula><mml:math id="M63" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> such that
            <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M64" display="block"><mml:mrow><mml:mi mathvariant="italic">ε</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="script">F</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo mathvariant="italic">{</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="script">F</mml:mi><mml:mo mathvariant="italic">{</mml:mo><mml:mi>R</mml:mi><mml:mo mathvariant="italic">}</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="script">F</mml:mi><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo mathvariant="italic">}</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d1e2279">Differently to the parametric method, the non-parametric approach allows generating perturbation fields with anisotropic structures. On the other hand, the approach requires a larger sample size and is sensitive to the quality of the input data, e.g., the presence of residual clutter in the radar image. In addition, both techniques assume spatial stationarity of the covariance structure of the field.</p>
      <p id="d1e2282">The third method is an extension of the non-parametric approach, where the noise field is generated locally to account for spatial inhomogeneities in the covariance structure of the rainfall field. The technique is based on the short-space Fourier transform (SSFT) and it is described in <xref ref-type="bibr" rid="bib1.bibx63" id="text.51"/>. Essentially, the non-parametric approach in Eq. (<xref ref-type="disp-formula" rid="Ch1.E10"/>) is localized in <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> by
            <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M66" display="block"><mml:mrow><?xmltex \hack{\hbox\bgroup\fontsize{9.5}{9.5}\selectfont$\displaystyle}?><mml:mi mathvariant="italic">ε</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="script">F</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mo mathvariant="italic">{</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="script">F</mml:mi><mml:mo mathvariant="italic">{</mml:mo><mml:mi>R</mml:mi><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mo mathvariant="italic">}</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>|</mml:mo><mml:mi mathvariant="script">F</mml:mi><mml:mo mathvariant="italic">{</mml:mo><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi>w</mml:mi></mml:msub><mml:mo mathvariant="italic">}</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo mathvariant="italic">}</mml:mo><mml:mo>,</mml:mo><?xmltex \hack{$\egroup}?></mml:mrow></mml:math></disp-formula>
          where <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the outer product of two Hanning windows of sizes <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> centered in <inline-formula><mml:math id="M70" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S2.SS7">
  <label>2.7</label><title>Stochastic perturbations of the motion field</title>
      <p id="d1e2526">A second source of uncertainty in Lagrangian persistence nowcasting stems from temporal evolution of the motion field <xref ref-type="bibr" rid="bib1.bibx28" id="paren.52"/>. This can be accounted for by adding stochastic perturbations. In the current implementation of pysteps, this is done by applying the method of <xref ref-type="bibr" rid="bib1.bibx11" id="text.53"/>.</p>
      <p id="d1e2535">For simplicity, the perturbation field is assumed to be spatially constant for each ensemble member, but the magnitude of the perturbations increases with respect to lead time. For a given initial advection field <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and lead time <inline-formula><mml:math id="M72" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, the perturbed velocities are given by
            <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M73" display="block"><mml:mtable rowspacing="0.2ex" class="aligned" columnspacing="1em" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">par</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi mathvariant="normal">perp</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
          where <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">par</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">perp</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denote the components parallel and perpendicular to the initial advection field <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, respectively. The random variables (<inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) are sampled from the Laplace distribution with zero mean and unit variance. Scaling of the perturbations is done according to

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M79" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E13"><mml:mtd><mml:mtext>13</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 mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E14"><mml:mtd><mml:mtext>14</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 mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub><mml:msup><mml:mi>t</mml:mi><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

            where the parameters are climatologically fitted by using a large sample of advection fields.
Example values of these parameters can be found in Table <xref ref-type="table" rid="Ch1.T5"/>.</p>
</sec>
<sec id="Ch1.S2.SS8">
  <label>2.8</label><title>Post-processing of nowcasts</title>
      <p id="d1e2849">To ensure that the forecast fields have the same statistical properties with the observed ones, post-processing is typically done at the very end of the chain. This is necessary because intermediate steps may introduce discrepancies. One major source of such discrepancies is related to the difficulty to model the intermittency of precipitation. Typically, the basic statistical properties such as wet-area ratio, mean, variance and the marginal distribution of precipitation intensities are assumed to remain invariant through the nowcast.</p>
      <p id="d1e2852">In the present implementation of pysteps, the post-processing involves two different types of methods: (1) masking and (2) matching the statistics of the forecast fields with the most recently observed ones. Methods of type (1) are used to avoid generation of stochastic cells into areas that are too distant from existing precipitation. Methods of type (2) can be applied unconditionally or only to pixels within the mask.</p>
      <p id="d1e2855">Three different masking methods have been implemented. In the first method, the mask is obtained from pixels exceeding an intensity threshold in the observed precipitation field, and the mask is kept constant in Lagrangian coordinates for the whole forecast. In the second method, adapted from <xref ref-type="bibr" rid="bib1.bibx79" id="text.54"/>, the mask is obtained by using the S-PROG (i.e., the<?pagebreak page4191?> unperturbed STEPS) nowcast. In the third method, a lead-time-dependent precipitation mask is applied. The mask is defined by the pixels exceeding a given intensity threshold in the observed precipitation field and then progressively relaxed to allow the stochastic evolution of the wet area.</p>
      <p id="d1e2861">Two methods have been implemented for matching the statistics of forecast fields with the observed ones. In the first method, which is used together with the S-PROG mask, the conditional mean of the masked forecast field is adjusted to match the conditional mean of the observed field (excluding intensities below the threshold). Alternatively, the cumulative distribution function (CDF) of the forecast field can be mapped to the observed one <xref ref-type="bibr" rid="bib1.bibx21" id="paren.55"/>. This is defined as
            <disp-formula id="Ch1.E15" content-type="numbered"><label>15</label><mml:math id="M80" display="block"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mi>F</mml:mi><mml:mi mathvariant="normal">obs</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>(</mml:mo><mml:mi>F</mml:mi><mml:mo>(</mml:mo><mml:mi>R</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          where <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">obs</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M82" display="inline"><mml:mi>F</mml:mi></mml:math></inline-formula> denote the CDFs of the observed and the input forecast field <inline-formula><mml:math id="M83" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula>, respectively.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>The pysteps library</title>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Key features and development model</title>
      <p id="d1e2966">The implementation language of pysteps is Python (<uri>http://python.org</uri>, last access: 23 September 2019). As a high-level language with an extensive built-in standard library and a large number of external libraries available, it is ideally suited for open-source software development. Python distributions, such as Anaconda, providing the necessary software to run pysteps are available for all major platforms. Python also provides interfaces for compiled languages such as C/C++ and Fortran, allowing to improve performance in time-critical modules. In addition, Python-based tools, like the IPython shell <xref ref-type="bibr" rid="bib1.bibx69" id="paren.56"/> or the Jupyter notebooks (<uri>https://jupyter.org</uri>, last access: 23 September 2019), allow an interactive use of pysteps for research and demonstration purposes.</p>
      <p id="d1e2978">The pysteps library is extensively documented. The documentation describes in detail the different modules and the application programming interfaces (APIs). The modules are documented by using the docstring concept of Python. This is implemented using Read the docs (<uri>https://readthedocs.org/</uri>, last access: 23 September 2019) and Sphinx (<uri>http://www.sphinx-doc.org/en/master</uri>, last access: 23 September 2019) to automatically compile and update an online version of the documentation, available at <uri>https://pysteps.readthedocs.io</uri> (last access: 23 September 2019). In addition, tutorials for performing various tasks with pysteps are included as example scripts.</p>

<table-wrap id="Ch1.T2" specific-use="star"><?xmltex \currentcnt{2}?><label>Table 2</label><caption><p id="d1e2992">External libraries used by pysteps.</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">Library</oasis:entry>

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

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

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

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

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

         <oasis:entry colname="col2"><uri>http://www.h5py.org</uri></oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4" morerows="2">Input/output</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access: 23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

       </oasis:row>
       <oasis:row>

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

         <oasis:entry colname="col2"><uri>http://unidata.github.io/netcdf4-python</uri></oasis:entry>

         <oasis:entry colname="col3"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

       </oasis:row>
       <oasis:row>

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

         <oasis:entry colname="col2"><uri>https://github.com/python-pillow/Pillow</uri></oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

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

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

       </oasis:row>
       <oasis:row>

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

         <oasis:entry colname="col2"><uri>http://opencv.org</uri></oasis:entry>

         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx13" id="text.57"/>
                  </oasis:entry>

         <oasis:entry colname="col4">Image processing</oasis:entry>

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

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

       </oasis:row>
       <oasis:row>

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

         <oasis:entry colname="col2"><uri>http://www.numpy.org</uri></oasis:entry>

         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx90" id="text.58"/>
                  </oasis:entry>

         <oasis:entry colname="col4" morerows="1">Mathematical routines</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

       </oasis:row>
       <oasis:row>

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

         <oasis:entry colname="col2"><uri>http://www.scipy.org</uri></oasis:entry>

         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx44" id="text.59"/>
                  </oasis:entry>

         <oasis:entry colname="col4"/>

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

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1" morerows="1">FFTW/pyFFTW</oasis:entry>

         <oasis:entry colname="col2"><uri>http://www.fftw.org</uri></oasis:entry>

         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx24" id="text.60"/>
                  </oasis:entry>

         <oasis:entry colname="col4" morerows="1">Fast Fourier transform</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2"><uri>https://github.com/pyFFTW</uri></oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

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

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

       </oasis:row>
       <oasis:row>

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

         <oasis:entry colname="col2"><uri>http://dask.org</uri></oasis:entry>

         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx17" id="text.61"/>
                  </oasis:entry>

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

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

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

       </oasis:row>
       <oasis:row>

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

         <oasis:entry colname="col2"><uri>https://github.com/SciTools/cartopy</uri></oasis:entry>

         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx60" id="text.62"/>
                  </oasis:entry>

         <oasis:entry colname="col4" morerows="2">Visualization</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

       </oasis:row>
       <oasis:row>

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

         <oasis:entry colname="col2"><uri>http://matplotlib.org</uri></oasis:entry>

         <oasis:entry colname="col3">
                    <xref ref-type="bibr" rid="bib1.bibx40" id="text.63"/>
                  </oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1">mpl_toolkits.basemap</oasis:entry>

         <oasis:entry colname="col2"><uri>http://matplotlib.org/basemap</uri></oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">(last access:  23 September 2019)</oasis:entry>

         <oasis:entry colname="col3"/>

         <oasis:entry colname="col4"/>

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

      <p id="d1e3365">Pysteps development is done by using git, a distributed version control system. The source code of pysteps is hosted in GitHub (<uri>https://pysteps.github.io</uri>, last access: 23 September 2019). In addition to code hosting, the features of GitHub include development in multiple branches, issue tracking and wiki pages. Developers outside the core team may fork the main repository and integrate the proposed changes via pull requests, which allow community-driven development. Continuous integration and testing is done by using the Travis CI framework (<uri>https://travis-ci.com/pySTEPS/pysteps</uri>, last access: 23 September 2019).</p>
      <p id="d1e3375">Pysteps is published under the three-clause BSD license. It allows copying, redistribution and modification of the software as long as the modification are tracked and the source code is made available under the same license. The permissive license model makes the software easily accessible to potential users, even allowing use for commercial purposes.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>External dependencies</title>
      <p id="d1e3386">Pysteps relies on several external libraries that are listed in Table <xref ref-type="table" rid="Ch1.T2"/>. It is built on top of NumPy, SciPy and Matplotlib, that together provide a MATLAB-like computing environment in Python. These libraries provide data structures and wrappers for low-level BLAS and LAPACK libraries for<?pagebreak page4192?> high-performance matrix and array operations, image processing methods and also high-level functionality for data visualization. The NumPy array is the basic data structure used in pysteps.</p>
      <p id="d1e3391"><?xmltex \hack{\newpage}?>Support for NetCDF (the default file format), HDF5 and various image file formats is implemented via the NetCDF4, h5py and PIL libraries. A complete list of supported input/output file formats is given in the official pysteps documentation. Plotting precipitation data with basemaps has been implemented via mpl_toolkits.basemap and cartopy packages. The Lucas–Kanade optical flow algorithm used in pysteps is implemented in the OpenCV library and accessed via a Python interface. Parallelized computation of nowcast ensembles is done by using Dask, which provides a platform-independent back end for low-level methods.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Key design principles</title>
      <p id="d1e3403">The aim of pysteps is to be a modular software library where all the main components are interchangeable. This makes the pysteps an ideal research platform for developing and testing new methods as well as a valuable tool for operational meteorology, easily allowing the comparison of different nowcast algorithms or running multi-model ensemble nowcasts. Pysteps is currently divided into 11 modules that perform different tasks. The modules and their descriptions are listed in Table <xref ref-type="table" rid="Ch1.T3"/>.</p>
      <p id="d1e3408">The modularity is implemented via interface-based design. To this end, each module implements one subtask and an<?pagebreak page4193?> interface method for retrieving the desired method for this task. All mutually interchangeable methods implement the same interface. Another key principle is that whenever possible, the data are stored in <inline-formula><mml:math id="M84" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula>-dimensional arrays, which allow an efficient and compact representation.</p>
      <p id="d1e3418">The above design principles are demonstrated in the following example. A precipitation nowcast by using STEPS can be generated by
<?xmltex \hack{\bgroup\scriptsize}?>
<preformat><![CDATA[  >>> nowcast_method = nowcasts.get_method("steps")
  >>> nowcast = nowcast_method(R, V, num_timesteps)]]></preformat>
<?xmltex \hack{\egroup}?>
where the required inputs are <list list-type="custom"><list-item><label> </label>
      <p id="d1e3430"><inline-formula><mml:math id="M85" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula>: array of shape (<inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>) containing a time series of <inline-formula><mml:math id="M87" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> observed precipitation intensity fields with shape (<inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>),</p></list-item><list-item><label> </label>
      <p id="d1e3475"><inline-formula><mml:math id="M89" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula>:  a previously computed array of shape (<inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>) containing the <inline-formula><mml:math id="M91" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M92" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> components
of the advection field</p></list-item><list-item><label> </label>
      <p id="d1e3515">num_timesteps number of time steps to forecast.</p></list-item></list></p>
      <p id="d1e3518">Additional parameters can be specified by using keyword arguments. The output of stochastic nowcasting methods is a four-dimensional array of shape (num_ensemble_members, num_timesteps, height, width). For deterministic nowcasts, the first dimension is dropped.</p>
</sec>
<sec id="Ch1.S3.SS4">
  <label>3.4</label><title>Data structures</title>
      <p id="d1e3529">In addition to being modular, pysteps implements object-oriented features. However, instead of using customized classes, we use dictionaries and functions that operate on the dictionaries similarly to class member functions. This design decision is motivated by the principle of using the core Python data types rather than implementing customized classes. The flat design of pysteps should facilitate user interaction and embedding of individual modules and functions in other software. In this way, pysteps is similar to wradlib <xref ref-type="bibr" rid="bib1.bibx37" id="paren.64"/>.</p>
      <p id="d1e3535">To demonstrate the above design, the following example shows how to construct a Gaussian bandpass filter for eight cascade levels using the <monospace>filter_gaussian</monospace> function implemented in the <monospace>cascade.bandpass_filters</monospace> module:
<?xmltex \hack{\bgroup\small}?>
<preformat><![CDATA[  >>> filter = filter_gaussian(R.shape, 8)]]></preformat>
<?xmltex \hack{\egroup}?>
The output is a dictionary with three elements: (1) one-dimensional weights corresponding to the radial wavenumbers, (2) a two-dimensional weight field for the FFT of the input image and (3) a list of central frequencies for each weight function (see Fig. <xref ref-type="fig" rid="Ch1.F1"/>). The resulting filter object can then be passed to <monospace>decomposition_fft</monospace> as follows:
<?xmltex \hack{\bgroup\small}?>
<preformat><![CDATA[  >>> decomp = decomposition_fft(R, filter)]]></preformat>
<?xmltex \hack{\egroup}?>
The decomposition is applied to a two-dimensional precipitation field <inline-formula><mml:math id="M93" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula>, and the output is again a dictionary with three-elements: (1) a three-dimensional array containing the eight cascade levels having the same dimension as <inline-formula><mml:math id="M94" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula>, (2) mean precipitation values of each cascade level and (3) standard deviations for each level. More detailed examples of pysteps usage are provided in Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T3"><?xmltex \currentcnt{3}?><label>Table 3</label><caption><p id="d1e3584">Overview of pysteps modules.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.95}[.95]?><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="justify" colwidth="145pt"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Module</oasis:entry>
         <oasis:entry colname="col2">Description</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>io</monospace></oasis:entry>
         <oasis:entry colname="col2">reading radar composites and writing nowcast files</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>motion</monospace></oasis:entry>
         <oasis:entry colname="col2">optical flow methods for motion field computation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>extrapolation</monospace></oasis:entry>
         <oasis:entry colname="col2">advection-based extrapolation</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>timeseries</monospace></oasis:entry>
         <oasis:entry colname="col2">time series methods (e.g., AR models)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>noise</monospace></oasis:entry>
         <oasis:entry colname="col2">generation of stochastic noise to perturb precipitation and motion fields</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>cascade</monospace></oasis:entry>
         <oasis:entry colname="col2">scale-based decomposition of precipitation fields</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>nowcasts</monospace></oasis:entry>
         <oasis:entry colname="col2">implementation of nowcasting methods</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>postprocessing</monospace></oasis:entry>
         <oasis:entry colname="col2">statistical post-processing of nowcasts</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>verification</monospace></oasis:entry>
         <oasis:entry colname="col2">statistical verification of nowcasts and plotting the results</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>visualization</monospace></oasis:entry>
         <oasis:entry colname="col2">plotting of precipitation and advection fields</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><monospace>utils</monospace></oasis:entry>
         <oasis:entry colname="col2">miscellaneous utility functions (e.g., converting and transforming data and computing the FFT)</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S3.SS5">
  <label>3.5</label><title>Workflow</title>
      <p id="d1e3731">Figure <xref ref-type="fig" rid="Ch1.F4"/> illustrates the workflow for generating precipitation nowcasts using pysteps. The first step is reading the input data using the <monospace>io</monospace> module. Methods for reading radar composites from Australian Bureau of Meteorology (BoM), FMI, KNMI and MeteoSwiss have been implemented. In addition, the importers module supports reading the European-wide OPERA radar composites in the ODIM HDF5 format. Conversion from reflectivity (dBZ) to precipitation intensity (mm h<inline-formula><mml:math id="M95" 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>) and other preprocessing can be done by using the <monospace>utils</monospace> module. Due to the modular design of pysteps, reading custom data formats and conversions (e.g., by using different <inline-formula><mml:math id="M96" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:mo>-</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula> relationships and polarimetric parameters) can also be implemented.</p>
      <p id="d1e3766">Reading the input data is followed by determination of the motion field using the methods implemented in the <monospace>motion</monospace> module. The precipitation intensity and motion fields are supplied as inputs to a user-chosen nowcasting method implemented in the <monospace>nowcasts</monospace> module. For the Lagrangian persistence method implemented in <monospace>nowcasts.extrapolation</monospace>, the remaining step of generating the nowcast is extrapolation.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F4"><?xmltex \currentcnt{4}?><label>Figure 4</label><caption><p id="d1e3780">Workflow for computing precipitation nowcasts using pysteps. For each chart element, the top row describes the task and the bottom row is the name of the module used for this purpose. White colors represent the operations that are done with all nowcasting methods. Green colors represent the additional operations included when the cascade decomposition and the autoregressive AR(<inline-formula><mml:math id="M97" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>) model are applied (i.e., the S-PROG model). Finally, blue colors represent the operations that are done when stochastic perturbations are added and the ensemble computation is parallelized (i.e., the full STEPS model).</p></caption>
          <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f04.png"/>

        </fig>

      <p id="d1e3797">When the cascade decomposition and the autoregressive model are used for scale filtering (the S-PROG model), the additional steps include those marked with green color in Fig. <xref ref-type="fig" rid="Ch1.F4"/>. When generating ensembles (the STEPS model), stochastic perturbations are added to the AR(<inline-formula><mml:math id="M98" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>) models and to the advection field using the methods implemented in the <monospace>noise</monospace> module. These steps are marked with blue color in Fig. <xref ref-type="fig" rid="Ch1.F4"/>.</p>
      <p id="d1e3814">The ensemble generation is parallelized by using the dask library. For each time step, this is done by splitting the<?pagebreak page4194?> computation to the available processor cores so that each core is responsible for computation of one ensemble member.</p>
      <p id="d1e3817">Given the input radar composites and the motion field, all operations involved in generating a nowcast are called from the <monospace>nowcast</monospace> module, except optional post-processing. This can be done either by supplying the requested method to the nowcast generator or separately by using the functionality implemented in the <monospace>postprocessing</monospace> module. The post-processing includes methods to ensure that the nowcasts have the same statistical properties of the observations (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS8"/>), as well as methods for generating different products, such as ensemble mean or exceedance probabilities of given intensity thresholds. Computation of accumulations from instantaneous rain rates can be done by using the methods implemented in the <monospace>utils.dimension</monospace> module. Finally, the nowcasts or nowcast ensembles can be verified and plotted by using the <monospace>verification</monospace> and <monospace>visualization</monospace> modules, respectively.</p><?xmltex \hack{\newpage}?>
</sec>
</sec>
<?pagebreak page4195?><sec id="Ch1.S4">
  <label>4</label><title>Evaluation of nowcast quality</title>
      <p id="d1e3849">Verification is an essential step of forecasting, not only to monitor forecast performance over time but also to provide feedback on how to improve the model itself (diagnostic verification). For an ensemble forecast, it is necessary to check whether it is unbiased and has the correct dispersion, and that the forecast probabilities are reliable and sharp <xref ref-type="bibr" rid="bib1.bibx43" id="paren.65"><named-content content-type="pre">e.g.,</named-content></xref>. In this section, we evaluate these attributes of pysteps ensemble nowcasts using radar composites from Switzerland and Finland, while data from the United States and Australia will also be used in Sects. <xref ref-type="sec" rid="Ch1.S5"/> and <xref ref-type="sec" rid="Ch1.S6"/>.</p><?xmltex \hack{\newpage}?>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Description of the data</title>
      <p id="d1e3869">As of 2019, the radar network operated by the FMI consists of 10 polarimetric C-band Doppler radars. After clutter filtering, the measured radar reflectivities are interpolated into a grid with spatial and temporal resolutions of 1 km and 5 min, respectively. The correction for the vertical profile of reflectivity (VPR) is applied in order to reduce range-dependent biases <xref ref-type="bibr" rid="bib1.bibx46" id="paren.66"/>. Finally, reflectivities are converted to rainfall intensities using the <inline-formula><mml:math id="M99" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:mo>-</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula> relation, <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">223</mml:mn><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">1.53</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, adapted to the Finnish climate conditions <xref ref-type="bibr" rid="bib1.bibx51" id="paren.67"/>. A total of 10 precipitation events from Finland containing both stratiform and convective precipitation were chosen for this study (Table <xref ref-type="table" rid="Ch1.T7"/>).</p>

<table-wrap id="Ch1.T4"><?xmltex \currentcnt{4}?><label>Table 4</label><caption><p id="d1e3911">Overview of the radar quantitative precipitation estimation (QPE) composites that have been used to evaluate pysteps. The grid size is given as the number of pixels in the <inline-formula><mml:math id="M101" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M102" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> dimensions.</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="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Dataset</oasis:entry>
         <oasis:entry colname="col2">Country</oasis:entry>
         <oasis:entry colname="col3">Resolution</oasis:entry>
         <oasis:entry colname="col4">Grid size</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">FMI</oasis:entry>
         <oasis:entry colname="col2">Finland</oasis:entry>
         <oasis:entry colname="col3">1 km, 5 min</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:mn mathvariant="normal">760</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1226</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">MeteoSwiss</oasis:entry>
         <oasis:entry colname="col2">Switzerland</oasis:entry>
         <oasis:entry colname="col3">1 km, 5 min</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M106" display="inline"><mml:mrow><mml:mn mathvariant="normal">710</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">640</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">WDSS<inline-formula><mml:math id="M107" display="inline"><mml:msup><mml:mi/><mml:mo>*</mml:mo></mml:msup></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">United States</oasis:entry>
         <oasis:entry colname="col3">4 km, 5 min</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:mn mathvariant="normal">1361</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1056</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">BoM</oasis:entry>
         <oasis:entry colname="col2">Australia</oasis:entry>
         <oasis:entry colname="col3">0.5 km, 5 min</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:mn mathvariant="normal">512</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">512</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d1e3928"><inline-formula><mml:math id="M103" display="inline"><mml:msup><mml:mi/><mml:mo>*</mml:mo></mml:msup></mml:math></inline-formula> Upscaled from original data at 1 km resolution (<inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:mn mathvariant="normal">5445</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4226</mml:mn></mml:mrow></mml:math></inline-formula>).</p></table-wrap-foot></table-wrap>

      <p id="d1e4094">The latest fourth-generation MeteoSwiss network consists of five polarimetric C-band Doppler radars <xref ref-type="bibr" rid="bib1.bibx30" id="paren.68"/>. The quantitative precipitation estimation (QPE) product used in this study includes automatic hardware calibration, clutter filtering, correction for beam shielding, correction for VPR effects, <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:mo>-</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula> relation (<inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">316</mml:mn><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">1.5</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>) and bias adjustment <xref ref-type="bibr" rid="bib1.bibx27" id="paren.69"/>. The radar composite is calculated on a 1 km grid every 5 min. Overall, 10 events consisting of predominantly convective precipitation were chosen from the Swiss data (Table <xref ref-type="table" rid="Ch1.T8"/>).</p>
      <p id="d1e4134">The US dataset comprises the radar mosaics provided by Warning Decision Support System-Integrated Information <xref ref-type="bibr" rid="bib1.bibx47 bib1.bibx48" id="paren.70"><named-content content-type="pre">WDSS-II</named-content></xref>,
covering the continental United States at a spatial resolution of approximately 1 km. For the WDSS data, the resolution of the precipitation fields is upscaled from 1  to 4 km by averaging <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> grid points to reduce the computational requirements. The chosen precipitation events are described in Table <xref ref-type="table" rid="Ch1.T9"/>.</p>
      <p id="d1e4157">The radar network operated by BoM consists of 66 radars, mostly C-band Doppler radars, with S-band polarimetric Doppler radars operating at four major cities. Raw reflectivity observations are quality controlled in real time to remove non-meteorological echoes and estimate the reflectivity at the Earth's surface. This equivalent reflectivity at the surface is converted into an instantaneous rainfall rate by use of power–law functions tuned on a per radar basis. Finally, rainfall depths are estimated by adjusting the bias of instantaneous rainfall rates based on observations at real-time gauge<?pagebreak page4196?> locations. The QPE grids are calculated with a spatial resolution of 0.5 km every 5 min. The BoM radar dataset comprises two precipitation events: a tropical cyclone in northern Australia and a severe convective event in Sydney (Table <xref ref-type="table" rid="Ch1.T10"/>).</p>
      <p id="d1e4162">Table <xref ref-type="table" rid="Ch1.T4"/> summarizes the different data sources and resolutions.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T5"><?xmltex \currentcnt{5}?><label>Table 5</label><caption><p id="d1e4170">The default configuration used in the experiments.</p></caption><oasis:table frame="topbot"><?xmltex \begin{scaleboxenv}{.95}[.95]?><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Parameter</oasis:entry>
         <oasis:entry colname="col2">Value</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Optical flow</oasis:entry>
         <oasis:entry colname="col2">Lucas–Kanade</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Extrapolation</oasis:entry>
         <oasis:entry colname="col2">Semi-Lagrangian</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Cascade levels</oasis:entry>
         <oasis:entry colname="col2">8</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Order of the AR(<inline-formula><mml:math id="M113" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula>) model</oasis:entry>
         <oasis:entry colname="col2">2</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Precipitation intensity perturbations</oasis:entry>
         <oasis:entry colname="col2">Non-parametric</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Transformation</oasis:entry>
         <oasis:entry colname="col2">R to dBR</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Minimum precipitation</oasis:entry>
         <oasis:entry colname="col2">0.1 mm h<inline-formula><mml:math id="M114" 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:row>
       <oasis:row>
         <oasis:entry colname="col1">Value for dry pixels</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">15</mml:mn></mml:mrow></mml:math></inline-formula> dBR</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Mask method</oasis:entry>
         <oasis:entry colname="col2">Incremental</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Ensemble size</oasis:entry>
         <oasis:entry colname="col2">24</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Probability matching</oasis:entry>
         <oasis:entry colname="col2">Yes</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Seed number</oasis:entry>
         <oasis:entry colname="col2">24</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Velocity perturbation parameters</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.32</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.34</mml:mn></mml:mrow></mml:math></inline-formula>,</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">(fitted to pooled FMI</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">par</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2.65</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">and MeteoSwiss data)</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.91</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.34</mml:mn></mml:mrow></mml:math></inline-formula>,</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M121" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi mathvariant="normal">perp</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2.07</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup><?xmltex \end{scaleboxenv}?></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Verification metrics</title>
      <p id="d1e4465">Pysteps includes a number of verification metrics to help users to analyze the general characteristics of the nowcasts in terms of consistency and quality (or goodness). Probabilistic forecasts have been verified using the relative operating characteristic (ROC) curve, reliability diagrams and rank histograms, as implemented in the <monospace>verification</monospace> module of pysteps.</p>
      <p id="d1e4471">The ROC curve <xref ref-type="bibr" rid="bib1.bibx43" id="paren.71"/> measures the ability of a probabilistic forecast to discriminate between precipitation and no precipitation exceeding a given intensity threshold. For a set of probability thresholds, the ROC curve is constructed by plotting the probability of detection (POD) against the false alarm rate (POFD), not to be confused with the false alarm ratio (FAR). For a perfect forecast, the curve passes through the upper left corner (i.e., 100 % hit rate and 0 % false alarm rate). The area under the ROC curve can be used as a measure of potential skill. For more details on the contingency tables and the formulas of the categorical scores, the reader is referred to <xref ref-type="bibr" rid="bib1.bibx43" id="text.72"/>.</p>
      <p id="d1e4480">The reliability diagram <xref ref-type="bibr" rid="bib1.bibx14" id="paren.73"/> measures the bias (reliability) and resolution of a probabilistic forecast. For a given intensity threshold, the diagram shows the forecast probability against the observed frequencies, where the probability range <inline-formula><mml:math id="M122" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> is divided into <inline-formula><mml:math id="M123" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> bins. For a perfectly reliable forecast, the curve lies on the diagonal. The reliability diagram is often accompanied by a histogram showing the sample size in each bin (sharpness diagram). A sharp forecast has few samples in the middle of the histogram and many on the sides (probability of either 1 or 0).</p>
      <p id="d1e4509">The rank histogram <xref ref-type="bibr" rid="bib1.bibx33" id="paren.74"/> measures how well the ensemble spread corresponds to the observed uncertainty. For each nowcast grid pixel, the ensemble members are ranked in increasing order. A pooled histogram is computed by assigning each verifying observation a bin which it falls into among the ensemble members. The first and last bins are assigned for observations below or above all members, respectively. For a forecast ensemble whose distribution is consistent with the observations, the histogram is flat and no observations fall into the first or last bin. To handle ties (e.g., when both the observed precipitation and several ensemble members are equal to 0), we implemented the method of <xref ref-type="bibr" rid="bib1.bibx34" id="text.75"/>. The method randomly chooses a bin between <inline-formula><mml:math id="M124" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi mathvariant="normal">tied</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M126" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> is the number of members smaller than the observation and <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi mathvariant="normal">tied</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the number of ties (ensemble members equal to the observation).</p>
      <p id="d1e4577">An additional metric that can be derived from rank histograms is the outlier percentage (OP). The OP measures the proportion of observations falling outside the ensemble, defined by
            <disp-formula id="Ch1.E16" content-type="numbered"><label>16</label><mml:math id="M128" display="block"><mml:mrow><mml:mi mathvariant="normal">OP</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>h</mml:mi><mml:mi>i</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="M129" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> denotes the <inline-formula><mml:math id="M130" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>th bin of the rank histogram.</p>
      <p id="d1e4653">Pysteps also includes standard neighborhood verification methods, such as the fractions skill score (FSS). FSS provides an intuitive assessment of the dependency of skill on spatial scale from high-resolution precipitation forecasts <xref ref-type="bibr" rid="bib1.bibx62" id="paren.76"/>. The FSS is computed by comparing the forecast and observed fractional coverage of precipitation exceeding certain thresholds in spatial windows (neighborhoods) of increasing size. Using FSS it is possible to determine how the forecast skill varies with neighborhood size and then determine the smallest scale that provides a sufficiently skillful forecast.</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Verification results</title>
      <p id="d1e4668">The quality of ensemble nowcasts produced by pysteps was verified by using the MeteoSwiss data and the default configuration listed in Table <xref ref-type="table" rid="Ch1.T5"/>. Using the reliability diagram, ROC curve and rank histogram as verification metrics, the results of the experiments are shown in Figs. <xref ref-type="fig" rid="Ch1.F5"/>–<xref ref-type="fig" rid="Ch1.F7"/>. The results obtained by using the FMI data were very similar and thus not shown here.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F5" specific-use="star"><?xmltex \currentcnt{5}?><label>Figure 5</label><caption><p id="d1e4679">Reliability diagrams <bold>(a)</bold> and ROC curves <bold>(b)</bold> computed from STEPS nowcasts during the MeteoSwiss events listed in Table <xref ref-type="table" rid="Ch1.T8"/> with different lead times and threshold 0.1 mm h<inline-formula><mml:math id="M131" 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>. The default settings listed in Table <xref ref-type="table" rid="Ch1.T5"/> were used for computing the nowcasts. The optimal probability thresholds that maximize POD-POFD are marked in the ROC curves with black crosses.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f05.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F6" specific-use="star"><?xmltex \currentcnt{6}?><label>Figure 6</label><caption><p id="d1e4712">Same as Fig. <xref ref-type="fig" rid="Ch1.F5"/> but for an intensity threshold of 5 mm h<inline-formula><mml:math id="M132" 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>.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f06.png"/>

        </fig>

      <p id="d1e4736">Figure <xref ref-type="fig" rid="Ch1.F5"/> shows that for the 0.1 mm h<inline-formula><mml:math id="M133" 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> intensity threshold, reliable and sharp nowcasts can be obtained up to 2 h. The ROC area remains over 0.85, and the deviation of the reliability diagrams from the diagonal remains below 0.25. However, there is a noticeable loss of sharpness after 3 h. In addition, the curved shape of the reliability diagrams<?pagebreak page4197?> indicates that the pysteps nowcasts are slightly overconfident <xref ref-type="bibr" rid="bib1.bibx87" id="paren.77"/>.</p>
      <p id="d1e4756">When a higher 5 mm h<inline-formula><mml:math id="M134" 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> intensity threshold is used, Fig. <xref ref-type="fig" rid="Ch1.F6"/>a shows a significant deviation of the reliability diagram from the diagonal only after 45 min, which is accompanied by loss of sharpness. However, the ROC area remains above 0.8, indicating potentially useful skill. This suggests that more reliable nowcasts could be obtained by implementing additional calibration procedures in a future version of pysteps. Another observation that suggests lack of calibration is that the optimal nowcasts for precipitation/no precipitation are obtained by choosing a very low probability threshold (for a well-calibrated nowcast, this would be 0.5).</p>
      <p id="d1e4773">The rank histograms (Fig. <xref ref-type="fig" rid="Ch1.F7"/>) also show some ensemble underdispersion with larger values on the first and last bins. In general, we found that there are more misses than false alarms (i.e., cases when all members are lower than the observations). This occurs, for instance, in cases of convective initiation. Despite the ability of pysteps to generate some new light random rain, it is not designed to represent the uncertainty related to an explosive initiation of a thunderstorm.</p>
</sec>
<sec id="Ch1.S4.SS4">
  <label>4.4</label><title>Numerical diffusion analysis</title>
      <p id="d1e4786">Conventional semi-Lagrangian schemes are implemented in a recursive way so that the precipitation intensities are interpolated at each time step, which usually leads to substantial numerical diffusion (i.e., loss of power at high spatial frequencies). In the pysteps method (the  <monospace>extrapolation.semilagrangian</monospace> module), this is done by iteratively tracing the locations of precipitation parcels and interpolating the intensities only as the final step of the advection <xref ref-type="bibr" rid="bib1.bibx25" id="paren.78"/>.</p>
      <p id="d1e4795">To verify the advantage of this implementation, we computed radially averaged Fourier spectra of deterministic nowcasts at various lead times for FMI event no. 3 (Fig. <xref ref-type="fig" rid="Ch1.F8"/>). The analysis is performed using the three optical flow methods to understand whether the semi-Lagrangian scheme is sensitive to quality of the motion field. Figure <xref ref-type="fig" rid="Ch1.F8"/> shows an almost perfect overlap of the forecast and observed spectra, an indication that the numerical diffusion of the semi-Lagrangian scheme is very low. Several cases have been analyzed and provided similar results (not shown).</p><?xmltex \hack{\newpage}?>
</sec>
<?pagebreak page4198?><sec id="Ch1.S4.SS5">
  <label>4.5</label><title>Spatial structure analysis</title>
      <p id="d1e4811">The aim of probabilistic nowcasting is to generate a reliable ensemble of equiprobable realizations of precipitation fields characterized by power spectra similar to those in Fig. <xref ref-type="fig" rid="Ch1.F8"/>. Figure <xref ref-type="fig" rid="Ch1.F9"/>a shows the average spectra of a stochastic 48-member nowcast for FMI precipitation event no. 3. Despite a small loss of power for scales (<inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">100</mml:mn></mml:mrow></mml:math></inline-formula> km), all spectra are close to the observations. In other words, the spatial structure of ensemble members remains realistic at all forecast lead times.</p>
      <p id="d1e4828">Figure <xref ref-type="fig" rid="Ch1.F9"/>b shows the results of the same analysis but for the ensemble mean forecast (the average of ensemble members). The process of ensemble averaging should produce precipitation fields that become smoother with lead time, which is the aftermath of the loss of predictability at small scales <xref ref-type="bibr" rid="bib1.bibx84" id="paren.79"/>. As expected, Fig. <xref ref-type="fig" rid="Ch1.F9"/>b shows a gradual loss of power at small scales. The departure of the forecast spectra from the observed ones occurs at increasing wavelengths, i.e., <inline-formula><mml:math id="M136" display="inline"><mml:mrow><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">16</mml:mn></mml:mrow></mml:math></inline-formula> km at 5 min and <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">128</mml:mn></mml:mrow></mml:math></inline-formula> km at 60 min. However, after 30 min, there is a certain increase of power at wavelengths smaller than 16–32 km. This behavior is attributed to the limited ensemble size, which is not large enough to filter out precipitation features at small scales. Thus, one may argue that if the ensemble is too small to model the loss of predictability at such scales, it may also be too small to reliably model the forecast uncertainty.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F7"><?xmltex \currentcnt{7}?><label>Figure 7</label><caption><p id="d1e4860">Rank histograms computed from STEPS nowcasts during the MeteoSwiss events listed in Table <xref ref-type="table" rid="Ch1.T8"/> with different lead times. The default settings listed in Table <xref ref-type="table" rid="Ch1.T5"/> were used for computing the nowcasts.</p></caption>
          <?xmltex \igopts{width=213.395669pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f07.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F8"><?xmltex \currentcnt{8}?><label>Figure 8</label><caption><p id="d1e4876">Numerical diffusion analysis of the semi-Lagrangian advection scheme using radially averaged Fourier spectra for different optical flow methods and different forecast lead times. The nowcasts are for FMI event no. 3 (16:00 UTC on 28 September 2016).</p></caption>
          <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f08.png"/>

        </fig>

      <?xmltex \floatpos{p}?><fig id="Ch1.F9"><?xmltex \currentcnt{9}?><label>Figure 9</label><caption><p id="d1e4887">Spatial structure analysis of <bold>(a)</bold> stochastic ensemble members, <bold>(b)</bold> ensemble mean and <bold>(c)</bold> S-PROG filtering. To be comparable, the incremental mask and probability matching were used for both the ensemble mean and S-PROG nowcasts. All nowcasts used the Lucas–Kanade optical flow on the same event of Fig. <xref ref-type="fig" rid="Ch1.F8"/>. The ensemble is composed of 48 members. All models used a cascade of eight levels without motion perturbations.</p></caption>
          <?xmltex \igopts{width=227.622047pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f09.png"/>

        </fig>

      <p id="d1e4907">An alternative way to deterministically represent the forecast uncertainty is to filter out the unpredictable features using the S-PROG model (Fig. <xref ref-type="fig" rid="Ch1.F9"/>c). Also, in this case, the departures of forecast spectra from the observed one occur gradually as in the ensemble mean. The first two lead times are remarkably similar, while for lead times beyond 30 min the S-PROG filtering is stronger (at small spatial wavelengths). Again, this level of filtering could be reached with an ensemble of infinite size.</p>
      <p id="d1e4912">The previous result suggests that we could exploit the discrepancies between the S-PROG and ensemble mean spectra to obtain an estimate of the required ensemble size (as a function of spatial scale and lead time). If the two spectra are similar, it is an indication that the ensemble is large enough.</p>
</sec>
<sec id="Ch1.S4.SS6">
  <label>4.6</label><title>Temporal structure analysis</title>
      <p id="d1e4923">To demonstrate the effectiveness of the hierarchy of AR(2) models in modeling the temporal evolution of precipitation, we derived the theoretical ACF from the estimated AR parameters (see Eq. <xref ref-type="disp-formula" rid="Ch1.E7"/>). The obtained ACF is compared to the empirical ACF between the nowcasts and the corresponding observations. The correlation coefficients are computed separately for each cascade level obtained using the bandpass filters shown in Fig. <xref ref-type="fig" rid="Ch1.F1"/>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F10"><?xmltex \currentcnt{10}?><label>Figure 10</label><caption><p id="d1e4932">Temporal auto-correlation estimates obtained from AR(2) models (dashed lines) and the correlation between an extrapolation nowcast and the corresponding observations. The analysis is based on the FMI events (Table <xref ref-type="table" rid="Ch1.T7"/>). The line numbers correspond to the frequency bands shown in Fig. <xref ref-type="fig" rid="Ch1.F1"/> from left to right.</p></caption>
          <?xmltex \igopts{width=213.395669pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f10.png"/>

        </fig>

      <p id="d1e4945">Figure <xref ref-type="fig" rid="Ch1.F10"/> shows the average theoretical and empirical ACFs for all the FMI cases. It clearly indicates that the AR(2) process gives accurate estimates of the temporal auto-correlations up to 3 h. For smaller scales (0–35 km) having short lifetimes, the estimates coincide nearly exactly with the observed ones, but for larger scales the auto-correlations are slightly overestimated. This is due to the relatively short memory of the AR(2) process compared to the precipitation lifetimes at these scales (over 2 h).</p>
</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Sensitivity analysis</title>
      <?pagebreak page4199?><p id="d1e4959">The objective of this section is to analyze the sensitivity of pysteps to its configuration options and parameters such as the optical flow method, the ensemble size, the parameter localization and the cascade decomposition. The default pysteps configuration used in Sect. <xref ref-type="sec" rid="Ch1.S4"/> is based on the results presented here.</p>
<sec id="Ch1.S5.SS1">
  <label>5.1</label><title>Optical flow and scale filtering</title>
      <p id="d1e4971">Determination of the advection field by optical flow is a key component of any extrapolation-based nowcasting system. Pysteps allows to easily analyze the impact of the optical flow method and also scale filtering on the forecast skill. Moreover, the three methods currently available in the <monospace>motion</monospace> module constitute an ideal testbed as they cover three very distinct approaches; see the references in Sect. <xref ref-type="sec" rid="Ch1.S2.SS1"/> for details. The experiments were done by using the MeteoSwiss and US precipitation events described in Tables <xref ref-type="table" rid="Ch1.T8"/> and <xref ref-type="table" rid="Ch1.T9"/>.</p>
      <p id="d1e4983">Each optical flow method was used with two deterministic nowcasting methods: a simple extrapolation-based method and S-PROG, which incorporates a scale filtering procedure as described in <xref ref-type="bibr" rid="bib1.bibx79" id="text.80"/>. Both methods are available in the <monospace>nowcasts.extrapolation</monospace> and <monospace>nowcasts.sprog</monospace> modules, respectively. The VET and Lucas–Kanade methods use two input images, while DARTS uses nine input images. The forecast quality was evaluated using the critical success index (CSI) and the mean absolute error (MAE) as described in <xref ref-type="bibr" rid="bib1.bibx43" id="text.81"/>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F11" specific-use="star"><?xmltex \currentcnt{11}?><label>Figure 11</label><caption><p id="d1e5000">Comparison of forecast skill using different optical flow and extrapolation methods. Panels <bold>(a)</bold> and <bold>(c)</bold> show the averaged CSI and MAE for the MeteoSwiss events listed in Table  <xref ref-type="table" rid="Ch1.T8"/>, while <bold>(b)</bold> and <bold>(d)</bold> show the same results but for the US events listed in Table <xref ref-type="table" rid="Ch1.T9"/>. The CSI is computed using a 0.1 mm h<inline-formula><mml:math id="M138" 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> threshold.</p></caption>
          <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f11.png"/>

        </fig>

      <?pagebreak page4200?><p id="d1e5039">The results of the experiments are shown in Fig. <xref ref-type="fig" rid="Ch1.F11"/>. First of all, large differences between the simple extrapolation and S-PROG nowcasts are observed, which is mainly due to the scale filtering implemented in S-PROG (see Sect. <xref ref-type="sec" rid="Ch1.S4.SS5"/>). For the MeteoSwiss events, applying the filtering improves both CSI and MAE, especially at longer lead times (Fig. <xref ref-type="fig" rid="Ch1.F11"/>a and c). After 2 h, the S-PROG nowcasts show a <inline-formula><mml:math id="M139" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula> % increase in the CSI and <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">40</mml:mn></mml:mrow></mml:math></inline-formula> % reduction in the MAE. A similar behavior is observed for the US events (Fig. <xref ref-type="fig" rid="Ch1.F11"/>b and <xref ref-type="fig" rid="Ch1.F11"/>d) but with a <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:mo>∼</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula> % the reduction in MAE after 2 h.</p>
      <p id="d1e5083">On the other hand, no significant differences can be observed between different optical flow methods (less than 2 %), with DARTS performing slightly worse than the other methods. This is possibly explained by the fact that, with the default configuration, DARTS produces only a large-scale approximation of the advection field.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F12"><?xmltex \currentcnt{12}?><label>Figure 12</label><caption><p id="d1e5088">Comparison of advection fields obtained by different optical flow methods for a selected precipitation event: US, 11 April 2013 at 08:00 UTC.</p></caption>
          <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f12.png"/>

        </fig>

      <p id="d1e5097">Figure <xref ref-type="fig" rid="Ch1.F12"/> shows advection fields obtained using different optical flow methods for a selected case (US, 11 April 2013 at 08:00 UTC). Lucas–Kanade and VET produce smooth fields that are remarkably similar, particularly close to the precipitation areas (Fig. <xref ref-type="fig" rid="Ch1.F12"/>a and b). Within precipitation areas, DARTS produces similar motion fields to the other two methods, but outside precipitation the fields are considerably different.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T6"><?xmltex \currentcnt{6}?><label>Table 6</label><caption><p id="d1e5107">Average computation times of different optical flow methods in the MeteoSwiss and FMI domains (seconds). Domain sizes are given in parentheses.</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 rowsep="1">
         <oasis:entry namest="col1" nameend="col3" align="center">12 cores </oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Method</oasis:entry>
         <oasis:entry colname="col2">MeteoSwiss</oasis:entry>
         <oasis:entry colname="col3">FMI</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">(<inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:mn mathvariant="normal">710</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">640</mml:mn></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3">(<inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:mn mathvariant="normal">760</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1226</mml:mn></mml:mrow></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DARTS</oasis:entry>
         <oasis:entry colname="col2">4.02</oasis:entry>
         <oasis:entry colname="col3">4.07</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Lucas–Kanade</oasis:entry>
         <oasis:entry colname="col2">2.02</oasis:entry>
         <oasis:entry colname="col3">4.29</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">VET</oasis:entry>
         <oasis:entry colname="col2">13.73</oasis:entry>
         <oasis:entry colname="col3">28.98</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col3" align="center">1 core </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Method</oasis:entry>
         <oasis:entry colname="col2">MeteoSwiss</oasis:entry>
         <oasis:entry colname="col3">FMI</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">(<inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mn mathvariant="normal">710</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">640</mml:mn></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3">(<inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:mn mathvariant="normal">760</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1226</mml:mn></mml:mrow></mml:math></inline-formula>)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">DARTS</oasis:entry>
         <oasis:entry colname="col2">4.27</oasis:entry>
         <oasis:entry colname="col3">4.78</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Lucas–Kanade</oasis:entry>
         <oasis:entry colname="col2">2.07</oasis:entry>
         <oasis:entry colname="col3">4.46</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">VET</oasis:entry>
         <oasis:entry colname="col2">41.65</oasis:entry>
         <oasis:entry colname="col3">85.14</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e5307">We also measured the computation times of different optical flow methods in the MeteoSwiss and FMI domains, and the results are shown in Table <xref ref-type="table" rid="Ch1.T6"/>. The experiments were done using an Intel Xeon E5645 CPU with 12 cores running at 2.4 GHz with parallelization enabled in the optical flow methods. The results reflect the fact that the Fourier space and local methods (DARTS and Lucas–Kanade) have significantly lower computational requirements than variational methods (VET), which are however still within the needs of a real-time operational system. Thus, our conclusion from the results shown in Fig. <xref ref-type="fig" rid="Ch1.F11"/> and Table <xref ref-type="table" rid="Ch1.T6"/> is that the choice of the optical flow method plays a less significant role, while nowcast errors are more clearly determined by the dynamic scaling properties of precipitation as highlighted by the large impact of scale filtering on the forecast skill.</p>
</sec>
<sec id="Ch1.S5.SS2">
  <label>5.2</label><title>Ensemble size</title>
      <p id="d1e5324">The ensemble size is one of the main factors contributing to the quality and computation time of pysteps nowcasts, and one has to make a trade-off between these two. To determine<?pagebreak page4201?> the optimal number, the skill of the nowcasts with different intensity thresholds and ensemble sizes was evaluated by using two metrics. These are the area under the ROC curve and the outlier percentage (OP). The results are shown in Figs. <xref ref-type="fig" rid="Ch1.F13"/> and <xref ref-type="fig" rid="Ch1.F14"/>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F13"><?xmltex \currentcnt{13}?><label>Figure 13</label><caption><p id="d1e5333">ROC areas for <bold>(a)</bold> 0.1 mm h<inline-formula><mml:math id="M146" 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> and <bold>(b)</bold> 5 mm h<inline-formula><mml:math id="M147" 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> thresholds with different ensemble sizes as a function of lead time during the MeteoSwiss events listed in Table <xref ref-type="table" rid="Ch1.T8"/>.</p></caption>
          <?xmltex \igopts{width=213.395669pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f13.png"/>

        </fig>

      <p id="d1e5374">Figure <xref ref-type="fig" rid="Ch1.F13"/> shows that the choice of the ensemble size plays a significant role, which is particularly true when nowcasts of higher precipitation intensities are desired. Figure <xref ref-type="fig" rid="Ch1.F13"/>a shows that for <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:math></inline-formula>, the ROC area falls below 0.85 after 2 h, while it is close to 0.9 when <inline-formula><mml:math id="M149" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> is increased to 48. However, there is only marginal improvement when <inline-formula><mml:math id="M150" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> is increased from 24 to 48, which suggests that 24 members are sufficient when nowcasts of precipitation/no precipitation are desired with low-intensity thresholds (e.g., 0.1 mm h<inline-formula><mml:math id="M151" 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>). On the other hand, Fig. <xref ref-type="fig" rid="Ch1.F13"/>b shows that when the threshold is increased to 5 mm h<inline-formula><mml:math id="M152" 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>, a significant improvement can be expected when increasing <inline-formula><mml:math id="M153" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> from 48 to 96 or even over 100.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F14"><?xmltex \currentcnt{14}?><label>Figure 14</label><caption><p id="d1e5444">Outlier percentages (OPs) with different ensemble sizes as a function of lead time during the MeteoSwiss events listed in Table <xref ref-type="table" rid="Ch1.T8"/>.</p></caption>
          <?xmltex \igopts{width=227.622047pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f14.png"/>

        </fig>

      <p id="d1e5455">The OP is highly dependent on the ensemble size, which can be observed from Fig. <xref ref-type="fig" rid="Ch1.F14"/>. With 96 ensemble members, OP is below 15 % after 20 min, which indicates that the ensembles are well able to capture the uncertainties in the spatiotemporal evolution of precipitation. The OP could be further reduced by increasing the ensemble size over 100. Another observation from Fig. <xref ref-type="fig" rid="Ch1.F14"/> is the significant dependence<?pagebreak page4202?> of OP on the lead time. The highest OP can be observed at 20 min, and after 3 h it is up to 50 % smaller.</p>
      <p id="d1e5462">We also analyzed the computation times needed to generate nowcast ensembles. In a real-time setting, it is essential to know how many ensemble members can be produced before the arrival of the next input radar rainfall image (usually every 5 min). To this end, 1 h nowcasts were computed with different ensemble sizes and number of parallel threads using the FMI and MeteoSwiss data listed in Tables <xref ref-type="table" rid="Ch1.T7"/> and <xref ref-type="table" rid="Ch1.T8"/>, respectively.</p>
      <p id="d1e5469">The results of the above experiments are shown in Fig. <xref ref-type="fig" rid="Ch1.F15"/>. Figure <xref ref-type="fig" rid="Ch1.F15"/>a shows that for the input grid of <inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:mn mathvariant="normal">710</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">640</mml:mn></mml:mrow></mml:math></inline-formula> pixels used in the MeteoSwiss domain, it is possible to generate 1 h nowcast ensembles of up to 48 members in less than 2 min using a server with 12 processor cores.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F15"><?xmltex \currentcnt{15}?><label>Figure 15</label><caption><p id="d1e5490">Averaged computation times of pysteps nowcast ensembles with different ensemble sizes and number of parallel threads for the <bold>(a)</bold> MeteoSwiss and <bold>(b)</bold> FMI domain. The grid sizes for the domains are <inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:mn mathvariant="normal">710</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">640</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M156" display="inline"><mml:mrow><mml:mn mathvariant="normal">760</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1226</mml:mn></mml:mrow></mml:math></inline-formula> pixels, respectively. The 1 h nowcasts with 12 time steps of 5 min were computed for both domains. The computation times include only the ensemble computation, excluding the optical flow, the initialization of the model and writing the results to disk.</p></caption>
          <?xmltex \igopts{width=213.395669pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f15.png"/>

        </fig>

      <p id="d1e5530">The results for the larger FMI domain with grid size of <inline-formula><mml:math id="M157" display="inline"><mml:mrow><mml:mn mathvariant="normal">760</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">1226</mml:mn></mml:mrow></mml:math></inline-formula> pixels are shown in Fig. <xref ref-type="fig" rid="Ch1.F15"/>b. Compared to the MeteoSwiss domain, the height of the grid is doubled, which also doubles the computation time (the computational complexity increases quadratically with respect to grid size). Nevertheless, using 12 processor cores, the computation time of a 48-member ensemble still remains below 2 min.</p>
      <p id="d1e5547">In addition, Fig. <xref ref-type="fig" rid="Ch1.F15"/>a and b show the effectiveness of the parallelization scheme implemented in pysteps. That is, when plotted in logarithmic scale, the computation time decreases approximately linearly with respect to the number of threads (i.e., the computation time is halved when the number of threads is multiplied by 2).</p>
</sec>
<sec id="Ch1.S5.SS3">
  <label>5.3</label><title>Localization</title>
      <p id="d1e5560">This experiment investigates the impact of localization on the nowcast quality. In this context, localization means restricting the nowcasting model into small subdomains instead of applying it the whole domain assuming spatial homogeneity of the precipitation field, as in the earlier STEPS implementations <xref ref-type="bibr" rid="bib1.bibx11" id="paren.82"><named-content content-type="pre">e.g.,</named-content></xref>. To this end, the short-space approach presented in <xref ref-type="bibr" rid="bib1.bibx63" id="text.83"/> for stochastic noise generation is generalized to the whole nowcasting system (see module <monospace>nowcasts.sseps</monospace>). Adapting the approach described in <xref ref-type="bibr" rid="bib1.bibx81" id="text.84"/>, the parameter estimation and the nowcasting model are implemented in a moving window of predetermined size. The localization is applied to the cascade decomposition, the autoregressive process (<xref ref-type="disp-formula" rid="Ch1.E5"/>), the non-parametric Fourier filter (<xref ref-type="disp-formula" rid="Ch1.E10"/>) and the probability matching (<xref ref-type="disp-formula" rid="Ch1.E15"/>).</p>
      <p id="d1e5584">The impact of localization is assessed in terms of rank histograms and reliability diagrams (threshold of 1.0 mm h<inline-formula><mml:math id="M158" 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>) for a 30 min lead time (Fig. <xref ref-type="fig" rid="Ch1.F16"/>). The localization shows positive effects in the ensemble spread, which improves both in terms of reliability and conditional bias, although we also observe a slight decrease of sharpness. This is reflected in the rank histograms, which tend to get flatter as the localization window gets smaller. This seems to be mainly driven by a reduction in the proportion of observations lying above the ensemble, which reduces from approximately 13 <inline-formula><mml:math id="M159" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula> to 8 <inline-formula><mml:math id="M160" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F16"><?xmltex \currentcnt{16}?><label>Figure 16</label><caption><p id="d1e5617">Effect of localization in terms of <bold>(a)</bold> rank histograms and <bold>(b)</bold> reliability diagrams computed for the 30 min lead time and 1 mm h<inline-formula><mml:math id="M161" 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> during the MeteoSwiss events (Table <xref ref-type="table" rid="Ch1.T8"/>). The localization window was reduced from the full domain (710 km) to three different local scales (360, 180 and 90 km).</p></caption>
          <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f16.png"/>

        </fig>

</sec>
<sec id="Ch1.S5.SS4">
  <label>5.4</label><title>Cascade decomposition</title>
      <p id="d1e5655">The cascade decomposition was designed to account for dynamic scaling (i.e., the dependence of predictability on spatial scale; see Sect. <xref ref-type="sec" rid="Ch1.S2.SS4"/>). Without the decomposition, precipitation fields are expected to evolve similarly at all spatial scales following a single AR process. In such cases, the lifetime of small-scale (large-scale) precipitation features would be overestimated (underestimated). Thus, our main hypothesis is that dynamic scaling properties are necessary to produce a realistic temporal evolution (lifetime) of precipitation across spatial scales. Consequently, this would give correct ensemble dispersion because the standard deviation of the perturbations is inversely related to predictability via Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F17"><?xmltex \currentcnt{17}?><label>Figure 17</label><caption><p id="d1e5664">Verification of dynamic scaling properties of stochastic nowcasts generated with one and eight cascade levels. All MeteoSwiss events were analyzed, but nowcasts were run only every 4 h.</p></caption>
          <?xmltex \igopts{width=213.395669pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f17.png"/>

        </fig>

      <p id="d1e5673">To test our hypothesis, we compared the stochastic nowcasts (<monospace>nowcasts.steps</monospace> module) with and without cascade decomposition, that is, using eight or one cascade<?pagebreak page4203?> levels, respectively. The objective is to analyze the realism of the temporal evolution, not whether the AR is an appropriate model of the forecast error as in Sect. <xref ref-type="sec" rid="Ch1.S4.SS6"/>. In practice, this implies comparing the theoretical ACFs of forecast and observed fields as follows: (1) generate nowcasts with either an eight-level or one-level cascade, (2) transform the forecast fields into the Lagrangian frame (by using the same motion field estimated at start time), (3) decompose the forecast fields into a six-level cascade, (4) estimate the AR(2) parameters at each scale, (5) derive the full temporal ACF (see also Fig. <xref ref-type="fig" rid="Ch1.F10"/>) and (6) integrate the ACF to estimate the precipitation lifetime. The procedure is repeated for each forecast lead time up to 2 h and also for the corresponding observations.</p>
      <p id="d1e5684">Figure <xref ref-type="fig" rid="Ch1.F17"/> shows the average lifetime for all the MeteoSwiss events plotted against spatial wavelength (in log–log scale). As expected, the model with eight cascade levels reproduces well the dynamic scaling properties, especially at small wavelengths. However, there is some degree of overestimation of the lifetime at large wavelengths compared to the observations. One possibility would be to adjust the AR parameters to obtain faster decorrelation, and thus a shorter lifetime, at such scales.</p>
      <p id="d1e5689">The model without cascade decomposition compensates for the overestimation of persistence at large wavelengths but strongly overestimates the one of small wavelengths. Hence, the evolution of convective cells in the stochastic nowcast is too slow compared with reality. This could be checked visually by looking at the animations of stochastic realizations with and without decomposition (*_stoch_*.gif in <uri>https://github.com/pySTEPS/pysteps-publication/tree/master/animations</uri>, last access: 23 September 2019).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F18" specific-use="star"><?xmltex \currentcnt{18}?><label>Figure 18</label><caption><p id="d1e5697">Spatial structure analysis of the ensemble mean forecast using <bold>(a)</bold> eight cascade levels and <bold>(b)</bold> one cascade level. Both experiments have an ensemble size of 24 members. MeteoSwiss event no. 3 was used.</p></caption>
          <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f18.png"/>

        </fig>

      <p id="d1e5712">Another approach to understand the impact of the cascade decomposition is to analyze the filtering properties of the ensemble mean forecast <xref ref-type="bibr" rid="bib1.bibx84" id="paren.85"><named-content content-type="pre">e.g.,</named-content></xref>. Figure <xref ref-type="fig" rid="Ch1.F18"/> illustrates the evolution of the ensemble mean forecast spectra with eight and one cascade levels, respectively. When using the cascade decomposition the process of ensemble averaging leads to a loss of power at small spatial wavelengths, in agreement with the expected loss of predictability (see Sect. <xref ref-type="sec" rid="Ch1.S4.SS5"/>). Instead, the model with one cascade level is not able to filter out the unpredictable features. As a consequence, it may not be able to adequately characterize the loss of predictability (and uncertainty) at different spatial scales.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F19" specific-use="star"><?xmltex \currentcnt{19}?><label>Figure 19</label><caption><p id="d1e5726">Ensemble and probabilistic verification of the cascade experiments for all the MeteoSwiss cases with and without cascade decomposition, and with and without masking. <bold>(a)</bold> Rank histograms at 60 min, <bold>(b)</bold> spread–error relationship, <bold>(c, d)</bold> reliability diagrams at 60 min for probability of rain exceeding 0.1 and 1 mm h<inline-formula><mml:math id="M162" 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.</p></caption>
          <?xmltex \igopts{width=369.885827pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f19.png"/>

        </fig>

      <p id="d1e5757">Figure <xref ref-type="fig" rid="Ch1.F19"/> illustrates the ensemble and probabilistic verification for all the MeteoSwiss events with and without cascade decomposition. The sensitivity of forecast uncertainty<?pagebreak page4204?> estimations on using the incremental precipitation mask is also included.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F20" specific-use="star"><?xmltex \currentcnt{20}?><label>Figure 20</label><caption><p id="d1e5764">Comparison of a member of 5 min rainfall ensemble for <bold>(b)</bold> <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">30</mml:mn></mml:mrow></mml:math></inline-formula> min, <bold>(c)</bold> <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">60</mml:mn></mml:mrow></mml:math></inline-formula> min and <bold>(d)</bold> <inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">120</mml:mn></mml:mrow></mml:math></inline-formula> min nowcasts initialized with <bold>(a)</bold> radar-based rainfall analysis from the Australian radar network valid at 06:05 UTC on 1 January 2019 on a <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:mn mathvariant="normal">512</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">512</mml:mn></mml:mrow></mml:math></inline-formula> pixel grid (<inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:mn mathvariant="normal">256</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">256</mml:mn></mml:mrow></mml:math></inline-formula> km) (event no. 2 in Table <xref ref-type="table" rid="Ch1.T10"/>).</p></caption>
          <?xmltex \igopts{width=497.923228pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f20.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F21" specific-use="star"><?xmltex \currentcnt{21}?><label>Figure 21</label><caption><p id="d1e5844">Comparison of a member of 5 min rainfall ensemble for <bold>(b)</bold> <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">30</mml:mn></mml:mrow></mml:math></inline-formula> min, <bold>(c)</bold> <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">60</mml:mn></mml:mrow></mml:math></inline-formula> min and <bold>(d)</bold> <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">120</mml:mn></mml:mrow></mml:math></inline-formula> min nowcasts initialized with <bold>(a)</bold> radar-based rainfall analysis from the Australian radar network valid at 07:15 UTC on 8 February 2019 on a <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:mn mathvariant="normal">512</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">512</mml:mn></mml:mrow></mml:math></inline-formula> pixel grid (<inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:mn mathvariant="normal">256</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">256</mml:mn></mml:mrow></mml:math></inline-formula> km) (event no. 1 in Table <xref ref-type="table" rid="Ch1.T10"/>).</p></caption>
          <?xmltex \igopts{width=497.923228pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f21.png"/>

        </fig>

      <p id="d1e5922">The rank histograms behave differently depending on the chosen forecast settings (Fig. <xref ref-type="fig" rid="Ch1.F19"/>a). The two models without decomposition denote a clear overdispersion with a characteristic dome-shape in the bin range 13–22, especially for the setting with one level and no mask. Instead, the models with eight levels display a flat histogram, except for the very last bin, which contains the frequency of observations exceeding all the ensemble members (misses). As shown in Fig. <xref ref-type="fig" rid="Ch1.F14"/>, this underdispersion can be reduced by increasing the ensemble size. The last bin is also quite sensitive to using the mask, which prevents the ensemble to capture the uncertainty associated to precipitation initiation far from the main precipitation body.</p>
      <p id="d1e5929">Figure <xref ref-type="fig" rid="Ch1.F19"/>b shows the spread–error relationship analysis (i.e., the standard deviation among all ensemble members) against the average RMSE of all members against the observations. The experiments with eight levels have both a lower RMSE and spread than the ones using one level. It can also<?pagebreak page4205?> be noticed that the one-level models do not show the same overdispersion that was observed on the rank histograms.</p>
      <p id="d1e5935">Finally, the reliability diagrams of Fig. <xref ref-type="fig" rid="Ch1.F19"/>c–d demonstrate a very good reliability for all forecast settings, although the forecast probabilities of the models with one level are slightly lower than the observed frequencies. In addition, the eight-level model has better sharpness, i.e., a larger proportion of high forecast probabilities (<inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0.9</mml:mn></mml:mrow></mml:math></inline-formula>).</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F22" specific-use="star"><?xmltex \currentcnt{22}?><label>Figure 22</label><caption><p id="d1e5952">Comparison of fractions skill score (FSS) values for <bold>(a)</bold> <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> min, <bold>(b)</bold> <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">30</mml:mn></mml:mrow></mml:math></inline-formula> min and <bold>(c)</bold> <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">60</mml:mn></mml:mrow></mml:math></inline-formula> min nowcasts rainfall ensembles for tropical cyclone Penny (event no. 1 in Table <xref ref-type="table" rid="Ch1.T10"/>). FSS values were calculated comparing the ensemble mean for each lead time with observations.</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f22.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F23" specific-use="star"><?xmltex \currentcnt{23}?><label>Figure 23</label><caption><p id="d1e6005">Same as Fig. <xref ref-type="fig" rid="Ch1.F22"/> but for the severe convection case study (event no. 2 in Table <xref ref-type="table" rid="Ch1.T10"/>).</p></caption>
          <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f23.png"/>

        </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F24"><?xmltex \currentcnt{24}?><label>Figure 24</label><caption><p id="d1e6020">Distribution of precipitation lifetime values for each spatial scale during tropical cyclone (event no. 1 in Table <xref ref-type="table" rid="Ch1.T10"/>) and severe convection (event no. 2 in Table <xref ref-type="table" rid="Ch1.T10"/>) case studies.</p></caption>
          <?xmltex \igopts{width=241.848425pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f24.png"/>

        </fig>

</sec>
</sec>
<sec id="Ch1.S6">
  <label>6</label><title>Nowcasting the extremes: two severe-weather case studies from Australia</title>
      <p id="d1e6042">An example of applying the pysteps library in order to forecast rainfall fields for tropical cyclone Penny and severe convection in Sydney (Australia) is shown in Figs. <xref ref-type="fig" rid="Ch1.F20"/> and <xref ref-type="fig" rid="Ch1.F21"/>, respectively. The ability of pysteps to estimate diverse advection patterns from observed data is quite clear in these examples, with the tropical cyclone case showing a clear clockwise rotational pattern, while the severe convection shows an almost even easterly flow pattern across the whole domain. Tropical cyclone nowcasts preserve the original cyclonic pattern up to 60 min ahead but some distortions are induced for longer lead times due to convergence and divergence. The severe convection case has a simpler advection pattern that helps to preserve the general structure of the observed rainfall fields beyond 60 min. Additional data sources such as satellite or NWP forecasts may help to estimate future advection velocities and reduce potential anomalies for longer lead times. It is important to note, however, that post-processing of nowcasts (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS8"/>) ensures that the forecast rainfall fields have the same statistical properties with the observed ones in both case studies.</p>

      <?xmltex \floatpos{t}?><fig id="Ch1.F25" specific-use="star"><?xmltex \currentcnt{25}?><label>Figure 25</label><caption><p id="d1e6053">The deterministic S-PROG nowcast <bold>(a)</bold>, ensemble mean <bold>(b)</bold> and two ensemble members <bold>(c, d)</bold> of a 1 h STEPS nowcast starting at 16:00 UTC on 28 September 2016.</p></caption>
        <?xmltex \igopts{width=341.433071pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f25.png"/>

      </fig>

      <?xmltex \floatpos{t}?><fig id="Ch1.F26"><?xmltex \currentcnt{26}?><label>Figure 26</label><caption><p id="d1e6073">Probability of exceeding 0.5 mm h<inline-formula><mml:math id="M177" 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> computed from the STEPS nowcast ensemble shown in Fig. <xref ref-type="fig" rid="Ch1.F25"/> with 24 members.</p></caption>
        <?xmltex \igopts{width=199.169291pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-f26.png"/>

      </fig>

<sec id="Ch1.S6.SS1">
  <label>6.1</label><title>Neighborhood verification</title>
      <p id="d1e6104">Figures <xref ref-type="fig" rid="Ch1.F22"/> and <xref ref-type="fig" rid="Ch1.F23"/> show examples of FSS results calculated by pysteps for different forecast times for both Australian case studies.</p>
      <p id="d1e6111">The FSS decays in both case studies when spatial scale is reduced or when the intensity threshold is increased, although differences exist between the two case studies. For example, the tropical cyclone case seems to have a less acute reduction in the skill with changes in spatial scale. This can be related to the presence of a more uniform rainfall distribution across the domain (large bands of rainfall moving in an organized way) limiting displacement errors at small scales. Instead, the skill reduces heavily as rainfall intensity increases. This drop in skill could have been accentuated by<?pagebreak page4206?> the relatively low number of high-intensity samples in these events.</p>
      <p id="d1e6114">On the other hand, the severe convection case displays a stronger decay of skill when spatial scale is reduced, probably due to the presence of sharp spatial gradients and isolated convective cells. This said, it is interesting to note how for the higher intensities and large spatial scales the FSS values do not decay as heavily as seen in the other case study. This difference could be a consequence of having more high-intensity values in the severe convection event.</p>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T7" specific-use="star"><?xmltex \currentcnt{7}?><label>Table 7</label><caption><p id="d1e6121">Precipitation events in Finland (FMI). The duration of each event is 12 h.</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="right"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="justify" colwidth="340pt"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">No.</oasis:entry>
         <oasis:entry colname="col2">Date</oasis:entry>
         <oasis:entry colname="col3">Start time</oasis:entry>
         <oasis:entry colname="col4">Description</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(UTC)</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1</oasis:entry>
         <oasis:entry colname="col2">8 Jun 2016</oasis:entry>
         <oasis:entry colname="col3">13:00</oasis:entry>
         <oasis:entry colname="col4">A low-pressure system over northern Finland causes frontal rain associated with a warm front and frontal rain and convective cells associated with a cold front. The system moves eastward with precipitation areas rotating around its center.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2</oasis:entry>
         <oasis:entry colname="col2">15 Jul 2016</oasis:entry>
         <oasis:entry colname="col3">12:00</oasis:entry>
         <oasis:entry colname="col4">Frontal precipitation approaches measurement area from the south.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3</oasis:entry>
         <oasis:entry colname="col2">28 Sep 2016</oasis:entry>
         <oasis:entry colname="col3">09:00</oasis:entry>
         <oasis:entry colname="col4">Frontal precipitation intermixed with convection, some scattered convective cells.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4</oasis:entry>
         <oasis:entry colname="col2">22 Feb 2017</oasis:entry>
         <oasis:entry colname="col3">22:00</oasis:entry>
         <oasis:entry colname="col4">Widespread heavy frontal precipitation associated with a low-pressure system traversing over southern Finland.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5</oasis:entry>
         <oasis:entry colname="col2">8 Jun 2017</oasis:entry>
         <oasis:entry colname="col3">04:00</oasis:entry>
         <oasis:entry colname="col4">Narrow and slowly moving precipitation band.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6</oasis:entry>
         <oasis:entry colname="col2">14 Jul 2017</oasis:entry>
         <oasis:entry colname="col3">01:00</oasis:entry>
         <oasis:entry colname="col4">Precipitation starts out as a narrow precipitation band with some scattered convective cells and later evolves into predominantly convective precipitation.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">7</oasis:entry>
         <oasis:entry colname="col2">4 Aug 2017</oasis:entry>
         <oasis:entry colname="col3">11:00</oasis:entry>
         <oasis:entry colname="col4">Frontal rain associated with a warm front and some convective activity.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">8</oasis:entry>
         <oasis:entry colname="col2">12 Sep 2017</oasis:entry>
         <oasis:entry colname="col3">03:00</oasis:entry>
         <oasis:entry colname="col4">Frontal precipitation moves northward and slightly rotates.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">9</oasis:entry>
         <oasis:entry colname="col2">12 Aug 2018</oasis:entry>
         <oasis:entry colname="col3">05:00</oasis:entry>
         <oasis:entry colname="col4">Frontal precipitation intermixed with convection. Some convective activity, which rotates. <?xmltex \hack{\hfill\break}?>Convective activity increases noticeably in a few hours.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">10</oasis:entry>
         <oasis:entry colname="col2">29 Sep 2018</oasis:entry>
         <oasis:entry colname="col3">16:00</oasis:entry>
         <oasis:entry colname="col4">Frontal precipitation moves eastward and is followed by convective activity. New convective cells are continuously generated at the northern coast of Estonia after the frontal precipitation has passed.</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T8" specific-use="star"><?xmltex \currentcnt{8}?><label>Table 8</label><caption><p id="d1e6327">Precipitation events in Switzerland (MeteoSwiss). The duration of each event is 12 h.</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="right"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="justify" colwidth="340pt"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">No.</oasis:entry>
         <oasis:entry colname="col2">Date</oasis:entry>
         <oasis:entry colname="col3">Start time</oasis:entry>
         <oasis:entry colname="col4">Description</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(UTC)</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1</oasis:entry>
         <oasis:entry colname="col2">16 Apr 2016</oasis:entry>
         <oasis:entry colname="col3">18:00</oasis:entry>
         <oasis:entry colname="col4">Prefrontal precipitation induced by a low-pressure system over the North Sea. Lines of <?xmltex \hack{\hfill\break}?>convection develop over western Switzerland.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2</oasis:entry>
         <oasis:entry colname="col2">11 Jul 2016</oasis:entry>
         <oasis:entry colname="col3">13:00</oasis:entry>
         <oasis:entry colname="col4">An approaching cold front causes widespread convective activity in a southwesterly flow.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3</oasis:entry>
         <oasis:entry colname="col2">31 Jan 2017</oasis:entry>
         <oasis:entry colname="col3">10:00</oasis:entry>
         <oasis:entry colname="col4">A strong northwesterly flow causes orographic blocking on the northern slopes of the Alps resulting in widespread precipitation.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4</oasis:entry>
         <oasis:entry colname="col2">14 Jun 2017</oasis:entry>
         <oasis:entry colname="col3">13:00</oasis:entry>
         <oasis:entry colname="col4">Fairly uniform pressure distribution across central Europe; scattered convection develops<?xmltex \hack{\hfill\break}?>during the afternoon.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5</oasis:entry>
         <oasis:entry colname="col2">24 Jun 2017</oasis:entry>
         <oasis:entry colname="col3">22:00</oasis:entry>
         <oasis:entry colname="col4">Prefrontal activity with intense thunderstorms south of the Alps. Measured peak intensity reached 33.5 mm in 10 min and presence of large-size hailstones (3–5 cm) was observed.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6</oasis:entry>
         <oasis:entry colname="col2">27 Jun 2017</oasis:entry>
         <oasis:entry colname="col3">20:00</oasis:entry>
         <oasis:entry colname="col4">A frontal passage during the night induces organized convection over the domain and important prefrontal convective activity on the southern side of the Alps.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">7</oasis:entry>
         <oasis:entry colname="col2">19 Jul 2017</oasis:entry>
         <oasis:entry colname="col3">13:00</oasis:entry>
         <oasis:entry colname="col4">In a southwesterly flow, development of large convective cells over central Switzerland.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">8</oasis:entry>
         <oasis:entry colname="col2">21 Jul 2017</oasis:entry>
         <oasis:entry colname="col3">13:00</oasis:entry>
         <oasis:entry colname="col4">Flat pressure distribution across central Europe, southwesterly flow associated to a low over the British Islands. Clusters of intense thunderstorms develop over western Switzerland.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">9</oasis:entry>
         <oasis:entry colname="col2">29 Jul 2017</oasis:entry>
         <oasis:entry colname="col3">13:00</oasis:entry>
         <oasis:entry colname="col4">Southwesterly flow connected to large depression over British Islands. Large clusters of<?xmltex \hack{\hfill\break}?>convection develop south of the Alps.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">10</oasis:entry>
         <oasis:entry colname="col2">31 Aug 2017</oasis:entry>
         <oasis:entry colname="col3">14:00</oasis:entry>
         <oasis:entry colname="col4">Strong southwesterly flow over the Alps associated to a cold front. Important lines of stationary convection affect the southern Alps, while more stratiform precipitation occurs in the west and north of Switzerland.</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T9" specific-use="star"><?xmltex \currentcnt{9}?><label>Table 9</label><caption><p id="d1e6537">Precipitation events from the US. The duration of each event is 12 h.</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="right"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="justify" colwidth="340pt"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">No.</oasis:entry>
         <oasis:entry colname="col2">Date</oasis:entry>
         <oasis:entry colname="col3">Start time</oasis:entry>
         <oasis:entry colname="col4">Description</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(UTC)</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1</oasis:entry>
         <oasis:entry colname="col2">16 Apr 2011</oasis:entry>
         <oasis:entry colname="col3">08:00</oasis:entry>
         <oasis:entry colname="col4">Large extratropical cyclone. The low-pressure center was located over the Great Lakes with a strong  cold  front extending south.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2</oasis:entry>
         <oasis:entry colname="col2">15 Nov 2011</oasis:entry>
         <oasis:entry colname="col3">23:00</oasis:entry>
         <oasis:entry colname="col4">Frontal precipitation associated with a stationary front in the southeastern US.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">3</oasis:entry>
         <oasis:entry colname="col2">4 Apr 2013</oasis:entry>
         <oasis:entry colname="col3">18:00</oasis:entry>
         <oasis:entry colname="col4">Two widespread precipitation systems produced by two cyclonic systems over the US, located in the northwest and southeast of the US.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">4</oasis:entry>
         <oasis:entry colname="col2">11 Apr 2013</oasis:entry>
         <oasis:entry colname="col3">00:00</oasis:entry>
         <oasis:entry colname="col4">Midlatitude cyclone over the eastern US with the eastern line of precipitation caused by a cold front extending in the south–north direction from eastern Texas to central Missouri and in the west–east direction from Missouri to the south of the state of New York.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5</oasis:entry>
         <oasis:entry colname="col2">18 May 2013</oasis:entry>
         <oasis:entry colname="col3">06:00</oasis:entry>
         <oasis:entry colname="col4">Mesoscale convective systems (MCSs) located in northern and southeastern US.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">6</oasis:entry>
         <oasis:entry colname="col2">27 May 2017</oasis:entry>
         <oasis:entry colname="col3">00:00</oasis:entry>
         <oasis:entry colname="col4">MCSs developed over central and northwestern US, along with a cyclonic precipitation system located in southeastern Canada.</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<?xmltex \floatpos{t}?><table-wrap id="Ch1.T10" specific-use="star"><?xmltex \currentcnt{10}?><label>Table 10</label><caption><p id="d1e6681">Precipitation events from Australia (BoM). The duration of each event is 12 h.</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="right"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="justify" colwidth="340pt"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">No.</oasis:entry>
         <oasis:entry colname="col2">Date</oasis:entry>
         <oasis:entry colname="col3">Start time</oasis:entry>
         <oasis:entry colname="col4">Description</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(UTC)</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">1</oasis:entry>
         <oasis:entry colname="col2">1 Jan 2019</oasis:entry>
         <oasis:entry colname="col3">00:00</oasis:entry>
         <oasis:entry colname="col4">Tropical cyclone Penny moving from the Gulf of Carpentaria and making landfall on the <?xmltex \hack{\hfill\break}?>western Cape York Peninsula coastline just south of Weipa C-band Doppler radar.</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">2</oasis:entry>
         <oasis:entry colname="col2">8 Feb 2019</oasis:entry>
         <oasis:entry colname="col3">05:00</oasis:entry>
         <oasis:entry colname="col4">Severe convection activity observed by the S-band polarimetric radar of Terry Hills near <?xmltex \hack{\hfill\break}?>Sydney. Convective cells are continuously generated inland New South Wales and intensifying as they move east. This event produced thunderstorms, heavy rainfall and flash flooding in the city of Parramatta and western Sydney suburbs.</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S6.SS2">
  <label>6.2</label><title>Lifetime of rainfall fields per spatial scale</title>
      <p id="d1e6773">To compare the behavior of the AR(2) model for these two case studies, temporal auto-correlation functions for each spatial scale were calculated using Eq. (<xref ref-type="disp-formula" rid="Ch1.E7"/>) and then integrated to estimate the precipitation lifetimes for each scale and runtime. Figure <xref ref-type="fig" rid="Ch1.F24"/> summarizes the precipitation lifetime results for each case study. Overall, a more diverse set of spatial and temporal patterns observed during the severe convection event makes interquartile ranges of precipitation lifetimes larger for this case study for all scales. In comparison, similar organized patterns were present during most of the duration of the tropical cyclone event and therefore precipitation lifetime values have a narrower range. Smaller scales seem to have similar average lifetime values for both cases with no strong temporal variations within the events. For the larger scales, however, precipitation lifetime values for tropical cyclone event are greater than severe convection ones, again as a consequence of large-scale organized patterns observed in this event.</p>
      <p id="d1e6780">From an operational perspective, these results illustrate the importance of using an AR(2) model with parameters continuously adjusted to the latest observed patterns to adequately simulate rainfall nowcasts instead of using fixed, historical parameters. However, it is important to note as well that a number of outliers were obtained in both cases (mainly for the larger spatial scales). These anomalous values may indicate the need for introducing a temporal smoothing scheme during the estimation of the AR(2) parameters. Having a more stable, slowly evolving parameters would help to (i) reduce the possibility of generating unrealistic nowcasts from one particular set of observations and also (ii) create smooth transitions between consecutive rainfall nowcasts.</p>
</sec>
</sec>
<?pagebreak page4207?><sec id="Ch1.S7" sec-type="conclusions">
  <label>7</label><title>Conclusions</title>
      <p id="d1e6792">Pysteps is an open-source library for radar-based probabilistic precipitation nowcasting written in Python. It represents a community-based initiative that aims at connecting nowcasting scientists by sharing code, methods, ideas and results and also providing an easy-to-use tool for operational applications.</p>
      <p id="d1e6795"><?xmltex \hack{\newpage}?>Pysteps implements the main components of an ensemble precipitation nowcasting system. These are input/output, optical flow and extrapolation routines, time series methods for modeling the temporal evolution of precipitation fields, stochastic noise generation in space and time, visualization and forecast verification.</p>
      <p id="d1e6799">The development of pysteps is done by using a distributed version control system, and the project is hosted on GitHub (<uri>https://pysteps.github.io</uri>, last access: 23 September 2019).<?pagebreak page4208?> The library has a modular design so that developers can easily interchange components and embed them into other software packages.</p>
      <p id="d1e6805">In this paper, we briefly explained the framework of probabilistic precipitation nowcasting and how such nowcasts can be produced using pysteps. The potential of pysteps was demonstrated using radar composite images from Finland (FMI), Switzerland (MeteoSwiss), the United States and Australia (BoM). Finally, we performed experiments where the quality of pysteps nowcasts and computational performance were evaluated with different configurations. This brought us to the following conclusions:
<list list-type="order"><list-item>
      <p id="d1e6810">Probabilistic precipitation nowcasts computed with pysteps have good reliability that, however, decreases for increasing rainfall intensity thresholds and lead time. Using the MeteoSwiss data, it was shown that for the 0.1 mm h<inline-formula><mml:math id="M178" 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> threshold, reliable nowcasts with potentially useful skill can be obtained up to 3 h. When the threshold was increased to 5 mm h<inline-formula><mml:math id="M179" 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>, useful nowcasts could still be obtained up to 45 min (Figs. <xref ref-type="fig" rid="Ch1.F5"/> and <xref ref-type="fig" rid="Ch1.F6"/>).</p></list-item><list-item>
      <p id="d1e6842">Rank histograms show that the ensemble spread has a good correspondence with the nowcast uncertainty. However, we also observed some underdispersion with 10 %–15 % of observations falling outside of the 24-member ensemble verified on MeteoSwiss data (Figs. <xref ref-type="fig" rid="Ch1.F7"/> and <xref ref-type="fig" rid="Ch1.F14"/>). This was mostly related to the inability of<?pagebreak page4209?> persistence-based nowcasting to predict the initiation of new convection (misses).</p></list-item><list-item>
      <p id="d1e6850">The stochastic ensemble members have realistic spatial and temporal structure, as confirmed by Fourier analysis (Figs. <xref ref-type="fig" rid="Ch1.F8"/>, <xref ref-type="fig" rid="Ch1.F9"/>, <xref ref-type="fig" rid="Ch1.F10"/> and <xref ref-type="fig" rid="Ch1.F17"/>).</p></list-item><list-item>
      <p id="d1e6862">The three optical flow methods that we tested, i.e., Lucas–Kanade, DARTS and VET, provided similar forecast accuracy (differences less than 2 %; see Fig. <xref ref-type="fig" rid="Ch1.F11"/>). We conclude that the choice of optical flow method is not a first-order problem in terms of nowcast quality, although there may be some specific situations requiring more advanced schemes, e.g., in the presence of orographic rain and/or multiscale motion. Choosing a fast optical flow routine provides more time to generate a larger ensemble. When tested with the FMI and MeteoSwiss data, DARTS and Lucas–Kanade computed the motion field in less than 5 s.</p></list-item><list-item>
      <p id="d1e6868">With parallelization implemented via the Dask library, pysteps can generate relatively large ensembles within typical time constraints of real-time nowcasting systems. For example, by using four CPU cores on the MeteoSwiss grid (<inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:mn mathvariant="normal">710</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">640</mml:mn></mml:mrow></mml:math></inline-formula>), it is possible to produce a 48-member ensemble up to <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> h (12 frames) in about 2 min (Fig. <xref ref-type="fig" rid="Ch1.F15"/>).</p></list-item><list-item>
      <p id="d1e6896">Localizing the nowcasting procedure, that is, having spatially variable model parameters, is beneficial in terms of probabilistic forecast skill (Fig. <xref ref-type="fig" rid="Ch1.F16"/>). The need for localization is intuitively important for large domains, where different weather systems can coexist, but also for smaller domains that are characterized by complex orography, as it was demonstrated in this study.<?pagebreak page4210?> These results highlight the importance of defining an appropriate model domain for pysteps. That is to say, one that compromises between the need for homogeneous statistical properties (i.e., a small domain) and the need for a robust estimation of model parameters (i.e., large domain).</p></list-item><list-item>
      <p id="d1e6902">Considering the scale dependence of precipitation predictability is clearly important. The Fourier-based cascade decomposition provides an adequate framework, which can be easily extended to account for spatial localization (i.e., the short-space FFT). Other decomposition frameworks can be explored, but it is not yet clear whether there is a benefit in terms of forecast quality.</p></list-item><list-item>
      <p id="d1e6906">In the presence of extreme precipitation, pysteps can still deliver skillful nowcasts up to 1 h for specific intensity and spatial scales (Figs. <xref ref-type="fig" rid="Ch1.F22"/> and <xref ref-type="fig" rid="Ch1.F23"/>). A wide range of predictability is observed between and within the events (Fig. <xref ref-type="fig" rid="Ch1.F24"/>), thus highlighting the importance of having an adaptive approach that continuously updates the model parameters in real time.</p></list-item></list></p>
      <p id="d1e6916">Our analyses not only helped understanding the importance of certain nowcasting concepts but were the basis to define a minimum viable product (MVP), which constitutes the default configuration of pysteps (see Table <xref ref-type="table" rid="Ch1.T5"/>). Additional levels of complexity (e.g., localization) can be included at the cost of computational time and robustness. Users are responsible for evaluating whether it is worth the effort in terms of forecast quality and computational resources.</p>
<sec id="Ch1.S7.SS1">
  <label>7.1</label><title>Potential extensions and applications of pysteps</title>
      <p id="d1e6928">Pysteps represents a long-term effort that does not end with the publication of this paper. The current pysteps version (1.0) provides a quite comprehensive library but still misses two important modules: (1) a module to generate QPE ensembles characterizing the radar measurement uncertainty <xref ref-type="bibr" rid="bib1.bibx45 bib1.bibx29" id="paren.86"><named-content content-type="pre">e.g.,</named-content></xref> and (2) a module for seamless blending of precipitation fields from different data sources, such as radar nowcasts and NWP forecasts <xref ref-type="bibr" rid="bib1.bibx11 bib1.bibx64" id="paren.87"/>, radar, satellite and NWP data <xref ref-type="bibr" rid="bib1.bibx74" id="paren.88"/>.</p>
      <p id="d1e6942">It would be interesting to include other state-of-the-art ensemble precipitation nowcasting systems in pysteps, for example, PHAST <xref ref-type="bibr" rid="bib1.bibx61" id="paren.89"/>, SBMcast <xref ref-type="bibr" rid="bib1.bibx6" id="paren.90"/>, SAMPO-TBM <xref ref-type="bibr" rid="bib1.bibx50" id="paren.91"/>, SWIRLS ensemble rainstorm nowcast <xref ref-type="bibr" rid="bib1.bibx95" id="paren.92"><named-content content-type="pre">SERN;</named-content></xref> and NowPrecip <xref ref-type="bibr" rid="bib1.bibx81" id="paren.93"/>. A large-scale forecast verification intercomparison project could be foreseen to better understand the advantages and disadvantages of different ensemble nowcasting techniques.</p>
      <p id="d1e6962">Pysteps opens a number of possibilities that go beyond the field of nowcasting. The most natural application of pysteps is to use the precipitation ensembles as inputs into hydrological models for uncertainty quantification, in both urban and rural environments <xref ref-type="bibr" rid="bib1.bibx97 bib1.bibx86" id="paren.94"><named-content content-type="pre">e.g.,</named-content></xref>.</p>
      <p id="d1e6970">An obvious and crucial application of nowcasting systems is to support the operational warnings for rainstorms, thunderstorms and severe weather.</p>
      <p id="d1e6974">Individual pysteps modules can also serve different purposes.
For example, the optical flow modules can be used to study precipitation growth and decay in moving coordinates <xref ref-type="bibr" rid="bib1.bibx22 bib1.bibx23 bib1.bibx99" id="paren.95"><named-content content-type="pre">e.g.,</named-content></xref>, to correct radar field accumulations accounting for advection <xref ref-type="bibr" rid="bib1.bibx92 bib1.bibx56" id="paren.96"><named-content content-type="pre">e.g.,</named-content></xref>, to synchronize the individual radar elevation scans <xref ref-type="bibr" rid="bib1.bibx85" id="paren.97"><named-content content-type="pre">e.g.,</named-content></xref> or to separate the location error of NWP precipitation forecasts <xref ref-type="bibr" rid="bib1.bibx58" id="paren.98"/>.</p>
      <p id="d1e6995">The tools available in the noise and the time series modules can be used for stochastic simulation of design storms <xref ref-type="bibr" rid="bib1.bibx78 bib1.bibx65" id="paren.99"><named-content content-type="pre">e.g.,</named-content></xref> and weather generators <xref ref-type="bibr" rid="bib1.bibx68" id="paren.100"/>, and also to understand and quantify the subpixel variability of radar rainfall <xref ref-type="bibr" rid="bib1.bibx31 bib1.bibx5 bib1.bibx67" id="paren.101"><named-content content-type="pre">e.g.,</named-content></xref>. Other applications can include stochastic downscaling or emulation of climate model output <xref ref-type="bibr" rid="bib1.bibx73 bib1.bibx9" id="paren.102"><named-content content-type="pre">e.g.,</named-content></xref>.</p>
      <p id="d1e7016">We encourage the nowcasting community and potential users to implement new nowcasting methods, propose new modules, try pysteps on different applications, provide feedback and contribute to the library for the benefit of everyone.</p><?xmltex \hack{\newpage}?>
</sec>
</sec>

      
      </body>
    <back><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d1e7025">The pysteps library version 1.0 is available at <ext-link xlink:href="https://doi.org/10.5281/zenodo.2631911" ext-link-type="DOI">10.5281/zenodo.2631911</ext-link> (Pulkkinen et al., 2019). The scripts to run the experiments and produce the figures of this paper are available at <ext-link xlink:href="https://doi.org/10.5281/zenodo.3458712" ext-link-type="DOI">10.5281/zenodo.3458712</ext-link> (Pulkkinen et al., 2019). The radar data are available upon request.</p>
  </notes><?xmltex \hack{\clearpage}?><app-group>

<?pagebreak page4212?><app id="App1.Ch1.S1">
  <?xmltex \currentcnt{A}?><label>Appendix A</label><title>Pysteps use cases</title>
      <p id="d1e7045">Listing <xref ref-type="fig" rid="App1.Ch1.S1.F27"/> demonstrates how to browse and read archived radar composites using the <monospace>io</monospace> module and decompose a radar image into a cascade using the <monospace>cascade</monospace> module. The desired time stamp, root path of the data archive, the file name pattern and extension for finding the input file are specified at lines 9–12. Finding the input files is done by using <monospace>io.archive.find_by_date</monospace> at lines 14 and 15. Nine previous input files preceding the desired time stamp are also retrieved with the given time step of 5 min. The retrieved file names are then supplied to <monospace>io.read_timeseries</monospace> that returns a three-dimensional array of shape (num_timesteps,height,width) containing the radar precipitation fields and a metadata dictionary (line 19). The cascade decomposition is done by initializing the Fourier filter with <monospace>filter_gaussian</monospace> and calling <monospace>decomposition_fft</monospace> (lines 24–25).</p><?xmltex \setfigures?><?xmltex \setlistings?><?xmltex \floatpos{h}?><fig id="App1.Ch1.S1.F27" specific-use="star"><?xmltex \currentcnt{A1}?><label>Listing A1</label><caption><p id="d1e7072">Read 10 archived radar reflectivity composites in portable gray map (PGM) format, apply thresholding and decompose the last one into a seven-level cascade and plot the cascade levels.</p></caption>
        <?xmltex \igopts{width=497.923228pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-l01.png"/>

      </fig>

      <p id="d1e7081">Listing <xref ref-type="fig" rid="App1.Ch1.S1.F28"/> demonstrates computation of a deterministic S-PROG nowcast and a STEPS nowcast ensemble. This is done in two stages: computation of the advection field using the Lucas–Kanade method implemented in the <monospace>motion</monospace> module (lines 8–9) and then computing the nowcasts with the motion field supplied as input (lines 12–18). The callable functions for these are retrieved using the <monospace>get_method</monospace> interface. The inputs for the nowcasting methods are a time series of three radar composites (<inline-formula><mml:math id="M182" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula>), the motion field (<inline-formula><mml:math id="M183" display="inline"><mml:mi>V</mml:mi></mml:math></inline-formula>), the number of time steps (12), the number of cascade levels (eight) and the threshold for rain/no rain (<inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> dBR). In addition, for STEPS, the ensemble size and the spatial and temporal resolution of the data are set to 24, 1 km and 5 min, respectively. The resulting nowcasts are shown in Figs. <xref ref-type="fig" rid="Ch1.F25"/> and <xref ref-type="fig" rid="Ch1.F26"/>.</p><?xmltex \hack{\newpage}?><?xmltex \floatpos{h}?><fig id="App1.Ch1.S1.F28" specific-use="star"><?xmltex \currentcnt{A2}?><label>Listing A2</label><caption><p id="d1e7124">Compute the advection field and S-PROG and STEPS nowcasts from the reflectivity composites obtained in Listing <xref ref-type="fig" rid="App1.Ch1.S1.F27"/> and plot the nowcasts. The nowcasts are computed by using 12 time steps (i.e., 1 h nowcast with the 5 min time step), eight cascade levels and <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula> dBR intensity threshold. The STEPS nowcast is computed by using 24 ensemble members.</p></caption>
        <?xmltex \igopts{width=497.923228pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-l02.png"/>

      </fig>

      <p id="d1e7145">Verification of a nowcast ensemble is shown in Listing <xref ref-type="fig" rid="App1.Ch1.S1.F29"/> using three metrics: ROC, reliability diagram and rank histogram (see Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/>). The verifying observations are imported at lines 4–10 by using the <monospace>io</monospace> module. This is followed by a loop over the time steps of the nowcast. For each time step, the verification metric is initialized with the <monospace>*_init</monospace> function, and the verification data are accumulated to the resulting object by calling <monospace>*_accum</monospace>, which allows accumulating data from multiple events. In addition, exceedance probabilities (<monospace>P_f</monospace>) for the 0.1 mm h<inline-formula><mml:math id="M186" 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> threshold used above are computed by using <monospace>ensemblestats.excprob</monospace>.</p>

      <?xmltex \floatpos{h}?><fig id="App1.Ch1.S1.F29" specific-use="star"><?xmltex \currentcnt{A3}?><label>Listing A3</label><caption><p id="d1e7182">Compute and plot ROC curves, reliability diagrams and rank histograms for the STEPS nowcast generated in Listing <xref ref-type="fig" rid="App1.Ch1.S1.F28"/> with different lead times.</p></caption>
        <?xmltex \igopts{width=497.923228pt}?><graphic xlink:href="https://gmd.copernicus.org/articles/12/4185/2019/gmd-12-4185-2019-l03.png"/>

      </fig>

<?xmltex \hack{\clearpage}?>
</app>

<?pagebreak page4216?><app id="App1.Ch1.S2">
  <?xmltex \currentcnt{B}?><label>Appendix B</label><title>Precipitation events</title>
      <p id="d1e7203">The precipitation events to test pysteps come from Finland, Switzerland, USA and Australia. They are described in Tables <xref ref-type="table" rid="Ch1.T7"/>, <xref ref-type="table" rid="Ch1.T8"/>,  <xref ref-type="table" rid="Ch1.T9"/> and <xref ref-type="table" rid="Ch1.T10"/>, respectively.</p><?xmltex \hack{\clearpage}?>
</app>
  </app-group><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d1e7220">The core of the pysteps package was mainly written by SP and DN, with many contributions by AAPH. LF has promoted and closely followed the design of pysteps from its birth. The previously mentioned authors and CVF made many analyses and figures for the paper. UG and AS supported the project, supervised the science and improved the paper.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d1e7226">The authors do not have any competing interests.</p>
  </notes><ack><title>Acknowledgements</title><p id="d1e7232">The authors express their gratitude to Weather Decision Technologies for providing access to the United States radar composites.
The whole pysteps community is also acknowledged  here for the various contributions and discussions to the project.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d1e7237">Seppo Pulkkinen was supported by the Finnish Academy of Science and Letters. Loris Foresti and Daniele Nerini were supported by the Swiss National Science Foundation Ambizione project “Precipitation attractor from radar and satellite data archives and implications for seamless very short-term forecasting” (PZ00P2_161316).
This research has been supported by the European Horizon 2020 (grant no. EC-HORIZON2020-PR700099-ANYWHERE).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d1e7243">This paper was edited by Richard Neale and reviewed by Wang Chun Woo and one anonymous referee.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Alfieri et al.(2012)Alfieri, Salamon, Pappenberger, Wetterhall, and
Thielen</label><?label Alfieri2012?><mixed-citation>
Alfieri, L., Salamon, P., Pappenberger, F., Wetterhall, F., and Thielen, J.:
Operational early warning systems for water-related hazards in Europe,
Environ. Sci. Policy, 21, 35–49, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Atencia and Zawadzki(2014)</label><?label Atencia2014?><mixed-citation>
Atencia, A. and Zawadzki, I.: A comparison of two techniques for generating
nowcasting ensembles. Part I: Lagrangian ensemble technique, Mon. Weather
Rev., 142, 4036–4052, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Atencia et al.(2017)Atencia, Zawadzki, and Berenguer</label><?label Atencia2017?><mixed-citation>
Atencia, A., Zawadzki, I., and Berenguer, M.: Scale characterization and
correction of diurnal cycle errors in MAPLE, J. Appl. Meteorol. Climatol.,
56, 2561–2575, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Ayzel et al.(2019)Ayzel, Heistermann, and Winterrath</label><?label Ayzel2018?><mixed-citation>Ayzel, G., Heistermann, M., and Winterrath, T.: Optical flow models as an open benchmark for radar-based precipitation nowcasting (rainymotion v0.1), Geosci. Model Dev., 12, 1387–1402, <ext-link xlink:href="https://doi.org/10.5194/gmd-12-1387-2019" ext-link-type="DOI">10.5194/gmd-12-1387-2019</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Benoit et al.(2018)Benoit, Allard, and Mariethoz</label><?label Benoit2018?><mixed-citation>
Benoit, L., Allard, D., and Mariethoz, G.: Stochastic Rainfall Modeling at
Sub-kilometer Scale, Water Resour. Res., 54, 4108–4130, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Berenguer et al.(2011)Berenguer, Sempere-Torres, and
Pegram</label><?label Berenguer2011?><mixed-citation>
Berenguer, M., Sempere-Torres, D., and Pegram, G. G. S.: SBMcast – An
ensemble nowcasting technique to assess the uncertainty in rainfall forecasts
by Lagrangian extrapolation, J. Hydrol., 404, 226–240, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Berenguer et al.(2012)Berenguer, Surcel, Zawadzki, Xue, and
Kong</label><?label Berenguer2012?><mixed-citation>
Berenguer, M., Surcel, M., Zawadzki, I., Xue, M., and Kong, F.: The Diurnal
Cycle of Precipitation from Continental Radar Mosaics and Numerical Weather
Prediction Models. Part II: Intercomparison among Numerical Models and with
Nowcasting, Mon. Weather Rev., 140, 2689–2705, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Berne et al.(2004)Berne, Delrieu, Creutin, and Obled</label><?label Berne2004?><mixed-citation>
Berne, A., Delrieu, G., Creutin, J.-D., and Obled, C.: Temporal and spatial
resolution of rainfall measurements required for urban hydrology, J. Hydrol.,   299, 166–179, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Beusch et al.(2019)Beusch, Gudmundsson, and Seneviratne</label><?label Beusch2019?><mixed-citation>Beusch, L., Gudmundsson, L., and Seneviratne, S. I.: Emulating Earth System Model temperatures: from global mean temperature trajectories to grid-point level realizations on land, Earth Syst. Dynam. Discuss., <ext-link xlink:href="https://doi.org/10.5194/esd-2019-34" ext-link-type="DOI">10.5194/esd-2019-34</ext-link>, in review, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Bouguet(2001)</label><?label Bouguet2001?><mixed-citation>Bouguet, J.-Y.: Pyramidal implementation of the affine Lucas Kanade feature
tracker description of the algorithm, Intel Corp., 5, 4,
<ext-link xlink:href="https://doi.org/10.1109/HPDC.2004.1323531" ext-link-type="DOI">10.1109/HPDC.2004.1323531</ext-link>, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Bowler et al.(2006)Bowler, Pierce, and Seed</label><?label Bowler2006?><mixed-citation>
Bowler, N. E., Pierce, C. E., and Seed, A. W.: STEPS: A probabilistic
precipitation forecasting scheme which merges an extrapolation nowcast with
downscaled NWP, Q. J. Roy. Meteorol. Soc., 132, 2127–2155, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Box et al.(2013)Box, Jenkins, Reinsel, and Ljung</label><?label Box2013?><mixed-citation>
Box, G. E. P., Jenkins, G. M., Reinsel, G. C., and Ljung, G. M.: Time series
analysis: forecasting and control, John Wiley &amp; Sons, New Jersey, USA, fifth Edn., 2013.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Bradski(2000)</label><?label opencv_library?><mixed-citation>
Bradski, G.: The OpenCV Library, Dr. Dobb's Journal of Software Tools, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx14"><?xmltex \def\ref@label{{Br{\"{o}}cker and Smith(2007)}}?><label>Bröcker and Smith(2007)</label><?label Brocker2007?><mixed-citation>
Bröcker, J. and Smith, L. A.: Increasing the Reliability of Reliability
Diagrams, Weather Forecast., 22, 651–661, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Chatfield(2003)</label><?label Chatfield2003?><mixed-citation>
Chatfield, C.: The Analysis of Time Series: An Introduction, Chapman and
Hall/CRC, sixth Edn., 2003.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Crane(1990)</label><?label Crane1990?><mixed-citation>
Crane, R.: Space-time structure of rain rate fields, J. Geophys. Res., 95,
2011–2020, 1990.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Dask Development Team(2016)</label><?label Dask2016?><mixed-citation>Dask Development Team: Dask: Library for dynamic task scheduling,
available at: <uri>https://dask.org</uri> (last access: 30 July 2019), 2016.</mixed-citation></ref>
      <ref id="bib1.bibx18"><?xmltex \def\ref@label{{Erdin et~al.(2012)Erdin, Frei, and K{\"{u}}nsch}}?><label>Erdin et al.(2012)Erdin, Frei, and Künsch</label><?label Erdin2012?><mixed-citation>
Erdin, R., Frei, C., and Künsch, H. R.: Data Transformation and
Uncertainty in Geostatistical Combination of Radar and Rain Gauges, J.
Hydrometeorol., 13, 1332–1346, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Flowerdew(2018)</label><?label Flowerdew2018?><mixed-citation>Flowerdew, J.: IMPROVER: Integrated Model post-PROcessing and VERification,
available at: <uri>https://tinyurl.com/y8m33y7l</uri> (last access: 23 September 2019), BoM Ensembles Workshop, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Foresti and Seed(2014)</label><?label Foresti2014?><mixed-citation>Foresti, L. and Seed, A.: The effect of flow and orography on the spatial distribution of the very short-term predictability of rainfall from composite radar images, Hydrol. Earth Syst. Sci., 18, 4671–4686, <ext-link xlink:href="https://doi.org/10.5194/hess-18-4671-2014" ext-link-type="DOI">10.5194/hess-18-4671-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Foresti et al.(2016)Foresti, Reyniers, Seed, and
Delobbe</label><?label Foresti2016?><mixed-citation>Foresti, L., Reyniers, M., Seed, A., and Delobbe, L.: Development and verification of a real-time stochastic precipitation nowcasting system for urban hydrology in Belgium, Hydrol. Earth Syst. Sci., 20, 505–527, <ext-link xlink:href="https://doi.org/10.5194/hess-20-505-2016" ext-link-type="DOI">10.5194/hess-20-505-2016</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Foresti et al.(2018)Foresti, Sideris, Panziera, Nerini, and
Germann</label><?label Foresti2018?><mixed-citation>
Foresti, L., Sideris, I., Panziera, L., Nerini, D., and Germann, U.: A 10-year
radar-based analysis of orographic precipitation growth and decay patterns
over the Swiss Alpine region, Q. J. Roy. Meteorol. Soc., 144, 2277–2301, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Foresti et al.(2019)Foresti, Sideris, Nerini, Beusch, and
Germann</label><?label Foresti2019?><mixed-citation>Foresti, L., Sideris, I., Nerini, D., Beusch, L., and Germann, U.: Using a
10-year radar archive for nowcasting precipitation growth and decay – a
probabilistic machine learning approach, Weather Forecast., <ext-link xlink:href="https://doi.org/10.1175/WAF-D-18-0206.1" ext-link-type="DOI">10.1175/WAF-D-18-0206.1</ext-link>, in press,  2019.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Frigo and Johnson(2005)</label><?label Frigo2005?><mixed-citation>
Frigo, M. and Johnson, S. G.: The Design and Implementation of FFTW3,
Proc. IEEE, 93, 216–231, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Germann and Zawadzki(2002)</label><?label Germann2002?><mixed-citation>
Germann, U. and Zawadzki, I.: Scale-Dependence of the Predictability of
Precipitation from Continental Radar I<?pagebreak page4218?>mages, Part I: Description of the
Methodology, Mon. Weather Rev., 130, 2859–2873, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Germann and Zawadzki(2004)</label><?label Germann2004?><mixed-citation>
Germann, U. and Zawadzki, I.: Scale Dependence of the Predictability of
Precipitation from Continental Radar Images, Part II: Probability Forecasts,   J. Appl. Meteorol., 43, 74–89, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx27"><?xmltex \def\ref@label{{Germann et~al.(2006{\natexlab{a}})Germann, Galli, Boscacci, and
Bolliger}}?><label>Germann et al.(2006a)Germann, Galli, Boscacci, and
Bolliger</label><?label Germann2006b?><mixed-citation>
Germann, U., Galli, G., Boscacci, M., and Bolliger, M.: Radar precipitation
measurement in a mountainous region, Q. J. Roy. Meteorol. Soc., 132,
1669–1692, 2006a.</mixed-citation></ref>
      <ref id="bib1.bibx28"><?xmltex \def\ref@label{{Germann et~al.(2006{\natexlab{b}})Germann, Zawadzki, and
Turner}}?><label>Germann et al.(2006b)Germann, Zawadzki, and
Turner</label><?label Germann2006a?><mixed-citation>
Germann, U., Zawadzki, I., and Turner, B.: Predictability of precipitation
from continental radar images. Part IV: Limits to prediction, J. Atmos.
Sci., 63, 2092–2108, 2006b.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Germann et al.(2009)Germann, Berenguer, Sempere-Torres, and
Zappa</label><?label Germann2009?><mixed-citation>
Germann, U., Berenguer, M., Sempere-Torres, D., and Zappa, M.: REAL-Ensemble
radar precipitation estimation for hydrology in a mountainous region, Q. J.
Roy. Meteorol. Soc., 135, 445–456, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Germann et al.(2015)Germann, Boscacci, Gabella, and
Sartori</label><?label Germann2015?><mixed-citation>
Germann, U., Boscacci, M., Gabella, M., and Sartori, M.: Peak performance –
Radar design for prediction in the Swiss Alps, Meteorol. Technol. Int., 42–45, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Gires et al.(2014)Gires, Tchiguirinskaia, Schertzer, Schellart,
Berne, and Lovejoy</label><?label Gires2014?><mixed-citation>
Gires, A., Tchiguirinskaia, I., Schertzer, D., Schellart, A., Berne, A., and
Lovejoy, S.: Influence of small scale rainfall variability on standard
comparison tools between radar and rain gauge data, Atmos. Res., 138,
125–138, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Haiden et al.(2011)Haiden, Kann, Wittmann, Pistotnik, Bica, and
Gruber</label><?label Haiden2011?><mixed-citation>
Haiden, T., Kann, A., Wittmann, C., Pistotnik, G., Bica, B., and Gruber, C.:
The Integrated Nowcasting through Comprehensive Analysis (INCA) System and
Its Validation over the Eastern Alpine Region, Weather Forecast., 26,  166–183, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Hamill(2001)</label><?label Hamill2001?><mixed-citation>
Hamill, T. M.: Interpretation of Rank Histograms for Verifying Ensemble
Forecasts, Mon. Weather Rev., 129, 550–560, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Hamill and Colucci(1997)</label><?label Hamill1997?><mixed-citation>
Hamill, T. M. and Colucci, S. J.: Verification of Eta-RSM Short-Range
Ensemble Forecasts, Mon. Weather Rev., 125, 1312–1327, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Hamilton(1994)</label><?label Hamilton1994?><mixed-citation>
Hamilton, J. D.: Time Series Analysis, Princeton University Press, Princeton,
New Jersey, USA, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Harris et al.(1997)Harris, Seed, Menabde, and Austin</label><?label Harris1997?><mixed-citation>Harris, D., Seed, A., Menabde, M., and Austin, G.: Factors affecting multiscaling analysis of rainfall time series, Nonlin. Processes Geophys., 4, 137–156, <ext-link xlink:href="https://doi.org/10.5194/npg-4-137-1997" ext-link-type="DOI">10.5194/npg-4-137-1997</ext-link>, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Heistermann et al.(2013)Heistermann, Jacobi, and
Pfaff</label><?label Heistermann2013?><mixed-citation>Heistermann, M., Jacobi, S., and Pfaff, T.: Technical Note: An open source library for processing weather radar data (wradlib), Hydrol. Earth Syst. Sci., 17, 863–871, <ext-link xlink:href="https://doi.org/10.5194/hess-17-863-2013" ext-link-type="DOI">10.5194/hess-17-863-2013</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Heistermann et al.(2015)Heistermann, Collis, Dixon, Giangrande,
Helmus, Kelley, Koistinen, Michelson, Peura, Pfaff, and
Wolff</label><?label Heistermann2015?><mixed-citation>
Heistermann, M., Collis, S., Dixon, M. J., Giangrande, S., Helmus, J. J.,
Kelley, B., Koistinen, J., Michelson, D. B., Peura, M., Pfaff, T., and Wolff,
D. B.: The emergence of open-source software for the weather radar community,
B. Am. Meteorol. Soc., 96, 117–128, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Helmus and Collis(2016)</label><?label Helmus2016?><mixed-citation>Helmus, J. J. and Collis, S. M.: The Python ARM Radar Toolkit (Py-ART), a Library for Working with Weather Radar Data in the Python Programming Language, J. Open Res. Softw., 4, e25, <ext-link xlink:href="https://doi.org/10.5334/jors.119" ext-link-type="DOI">10.5334/jors.119</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Hunter(2007)</label><?label Hunter2007?><mixed-citation>Hunter, J. D.: Matplotlib: A 2D graphics environment, Comput. Sci. Eng., 9,
90–95, <ext-link xlink:href="https://doi.org/10.1109/MCSE.2007.55" ext-link-type="DOI">10.1109/MCSE.2007.55</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Hutton et al.(2016)Hutton, Wagener, Freer, Han, Duffy, and
Arheimer</label><?label Hutton2016?><mixed-citation>
Hutton, C., Wagener, T., Freer, J., Han, D., Duffy, C., and Arheimer, B.: Most   computational hydrology is not reproducible, so is it really science?, Water   Resour. Res., 52, 7548–7555, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Jacques et al.(2018)Jacques, Michelson, Caron, and
Fillion</label><?label Jacques2018?><mixed-citation>
Jacques, D., Michelson, D., Caron, J.-F., and Fillion, L.: Latent Heat Nudging   in the Canadian Regional Deterministic Prediction System, Mon. Weather Rev.,   146, 3995–4014, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Jolliffe and Stephenson(2003)</label><?label Jolliffe2003?><mixed-citation>
Jolliffe, I. T. and Stephenson, D. B.: Forecast Verification: A Practitioner's
Guide in Atmospheric Science, John Wiley &amp; Sons, Chichester, UK, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Jones et al.(2001)Jones, Oliphant, Peterson et al.</label><?label Jones2001?><mixed-citation>Jones, E., Oliphant, T., and Peterson, P.: SciPy: Open source scientific
tools for Python, available at: <uri>http://www.scipy.org/</uri> (last access:
30 July 2019), 2001.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Jordan et al.(2003)Jordan, Seed, and Weinmann</label><?label Jordan2003?><mixed-citation>
Jordan, P., Seed, A., and Weinmann, P.: A Stochastic Model of Radar Measurement
Errors in Rainfall Accumulations at Catchment Scale, J. Hydrometeorol., 4,
841–855, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Koistinen and Pohjola(2014)</label><?label Koistinen2014?><mixed-citation>
Koistinen, J. and Pohjola, H.: Estimation of Ground-Level Reflectivity Factor
in Operational Weather Radar Networks Using VPR-Based Correction Ensembles,   J. Appl. Meteorol. Climatol., 53, 2394–2411, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Lakshmanan et al.(2006)Lakshmanan, Smith, Hondl, Stumpf, and
Witt</label><?label Lakshmanan2006?><mixed-citation>
Lakshmanan, V., Smith, T., Hondl, K., Stumpf, G. J., and Witt, A.: A Real-Time,   Three-Dimensional, Rapidly Updating, Heterogeneous Radar Merger Technique for   Reflectivity, Velocity, and Derived Products, Weather  Forecast., 21, 802–823,   2006.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Lakshmanan et al.(2007)Lakshmanan, Fritz, Smith, Hondl, and
Stumpf</label><?label Lakshmanan2007?><mixed-citation>
Lakshmanan, V., Fritz, A., Smith, T., Hondl, K., and Stumpf, G.: An Automated
Technique to Quality Control Radar Reflectivity Data, J. Appl. Meteorol.
Climatol., 46, 288–305, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Laroche and Zawadzki(1994)</label><?label Laroche1994?><mixed-citation>
Laroche, S. and Zawadzki, I.: A Variational Analysis Method for Retrieval of
Three-Dimensional Wind Field from Single-Doppler Radar Data, J. Atmos. Sci.,   51, 2664–2682, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Leblois and Creutin(2013)</label><?label Leblois2013?><mixed-citation>
Leblois, E. and Creutin, J. D.: Space-time simulation of intermittent rainfall
with prescribed advection field: Adaptation of the turning band method,
Water Resour. Res., 49, 3375–3387, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Leinonen et al.(2012)Leinonen, Moisseev, Leskinen, and
Petersen</label><?label Leinonen2014?><mixed-citation>
Leinonen, J., Moisseev, D., Leskinen, M., and Petersen, W. A.: A Climatology of   Disdrometer Measurements of Rainfall in Finland over Five Years with
Implications for Global Radar Observations, J. Appl. Meteorol. Climatol., 51,   392–404, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx52"><label>Liguori and Rico-Ramirez(2014)</label><?label Liguori2014?><mixed-citation>
Liguori, S. and Rico-Ramirez, M. A.: A review of current approaches to
radar-based quantitative precipitation forecasts, Int. J. River Basin Manag.,
12, 391–402, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx53"><label>Lorenz(1996)</label><?label Lorenz1996?><mixed-citation>
Lorenz, E. N.: Predictability: a problem partly solved, in: Predict. Weather
Clim., edited by: Palmer, T. and Hagedora, R.,   40–58 pp., Cambridge
University Press, 1996.</mixed-citation></ref>
      <ref id="bib1.bibx54"><label>Lovejoy and Schertzer(2013)</label><?label Lovejoy2013?><mixed-citation>
Lovejoy, S. and Schertzer, D.: The Weather and Climate: Emergent Laws and
Multifractal Cascades, Cambridge University Press, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx55"><label>Lucas and Kanade(1981)</label><?label Lucas1981?><mixed-citation>
Lucas, B. D. and Kanade, T.: An iterative image registration technique with an   application to stereo vision, in: Proceedings of the 1981 DARPA Imaging
Understanding Workshop,  121–130 pp., 1981.</mixed-citation></ref>
      <ref id="bib1.bibx56"><label>Lukach et al.(2017)Lukach, Foresti, Giot, and Delobbe</label><?label Lukach2017?><mixed-citation>
Lukach, M., Foresti, L., Giot, O., and Delobbe, L.: Estimating the occurrence
and severity of hail based on 10 years of observations from weather radar in
Belgium, Meteorol. Appl., 24, 250–259, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx57"><label>Mandapaka et al.(2012)Mandapaka, Germann, Panziera, and
Hering</label><?label Mandapaka2012?><mixed-citation>
Mandapaka, P. V., Germann, U., Panziera, L., and Hering, A.: Can lagrangian
extrapolation of radar fields be used for precipitation nowcasting over
complex alpine orography?, Weather Forecast., 27, 28–49, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx58"><label>Marzban and Sandgathe(2010)</label><?label Marzban2010?><mixed-citation>
Marzban, C. and Sandgathe, S.: Optical flow for verification, Weather Forecast.,  25, 1479–1494, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx59"><label>Mejsnar et al.(2018)Mejsnar, Sokol, and Minářová</label><?label Mejsnar2018?><mixed-citation>
Mejsnar, J., Sokol, Z., and Minářová, J.: Limits of precipitation nowcasting
by extrapolation of radar reflectivity for warm season in Central Europe,
Atmos. Res., 213, 288–301, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx60"><label>Met Office(2010–2015)</label><?label Cartopy2010?><mixed-citation>Met Office: Cartopy: a cartographic python library with a Matplotlib
interface, Exeter, Devon, available at: <uri>http://scitools.org.uk/cartopy</uri>
(last access: 30 July 2019), 2010–2015.</mixed-citation></ref>
      <?pagebreak page4219?><ref id="bib1.bibx61"><label>Metta et al.(2009)Metta, von Hardenberg, Ferraris, Rebora, and
Provenzale</label><?label Metta2009?><mixed-citation>
Metta, S., von Hardenberg, J., Ferraris, L., Rebora, N., and Provenzale, A.:
Precipitation nowcasting by a spectral-based nonlinear stochastic model, J.   Hydrometeorol., 10, 1285–1297, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx62"><label>Mittermaier and Roberts(2010)</label><?label Mittermaier2010?><mixed-citation>
Mittermaier, M. and Roberts, N.: Intercomparison of Spatial Forecast
Verification Methods: Identifying Skillful Spatial Scales Using the Fractions   Skill Score, Weather Forecast., 25, 343–354, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx63"><label>Nerini et al.(2017)Nerini, Besic, Sideris, Germann, and
Foresti</label><?label Nerini2017?><mixed-citation>Nerini, D., Besic, N., Sideris, I., Germann, U., and Foresti, L.: A non-stationary stochastic ensemble generator for radar rainfall fields based on the short-space Fourier transform, Hydrol. Earth Syst. Sci., 21, 2777–2797, <ext-link xlink:href="https://doi.org/10.5194/hess-21-2777-2017" ext-link-type="DOI">10.5194/hess-21-2777-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx64"><label>Nerini et al.(2019)Nerini, Foresti, Leuenberger, Robert, and
Germann</label><?label Nerini2019?><mixed-citation>
Nerini, D., Foresti, L., Leuenberger, D., Robert, S., and Germann, U.: A
reduced-space ensemble Kalman filter approach for flow-dependent integration   of radar extrapolation nowcasts and NWP precipitation ensembles, Mon. Weather   Rev., 147, 987–1006, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx65"><label>Paschalis et al.(2013)Paschalis, Molnar, Fatichi, and
Burlando</label><?label Paschalis2013?><mixed-citation>
Paschalis, A., Molnar, P., Fatichi, S., and Burlando, P.: A stochastic model
for high-resolution space-time precipitation simulation, Water Resour. Res.,   49, 8400–8417, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx66"><label>Pegram and Clothier(2001)</label><?label Pegram2001?><mixed-citation>
Pegram, G. G. and Clothier, A. N.: High resolution space-time modelling of
rainfall: The “String of Beads” model, J. Hydrol., 241, 26–41, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx67"><label>Peleg et al.(2016)Peleg, Francesco, Fatichi, Paschalis, Molnar, and
Burlando</label><?label Peleg2018?><mixed-citation>
Peleg, N., Francesco, M., Fatichi, S., Paschalis, A., Molnar, P., and Burlando,   P.: Spatial variability of extreme rainfall at radar subpixel scale, J.   Hydrol., 556, 922–933, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx68"><label>Peleg et al.(2017)Peleg, Fatichi, Paschalis, Molnar, and
Burlando</label><?label Peleg2017?><mixed-citation>
Peleg, N., Fatichi, S., Paschalis, A., Molnar, P., and Burlando, P.: An
advanced stochastic weather generator for simulating 2‐D high‐resolution
climate variables, J. Adv. Model. Earth Syst., 9, 1595–1627, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx69"><?xmltex \def\ref@label{{P\'{e}rez and Granger(2007)}}?><label>Pérez and Granger(2007)</label><?label Perez2007?><mixed-citation>
Pérez, F. and Granger, B. E.: IPython: a System for Interactive Scientific   Computing, Comput. Sci. Eng., 9, 21–29, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx70"><label>Pierce et al.(2012)Pierce, Seed, Ballard, Simonin, and
Li</label><?label Pierce2012?><mixed-citation>
Pierce, C., Seed, A., Ballard, S., Simonin, D., and Li, Z.: Nowcasting, in:
Doppler Radar Observations – Weather Radar, Wind Profiler, Ionospheric Radar,
and Other Advanced Applications, edited by: Bech, J. and Chau, J. L.,
97–142 pp., InTech, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx71"><label>Pulkkinen et al.(2018)Pulkkinen, Chandrasekar, and
Harri</label><?label Pulkkinen2018?><mixed-citation>
Pulkkinen, S., Chandrasekar, V., and Harri, A.-M.: Nowcasting of Precipitation
in the High-Resolution Dallas-Fort Worth (DFW) Urban Radar Remote
Sensing Network, IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens., 11,
2773–2787, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx72"><label>Pulkkinen et al.(2019)</label><?label pulkkinen2019?><mixed-citation>Pulkkinen, S., Nerini, D., Perez Hortal, A., Velasco, C., and Foresti, L.: (2019, April 7), pySTEPS/pysteps: pysteps 1.0.0 (Version v1.0.0), Zenodo, <ext-link xlink:href="https://doi.org/10.5281/zenodo.2631911" ext-link-type="DOI">10.5281/zenodo.2631911</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx73"><label>Raut et al.(2018)Raut, Seed, Reeder, and Jakob</label><?label Raut2018?><mixed-citation>
Raut, B., Seed, A., Reeder, M., and Jakob, C.: A multiplicative cascade model
for high-resolution space-time downscaling of rainfall, J. Geophys. Res.-Atmos., 123, 2050–2067, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx74"><label>Renzullo et al.(2017)Renzullo, Velasco-Forero, and
Seed</label><?label Renzullo2017?><mixed-citation>Renzullo, L., Velasco-Forero, C., and Seed, A.: Blending radar, NWP and
satellite data for real-time ensemble rainfall analysis: a scale-dependent
method, Tech. Rep. EP174236, CSIRO, <ext-link xlink:href="https://doi.org/10.4225/08/594eb78c96025" ext-link-type="DOI">10.4225/08/594eb78c96025</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx75"><label>Ruzanski et al.(2011)Ruzanski, Chandrasekar, and
Wang</label><?label Ruzanski2011a?><mixed-citation>
Ruzanski, E., Chandrasekar, V., and Wang, Y.: The CASA Nowcasting System, J.   Atmos. Ocean. Technol., 28, 640–655, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx76"><label>Schertzer and Lovejoy(1987)</label><?label Schertzer1987?><mixed-citation>
Schertzer, D. and Lovejoy, S.: Physical modeling and analysis of rain and
clouds by anisotropic scaling multiplicative processes, J. Geophys. Res.,
92, 9693–9714, 1987.</mixed-citation></ref>
      <ref id="bib1.bibx77"><label>Scovell(2018)</label><?label Scovell2018?><mixed-citation>
Scovell, R.: Application of the wavelet transform for modelling
non-stationarity and local anisotropy in precipitation fields, in: 11th
International Workshop on Precipitation in Urban Areas, Pontresina,
Switzerland, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx78"><label>Seed et al.(1999)Seed, Shrikanthan, and Menabde</label><?label Seed1999?><mixed-citation>
Seed, A., Shrikanthan, R., and Menabde, M.: A space and time model for design
storm rainfall, J. Geophys. Res., 104, 31623–31630, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx79"><label>Seed(2003)</label><?label Seed2003?><mixed-citation>
Seed, A. W.: A Dynamic and Spatial Scaling Approach to Advection Forecasting,
J. Appl. Meteor., 42, 381–388, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx80"><label>Seed et al.(2013)Seed, Pierce, and Norman</label><?label Seed2013?><mixed-citation>
Seed, A. W., Pierce, C. E., and Norman, K.: Formulation and evaluation of a
scale decomposition-based stochastic precipitation nowcast scheme, Water
Resour. Res., 49, 6624–6641, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx81"><label>Sideris et al.(2018)Sideris, Foresti, Germann, and
Nerini</label><?label Sideris2018?><mixed-citation>
Sideris, I. V., Foresti, L., Germann, U., and Nerini, D.: Nowprecip: an
algorithm for localized probabilistic precipitation nowcasting in the complex   terrain of Switzerland, in: Proceedings of the 10th  European Conference   on Radar in Meteorology and Hydrology (ERAD), Ede-Wageningen, The   Netherlands, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx82"><label>Simonin et al.(2017)Simonin, Pierce, Roberts, Ballard, and
Li</label><?label Simonin2017?><mixed-citation>
Simonin, D., Pierce, C., Roberts, N., Ballard, S., and Li, Z.: Performance of
Met Office hourly cycling NWP-based nowcasting for precipitation forecasts,
Q. J. Roy. Meteorol. Soc., 143, 2862–2873, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx83"><label>Sun et al.(2014)Sun, Xue, Wilson, Zawadzki, Ballard,
Onvlee-Hooimeyer, Joe, Barker, Li, Golding, Xu, and Pinto</label><?label Sun2014?><mixed-citation>
Sun, J., Xue, M., Wilson, J. W., Zawadzki, I., Ballard, S. P.,
Onvlee-Hooimeyer, J., Joe, P., Barker, D. M., Li, P.-W., Golding, B., Xu, M.,   and Pinto, J.: Use of NWP for Nowcasting Convective Precipitation: Recent   Progress and Challenges, B. Am. Meteorol. Soc., 95, 409–426, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx84"><label>Surcel et al.(2014)Surcel, Zawadzki, and Yau</label><?label Surcel2014?><mixed-citation>
Surcel, M., Zawadzki, I., and Yau, M.: On the filtering properties of ensemble
averaging for storm-scale precipitation forecasts, Mon. Weather Rev., 142,
1093–1105, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx85"><label>Tabary(2007)</label><?label Tabary2007?><mixed-citation>
Tabary, P.: The new French operational radar rainfall product, Part I:
Methodology, Weather Forecast., 22, 393–408, 2007.</mixed-citation></ref>
      <ref id="bib1.bibx86"><label>Thorndahl et al.(2017)Thorndahl, Einfalt, Willems, Nielsen, ten
Veldhuis, Arnbjerg-Nielsen, Rasmussen, and Molnar</label><?label Thorndahl2017?><mixed-citation>Thorndahl, S., Einfalt, T., Willems, P., Nielsen, J. E., ten Veldhuis, M.-C., Arnbjerg-Nielsen, K., Rasmussen, M. R., and Molnar, P.: Weather radar rainfall data in urban hydrology, Hydrol. Earth Syst. Sci., 21, 1359–1380, <ext-link xlink:href="https://doi.org/10.5194/hess-21-1359-2017" ext-link-type="DOI">10.5194/hess-21-1359-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx87"><label>Tippett et al.(2014)Tippett, DelSole, and Barnston</label><?label Tippett2014?><mixed-citation>
Tippett, M. K., DelSole, T., and Barnston, A. G.: Reliability of
Regression-Corrected Climate Forecasts, J. Climate, 27, 3393–3404, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx88"><label>Toth and Kalnay(1997)</label><?label Toth1997?><mixed-citation>
Toth, Z. and Kalnay, E.: Ensemble forecasting at NCEP and the breeding
method, Mon. Weather Rev., 125, 3297–3319, 1997.</mixed-citation></ref>
      <ref id="bib1.bibx89"><label>Turner et al.(2004)Turner, Zawadzki, and Germann</label><?label Turner2004?><mixed-citation>
Turner, B. J., Zawadzki, I., and Germann, U.: Predictability of Precipitation
from Continental Radar Images, Part III: Operational Nowcasting
Implementation (MAPLE), J. Appl. Meteorol., 43, 231–248, 2004.</mixed-citation></ref>
      <ref id="bib1.bibx90"><label>Van Der Walt et al.(2011)Van Der Walt, Colbert, and
Varoquaux</label><?label VanDerWalt2011?><mixed-citation>Van Der Walt, S., Colbert, S. C., and Varoquaux, G.: The NumPy Array: A
Structure for Efficient Numerical Computation, Comput. Sci. Eng., 13, 22–30,   <ext-link xlink:href="https://doi.org/10.1109/MCSE.2011.37" ext-link-type="DOI">10.1109/MCSE.2011.37</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx91"><label>Venugopal et al.(1999)Venugopal, Foufoula-Georgiou, and
Sapozhnikov</label><?label Venugopal1999?><mixed-citation>
Venugopal, V., Foufoula-Georgiou, E., and Sapozhnikov, V.: Evidence of dynamic
scaling in space-time rainfall, J. Geophys. Res.-Atmos., 104,
31599–31610, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx92"><label>Wang et al.(2015)Wang, Ochoa-Rodriguez, Van Assel, Pina, Pessemier,
Kroll, Willems, and Onof</label><?label Wang2015?><mixed-citation>
Wang, L.-P., Ochoa-Rodriguez, S., Van Assel, J., Pina, R., Pessemier, M.,
Kroll, S., Willems, P., and Onof, C.: Enhancement of radar rainfall estimates   for urban hydrology through optical flow temporal interpolation and Bayesian   gauge-based adjustment, J. Hydrol., 531, 408–426, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx93"><label>Wang et al.(2017)Wang, Coning, Harou, Jacobs, Joe, Nikitina, Roberts,   Wang, and Wilson</label><?label Wang2017?><mixed-citation>Wang, Y., Coning, E. D., Harou, A., Jacobs, W., Joe, P., Nikitina, L., Roberts, R., Wang, J., and Wilson, J.: Guidelines for nowcasting techniques, available at: <uri>https://library.wmo.int/opac/doc_num.php?explnum_id=3795</uri> (last access: 23 September 2019),
2017.</mixed-citation></ref>
      <ref id="bib1.bibx94"><label>Wong et al.(2016)Wong, Cheng, and Woo</label><?label Wong2016?><mixed-citation>Wong, W.-K., Cheng, V. T.-L., and Woo, W.-C.: Community SWIRLS Nowcasting
System (Com-SWIRLS),<?pagebreak page4220?> in: WMO WWRP 4th International Symposium on Nowcasting
and Very-short-range Forecast (WSN16), p. 113,
available at: <uri>http://wsn16.hk/doc/wsn16-abstract-book.pdf</uri> (last access: 23 September 2019), 2016.</mixed-citation></ref>
      <ref id="bib1.bibx95"><label>Woo and Wong(2017)</label><?label Woo2017?><mixed-citation>
Woo, W.-C. and Wong, W.-K.: Operational application of optical flow techniques   to radar-based rainfall nowcasting, Atmosphere, 8, 48, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx96"><label>Xingjian et al.(2015)Xingjian, Chen, Wang, Yeung, Wong, and
Woo</label><?label Xingjian2015?><mixed-citation>Xingjian, S., Chen, Z., Wang, H., Yeung, D., Wong, W., and Woo, W.:
Convolutional LSTM network: A machine learning approach for precipitation
nowcasting, in: Neural Information Processing Systems 28, edited by: Cortes,   C., Lawrence, N. D., Lee, D. D., Sugiyama, M., and Garnett, R., 802–810 pp.,   Curran Associates, Inc., 2015.
 </mixed-citation></ref><?xmltex \hack{\newpage}?>
      <ref id="bib1.bibx97"><label>Zappa et al.(2011)Zappa, Simon, Germann, Walser, and
Fundel</label><?label Zappa2011?><mixed-citation>
Zappa, M., Simon, J., Germann, U., Walser, A., and Fundel, F.: Superposition
of three sources of uncertainties in operational flood forecasting chains,
Atmos. Res., 100, 246–262, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx98"><label>Zawadzki et al.(1994)Zawadzki, Morneau, and Laprise</label><?label Zawadzki1994?><mixed-citation>
Zawadzki, I., Morneau, J., and Laprise, R.: Predictability of Precipitation
Patterns: An Operational Approach, J. Appl. Meteor., 33, 1562–1571, 1994.</mixed-citation></ref>
      <ref id="bib1.bibx99"><label>Zeder et al.(2018)Zeder, Hamann, Nerini, Foresti, Clementi, Hering,
and Germann</label><?label Zeder2018?><mixed-citation>
Zeder, J., Hamann, U., Nerini, D., Foresti, L., Clementi, L., Hering, A., and
Germann, U.: Comparison of thunderstorm characteristics as seen by SEVIRI
and radar regarding lightning and hail initiation, in: EUMETSAT conference,   Tallinn, Estonia, 2018.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Pysteps: an open-source Python library  for probabilistic precipitation nowcasting (v1.0)</article-title-html>
<abstract-html><p>Pysteps is an open-source and community-driven Python library for probabilistic precipitation nowcasting, that is, very-short-range forecasting (0–6&thinsp;h). The aim of pysteps is to serve two different needs. The first is to provide a modular and well-documented framework for researchers interested in developing new methods for nowcasting and stochastic space–time simulation of precipitation. The second aim is to offer a highly configurable and easily accessible platform for practitioners ranging from weather forecasters to hydrologists. In this sense, pysteps has the potential to become an important component for integrated early warning systems for severe weather.</p><p>The pysteps library supports various input/output file formats and implements several optical flow methods as well as advanced stochastic generators to produce ensemble nowcasts. In addition, it includes tools for visualizing and post-processing the nowcasts and methods for deterministic, probabilistic and neighborhood forecast verification. The pysteps library is described and its potential is demonstrated using radar composite images from Finland, Switzerland, the United States and Australia. Finally, scientific experiments are carried out to help the reader to understand the pysteps framework and sensitivity to model parameters.</p></abstract-html>
<ref-html id="bib1.bib1"><label>Alfieri et al.(2012)Alfieri, Salamon, Pappenberger, Wetterhall, and
Thielen</label><mixed-citation>
Alfieri, L., Salamon, P., Pappenberger, F., Wetterhall, F., and Thielen, J.:
Operational early warning systems for water-related hazards in Europe,
Environ. Sci. Policy, 21, 35–49, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Atencia and Zawadzki(2014)</label><mixed-citation>
Atencia, A. and Zawadzki, I.: A comparison of two techniques for generating
nowcasting ensembles. Part I: Lagrangian ensemble technique, Mon. Weather
Rev., 142, 4036–4052, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Atencia et al.(2017)Atencia, Zawadzki, and Berenguer</label><mixed-citation>
Atencia, A., Zawadzki, I., and Berenguer, M.: Scale characterization and
correction of diurnal cycle errors in MAPLE, J. Appl. Meteorol. Climatol.,
56, 2561–2575, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Ayzel et al.(2019)Ayzel, Heistermann, and Winterrath</label><mixed-citation>
Ayzel, G., Heistermann, M., and Winterrath, T.: Optical flow models as an open benchmark for radar-based precipitation nowcasting (rainymotion v0.1), Geosci. Model Dev., 12, 1387–1402, <a href="https://doi.org/10.5194/gmd-12-1387-2019" target="_blank">https://doi.org/10.5194/gmd-12-1387-2019</a>, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Benoit et al.(2018)Benoit, Allard, and Mariethoz</label><mixed-citation>
Benoit, L., Allard, D., and Mariethoz, G.: Stochastic Rainfall Modeling at
Sub-kilometer Scale, Water Resour. Res., 54, 4108–4130, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Berenguer et al.(2011)Berenguer, Sempere-Torres, and
Pegram</label><mixed-citation>
Berenguer, M., Sempere-Torres, D., and Pegram, G. G. S.: SBMcast – An
ensemble nowcasting technique to assess the uncertainty in rainfall forecasts
by Lagrangian extrapolation, J. Hydrol., 404, 226–240, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Berenguer et al.(2012)Berenguer, Surcel, Zawadzki, Xue, and
Kong</label><mixed-citation>
Berenguer, M., Surcel, M., Zawadzki, I., Xue, M., and Kong, F.: The Diurnal
Cycle of Precipitation from Continental Radar Mosaics and Numerical Weather
Prediction Models. Part II: Intercomparison among Numerical Models and with
Nowcasting, Mon. Weather Rev., 140, 2689–2705, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Berne et al.(2004)Berne, Delrieu, Creutin, and Obled</label><mixed-citation>
Berne, A., Delrieu, G., Creutin, J.-D., and Obled, C.: Temporal and spatial
resolution of rainfall measurements required for urban hydrology, J. Hydrol.,   299, 166–179, 2004.
</mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Beusch et al.(2019)Beusch, Gudmundsson, and Seneviratne</label><mixed-citation>
Beusch, L., Gudmundsson, L., and Seneviratne, S. I.: Emulating Earth System Model temperatures: from global mean temperature trajectories to grid-point level realizations on land, Earth Syst. Dynam. Discuss., <a href="https://doi.org/10.5194/esd-2019-34" target="_blank">https://doi.org/10.5194/esd-2019-34</a>, in review, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Bouguet(2001)</label><mixed-citation>
Bouguet, J.-Y.: Pyramidal implementation of the affine Lucas Kanade feature
tracker description of the algorithm, Intel Corp., 5, 4,
<a href="https://doi.org/10.1109/HPDC.2004.1323531" target="_blank">https://doi.org/10.1109/HPDC.2004.1323531</a>, 2001.
</mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Bowler et al.(2006)Bowler, Pierce, and Seed</label><mixed-citation>
Bowler, N. E., Pierce, C. E., and Seed, A. W.: STEPS: A probabilistic
precipitation forecasting scheme which merges an extrapolation nowcast with
downscaled NWP, Q. J. Roy. Meteorol. Soc., 132, 2127–2155, 2006.
</mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Box et al.(2013)Box, Jenkins, Reinsel, and Ljung</label><mixed-citation>
Box, G. E. P., Jenkins, G. M., Reinsel, G. C., and Ljung, G. M.: Time series
analysis: forecasting and control, John Wiley &amp; Sons, New Jersey, USA, fifth Edn., 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Bradski(2000)</label><mixed-citation>
Bradski, G.: The OpenCV Library, Dr. Dobb's Journal of Software Tools, 2000.
</mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Bröcker and Smith(2007)</label><mixed-citation>
Bröcker, J. and Smith, L. A.: Increasing the Reliability of Reliability
Diagrams, Weather Forecast., 22, 651–661, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Chatfield(2003)</label><mixed-citation>
Chatfield, C.: The Analysis of Time Series: An Introduction, Chapman and
Hall/CRC, sixth Edn., 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Crane(1990)</label><mixed-citation>
Crane, R.: Space-time structure of rain rate fields, J. Geophys. Res., 95,
2011–2020, 1990.
</mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Dask Development Team(2016)</label><mixed-citation>
Dask Development Team: Dask: Library for dynamic task scheduling,
available at: <a href="https://dask.org" target="_blank">https://dask.org</a> (last access: 30 July 2019), 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Erdin et al.(2012)Erdin, Frei, and Künsch</label><mixed-citation>
Erdin, R., Frei, C., and Künsch, H. R.: Data Transformation and
Uncertainty in Geostatistical Combination of Radar and Rain Gauges, J.
Hydrometeorol., 13, 1332–1346, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Flowerdew(2018)</label><mixed-citation>
Flowerdew, J.: IMPROVER: Integrated Model post-PROcessing and VERification,
available at: <a href="https://tinyurl.com/y8m33y7l" target="_blank">https://tinyurl.com/y8m33y7l</a> (last access: 23 September 2019), BoM Ensembles Workshop, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Foresti and Seed(2014)</label><mixed-citation>
Foresti, L. and Seed, A.: The effect of flow and orography on the spatial distribution of the very short-term predictability of rainfall from composite radar images, Hydrol. Earth Syst. Sci., 18, 4671–4686, <a href="https://doi.org/10.5194/hess-18-4671-2014" target="_blank">https://doi.org/10.5194/hess-18-4671-2014</a>, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Foresti et al.(2016)Foresti, Reyniers, Seed, and
Delobbe</label><mixed-citation>
Foresti, L., Reyniers, M., Seed, A., and Delobbe, L.: Development and verification of a real-time stochastic precipitation nowcasting system for urban hydrology in Belgium, Hydrol. Earth Syst. Sci., 20, 505–527, <a href="https://doi.org/10.5194/hess-20-505-2016" target="_blank">https://doi.org/10.5194/hess-20-505-2016</a>, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Foresti et al.(2018)Foresti, Sideris, Panziera, Nerini, and
Germann</label><mixed-citation>
Foresti, L., Sideris, I., Panziera, L., Nerini, D., and Germann, U.: A 10-year
radar-based analysis of orographic precipitation growth and decay patterns
over the Swiss Alpine region, Q. J. Roy. Meteorol. Soc., 144, 2277–2301, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Foresti et al.(2019)Foresti, Sideris, Nerini, Beusch, and
Germann</label><mixed-citation>
Foresti, L., Sideris, I., Nerini, D., Beusch, L., and Germann, U.: Using a
10-year radar archive for nowcasting precipitation growth and decay – a
probabilistic machine learning approach, Weather Forecast., <a href="https://doi.org/10.1175/WAF-D-18-0206.1" target="_blank">https://doi.org/10.1175/WAF-D-18-0206.1</a>, in press,  2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Frigo and Johnson(2005)</label><mixed-citation>
Frigo, M. and Johnson, S. G.: The Design and Implementation of FFTW3,
Proc. IEEE, 93, 216–231, 2005.
</mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Germann and Zawadzki(2002)</label><mixed-citation>
Germann, U. and Zawadzki, I.: Scale-Dependence of the Predictability of
Precipitation from Continental Radar Images, Part I: Description of the
Methodology, Mon. Weather Rev., 130, 2859–2873, 2002.
</mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Germann and Zawadzki(2004)</label><mixed-citation>
Germann, U. and Zawadzki, I.: Scale Dependence of the Predictability of
Precipitation from Continental Radar Images, Part II: Probability Forecasts,   J. Appl. Meteorol., 43, 74–89, 2004.
</mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Germann et al.(2006a)Germann, Galli, Boscacci, and
Bolliger</label><mixed-citation>
Germann, U., Galli, G., Boscacci, M., and Bolliger, M.: Radar precipitation
measurement in a mountainous region, Q. J. Roy. Meteorol. Soc., 132,
1669–1692, 2006a.
</mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Germann et al.(2006b)Germann, Zawadzki, and
Turner</label><mixed-citation>
Germann, U., Zawadzki, I., and Turner, B.: Predictability of precipitation
from continental radar images. Part IV: Limits to prediction, J. Atmos.
Sci., 63, 2092–2108, 2006b.
</mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Germann et al.(2009)Germann, Berenguer, Sempere-Torres, and
Zappa</label><mixed-citation>
Germann, U., Berenguer, M., Sempere-Torres, D., and Zappa, M.: REAL-Ensemble
radar precipitation estimation for hydrology in a mountainous region, Q. J.
Roy. Meteorol. Soc., 135, 445–456, 2009.
</mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Germann et al.(2015)Germann, Boscacci, Gabella, and
Sartori</label><mixed-citation>
Germann, U., Boscacci, M., Gabella, M., and Sartori, M.: Peak performance –
Radar design for prediction in the Swiss Alps, Meteorol. Technol. Int., 42–45, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Gires et al.(2014)Gires, Tchiguirinskaia, Schertzer, Schellart,
Berne, and Lovejoy</label><mixed-citation>
Gires, A., Tchiguirinskaia, I., Schertzer, D., Schellart, A., Berne, A., and
Lovejoy, S.: Influence of small scale rainfall variability on standard
comparison tools between radar and rain gauge data, Atmos. Res., 138,
125–138, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Haiden et al.(2011)Haiden, Kann, Wittmann, Pistotnik, Bica, and
Gruber</label><mixed-citation>
Haiden, T., Kann, A., Wittmann, C., Pistotnik, G., Bica, B., and Gruber, C.:
The Integrated Nowcasting through Comprehensive Analysis (INCA) System and
Its Validation over the Eastern Alpine Region, Weather Forecast., 26,  166–183, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Hamill(2001)</label><mixed-citation>
Hamill, T. M.: Interpretation of Rank Histograms for Verifying Ensemble
Forecasts, Mon. Weather Rev., 129, 550–560, 2001.
</mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Hamill and Colucci(1997)</label><mixed-citation>
Hamill, T. M. and Colucci, S. J.: Verification of Eta-RSM Short-Range
Ensemble Forecasts, Mon. Weather Rev., 125, 1312–1327, 1997.
</mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Hamilton(1994)</label><mixed-citation>
Hamilton, J. D.: Time Series Analysis, Princeton University Press, Princeton,
New Jersey, USA, 1994.
</mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Harris et al.(1997)Harris, Seed, Menabde, and Austin</label><mixed-citation>
Harris, D., Seed, A., Menabde, M., and Austin, G.: Factors affecting multiscaling analysis of rainfall time series, Nonlin. Processes Geophys., 4, 137–156, <a href="https://doi.org/10.5194/npg-4-137-1997" target="_blank">https://doi.org/10.5194/npg-4-137-1997</a>, 1997.
</mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Heistermann et al.(2013)Heistermann, Jacobi, and
Pfaff</label><mixed-citation>
Heistermann, M., Jacobi, S., and Pfaff, T.: Technical Note: An open source library for processing weather radar data (wradlib), Hydrol. Earth Syst. Sci., 17, 863–871, <a href="https://doi.org/10.5194/hess-17-863-2013" target="_blank">https://doi.org/10.5194/hess-17-863-2013</a>, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Heistermann et al.(2015)Heistermann, Collis, Dixon, Giangrande,
Helmus, Kelley, Koistinen, Michelson, Peura, Pfaff, and
Wolff</label><mixed-citation>
Heistermann, M., Collis, S., Dixon, M. J., Giangrande, S., Helmus, J. J.,
Kelley, B., Koistinen, J., Michelson, D. B., Peura, M., Pfaff, T., and Wolff,
D. B.: The emergence of open-source software for the weather radar community,
B. Am. Meteorol. Soc., 96, 117–128, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Helmus and Collis(2016)</label><mixed-citation>
Helmus, J. J. and Collis, S. M.: The Python ARM Radar Toolkit (Py-ART), a Library for Working with Weather Radar Data in the Python Programming Language, J. Open Res. Softw., 4, e25, <a href="https://doi.org/10.5334/jors.119" target="_blank">https://doi.org/10.5334/jors.119</a>, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Hunter(2007)</label><mixed-citation>
Hunter, J. D.: Matplotlib: A 2D graphics environment, Comput. Sci. Eng., 9,
90–95, <a href="https://doi.org/10.1109/MCSE.2007.55" target="_blank">https://doi.org/10.1109/MCSE.2007.55</a>, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Hutton et al.(2016)Hutton, Wagener, Freer, Han, Duffy, and
Arheimer</label><mixed-citation>
Hutton, C., Wagener, T., Freer, J., Han, D., Duffy, C., and Arheimer, B.: Most   computational hydrology is not reproducible, so is it really science?, Water   Resour. Res., 52, 7548–7555, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Jacques et al.(2018)Jacques, Michelson, Caron, and
Fillion</label><mixed-citation>
Jacques, D., Michelson, D., Caron, J.-F., and Fillion, L.: Latent Heat Nudging   in the Canadian Regional Deterministic Prediction System, Mon. Weather Rev.,   146, 3995–4014, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Jolliffe and Stephenson(2003)</label><mixed-citation>
Jolliffe, I. T. and Stephenson, D. B.: Forecast Verification: A Practitioner's
Guide in Atmospheric Science, John Wiley &amp; Sons, Chichester, UK, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Jones et al.(2001)Jones, Oliphant, Peterson et al.</label><mixed-citation>
Jones, E., Oliphant, T., and Peterson, P.: SciPy: Open source scientific
tools for Python, available at: <a href="http://www.scipy.org/" target="_blank">http://www.scipy.org/</a> (last access:
30 July 2019), 2001.
</mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Jordan et al.(2003)Jordan, Seed, and Weinmann</label><mixed-citation>
Jordan, P., Seed, A., and Weinmann, P.: A Stochastic Model of Radar Measurement
Errors in Rainfall Accumulations at Catchment Scale, J. Hydrometeorol., 4,
841–855, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Koistinen and Pohjola(2014)</label><mixed-citation>
Koistinen, J. and Pohjola, H.: Estimation of Ground-Level Reflectivity Factor
in Operational Weather Radar Networks Using VPR-Based Correction Ensembles,   J. Appl. Meteorol. Climatol., 53, 2394–2411, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Lakshmanan et al.(2006)Lakshmanan, Smith, Hondl, Stumpf, and
Witt</label><mixed-citation>
Lakshmanan, V., Smith, T., Hondl, K., Stumpf, G. J., and Witt, A.: A Real-Time,   Three-Dimensional, Rapidly Updating, Heterogeneous Radar Merger Technique for   Reflectivity, Velocity, and Derived Products, Weather  Forecast., 21, 802–823,   2006.
</mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Lakshmanan et al.(2007)Lakshmanan, Fritz, Smith, Hondl, and
Stumpf</label><mixed-citation>
Lakshmanan, V., Fritz, A., Smith, T., Hondl, K., and Stumpf, G.: An Automated
Technique to Quality Control Radar Reflectivity Data, J. Appl. Meteorol.
Climatol., 46, 288–305, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Laroche and Zawadzki(1994)</label><mixed-citation>
Laroche, S. and Zawadzki, I.: A Variational Analysis Method for Retrieval of
Three-Dimensional Wind Field from Single-Doppler Radar Data, J. Atmos. Sci.,   51, 2664–2682, 1994.
</mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Leblois and Creutin(2013)</label><mixed-citation>
Leblois, E. and Creutin, J. D.: Space-time simulation of intermittent rainfall
with prescribed advection field: Adaptation of the turning band method,
Water Resour. Res., 49, 3375–3387, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Leinonen et al.(2012)Leinonen, Moisseev, Leskinen, and
Petersen</label><mixed-citation>
Leinonen, J., Moisseev, D., Leskinen, M., and Petersen, W. A.: A Climatology of   Disdrometer Measurements of Rainfall in Finland over Five Years with
Implications for Global Radar Observations, J. Appl. Meteorol. Climatol., 51,   392–404, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>Liguori and Rico-Ramirez(2014)</label><mixed-citation>
Liguori, S. and Rico-Ramirez, M. A.: A review of current approaches to
radar-based quantitative precipitation forecasts, Int. J. River Basin Manag.,
12, 391–402, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>Lorenz(1996)</label><mixed-citation>
Lorenz, E. N.: Predictability: a problem partly solved, in: Predict. Weather
Clim., edited by: Palmer, T. and Hagedora, R.,   40–58 pp., Cambridge
University Press, 1996.
</mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>Lovejoy and Schertzer(2013)</label><mixed-citation>
Lovejoy, S. and Schertzer, D.: The Weather and Climate: Emergent Laws and
Multifractal Cascades, Cambridge University Press, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>Lucas and Kanade(1981)</label><mixed-citation>
Lucas, B. D. and Kanade, T.: An iterative image registration technique with an   application to stereo vision, in: Proceedings of the 1981 DARPA Imaging
Understanding Workshop,  121–130 pp., 1981.
</mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>Lukach et al.(2017)Lukach, Foresti, Giot, and Delobbe</label><mixed-citation>
Lukach, M., Foresti, L., Giot, O., and Delobbe, L.: Estimating the occurrence
and severity of hail based on 10 years of observations from weather radar in
Belgium, Meteorol. Appl., 24, 250–259, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>Mandapaka et al.(2012)Mandapaka, Germann, Panziera, and
Hering</label><mixed-citation>
Mandapaka, P. V., Germann, U., Panziera, L., and Hering, A.: Can lagrangian
extrapolation of radar fields be used for precipitation nowcasting over
complex alpine orography?, Weather Forecast., 27, 28–49, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>Marzban and Sandgathe(2010)</label><mixed-citation>
Marzban, C. and Sandgathe, S.: Optical flow for verification, Weather Forecast.,  25, 1479–1494, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib59"><label>Mejsnar et al.(2018)Mejsnar, Sokol, and Minářová</label><mixed-citation>
Mejsnar, J., Sokol, Z., and Minářová, J.: Limits of precipitation nowcasting
by extrapolation of radar reflectivity for warm season in Central Europe,
Atmos. Res., 213, 288–301, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib60"><label>Met Office(2010–2015)</label><mixed-citation>
Met Office: Cartopy: a cartographic python library with a Matplotlib
interface, Exeter, Devon, available at: <a href="http://scitools.org.uk/cartopy" target="_blank">http://scitools.org.uk/cartopy</a>
(last access: 30 July 2019), 2010–2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib61"><label>Metta et al.(2009)Metta, von Hardenberg, Ferraris, Rebora, and
Provenzale</label><mixed-citation>
Metta, S., von Hardenberg, J., Ferraris, L., Rebora, N., and Provenzale, A.:
Precipitation nowcasting by a spectral-based nonlinear stochastic model, J.   Hydrometeorol., 10, 1285–1297, 2009.
</mixed-citation></ref-html>
<ref-html id="bib1.bib62"><label>Mittermaier and Roberts(2010)</label><mixed-citation>
Mittermaier, M. and Roberts, N.: Intercomparison of Spatial Forecast
Verification Methods: Identifying Skillful Spatial Scales Using the Fractions   Skill Score, Weather Forecast., 25, 343–354, 2010.
</mixed-citation></ref-html>
<ref-html id="bib1.bib63"><label>Nerini et al.(2017)Nerini, Besic, Sideris, Germann, and
Foresti</label><mixed-citation>
Nerini, D., Besic, N., Sideris, I., Germann, U., and Foresti, L.: A non-stationary stochastic ensemble generator for radar rainfall fields based on the short-space Fourier transform, Hydrol. Earth Syst. Sci., 21, 2777–2797, <a href="https://doi.org/10.5194/hess-21-2777-2017" target="_blank">https://doi.org/10.5194/hess-21-2777-2017</a>, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib64"><label>Nerini et al.(2019)Nerini, Foresti, Leuenberger, Robert, and
Germann</label><mixed-citation>
Nerini, D., Foresti, L., Leuenberger, D., Robert, S., and Germann, U.: A
reduced-space ensemble Kalman filter approach for flow-dependent integration   of radar extrapolation nowcasts and NWP precipitation ensembles, Mon. Weather   Rev., 147, 987–1006, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib65"><label>Paschalis et al.(2013)Paschalis, Molnar, Fatichi, and
Burlando</label><mixed-citation>
Paschalis, A., Molnar, P., Fatichi, S., and Burlando, P.: A stochastic model
for high-resolution space-time precipitation simulation, Water Resour. Res.,   49, 8400–8417, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib66"><label>Pegram and Clothier(2001)</label><mixed-citation>
Pegram, G. G. and Clothier, A. N.: High resolution space-time modelling of
rainfall: The “String of Beads” model, J. Hydrol., 241, 26–41, 2001.
</mixed-citation></ref-html>
<ref-html id="bib1.bib67"><label>Peleg et al.(2016)Peleg, Francesco, Fatichi, Paschalis, Molnar, and
Burlando</label><mixed-citation>
Peleg, N., Francesco, M., Fatichi, S., Paschalis, A., Molnar, P., and Burlando,   P.: Spatial variability of extreme rainfall at radar subpixel scale, J.   Hydrol., 556, 922–933, 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib68"><label>Peleg et al.(2017)Peleg, Fatichi, Paschalis, Molnar, and
Burlando</label><mixed-citation>
Peleg, N., Fatichi, S., Paschalis, A., Molnar, P., and Burlando, P.: An
advanced stochastic weather generator for simulating 2‐D high‐resolution
climate variables, J. Adv. Model. Earth Syst., 9, 1595–1627, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib69"><label>Pérez and Granger(2007)</label><mixed-citation>
Pérez, F. and Granger, B. E.: IPython: a System for Interactive Scientific   Computing, Comput. Sci. Eng., 9, 21–29, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib70"><label>Pierce et al.(2012)Pierce, Seed, Ballard, Simonin, and
Li</label><mixed-citation>
Pierce, C., Seed, A., Ballard, S., Simonin, D., and Li, Z.: Nowcasting, in:
Doppler Radar Observations – Weather Radar, Wind Profiler, Ionospheric Radar,
and Other Advanced Applications, edited by: Bech, J. and Chau, J. L.,
97–142 pp., InTech, 2012.
</mixed-citation></ref-html>
<ref-html id="bib1.bib71"><label>Pulkkinen et al.(2018)Pulkkinen, Chandrasekar, and
Harri</label><mixed-citation>
Pulkkinen, S., Chandrasekar, V., and Harri, A.-M.: Nowcasting of Precipitation
in the High-Resolution Dallas-Fort Worth (DFW) Urban Radar Remote
Sensing Network, IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens., 11,
2773–2787, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib72"><label>Pulkkinen et al.(2019)</label><mixed-citation>
Pulkkinen, S., Nerini, D., Perez Hortal, A., Velasco, C., and Foresti, L.: (2019, April 7), pySTEPS/pysteps: pysteps 1.0.0 (Version v1.0.0), Zenodo, <a href="https://doi.org/10.5281/zenodo.2631911" target="_blank">https://doi.org/10.5281/zenodo.2631911</a>, 2019.
</mixed-citation></ref-html>
<ref-html id="bib1.bib73"><label>Raut et al.(2018)Raut, Seed, Reeder, and Jakob</label><mixed-citation>
Raut, B., Seed, A., Reeder, M., and Jakob, C.: A multiplicative cascade model
for high-resolution space-time downscaling of rainfall, J. Geophys. Res.-Atmos., 123, 2050–2067, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib74"><label>Renzullo et al.(2017)Renzullo, Velasco-Forero, and
Seed</label><mixed-citation>
Renzullo, L., Velasco-Forero, C., and Seed, A.: Blending radar, NWP and
satellite data for real-time ensemble rainfall analysis: a scale-dependent
method, Tech. Rep. EP174236, CSIRO, <a href="https://doi.org/10.4225/08/594eb78c96025" target="_blank">https://doi.org/10.4225/08/594eb78c96025</a>, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib75"><label>Ruzanski et al.(2011)Ruzanski, Chandrasekar, and
Wang</label><mixed-citation>
Ruzanski, E., Chandrasekar, V., and Wang, Y.: The CASA Nowcasting System, J.   Atmos. Ocean. Technol., 28, 640–655, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib76"><label>Schertzer and Lovejoy(1987)</label><mixed-citation>
Schertzer, D. and Lovejoy, S.: Physical modeling and analysis of rain and
clouds by anisotropic scaling multiplicative processes, J. Geophys. Res.,
92, 9693–9714, 1987.
</mixed-citation></ref-html>
<ref-html id="bib1.bib77"><label>Scovell(2018)</label><mixed-citation>
Scovell, R.: Application of the wavelet transform for modelling
non-stationarity and local anisotropy in precipitation fields, in: 11th
International Workshop on Precipitation in Urban Areas, Pontresina,
Switzerland, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib78"><label>Seed et al.(1999)Seed, Shrikanthan, and Menabde</label><mixed-citation>
Seed, A., Shrikanthan, R., and Menabde, M.: A space and time model for design
storm rainfall, J. Geophys. Res., 104, 31623–31630, 1999.
</mixed-citation></ref-html>
<ref-html id="bib1.bib79"><label>Seed(2003)</label><mixed-citation>
Seed, A. W.: A Dynamic and Spatial Scaling Approach to Advection Forecasting,
J. Appl. Meteor., 42, 381–388, 2003.
</mixed-citation></ref-html>
<ref-html id="bib1.bib80"><label>Seed et al.(2013)Seed, Pierce, and Norman</label><mixed-citation>
Seed, A. W., Pierce, C. E., and Norman, K.: Formulation and evaluation of a
scale decomposition-based stochastic precipitation nowcast scheme, Water
Resour. Res., 49, 6624–6641, 2013.
</mixed-citation></ref-html>
<ref-html id="bib1.bib81"><label>Sideris et al.(2018)Sideris, Foresti, Germann, and
Nerini</label><mixed-citation>
Sideris, I. V., Foresti, L., Germann, U., and Nerini, D.: Nowprecip: an
algorithm for localized probabilistic precipitation nowcasting in the complex   terrain of Switzerland, in: Proceedings of the 10th  European Conference   on Radar in Meteorology and Hydrology (ERAD), Ede-Wageningen, The   Netherlands, 2018.
</mixed-citation></ref-html>
<ref-html id="bib1.bib82"><label>Simonin et al.(2017)Simonin, Pierce, Roberts, Ballard, and
Li</label><mixed-citation>
Simonin, D., Pierce, C., Roberts, N., Ballard, S., and Li, Z.: Performance of
Met Office hourly cycling NWP-based nowcasting for precipitation forecasts,
Q. J. Roy. Meteorol. Soc., 143, 2862–2873, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib83"><label>Sun et al.(2014)Sun, Xue, Wilson, Zawadzki, Ballard,
Onvlee-Hooimeyer, Joe, Barker, Li, Golding, Xu, and Pinto</label><mixed-citation>
Sun, J., Xue, M., Wilson, J. W., Zawadzki, I., Ballard, S. P.,
Onvlee-Hooimeyer, J., Joe, P., Barker, D. M., Li, P.-W., Golding, B., Xu, M.,   and Pinto, J.: Use of NWP for Nowcasting Convective Precipitation: Recent   Progress and Challenges, B. Am. Meteorol. Soc., 95, 409–426, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib84"><label>Surcel et al.(2014)Surcel, Zawadzki, and Yau</label><mixed-citation>
Surcel, M., Zawadzki, I., and Yau, M.: On the filtering properties of ensemble
averaging for storm-scale precipitation forecasts, Mon. Weather Rev., 142,
1093–1105, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib85"><label>Tabary(2007)</label><mixed-citation>
Tabary, P.: The new French operational radar rainfall product, Part I:
Methodology, Weather Forecast., 22, 393–408, 2007.
</mixed-citation></ref-html>
<ref-html id="bib1.bib86"><label>Thorndahl et al.(2017)Thorndahl, Einfalt, Willems, Nielsen, ten
Veldhuis, Arnbjerg-Nielsen, Rasmussen, and Molnar</label><mixed-citation>
Thorndahl, S., Einfalt, T., Willems, P., Nielsen, J. E., ten Veldhuis, M.-C., Arnbjerg-Nielsen, K., Rasmussen, M. R., and Molnar, P.: Weather radar rainfall data in urban hydrology, Hydrol. Earth Syst. Sci., 21, 1359–1380, <a href="https://doi.org/10.5194/hess-21-1359-2017" target="_blank">https://doi.org/10.5194/hess-21-1359-2017</a>, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib87"><label>Tippett et al.(2014)Tippett, DelSole, and Barnston</label><mixed-citation>
Tippett, M. K., DelSole, T., and Barnston, A. G.: Reliability of
Regression-Corrected Climate Forecasts, J. Climate, 27, 3393–3404, 2014.
</mixed-citation></ref-html>
<ref-html id="bib1.bib88"><label>Toth and Kalnay(1997)</label><mixed-citation>
Toth, Z. and Kalnay, E.: Ensemble forecasting at NCEP and the breeding
method, Mon. Weather Rev., 125, 3297–3319, 1997.
</mixed-citation></ref-html>
<ref-html id="bib1.bib89"><label>Turner et al.(2004)Turner, Zawadzki, and Germann</label><mixed-citation>
Turner, B. J., Zawadzki, I., and Germann, U.: Predictability of Precipitation
from Continental Radar Images, Part III: Operational Nowcasting
Implementation (MAPLE), J. Appl. Meteorol., 43, 231–248, 2004.
</mixed-citation></ref-html>
<ref-html id="bib1.bib90"><label>Van Der Walt et al.(2011)Van Der Walt, Colbert, and
Varoquaux</label><mixed-citation>
Van Der Walt, S., Colbert, S. C., and Varoquaux, G.: The NumPy Array: A
Structure for Efficient Numerical Computation, Comput. Sci. Eng., 13, 22–30,   <a href="https://doi.org/10.1109/MCSE.2011.37" target="_blank">https://doi.org/10.1109/MCSE.2011.37</a>, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib91"><label>Venugopal et al.(1999)Venugopal, Foufoula-Georgiou, and
Sapozhnikov</label><mixed-citation>
Venugopal, V., Foufoula-Georgiou, E., and Sapozhnikov, V.: Evidence of dynamic
scaling in space-time rainfall, J. Geophys. Res.-Atmos., 104,
31599–31610, 1999.
</mixed-citation></ref-html>
<ref-html id="bib1.bib92"><label>Wang et al.(2015)Wang, Ochoa-Rodriguez, Van Assel, Pina, Pessemier,
Kroll, Willems, and Onof</label><mixed-citation>
Wang, L.-P., Ochoa-Rodriguez, S., Van Assel, J., Pina, R., Pessemier, M.,
Kroll, S., Willems, P., and Onof, C.: Enhancement of radar rainfall estimates   for urban hydrology through optical flow temporal interpolation and Bayesian   gauge-based adjustment, J. Hydrol., 531, 408–426, 2015.
</mixed-citation></ref-html>
<ref-html id="bib1.bib93"><label>Wang et al.(2017)Wang, Coning, Harou, Jacobs, Joe, Nikitina, Roberts,   Wang, and Wilson</label><mixed-citation>
Wang, Y., Coning, E. D., Harou, A., Jacobs, W., Joe, P., Nikitina, L., Roberts, R., Wang, J., and Wilson, J.: Guidelines for nowcasting techniques, available at: <a href="https://library.wmo.int/opac/doc_num.php?explnum_id=3795" target="_blank">https://library.wmo.int/opac/doc_num.php?explnum_id=3795</a> (last access: 23 September 2019),
2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib94"><label>Wong et al.(2016)Wong, Cheng, and Woo</label><mixed-citation>
Wong, W.-K., Cheng, V. T.-L., and Woo, W.-C.: Community SWIRLS Nowcasting
System (Com-SWIRLS), in: WMO WWRP 4th International Symposium on Nowcasting
and Very-short-range Forecast (WSN16), p. 113,
available at: <a href="http://wsn16.hk/doc/wsn16-abstract-book.pdf" target="_blank">http://wsn16.hk/doc/wsn16-abstract-book.pdf</a> (last access: 23 September 2019), 2016.
</mixed-citation></ref-html>
<ref-html id="bib1.bib95"><label>Woo and Wong(2017)</label><mixed-citation>
Woo, W.-C. and Wong, W.-K.: Operational application of optical flow techniques   to radar-based rainfall nowcasting, Atmosphere, 8, 48, 2017.
</mixed-citation></ref-html>
<ref-html id="bib1.bib96"><label>Xingjian et al.(2015)Xingjian, Chen, Wang, Yeung, Wong, and
Woo</label><mixed-citation>
Xingjian, S., Chen, Z., Wang, H., Yeung, D., Wong, W., and Woo, W.:
Convolutional LSTM network: A machine learning approach for precipitation
nowcasting, in: Neural Information Processing Systems 28, edited by: Cortes,   C., Lawrence, N. D., Lee, D. D., Sugiyama, M., and Garnett, R., 802–810 pp.,   Curran Associates, Inc., 2015.

</mixed-citation></ref-html>
<ref-html id="bib1.bib97"><label>Zappa et al.(2011)Zappa, Simon, Germann, Walser, and
Fundel</label><mixed-citation>
Zappa, M., Simon, J., Germann, U., Walser, A., and Fundel, F.: Superposition
of three sources of uncertainties in operational flood forecasting chains,
Atmos. Res., 100, 246–262, 2011.
</mixed-citation></ref-html>
<ref-html id="bib1.bib98"><label>Zawadzki et al.(1994)Zawadzki, Morneau, and Laprise</label><mixed-citation>
Zawadzki, I., Morneau, J., and Laprise, R.: Predictability of Precipitation
Patterns: An Operational Approach, J. Appl. Meteor., 33, 1562–1571, 1994.
</mixed-citation></ref-html>
<ref-html id="bib1.bib99"><label>Zeder et al.(2018)Zeder, Hamann, Nerini, Foresti, Clementi, Hering,
and Germann</label><mixed-citation>
Zeder, J., Hamann, U., Nerini, D., Foresti, L., Clementi, L., Hering, A., and
Germann, U.: Comparison of thunderstorm characteristics as seen by SEVIRI
and radar regarding lightning and hail initiation, in: EUMETSAT conference,   Tallinn, Estonia, 2018.
</mixed-citation></ref-html>--></article>
