<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing with OASIS Tables v3.0 20080202//EN" "https://jats.nlm.nih.gov/nlm-dtd/publishing/3.0/journalpub-oasis3.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:oasis="http://docs.oasis-open.org/ns/oasis-exchange/table" xml:lang="en" dtd-version="3.0" article-type="research-article">
  <front>
    <journal-meta><journal-id journal-id-type="publisher">AMT</journal-id><journal-title-group>
    <journal-title>Atmospheric Measurement Techniques</journal-title>
    <abbrev-journal-title abbrev-type="publisher">AMT</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Atmos. Meas. Tech.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1867-8548</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/amt-18-3747-2025</article-id><title-group><article-title>Hourly surface nitrogen dioxide retrieval from GEMS tropospheric vertical column densities: benefit of using time-contiguous input features for machine learning models</article-title><alt-title>Hourly surface NO<sub>2</sub> retrieval from time-contiguous features</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Gödeke</surname><given-names>Janek</given-names></name>
          <email>janek-goedeke@uni-bremen.de</email>
        <ext-link>https://orcid.org/0000-0002-4633-6963</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Richter</surname><given-names>Andreas</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-3339-212X</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Lange</surname><given-names>Kezia</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-4435-3839</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Maaß</surname><given-names>Peter</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Hong</surname><given-names>Hyunkee</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff4">
          <name><surname>Lee</surname><given-names>Hanlim</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff4">
          <name><surname>Park</surname><given-names>Junsung</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-5343-4246</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Center for Industrial Mathematics, University of Bremen, Bremen, Germany</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Institute of Environmental Physics, University of Bremen, Bremen, Germany</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Environmental Satellite Center, National Institute of Environmental Research, Incheon, Republic of Korea</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>Division of Earth Environmental System Science, Major of Spatial Information Engineering, Pukyong National University, Busan, Republic of Korea</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Janek Gödeke (janek-goedeke@uni-bremen.de)</corresp></author-notes><pub-date><day>11</day><month>August</month><year>2025</year></pub-date>
      
      <volume>18</volume>
      <issue>15</issue>
      <fpage>3747</fpage><lpage>3779</lpage>
      <history>
        <date date-type="received"><day>9</day><month>October</month><year>2024</year></date>
           <date date-type="rev-request"><day>4</day><month>November</month><year>2024</year></date>
           <date date-type="rev-recd"><day>9</day><month>April</month><year>2025</year></date>
           <date date-type="accepted"><day>22</day><month>May</month><year>2025</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2025 Janek Gödeke et al.</copyright-statement>
        <copyright-year>2025</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://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025.html">This article is available from https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025.html</self-uri><self-uri xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025.pdf">The full text article is available as a PDF file from https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e164">Launched in 2020, the Korean Geostationary Environmental Monitoring Spectrometer (GEMS) is the first geostationary satellite mission for observing trace gas concentrations in the Earth's atmosphere. Observations are made over Asia. Geostationary orbits allow for hourly measurements, which lead to a much higher temporal resolution compared to daily measurements taken from low-Earth orbits, such as by the TROPOspheric Monitoring Instrument (TROPOMI) or the Ozone Monitoring Instrument (OMI). This work estimates the hourly concentration of surface nitrogen dioxide (<inline-formula><mml:math id="M2" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) from GEMS tropospheric <inline-formula><mml:math id="M3" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> vertical column densities (VCDs) and additional meteorological features, which serve as inputs for random forests and linear regression models. With several measurements per day, machine learning models can use not only current observations but also those from previous hours as inputs. We demonstrate that using these time-contiguous inputs leads to reliable improvements regarding all considered performance measures, such as Pearson correlation or mean square error. For random forests, the average performance gains are between 4.5 % and 7.5 %, depending on the performance measure. For linear regression models, average performance gains are between 7 % and 15 %. For performance evaluation, spatial cross-validation with surface in situ measurements is used to measure how well the trained models perform at locations where they have not received any training data. In other words, we inspect the models' ability to generalize to unseen locations. Additionally, we investigate the influence of tropospheric <inline-formula><mml:math id="M4" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs on the performance. The region of our study is South Korea.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>Deutsches Zentrum für Luft- und Raumfahrt</funding-source>
<award-id>50EE2204</award-id>
</award-group>
<award-group id="gs2">
<funding-source>National Institute of Environmental Research</funding-source>
<award-id>NIER-2022-04-02-037</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e209">The concentration of nitrogen dioxide (<inline-formula><mml:math id="M5" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) near the Earth's surface is of significant interest for several reasons. <inline-formula><mml:math id="M6" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is not only a precursor to  health hazard and air pollutant ozone, but also a direct threat to human health. Moreover, it is linked to environmental issues such as acid rain; see, e.g., <xref ref-type="bibr" rid="bib1.bibx21" id="text.1"/>.</p>
      <p id="d2e237">At present, surface <inline-formula><mml:math id="M7" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is measured by networks of ground-based in situ monitoring stations. However, due to the limited number of such stations, they cannot provide global information about the surface  <inline-formula><mml:math id="M8" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> concentration. This limitation is one of the reasons why satellite remote sensing has become popular for deriving global estimates of surface <inline-formula><mml:math id="M9" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Satellites detect the fingerprint of <inline-formula><mml:math id="M10" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> within the backscattered solar radiation due to its strong absorption of light in the wavelength range of 350–500 nm. One of the first studies on deriving surface <inline-formula><mml:math id="M11" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> from remote sensing observations was conducted by <xref ref-type="bibr" rid="bib1.bibx28" id="text.2"/> across the USA and Canada. In their study, surface <inline-formula><mml:math id="M12" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> was estimated by applying an assumed <inline-formula><mml:math id="M13" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> vertical distribution calculated with a chemical transport model to tropospheric <inline-formula><mml:math id="M14" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> vertical column densities (VCDs), where the tropospheric <inline-formula><mml:math id="M15" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs were obtained from the Ozone Monitoring Instrument (OMI; <xref ref-type="bibr" rid="bib1.bibx33" id="altparen.3"/>). Numerous further studies followed, also utilizing chemical transport models and observations from satellites in low-Earth orbits. For example, we refer to the studies of <xref ref-type="bibr" rid="bib1.bibx29 bib1.bibx30" id="text.4"/>, <xref ref-type="bibr" rid="bib1.bibx2" id="text.5"/>, <xref ref-type="bibr" rid="bib1.bibx46" id="text.6"/>, <xref ref-type="bibr" rid="bib1.bibx23" id="text.7"/>, <xref ref-type="bibr" rid="bib1.bibx15" id="text.8"/>, <xref ref-type="bibr" rid="bib1.bibx18" id="text.9"/>, and <xref ref-type="bibr" rid="bib1.bibx10 bib1.bibx9" id="text.10"/>. Both OMI data and other observations have been considered, e.g., from the Global Ozone Monitoring Experiment (GOME; <xref ref-type="bibr" rid="bib1.bibx6" id="altparen.11"/>), the Scanning Imaging Absorption Spectrometer for Atmospheric Chartography (SCIAMACHY; <xref ref-type="bibr" rid="bib1.bibx4" id="altparen.12"/>), and the TROPOspheric Monitoring Instrument (TROPOMI; <xref ref-type="bibr" rid="bib1.bibx45" id="altparen.13"/>).</p>
      <p id="d2e378">During the last 10 years, machine learning approaches have received increasing attention in determining surface <inline-formula><mml:math id="M16" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> from satellite remote sensing observations. One advantage is the shorter computation time once the model has been trained. Diverse machine learning models have been used for this task, exploiting not only tropospheric <inline-formula><mml:math id="M17" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs as input, but also additional input features to improve the model's performance, such as meteorological parameters, traffic density, or population information. Studies that consider observations from satellites in low-Earth orbits have been conducted  by, for example, <xref ref-type="bibr" rid="bib1.bibx24" id="text.14"/>, <xref ref-type="bibr" rid="bib1.bibx22" id="text.15"/>, <xref ref-type="bibr" rid="bib1.bibx12" id="text.16"/>, <xref ref-type="bibr" rid="bib1.bibx8" id="text.17"/>, <xref ref-type="bibr" rid="bib1.bibx13" id="text.18"/>, <xref ref-type="bibr" rid="bib1.bibx40" id="text.19"/>, <xref ref-type="bibr" rid="bib1.bibx26" id="text.20"/>, <xref ref-type="bibr" rid="bib1.bibx7" id="text.21"/>, <xref ref-type="bibr" rid="bib1.bibx14" id="text.22"/>, <xref ref-type="bibr" rid="bib1.bibx17" id="text.23"/>, <xref ref-type="bibr" rid="bib1.bibx34" id="text.24"/>, <xref ref-type="bibr" rid="bib1.bibx47" id="text.25"/>, <xref ref-type="bibr" rid="bib1.bibx20" id="text.26"/>, and <xref ref-type="bibr" rid="bib1.bibx42" id="text.27"/>. For a detailed review on the methods used, the input features included, the regions of consideration, and the achieved performance, we refer to the work of <xref ref-type="bibr" rid="bib1.bibx43" id="text.28"/>.</p>
      <p id="d2e450">Satellites in low-Earth orbits, such as OMI and TROPOMI, pass over the same region in middle and low latitudes once a day, which means they can provide at best one measurement per day and location. If the area is cloud-covered during the time of observation, the measurement of lower-tropospheric gases is not accurate, which makes the data coverage even more limited. Since satellites in low-Earth orbits provide observations at most once a day, most studies either predicted surface <inline-formula><mml:math id="M18" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at this specific satellite observation time (e.g., <xref ref-type="bibr" rid="bib1.bibx24" id="altparen.29"/>) or estimated daily (e.g., <xref ref-type="bibr" rid="bib1.bibx13" id="altparen.30"/>), monthly, or annual averages of surface <inline-formula><mml:math id="M19" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Nevertheless, it should be mentioned that there are a few studies that have estimated hourly <inline-formula><mml:math id="M20" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. As an example, <xref ref-type="bibr" rid="bib1.bibx26" id="text.31"/> linearly interpolated daily tropospheric <inline-formula><mml:math id="M21" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs to an hourly resolution, from which they estimated hourly surface <inline-formula><mml:math id="M22" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> concentrations over Switzerland and northern Italy.</p>
      <p id="d2e519">In contrast, geostationary satellites permanently observe – more or less – the same region, leading to more data points for a given location that can be used for a prediction algorithm of surface <inline-formula><mml:math id="M23" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. In particular, these larger datasets make machine learning approaches even more attractive. The first geostationary satellite instrument for observing trace gas concentrations in the Earth's atmosphere is the Geostationary Environmental Monitoring Spectrometer (GEMS; <xref ref-type="bibr" rid="bib1.bibx25" id="altparen.32"/>), which was launched in February 2020 by the Republic of Korea. It provides hourly measurements of radiances over 20 countries in Asia, including South Korea. Alongside GEMS, there exists only one other geostationary satellite that monitors trace gases, namely NASA's TEMPO, which was recently launched  in April 2023 and is observing North America. A third geostationary satellite, ESA's Sentinel-4 mission, was launched in 2025 and monitors Europe.</p>
      <p id="d2e536">Until now, only a few studies have been conducted on hourly surface <inline-formula><mml:math id="M24" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> retrieval from geostationary observations: <xref ref-type="bibr" rid="bib1.bibx51" id="text.33"/> presented a scientific GEMS <inline-formula><mml:math id="M25" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> product (POMINO-GEMS), which empirically corrects for overestimation and stripe artifacts in the operational GEMS <inline-formula><mml:math id="M26" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> product. They then converted their tropospheric <inline-formula><mml:math id="M27" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs of 2021 over China to hourly surface <inline-formula><mml:math id="M28" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> using a chemical transport model. Further studies that exploit machine learning approaches have been conducted over China. <xref ref-type="bibr" rid="bib1.bibx50" id="text.34"/> used a random forest regressor to predict hourly surface <inline-formula><mml:math id="M29" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> over China from GEMS radiance data at six wavelengths from the UV and visible bands, as well as some additional meteorological, temporal, and spatial features. Furthermore, a multi-output random forest was used to simultaneously predict five more air pollutants, such as ozone. Although prediction accuracy achieved by the multi-output model was slightly worse regarding surface <inline-formula><mml:math id="M30" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, the overall training time for predicting all six pollutant concentrations was smaller. <xref ref-type="bibr" rid="bib1.bibx1" id="text.35"/> combined two machine learning models. First, a random forest was used to predict <inline-formula><mml:math id="M31" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> mixing heights from meteorological input features. These were then fed into an extreme gradient boosting regressor, together with tropospheric <inline-formula><mml:math id="M32" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs from GEMS, temporal variables, and meteorological variables. The study demonstrates the benefit of using <inline-formula><mml:math id="M33" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> mixing height as  input.</p>
      <p id="d2e660">Hourly surface <inline-formula><mml:math id="M34" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> has also been predicted from GEMS observations over South Korea, the region considered in this study. In the work of <xref ref-type="bibr" rid="bib1.bibx32" id="text.36"/>, predictions were made for the whole year of 2022. Therein, the total amount of VCDs instead of tropospheric <inline-formula><mml:math id="M35" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs was used as the only input of a (linear) mixed-effect model to predict surface <inline-formula><mml:math id="M36" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Their model is a piecewise-defined function whose output depends not only on the total column of <inline-formula><mml:math id="M37" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, but also on the day and hour at which and region in which the prediction is to be made. For this, South Korea was divided into nine regions, which presumably leads to a  more direct region-wise relationship between surface <inline-formula><mml:math id="M38" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and column densities of <inline-formula><mml:math id="M39" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. In other words, implicitly, spatial and detailed temporal information is also exploited in their approach. This makes their model specialized to South Korea and the year 2022.</p>
      <p id="d2e733">Another study that predicted surface <inline-formula><mml:math id="M40" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> over South Korea was conducted by <xref ref-type="bibr" rid="bib1.bibx44" id="text.37"/>. Therein, daily surface <inline-formula><mml:math id="M41" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> concentrations instead of hourly surface <inline-formula><mml:math id="M42" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> were predicted. Further, they did not use <inline-formula><mml:math id="M43" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> column densities as input for a machine learning model. Instead, they inspected the influence of aerosol optical depth, which is part of the GEMS data products. Aerosol optical depth, together with surface <inline-formula><mml:math id="M44" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> predictions from a chemical transport model and other features such as meteorological parameters, served as inputs for a random forest to estimate surface <inline-formula><mml:math id="M45" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e806">In order to train and evaluate machine learning models of surface <inline-formula><mml:math id="M46" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, in situ <inline-formula><mml:math id="M47" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> observations from ground-based networks are used. Within the literature, there are two frequently used strategies to evaluate the performance of a machine learning model in predicting surface <inline-formula><mml:math id="M48" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. First, standard <inline-formula><mml:math id="M49" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold cross-validation is considered; see, for example, the works of <xref ref-type="bibr" rid="bib1.bibx17" id="text.38"/>, <xref ref-type="bibr" rid="bib1.bibx7" id="text.39"/>, <xref ref-type="bibr" rid="bib1.bibx50" id="text.40"/>, and <xref ref-type="bibr" rid="bib1.bibx1" id="text.41"/>. This means that the whole dataset is randomly split into <inline-formula><mml:math id="M50" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> equally sized subsets. One of them serves as the test set, whereas the other <inline-formula><mml:math id="M51" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M52" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> 1 values are used to train the model. Training and testing are repeated <inline-formula><mml:math id="M53" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> times, until each subset has served once as a test set. The average test performance (e.g., Pearson correlation) is calculated and represents the final evaluation of the model. For standard <inline-formula><mml:math id="M54" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold cross-validation, data from all available in situ stations are contained in both the training and the test datasets (with large probability). However, what if the trained model should afterwards predict surface <inline-formula><mml:math id="M55" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at a new location which has not contributed data to the training set? With the result from standard cross-validation, it would be impossible to say how reliable the model can generalize to this unseen location. It may have overfitted to the locations that it has dealt with during training. Therefore, if global charts covering large areas like the entirety of South Korea are desired, it would be more appropriate to evaluate the model's performance via so-called <italic>spatial k-fold cross-validation</italic>. This means the set of available in situ stations is divided into training and test stations, the model is trained with data from training stations only, and – finally – its performance in predicting surface <inline-formula><mml:math id="M56" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at the test stations is evaluated. Unsurprisingly, performance measured with spatial cross-validation is indeed worse compared to standard cross-validation, which has been observed, e.g., within the studies of <xref ref-type="bibr" rid="bib1.bibx17" id="text.42"/>, <xref ref-type="bibr" rid="bib1.bibx7" id="text.43"/>, <xref ref-type="bibr" rid="bib1.bibx50" id="text.44"/>, and <xref ref-type="bibr" rid="bib1.bibx44" id="text.45"/>. In our work we  focus on spatial <inline-formula><mml:math id="M57" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>-fold cross-validation, as we wish to inspect how well a model can generalize to unseen locations.</p>
<sec id="Ch1.S1.SS1">
  <label>1.1</label><title>Goals of this study</title>
      <p id="d2e950">Due to the hourly measurements GEMS provides over the same region, it is natural to ask whether one can benefit directly from the time resolution itself and not only from the resulting larger size of the dataset. Hence, we propose training a machine learning model <inline-formula><mml:math id="M58" display="inline"><mml:mi mathvariant="italic">φ</mml:mi></mml:math></inline-formula> that predicts surface <inline-formula><mml:math id="M59" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at a given location <inline-formula><mml:math id="M60" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> and time <inline-formula><mml:math id="M61" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> not only from corresponding tropospheric <inline-formula><mml:math id="M62" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCD and meteorological data at time <inline-formula><mml:math id="M63" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, but also from <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:mo>∈</mml:mo><mml:msub><mml:mi mathvariant="double-struck">N</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> previous hours (<inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="double-struck">N</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> denotes the set of natural numbers including zero). This means the model is a mapping <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>:</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>→</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M67" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> is the number of different features:

            <disp-formula id="Ch1.Ex1"><mml:math id="M68" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mtext>input</mml:mtext><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>:=</mml:mo><mml:mfenced close=")" open="("><mml:mtable class="matrix" columnalign="center" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mtext>tropospheric</mml:mtext><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow><mml:mtext>VCD</mml:mtext><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext>tropospheric</mml:mtext><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow><mml:mtext>VCD</mml:mtext><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext>meteorological features</mml:mtext><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mtext>meteorological features</mml:mtext><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>⟼</mml:mo><mml:mi mathvariant="italic">φ</mml:mi><mml:mo>(</mml:mo><mml:mtext>input</mml:mtext><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>)</mml:mo><mml:mo>≈</mml:mo><mml:mtext>surface</mml:mtext><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          Here <inline-formula><mml:math id="M69" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M70" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M71" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> refers to the time <inline-formula><mml:math id="M72" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> hours before <inline-formula><mml:math id="M73" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, where <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:mi>j</mml:mi><mml:mo>∈</mml:mo><mml:mfenced open="{" close="}"><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>. In all that follows, <inline-formula><mml:math id="M75" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> is also referred to as the <italic>time contiguity</italic> of the input features, as it determines how many times each input feature is included in the whole input vector. Note that <inline-formula><mml:math id="M76" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M77" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 stands for the case in which only input features at current time <inline-formula><mml:math id="M78" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> are included. Of course, one could also use features at later times <inline-formula><mml:math id="M79" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M80" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M81" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>, but for simplicity and better readability, we focus on making predictions based on previous-time features in this work.</p>
      <p id="d2e1384">Our main aim is to inspect whether  the performance of the model in predicting surface <inline-formula><mml:math id="M82" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at unseen locations will increase by using inputs with higher time contiguity <inline-formula><mml:math id="M83" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Unseen locations are locations from which the model has not seen any training data. As it turns out, it is indeed beneficial to use larger time contiguity <inline-formula><mml:math id="M84" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> for the machine learning models considered, namely random forests and linear regressors. To the best of our knowledge, this observation has not been made in the literature yet. Regarding work on non-geostationary satellite data, the usage of time-contiguous tropospheric <inline-formula><mml:math id="M85" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs is simply impossible, as only single measurements per day are available. We further carefully design experiments that are suitable for answering our main research question about the benefit of time-contiguous inputs. Last but not least, we inspect the influence of tropospheric <inline-formula><mml:math id="M86" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs on the models' ability to predict surface <inline-formula><mml:math id="M87" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and their influence on the benefit of using time-contiguous inputs. This is of interest as it addresses the question of how useful and necessary satellite observations of <inline-formula><mml:math id="M88" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are for the prediction of surface <inline-formula><mml:math id="M89" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> concentrations.</p>
</sec>
<sec id="Ch1.S1.SS2">
  <label>1.2</label><title>Outline</title>
      <p id="d2e1482">In Sect. <xref ref-type="sec" rid="Ch1.S2"/> we describe the different sources of data included in our study. Furthermore, we describe the construction of the datasets used for training machine learning models in our study and give a mathematical description of these datasets. Afterwards, in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/> we describe  the experiments that provide  clear insights into the research questions, e.g., whether time-contiguous inputs can enhance the quality of surface <inline-formula><mml:math id="M90" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> predictions. We also discuss different loss functions for measuring the performance of trained models on the test dataset. Section <xref ref-type="sec" rid="Ch1.S4"/> serves as a quick recap of the machine learning models used in this study. Finally, we present and discuss the results of our experiments in Sect. <xref ref-type="sec" rid="Ch1.S5"/>.</p>
</sec>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Data</title>
      <p id="d2e1513">In our study, we exploit two data sources for the prediction of surface <inline-formula><mml:math id="M91" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. The first source is tropospheric <inline-formula><mml:math id="M92" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs derived from GEMS measurements, and the second is meteorological data from the ERA5 dataset <xref ref-type="bibr" rid="bib1.bibx19" id="paren.46"/>. Further, measurements of surface <inline-formula><mml:math id="M93" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at in situ stations from the air quality network of South Korea serve as the ground truth in this study. This section begins with a brief description of these data sources, followed by a description of the data preprocessing steps. In particular, we explain how the VCDs were paired with ERA5 and in situ data and how time-contiguous datasets were constructed. For clarity, we provide mathematical definitions of these time-contiguous datasets.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Data sources</title>
<sec id="Ch1.S2.SS1.SSS1">
  <label>2.1.1</label><title>GEMS tropospheric NO<sub>2</sub> vertical column densities</title>
      <p id="d2e1576">GEMS is a UV–visible imaging spectrometer on board the geostationary satellite GK2B. At its launch on 18 February 2020, GEMS was the first geostationary air quality monitoring mission. GEMS is located over the Equator at a longitude of 128.2° E and covers a large part of Asia (5° S–45° N and 75–145° E) on an hourly basis. With four different scan modes, which all include South Korea, the field of regard (FOR) shifts westward with the Sun. During daytime, GEMS provides up to 10 observations over a given location according to the season and location, with a spatial resolution at Seoul of 3.5 km <inline-formula><mml:math id="M95" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 8 km. The GEMS irradiance and radiance measurements in the UV–visible spectral range can be used to derive column amounts of, for example, ozone (<inline-formula><mml:math id="M96" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">O</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>), sulfur dioxide (<inline-formula><mml:math id="M97" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">SO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>), and <inline-formula><mml:math id="M98" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, but also cloud and aerosol information <xref ref-type="bibr" rid="bib1.bibx25" id="paren.47"/>. For this study, we use the tropospheric <inline-formula><mml:math id="M99" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCD product.</p>
      <p id="d2e1634">During the time of this study, the operational GEMS L2 tropospheric <inline-formula><mml:math id="M100" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCD product was available in v2. This version was evaluated by, e.g., <xref ref-type="bibr" rid="bib1.bibx36" id="text.48"/> and <xref ref-type="bibr" rid="bib1.bibx31" id="text.49"/>, showing that it is high biased compared to the TROPOMI tropospheric <inline-formula><mml:math id="M101" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCD product and ground-based tropospheric <inline-formula><mml:math id="M102" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCD datasets. Additionally, the v2 product showed enhanced scatter. In preparation for the European geostationary instrument on Sentinel-4, the Institute of Environmental Physics at the University of Bremen (IUP-UB) has developed a scientific GEMS <inline-formula><mml:math id="M103" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> product. The GEMS IUP-UB tropospheric <inline-formula><mml:math id="M104" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCD v1.0 product was evaluated by <xref ref-type="bibr" rid="bib1.bibx31" id="text.50"/>, showing good agreement with the operational TROPOMI <inline-formula><mml:math id="M105" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> data and ground-based observations. Here, an earlier version (v0.9) of the same data product was used. Briefly, the retrieval is based on a differential optical absorption spectroscopy fit in the 405–485 nm spectral window, using daily GEMS irradiances as background spectra. The stratospheric correction is based on a variant of the STREAM algorithm of <xref ref-type="bibr" rid="bib1.bibx3" id="text.51"/>, and tropospheric vertical columns are computed using air mass factors by applying the tropospheric <inline-formula><mml:math id="M106" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>  profiles from the TM5 model run performed for the operational TROPOMI product <xref ref-type="bibr" rid="bib1.bibx48" id="paren.52"/>. The TM5 model has an hourly temporal resolution with a spatial resolution of 1° <inline-formula><mml:math id="M107" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 1°. As the model a priori is interpolated in space and time, no obvious structures from the coarse model resolution are visible in the data, but the lack of detail may still impact the results. Cloud screening is based on the operational GEMS cloud product v2 and a threshold of 50 % cloud radiance fraction, but no additional cloud correction is performed. Each pixel has a quality indicator (<inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:math></inline-formula> value) based on fitting residuals, cloud fraction, and surface properties. Here, only data with the highest <inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:math></inline-formula> value (good fits, cloud radiance fraction below 50 %, no snow or ice detected) are used.</p>
      <p id="d2e1758">Further, the GEMS IUP-UB product does not yet have full error propagation. The tropospheric <inline-formula><mml:math id="M110" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCD error is therefore estimated to be 25 %. The main uncertainty results from the assumptions used in the calculation of air mass factors, in particular for surface reflectivity, the <inline-formula><mml:math id="M111" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> vertical profile, and aerosol loading. Uncertainties are expected to be larger in the morning when the boundary layer is shallow and smaller around noon and in the evening. Uncertainties introduced by the stratospheric correction can be important over clean regions but can be neglected over pollution hotspots.</p>
</sec>
<sec id="Ch1.S2.SS1.SSS2">
  <label>2.1.2</label><title>Meteorological data</title>
      <p id="d2e1791">In order to predict surface <inline-formula><mml:math id="M112" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, it would not be sufficient to use tropospheric <inline-formula><mml:math id="M113" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs as the only source of information. This is because VCDs represent integrals over the entire troposphere, capturing contributions from <inline-formula><mml:math id="M114" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at various altitudes, not just near the surface. A common strategy is to incorporate additional meteorological features into the prediction of surface <inline-formula><mml:math id="M115" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>; see for example the works of <xref ref-type="bibr" rid="bib1.bibx13" id="text.53"/>, <xref ref-type="bibr" rid="bib1.bibx40" id="text.54"/>, <xref ref-type="bibr" rid="bib1.bibx17" id="text.55"/>, <xref ref-type="bibr" rid="bib1.bibx7" id="text.56"/>, <xref ref-type="bibr" rid="bib1.bibx34" id="text.57"/>, and <xref ref-type="bibr" rid="bib1.bibx50" id="text.58"/>. In our study, we utilize meteorological features from the ERA5 dataset, the fifth-generation reanalysis by the European Centre for Medium-Range Weather Forecasts (ECMWF), which provides comprehensive global climate and weather data for the past 8 decades <xref ref-type="bibr" rid="bib1.bibx19" id="paren.59"/>.</p>
      <p id="d2e1860">Our selection of meteorological features is partially inspired by the choices made in the aforementioned studies, including variables such as boundary layer height, wind components, surface temperature, or pressure. The 18 features from ERA5 that are considered in this study are listed in Table <xref ref-type="table" rid="TB1"/>, where we use the same nomenclature as in the description of the ERA5 dataset; see again <xref ref-type="bibr" rid="bib1.bibx19" id="text.60"/>. In the geographical reference system, the resolution of all meteorological features is 0.25° <inline-formula><mml:math id="M116" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 0.25°, which corresponds to approximately 28 km <inline-formula><mml:math id="M117" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 22 km over South Korea. Consequently, ERA5 data are approximately 8 times coarser in latitude and 3 times coarser in longitude than the GEMS tropospheric <inline-formula><mml:math id="M118" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs.</p>
</sec>
<sec id="Ch1.S2.SS1.SSS3">
  <label>2.1.3</label><title>In situ measurements of surface NO<sub>2</sub></title>
      <p id="d2e1910">In this study, we use in situ surface <inline-formula><mml:math id="M120" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> measurements from the air quality network AirKorea as the ground truth, provided by the Korean Ministry of Environment <xref ref-type="bibr" rid="bib1.bibx35" id="paren.61"/>. There is a large number of in situ stations in South Korea that, among other air-pollution-related species, measure surface <inline-formula><mml:math id="M121" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. We  used data from 637 stations, which are depicted in Fig. <xref ref-type="fig" rid="F1"/>a. The instruments utilize the chemiluminescence method, as described by <xref ref-type="bibr" rid="bib1.bibx27" id="text.62"/>. Our in situ dataset includes measurements from January 2021 until the end of November 2022, and we received the data in December 2022.</p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e1945"><bold>(a)</bold> Map with the 637 in situ stations from the air quality network of South Korea used in this study. <bold>(b)</bold> An exemplary split into 90 % training stations and 10 % test stations, considered during multiple 10-fold spatial cross-validations.</p></caption>
            <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f01.png"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Pairing of data sources and data preprocessing</title>
      <p id="d2e1968">In the following, we explain the spatial and temporal pairing of the data sources. Tropospheric <inline-formula><mml:math id="M122" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs and meteorological data possess spatial resolutions, as described in the previous section. Consequently, each data point covers an area (pixel) on the Earth's surface, rather than a single point. Here, we associated the location of an in situ station with the VCD pixel or meteorological pixel, whose center is nearest to the station's location (longitude, latitude). Note that the center of a VCD pixel coincides with the respective center of the GEMS satellite pixel, since no regridding is applied.</p>
      <p id="d2e1982">Tropospheric <inline-formula><mml:math id="M123" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs are based on GEMS observations that have been collected within 30 min starting at a quarter to the respective hour, e.g., from 01:45 to 02:15 UTC. In situ measurements of surface <inline-formula><mml:math id="M124" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are available as hourly averages, starting on the hour. Temporally, we matched them with the VCDs using this timestamp and found that these data pairs showed the highest Pearson correlation. For example, VCDs between 01:45 and 02:15 UTC were matched with in situ measurements with a timestamp of 01:00 UTC. Unfortunately, at the end of our project, we learned that this was a misinterpretation of the in situ measuring times by 1 h, as the hourly averages actually start at the hour before the given timestamp instead of at the hour of the timestamp, as we had assumed. This means that the VCDs and surface <inline-formula><mml:math id="M125" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> were not optimally matched within our experiments. However, the abovementioned correlation tests give us confidence that the conclusions of this study are not affected by this mistake, in particular with respect to the improvements in performance when adding data from other measurement times. To maintain consistency in notation, we continue to use the originally interpreted in situ measuring times, but they should be regarded as occurring 1 h earlier. Most meteorological features are given on the hour, which means at a specific point in time. There is one exception, namely evaporation, which is available as an hourly average starting on the hour, similar to in situ measurements. Since the averages of these data sources are taken over different periods of time, there is not a unique way to pair them temporally. Our approach is the following.</p>
      <p id="d2e2018">Due to the hourly resolution of all data sources, time <inline-formula><mml:math id="M126" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> is expressed by <inline-formula><mml:math id="M127" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M128" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> YYYY/MM/DD/HH throughout this work. For example, <inline-formula><mml:math id="M129" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M130" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 2021/01/23/01 refers to 23 January 2021 at 01:00 UTC. We associate the in situ measurements of surface <inline-formula><mml:math id="M131" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, which  started at time <inline-formula><mml:math id="M132" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> and went on for 1 h, with <inline-formula><mml:math id="M133" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. In the example, time <inline-formula><mml:math id="M134" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M135" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 2021/01/23/01 refers to surface <inline-formula><mml:math id="M136" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> that has been averaged from 01:00 UTC until 02:00 UTC. Regarding tropospheric <inline-formula><mml:math id="M137" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs, the same <inline-formula><mml:math id="M138" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> refers to measurements that started 45 min later. Hence, <inline-formula><mml:math id="M139" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M140" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 2021/01/23/01 describes the VCDs at a time between 01:45 and 02:15 UTC. Finally, for the meteorological features that are instantaneously on the hour, <inline-formula><mml:math id="M141" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> stands for the feature's value 1 h later at <inline-formula><mml:math id="M142" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M143" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> 1. Thereby, it is closest to the corresponding VCD time frame. For example, <inline-formula><mml:math id="M144" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M145" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 2021/01/23/01 is associated with the meteorological feature at 02:00 UTC.</p>
      <p id="d2e2176">To sum up, given a location <inline-formula><mml:math id="M146" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> of an in situ station and a time <inline-formula><mml:math id="M147" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M148" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> YYYY/MM/DD/HH, we  specified a single data point <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:mo mathsize="1.5em">(</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo mathsize="1.5em">)</mml:mo></mml:mrow></mml:math></inline-formula> that stores surface <inline-formula><mml:math id="M150" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M151" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> combined with the vector of input features <inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, which consists of tropospheric <inline-formula><mml:math id="M153" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs and meteorological features. As a data preprocessing step, we exclude data points that violate any of the following conditions: <list list-type="custom"><list-item><label>1.</label>
      <p id="d2e2298">All features are available at location <inline-formula><mml:math id="M154" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> and time <inline-formula><mml:math id="M155" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> (tropospheric <inline-formula><mml:math id="M156" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs and surface <inline-formula><mml:math id="M157" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> might be missing for a given <inline-formula><mml:math id="M158" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:math></inline-formula>, for example, due to clouds).</p></list-item><list-item><label>2.</label>
      <p id="d2e2350">Tropospheric <inline-formula><mml:math id="M159" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs are non-negative. Negative VCDs can occur as a result of measurement noise in the satellite data or uncertainties in the stratospheric correction. We excluded them in an effort to improve the quality of the dataset. However, toward the end of the project, we tested the effect of this filter on a subset of the dataset and found only very small changes. This is probably due to the fact that applying this filter only leads to a reduction in the dataset by less than 0.5 %. Since negative VCDs are usually found over regions with low tropospheric <inline-formula><mml:math id="M160" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs, the filter leads to a loss of the input variable and thus a loss of predictions for these regions. In retrospect, we can conclude that the implementation of this filter was not necessary, as it only had little influence on our dataset and can thus be neglected in future work. Regarding the random forests used in this study, which are trained on non-negative VCDs only, they are still able to make reasonable but potentially biased predictions over clean regions with negative VCDs as inputs. In this case, the random forests would treat negative VCDs as being zero. In contrast to the VCDs, the in situ measurements of surface <inline-formula><mml:math id="M161" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are never negative.</p></list-item><list-item><label>3.</label>
      <p id="d2e2387">The GEMS <inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:math></inline-formula> value is equal to 1. Therefore, the trained models presumably cannot make reliable predictions for scenarios where the <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:math></inline-formula> value is smaller than 1. It would be an interesting future direction to examine the effects of lowering the threshold for the <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:math></inline-formula> value. This would result in a larger but more complex dataset.</p></list-item></list> Data points <inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:mo mathsize="1.5em">(</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo mathsize="1.5em">)</mml:mo></mml:mrow></mml:math></inline-formula> that fulfill these conditions are collected within the so-called <italic>data basis</italic>. A data point in the data basis is not time contiguous, as it only provides information at a single time <inline-formula><mml:math id="M166" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> and not at previous hours. The construction of time-contiguous datasets is described in the next section.</p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Description of time-contiguous datasets</title>
      <p id="d2e2477">In the Introduction, we motivate the use of time-contiguous inputs for machine learning models in order to predict surface <inline-formula><mml:math id="M167" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. For better clarity, we introduce notations and definitions in a mathematical form.</p>
<sec id="Ch1.S2.SS3.SSS1">
  <label>2.3.1</label><title>Spatial and temporal coordinates</title>
      <p id="d2e2498"><inline-formula><mml:math id="M168" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> is the set of positions (longitude, latitude) on the Earth's surface in terms of longitude and latitude. Hence, it can be seen as the Cartesian product <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">180</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">180</mml:mn><mml:mo>)</mml:mo><mml:mo>×</mml:mo><mml:mo>[</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">90</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">90</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. In this study, we deal with in situ stations in South Korea which are located within <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:mn mathvariant="normal">124</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">131</mml:mn><mml:mo>)</mml:mo><mml:mo>×</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">33</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">39</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>; see Fig. <xref ref-type="fig" rid="F1"/>a. These stations are simply identified with their location <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>∈</mml:mo><mml:mi>Z</mml:mi></mml:mrow></mml:math></inline-formula> in what follows.</p>
      <p id="d2e2582"><inline-formula><mml:math id="M172" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> is the set of all measuring times YYYY/MM/DD/HH between January 2021 and November 2022. For example, 2021/01/23/01 refers to 23 January 2021 at 01:00 UTC. Note that for a given <inline-formula><mml:math id="M173" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M174" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M175" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>, the expression <inline-formula><mml:math id="M176" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M177" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M178" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> for <inline-formula><mml:math id="M179" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M180" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M181" display="inline"><mml:mi mathvariant="double-struck">N</mml:mi></mml:math></inline-formula> stands for the time <inline-formula><mml:math id="M182" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> hours before <inline-formula><mml:math id="M183" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. For example, for <inline-formula><mml:math id="M184" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M185" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 2021/01/23/01 and <inline-formula><mml:math id="M186" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M187" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 3, it is <inline-formula><mml:math id="M188" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M189" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M190" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M191" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 2021/01/22/22.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS2">
  <label>2.3.2</label><title>Surface NO<sub>2</sub> and input features</title>
      <p id="d2e2745">Recall from the previous section that surface <inline-formula><mml:math id="M193" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> measured at time <inline-formula><mml:math id="M194" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M195" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M196" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> and at in situ station <inline-formula><mml:math id="M197" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M198" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M199" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> is denoted by <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. As already mentioned, surface <inline-formula><mml:math id="M201" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is to be predicted from the tropospheric <inline-formula><mml:math id="M202" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCD and meteorological variables such as the boundary layer height. These input features at <inline-formula><mml:math id="M203" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M204" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M205" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M206" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M207" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M208" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> are denoted by <inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M210" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M211" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M212" display="inline"><mml:mi mathvariant="double-struck">N</mml:mi></mml:math></inline-formula> is the number of considered features (determined by some feature selection procedure; see Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>). At this point, it is only important that <inline-formula><mml:math id="M213" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> denotes the VCDs. For simplicity, we just write <inline-formula><mml:math id="M214" display="inline"><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mi>p</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> for the vector of all features at location <inline-formula><mml:math id="M215" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> and time <inline-formula><mml:math id="M216" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS3">
  <label>2.3.3</label><title>Data preprocessing</title>
      <p id="d2e3011">We review the data preprocessing described in the previous section in light of the mathematical notation. A measurement <inline-formula><mml:math id="M217" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> of a tropospheric <inline-formula><mml:math id="M218" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCD is <italic>valid</italic> if it exists (measurements may be missing at some times <inline-formula><mml:math id="M219" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M220" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M221" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula>), if <inline-formula><mml:math id="M222" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M223" display="inline"><mml:mo>≥</mml:mo></mml:math></inline-formula> 0, and further if  the GEMS <inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:math></inline-formula> value is equal to 1. For all other features <inline-formula><mml:math id="M225" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and surface <inline-formula><mml:math id="M226" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, it suffices that the measurement exists in order to be categorized as valid. Note again that in situ measurements of surface <inline-formula><mml:math id="M228" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are always non-negative in the present dataset.</p>
      <p id="d2e3193">In the following, we collect all locations and times <inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at which we have access to valid measurements. Namely, the <italic>domain of valid measurements</italic> <inline-formula><mml:math id="M230" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula> is defined as

              <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M231" display="block"><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>=</mml:mo><mml:mo mathvariant="italic" mathsize="1.1em">{</mml:mo><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>∈</mml:mo><mml:mi>Z</mml:mi><mml:mo>×</mml:mo><mml:mi>T</mml:mi><mml:mo>:</mml:mo><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mtext>and</mml:mtext><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mtext>are valid</mml:mtext><mml:mo mathsize="1.1em" mathvariant="italic">}</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S2.SS3.SSS4">
  <label>2.3.4</label><title>Time-contiguous datasets</title>
      <p id="d2e3328">In order to consider time-contiguous measurements, we define for <inline-formula><mml:math id="M232" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M233" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M234" display="inline"><mml:mi mathvariant="double-struck">N</mml:mi></mml:math></inline-formula> the set

              <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M235" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo mathvariant="italic" mathsize="1.1em">{</mml:mo><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>∈</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>:</mml:mo><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo><mml:mo>∈</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mtext>for</mml:mtext><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo mathsize="1.1em" mathvariant="italic">}</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

            In other words, <inline-formula><mml:math id="M236" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> collects locations and times <inline-formula><mml:math id="M237" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at which valid measurements also exist for at least <inline-formula><mml:math id="M238" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M239" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> 1 previous hours. Note that <inline-formula><mml:math id="M240" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub><mml:mo>⊆</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</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:mo>⊆</mml:mo><mml:mi mathvariant="normal">Ω</mml:mi></mml:mrow></mml:math></inline-formula> for all <inline-formula><mml:math id="M241" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M242" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M243" display="inline"><mml:mi mathvariant="double-struck">N</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M244" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> coincides with <inline-formula><mml:math id="M245" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula>, the domain of valid measurements. Given <inline-formula><mml:math id="M246" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M247" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M248" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M249" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>, this definition allows us to build a valid time-contiguous feature vector:

              <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M250" display="block"><mml:mrow><mml:mfenced close=")" open="("><mml:mtable class="matrix" columnalign="center" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            which can serve as  input for a machine learning model <inline-formula><mml:math id="M251" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>:</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>→</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:math></inline-formula> to predict surface <inline-formula><mml:math id="M252" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M253" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e3735">Hence, <inline-formula><mml:math id="M254" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> parameterizes the datasets occurring in our study. In fact, <inline-formula><mml:math id="M255" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> parameterizes <inline-formula><mml:math id="M256" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> different datasets of feature vectors paired with surface <inline-formula><mml:math id="M257" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. They only differ within the time contiguity <inline-formula><mml:math id="M258" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> of the feature vectors, that is, how many previous hours (namely <inline-formula><mml:math id="M259" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M260" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> 1) are considered for each feature (at most <inline-formula><mml:math id="M261" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M262" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> 1). Mathematically, these <inline-formula><mml:math id="M263" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> datasets can be understood as functions <inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>:</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub><mml:mo>→</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>×</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:math></inline-formula> mapping <inline-formula><mml:math id="M265" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>∈</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to the feature vector in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) paired with surface <inline-formula><mml:math id="M266" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at location <inline-formula><mml:math id="M267" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> and measuring time <inline-formula><mml:math id="M268" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. Further, <inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> just describes the <italic>data basis</italic> mentioned in the previous section.</p>
      <p id="d2e3948">The number of elements in <inline-formula><mml:math id="M270" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> – that is, the size of all datasets <inline-formula><mml:math id="M271" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> – are listed in Table <xref ref-type="table" rid="T1"/> for <inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>. Hence, if a model is to be trained with time-contiguous inputs <inline-formula><mml:math id="M273" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, this comes  with the price of a smaller number of data points. For example, time-contiguous models cannot be used to make predictions at initial hours of a day. It should be mentioned that among all features described in the previous section, ERA5's <italic>soil type</italic> and <italic>high vegetation cover</italic> are the only features that do not depend on time <inline-formula><mml:math id="M274" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. This is why, in practice, we never included them <inline-formula><mml:math id="M275" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> times but rather a single time only, when building the time-contiguous feature vector in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) at <inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. However, for the sake of simplicity, we neglect this fact within the notation.</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e4059">Size of time-contiguous datasets <inline-formula><mml:math id="M277" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, which consist of data points for which valid measurements also exist for at least <inline-formula><mml:math id="M278" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M279" display="inline"><mml:mi mathvariant="normal">−</mml:mi></mml:math></inline-formula> 1 previous hours, but only <inline-formula><mml:math id="M280" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> values are used for constructing the time-contiguous feature vector in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>). Note that the size is independent of the time contiguity <inline-formula><mml:math id="M281" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. The overall considered time period covers January 2021 until November 2022.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="6">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:colspec colnum="6" colname="col6" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M282" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">1</oasis:entry>
         <oasis:entry colname="col3">2</oasis:entry>
         <oasis:entry colname="col4">3</oasis:entry>
         <oasis:entry colname="col5">4</oasis:entry>
         <oasis:entry colname="col6">5</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Number of data points</oasis:entry>
         <oasis:entry colname="col2">1 341 642</oasis:entry>
         <oasis:entry colname="col3">959 458</oasis:entry>
         <oasis:entry colname="col4">699 777</oasis:entry>
         <oasis:entry colname="col5">505 719</oasis:entry>
         <oasis:entry colname="col6">356 117</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
<sec id="Ch1.S2.SS3.SSS5">
  <label>2.3.5</label><title>Normalization of input features</title>
      <p id="d2e4190">For any given split into training and test data, the input features are normalized before being fed into the machine learning models to improve the stability of their performance. More precisely, each feature undergoes an affine transformation <inline-formula><mml:math id="M283" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> such that its mean on the training data becomes 0 and its standard deviation becomes 1. Let <inline-formula><mml:math id="M284" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">train</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M285" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">train</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> be the mean and standard deviation of a feature in the training data, respectively. Then, the transformation applied to both training and test data points is given by

              <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M286" display="block"><mml:mrow><mml:mi>A</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mi mathvariant="normal">train</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">train</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

            and is applied to both training and test data points.</p>
      <p id="d2e4262">A compact overview of the spatial and temporal resolutions of the  data sources used is shown in Table <xref ref-type="table" rid="T2"/>. In addition, for each data source, the applied data preprocessing steps are listed. Moreover, the overall workflow for all data-processing steps is illustrated in the flowchart in Fig. <xref ref-type="fig" rid="F2"/>.</p>

<table-wrap id="T2" specific-use="star"><label>Table 2</label><caption><p id="d2e4272">Overview of spatial and temporal resolutions of the data sources used. Applied preprocessing steps are also listed for each data source.</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"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M288" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs</oasis:entry>
         <oasis:entry colname="col3">Surface <inline-formula><mml:math id="M289" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">ERA5 features</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Spatial resolution</oasis:entry>
         <oasis:entry colname="col2">3.5 km <inline-formula><mml:math id="M290" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 8 km</oasis:entry>
         <oasis:entry colname="col3">Local measurements</oasis:entry>
         <oasis:entry colname="col4">28 km <inline-formula><mml:math id="M291" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 22 km</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">(latitude <inline-formula><mml:math id="M292" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula>  longitude)</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4">(latitude <inline-formula><mml:math id="M293" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> longitude)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Temporal resolution</oasis:entry>
         <oasis:entry colname="col2">One measurement per hour</oasis:entry>
         <oasis:entry colname="col3">Hourly averages</oasis:entry>
         <oasis:entry colname="col4">One measurement per hour</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">and location</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4">and location<sup>*</sup></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Preprocessing</oasis:entry>
         <oasis:entry colname="col2">Missing values removed</oasis:entry>
         <oasis:entry colname="col3">Missing values removed</oasis:entry>
         <oasis:entry colname="col4">(No missing values exist)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Negative values removed</oasis:entry>
         <oasis:entry colname="col3">(No negative values exist)</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Threshold <inline-formula><mml:math id="M295" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:math></inline-formula> value: 1</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Preprocessing during cross-validation</oasis:entry>
         <oasis:entry colname="col2">Normalization via Eq. (<xref ref-type="disp-formula" rid="Ch1.E4"/>)</oasis:entry>
         <oasis:entry colname="col3">Normalization via Eq. (<xref ref-type="disp-formula" rid="Ch1.E4"/>)</oasis:entry>
         <oasis:entry colname="col4">Normalization via Eq. (<xref ref-type="disp-formula" rid="Ch1.E4"/>)</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e4275"><sup>*</sup> Exception: ERA5 evaporation is available as hourly averages.</p></table-wrap-foot></table-wrap>

      <fig id="F2"><label>Figure 2</label><caption><p id="d2e4507">A flowchart for all data processing steps. The left column shows the construction of the time-contiguous datasets <inline-formula><mml:math id="M296" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. For preprocessing, the data are filtered according to the criteria in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/>; see also Table <xref ref-type="table" rid="T2"/>. Evaluating the performance of models on <inline-formula><mml:math id="M297" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is done via spatial cross-validation; see Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>. This pipeline is outlined in the right column.</p></caption>
            <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f02.png"/>

          </fig>

</sec>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Experimental setup</title>
      <p id="d2e4564">In Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>, we describe and discuss the experiments conducted to inspect our main research questions. Before that, we explain how features were selected for these experiments. Afterwards, we discuss different performance measures and loss functions used to evaluate the quality of the models' prediction of surface <inline-formula><mml:math id="M298" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> on test data points.</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Feature selection</title>
      <p id="d2e4587">In this study, we considered 23 different features from which we selected 17 to build the feature vectors used in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>) as inputs for the machine learning models. The selected and excluded features are listed in Table <xref ref-type="table" rid="TB1"/> and are used in Experiment 1 and Experiment 2; see Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>. For the feature selection, we proceeded as follows: on the data basis <inline-formula><mml:math id="M299" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, we considered 200 different splits into 90 % training and 10 % test stations. For the training data of each split, we calculated the Pearson correlation (see Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/> for a definition) between in situ measurements of surface <inline-formula><mml:math id="M300" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and the respective feature. We selected features which had an absolute mean correlation larger than 0.1. It is worth mentioning that for all  17 of the aforementioned features, the correlation was  in fact larger than 0.1 in 98 % of the splits, whereas this was never the case for the remaining six features. More complex feature selection strategies could be applied in the future. However, during this study we focus on the benefits of time-contiguous inputs and not on the optimal choice of input features.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Experiments</title>
      <p id="d2e4634">Recall from Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/> that <inline-formula><mml:math id="M301" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the set of locations and measuring times <inline-formula><mml:math id="M302" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at which all measurements are also available at <inline-formula><mml:math id="M303" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> previous hours. Note that <inline-formula><mml:math id="M304" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> does not parameterize a single dataset but <inline-formula><mml:math id="M305" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> different datasets <inline-formula><mml:math id="M306" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>:</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>N</mml:mi></mml:msub><mml:mo>→</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>×</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:math></inline-formula> via

            <disp-formula id="Ch1.Ex2"><mml:math id="M307" display="block"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>:</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>⟼</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mfenced close=")" open="("><mml:mtable class="matrix" columnalign="center" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi mathvariant="normal">⋮</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          which only differ in the time contiguity <inline-formula><mml:math id="M308" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</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>N</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> of the time-contiguous feature vector <inline-formula><mml:math id="M309" display="inline"><mml:mrow><mml:mo mathsize="1.1em">(</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:msup><mml:mo mathsize="1.1em">)</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, defined in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>).</p>
      <p id="d2e4935">As mentioned in the Introduction, we wish to inspect how well a machine learning model is able to make predictions of surface <inline-formula><mml:math id="M310" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at locations from which it has not seen training data. This is why we use multiple (six-times) 10-fold spatial cross-validations in all experiments. This involves splitting the dataset 60 times randomly into 90 % training and 10 % test data based on the locations of the in situ stations; see Fig. <xref ref-type="fig" rid="F1"/>b for a visualization of a single split. Performance is measured on all the different test datasets and averaged. Due to the limited number of available in situ stations, significant variance in the model's performance is expected across different splits. Therefore, multiple 10-fold spatial cross-validations provide a more reliable estimate of the model's performance compared to a single 10-fold spatial cross-validation. In all that follows, whenever it is mentioned that a machine learning model is trained or tested on <inline-formula><mml:math id="M311" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, it implies that the model is trained or tested solely on those data points in <inline-formula><mml:math id="M312" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> corresponding to the designated training or test stations. Note that for fixed <inline-formula><mml:math id="M313" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>, surface <inline-formula><mml:math id="M314" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> that is to be predicted in <inline-formula><mml:math id="M315" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is exactly the same for all the different <inline-formula><mml:math id="M316" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Furthermore, for all models, the same 60 splits into training and test stations are considered for spatial cross-validation, which ensures perfect comparability. For a basic outline of a cross-validation pipeline, see Fig. <xref ref-type="fig" rid="F2"/>.</p>
      <p id="d2e5027">Let us recall from Sect. <xref ref-type="sec" rid="Ch1.S1.SS1"/> that our main research question is whether time-contiguous inputs for machine learning models enable higher accuracy for predicting surface <inline-formula><mml:math id="M317" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. We propose two experiments to gain insight into this question. <list list-type="custom"><list-item><label> </label>
      <p id="d2e5045"><italic>Experiment 1.</italic> Do time-contiguous input features provide additional information?</p>
      <p id="d2e5051">For fixed <inline-formula><mml:math id="M318" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>, consider the datasets <inline-formula><mml:math id="M319" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for different time-contiguities <inline-formula><mml:math id="M320" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M321" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M322" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:mrow></mml:math></inline-formula>. The chosen machine learning model, such as a random forest regressor, is trained and tested on <inline-formula><mml:math id="M323" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for all 60 splits from spatial cross-validation. A comparison is made with respect to different <inline-formula><mml:math id="M324" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Fixing <inline-formula><mml:math id="M325" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> ensures that, regardless of <inline-formula><mml:math id="M326" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, the same ground truth (surface <inline-formula><mml:math id="M327" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>) is predicted for computing the cross-validation scores on the test sets. Additionally, all models are trained with the same number of training data points, eliminating any advantage or disadvantage due to differing dataset sizes. Thus, this experiment provides pure insights into the information gain provided by time-contiguous inputs. We conduct this experiment for all <inline-formula><mml:math id="M328" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>.</p></list-item><list-item><label> </label>
      <p id="d2e5185"><italic>Experiment 2.</italic> Are time-contiguous input features beneficial in spite of a smaller available dataset?</p>
      <p id="d2e5191">In the first experiment, the models were trained on the same amount of training data, with the time contiguity <inline-formula><mml:math id="M329" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> being the only variable. However, for smaller <inline-formula><mml:math id="M330" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> there is much more data available that can be used for training the respective models; see Table <xref ref-type="table" rid="T1"/>. Therefore, we need to extend the first experiment as follows: we still test performance on <inline-formula><mml:math id="M331" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for a fixed <inline-formula><mml:math id="M332" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>. But for different <inline-formula><mml:math id="M333" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, we train models on <inline-formula><mml:math id="M334" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for all <inline-formula><mml:math id="M335" display="inline"><mml:mrow><mml:mi>M</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>, i.e., with a different amount of training data. Note that in Experiment 1, <inline-formula><mml:math id="M336" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> has always been set to <inline-formula><mml:math id="M337" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>. These additional investigations are crucial to evaluate whether time-contiguous inputs are beneficial for predicting surface <inline-formula><mml:math id="M338" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Even if time-contiguous inputs provide additional information (as seen in the first experiment), why should one use them if training with less or even no time contiguity on larger datasets yielded better results? Again, we conduct this experiment for all <inline-formula><mml:math id="M339" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M340" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> determines the test datasets.</p></list-item></list></p>
      <p id="d2e5351">In a third experiment, we analyze the influence of some features on the performance of the machine learning models. Since testing all the different combinations of input features for all 15 different training and test cases in Experiment 2 would be out of the scope of this study, we focus only on the influence of the tropospheric <inline-formula><mml:math id="M341" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs, surface height, and latitude. Note that longitude has not been included during feature selection due to a low correlation with surface <inline-formula><mml:math id="M342" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Tropospheric <inline-formula><mml:math id="M343" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs are the main consideration within this third experiment since they represent the feature which shows, among all considered input features, by far the best Pearson correlation with surface measurements of <inline-formula><mml:math id="M344" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, namely around 0.626; see also Table <xref ref-type="table" rid="TB1"/>. Although latitude only has a small variation over South Korea and hence a presumably small impact on predicting surface <inline-formula><mml:math id="M345" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, we considered it (and also longitude) during feature selection to check whether it provides some helpful information. Other studies have also used spatial coordinates to predict surface <inline-formula><mml:math id="M346" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, mainly over large regions <xref ref-type="bibr" rid="bib1.bibx17 bib1.bibx34 bib1.bibx40" id="paren.63"/> but also over smaller regions, such as over Switzerland <xref ref-type="bibr" rid="bib1.bibx12" id="paren.64"/>. Using spatial coordinates as inputs for a model, however, carries the risk of spatial overfitting, which could make it more difficult to predict surface <inline-formula><mml:math id="M347" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> outside of South Korea with the same model. This is why we inspect whether the models perform equally well over South Korea without having latitude and surface height as inputs. <list list-type="custom"><list-item><label> </label>
      <p id="d2e5442"><italic>Experiment 3.</italic> What is the influence of tropospheric <inline-formula><mml:math id="M348" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs, latitude, and surface height on the performance?</p>
      <p id="d2e5459">We compare four different settings of input features: <list list-type="custom"><list-item><label> </label>
      <p id="d2e5464"><italic>Setting 1.</italic> All features selected in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/> are included, which is exactly the same setup as for Experiments 1 and 2.</p></list-item><list-item><label> </label>
      <p id="d2e5472"><italic>Setting 2.</italic> VCDs are excluded as an input feature.</p></list-item><list-item><label> </label>
      <p id="d2e5478"><italic>Setting 3.</italic> Latitude and surface height are excluded.</p></list-item><list-item><label> </label>
      <p id="d2e5484"><italic>Setting 4.</italic> VCDs, latitude, and surface height are excluded.</p></list-item></list> We also conduct Experiment 2 for Settings 2, 3, and 4 and draw a comparison between these settings regarding different performance measures. Further, within these four settings, we inspect the models' ability and reliability in achieving performance gains when including time-contiguous input features.</p></list-item></list></p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Performance measures</title>
      <p id="d2e5498">Throughout this section, <inline-formula><mml:math id="M349" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M350" display="inline"><mml:mo>∈</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M351" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is a vector consisting of <inline-formula><mml:math id="M352" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> in situ observations of surface <inline-formula><mml:math id="M353" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, where each coefficient <inline-formula><mml:math id="M354" display="inline"><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> corresponds to a measurement that has been taken at a given time <inline-formula><mml:math id="M355" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and location (longitude, latitude) <inline-formula><mml:math id="M356" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> of a given in situ station. For the sake of simpler notation, we just write <inline-formula><mml:math id="M357" display="inline"><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, neglecting the dependence on <inline-formula><mml:math id="M358" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M359" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> within the notation. Similarly, <inline-formula><mml:math id="M360" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> denotes the predictions for <inline-formula><mml:math id="M361" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> made by a machine learning model, such as linear regression or random forests. In the following, we discuss different performance measures that quantify the gap between the model's prediction <inline-formula><mml:math id="M362" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> for <inline-formula><mml:math id="M363" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, the observed surface concentration of <inline-formula><mml:math id="M364" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e5712">As pointed out in the Introduction, spatial cross-validation is considered within this research; i.e., data are split into training and test data station-wise. Since the overall number of in situ stations is relatively small, namely 637, the statistical properties of surface <inline-formula><mml:math id="M365" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> for different test sets are very likely to differ. In particular, the mean or standard deviation of surface <inline-formula><mml:math id="M366" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> of different test sets will vary. Hence, in order to compare the quality of surface <inline-formula><mml:math id="M367" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> predictions on different test sets, it is reasonable to use error measures that are more robust or even insensitive to different data distributions.</p>
      <p id="d2e5748">In order to ensure better comparability of performances of a model on different test sets, one should not use absolute performance measures such as the mean absolute error or root mean square error, since they depend on the scale of the different test sets.</p>
      <p id="d2e5751">At first glance, it seems reasonable to consider the mean percentage error:

            <disp-formula id="Ch1.Ex3"><mml:math id="M368" display="block"><mml:mrow><mml:mtext>MPE</mml:mtext><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">|</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi mathvariant="normal">|</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">|</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mi mathvariant="normal">|</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          The reason why the mean percentage error enables us to compare performances on different test sets is the following property: for every <inline-formula><mml:math id="M369" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> with <inline-formula><mml:math id="M370" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>≠</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> it holds that

            <disp-formula id="Ch1.Ex4"><mml:math id="M371" display="block"><mml:mrow><mml:mtext>MPE</mml:mtext><mml:mfenced close=")" open="("><mml:mrow><mml:mi>c</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>c</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mtext>MPE</mml:mtext><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M372" display="inline"><mml:mrow><mml:mi>c</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> denotes pointwise multiplication. However, since many in situ measurements <inline-formula><mml:math id="M373" display="inline"><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> are very close to or equal to zero, the mean percentage error becomes unstable. As a trade-off, we  consider performance measures <inline-formula><mml:math id="M374" display="inline"><mml:mrow><mml:mi>E</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> that are <italic>scale-insensitive</italic>; i.e., for every <inline-formula><mml:math id="M375" display="inline"><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi><mml:mo>∖</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> it holds that

            <disp-formula id="Ch1.Ex5"><mml:math id="M376" display="block"><mml:mrow><mml:mi>E</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">λ</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi mathvariant="italic">λ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mi>E</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e6004">The normalized mean absolute error (NMAE) can be written as

            <disp-formula id="Ch1.Ex6"><mml:math id="M377" display="block"><mml:mrow><mml:mtext>NMAE</mml:mtext><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mi mathvariant="normal">|</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi mathvariant="normal">|</mml:mi></mml:mrow><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mi mathvariant="normal">|</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mi mathvariant="normal">|</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          so the NMAE is just the mean absolute error divided by the mean absolute value of the ground truth <inline-formula><mml:math id="M378" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>. If normalization by the standard deviation of <inline-formula><mml:math id="M379" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> instead of its mean were considered, this would lead to a measure similar to the coefficient of determination <inline-formula><mml:math id="M380" display="inline"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>; see Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>. Note that in contrast to the mean absolute error, NMAE is scale-insensitive. Similarly, we define the normalized mean square error (NMSE) as

            <disp-formula id="Ch1.Ex7"><mml:math id="M381" display="block"><mml:mrow><mml:mtext>NMSE</mml:mtext><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mi mathvariant="normal">|</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mi mathvariant="normal">|</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e6208">Whenever we talk about the correlation between <inline-formula><mml:math id="M382" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M383" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, we mean the Pearson correlation coefficient (<inline-formula><mml:math id="M384" display="inline"><mml:mi>C</mml:mi></mml:math></inline-formula>), which is defined as

            <disp-formula id="Ch1.Ex8"><mml:math id="M385" display="block"><mml:mrow><mml:mi>C</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mtext>cov</mml:mtext><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:mfenced><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M386" display="inline"><mml:mrow><mml:mtext>cov</mml:mtext><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> denotes the covariance between <inline-formula><mml:math id="M387" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M388" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M389" display="inline"><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M390" display="inline"><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the standard deviation of <inline-formula><mml:math id="M391" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M392" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, respectively. It should be noted that this is not a performance measure in the sense that <inline-formula><mml:math id="M393" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M394" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M395" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> if and only if <inline-formula><mml:math id="M396" display="inline"><mml:mrow><mml:mi>C</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M397" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1.  Nevertheless, it quantifies the linear relationship between <inline-formula><mml:math id="M398" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M399" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>. Furthermore, it is frequently used in the literature, which is the reason why we consider it in our work, too.</p>
      <p id="d2e6450">We  considered two further scale-insensitive performance measures, the coefficient of determination (<inline-formula><mml:math id="M400" display="inline"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>) and the index of agreement (IOA), which are defined in Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Machine learning models considered</title>
      <p id="d2e6476">As mentioned in the Introduction, numerous machine learning models have been considered for predicting surface <inline-formula><mml:math id="M401" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in the literature. Examining the benefit of time-contiguous input features for all the different models is beyond the scope of this research. This is because fair comparisons require individual hyperparameter tuning for the models, with different time contiguities of the input features. Therefore, we restrict our attention to one approach that, on the one hand, has performed well in the literature and, on the other hand, does not have many hyperparameters to tune. If there were many hyperparameters to be tuned and the models' performance were very sensitive to the choice of these hyperparameters, there would be a risk that better performance was achieved only due to better hyperparameter tuning. In this study, we use a random forest regressor, which we describe in Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/>, and present the selected hyperparameters. As a reference, we consider a simple linear regression approach, which we recap first in the next section. At the outset of this study, we also experimented with neural networks (NNs) to estimate surface <inline-formula><mml:math id="M402" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. While we observed similar results to those obtained with random forests, the training time for NNs was considerably longer. Therefore, and due to the large number of hyperparameters and architectural design choices for NNs, conducting as many experiments with NNs as we did with random forests would have been outside the scope of our study. This is why we chose to focus on random forests, but we expect similar performance gains  for neural networks as well.</p>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Linear regression</title>
      <p id="d2e6510">Although it has already been shown, e.g., by <xref ref-type="bibr" rid="bib1.bibx17" id="text.65"/>, that linear regression models are not the best for predicting surface <inline-formula><mml:math id="M403" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, we consider an ordinary least squared regressor as a reference in our study, mainly because it has no tunable hyperparameters, such as regularization parameters, or architecture parameters like those in neural networks (e.g., number of layers, width of layers, activation functions, skip connections). Thus, it provides a clear view on the question of whether time-contiguous inputs are beneficial for this linear regression model. During this study, we used the ordinary least squares regression model provided by the Python scikit-learn package (version 1.2.2, <xref ref-type="bibr" rid="bib1.bibx37" id="altparen.66"/>). In our case of predicting surface <inline-formula><mml:math id="M404" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> from time-contiguous inputs, the linear regression model is a parameterized function

                <disp-formula specific-use="gather"><mml:math id="M405" display="block"><mml:mtable displaystyle="true"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>:</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msup><mml:mo>⟶</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>y</mml:mi><mml:mo>⟼</mml:mo><mml:mi>A</mml:mi><mml:mi>y</mml:mi><mml:mo>+</mml:mo><mml:mi>b</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M406" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M407" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M408" display="inline"><mml:mrow><mml:mo mathsize="1.1em">(</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo><mml:msup><mml:mo mathsize="1.1em">)</mml:mo><mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> is a (time-contiguous) feature vector defined in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>), <inline-formula><mml:math id="M409" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> is a <inline-formula><mml:math id="M410" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>×</mml:mo><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:math></inline-formula> matrix, and <inline-formula><mml:math id="M411" display="inline"><mml:mrow><mml:mi>b</mml:mi><mml:mo>∈</mml:mo><mml:mi mathvariant="double-struck">R</mml:mi></mml:mrow></mml:math></inline-formula> is a bias term. Let <inline-formula><mml:math id="M412" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:msubsup><mml:mo>)</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> be training data, where <inline-formula><mml:math id="M413" display="inline"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a feature vector at location <inline-formula><mml:math id="M414" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and time <inline-formula><mml:math id="M415" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M416" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the corresponding in situ measurement of surface <inline-formula><mml:math id="M417" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at time <inline-formula><mml:math id="M418" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Training <inline-formula><mml:math id="M419" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> then means to search for a parameter <inline-formula><mml:math id="M420" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M421" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M422" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>A</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> that solves the following minimization problem:

            <disp-formula id="Ch1.Ex11"><mml:math id="M423" display="block"><mml:mrow><mml:munder><mml:mo movablelimits="false">min⁡</mml:mo><mml:mi mathvariant="italic">θ</mml:mi></mml:munder><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>n</mml:mi></mml:munder><mml:mi mathvariant="normal">|</mml:mi><mml:msub><mml:mi mathvariant="italic">φ</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          We choose to minimize the squared error since the computation time is much shorter compared to that of other losses such as the absolute error.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Random forests</title>
      <p id="d2e6898">There are two main reasons why random forests, a machine learning model originally proposed by <xref ref-type="bibr" rid="bib1.bibx5" id="text.67"/>, are considered within this research. First, they have already proven to be powerful for predicting surface <inline-formula><mml:math id="M424" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in various studies; see, for example, <xref ref-type="bibr" rid="bib1.bibx13" id="text.68"/>, <xref ref-type="bibr" rid="bib1.bibx17" id="text.69"/>, <xref ref-type="bibr" rid="bib1.bibx34" id="text.70"/>, and <xref ref-type="bibr" rid="bib1.bibx20" id="text.71"/> on OMI and TROPOMI data and <xref ref-type="bibr" rid="bib1.bibx50" id="text.72"/> on GEMS data. Second, the studies of <xref ref-type="bibr" rid="bib1.bibx38 bib1.bibx39" id="text.73"/> suggest that random forests are less tunable compared to other machine learning approaches. “Tunable” is defined as the extent to which the performance of a random forest with typical default hyperparameters can be enhanced by adjusting (tuning) those hyperparameters. As discussed before, this reduces the risk of drawing incorrect conclusions about the benefit of using time-contiguous inputs.</p>
      <p id="d2e6934">In fact, according to <xref ref-type="bibr" rid="bib1.bibx38" id="text.74"/>, there are mainly four hyperparameters that empirically determine the performance of a random forest: <list list-type="bullet"><list-item>
      <p id="d2e6942">The first hyperparameter is the number of randomly drawn features considered at every split of a tree. In the Python scikit-learn software package (version 1.2.2, <xref ref-type="bibr" rid="bib1.bibx37" id="altparen.75"/>) that we use for this study, it is called <monospace>max_features</monospace>. However, in several other software packages, it is denoted as <monospace>mtry</monospace>.</p></list-item><list-item>
      <p id="d2e6955">The second hyperparameter is the number of trees that make up the random forest. In scikit-learn it is called <monospace>n_estimators</monospace>. To be precise, it is not actually a hyperparameter, since more trees are in general more advantageous; see, e.g., <xref ref-type="bibr" rid="bib1.bibx16" id="text.76"/> or <xref ref-type="bibr" rid="bib1.bibx41" id="text.77"/>.</p></list-item><list-item>
      <p id="d2e6968">The third hyperparameter is the maximal number of (randomly drawn) data samples from the training set that is used for the construction of an individual tree, denoted as <monospace>max_samples</monospace> in scikit-learn.</p></list-item><list-item>
      <p id="d2e6975">The fourth hyperparameter is the minimal number of observations that lands in a leaf node during the training process. In scikit-learn it is called <monospace>min_samples_leaf</monospace>.</p></list-item></list> In their experiments, <xref ref-type="bibr" rid="bib1.bibx38" id="text.78"/> observed that <monospace>max_features</monospace> had the biggest influence on the performance and the influence of <monospace>max_samples</monospace> and <monospace>min_samples_leaf</monospace> was smaller. This is why, during hyperparameter tuning, we mainly focus on <monospace>max_features</monospace> but also consider different values for <monospace>max_samples</monospace>. Regarding <monospace>max_samples</monospace>, we consider values between 50 % and 100 % of the size of the training dataset. On the other hand, for <monospace>max_features</monospace>, values between 1 and <inline-formula><mml:math id="M425" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> are considered, where <inline-formula><mml:math id="M426" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:math></inline-formula> is the number of inputs for the model, i.e., the dimension of the time-contiguous feature vector in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>). The value <inline-formula><mml:math id="M427" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>p</mml:mi><mml:mi>k</mml:mi><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> is the default value of scikit-learn. <xref ref-type="bibr" rid="bib1.bibx16" id="text.79"/> suggested <inline-formula><mml:math id="M428" display="inline"><mml:msqrt><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msqrt></mml:math></inline-formula> for problems in which the number of data points is much larger than the number of input features <inline-formula><mml:math id="M429" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:math></inline-formula>, which is clearly the case in our study (hundreds of thousands of data points versus less than 90 input features). As <inline-formula><mml:math id="M430" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M431" display="inline"><mml:mo>≥</mml:mo></mml:math></inline-formula> 17, the value <inline-formula><mml:math id="M432" display="inline"><mml:msqrt><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msqrt></mml:math></inline-formula> is always within the considered interval during optimization. In fact, <inline-formula><mml:math id="M433" display="inline"><mml:msqrt><mml:mrow><mml:mi>p</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:msqrt></mml:math></inline-formula> turns out to be quite close to the optimal choice in our hyperparameter study. Regarding <monospace>min_samples_leaf</monospace>, we inspect two typical default values, namely 1 and 5. Following the rule “the more, the better” for the number of trees (<monospace>n_estimators</monospace>) in the forest, we use 8000 trees while tuning the other hyperparameters. Hyperparameter selection is made according to the spatially cross-validated (10 splits) NMSE, leading to <monospace>max_features</monospace> <inline-formula><mml:math id="M434" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 2, 3, 3, 3, 4 for time contiguity <inline-formula><mml:math id="M435" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M436" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1, 2, 3, 4, 5 and further <monospace>min_samples_leaf</monospace> and <monospace>max_samples</monospace> <inline-formula><mml:math id="M437" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 5 using 100 % of the size of the training data. All remaining hyperparameters are always set to the default values within scikit-learn.</p>
      <p id="d2e7165">With 8000 trees, we chose a very high value for the number of trees, which may require an explanation. The good news is given first: comparable results can be obtained with far fewer trees in the forest. However, for hyperparameter tuning and to gain a clearer insight into the benefit of time-contiguous features, it is reasonable to choose a large number of trees, which we illustrate in the following: the random forest algorithm in scikit-learn is not deterministic, meaning that if the model is trained on the same training data multiple times, the trained forests will differ from each other, also causing the performance of the respective test dataset to vary. However, we observe that with a higher number of trees in the forest, the variance in the performance decreases for all considered performance measures. In Fig. <xref ref-type="fig" rid="FC1"/> in Appendix <xref ref-type="sec" rid="App1.Ch1.S3"/>, we illustrate this effect using a single split into training and test stations. Two random forests, one with 30 trees and the other with 8000 trees, are each trained and tested 20 times on the same data, similar to Experiment 2, but with 20 repetitions of the same split instead of 60 different splits. We observe that with 30 trees the scores on the test data, such as Pearson correlation, NMSE, or NMAE, exhibit some variance. In contrast, there is barely any variance in the case of 8000 trees. This has the advantage that for each split into training and test stations, the random forest only needs to be trained once to get an interpretable result. Thereby, it also reduces the risk of choosing non-optimal hyperparameters. Therefore, during all experiments, we set the number of trees to a very large number (n_estimators <inline-formula><mml:math id="M438" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 8000) to stabilize the non-deterministic behavior of training a random forest. Note that stability can probably be achieved with far fewer than 8000 trees. However, in order to reduce the bias from the observation above for a single split and single choice of hyperparameters, we choose a very large number that is still manageable regarding storage and computation time.</p>
</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Results</title>
      <p id="d2e7189">Before presenting the results and starting the discussion, it is important to recall that for a given spatial split into training and test in situ stations, training or testing a machine learning model on the dataset <inline-formula><mml:math id="M439" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> means that only the data points corresponding to the training or test station locations are used, respectively. Furthermore, for fixed <inline-formula><mml:math id="M440" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>, the in situ measurements <inline-formula><mml:math id="M441" display="inline"><mml:mrow><mml:mi>s</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> of surface <inline-formula><mml:math id="M442" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (ground truth) that are to be predicted in <inline-formula><mml:math id="M443" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are exactly the same for all the different <inline-formula><mml:math id="M444" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Further, recall that <inline-formula><mml:math id="M445" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> can be thought of as the set of data points for which  measurements at all <inline-formula><mml:math id="M446" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> previous hours are also guaranteed to be available, but only <inline-formula><mml:math id="M447" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M448" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> 1 values are added to the time-contiguous feature vector in Eq. (<xref ref-type="disp-formula" rid="Ch1.E3"/>).</p>
      <p id="d2e7312">In the following discussion of the experiments, introduced in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>, we  focus exclusively on the results when <inline-formula><mml:math id="M449" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is used for constructing test datasets, i.e., for <inline-formula><mml:math id="M450" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M451" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 only. This is because we observe a similar benefit from a larger time contiguity <inline-formula><mml:math id="M452" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> when evaluating the machine learning models' performance on <inline-formula><mml:math id="M453" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</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="M454" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>. As a further example, we provide detailed results for <inline-formula><mml:math id="M455" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M456" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 2 in Figs. <xref ref-type="fig" rid="FC2"/> and <xref ref-type="fig" rid="FC3"/> in Appendix <xref ref-type="sec" rid="App1.Ch1.S3"/>.</p>
<sec id="Ch1.S5.SS1">
  <label>5.1</label><title>Experiment 1: time-contiguous inputs provide additional information</title>
      <p id="d2e7423">In Experiment 1, we train linear regression models and random forests on <inline-formula><mml:math id="M457" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for different time contiguities <inline-formula><mml:math id="M458" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> of the input features. The test performances of these models are evaluated via six-times spatial 10-fold cross-validation and are illustrated in Figs. <xref ref-type="fig" rid="F3"/>b and <xref ref-type="fig" rid="F4"/>b, respectively. Specifically, we show average Pearson correlation, NMSE, and NMAE over all 60 splits into training and test stations. We observe that, on average, both linear regression and random forests benefit from a larger time contiguity <inline-formula><mml:math id="M459" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> regarding all considered performance measures. For example, the average correlation strictly increases from 0.702 for <inline-formula><mml:math id="M460" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M461" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 to <inline-formula><mml:math id="M462" display="inline"><mml:mn mathvariant="normal">0.737</mml:mn></mml:math></inline-formula> for <inline-formula><mml:math id="M463" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M464" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 in the case of linear regression, and for random forests, it increases from 0.802 to 0.817. Further, the average NMSE decreases from 0.196 to 0.171 for linear regression and from 0.139 to 0.129 for random forests. Therefore, both models benefit from larger time contiguity, but linear regression shows  greater  improvement, which is expected as it cannot model non-linear effects. Furthermore, we observe that the larger <inline-formula><mml:math id="M465" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, the smaller the improvement compared to the case <inline-formula><mml:math id="M466" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M467" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> 1, which is to be expected since input features at time <inline-formula><mml:math id="M468" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M469" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M470" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> presumably have a decreasing impact on surface <inline-formula><mml:math id="M471" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> at time <inline-formula><mml:math id="M472" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> for larger <inline-formula><mml:math id="M473" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e7584">Linear regression models have been trained and tested on datasets <inline-formula><mml:math id="M474" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for 60 different splits into training and test stations, with different time contiguity <inline-formula><mml:math id="M475" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>  of the input features. In panel <bold>(a)</bold>, performances on test sets are shown for five exemplary station splits with respect to three performance measures. Panel <bold>(b)</bold> shows the average performance over all 60 splits, with error bars illustrating the standard deviation. Panel <bold>(c)</bold> shows the average performance gain relative to the case <inline-formula><mml:math id="M476" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M477" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1; see Eq. (<xref ref-type="disp-formula" rid="Ch1.E5"/>) for the definition of performance gain. Across each row, the same performance measure is considered. The exact values in panel <bold>(b)</bold> can be found in Table <xref ref-type="table" rid="TB2"/>, columns <inline-formula><mml:math id="M478" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M479" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f03.png"/>

        </fig>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e7682">Same as Fig. <xref ref-type="fig" rid="F3"/> but for random forests trained and tested on datasets <inline-formula><mml:math id="M480" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for 60 different splits into training and test stations, with different time contiguity <inline-formula><mml:math id="M481" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> of the input features. In panel <bold>(a)</bold>, performances on test sets are shown for five exemplary station splits with respect to three performance measures. Panel <bold>(b)</bold> shows the average performance over all 60 splits, with error bars illustrating the standard deviation. Panel <bold>(c)</bold> shows the average performance gain relative to the case <inline-formula><mml:math id="M482" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M483" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1; see Eq. (<xref ref-type="disp-formula" rid="Ch1.E5"/>) for the definition of performance gain. Across each row, the same performance measure is considered. The exact values in panel <bold>(b)</bold> can be found in Table <xref ref-type="table" rid="TB3"/>.</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f04.png"/>

        </fig>

      <p id="d2e7748">Although the visualization of average performances suggests an overall trend, it does not clearly indicate whether larger time contiguities (<inline-formula><mml:math id="M484" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M485" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 1) consistently improve performance across all 60 station splits during cross-validation compared to <inline-formula><mml:math id="M486" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M487" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1. However, we  found that this improvement holds true for all 60 station splits. The performance curves for individual splits are more or less parallel to the average curve. In Figs. <xref ref-type="fig" rid="F3"/>a and <xref ref-type="fig" rid="F4"/>a, we illustrate this for exemplary station splits, where only five splits are shown for better visibility. To quantify the gain in performance for individual splits between using time contiguity <inline-formula><mml:math id="M488" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M489" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 and larger time contiguities <inline-formula><mml:math id="M490" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, we proceed as follows: for a given test dataset, let <inline-formula><mml:math id="M491" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> be the test performance (e.g., correlation) achieved by the model using time contiguity <inline-formula><mml:math id="M492" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> for its inputs. We define the <italic>performance gain</italic> of this model over the case with no time contiguity <inline-formula><mml:math id="M493" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M494" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 in Experiment 1 as

            <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M495" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">opt</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M496" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">opt</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the optimal value of the respective performance measure; e.g., <inline-formula><mml:math id="M497" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">opt</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M498" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 for the Pearson correlation or <inline-formula><mml:math id="M499" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mtext>opt</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M500" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0 for NMSE and NMAE. The average performance gains for the cases <inline-formula><mml:math id="M501" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> compared to <inline-formula><mml:math id="M502" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M503" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 are depicted in Figs. <xref ref-type="fig" rid="F3"/>c and <xref ref-type="fig" rid="F4"/>c for linear regression and random forests, respectively. In both cases and for all performance measures, the highest average performance gain is achieved with <inline-formula><mml:math id="M504" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M505" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4. Specifically, linear regression models achieve average performance gains of 15.2 % in correlation, 13.0 % in NMSE, and 7.7 % in NMAE, whereas random forests achieve gains of around 7.8 %, 7.0 %, and 4.7 %, respectively. It is noteworthy that, for linear regression, the performance gain across all 60 splits is approximately at least 12.0 % in correlation, 10.0 % in NMSE, and 6.1 % in NMAE. On the other hand, random forests achieve performance gains of  at least 4.6 %, 4.0 %, and 3.1 %, respectively. Therefore, utilizing a larger time contiguity consistently provided beneficial additional information for both linear regression and random forest models.</p>
      <p id="d2e7988">Additionally, for <inline-formula><mml:math id="M506" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M507" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 and the best time contiguity <inline-formula><mml:math id="M508" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M509" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4, we examine for each split the orthogonal regression curve between the models' predictions and ground truth measurements of surface <inline-formula><mml:math id="M510" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> on the corresponding test dataset. For a fixed split, this is illustrated as a two-dimensional histogram in the first row of Fig. <xref ref-type="fig" rid="F5"/> for linear regression and in Fig. <xref ref-type="fig" rid="F6"/> for random forests. Although the histograms are restricted to surface <inline-formula><mml:math id="M511" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and predictions between 0 and 40 <inline-formula><mml:math id="M512" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> for better visibility, all data points are taken into account to determine the orthogonal regression curve. It becomes evident that both the slope and the bias of the orthogonal regression curve improve for <inline-formula><mml:math id="M513" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M514" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 (panel b) compared to <inline-formula><mml:math id="M515" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M516" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 (panel a), where improvement means that the slope becomes closer to 1 and the bias closer to 0. In the second row of these figures, we plot the mean orthogonal regression curve, which represents the mean slope and mean bias of all 60 orthogonal regression curves. An upper bound for all these curves is represented by the line with the maximal slope and bias across all splits (note that maximal slope and bias might not occur for the same split). Similarly, a lower bound is obtained, and both bounds are shown within the same plots. Both the mean orthogonal regression curve and the upper and lower bounds improved for <inline-formula><mml:math id="M517" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M518" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 for both linear regression and random forests. However, the improvement is larger for the linear regression models, which is consistent with the previous discussion on performance measures, such as NMSE.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e8110">Linear regression models trained on <inline-formula><mml:math id="M519" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> with time contiguities <bold>(a)</bold> <inline-formula><mml:math id="M520" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M521" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 and <bold>(b)</bold> <inline-formula><mml:math id="M522" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M523" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4. First row: for a fixed split (number 42) into training and test stations, the models' predictions on the corresponding test set <inline-formula><mml:math id="M524" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are compared with in situ measurements of surface <inline-formula><mml:math id="M525" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (ground truth) in a two-dimensional histogram. Second row: for all 60 station splits, orthogonal regression is considered between predicted and ground truth surface <inline-formula><mml:math id="M526" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Mean orthogonal regression refers to the line of average slope and bias over all 60 regression lines (blue line). The regression line for the example in the first row is also shown (red line).</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f05.png"/>

        </fig>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e8210">Same as Fig. <xref ref-type="fig" rid="F5"/> but for random forests trained on <inline-formula><mml:math id="M527" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> with time contiguities <bold>(a)</bold> <inline-formula><mml:math id="M528" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M529" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 and <bold>(b)</bold> <inline-formula><mml:math id="M530" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M531" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4. First row: for a fixed split (number 42) into training and test stations, the models' predictions on the corresponding test set <inline-formula><mml:math id="M532" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are compared with in situ measurements of surface <inline-formula><mml:math id="M533" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (ground truth) in a two-dimensional histogram. Second row: for all 60 station splits, orthogonal regression is considered between predicted and ground truth surface <inline-formula><mml:math id="M534" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Mean orthogonal regression refers to the line of average slope and bias over all 60 regression lines (blue line). The regression line for the example in the first row is also shown (red line).</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f06.png"/>

        </fig>

      <p id="d2e8310">We want to stress another observation: looking at the upper and lower bounds of the orthogonal regression curves, we see that all slopes are smaller than 1, whereas all biases are positive. Further, there is a noticeable gap towards the identity line. Regarding the latter, one possible explanation could be that spatially splitting the dataset into training and test sets causes a large difference in the statistical properties of the training and test sets. This may simply be because  there are overall just 637 different in situ stations available, so  the law of large numbers may not yet apply well when sampling 10 % of test stations. However, this does not explain why the slopes and biases are not more symmetrically distributed around  slope 1 and bias 0. Studying the impact of the number of available in situ stations and their locations on the slopes and biases of these orthogonal regression curves will be an interesting task for future work.</p>
</sec>
<sec id="Ch1.S5.SS2">
  <label>5.2</label><title>Experiment 2: time-contiguous inputs are beneficial in spite of a smaller dataset</title>
      <p id="d2e8321">In Experiment 1, the models were trained and tested on <inline-formula><mml:math id="M535" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for fixed <inline-formula><mml:math id="M536" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> but with a different time contiguity <inline-formula><mml:math id="M537" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> of their input features. This means that for a fixed station split, the number of training data points was the same for all the different <inline-formula><mml:math id="M538" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, since the size of <inline-formula><mml:math id="M539" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> only depends on <inline-formula><mml:math id="M540" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> (see Table <xref ref-type="table" rid="T1"/>). However, for <inline-formula><mml:math id="M541" display="inline"><mml:mrow><mml:mi>M</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>, there would be significantly more data points available in <inline-formula><mml:math id="M542" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> than in <inline-formula><mml:math id="M543" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, which could be used during training. To make a fair conclusion about whether a larger time contiguity (<inline-formula><mml:math id="M544" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M545" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 1) in the models' input is more beneficial compared to time contiguity <inline-formula><mml:math id="M546" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M547" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1, we need to consider that for <inline-formula><mml:math id="M548" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M549" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1, one can also train on these larger datasets. It should be noted that we have also considered training on smaller datasets, thus on <inline-formula><mml:math id="M550" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> with <inline-formula><mml:math id="M551" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M552" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M553" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>. However, non-competitive results were obtained for random forests in these cases. For linear regression, performances were also worse but with some exceptions regarding the NMAE; see Fig. <xref ref-type="fig" rid="FC2"/> in Appendix <xref ref-type="sec" rid="App1.Ch1.S3"/>. This is why we restrict the following discussion to training on larger datasets (<inline-formula><mml:math id="M554" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M555" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M556" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>) only.</p>
      <p id="d2e8571">Focusing again on the test case <inline-formula><mml:math id="M557" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M558" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4, we compare the performance on test sets in <inline-formula><mml:math id="M559" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> of models trained on larger datasets <inline-formula><mml:math id="M560" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for all <inline-formula><mml:math id="M561" display="inline"><mml:mrow><mml:mi>M</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> and all <inline-formula><mml:math id="M562" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>. Note that for <inline-formula><mml:math id="M563" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M564" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4, this is just the setting of Experiment 1. Altogether, 10 different linear regression models and 10 random forest models are used to make predictions of the same ground truths in the split-dependent test sets <inline-formula><mml:math id="M565" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e8699">Average performance measures from spatial cross-validation are shown in Fig. <xref ref-type="fig" rid="F7"/>a for linear regression and in Fig. <xref ref-type="fig" rid="F8"/>a for random forests. We observe that when training with time contiguity <inline-formula><mml:math id="M566" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M567" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1, i.e., on <inline-formula><mml:math id="M568" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, the best results are obtained for <inline-formula><mml:math id="M569" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M570" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4. In other words, there is no improvement on the test set <inline-formula><mml:math id="M571" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> if training is done on the larger datasets (<inline-formula><mml:math id="M572" display="inline"><mml:mrow><mml:mi>M</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</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:mn mathvariant="normal">3</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>). There is one exception for random forests with the Pearson correlation, where training on <inline-formula><mml:math id="M573" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> yields slightly better results on average compared to training on <inline-formula><mml:math id="M574" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. However, this difference is quite small, as shown in Fig. <xref ref-type="fig" rid="F8"/>a. Moreover, for all performance measures, the best performance across all 10 different training cases is achieved by the models trained on <inline-formula><mml:math id="M575" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> with time contiguity <inline-formula><mml:math id="M576" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M577" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4. Note that this is one of the training settings already considered in Experiment 1.</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e8859">Linear regression models  trained on <inline-formula><mml:math id="M578" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</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="M579" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M580" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 4 with different time contiguities <inline-formula><mml:math id="M581" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Performance on <inline-formula><mml:math id="M582" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> has been evaluated through six-times 10-fold spatial cross-validation. Panel <bold>(a)</bold> shows the average performance over all 60 station splits for three performance measures. Panel <bold>(b)</bold> shows the average performance gain relative to the best case of <inline-formula><mml:math id="M583" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M584" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1; see Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>) for the definition of performance gain. Error bars illustrate the standard deviation. Panel <bold>(c)</bold> shows the minimal performance gain. Across each row the same performance measure is considered. The exact values in panels <bold>(a)</bold> and <bold>(b)</bold> can be found in Table <xref ref-type="table" rid="TB2"/>.</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f07.png"/>

        </fig>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e8958">Same as Fig. <xref ref-type="fig" rid="F7"/> but for random forests trained on <inline-formula><mml:math id="M585" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</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="M586" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M587" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 4 with different time contiguities <inline-formula><mml:math id="M588" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Performance on <inline-formula><mml:math id="M589" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> has been evaluated through six-times <inline-formula><mml:math id="M590" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula>-fold spatial cross-validation. Panel <bold>(a)</bold> shows the average performance over all 60 station splits for three performance measures. Panel <bold>(b)</bold> shows the average performance gain relative to the best case of <inline-formula><mml:math id="M591" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M592" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1; see Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>) for the definition of performance gain. Error bars illustrate the standard deviation. Panel <bold>(c)</bold> shows the minimal performance gain. Across each row the same performance measure is considered. The exact values in panels <bold>(a)</bold> and <bold>(b)</bold> can be found in Table <xref ref-type="table" rid="TB3"/>.</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f08.png"/>

        </fig>

      <p id="d2e9064">For individual splits, we consider the performance gains that models with time contiguity <inline-formula><mml:math id="M593" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M594" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 1 achieve compared to models with no time contiguity (<inline-formula><mml:math id="M595" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M596" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1). Since, in contrast to Experiment 1, we are now dealing with four different training cases for <inline-formula><mml:math id="M597" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M598" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1, we slightly adapt the definition of performance gains from Eq. (<xref ref-type="disp-formula" rid="Ch1.E5"/>): for a given split into training and test stations and fixed <inline-formula><mml:math id="M599" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>, let <inline-formula><mml:math id="M600" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> be the test performance (e.g., correlation) on <inline-formula><mml:math id="M601" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> achieved by a model trained on <inline-formula><mml:math id="M602" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. We define the performance gain achieved by this model in Experiment 2 as

            <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M603" display="block"><mml:mrow><mml:mo movablelimits="false">min⁡</mml:mo><mml:mfenced open="{" close="}"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mi>P</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">opt</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>:</mml:mo><mml:mi>P</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          In other words, for each split, the performance gain is always computed with respect to the best model trained without time contiguity (<inline-formula><mml:math id="M604" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M605" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1).</p>
      <p id="d2e9257">Average performance gains are depicted in Figs. <xref ref-type="fig" rid="F7"/>b and <xref ref-type="fig" rid="F8"/>b, which  differ only slightly from those in Experiment 1, as models trained on <inline-formula><mml:math id="M606" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are better, on average, than models trained on <inline-formula><mml:math id="M607" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. Linear regression models trained with <inline-formula><mml:math id="M608" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M609" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 still achieve performance gains of 15.0 % in correlation, 12.8 % in NMSE, and 6.6 % in NMAE, whereas random forests achieve average gains of around 7.3 %, 6.6 %, and 4.7 %, respectively. Again, we observe that improvements over <inline-formula><mml:math id="M610" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M611" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 are not only true on average, but also for each individual split: Figs. <xref ref-type="fig" rid="F7"/>c and <xref ref-type="fig" rid="F8"/>c show the minimal performance gains over all 60 splits. It shows that linear regression models for <inline-formula><mml:math id="M612" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M613" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 always achieve an improvement of at least 11.7 % in correlation, 9.1 % in NMSE, and 4.4 % in NMAE. Random forests achieve gains of at least 2.5 %, 3.0 %, and 3.1 %, respectively. Hence, models with a larger time contiguity <inline-formula><mml:math id="M614" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M615" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 1 provide reliable and statistically significant improvements (with respect to the performance measures) compared to models with no time contiguity (<inline-formula><mml:math id="M616" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M617" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1). Similar observations are made for the coefficient of determination and the index of agreement, two further performance measures. Definitions can be found in Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/> and achieved performances in Tables <xref ref-type="table" rid="TB2"/> and <xref ref-type="table" rid="TB3"/> in Appendix <xref ref-type="sec" rid="App1.Ch1.S2"/>.</p>
      <p id="d2e9381">So far, we have discussed the test case <inline-formula><mml:math id="M618" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M619" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 in detail. In the remainder of this section, we briefly summarize our similar observations for general <inline-formula><mml:math id="M620" display="inline"><mml:mrow><mml:mi>N</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>: for all <inline-formula><mml:math id="M621" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>, we observed that the best test performances on <inline-formula><mml:math id="M622" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are achieved when training on <inline-formula><mml:math id="M623" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, i.e., with time contiguity <inline-formula><mml:math id="M624" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M625" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M626" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>. If <inline-formula><mml:math id="M627" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M628" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 5, we observe that there is barely any difference between training on <inline-formula><mml:math id="M629" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and training on <inline-formula><mml:math id="M630" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, which implies that it is not required to use a larger time contiguity than <inline-formula><mml:math id="M631" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M632" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4. Also, for the general test case <inline-formula><mml:math id="M633" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula>, models trained with time contiguity <inline-formula><mml:math id="M634" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M635" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 1 achieve reliable performance gains over models trained with <inline-formula><mml:math id="M636" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M637" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1. Results for the test case <inline-formula><mml:math id="M638" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are illustrated in Figs. <xref ref-type="fig" rid="FC2"/> and <xref ref-type="fig" rid="FC3"/> in Appendix <xref ref-type="sec" rid="App1.Ch1.S3"/>.</p>
      <p id="d2e9608">Altogether, our findings demonstrate that it is indeed reliably beneficial to use time-contiguous input features for predicting surface <inline-formula><mml:math id="M639" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, in spite of a smaller available training dataset, which answers our main research question. As a rule of thumb, consider the case where surface <inline-formula><mml:math id="M640" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is to be predicted at a given location and time for which input features are also available at <inline-formula><mml:math id="M641" display="inline"><mml:mrow><mml:mi>j</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> previous hours. Then use <inline-formula><mml:math id="M642" display="inline"><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M643" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M644" display="inline"><mml:mrow><mml:mo>min⁡</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> hours, in addition to the features at the current time, as input for a random forest that has been trained with time contiguity <inline-formula><mml:math id="M645" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M646" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M647" display="inline"><mml:mrow><mml:msup><mml:mi>j</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> on a dataset <inline-formula><mml:math id="M648" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. If features are not available at previous hours, use the random forest that has been trained without time contiguity. We have demonstrated within this experiment that time-contiguous models provide  valuable support whenever they are applicable. An interesting future task would be to inspect whether a similar rule can be observed for other machine learning approaches.</p>
      <p id="d2e9727">Within this section, we analyzed the difference between time-contiguous models in terms of prediction accuracy. However, we did not systematically assess other potential differences that may arise when switching between models trained with different time-contiguous features. For practical applications, when combining these models to create surface <inline-formula><mml:math id="M649" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> concentration maps, it remains an interesting avenue for future work to investigate whether the ensemble of such models yields consistent combined spatial patterns in predicted surface <inline-formula><mml:math id="M650" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S5.SS3">
  <label>5.3</label><title>Experiment 3: influence of tropospheric NO<sub>2</sub> VCDs, latitude, and surface height</title>
      <p id="d2e9771">In Experiment 3, we compare the outcomes of Experiment 2 in four different settings regarding the input of the models, as described in Sect. <xref ref-type="sec" rid="Ch1.S3.SS2"/>: <list list-type="custom"><list-item><label> </label>
      <p id="d2e9778"><italic>Setting 1.</italic> All features selected in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/> are included as input features, which was the setting in Experiments 1 and 2.</p></list-item><list-item><label> </label>
      <p id="d2e9786"><italic>Setting 2.</italic> VCDs are excluded as an input feature.</p></list-item><list-item><label> </label>
      <p id="d2e9792"><italic>Setting 3.</italic> Latitude and surface height are excluded.</p></list-item><list-item><label> </label>
      <p id="d2e9798"><italic>Setting 4.</italic> VCDs, latitude, and surface height are excluded.</p></list-item></list> In this section, we focus exclusively on random forests and discuss the test results on <inline-formula><mml:math id="M652" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for the four different settings above.</p>
      <p id="d2e9820">Setting 1 is discussed in the previous section, where the results are illustrated in Fig. <xref ref-type="fig" rid="F8"/>. Equally detailed illustrations for the remaining three settings are provided in Appendix <xref ref-type="sec" rid="App1.Ch1.S4"/>. A direct comparison between the four settings is made in Fig. <xref ref-type="fig" rid="F9"/>: panel (a) shows the average Pearson correlation, NMSE, and NMAE achieved by random forests within these four settings, while panel (b) displays the corresponding average performance gains. For clarity, we only include the results for the models trained on <inline-formula><mml:math id="M653" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for different time contiguities <inline-formula><mml:math id="M654" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">…</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula>, excluding the models trained on larger datasets <inline-formula><mml:math id="M655" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> (similar to Experiment 1).</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e9888">In the four settings of Experiment 3 (named in the legends of the plots), random forests are trained and tested on <inline-formula><mml:math id="M656" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for different time contiguities <inline-formula><mml:math id="M657" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Performance is evaluated through six-times 10-fold spatial cross-validation. Panel <bold>(a)</bold> shows the average performance over all 60 station splits achieved within these four settings. Three performance measures are considered, one for each row. Error bars illustrate the standard deviation. Panel <bold>(b)</bold> shows the average performance gain relative to the best case of <inline-formula><mml:math id="M658" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M659" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1; see Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>) for the definition of performance gain.</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f09.png"/>

        </fig>

      <p id="d2e9944">In Setting 3, where latitude and surface height are excluded, the models achieve similar results to those in the original Setting 1. Results are even slightly better without using these coordinates if <inline-formula><mml:math id="M660" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M661" display="inline"><mml:mo>&gt;</mml:mo></mml:math></inline-formula> 1. Moreover, the benefit of using time-contiguous input features is larger in Setting 3: average performance gains, calculated with Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>), achieved when training on <inline-formula><mml:math id="M662" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are 9.3 % in Pearson correlation, 8.3 % in NMSE, and 5.7 % in NMAE. The minimum gains across all 60 station splits are 5.4 %, 3.7 %, and 3.8 % in correlation, NMSE, and NMAE, respectively (see Fig. <xref ref-type="fig" rid="FD1"/>). This implies that, similar to Setting 1, including time-contiguous features also provides a reliable improvement in Setting 3. This observation that coordinates are not required as inputs to make good predictions is promising, since it presumably increases the models' chances to also perform  well outside of South Korea. Nevertheless, this hypothesis remains to be investigated within further research.</p>
      <p id="d2e9981">When excluding the tropospheric <inline-formula><mml:math id="M663" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs (Setting 2), all performance measures decline, which is expected because the VCDs correlate the most among all input features with the surface <inline-formula><mml:math id="M664" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> measurements.  Despite this, the performances remain acceptable. For instance, with time contiguity <inline-formula><mml:math id="M665" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M666" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1, the average Pearson correlation in Setting 2 is 0.78, whereas it is about 0.8 in Settings 1 and 3, when VCDs are included. Interestingly, without VCDs in Setting 2, the average performance gains achieved with larger <inline-formula><mml:math id="M667" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> are significantly lower: in Setting 2, the average performance gain is around 2 %, whereas in Settings 1 and 3, it is 3.5 and 4.5 times larger, respectively. Consequently, for time contiguity <inline-formula><mml:math id="M668" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M669" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4, the difference in performance is larger: models in Setting 2 achieve an average correlation of 0.786, while those in Settings 1 and 3 reach almost 0.82. When tropospheric <inline-formula><mml:math id="M670" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs, latitude, and surface height are excluded in Setting 4, not only do performances  weaken further, but the performance gains also drop below 1 %. In Setting 4, the average correlation is below 0.765 for all <inline-formula><mml:math id="M671" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Similar trends are observed for  NMSE and NMAE. This indicates that spatial coordinates play a more critical role when VCDs are excluded, which presumably leads to models that are less capable of generalizing to locations outside of South Korea. Inspecting the connection between including VCDs and the model's ability to generalize to locations outside of South Korea remains an interesting task for the future.</p>
      <p id="d2e10060">Furthermore, when tropospheric <inline-formula><mml:math id="M672" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs are excluded, in both Setting 2 and Setting 4, the use of time-contiguous inputs  no longer provides a reliable improvement. Across the 60 station splits, the performance gain is not always positive, which can be seen in Fig. <xref ref-type="fig" rid="F9"/>b. Due to this observation that improvements by time-contiguous inputs are only reliable when including  VCDs, the following question arises: how is performance affected if VCDs are treated as the only time-contiguous input feature? The experiments covering this case are illustrated in Fig. <xref ref-type="fig" rid="FD4"/> in Appendix <xref ref-type="sec" rid="App1.Ch1.S4"/>. We observe that the average performances and average performance gains are higher if  the other features are also considered time contiguous. Therefore, one future task could be to find the optimal choice of time contiguity <inline-formula><mml:math id="M673" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> for each input feature individually.</p>
      <p id="d2e10087">At the end of this section, we show in Fig. <xref ref-type="fig" rid="F10"/> an example of how predictions of surface <inline-formula><mml:math id="M674" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> appear on a map for the four investigated settings. We consider latitudes and longitudes within 32° N, 39° N and 124° E, 132° E, respectively. GEMS tropospheric <inline-formula><mml:math id="M675" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs on 7 April 2021 from 01:45 to 02:15 UTC are shown in panel (a). We chose this time and day due to little cloud cover in the area and thus only a few missing satellite observations. Predictions of surface <inline-formula><mml:math id="M676" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> from 01:00 to 02:00 UTC made by random forests are shown in panel (b) for Settings 1 and 3, whereas panel (c) covers the settings with tropospheric <inline-formula><mml:math id="M677" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs excluded. All models have been trained with time contiguity <inline-formula><mml:math id="M678" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M679" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 on <inline-formula><mml:math id="M680" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>.</p>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e10169">Predictions of surface <inline-formula><mml:math id="M681" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> by random forests on 7 April 2021 from 01:00 to 02:00 UTC, for Settings 1–4 of Experiment 3. Panel <bold>(a)</bold> shows tropospheric <inline-formula><mml:math id="M682" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs from 01:45 to 02:15 UTC. Panel <bold>(b)</bold> shows predicted surface <inline-formula><mml:math id="M683" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> in Settings 1 and 3, when VCDs are included as  input. Panel <bold>(c)</bold> shows predictions in Settings 2 and 4, when VCDs are excluded. In the second row of panels <bold>(b)</bold> and <bold>(c)</bold>, latitude and surface height are excluded. The black mask indicates missing data, e.g., due to clouds. All models have been trained with time contiguity <inline-formula><mml:math id="M684" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M685" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4 on <inline-formula><mml:math id="M686" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for the same choice of training stations.</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f10.png"/>

        </fig>

      <p id="d2e10258">We observe that there is a high similarity between predictions made in Settings 1 and 3, when tropospheric <inline-formula><mml:math id="M687" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs are included as input features. This is in agreement with our findings from Fig. <xref ref-type="fig" rid="F9"/> that in both settings similar results are achieved regarding all considered performance measures. This observation is promising, as excluding latitude and surface height reduces the spatial bias of the model, which is to be tested in future studies. Therefore, presumably, the model's chance of making suitable predictions in different parts of the world increases. In Settings 1 and 3, the impact of the tropospheric <inline-formula><mml:math id="M688" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs on the prediction of surface <inline-formula><mml:math id="M689" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is directly visible, since the hotspots of the VCDs and predictions of surface <inline-formula><mml:math id="M690" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are depicted at the same locations. On the other hand, when VCDs are excluded in Settings 2 and 4, these hotspots are less recognizable due to a smaller contrast to their neighborhood; see  Fig. <xref ref-type="fig" rid="F10"/>c. In Settings 2 and 4, the predicted surface <inline-formula><mml:math id="M691" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> has a coarser resolution, which is to be expected considering that the resolution of meteorological inputs is 8 times coarser compared to the VCDs. In all four settings, the contrast between the hotspots and the background of predicted surface <inline-formula><mml:math id="M692" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is less pronounced compared to the contrast observed in the tropospheric <inline-formula><mml:math id="M693" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs shown in panel (a). This effect is even more evident in another example from 27 February 2022, shown in Fig. <xref ref-type="fig" rid="F11"/>. Notably, the predicted concentrations of surface <inline-formula><mml:math id="M694" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> over water are only slightly smaller compared to those over land within all settings, even in regions far from the coast, such as the southeastern parts of the maps. However, emissions over water are not expected, aside from maritime traffic. Furthermore, at some distance from the coast, no contribution from land-based emissions is expected due to the short atmospheric lifetime of <inline-formula><mml:math id="M695" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Consequently, both the tropospheric <inline-formula><mml:math id="M696" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs and the surface <inline-formula><mml:math id="M697" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> concentrations should be low in these areas. Given the predicted surface concentrations of approximately 7 <inline-formula><mml:math id="M698" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, it appears that the models have likely overestimated surface <inline-formula><mml:math id="M699" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> concentrations in these areas over water. This aligns with the observation from Fig. <xref ref-type="fig" rid="F6"/>, which shows that the models tend to overestimate low surface <inline-formula><mml:math id="M700" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> values. A possible explanation for this could be that the models were trained only on data from stations located on land or islands.</p>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e10436">Same as Fig. <xref ref-type="fig" rid="F10"/> but on 27 February 2022. Panel <bold>(a)</bold> shows the VCDs from 06:45 to 07:15 UTC. Panels <bold>(b)</bold> and <bold>(c)</bold> show predicted surface <inline-formula><mml:math id="M701" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> from 06:00 to 07:00 UTC, for the four settings of Experiment 3.</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f11.png"/>

        </fig>

</sec>
<sec id="Ch1.S5.SS4">
  <label>5.4</label><title>Seasonal and diurnal error distribution</title>
      <p id="d2e10475">In the previous sections, the performance of machine learning models is evaluated using whole-year data, spanning  January 2021 to November 2022. In this section, we inspect how prediction quality varies across different seasons and throughout the day. Some variation is expected, as the accuracy of GEMS observations also fluctuates. For example, accuracy tends to be lower in the morning  due to the shallow boundary layer <xref ref-type="bibr" rid="bib1.bibx49" id="paren.80"/>. For the remainder of this section, we focus on the best-performing models identified in our earlier analysis. Specifically, we reconsider the random forest models from Setting 3 in Sect. <xref ref-type="sec" rid="Ch1.S5.SS3"/>, which do not incorporate spatial coordinates as input features. These models were trained on all respective training datasets <inline-formula><mml:math id="M702" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, but for this section, their performance is spatially cross-validated on the test datasets for different seasons and times of the day individually. For simplicity, we restrict our attention to models that were trained on the dataset <inline-formula><mml:math id="M703" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. Furthermore, we inspect whether benefits from time-contiguous inputs depend on the season or time of the day.</p>
      <p id="d2e10515">First, we compare the test performance across different seasons. Each season in South Korea is typically defined as a 3-month period: spring (March–May), summer (June–August), autumn (September–November), and winter (December–February). Table <xref ref-type="table" rid="T3"/> shows the percentage of data points in <inline-formula><mml:math id="M704" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> belonging to each season. Notably, summer has the fewest valid data points due to the applied filter for the <inline-formula><mml:math id="M705" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:math></inline-formula> value during data preprocessing. In addition, the Pearson correlation between surface <inline-formula><mml:math id="M706" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, measured at the in situ stations, and VCDs is the lowest in summer (see Table <xref ref-type="table" rid="T3"/>). These factors likely contribute to the significantly lower performance of the random forest models in summer compared to other seasons (see Fig. <xref ref-type="fig" rid="F12"/>). In contrast, the model performance is the highest in winter across all performance measures, i.e., for Pearson correlation, NMSE, and NMAE. Moreover, we observe that within each season, incorporating time-contiguous inputs improves prediction quality. The performance gains, calculated using Eq. (<xref ref-type="disp-formula" rid="Ch1.E5"/>), are also shown in Fig. <xref ref-type="fig" rid="F12"/>. Notably, the largest gains from time-contiguous inputs occur in winter, exceeding 12 % in Pearson correlation for time contiguity <inline-formula><mml:math id="M707" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M708" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 4. The smallest gains are observed in summer, with an improvement of only 5 % in Pearson correlation.</p>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e10583">Statistics for seasonal segments of the dataset <inline-formula><mml:math id="M709" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Spring</oasis:entry>
         <oasis:entry colname="col3">Summer</oasis:entry>
         <oasis:entry colname="col4">Autumn</oasis:entry>
         <oasis:entry colname="col5">Winter</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Proportion of <inline-formula><mml:math id="M710" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> dataset</oasis:entry>
         <oasis:entry colname="col2">41 %</oasis:entry>
         <oasis:entry colname="col3">16 %</oasis:entry>
         <oasis:entry colname="col4">20 %</oasis:entry>
         <oasis:entry colname="col5">23%</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Proportion of <inline-formula><mml:math id="M711" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> if no <inline-formula><mml:math id="M712" display="inline"><mml:mrow><mml:mi>q</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:math></inline-formula> filter was used</oasis:entry>
         <oasis:entry colname="col2">28 %</oasis:entry>
         <oasis:entry colname="col3">33 %</oasis:entry>
         <oasis:entry colname="col4">23 %</oasis:entry>
         <oasis:entry colname="col5">14 %</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Correlation of VCDs with surface <inline-formula><mml:math id="M713" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> measurements</oasis:entry>
         <oasis:entry colname="col2">0.68</oasis:entry>
         <oasis:entry colname="col3">0.58</oasis:entry>
         <oasis:entry colname="col4">0.67</oasis:entry>
         <oasis:entry colname="col5">0.74</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <fig id="F12" specific-use="star"><label>Figure 12</label><caption><p id="d2e10751">Random forests trained on <inline-formula><mml:math id="M714" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for different time contiguities <inline-formula><mml:math id="M715" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, without spatial coordinates as input features. Test performance is evaluated in different seasons (winter, spring, summer, and autumn) through six-times 10-fold spatial cross-validation. Panel <bold>(a)</bold> shows the average performance over all 60 station splits achieved in different seasons and for different <inline-formula><mml:math id="M716" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Three performance measures are considered, one for each row. Error bars illustrate the standard deviation. Panel <bold>(b)</bold> shows the average performance gain relative to the case of <inline-formula><mml:math id="M717" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M718" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1; see Eq. (<xref ref-type="disp-formula" rid="Ch1.E5"/>) for the definition of performance gain.</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f12.png"/>

        </fig>

      <p id="d2e10813">Finally, the performance across different times of the day is illustrated in Fig. <xref ref-type="fig" rid="F13"/>. Since we focus on training and testing on <inline-formula><mml:math id="M719" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, the earliest time window with available data is 10:00–11:00 Korean standard time (KST). The best performance is achieved around midday, while the performance declines in the morning and afternoon. The worst results occur between 16:00 and 17:00 KST, possibly due to the fact that surface <inline-formula><mml:math id="M720" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> has the weakest correlation with VCDs at that time (see Table <xref ref-type="table" rid="T4"/>).  Moreover, it should be noted that for datasets <inline-formula><mml:math id="M721" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> with  <inline-formula><mml:math id="M722" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M723" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 3, in which data points at times earlier than 10:00 KST occur, the performance is expected to further decrease compared to the later morning hours.</p>

      <fig id="F13" specific-use="star"><label>Figure 13</label><caption><p id="d2e10880">Same random forests as in Fig. <xref ref-type="fig" rid="F12"/> but the test performance is cross-validated at different times of the day. The time windows are chosen in line with the in situ dataset. Korean standard time (KST) is used.</p></caption>
          <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f13.png"/>

        </fig>

<table-wrap id="T4" specific-use="star"><label>Table 4</label><caption><p id="d2e10894">Statistics for different hourly segments of the dataset <inline-formula><mml:math id="M724" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="8">
     <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:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:thead>
       <oasis:row>

         <oasis:entry colname="col1"/>

         <oasis:entry rowsep="1" namest="col2" nameend="col8" align="center">Time windows of predicted surface <inline-formula><mml:math id="M725" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> (KST) </oasis:entry>

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

         <oasis:entry colname="col1"/>

         <oasis:entry colname="col2">10:00–11:00</oasis:entry>

         <oasis:entry colname="col3">11:00–12:00</oasis:entry>

         <oasis:entry colname="col4">12:00–13:00</oasis:entry>

         <oasis:entry colname="col5">13:00–14:00</oasis:entry>

         <oasis:entry colname="col6">14:00–15:00</oasis:entry>

         <oasis:entry colname="col7">15:00–16:00</oasis:entry>

         <oasis:entry colname="col8">16:00–17:00</oasis:entry>

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

         <oasis:entry colname="col1">Proportion of <inline-formula><mml:math id="M726" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> dataset</oasis:entry>

         <oasis:entry colname="col2">8 %</oasis:entry>

         <oasis:entry colname="col3">12 %</oasis:entry>

         <oasis:entry colname="col4">20 %</oasis:entry>

         <oasis:entry colname="col5">20 %</oasis:entry>

         <oasis:entry colname="col6">19 %</oasis:entry>

         <oasis:entry colname="col7">14 %</oasis:entry>

         <oasis:entry colname="col8">7 %</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1">Correlation of VCDs with surface</oasis:entry>

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

         <oasis:entry colname="col3" morerows="1">0.71</oasis:entry>

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

         <oasis:entry colname="col5" morerows="1">0.71</oasis:entry>

         <oasis:entry colname="col6" morerows="1">0.69</oasis:entry>

         <oasis:entry colname="col7" morerows="1">0.59</oasis:entry>

         <oasis:entry colname="col8" morerows="1">0.52</oasis:entry>

       </oasis:row>
       <oasis:row>

         <oasis:entry colname="col1"><inline-formula><mml:math id="M727" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> measurements</oasis:entry>

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

      <p id="d2e11075">Furthermore, at all times, time-contiguous models consistently outperform models with no time contiguity <inline-formula><mml:math id="M728" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M729" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1, demonstrating a clear benefit from using time-contiguous input features.</p>
</sec>
</sec>
<sec id="Ch1.S6" sec-type="conclusions">
  <label>6</label><title>Conclusions and outlook</title>
      <p id="d2e11101">For the first time, hourly tropospheric <inline-formula><mml:math id="M730" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs are available thanks to the geostationary satellite of the GEMS instrument platform. To predict surface <inline-formula><mml:math id="M731" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> levels at a given time and location, we proposed to also include VCDs and meteorological features from previous hours as inputs to the machine learning models.</p>
      <p id="d2e11126">Our main research question was whether the considered machine learning models, random forests and linear regression, benefit from hourly time-contiguous input features for the prediction of surface <inline-formula><mml:math id="M732" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. We observed that using time-contiguous input features led to reliable enhancements with respect to all considered performance measures, as long as tropospheric <inline-formula><mml:math id="M733" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs were included. For random forests, average performance gains were between 4.5 % and 7.5 % depending on the performance measure. For linear regression models, average performance gains were larger, namely between 7 % and 15 %. This is to be expected since the non-linear structure of random forests allows for the extraction of more information from non-time-contiguous inputs,  generally also leading to better predictions compared to linear regression models. These improvements were reliable in the sense that positive performance gains were  achieved not only on average, but also across all 60 splits into training and test in situ stations during spatial cross-validation. Moreover, we were able to demonstrate that performance gains were observed despite having much fewer data points available for training models with a larger time contiguity of their inputs. As a rule of thumb, for the case where tropospheric <inline-formula><mml:math id="M734" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs are used  as an input feature, we suggest the following: whenever surface <inline-formula><mml:math id="M735" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is to be predicted at a given location and time for which input features are available at <inline-formula><mml:math id="M736" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> previous hours, feed those features, together with those at the current time, into a random forest that has been trained with time contiguity <inline-formula><mml:math id="M737" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M738" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> <inline-formula><mml:math id="M739" display="inline"><mml:mrow><mml:mo>min⁡</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mi>j</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> on a given training dataset <inline-formula><mml:math id="M740" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, specified in Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/>. If features are not available at previous hours, one cannot use a time-contiguous model to make a prediction for these data points, so one has to use the random forest that has been trained without time contiguity. Therefore,  time-contiguous models should be understood as a supportive tool that should be applied whenever possible. Whether the rule of thumb above still applies to other machine learning models, such as neural networks or extreme gradient boosting, would be an interesting aspect for future studies.</p>
      <p id="d2e11235">Furthermore, when tropospheric <inline-formula><mml:math id="M741" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs were included as input in the models, we observed that latitude and surface height were not required for achieving similar performances and benefits from time-contiguous inputs. Presumably, this increases the chance that the models will also provide good predictions beyond South Korea, which will be an interesting investigation for future work. If validated, this would enhance the model's flexibility and broader applicability without the requirement of more training data, and hence longer training time, from different regions. Another task would be to determine the optimal time contiguity for every input feature individually, which would reduce redundancy among input features and hence  lead to better performances.</p>
      <p id="d2e11249">When tropospheric <inline-formula><mml:math id="M742" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs were excluded as input features, performance worsened but remained within an acceptable range. Additionally, we observed that the benefit of time-contiguous features was significantly reduced, and the performance gain was no longer reliable. Specifically, across all 60 splits during spatial cross-validation, benefits were not consistently observed. When both VCDs and spatial coordinates were excluded, performance decreased further. This indicates that spatial coordinates play a more critical role when VCDs are not included, which presumably leads to models that are less capable of generalizing to locations outside of South Korea. Again, this motivates further research on the connection between including VCDs and the models' ability to generalize to locations outside of South Korea.</p>
      <p id="d2e11264">Last but not least, we would like to address the time coverage of the data, which spans  January 2021 to November 2022. Although data from December 2022 are missing, Sect. <xref ref-type="sec" rid="Ch1.S5.SS4"/> shows that random forests performed best on winter data. It would be interesting to investigate whether models perform even better for a specific season when trained exclusively on data from that season. We leave this for future investigation. Furthermore, the Covid-19 pandemic occurred during the considered data time window, resulting in emissions that differ from those observed in non-pandemic conditions. This bias should be considered when applying models trained on Covid-19 data to pandemic-free settings.</p>
</sec>

      
      </body>
    <back><app-group>

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Further performance measures</title>
      <p id="d2e11281">In the following we describe further scale-insensitive performance measures to fill the gap between surface <inline-formula><mml:math id="M743" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> measurements <inline-formula><mml:math id="M744" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>∈</mml:mo><mml:msup><mml:mi mathvariant="double-struck">R</mml:mi><mml:mi>n</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> and predictions <inline-formula><mml:math id="M745" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> made by a machine learning model.</p>
      <p id="d2e11320"><italic>Coefficient of determination</italic> <italic>(</italic><inline-formula><mml:math id="M746" display="inline"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula><italic>)</italic>.

          <disp-formula id="App1.Ch1.S1.Ex1"><mml:math id="M747" display="block"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mi mathvariant="normal" mathsize="1.1em">|</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi mathsize="1.1em" mathvariant="normal">|</mml:mi></mml:mrow><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mi mathsize="1.1em" mathvariant="normal">|</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mo>-</mml:mo><mml:msup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>†</mml:mo></mml:msup><mml:mi mathsize="1.1em" mathvariant="normal">|</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:mtext>where</mml:mtext><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:msup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>†</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>n</mml:mi></mml:mfrac></mml:mstyle><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup></mml:mrow></mml:math></disp-formula>

        Note that <inline-formula><mml:math id="M748" display="inline"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> is similar to  NMAE, but normalization is done by the mean absolute deviation of <inline-formula><mml:math id="M749" display="inline"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> instead of its mean. Further, within the literature, the expression <inline-formula><mml:math id="M750" display="inline"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula> sometimes stands for the square of the correlation coefficient. However, in general, these definitions are not equivalent.</p>
      <p id="d2e11513"><italic>Index of agreement (IOA).</italic>

          <disp-formula id="App1.Ch1.S1.Ex2"><mml:math id="M751" display="block"><mml:mrow><mml:mtext>IOA</mml:mtext><mml:mfenced open="(" close=")"><mml:mrow><mml:msup><mml:mi>x</mml:mi><mml:mo>†</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:mi mathvariant="normal">|</mml:mi><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mi mathvariant="normal">|</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="normal">|</mml:mi><mml:msup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>†</mml:mo></mml:msup><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi mathvariant="normal">|</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="normal">|</mml:mi><mml:msup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>†</mml:mo></mml:msup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup><mml:mi mathvariant="normal">|</mml:mi></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

        Here <inline-formula><mml:math id="M752" display="inline"><mml:mrow><mml:msup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo mathvariant="normal">‾</mml:mo></mml:mover><mml:mo>†</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> denotes the mean of all <inline-formula><mml:math id="M753" display="inline"><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mi>i</mml:mi><mml:mo>†</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>.</p>
</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>Tables</title>

<table-wrap id="TB1"><label>Table B1</label><caption><p id="d2e11679">Features considered during feature selection in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>. For 200 splits into training and test stations, the Pearson correlation with surface <inline-formula><mml:math id="M754" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> was computed on the training set for each available feature. Average correlations are shown in the last column.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Feature name</oasis:entry>
         <oasis:entry colname="col3">Source</oasis:entry>
         <oasis:entry colname="col4">Average correlation  with surface <inline-formula><mml:math id="M755" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Selected features</oasis:entry>
         <oasis:entry colname="col2">Tropospheric vertical column density of <inline-formula><mml:math id="M756" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">IUP-UB retrieval on GEMS data</oasis:entry>
         <oasis:entry colname="col4">0.626</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Latitude at the center of GEMS pixel</oasis:entry>
         <oasis:entry colname="col3">GEMS data product</oasis:entry>
         <oasis:entry colname="col4">0.149</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Surface height at the center of GEMS pixel</oasis:entry>
         <oasis:entry colname="col3">GEMS data product</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M757" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.185</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">10 m <inline-formula><mml:math id="M758" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> component of wind</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M759" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.105</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">100 m <inline-formula><mml:math id="M760" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> component of wind</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M761" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.112</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Instantaneous 10 m wind gust</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M762" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.237</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">2 m temperature</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M763" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.252</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Surface pressure</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4">0.293</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Skin temperature</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M764" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.226</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">UV–visible albedo for diffuse radiation</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4">0.297</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Downward UV radiation at the surface</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M765" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.217</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">UV–visible albedo for direct radiation</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4">0.283</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Boundary layer height</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M766" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.318</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Total column water</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M767" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.212</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Evaporation</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4">0.239</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Soil type</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4">0.163</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">High vegetation cover</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M768" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.130</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Excluded features</oasis:entry>
         <oasis:entry colname="col2">Measuring time (hour)</oasis:entry>
         <oasis:entry colname="col3">Defined in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2"/></oasis:entry>
         <oasis:entry colname="col4">0.001</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Longitude at the center of GEMS pixel</oasis:entry>
         <oasis:entry colname="col3">GEMS data product</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M769" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.054</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">10 m <inline-formula><mml:math id="M770" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula> component of wind</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4">0.076</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">100 m <inline-formula><mml:math id="M771" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula> component of wind</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4">0.076</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Vertical integral of temperature</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M772" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.009</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Total column ozone</oasis:entry>
         <oasis:entry colname="col3">ERA5</oasis:entry>
         <oasis:entry colname="col4">0.062</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TB2"><label>Table B2</label><caption><p id="d2e12181">Linear regression models have been trained on <inline-formula><mml:math id="M773" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</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="M774" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M775" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 4 with different time contiguities <inline-formula><mml:math id="M776" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> and input features selected in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>. Performance on <inline-formula><mml:math id="M777" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> has been evaluated through six-times 10-fold spatial cross-validation. Five different performance measures are considered, defined in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/> and Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>. The best results are marked in bold.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="12">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:colspec colnum="11" colname="col11" align="right"/>
     <oasis:colspec colnum="12" colname="col12" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry rowsep="1" namest="col3" nameend="col12" align="center">Training datasets <inline-formula><mml:math id="M778" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M779" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M780" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M781" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M782" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M783" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M784" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col9"><inline-formula><mml:math id="M785" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M786" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col11"><inline-formula><mml:math id="M787" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M788" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Correlation</oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.6806</oasis:entry>
         <oasis:entry colname="col4">0.6895</oasis:entry>
         <oasis:entry colname="col5">0.6992</oasis:entry>
         <oasis:entry colname="col6">0.7015</oasis:entry>
         <oasis:entry colname="col7">0.7257</oasis:entry>
         <oasis:entry colname="col8">0.7321</oasis:entry>
         <oasis:entry colname="col9">0.7351</oasis:entry>
         <oasis:entry colname="col10">0.7402</oasis:entry>
         <oasis:entry colname="col11">0.7431</oasis:entry>
         <oasis:entry colname="col12"><bold>0.7469</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0219</oasis:entry>
         <oasis:entry colname="col4">0.021</oasis:entry>
         <oasis:entry colname="col5">0.0207</oasis:entry>
         <oasis:entry colname="col6">0.0212</oasis:entry>
         <oasis:entry colname="col7">0.0199</oasis:entry>
         <oasis:entry colname="col8">0.0198</oasis:entry>
         <oasis:entry colname="col9">0.0201</oasis:entry>
         <oasis:entry colname="col10">0.0196</oasis:entry>
         <oasis:entry colname="col11">0.0198</oasis:entry>
         <oasis:entry colname="col12">0.0199</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">7.9109</oasis:entry>
         <oasis:entry colname="col8">10.0592</oasis:entry>
         <oasis:entry colname="col9">11.0761</oasis:entry>
         <oasis:entry colname="col10">12.7933</oasis:entry>
         <oasis:entry colname="col11">13.7819</oasis:entry>
         <oasis:entry colname="col12"><bold>15.0394</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">1.788</oasis:entry>
         <oasis:entry colname="col8">1.6522</oasis:entry>
         <oasis:entry colname="col9">1.2735</oasis:entry>
         <oasis:entry colname="col10">1.699</oasis:entry>
         <oasis:entry colname="col11">1.4521</oasis:entry>
         <oasis:entry colname="col12">1.6349</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">NMSE</oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.2298</oasis:entry>
         <oasis:entry colname="col4">0.2149</oasis:entry>
         <oasis:entry colname="col5">0.2006</oasis:entry>
         <oasis:entry colname="col6">0.1961</oasis:entry>
         <oasis:entry colname="col7">0.1897</oasis:entry>
         <oasis:entry colname="col8">0.1815</oasis:entry>
         <oasis:entry colname="col9">0.1776</oasis:entry>
         <oasis:entry colname="col10">0.1766</oasis:entry>
         <oasis:entry colname="col11">0.173</oasis:entry>
         <oasis:entry colname="col12"><bold>0.1709</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0141</oasis:entry>
         <oasis:entry colname="col4">0.0128</oasis:entry>
         <oasis:entry colname="col5">0.0125</oasis:entry>
         <oasis:entry colname="col6">0.0135</oasis:entry>
         <oasis:entry colname="col7">0.0125</oasis:entry>
         <oasis:entry colname="col8">0.0128</oasis:entry>
         <oasis:entry colname="col9">0.0136</oasis:entry>
         <oasis:entry colname="col10">0.0129</oasis:entry>
         <oasis:entry colname="col11">0.0136</oasis:entry>
         <oasis:entry colname="col12">0.0137</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">3.0353</oasis:entry>
         <oasis:entry colname="col8">7.2854</oasis:entry>
         <oasis:entry colname="col9">9.3237</oasis:entry>
         <oasis:entry colname="col10">9.7677</oasis:entry>
         <oasis:entry colname="col11">11.6669</oasis:entry>
         <oasis:entry colname="col12"><bold>12.7688</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">2.3991</oasis:entry>
         <oasis:entry colname="col8">1.4194</oasis:entry>
         <oasis:entry colname="col9">1.162</oasis:entry>
         <oasis:entry colname="col10">1.5324</oasis:entry>
         <oasis:entry colname="col11">1.3681</oasis:entry>
         <oasis:entry colname="col12">1.5287</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">NMAE</oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.4357</oasis:entry>
         <oasis:entry colname="col4">0.4161</oasis:entry>
         <oasis:entry colname="col5">0.3926</oasis:entry>
         <oasis:entry colname="col6">0.3791</oasis:entry>
         <oasis:entry colname="col7">0.3769</oasis:entry>
         <oasis:entry colname="col8">0.3657</oasis:entry>
         <oasis:entry colname="col9">0.3573</oasis:entry>
         <oasis:entry colname="col10">0.3599</oasis:entry>
         <oasis:entry colname="col11">0.3519</oasis:entry>
         <oasis:entry colname="col12"><bold>0.3499</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0164</oasis:entry>
         <oasis:entry colname="col4">0.0151</oasis:entry>
         <oasis:entry colname="col5">0.0135</oasis:entry>
         <oasis:entry colname="col6">0.0126</oasis:entry>
         <oasis:entry colname="col7">0.0127</oasis:entry>
         <oasis:entry colname="col8">0.0126</oasis:entry>
         <oasis:entry colname="col9">0.0127</oasis:entry>
         <oasis:entry colname="col10">0.0127</oasis:entry>
         <oasis:entry colname="col11">0.0127</oasis:entry>
         <oasis:entry colname="col12">0.0129</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M789" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.6329</oasis:entry>
         <oasis:entry colname="col8">2.354</oasis:entry>
         <oasis:entry colname="col9">4.6017</oasis:entry>
         <oasis:entry colname="col10">3.922</oasis:entry>
         <oasis:entry colname="col11">6.0653</oasis:entry>
         <oasis:entry colname="col12"><bold>6.6</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">1.464</oasis:entry>
         <oasis:entry colname="col8">1.0568</oasis:entry>
         <oasis:entry colname="col9">0.6454</oasis:entry>
         <oasis:entry colname="col10">1.1123</oasis:entry>
         <oasis:entry colname="col11">0.7738</oasis:entry>
         <oasis:entry colname="col12">0.8988</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M790" display="inline"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.3984</oasis:entry>
         <oasis:entry colname="col4">0.4378</oasis:entry>
         <oasis:entry colname="col5">0.4754</oasis:entry>
         <oasis:entry colname="col6">0.4874</oasis:entry>
         <oasis:entry colname="col7">0.5038</oasis:entry>
         <oasis:entry colname="col8">0.5255</oasis:entry>
         <oasis:entry colname="col9">0.5359</oasis:entry>
         <oasis:entry colname="col10">0.5382</oasis:entry>
         <oasis:entry colname="col11">0.5479</oasis:entry>
         <oasis:entry colname="col12"><bold>0.5535</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0432</oasis:entry>
         <oasis:entry colname="col4">0.0361</oasis:entry>
         <oasis:entry colname="col5">0.0311</oasis:entry>
         <oasis:entry colname="col6">0.0308</oasis:entry>
         <oasis:entry colname="col7">0.0324</oasis:entry>
         <oasis:entry colname="col8">0.0305</oasis:entry>
         <oasis:entry colname="col9">0.0305</oasis:entry>
         <oasis:entry colname="col10">0.0304</oasis:entry>
         <oasis:entry colname="col11">0.0303</oasis:entry>
         <oasis:entry colname="col12">0.0306</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">3.0353</oasis:entry>
         <oasis:entry colname="col8">7.2854</oasis:entry>
         <oasis:entry colname="col9">9.3237</oasis:entry>
         <oasis:entry colname="col10">9.7677</oasis:entry>
         <oasis:entry colname="col11">11.6669</oasis:entry>
         <oasis:entry colname="col12"><bold>12.7688</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">2.3991</oasis:entry>
         <oasis:entry colname="col8">1.4195</oasis:entry>
         <oasis:entry colname="col9">1.162</oasis:entry>
         <oasis:entry colname="col10">1.5324</oasis:entry>
         <oasis:entry colname="col11">1.3681</oasis:entry>
         <oasis:entry colname="col12">1.5287</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">IOA</oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.809</oasis:entry>
         <oasis:entry colname="col4">0.811</oasis:entry>
         <oasis:entry colname="col5">0.8096</oasis:entry>
         <oasis:entry colname="col6">0.8003</oasis:entry>
         <oasis:entry colname="col7">0.8381</oasis:entry>
         <oasis:entry colname="col8">0.8365</oasis:entry>
         <oasis:entry colname="col9">0.8283</oasis:entry>
         <oasis:entry colname="col10"><bold>0.8423</bold></oasis:entry>
         <oasis:entry colname="col11">0.8349</oasis:entry>
         <oasis:entry colname="col12">0.8379</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0145</oasis:entry>
         <oasis:entry colname="col4">0.0149</oasis:entry>
         <oasis:entry colname="col5">0.0164</oasis:entry>
         <oasis:entry colname="col6">0.0185</oasis:entry>
         <oasis:entry colname="col7">0.0145</oasis:entry>
         <oasis:entry colname="col8">0.0156</oasis:entry>
         <oasis:entry colname="col9">0.0173</oasis:entry>
         <oasis:entry colname="col10">0.0154</oasis:entry>
         <oasis:entry colname="col11">0.017</oasis:entry>
         <oasis:entry colname="col12">0.0169</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">14.0378</oasis:entry>
         <oasis:entry colname="col8">13.2159</oasis:entry>
         <oasis:entry colname="col9">8.9272</oasis:entry>
         <oasis:entry colname="col10"><bold>16.3166</bold></oasis:entry>
         <oasis:entry colname="col11">12.3957</oasis:entry>
         <oasis:entry colname="col12">14.018</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">1.5684</oasis:entry>
         <oasis:entry colname="col8">2.1544</oasis:entry>
         <oasis:entry colname="col9">2.9093</oasis:entry>
         <oasis:entry colname="col10">2.2224</oasis:entry>
         <oasis:entry colname="col11">2.9518</oasis:entry>
         <oasis:entry colname="col12">2.9977</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="TB3"><label>Table B3</label><caption><p id="d2e13324">Random forests have been trained on <inline-formula><mml:math id="M791" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</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="M792" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M793" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 4 with different time contiguities <inline-formula><mml:math id="M794" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> and input features selected in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>. Performance on <inline-formula><mml:math id="M795" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> has been evaluated through six-times 10-fold spatial cross-validation. Five different performance measures are considered, defined in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/> and Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>. The best results are marked in bold.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="12">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:colspec colnum="11" colname="col11" align="right"/>
     <oasis:colspec colnum="12" colname="col12" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry rowsep="1" namest="col3" nameend="col12" align="center">Training datasets <inline-formula><mml:math id="M796" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>N</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M797" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M798" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M799" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M800" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M801" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M802" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col9"><inline-formula><mml:math id="M803" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M804" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col11"><inline-formula><mml:math id="M805" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M806" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Correlation</oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.7993</oasis:entry>
         <oasis:entry colname="col4">0.8</oasis:entry>
         <oasis:entry colname="col5">0.8023</oasis:entry>
         <oasis:entry colname="col6">0.8018</oasis:entry>
         <oasis:entry colname="col7">0.8119</oasis:entry>
         <oasis:entry colname="col8">0.812</oasis:entry>
         <oasis:entry colname="col9">0.8114</oasis:entry>
         <oasis:entry colname="col10">0.8164</oasis:entry>
         <oasis:entry colname="col11">0.8159</oasis:entry>
         <oasis:entry colname="col12"><bold>0.8173</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0213</oasis:entry>
         <oasis:entry colname="col4">0.0213</oasis:entry>
         <oasis:entry colname="col5">0.0216</oasis:entry>
         <oasis:entry colname="col6">0.0223</oasis:entry>
         <oasis:entry colname="col7">0.0208</oasis:entry>
         <oasis:entry colname="col8">0.0209</oasis:entry>
         <oasis:entry colname="col9">0.0213</oasis:entry>
         <oasis:entry colname="col10">0.021</oasis:entry>
         <oasis:entry colname="col11">0.0212</oasis:entry>
         <oasis:entry colname="col12">0.0211</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">4.5676</oasis:entry>
         <oasis:entry colname="col8">4.6283</oasis:entry>
         <oasis:entry colname="col9">4.3439</oasis:entry>
         <oasis:entry colname="col10">6.8605</oasis:entry>
         <oasis:entry colname="col11">6.6466</oasis:entry>
         <oasis:entry colname="col12"><bold>7.3194</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">1.4329</oasis:entry>
         <oasis:entry colname="col8">1.4029</oasis:entry>
         <oasis:entry colname="col9">1.3676</oasis:entry>
         <oasis:entry colname="col10">1.6319</oasis:entry>
         <oasis:entry colname="col11">1.649</oasis:entry>
         <oasis:entry colname="col12">1.7219</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">NMSE</oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.1417</oasis:entry>
         <oasis:entry colname="col4">0.141</oasis:entry>
         <oasis:entry colname="col5">0.1389</oasis:entry>
         <oasis:entry colname="col6">0.1389</oasis:entry>
         <oasis:entry colname="col7">0.1327</oasis:entry>
         <oasis:entry colname="col8">0.1326</oasis:entry>
         <oasis:entry colname="col9">0.1328</oasis:entry>
         <oasis:entry colname="col10">0.1298</oasis:entry>
         <oasis:entry colname="col11">0.13</oasis:entry>
         <oasis:entry colname="col12"><bold>0.1292</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0155</oasis:entry>
         <oasis:entry colname="col4">0.0155</oasis:entry>
         <oasis:entry colname="col5">0.0155</oasis:entry>
         <oasis:entry colname="col6">0.016</oasis:entry>
         <oasis:entry colname="col7">0.0153</oasis:entry>
         <oasis:entry colname="col8">0.0154</oasis:entry>
         <oasis:entry colname="col9">0.0156</oasis:entry>
         <oasis:entry colname="col10">0.0154</oasis:entry>
         <oasis:entry colname="col11">0.0155</oasis:entry>
         <oasis:entry colname="col12">0.0155</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">4.0239</oasis:entry>
         <oasis:entry colname="col8">4.153</oasis:entry>
         <oasis:entry colname="col9">4.015</oasis:entry>
         <oasis:entry colname="col10">6.2</oasis:entry>
         <oasis:entry colname="col11">6.0405</oasis:entry>
         <oasis:entry colname="col12"><bold>6.6102</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">1.2284</oasis:entry>
         <oasis:entry colname="col8">1.2229</oasis:entry>
         <oasis:entry colname="col9">1.3537</oasis:entry>
         <oasis:entry colname="col10">1.5193</oasis:entry>
         <oasis:entry colname="col11">1.6428</oasis:entry>
         <oasis:entry colname="col12">1.7201</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">NMAE</oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.3258</oasis:entry>
         <oasis:entry colname="col4">0.3238</oasis:entry>
         <oasis:entry colname="col5">0.3184</oasis:entry>
         <oasis:entry colname="col6">0.3144</oasis:entry>
         <oasis:entry colname="col7">0.3075</oasis:entry>
         <oasis:entry colname="col8">0.3066</oasis:entry>
         <oasis:entry colname="col9">0.3049</oasis:entry>
         <oasis:entry colname="col10">0.3014</oasis:entry>
         <oasis:entry colname="col11">0.3006</oasis:entry>
         <oasis:entry colname="col12"><bold>0.2995</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0168</oasis:entry>
         <oasis:entry colname="col4">0.0165</oasis:entry>
         <oasis:entry colname="col5">0.0158</oasis:entry>
         <oasis:entry colname="col6">0.0152</oasis:entry>
         <oasis:entry colname="col7">0.0151</oasis:entry>
         <oasis:entry colname="col8">0.0149</oasis:entry>
         <oasis:entry colname="col9">0.0146</oasis:entry>
         <oasis:entry colname="col10">0.0148</oasis:entry>
         <oasis:entry colname="col11">0.0146</oasis:entry>
         <oasis:entry colname="col12">0.0145</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">2.1838</oasis:entry>
         <oasis:entry colname="col8">2.4769</oasis:entry>
         <oasis:entry colname="col9">3.0019</oasis:entry>
         <oasis:entry colname="col10">4.1298</oasis:entry>
         <oasis:entry colname="col11">4.3647</oasis:entry>
         <oasis:entry colname="col12"><bold>4.7212</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">0.6003</oasis:entry>
         <oasis:entry colname="col8">0.545</oasis:entry>
         <oasis:entry colname="col9">0.5486</oasis:entry>
         <oasis:entry colname="col10">0.6267</oasis:entry>
         <oasis:entry colname="col11">0.6423</oasis:entry>
         <oasis:entry colname="col12">0.6722</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M807" display="inline"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.6301</oasis:entry>
         <oasis:entry colname="col4">0.632</oasis:entry>
         <oasis:entry colname="col5">0.6373</oasis:entry>
         <oasis:entry colname="col6">0.6375</oasis:entry>
         <oasis:entry colname="col7">0.6535</oasis:entry>
         <oasis:entry colname="col8">0.654</oasis:entry>
         <oasis:entry colname="col9">0.6534</oasis:entry>
         <oasis:entry colname="col10">0.6613</oasis:entry>
         <oasis:entry colname="col11">0.6607</oasis:entry>
         <oasis:entry colname="col12"><bold>0.6627</bold></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0337</oasis:entry>
         <oasis:entry colname="col4">0.0337</oasis:entry>
         <oasis:entry colname="col5">0.0342</oasis:entry>
         <oasis:entry colname="col6">0.0355</oasis:entry>
         <oasis:entry colname="col7">0.0336</oasis:entry>
         <oasis:entry colname="col8">0.0338</oasis:entry>
         <oasis:entry colname="col9">0.0344</oasis:entry>
         <oasis:entry colname="col10">0.0341</oasis:entry>
         <oasis:entry colname="col11">0.0345</oasis:entry>
         <oasis:entry colname="col12">0.0344</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">4.0239</oasis:entry>
         <oasis:entry colname="col8">4.153</oasis:entry>
         <oasis:entry colname="col9">4.015</oasis:entry>
         <oasis:entry colname="col10">6.2</oasis:entry>
         <oasis:entry colname="col11">6.0405</oasis:entry>
         <oasis:entry colname="col12"><bold>6.6102</bold></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">1.2284</oasis:entry>
         <oasis:entry colname="col8">1.2229</oasis:entry>
         <oasis:entry colname="col9">1.3537</oasis:entry>
         <oasis:entry colname="col10">1.5193</oasis:entry>
         <oasis:entry colname="col11">1.6428</oasis:entry>
         <oasis:entry colname="col12">1.7201</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">IOA</oasis:entry>
         <oasis:entry colname="col2">Mean</oasis:entry>
         <oasis:entry colname="col3">0.8752</oasis:entry>
         <oasis:entry colname="col4">0.8756</oasis:entry>
         <oasis:entry colname="col5">0.8768</oasis:entry>
         <oasis:entry colname="col6">0.875</oasis:entry>
         <oasis:entry colname="col7">0.8846</oasis:entry>
         <oasis:entry colname="col8">0.8846</oasis:entry>
         <oasis:entry colname="col9">0.8833</oasis:entry>
         <oasis:entry colname="col10"><bold>0.887</bold></oasis:entry>
         <oasis:entry colname="col11">0.886</oasis:entry>
         <oasis:entry colname="col12">0.8866</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD</oasis:entry>
         <oasis:entry colname="col3">0.0153</oasis:entry>
         <oasis:entry colname="col4">0.0153</oasis:entry>
         <oasis:entry colname="col5">0.0155</oasis:entry>
         <oasis:entry colname="col6">0.0162</oasis:entry>
         <oasis:entry colname="col7">0.015</oasis:entry>
         <oasis:entry colname="col8">0.0151</oasis:entry>
         <oasis:entry colname="col9">0.0154</oasis:entry>
         <oasis:entry colname="col10">0.0151</oasis:entry>
         <oasis:entry colname="col11">0.0153</oasis:entry>
         <oasis:entry colname="col12">0.0153</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Mean gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">6.3027</oasis:entry>
         <oasis:entry colname="col8">6.3035</oasis:entry>
         <oasis:entry colname="col9">5.2754</oasis:entry>
         <oasis:entry colname="col10"><bold>8.2736</bold></oasis:entry>
         <oasis:entry colname="col11">7.5138</oasis:entry>
         <oasis:entry colname="col12">7.9427</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">SD gain [%]</oasis:entry>
         <oasis:entry colname="col3">–</oasis:entry>
         <oasis:entry colname="col4">–</oasis:entry>
         <oasis:entry colname="col5">–</oasis:entry>
         <oasis:entry colname="col6">–</oasis:entry>
         <oasis:entry colname="col7">1.4278</oasis:entry>
         <oasis:entry colname="col8">1.498</oasis:entry>
         <oasis:entry colname="col9">1.6812</oasis:entry>
         <oasis:entry colname="col10">1.8665</oasis:entry>
         <oasis:entry colname="col11">2.0031</oasis:entry>
         <oasis:entry colname="col12">2.0893</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</app>

<app id="App1.Ch1.S3">
  <label>Appendix C</label><title>Additional figures for Experiment 2</title>

      <fig id="FC1"><label>Figure C1</label><caption><p id="d2e14467">Random forests with 30 and 8000 trees (<monospace>n_estimators</monospace>) are considered in panels <bold>(a)</bold> and <bold>(b)</bold>, respectively. Training and testing have been performed 20 times for the same split into training and test stations. Testing was on the corresponding dataset <inline-formula><mml:math id="M808" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, and training was on different <inline-formula><mml:math id="M809" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</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="M810" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M811" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 4. Results for 20 individual repetitions are shown with respect to three performance measures.</p></caption>
        
        <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f14.png"/>

      </fig>

<fig id="FC2"><label>Figure C2</label><caption><p id="d2e14537">Linear regression models have been trained on <inline-formula><mml:math id="M812" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</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="M813" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M814" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 3 with different time contiguities <inline-formula><mml:math id="M815" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> and input features selected in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>. Performance on <inline-formula><mml:math id="M816" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> has been evaluated through six-times 10-fold spatial cross-validation. Panel <bold>(a)</bold> shows the average performance over all 60 station splits for three performance measures. Panel <bold>(b)</bold> shows the average performance gain (Eq. <xref ref-type="disp-formula" rid="Ch1.E6"/>) relative to the best case of <inline-formula><mml:math id="M817" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M818" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1. Error bars illustrate the standard deviation.  Panel <bold>(c)</bold> shows the minimal performance gain. Across each row the same performance measure is considered.</p></caption>
        
        <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f15.png"/>

      </fig>

      <fig id="FC3"><label>Figure C3</label><caption><p id="d2e14633">Same as Fig. <xref ref-type="fig" rid="FC2"/> but for random forests trained on <inline-formula><mml:math id="M819" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</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="M820" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M821" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 3 with different time contiguities <inline-formula><mml:math id="M822" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> and input features selected in Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>. Performance on <inline-formula><mml:math id="M823" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> has been evaluated through six-times 10-fold spatial cross-validation. Panel <bold>(a)</bold> shows the average performance over all 60 station splits for three performance measures. Panel <bold>(b)</bold> shows the average performance gain (Eq. <xref ref-type="disp-formula" rid="Ch1.E6"/>) relative to the best case of <inline-formula><mml:math id="M824" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M825" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1. Error bars illustrate the standard deviation. Panel <bold>(c)</bold> shows the minimal performance gain. Across each row the same performance measure is considered.</p></caption>
        
        <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f16.png"/>

      </fig>


</app>

<app id="App1.Ch1.S4">
  <label>Appendix D</label><title>Additional figures for Experiment 3</title>

      <fig id="FD1"><label>Figure D1</label><caption><p id="d2e14740">Excluded latitude and surface height from input features (Setting 3 of Experiment 3): random forests have been trained on <inline-formula><mml:math id="M826" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mi>M</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="M827" display="inline"><mml:mi>M</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M828" display="inline"><mml:mo>≤</mml:mo></mml:math></inline-formula> 4 with different time contiguities <inline-formula><mml:math id="M829" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Performance on <inline-formula><mml:math id="M830" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> has been evaluated through six-times 10-fold spatial cross-validation. Panel <bold>(a)</bold> shows the average performance over all 60 station splits for three performance measures. Panel <bold>(b)</bold> shows the average performance gain relative to the best case of <inline-formula><mml:math id="M831" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M832" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1; see Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>) for the definition of performance gain. Error bars illustrate the standard deviation. Panel <bold>(c)</bold> shows the minimal performance gain. Across each row the same performance measure is considered.</p></caption>
        
        <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f17.png"/>

      </fig>

      <fig id="FD2"><label>Figure D2</label><caption><p id="d2e14832">Same as Fig. <xref ref-type="fig" rid="FD1"/> but excluding tropospheric <inline-formula><mml:math id="M833" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs  from input features (Setting 2 of Experiment 3).</p></caption>
        
        <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f18.png"/>

      </fig>

<fig id="FD3"><label>Figure D3</label><caption><p id="d2e14860">Same as Fig. <xref ref-type="fig" rid="FD1"/> but excluding tropospheric <inline-formula><mml:math id="M834" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs, latitude, and surface height from input features (Setting 4 of Experiment 3).</p></caption>
        
        <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f19.png"/>

      </fig>

      <fig id="FD4"><label>Figure D4</label><caption><p id="d2e14886">Random forests: the selection of input features is the same as in Setting 3 of Experiment 3; i.e., latitude and surface height are excluded. Comparison of two cases. First, only the time contiguity of tropospheric <inline-formula><mml:math id="M835" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> VCDs is exploited. Second, the time contiguity of all (time-dependent) input features is exploited, which is exactly the same as Setting 3 of Experiment 3. Models have been trained and tested on <inline-formula><mml:math id="M836" display="inline"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> for different time contiguities <inline-formula><mml:math id="M837" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. Panel <bold>(a)</bold> shows the average performance from six-times 10-fold spatial cross-validation and panel <bold>(b)</bold> shows the average performance gain (Eq. <xref ref-type="disp-formula" rid="Ch1.E6"/>).</p></caption>
        
        <graphic xlink:href="https://amt.copernicus.org/articles/18/3747/2025/amt-18-3747-2025-f20.png"/>

      </fig>


</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e14946">The GEMS datasets and codes are available upon request from the corresponding author (janek-goedeke@uni-bremen.de). The ERA5 data are available from the Copernicus Climate Change Service at <ext-link xlink:href="https://doi.org/10.24381/cds.adbb2d47" ext-link-type="DOI">10.24381/cds.adbb2d47</ext-link> <xref ref-type="bibr" rid="bib1.bibx19" id="paren.81"/>. AirKorea surface network data are available at <uri>https://airkorea.or.kr/web/detailViewDown?pMENU_NO=125</uri> <xref ref-type="bibr" rid="bib1.bibx35" id="paren.82"/>.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e14964">JG is the main author of this study and planned and conducted the experiments. AR and KL provided GEMS data. PM, AR, and KL contributed to the design of the study and the discussion of the results. HH, HL, and JP provided in situ data and expertise on GEMS measurements. All authors contributed to the paper.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e14970">At least one of the (co-)authors is a member of the editorial board of <italic>Atmospheric Measurement Techniques</italic>. The peer-review process was guided by an independent editor, and the authors also have no other competing interests to declare.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e14979">The results contain modified Copernicus Climate Change Service information from 2020. Neither the European Commission nor ECMWF is responsible for any use that may be made of the Copernicus information or data it contains.Publisher’s note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. While Copernicus Publications makes every effort to include appropriate place names, the final responsibility lies with the authors.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e14988">We thank the National Institute of Environmental Research (NIER) of South Korea for providing GEMS lv1 data and financial support (NIER-2022-04-02-037). <xref ref-type="bibr" rid="bib1.bibx19" id="text.83"/> was downloaded from the <xref ref-type="bibr" rid="bib1.bibx11" id="text.84"/>. We thank the Korean Ministry of Environment and NIER for providing the in situ measurements of surface <inline-formula><mml:math id="M838" display="inline"><mml:mrow class="chem"><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. Janek Gödeke and Kezia Lange acknowledge funding by the Deutsches Zentrum für Luft- und Raumfahrt (grant no. 50 EE 2204). Further, we thank Pascal Fernsel from the University of Bremen for fruitful discussions and feedback.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e15010">This research has been supported by the Deutsches Zentrum für Luft- und Raumfahrt (grant no. 50 EE 2204) and the National Institute of Environmental Research of South Korea (grant no. NIER-2022-04-02-037).The article processing charges for this open-access publication were covered by the University of Bremen.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

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

      <ref id="bib1.bibx1"><label>Ahmad et al.(2024)</label><mixed-citation>Ahmad, N., Lin, C., Lau, A. K. H., Kim, J., Zhang, T., Yu, F., Li, C., Li, Y., Fung, J. C. H., and Lao, X. Q.: Estimation of ground-level NO<sub>2</sub> and its spatiotemporal variations in China using GEMS measurements and a nested machine learning model, Atmos. Chem. Phys., 24, 9645–9665, <ext-link xlink:href="https://doi.org/10.5194/acp-24-9645-2024" ext-link-type="DOI">10.5194/acp-24-9645-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Bechle et al.(2013)Bechle, Millet, and Marshall</label><mixed-citation>Bechle, M. J., Millet, D. B., and Marshall, J. D.: Remote sensing of exposure  to NO<sub>2</sub>: Satellite versus ground-based measurement in a large urban area,  Atmos. Environ., 69, 345–353, <ext-link xlink:href="https://doi.org/10.1016/j.atmosenv.2012.11.046" ext-link-type="DOI">10.1016/j.atmosenv.2012.11.046</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Beirle et al.(2016)</label><mixed-citation>Beirle, S., Hörmann, C., Jöckel, P., Liu, S., Penning de Vries, M., Pozzer, A., Sihler, H., Valks, P., and Wagner, T.: The STRatospheric Estimation Algorithm from Mainz (STREAM): estimating stratospheric NO<sub>2</sub> from nadir-viewing satellites by weighted convolution, Atmos. Meas. Tech., 9, 2753–2779, <ext-link xlink:href="https://doi.org/10.5194/amt-9-2753-2016" ext-link-type="DOI">10.5194/amt-9-2753-2016</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Bovensmann et al.(1999)</label><mixed-citation>Bovensmann, H., Burrows, J., Buchwitz, M., Frerick, J., Noel, S., Rozanov, V., Chance, Kelly, and Goede, A.: SCIAMACHY: mission objectives and measurement modes, J. Atmos. Sci., 56, 127–150  <ext-link xlink:href="https://doi.org/10.1175/1520-0469(1999)056&lt;0127:SMOAMM&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0469(1999)056&lt;0127:SMOAMM&gt;2.0.CO;2</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Breiman(2001)</label><mixed-citation>Breiman, L.: Random Forests, Machine Learning, 45, 5–32,  <ext-link xlink:href="https://doi.org/10.1023/A:1010933404324" ext-link-type="DOI">10.1023/A:1010933404324</ext-link>, 2001.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Burrows et al.(1999)</label><mixed-citation>Burrows, J. P., Weber, M., Buchwitz, M., Rozanov, V., Ladstätter-Weißenmayer,  A., Richter, A., DeBeek, R., Hoogen, R., Bramstedt, K., Eichmann, K.-U.,  Eisinger, M., and Perner, D.: The Global Ozone Monitoring Experiment (GOME):  Mission Concept and First Scientific Results, J. Atmos. Sci., 56, 151–175,  <ext-link xlink:href="https://doi.org/10.1175/1520-0469(1999)056&lt;0151:TGOMEG&gt;2.0.CO;2" ext-link-type="DOI">10.1175/1520-0469(1999)056&lt;0151:TGOMEG&gt;2.0.CO;2</ext-link>, 1999.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Chan et al.(2021)</label><mixed-citation>Chan, K. L., Khorsandi, E., Liu, S., Baier, F., and Valks, P.: Estimation of  Surface NO<sub>2</sub> Concentrations over Germany from TROPOMI Satellite Observations  Using a Machine Learning Method, Remote Sensing, 13, 969, <ext-link xlink:href="https://doi.org/10.3390/rs13050969" ext-link-type="DOI">10.3390/rs13050969</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Chen et al.(2019)</label><mixed-citation>Chen, Z.-Y., Zhang, R., Zhang, T.-H., Ou, C.-Q., and Guo, Y.: A  kriging-calibrated machine learning method for estimating daily ground-level  NO<sub>2</sub> in mainland China, Sci. Total Environ., 690, 556–564, <ext-link xlink:href="https://doi.org/10.1016/j.scitotenv.2019.06.349" ext-link-type="DOI">10.1016/j.scitotenv.2019.06.349</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Cooper et al.(2022)</label><mixed-citation>Cooper, M., Martin, R., Hammer, M., Levelt, P. F., Veefkind, P., Lamsal, L. N., Krotkov, N. A., Brook, J. R., and McLinden, C. A.: Global fine-scale changes in ambient NO<sub>2</sub> during COVID-19 lockdowns, Nature, 601, 380–387,  <ext-link xlink:href="https://doi.org/10.1038/s41586-021-04229-0" ext-link-type="DOI">10.1038/s41586-021-04229-0</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Cooper et al.(2020)</label><mixed-citation>Cooper, M. J., Martin, R. V., McLinden, C. A., and Brook, J. R.: Inferring   ground-level nitrogen dioxide concentrations at fine spatial resolution   applied to the TROPOMI satellite instrument, Environ. Res. Lett., 15, 104013, <ext-link xlink:href="https://doi.org/10.1088/1748-9326/aba3a5" ext-link-type="DOI">10.1088/1748-9326/aba3a5</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Copernicus Climate Change Service(2023)</label><mixed-citation>Copernicus Climate Change Service: ERA5 hourly data on single levels from  1940 to present,, copernicus Climate Change Service (C3S) Climate Data Store (CDS) [data set], <ext-link xlink:href="https://doi.org/10.24381/cds.adbb2d47" ext-link-type="DOI">10.24381/cds.adbb2d47</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>de Hoogh et al.(2019)</label><mixed-citation>de Hoogh, K., Saucy, A., Shtein, A., Schwartz, J., West, E. A., Strassmann, A., Puhan, M., Röösli, M., Stafoggia, M., and Kloog, I.: Predicting Fine-Scale Daily NO<sub>2</sub> for 2005–2016 Incorporating OMI Satellite Data Across Switzerland, Environ. Sci. Technol., 53, 10279–10287,  <ext-link xlink:href="https://doi.org/10.1021/acs.est.9b03107" ext-link-type="DOI">10.1021/acs.est.9b03107</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Di et al.(2020)</label><mixed-citation>Di, Q., Amini, H., Shi, L., Kloog, I., Silvern, R., Kelly, J., Sabath, M. B.,  Choirat, C., Koutrakis, P., Lyapustin, A., Wang, Y., Mickley, L. J., and  Schwartz, J.: Assessing NO<sub>2</sub> Concentration and Model Uncertainty with High  Spatiotemporal Resolution across the Contiguous United States Using Ensemble  Model Averaging, Environ. Sci. Technol., 54, 1372–1384,  <ext-link xlink:href="https://doi.org/10.1021/acs.est.9b03358" ext-link-type="DOI">10.1021/acs.est.9b03358</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Dou et al.(2021)</label><mixed-citation>Dou, X., Liao, C., Wang, H., Huang, Y., Tu, Y., Huang, X., Peng, Y., Zhu, B.,  Tan, J., Deng, Z., Wu, N., Sun, T., Ke, P., and Liu, Z.: Estimates of daily  ground-level NO<sub>2</sub> concentrations in China based on Random Forest model  integrated K-means, Advances in Applied Energy, 2, 100017,  <ext-link xlink:href="https://doi.org/10.1016/j.adapen.2021.100017" ext-link-type="DOI">10.1016/j.adapen.2021.100017</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Geddes et al.(2016)</label><mixed-citation>Geddes, J. A., Martin, R. V., Boys, B. L., and van Donkelaar, A.: Long-Term  Trends Worldwide in Ambient NO<sub>2</sub> Concentrations Inferred from Satellite Observations, Environ. Health Persp., 124, 281–289,  <ext-link xlink:href="https://doi.org/10.1289/ehp.1409567" ext-link-type="DOI">10.1289/ehp.1409567</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Genuer et al.(2008)</label><mixed-citation>Genuer, R., Poggi, J.-M., and Tuleau, C.: Random Forests: some methodological  insights, arXiv [preprint], <ext-link xlink:href="https://doi.org/10.48550/arXiv.0811.3619" ext-link-type="DOI">10.48550/arXiv.0811.3619</ext-link>, 21 November 2008.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Ghahremanloo et al.(2021)</label><mixed-citation>Ghahremanloo, M., Lops, Y., Choi, Y., and Yeganeh, B.: Deep Learning Estimation of Daily Ground-Level NO<sub>2</sub> Concentrations From Remote Sensing Data, J. Geophys. Res.-Atmos., 126, e2021JD034925,  <ext-link xlink:href="https://doi.org/10.1029/2021JD034925" ext-link-type="DOI">10.1029/2021JD034925</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Gu et al.(2017)</label><mixed-citation>Gu, J., Chen, L., Yu, C., Li, S., Tao, J., Fan, M., Xiong, X., Wang, Z., Shang, H., and Su, L.: Ground-Level NO<sub>2</sub> Concentrations over China Inferred from the Satellite OMI and CMAQ Model Simulations, Remote Sensing, 9, 519,  <ext-link xlink:href="https://doi.org/10.3390/rs9060519" ext-link-type="DOI">10.3390/rs9060519</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Hersbach et al.(2023)</label><mixed-citation>Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A.,  Muñoz Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers,  D., Simmons, A., Soci, C., Dee, D., and Thépaut, J.-N.: ERA5 hourly data on  single levels from 1940 to present, Copernicus Climate Change Service (C3S) Climate Data Store (CDS) [data set], <ext-link xlink:href="https://doi.org/10.24381/cds.adbb2d47" ext-link-type="DOI">10.24381/cds.adbb2d47</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Huang et al.(2023)Huang, Zhu, Lu, Gu, and Liu</label><mixed-citation>Huang, K., Zhu, Q., Lu, X., Gu, D., and Liu, Y.: Satellite-Based Long-Term  Spatiotemporal Trends in Ambient NO<sub>2</sub> Concentrations and Attributable Health Burdens in China From 2005 to 2020, GeoHealth, 7, e2023GH000798,  <ext-link xlink:href="https://doi.org/10.1029/2023GH000798" ext-link-type="DOI">10.1029/2023GH000798</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Jacob(2000)</label><mixed-citation>Jacob, D. J.: Introduction to Atmospheric Chemistry, Princeton University  Press, Princeton, <ext-link xlink:href="https://doi.org/10.1515/9781400841547" ext-link-type="DOI">10.1515/9781400841547</ext-link>, ISBN 9781400841547, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Jiang and Christakos(2018)</label><mixed-citation>Jiang, Q. and Christakos, G.: Space-time mapping of ground-level PM<sub>2.5</sub> and NO<sub>2</sub> concentrations in heavily polluted northern China during winter using the Bayesian maximum entropy technique with satellite data, Air Qual. Atmos. Hlth., 11, 23–33, <ext-link xlink:href="https://doi.org/10.1007/s11869-017-0514-8" ext-link-type="DOI">10.1007/s11869-017-0514-8</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Kharol et al.(2015)</label><mixed-citation>Kharol, S., Martin, R., Philip, S., Boys, B., Lamsal, L., Jerrett, M., Brauer, M., Crouse, D., McLinden, C., and Burnett, R.: Assessment of the magnitude and recent trends in satellite-derived ground-level nitrogen dioxide over North America, Atmos. Environ., 118, 236–245,  <ext-link xlink:href="https://doi.org/10.1016/j.atmosenv.2015.08.011" ext-link-type="DOI">10.1016/j.atmosenv.2015.08.011</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Kim et al.(2017)</label><mixed-citation>Kim, D., Lee, H., Hong, H., Choi, W., Lee, Y. G., and Park, J.: Estimation of  Surface NO<sub>2</sub> Volume Mixing Ratio in Four Metropolitan Cities in Korea Using  Multiple Regression Models with OMI and AIRS Data, Remote Sensing, 9, 627, <ext-link xlink:href="https://doi.org/10.3390/rs9060627" ext-link-type="DOI">10.3390/rs9060627</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Kim et al.(2020)</label><mixed-citation>Kim, J., Jeong, U., Ahn, M.-H., Kim, J. H., Park, R. J., Lee, H., Song, C. H., Choi, Y.-S., Lee, K.-H., Yoo, J.-M., Jeong, M.-J., Park, S. K., Lee, K.-M., Song, C.-K., Kim, S.-W., Kim, Y. J., Kim, S.-W., Kim, M., Go, S., Liu, X., Chance, K., Miller, C. C., Al-Saadi, J., Veihelmann, B., Bhartia, P. K., Torres, O., Abad, G. G., Haffner, D. P., Ko, D. H., Lee, S. H., Woo, J.-H., Chong, H., Park, S. S., Nicks, D., Choi, W. J., Moon, K.-J., Cho, A., Yoon, J., Kim, S.-k., Hong, H., Lee, K., Lee, H., Lee, S., Choi, M., Veefkind,  P., Levelt, P. F., Edwards, D. P., Kang, M., Eo, M., Bak, J., Baek, K., Kwon,  H.-A., Yang, J., Park, J., Han, K. M., Kim, B.-R., Shin, H.-W., Choi, H.,  Lee, E., Chong, J., Cha, Y., Koo, J.-H., Irie, H., Hayashida, S., Kasai, Y.,  Kanaya, Y., Liu, C., Lin, J., Crawford, J. H., Carmichael, G. R., Newchurch,  M. J., Lefer, B. L., Herman, J. R., Swap, R. J., Lau, A. K. H., Kurosu,  T. P., Jaross, G., Ahlers, B., Dobber, M., McElroy, C. T., and Choi, Y.: New  Era of Air Quality Monitoring from Space: Geostationary Environment  Monitoring Spectrometer (GEMS), B. Am. Meteorol. Soc., 101, E1–E22, <ext-link xlink:href="https://doi.org/10.1175/BAMS-D-18-0013.1" ext-link-type="DOI">10.1175/BAMS-D-18-0013.1</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Kim et al.(2021)Kim, Brunner, and Kuhlmann</label><mixed-citation>Kim, M., Brunner, D., and Kuhlmann, G.: Importance of satellite observations  for high-resolution mapping of near-surface NO<sub>2</sub> by machine learning, Remote Sens. Environ., 264, 112573, <ext-link xlink:href="https://doi.org/10.1016/j.rse.2021.112573" ext-link-type="DOI">10.1016/j.rse.2021.112573</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Kley and McFarland(1980)</label><mixed-citation>Kley, D. and McFarland, M.: Chemiluminescence detector for NO and NO/sub 2/, Atmos. Technol. (United States), 12,  <uri>https://www.osti.gov/biblio/6457230</uri>, 1980.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Lamsal et al.(2008)</label><mixed-citation>Lamsal, L. N., Martin, R. V., van Donkelaar, A., Steinbacher, M., Celarier,  E. A., Bucsela, E., Dunlea, E. J., and Pinto, J. P.: Ground-level nitrogen  dioxide concentrations inferred from the satellite-borne Ozone Monitoring  Instrument, J. Geophys. Res.-Atmos., 113, D16308,  <ext-link xlink:href="https://doi.org/10.1029/2007JD009235" ext-link-type="DOI">10.1029/2007JD009235</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Lamsal et al.(2010)</label><mixed-citation>Lamsal, L. N., Martin, R. V., van Donkelaar, A., Celarier, E. A., Bucsela,  E. J., Boersma, K. F., Dirksen, R., Luo, C., and Wang, Y.: Indirect  validation of tropospheric nitrogen dioxide retrieved from the OMI satellite  instrument: Insight into the seasonal variation of nitrogen oxides at  northern midlatitudes, J. Geophys. Res.-Atmos., 115, D05302,  <ext-link xlink:href="https://doi.org/10.1029/2009JD013351" ext-link-type="DOI">10.1029/2009JD013351</ext-link>, 2010.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Lamsal et al.(2013)</label><mixed-citation>Lamsal, L. N., Martin, R. V., Parrish, D. D., and Krotkov, N. A.: Scaling  Relationship for NO<sub>2</sub> Pollution and Urban Population Size: A Satellite  Perspective, Environ. Sci. Technol., 47, 7855–7861,  <ext-link xlink:href="https://doi.org/10.1021/es400744g" ext-link-type="DOI">10.1021/es400744g</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Lange et al.(2024)</label><mixed-citation>Lange, K., Richter, A., Bösch, T., Zilker, B., Latsch, M., Behrens, L. K., Okafor, C. M., Bösch, H., Burrows, J. P., Merlaud, A., Pinardi, G., Fayt, C., Friedrich, M. M., Dimitropoulou, E., Van Roozendael, M., Ziegler, S., Ripperger-Lukosiunaite, S., Kuhn, L., Lauster, B., Wagner, T., Hong, H., Kim, D., Chang, L.-S., Bae, K., Song, C.-K., Park, J.-U., and Lee, H.: Validation of GEMS tropospheric NO<sub>2</sub> columns and their diurnal variation with ground-based DOAS measurements, Atmos. Meas. Tech., 17, 6315–6344, <ext-link xlink:href="https://doi.org/10.5194/amt-17-6315-2024" ext-link-type="DOI">10.5194/amt-17-6315-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Lee et al.(2024)</label><mixed-citation>Lee, H. J., Kim, N. R., and Shin, M. Y.: Capabilities of satellite  Geostationary Environment Monitoring Spectrometer (GEMS) NO<sub>2</sub> data for hourly ambient NO<sub>2</sub> exposure modeling, Environ. Res., 261, 119633,  <ext-link xlink:href="https://doi.org/10.1016/j.envres.2024.119633" ext-link-type="DOI">10.1016/j.envres.2024.119633</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Levelt et al.(2006)</label><mixed-citation>Levelt, P., van den Oord, G., Dobber, M., Malkki, A., Visser, H., de Vries, J., Stammes, P., Lundell, J., and Saari, H.: The ozone monitoring instrument,  IEEE T. Geosci. Remote, 44, 1093–1101, <ext-link xlink:href="https://doi.org/10.1109/TGRS.2006.872333" ext-link-type="DOI">10.1109/TGRS.2006.872333</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Li et al.(2022)</label><mixed-citation>Li, M., Wu, Y., Bao, Y., Liu, B., and Petropoulos, G. P.: Near-Surface NO<sub>2</sub>  Concentration Estimation by Random Forest Modeling and Sentinel-5P and  Ancillary Data, Remote Sensing, 14, 3612, <ext-link xlink:href="https://doi.org/10.3390/rs14153612" ext-link-type="DOI">10.3390/rs14153612</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>National Institute of Environmental Research (NIER)(2025)</label><mixed-citation>National Institute of Environmental Research (NIER): AirKorea Annual Report, NIER [data set], <uri>https://airkorea.or.kr/web/detailViewDown?pMENU_NO=125</uri>, last access: 30 July 2025 (in Korean).</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Oak et al.(2024)</label><mixed-citation>Oak, Y. J., Jacob, D. J., Balasus, N., Yang, L. H., Chong, H., Park, J., Lee, H., Lee, G. T., Ha, E. S., Park, R. J., Kwon, H.-A., and Kim, J.: A bias-corrected GEMS geostationary satellite product for nitrogen dioxide using machine learning to enforce consistency with the TROPOMI satellite instrument, Atmos. Meas. Tech., 17, 5147–5159, <ext-link xlink:href="https://doi.org/10.5194/amt-17-5147-2024" ext-link-type="DOI">10.5194/amt-17-5147-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Pedregosa et al.(2011)</label><mixed-citation> Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel,  O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J.,  Passos, A., Cournapeau, D., Brucher, M., Perrot, M., and Duchesnay, E.:  Scikit-learn: Machine Learning in Python, J. Mach. Learn. Res., 12, 2825–2830, 2011.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Probst et al.(2018)</label><mixed-citation>Probst, P., Bischl, B., and Boulesteix, A.-L.: Tunability: Importance of  Hyperparameters of Machine Learning Algorithms, arXiv [preprint],  <ext-link xlink:href="https://doi.org/10.48550/arXiv.1802.09596" ext-link-type="DOI">10.48550/arXiv.1802.09596</ext-link>, 22 October 2018.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Probst et al.(2019)</label><mixed-citation>Probst, P., Wright, M. N., and Boulesteix, A.-L.: Hyperparameters and tuning  strategies for random forest, WIREs Data Mining and Knowledge Discovery, 9, e1301, <ext-link xlink:href="https://doi.org/10.1002/widm.1301" ext-link-type="DOI">10.1002/widm.1301</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Qin et al.(2020)</label><mixed-citation>Qin, K., Han, X., Li, D., Xu, J., Loyola, D., Xue, Y., Zhou, X., Li, D., Zhang, K., and Yuan, L.: Satellite-based estimation of surface NO<sub>2</sub> concentrations over east-central China: A comparison of POMINO and OMNO2d data, Atmos. Environ., 224, 117322, <ext-link xlink:href="https://doi.org/10.1016/j.atmosenv.2020.117322" ext-link-type="DOI">10.1016/j.atmosenv.2020.117322</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Scornet(2017)</label><mixed-citation>Scornet, E.: Tuning parameters in random forests, ESAIM: Procs., 60, 144–162, <ext-link xlink:href="https://doi.org/10.1051/proc/201760144" ext-link-type="DOI">10.1051/proc/201760144</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Shetty et al.(2024)</label><mixed-citation>Shetty, S., Schneider, P., Stebel, K., David Hamer, P., Kylling, A., and  Koren Berntsen, T.: Estimating surface NO<sub>2</sub> concentrations over Europe using Sentinel-5P TROPOMI observations and Machine Learning, Remote Sens.  Environ., 312, 114321, <ext-link xlink:href="https://doi.org/10.1016/j.rse.2024.114321" ext-link-type="DOI">10.1016/j.rse.2024.114321</ext-link>,  2024.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Siddique et al.(2024)</label><mixed-citation>Siddique, M. A., Naseer, E., Usama, M., and Basit, A.: Estimation of  Surface-Level NO<sub>2</sub> Using Satellite Remote Sensing and Machine Learning: A  review, IEEE Geoscience and Remote Sensing Magazine, 12, 2–28,  <ext-link xlink:href="https://doi.org/10.1109/MGRS.2024.3398434" ext-link-type="DOI">10.1109/MGRS.2024.3398434</ext-link>, 2024. </mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Tang et al.(2024)</label><mixed-citation>Tang, B., Stanier, C. O., Carmichael, G. R., and Gao, M.: Ozone, nitrogen  dioxide, and PM<sub>2.5</sub> estimation from observation-model machine learning fusion  over S. Korea: Influence of observation density, chemical transport model  resolution, and geostationary remotely sensed AOD, Atmos. Environ., 331, 120603, <ext-link xlink:href="https://doi.org/10.1016/j.atmosenv.2024.120603" ext-link-type="DOI">10.1016/j.atmosenv.2024.120603</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Veefkind et al.(2012)</label><mixed-citation>Veefkind, J., Aben, I., McMullan, K., Förster, H., de Vries, J., Otter, G.,  Claas, J., Eskes, H., de Haan, J., Kleipool, Q., van Weele, M., Hasekamp,  O., Hoogeveen, R., Landgraf, J., Snel, R., Tol, P., Ingmann, P., Voors, R.,  Kruizinga, B., Vink, R., Visser, H., and Levelt, P.: TROPOMI on the ESA  Sentinel-5 Precursor: A GMES mission for global observations of the  atmospheric composition for climate, air quality and ozone layer  applications, Remote Sens. Environ., 120, 70–83, <ext-link xlink:href="https://doi.org/10.1016/j.rse.2011.09.027" ext-link-type="DOI">10.1016/j.rse.2011.09.027</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Wang and Chen(2013)</label><mixed-citation>Wang, B. and Chen, Z.: An intercomparison of satellite-derived ground-level NO<sub>2</sub> concentrations with GMSMB modeling results and in-situ measurements – A North American study, Environ. Pollut., 181, 172–181,  <ext-link xlink:href="https://doi.org/10.1016/j.envpol.2013.06.037" ext-link-type="DOI">10.1016/j.envpol.2013.06.037</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Wei et al.(2022)</label><mixed-citation>Wei, J., Liu, S., Li, Z., Liu, C., Qin, K., Liu, X., Pinker, R. T., Dickerson, R. R., Lin, J., Boersma, K. F., Sun, L., Li, R., Xue, W., Cui, Y., Zhang, C., and Wang, J.: Ground-Level NO<sub>2</sub> Surveillance from Space Across China for High Resolution Using Interpretable Spatiotemporally Weighted Artificial Intelligence, Environ. Sci. Technol., 56, 9988–9998,  <ext-link xlink:href="https://doi.org/10.1021/acs.est.2c03834" ext-link-type="DOI">10.1021/acs.est.2c03834</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Williams et al.(2017)</label><mixed-citation>Williams, J. E., Boersma, K. F., Le Sager, P., and Verstraeten, W. W.: The high-resolution version of TM5-MP for optimized satellite retrievals: description and validation, Geosci. Model Dev., 10, 721–750, <ext-link xlink:href="https://doi.org/10.5194/gmd-10-721-2017" ext-link-type="DOI">10.5194/gmd-10-721-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Yang et al.(2023a)</label><mixed-citation>Yang, L. H., Jacob, D. J., Colombi, N. K., Zhai, S., Bates, K. H., Shah, V., Beaudry, E., Yantosca, R. M., Lin, H., Brewer, J. F., Chong, H., Travis, K. R., Crawford, J. H., Lamsal, L. N., Koo, J.-H., and Kim, J.: Tropospheric NO<sub>2</sub> vertical profiles over South Korea and their relation to oxidant chemistry: implications for geostationary satellite retrievals and the observation of NO<sub>2</sub> diurnal variation from space, Atmos. Chem. Phys., 23, 2465–2481, <ext-link xlink:href="https://doi.org/10.5194/acp-23-2465-2023" ext-link-type="DOI">10.5194/acp-23-2465-2023</ext-link>, 2023a.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Yang et al.(2023b)</label><mixed-citation>Yang, Q., Kim, J., Cho, Y., Lee, W.-J., Lee, D.-W., Yuan, Q., Wang, F., Zhou,  C., Zhang, X., Xiao, X., Guo, M., Guo, Y., Carmichael, G. R., and Gao, M.: A  synchronized estimation of hourly surface concentrations of six criteria air  pollutants with GEMS data, npj Clim. Atmos. Sci., 6, 94,   <ext-link xlink:href="https://doi.org/10.1038/s41612-023-00407-1" ext-link-type="DOI">10.1038/s41612-023-00407-1</ext-link>, 2023b.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Zhang et al.(2023)</label><mixed-citation>Zhang, Y., Lin, J., Kim, J., Lee, H., Park, J., Hong, H., Van Roozendael, M., Hendrick, F., Wang, T., Wang, P., He, Q., Qin, K., Choi, Y., Kanaya, Y., Xu, J., Xie, P., Tian, X., Zhang, S., Wang, S., Cheng, S., Cheng, X., Ma, J., Wagner, T., Spurr, R., Chen, L., Kong, H., and Liu, M.: A research product for tropospheric NO<sub>2</sub> columns from Geostationary Environment Monitoring Spectrometer based on Peking University OMI NO<sub>2</sub> algorithm, Atmos. Meas. Tech., 16, 4643–4665, <ext-link xlink:href="https://doi.org/10.5194/amt-16-4643-2023" ext-link-type="DOI">10.5194/amt-16-4643-2023</ext-link>, 2023.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>Hourly surface nitrogen dioxide retrieval from GEMS tropospheric vertical column densities: benefit of using time-contiguous input features for machine learning models</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Ahmad et al.(2024)</label><mixed-citation>
      
Ahmad, N., Lin, C., Lau, A. K. H., Kim, J., Zhang, T., Yu, F., Li, C., Li, Y., Fung, J. C. H., and Lao, X. Q.: Estimation of ground-level NO<sub>2</sub> and its spatiotemporal variations in China using GEMS measurements and a nested machine learning model, Atmos. Chem. Phys., 24, 9645–9665, <a href="https://doi.org/10.5194/acp-24-9645-2024" target="_blank">https://doi.org/10.5194/acp-24-9645-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Bechle et al.(2013)Bechle, Millet, and Marshall</label><mixed-citation>
      
Bechle, M. J., Millet, D. B., and Marshall, J. D.: Remote sensing of exposure  to NO<sub>2</sub>: Satellite versus ground-based measurement in a large urban area,  Atmos. Environ., 69, 345–353, <a href="https://doi.org/10.1016/j.atmosenv.2012.11.046" target="_blank">https://doi.org/10.1016/j.atmosenv.2012.11.046</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Beirle et al.(2016)</label><mixed-citation>
      
Beirle, S., Hörmann, C., Jöckel, P., Liu, S., Penning de Vries, M., Pozzer, A., Sihler, H., Valks, P., and Wagner, T.: The STRatospheric Estimation Algorithm from Mainz (STREAM): estimating stratospheric NO<sub>2</sub> from nadir-viewing satellites by weighted convolution, Atmos. Meas. Tech., 9, 2753–2779, <a href="https://doi.org/10.5194/amt-9-2753-2016" target="_blank">https://doi.org/10.5194/amt-9-2753-2016</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Bovensmann et al.(1999)</label><mixed-citation>
      
Bovensmann, H., Burrows, J., Buchwitz, M., Frerick, J., Noel, S., Rozanov, V., Chance, Kelly, and Goede, A.: SCIAMACHY: mission objectives and measurement modes, J. Atmos. Sci., 56, 127–150  <a href="https://doi.org/10.1175/1520-0469(1999)056&lt;0127:SMOAMM&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0469(1999)056&lt;0127:SMOAMM&gt;2.0.CO;2</a>, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Breiman(2001)</label><mixed-citation>
      
Breiman, L.: Random Forests, Machine Learning, 45, 5–32,  <a href="https://doi.org/10.1023/A:1010933404324" target="_blank">https://doi.org/10.1023/A:1010933404324</a>, 2001.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Burrows et al.(1999)</label><mixed-citation>
      
Burrows, J. P., Weber, M., Buchwitz, M., Rozanov, V., Ladstätter-Weißenmayer,  A., Richter, A., DeBeek, R., Hoogen, R., Bramstedt, K., Eichmann, K.-U.,  Eisinger, M., and Perner, D.: The Global Ozone Monitoring Experiment (GOME):  Mission Concept and First Scientific Results, J. Atmos. Sci., 56, 151–175,  <a href="https://doi.org/10.1175/1520-0469(1999)056&lt;0151:TGOMEG&gt;2.0.CO;2" target="_blank">https://doi.org/10.1175/1520-0469(1999)056&lt;0151:TGOMEG&gt;2.0.CO;2</a>, 1999.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Chan et al.(2021)</label><mixed-citation>
      
Chan, K. L., Khorsandi, E., Liu, S., Baier, F., and Valks, P.: Estimation of  Surface NO<sub>2</sub> Concentrations over Germany from TROPOMI Satellite Observations  Using a Machine Learning Method, Remote Sensing, 13, 969, <a href="https://doi.org/10.3390/rs13050969" target="_blank">https://doi.org/10.3390/rs13050969</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Chen et al.(2019)</label><mixed-citation>
      
Chen, Z.-Y., Zhang, R., Zhang, T.-H., Ou, C.-Q., and Guo, Y.: A  kriging-calibrated machine learning method for estimating daily ground-level  NO<sub>2</sub> in mainland China, Sci. Total Environ., 690, 556–564, <a href="https://doi.org/10.1016/j.scitotenv.2019.06.349" target="_blank">https://doi.org/10.1016/j.scitotenv.2019.06.349</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Cooper et al.(2022)</label><mixed-citation>
      
Cooper, M., Martin, R., Hammer, M., Levelt, P. F., Veefkind, P., Lamsal, L. N., Krotkov, N. A., Brook, J. R., and McLinden, C. A.: Global fine-scale changes in ambient NO<sub>2</sub> during COVID-19 lockdowns, Nature, 601, 380–387,  <a href="https://doi.org/10.1038/s41586-021-04229-0" target="_blank">https://doi.org/10.1038/s41586-021-04229-0</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Cooper et al.(2020)</label><mixed-citation>
      
Cooper, M. J., Martin, R. V., McLinden, C. A., and Brook, J. R.: Inferring   ground-level nitrogen dioxide concentrations at fine spatial resolution   applied to the TROPOMI satellite instrument, Environ. Res. Lett., 15, 104013, <a href="https://doi.org/10.1088/1748-9326/aba3a5" target="_blank">https://doi.org/10.1088/1748-9326/aba3a5</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Copernicus Climate Change
Service(2023)</label><mixed-citation>
      
Copernicus Climate Change Service: ERA5 hourly data on single levels from  1940 to present,, copernicus Climate Change Service (C3S) Climate Data Store (CDS) [data set], <a href="https://doi.org/10.24381/cds.adbb2d47" target="_blank">https://doi.org/10.24381/cds.adbb2d47</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>de Hoogh et al.(2019)</label><mixed-citation>
      
de Hoogh, K., Saucy, A., Shtein, A., Schwartz, J., West, E. A., Strassmann, A., Puhan, M., Röösli, M., Stafoggia, M., and Kloog, I.: Predicting Fine-Scale Daily NO<sub>2</sub> for 2005–2016 Incorporating OMI Satellite Data Across Switzerland, Environ. Sci. Technol., 53, 10279–10287,  <a href="https://doi.org/10.1021/acs.est.9b03107" target="_blank">https://doi.org/10.1021/acs.est.9b03107</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Di et al.(2020)</label><mixed-citation>
      
Di, Q., Amini, H., Shi, L., Kloog, I., Silvern, R., Kelly, J., Sabath, M. B.,  Choirat, C., Koutrakis, P., Lyapustin, A., Wang, Y., Mickley, L. J., and  Schwartz, J.: Assessing NO<sub>2</sub> Concentration and Model Uncertainty with High  Spatiotemporal Resolution across the Contiguous United States Using Ensemble  Model Averaging, Environ. Sci. Technol., 54, 1372–1384,  <a href="https://doi.org/10.1021/acs.est.9b03358" target="_blank">https://doi.org/10.1021/acs.est.9b03358</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Dou et al.(2021)</label><mixed-citation>
      
Dou, X., Liao, C., Wang, H., Huang, Y., Tu, Y., Huang, X., Peng, Y., Zhu, B.,  Tan, J., Deng, Z., Wu, N., Sun, T., Ke, P., and Liu, Z.: Estimates of daily  ground-level NO<sub>2</sub> concentrations in China based on Random Forest model  integrated K-means, Advances in Applied Energy, 2, 100017,  <a href="https://doi.org/10.1016/j.adapen.2021.100017" target="_blank">https://doi.org/10.1016/j.adapen.2021.100017</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Geddes et al.(2016)</label><mixed-citation>
      
Geddes, J. A., Martin, R. V., Boys, B. L., and van Donkelaar, A.: Long-Term  Trends Worldwide in Ambient NO<sub>2</sub> Concentrations Inferred from Satellite Observations, Environ. Health Persp., 124, 281–289,  <a href="https://doi.org/10.1289/ehp.1409567" target="_blank">https://doi.org/10.1289/ehp.1409567</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Genuer et al.(2008)</label><mixed-citation>
      
Genuer, R., Poggi, J.-M., and Tuleau, C.: Random Forests: some methodological  insights, arXiv [preprint], <a href="https://doi.org/10.48550/arXiv.0811.3619" target="_blank">https://doi.org/10.48550/arXiv.0811.3619</a>, 21 November 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Ghahremanloo et al.(2021)</label><mixed-citation>
      
Ghahremanloo, M., Lops, Y., Choi, Y., and Yeganeh, B.: Deep Learning Estimation of Daily Ground-Level NO<sub>2</sub> Concentrations From Remote Sensing Data, J. Geophys. Res.-Atmos., 126, e2021JD034925,  <a href="https://doi.org/10.1029/2021JD034925" target="_blank">https://doi.org/10.1029/2021JD034925</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Gu et al.(2017)</label><mixed-citation>
      
Gu, J., Chen, L., Yu, C., Li, S., Tao, J., Fan, M., Xiong, X., Wang, Z., Shang, H., and Su, L.: Ground-Level NO<sub>2</sub> Concentrations over China Inferred from the Satellite OMI and CMAQ Model Simulations, Remote Sensing, 9, 519,  <a href="https://doi.org/10.3390/rs9060519" target="_blank">https://doi.org/10.3390/rs9060519</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Hersbach et al.(2023)</label><mixed-citation>
      
Hersbach, H., Bell, B., Berrisford, P., Biavati, G., Horányi, A.,  Muñoz Sabater, J., Nicolas, J., Peubey, C., Radu, R., Rozum, I., Schepers,  D., Simmons, A., Soci, C., Dee, D., and Thépaut, J.-N.: ERA5 hourly data on  single levels from 1940 to present, Copernicus Climate Change Service (C3S) Climate Data Store (CDS) [data set], <a href="https://doi.org/10.24381/cds.adbb2d47" target="_blank">https://doi.org/10.24381/cds.adbb2d47</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Huang et al.(2023)Huang, Zhu, Lu, Gu, and Liu</label><mixed-citation>
      
Huang, K., Zhu, Q., Lu, X., Gu, D., and Liu, Y.: Satellite-Based Long-Term  Spatiotemporal Trends in Ambient NO<sub>2</sub> Concentrations and Attributable Health Burdens in China From 2005 to 2020, GeoHealth, 7, e2023GH000798,  <a href="https://doi.org/10.1029/2023GH000798" target="_blank">https://doi.org/10.1029/2023GH000798</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Jacob(2000)</label><mixed-citation>
      
Jacob, D. J.: Introduction to Atmospheric Chemistry, Princeton University  Press, Princeton, <a href="https://doi.org/10.1515/9781400841547" target="_blank">https://doi.org/10.1515/9781400841547</a>, ISBN&thinsp;9781400841547, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Jiang and Christakos(2018)</label><mixed-citation>
      
Jiang, Q. and Christakos, G.: Space-time mapping of ground-level PM<sub>2.5</sub> and NO<sub>2</sub> concentrations in heavily polluted northern China during winter using the Bayesian maximum entropy technique with satellite data, Air Qual. Atmos. Hlth., 11, 23–33, <a href="https://doi.org/10.1007/s11869-017-0514-8" target="_blank">https://doi.org/10.1007/s11869-017-0514-8</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Kharol et al.(2015)</label><mixed-citation>
      
Kharol, S., Martin, R., Philip, S., Boys, B., Lamsal, L., Jerrett, M., Brauer, M., Crouse, D., McLinden, C., and Burnett, R.: Assessment of the magnitude and recent trends in satellite-derived ground-level nitrogen dioxide over North America, Atmos. Environ., 118, 236–245,  <a href="https://doi.org/10.1016/j.atmosenv.2015.08.011" target="_blank">https://doi.org/10.1016/j.atmosenv.2015.08.011</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Kim et al.(2017)</label><mixed-citation>
      
Kim, D., Lee, H., Hong, H., Choi, W., Lee, Y. G., and Park, J.: Estimation of  Surface NO<sub>2</sub> Volume Mixing Ratio in Four Metropolitan Cities in Korea Using  Multiple Regression Models with OMI and AIRS Data, Remote Sensing, 9, 627,
<a href="https://doi.org/10.3390/rs9060627" target="_blank">https://doi.org/10.3390/rs9060627</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Kim et al.(2020)</label><mixed-citation>
      
Kim, J., Jeong, U., Ahn, M.-H., Kim, J. H., Park, R. J., Lee, H., Song, C. H., Choi, Y.-S., Lee, K.-H., Yoo, J.-M., Jeong, M.-J., Park, S. K., Lee, K.-M., Song, C.-K., Kim, S.-W., Kim, Y. J., Kim, S.-W., Kim, M., Go, S., Liu, X., Chance, K., Miller, C. C., Al-Saadi, J., Veihelmann, B., Bhartia, P. K., Torres, O., Abad, G. G., Haffner, D. P., Ko, D. H., Lee, S. H., Woo, J.-H., Chong, H., Park, S. S., Nicks, D., Choi, W. J., Moon, K.-J., Cho, A., Yoon, J., Kim, S.-k., Hong, H., Lee, K., Lee, H., Lee, S., Choi, M., Veefkind,  P., Levelt, P. F., Edwards, D. P., Kang, M., Eo, M., Bak, J., Baek, K., Kwon,  H.-A., Yang, J., Park, J., Han, K. M., Kim, B.-R., Shin, H.-W., Choi, H.,  Lee, E., Chong, J., Cha, Y., Koo, J.-H., Irie, H., Hayashida, S., Kasai, Y.,  Kanaya, Y., Liu, C., Lin, J., Crawford, J. H., Carmichael, G. R., Newchurch,  M. J., Lefer, B. L., Herman, J. R., Swap, R. J., Lau, A. K. H., Kurosu,  T. P., Jaross, G., Ahlers, B., Dobber, M., McElroy, C. T., and Choi, Y.: New  Era of Air Quality Monitoring from Space: Geostationary Environment  Monitoring Spectrometer (GEMS), B. Am. Meteorol. Soc., 101, E1–E22, <a href="https://doi.org/10.1175/BAMS-D-18-0013.1" target="_blank">https://doi.org/10.1175/BAMS-D-18-0013.1</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Kim et al.(2021)Kim, Brunner, and Kuhlmann</label><mixed-citation>
      
Kim, M., Brunner, D., and Kuhlmann, G.: Importance of satellite observations  for high-resolution mapping of near-surface NO<sub>2</sub> by machine learning, Remote Sens. Environ., 264, 112573, <a href="https://doi.org/10.1016/j.rse.2021.112573" target="_blank">https://doi.org/10.1016/j.rse.2021.112573</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Kley and McFarland(1980)</label><mixed-citation>
      
Kley, D. and McFarland, M.: Chemiluminescence detector for NO and NO/sub 2/, Atmos. Technol. (United States), 12,  <a href="https://www.osti.gov/biblio/6457230" target="_blank"/>, 1980.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Lamsal et al.(2008)</label><mixed-citation>
      
Lamsal, L. N., Martin, R. V., van Donkelaar, A., Steinbacher, M., Celarier,  E. A., Bucsela, E., Dunlea, E. J., and Pinto, J. P.: Ground-level nitrogen  dioxide concentrations inferred from the satellite-borne Ozone Monitoring  Instrument, J. Geophys. Res.-Atmos., 113, D16308,  <a href="https://doi.org/10.1029/2007JD009235" target="_blank">https://doi.org/10.1029/2007JD009235</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Lamsal et al.(2010)</label><mixed-citation>
      
Lamsal, L. N., Martin, R. V., van Donkelaar, A., Celarier, E. A., Bucsela,  E. J., Boersma, K. F., Dirksen, R., Luo, C., and Wang, Y.: Indirect  validation of tropospheric nitrogen dioxide retrieved from the OMI satellite  instrument: Insight into the seasonal variation of nitrogen oxides at  northern midlatitudes, J. Geophys. Res.-Atmos., 115, D05302,  <a href="https://doi.org/10.1029/2009JD013351" target="_blank">https://doi.org/10.1029/2009JD013351</a>, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Lamsal et al.(2013)</label><mixed-citation>
      
Lamsal, L. N., Martin, R. V., Parrish, D. D., and Krotkov, N. A.: Scaling  Relationship for NO<sub>2</sub> Pollution and Urban Population Size: A Satellite  Perspective, Environ. Sci. Technol., 47, 7855–7861,  <a href="https://doi.org/10.1021/es400744g" target="_blank">https://doi.org/10.1021/es400744g</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Lange et al.(2024)</label><mixed-citation>
      
Lange, K., Richter, A., Bösch, T., Zilker, B., Latsch, M., Behrens, L. K., Okafor, C. M., Bösch, H., Burrows, J. P., Merlaud, A., Pinardi, G., Fayt, C., Friedrich, M. M., Dimitropoulou, E., Van Roozendael, M., Ziegler, S., Ripperger-Lukosiunaite, S., Kuhn, L., Lauster, B., Wagner, T., Hong, H., Kim, D., Chang, L.-S., Bae, K., Song, C.-K., Park, J.-U., and Lee, H.: Validation of GEMS tropospheric NO<sub>2</sub> columns and their diurnal variation with ground-based DOAS measurements, Atmos. Meas. Tech., 17, 6315–6344, <a href="https://doi.org/10.5194/amt-17-6315-2024" target="_blank">https://doi.org/10.5194/amt-17-6315-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Lee et al.(2024)</label><mixed-citation>
      
Lee, H. J., Kim, N. R., and Shin, M. Y.: Capabilities of satellite  Geostationary Environment Monitoring Spectrometer (GEMS) NO<sub>2</sub> data for hourly ambient NO<sub>2</sub> exposure modeling, Environ. Res., 261, 119633,  <a href="https://doi.org/10.1016/j.envres.2024.119633" target="_blank">https://doi.org/10.1016/j.envres.2024.119633</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Levelt et al.(2006)</label><mixed-citation>
      
Levelt, P., van den Oord, G., Dobber, M., Malkki, A., Visser, H., de Vries, J., Stammes, P., Lundell, J., and Saari, H.: The ozone monitoring instrument,  IEEE T. Geosci. Remote, 44, 1093–1101, <a href="https://doi.org/10.1109/TGRS.2006.872333" target="_blank">https://doi.org/10.1109/TGRS.2006.872333</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Li et al.(2022)</label><mixed-citation>
      
Li, M., Wu, Y., Bao, Y., Liu, B., and Petropoulos, G. P.: Near-Surface NO<sub>2</sub>  Concentration Estimation by Random Forest Modeling and Sentinel-5P and  Ancillary Data, Remote Sensing, 14, 3612, <a href="https://doi.org/10.3390/rs14153612" target="_blank">https://doi.org/10.3390/rs14153612</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>National Institute of Environmental Research (NIER)(2025)</label><mixed-citation>
      
National Institute of Environmental Research (NIER): AirKorea Annual Report, NIER [data set], <a href="https://airkorea.or.kr/web/detailViewDown?pMENU_NO=125" target="_blank"/>, last access: 30 July 2025 (in Korean).

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Oak et al.(2024)</label><mixed-citation>
      
Oak, Y. J., Jacob, D. J., Balasus, N., Yang, L. H., Chong, H., Park, J., Lee, H., Lee, G. T., Ha, E. S., Park, R. J., Kwon, H.-A., and Kim, J.: A bias-corrected GEMS geostationary satellite product for nitrogen dioxide using machine learning to enforce consistency with the TROPOMI satellite instrument, Atmos. Meas. Tech., 17, 5147–5159, <a href="https://doi.org/10.5194/amt-17-5147-2024" target="_blank">https://doi.org/10.5194/amt-17-5147-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Pedregosa et al.(2011)</label><mixed-citation>
      
Pedregosa, F., Varoquaux, G., Gramfort, A., Michel, V., Thirion, B., Grisel,  O., Blondel, M., Prettenhofer, P., Weiss, R., Dubourg, V., Vanderplas, J.,  Passos, A., Cournapeau, D., Brucher, M., Perrot, M., and Duchesnay, E.:  Scikit-learn: Machine Learning in Python, J. Mach. Learn. Res., 12, 2825–2830, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Probst et al.(2018)</label><mixed-citation>
      
Probst, P., Bischl, B., and Boulesteix, A.-L.: Tunability: Importance of  Hyperparameters of Machine Learning Algorithms, arXiv [preprint],  <a href="https://doi.org/10.48550/arXiv.1802.09596" target="_blank">https://doi.org/10.48550/arXiv.1802.09596</a>, 22 October 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Probst et al.(2019)</label><mixed-citation>
      
Probst, P., Wright, M. N., and Boulesteix, A.-L.: Hyperparameters and tuning  strategies for random forest, WIREs Data Mining and Knowledge Discovery, 9, e1301, <a href="https://doi.org/10.1002/widm.1301" target="_blank">https://doi.org/10.1002/widm.1301</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Qin et al.(2020)</label><mixed-citation>
      
Qin, K., Han, X., Li, D., Xu, J., Loyola, D., Xue, Y., Zhou, X., Li, D., Zhang, K., and Yuan, L.: Satellite-based estimation of surface NO<sub>2</sub> concentrations over east-central China: A comparison of POMINO and OMNO2d data, Atmos. Environ., 224, 117322, <a href="https://doi.org/10.1016/j.atmosenv.2020.117322" target="_blank">https://doi.org/10.1016/j.atmosenv.2020.117322</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Scornet(2017)</label><mixed-citation>
      
Scornet, E.: Tuning parameters in random forests, ESAIM: Procs., 60, 144–162, <a href="https://doi.org/10.1051/proc/201760144" target="_blank">https://doi.org/10.1051/proc/201760144</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Shetty et al.(2024)</label><mixed-citation>
      
Shetty, S., Schneider, P., Stebel, K., David Hamer, P., Kylling, A., and  Koren Berntsen, T.: Estimating surface NO<sub>2</sub> concentrations over Europe using Sentinel-5P TROPOMI observations and Machine Learning, Remote Sens.  Environ., 312, 114321, <a href="https://doi.org/10.1016/j.rse.2024.114321" target="_blank">https://doi.org/10.1016/j.rse.2024.114321</a>,  2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Siddique et al.(2024)</label><mixed-citation>
      
Siddique, M. A., Naseer, E., Usama, M., and Basit, A.: Estimation of  Surface-Level NO<sub>2</sub> Using Satellite Remote Sensing and Machine Learning: A  review, IEEE Geoscience and Remote Sensing Magazine, 12, 2–28,  <a href="https://doi.org/10.1109/MGRS.2024.3398434" target="_blank">https://doi.org/10.1109/MGRS.2024.3398434</a>, 2024.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Tang et al.(2024)</label><mixed-citation>
      
Tang, B., Stanier, C. O., Carmichael, G. R., and Gao, M.: Ozone, nitrogen  dioxide, and PM<sub>2.5</sub> estimation from observation-model machine learning fusion  over S. Korea: Influence of observation density, chemical transport model  resolution, and geostationary remotely sensed AOD, Atmos. Environ., 331, 120603, <a href="https://doi.org/10.1016/j.atmosenv.2024.120603" target="_blank">https://doi.org/10.1016/j.atmosenv.2024.120603</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Veefkind et al.(2012)</label><mixed-citation>
      
Veefkind, J., Aben, I., McMullan, K., Förster, H., de Vries, J., Otter, G.,  Claas, J., Eskes, H., de Haan, J., Kleipool, Q., van Weele, M., Hasekamp,  O., Hoogeveen, R., Landgraf, J., Snel, R., Tol, P., Ingmann, P., Voors, R.,  Kruizinga, B., Vink, R., Visser, H., and Levelt, P.: TROPOMI on the ESA  Sentinel-5 Precursor: A GMES mission for global observations of the  atmospheric composition for climate, air quality and ozone layer  applications, Remote Sens. Environ., 120, 70–83, <a href="https://doi.org/10.1016/j.rse.2011.09.027" target="_blank">https://doi.org/10.1016/j.rse.2011.09.027</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Wang and Chen(2013)</label><mixed-citation>
      
Wang, B. and Chen, Z.: An intercomparison of satellite-derived ground-level NO<sub>2</sub> concentrations with GMSMB modeling results and in-situ measurements – A North American study, Environ. Pollut., 181, 172–181,  <a href="https://doi.org/10.1016/j.envpol.2013.06.037" target="_blank">https://doi.org/10.1016/j.envpol.2013.06.037</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Wei et al.(2022)</label><mixed-citation>
      
Wei, J., Liu, S., Li, Z., Liu, C., Qin, K., Liu, X., Pinker, R. T., Dickerson, R. R., Lin, J., Boersma, K. F., Sun, L., Li, R., Xue, W., Cui, Y., Zhang, C., and Wang, J.: Ground-Level NO<sub>2</sub> Surveillance from Space Across China for High Resolution Using Interpretable Spatiotemporally Weighted Artificial Intelligence, Environ. Sci. Technol., 56, 9988–9998,  <a href="https://doi.org/10.1021/acs.est.2c03834" target="_blank">https://doi.org/10.1021/acs.est.2c03834</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Williams et al.(2017)</label><mixed-citation>
      
Williams, J. E., Boersma, K. F., Le Sager, P., and Verstraeten, W. W.: The high-resolution version of TM5-MP for optimized satellite retrievals: description and validation, Geosci. Model Dev., 10, 721–750, <a href="https://doi.org/10.5194/gmd-10-721-2017" target="_blank">https://doi.org/10.5194/gmd-10-721-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Yang et al.(2023a)</label><mixed-citation>
      
Yang, L. H., Jacob, D. J., Colombi, N. K., Zhai, S., Bates, K. H., Shah, V., Beaudry, E., Yantosca, R. M., Lin, H., Brewer, J. F., Chong, H., Travis, K. R., Crawford, J. H., Lamsal, L. N., Koo, J.-H., and Kim, J.: Tropospheric NO<sub>2</sub> vertical profiles over South Korea and their relation to oxidant chemistry: implications for geostationary satellite retrievals and the observation of NO<sub>2</sub> diurnal variation from space, Atmos. Chem. Phys., 23, 2465–2481, <a href="https://doi.org/10.5194/acp-23-2465-2023" target="_blank">https://doi.org/10.5194/acp-23-2465-2023</a>, 2023a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Yang et al.(2023b)</label><mixed-citation>
      
Yang, Q., Kim, J., Cho, Y., Lee, W.-J., Lee, D.-W., Yuan, Q., Wang, F., Zhou,  C., Zhang, X., Xiao, X., Guo, M., Guo, Y., Carmichael, G. R., and Gao, M.: A  synchronized estimation of hourly surface concentrations of six criteria air  pollutants with GEMS data, npj Clim. Atmos. Sci., 6, 94,   <a href="https://doi.org/10.1038/s41612-023-00407-1" target="_blank">https://doi.org/10.1038/s41612-023-00407-1</a>, 2023b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Zhang et al.(2023)</label><mixed-citation>
      
Zhang, Y., Lin, J., Kim, J., Lee, H., Park, J., Hong, H., Van Roozendael, M., Hendrick, F., Wang, T., Wang, P., He, Q., Qin, K., Choi, Y., Kanaya, Y., Xu, J., Xie, P., Tian, X., Zhang, S., Wang, S., Cheng, S., Cheng, X., Ma, J., Wagner, T., Spurr, R., Chen, L., Kong, H., and Liu, M.: A research product for tropospheric NO<sub>2</sub> columns from Geostationary Environment Monitoring Spectrometer based on Peking University OMI NO<sub>2</sub> algorithm, Atmos. Meas. Tech., 16, 4643–4665, <a href="https://doi.org/10.5194/amt-16-4643-2023" target="_blank">https://doi.org/10.5194/amt-16-4643-2023</a>, 2023.

    </mixed-citation></ref-html>--></article>
