<?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">GMD</journal-id><journal-title-group>
    <journal-title>Geoscientific Model Development</journal-title>
    <abbrev-journal-title abbrev-type="publisher">GMD</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Geosci. Model Dev.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">1991-9603</issn><publisher>
    <publisher-name>Copernicus Publications</publisher-name>
    <publisher-loc>Göttingen, Germany</publisher-loc>
  </publisher></journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.5194/gmd-18-6439-2025</article-id><title-group><article-title>High-resolution mapping of urban NO<sub>2</sub> concentrations using Retina v2: a case study on data assimilation of surface and satellite observations in Madrid</article-title><alt-title>High-resolution mapping of urban NO<sub>2</sub> concentrations using Retina v2</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Mijling</surname><given-names>Bas</given-names></name>
          <email>bas.mijling@knmi.nl</email>
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Eskes</surname><given-names>Henk</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-8743-4455</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Hofmann</surname><given-names>Sascha</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Moreno</surname><given-names>Pau</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>García Falin</surname><given-names>David</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>de Vega Pastor</surname><given-names>María Encarnación</given-names></name>
          
        </contrib>
        <aff id="aff1"><label>1</label><institution>Royal Netherlands Meteorological Institute, 3730 AE De Bilt, the Netherlands</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Lobelia Earth, 08005, Barcelona, Spain</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Government Area of Urban Planning, Environment and Mobility, Madrid City Council, Madrid, Spain</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Bas Mijling (bas.mijling@knmi.nl)</corresp></author-notes><pub-date><day>25</day><month>September</month><year>2025</year></pub-date>
      
      <volume>18</volume>
      <issue>18</issue>
      <fpage>6439</fpage><lpage>6460</lpage>
      <history>
        <date date-type="received"><day>16</day><month>January</month><year>2025</year></date>
           <date date-type="rev-request"><day>28</day><month>February</month><year>2025</year></date>
           <date date-type="rev-recd"><day>2</day><month>July</month><year>2025</year></date>
           <date date-type="accepted"><day>19</day><month>August</month><year>2025</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2025 Bas Mijling 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://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025.html">This article is available from https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e160">Urban air pollution poses a significant health risk, with over half the global population living in cities where air quality often exceeds World Health Organization (WHO) guidelines. A comprehensive understanding of local pollution levels is essential for addressing this issue. Recent advancements in low-cost sensors and satellite instruments offer cost-efficient complements to reference stations but integrating these diverse data sources in useful monitoring tools is not straightforward. This study presents the updated Retina v2 algorithm, which generates high-resolution urban air pollution maps by assimilating heterogeneous measurements into a portable urban dispersion model. Tested for NO<sub>2</sub> concentrations in Madrid during March 2019, it shows improved speed and accuracy over its predecessor, with the ability to incorporate satellite data. Retina v2 balances performance with modest computational demands, delivering similar or better results compared to complex dispersion models and machine learning approaches requiring extensive datasets. Using only TROPOMI satellite data, citywide NO<sub>2</sub> simulations show an RMSE of 19.3 <inline-formula><mml:math id="M5" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>, with better results when hourly in-situ measurements were included. Relying on data of a single ground station can introduce biases, which can be mitigated by incorporating satellite data or multiple ground stations. Including more stations improves accuracy, with 24 stations yielding a correlation of 0.90 and an RMSE of 13.0 <inline-formula><mml:math id="M7" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>. The benefit of TROPOMI diminishes when data from five or more ground stations is available, but it remains valuable for many cities which have limited monitoring networks.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>European Space Agency</funding-source>
<award-id>4000131513/20/I-DT</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="d2e235">More than half of the world's population lives in cities, where most people breath air that exceeds the World Health Organization's (WHO) air quality guidelines (WHO, 2021). Elevated levels of nitrogen dioxide (NO<sub>2</sub>), primarily from urban traffic and residential emissions, significantly contribute to this health issue. NO<sub>2</sub> is linked to respiratory diseases, particularly asthma, leading to respiratory symptoms (such as coughing or difficulty breathing), hospital admissions and visits to emergency rooms. According to the WHO air quality database (WHO, 2023), 77 % of the population in the 4000 assessed towns and cities are exposed to mean annual NO<sub>2</sub> levels above the recommended limit of 10 <inline-formula><mml:math id="M12" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>. This figure rises to 90 % in cities in low- and middle-income countries, paralleling large-scale urbanisation and economic development.</p>
      <p id="d2e287">Addressing urban air pollution requires a detailed understanding of local pollution levels. This is best achieved with a dense network of reference stations, as traffic patterns and urban design can cause strong gradients in air pollution (Cummings et al., 2022). However, the high costs of installing and maintaining such networks often leave cities, especially in low- and middle-income countries, without adequate monitoring infrastructure.</p>
      <p id="d2e290">In recent years, alternative air quality measurements from low-cost sensors and satellite instruments have become available. The monitoring of urban air quality will greatly benefit from incorporating these complementary measurements (WMO, 2024). However, integrating different data sources in a transparent manner is challenging because they differ in sampling frequencies and spatial representativeness. While low-cost air quality sensors can provide detailed spatial observations in urban areas, they often come with significant uncertainties (Snyder et al., 2013). As satellites observe air pollution of the entire troposphere, the relationship between column concentrations and surface-level concentrations must be resolved first. Also, polar-orbiting satellites pass over the same area only once per day, missing a substantial part of the diurnal cycle (Boersma et al., 2009).</p>
      <p id="d2e293">Air quality models are therefore essential to create maps from measurements, as they not only fill in the unsampled areas and times, but also (in the more advanced data fusion methods) consider the different spatial representativity and accuracy of the measurements, and – for satellite measurements – the height distribution in column measurements.</p>
      <p id="d2e297">Modelling at the urban scale can be done by Land Use Regression (LUR) models (Hoek et al., 2008), which solve statistical relations between surface concentrations and geographic data. They are commonly used in exposure studies, providing maps at high spatial resolution but lacking a time component. Another approach is to downscale the output of regional chemical transport models to high-resolution sub-grid concentrations (e.g. Denby et al., 2020; Kim et al., 2018). Like LUR models, Gaussian plume models (e.g. listed in Kakosimos et al., 2010) are widely used in urban settings due to their low computational demands. Based on an analytical solution to pollutant transport equations and a detailed emission inventory, they can calculate hourly concentrations of air pollutants at street-level under given meteorological conditions.</p>
      <p id="d2e300">Better simulation results are obtained when in-situ measurements are spatially assimilated in modelled concentration fields using kriging techniques (Schneider et al., 2017; Criado et al., 2023) or optimal interpolation (Tilloy et al., 2013; Mijling, 2020). This significantly reduces both local biases and background biases.</p>
      <p id="d2e303">The TROPOspheric Monitoring Instrument (TROPOMI) is a nadir-viewing imaging spectrometer aboard ESA's Sentinel-5P satellite. Since May 2018, TROPOMI has provided global observations of air quality from space with an unprecedented spatial resolution (5.6 <inline-formula><mml:math id="M14" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 3.6 km<sup>2</sup> at nadir view since 6 August 2019). This resolution offers coarse information on spatial patterns of air pollution within urban environments. For instance, tropospheric NO<sub>2</sub> column measurements of TROPOMI have been used to estimate NO<sub><italic>x</italic></sub> emissions in Paris (Lorente et al., 2019), to predict daily surface NO<sub>2</sub> concentrations in Mexico City (He et al., 2023), and to detect spatiotemporal variations of NO<sub>2</sub> in Madrid (Morillas et al., 2024).</p>
      <p id="d2e359">TROPOMI observations are used by Kim et al. (2021) to create hourly NO<sub>2</sub> maps for Switzerland and northern Italy on a 100 m resolution, in a combination with reference measurements, geographical and meteorological data. Fu et al. (2023) also add low-cost sensor data for hourly mapping in Tangshan, China. Both studies show that satellite data can contribute significantly to surface NO<sub>2</sub> mapping, despite its coarse resolution and the fact that it is only available once a day under near cloud-free conditions.</p>
      <p id="d2e380">Recurrent complication in urban air quality modelling is the need of an up-to-date emission inventory at a high resolution, and realistic estimations of the regional background concentrations. Also, many urban data fusion applications depend on machine learning (e.g. Kim et al., 2021; He et al., 2023) or a detailed local air quality model (e.g. Schneider et al., 2017; Criado et al., 2023). This complicates portability to other cities where the required input data might not be available.</p>
      <p id="d2e383">The Retina algorithm (Mijling, 2020) provides a physics-based and portable approach. It has been developed specifically for observation-based high-resolution modelling of urban air pollution using heterogeneous air quality measurements (i.e. of different accuracy and origin). Central in Retina is the open-source AERMOD dispersion model (Cimorelli et al., 2004), developed by the American Meteorological Society (AMS) and United States Environmental Protection Agency (EPA). The model is driven by meteorology and local emissions constructed from proxy data. Observations are used for emission optimization and spatial concentration assimilation. It generates hourly maps of air pollutant concentrations at street-level.</p>
      <p id="d2e387">Retina v2, described in this paper, has undergone significant updates to enhance its speed and accuracy. It is faster and uses less computational resources by using AERMOD only for dispersion kernel calculations (Sect. 2.3.1). The estimation of background concentrations has been improved (Sect. 2.2.1). The NO<inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ratios are estimated more accurately by replacing the Ozone Limiting Method with a non-linear regression method (Sect. 2.3.2). The estimation of the sectoral emission factors is better stabilised by implementation of a Kalman filter (Sect. 2.3.4). The spatial assimilation of concentration measurements is improved by including time-dependent dispersion characteristics in the model error covariances (Sect. 2.3.5). Most notably, for the CitySatAir project (part of ESA's EO Science for Society program) we extended the algorithm with an additional module to incorporate tropospheric column concentrations of NO<sub>2</sub> measured with TROPOMI (Sect. 2.3.3).</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Method</title>
      <p id="d2e424">The added value of NO<sub>2</sub> column measurements from space is evaluated through their application in Madrid, Spain, for the period of March 2019. The city's extensive network of NO<sub>2</sub> reference stations allows for the exploration of different measurement configurations, including scenarios with and without TROPOMI observations.</p>
      <p id="d2e446">The municipality of Madrid extends over an area of about 40 <inline-formula><mml:math id="M26" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 43 km<sup>2</sup>, with a population of approximately 3.4 million people. Urban NO<sub>2</sub> pollution levels are amongst the highest in Europe, regularly exceeding the air quality guidelines set by the WHO (WHO, 2021), which recommend limits of 10 <inline-formula><mml:math id="M29" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> for annual averages and 25 <inline-formula><mml:math id="M31" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> for daily averages. The city of Madrid ranks first in Europe for mortality linked to NO<sub>2</sub> pollution, according to a recent health impact study by ISGlobal, which analysed nearly 1000 European cities (Khomenko et al., 2022). Traffic and residential emissions are mainly responsible for the high surface concentrations found in the city, as Madrid has no heavy industry or other important NO<sub>2</sub> hot spots in its immediate vicinity.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>NO<sub>2</sub> observations</title>
<sec id="Ch1.S2.SS1.SSS1">
  <label>2.1.1</label><title>Reference network</title>
      <p id="d2e561">Common equipment to perform reference measurements of NO<sub>2</sub> include the Teledyne API 200E and a Thermo Electron 42i <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:mi mathvariant="normal">NO</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> analyser, both based on chemiluminescence. A catalytic–reactive converter converts NO<sub>2</sub> in the sample gas to NO, which, along with the NO present in the sample, is reported as NO<sub><italic>x</italic></sub>. NO<sub>2</sub> is then calculated as the difference between NO<sub><italic>x</italic></sub> and NO. We use an accuracy of 4 % of the NO<sub>2</sub> measurements (GGD, 2023). Note that this might be an underestimation for locations downwind of source areas, as the molybdenum converter also reduces other reactive nitrogen species such as PAN and HNO<sub>3</sub> (especially found in aged plumes) to NO, introducing a positive bias in the NO<sub>2</sub> measurements (Steinbacher et al., 2007).</p>
      <p id="d2e652">Madrid has an extensive network of 24 reference sites measuring hourly NO<sub>2</sub> concentrations (see Fig. 1), from which 9 qualify as street stations, 12 as urban background stations, and 3 as suburban background stations. Hourly measurements of the network are published in near real-time as open data at the Madrid Open Data Portal (<uri>https://datos.madrid.es</uri>, last access: 23 September 2025). Lower concentrations of NO<sub>2</sub> are found in summertime, due to favourable atmospheric conditions (e.g. higher boundary layer height) and less emissions during the holiday period. Highest concentrations are found in wintertime, when monthly averaged values are well above 40 <inline-formula><mml:math id="M47" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> at roadside and urban background sites. The network-wide average in March 2019 (36.2 <inline-formula><mml:math id="M49" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>) closely reflects the annual average (34.5 <inline-formula><mml:math id="M51" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>).</p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e745">Reference network for NO<sub>2</sub> measurements in Madrid. The red line indicates the municipality border. Basemap source: © OpenStreetMap contributors © Carto, 2024. Distributed under a Creative Commons BY-SA License.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f01.png"/>

          </fig>

</sec>
<sec id="Ch1.S2.SS1.SSS2">
  <label>2.1.2</label><title>TROPOMI retrievals</title>
      <p id="d2e771">TROPOMI is a nadir-viewing imaging spectrometer aboard ESA's Sentinel-5P satellite. Since May 2018, TROPOMI has provided global observations of air quality from space with an unprecedented spatial resolution (5.6 <inline-formula><mml:math id="M54" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 3.6 km<sup>2</sup> at nadir view since 6 August 2019), enabling it to offer coarse information on spatial patterns and gradients of air pollution within urban environments.</p>
      <p id="d2e790">Being in a sun-synchronous orbit at 824 km altitude, S5P overpasses Madrid daily around 13:00 UTC. At times the urban area is sampled from two adjacent orbits, typically around 12:30 and 14:10 UTC. At every overpass the retrieval footprints are located differently, sampling different parts of the urban area.</p>
      <p id="d2e793">From the radiance and irradiance spectra the NO<sub>2</sub> slant column density can be derived, which is divided into a stratospheric and tropospheric part. By applying an appropriate air mass factor the tropospheric slant column is converted to a tropospheric vertical column density and its accompanying averaging kernel. We use the latest reprocessed product for TROPOMI tropospheric NO<sub>2</sub> columns, version 2.4 (Eskes et al., 2022; van Geffen et al., 2022), which implements a new surface albedo climatology derived from TROPOMI observations, including the viewing-angle dependence of the scattering at the surface.</p>
      <p id="d2e814">Although it is recommended that for straightforward application only retrievals with a quality value <inline-formula><mml:math id="M58" display="inline"><mml:mo>≥</mml:mo></mml:math></inline-formula> 0.75 should be used (i.e. valid retrievals with cloud radiance fractions below 50 %), this criterion is relaxed to <inline-formula><mml:math id="M59" display="inline"><mml:mo>≥</mml:mo></mml:math></inline-formula> 0.5 (i.e. valid retrievals, including under cloudy conditions) as the averaging kernel is carefully applied (see van Geffen et al., 2022). Also, only footprints which cover the studied domain by more than 50 % are used. In this way, there are on average 14.2 valid retrievals found per day in March 2019.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Model input data</title>
<sec id="Ch1.S2.SS2.SSS1">
  <label>2.2.1</label><title>Background concentrations</title>
      <p id="d2e847">An important fraction of the air pollution is transported from upwind regions (see e.g. Harrison, 2018). Using realistic background concentrations of NO<sub>2</sub> is therefore crucial as the dispersion simulation only accounts for locally generated NO<sub>2</sub> within the domain.</p>
      <p id="d2e868">Here we use hourly data from the European air quality ensemble from the Copernicus Atmosphere Monitoring Service (CAMS) (Marécal et al., 2015), which for 2019 data consist of 9 state-of-the-art numerical air quality models. More specifically, the ensemble median of the validated reanalysis is used, a data product for which each ensemble member assimilated validated hourly observations of air pollutants as reported to the European Environment Agency. The CAMS regional ensemble covers Europe at a resolution of 0.1 <inline-formula><mml:math id="M62" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 0.1°. Note that the coarseness of the data product makes it unsuitable for monitoring urban air quality in detail, as the strong concentration gradients found around strong sources will be averaged out, leading to an underestimation of NO<sub>2</sub> concentrations, see Fig. 2.</p>

      <fig id="F2"><label>Figure 2</label><caption><p id="d2e889">NO<sub>2</sub> surface concentrations in Madrid, March 2019, from bilinear interpolation of the average values of the CAMS reanalysis. CAMS grid cells are shown in thin black lines. Also shown are the mean concentrations measured by the reference network.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f02.png"/>

          </fig>

      <p id="d2e908">To avoid double counting of locally produced NO<sub>2</sub> concentrations, we take for each hour a weighted average of the CAMS concentrations found along the municipal perimeter. Let <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi mathvariant="normal">C</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mrow></mml:math></inline-formula>) represent the interpolated CAMS concentration at location <inline-formula><mml:math id="M67" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the unit vector along the wind direction, <inline-formula><mml:math id="M69" display="inline"><mml:mi mathvariant="bold-italic">n</mml:mi></mml:math></inline-formula> the normal vector on the perimeter (pointing outwards), and <inline-formula><mml:math id="M70" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula> the part of the perimeter where <inline-formula><mml:math id="M71" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> (i.e. where background pollution is flowing into the municipal domain). A uniform wind direction is taken, based on the 10 m wind at the domain centre. Then the weighted average for this hour is calculated from the line integral

              <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M72" display="block"><mml:mrow><mml:mi>b</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi>W</mml:mi></mml:mfrac></mml:mstyle><mml:msub><mml:mo>∫</mml:mo><mml:mi>L</mml:mi></mml:msub><mml:msub><mml:mi>b</mml:mi><mml:mi mathvariant="normal">C</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mfenced><mml:msub><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi>d</mml:mi><mml:mi>l</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">with</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>W</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mo>∫</mml:mo><mml:mi>L</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold-italic">e</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub><mml:mo>⋅</mml:mo><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mi>d</mml:mi><mml:mi>l</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:mi>d</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:math></inline-formula> represents the elementary arc length along the perimeter. The resulting background value <inline-formula><mml:math id="M74" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> is taken homogeneously for the entire domain, thus avoiding the use of more advanced advection schemes. A validation of this method for Madrid can be found in Sect. S1 in the Supplement. The background concentration of ozone, needed in the calculation of the NO<inline-formula><mml:math id="M75" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ratio, is calculated from CAMS ozone fields in the same manner.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS2">
  <label>2.2.2</label><title>Meteorology</title>
      <p id="d2e1102">Meteorology is an important ingredient for dispersion modelling, as it determines how the air pollutant is transported horizontally and vertically. AERMET, the meteorological preprocessor of AERMOD, requires both surface meteorological data (cloud cover, temperature, humidity, dew point temperature, pressure, precipitation, wind speed and direction) and upper air meteorological data (temperature, humidity, wind speed and direction in vertical layers). The wind speed and direction are also used to determine the influx of background concentrations and the main axes of the model error covariance (Sect. 2.2.1 and 2.3.5).</p>
      <p id="d2e1105">We use the collection of short-range forecasts (issued at 00:00 and 12:00 UTC) from the archive of the European Centre for Medium-Range Weather Forecasts (ECMWF) at the supercomputing facility in Bologna. It is retrieved as 3-hourly output at a 0.05° spatial resolution. Hourly meteorological fields are obtained by temporal interpolation and then interpolated to a representative location central in the Retina domain.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS3">
  <label>2.2.3</label><title>Emission proxies</title>
      <p id="d2e1116">An important unknown when modelling street-level urban air pollution is the location and strength of the urban emissions. For many cities this information is either unavailable or outdated. By describing traffic and residential emissions with proxies taken from open data sets (see Fig. 3) we enable a versatile model setup which can be applied easily to other cities. The domain boundary is extended outward by 1500 m to account for contributions from sources close to the municipal border. Other sectoral emissions, e.g. from industry, will be accounted for indirectly in either an increased background field or in additional residential emissions.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e1121">Proxies used for the estimation of urban emissions. The Retina algorithm distinguishes between highways, primary roads, and residential emissions. Nearby emissions outside the municipal border are also considered.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f03.png"/>

          </fig>

      <p id="d2e1130">Road location and road type classification is taken from OpenStreetMap (OSM). All road segments labelled “motorway” or “trunk” are linked to the highway class. All “primary”, “secondary” and “tertiary” segments are linked to the primary road class.</p>
      <p id="d2e1134">The Madrid Open Data Portal publishes vehicle counts at approximately 4000 locations, mainly from inductive loop sensors at traffic junctions. The data files contain vehicle counts in 15 min bins, which are aggregated into one-hour bins to align with the temporal resolution of the simulations. For each location, a monthly averaged traffic volume cycle is calculated, separated by hour of day and day of week.</p>
      <p id="d2e1137">Between counting locations, the traffic flow is estimated by spatial interpolation using inverse-distance weighting. The interpolation is done separately for vehicle counts at highways and primary road networks, as they have incomparable traffic volumes.</p>
      <p id="d2e1140">Population density is a good proxy for residential emissions from activities such as heating and cooking. We use the population densities from the Global Human Settlement project (Freire et al., 2016) which are provided on a 250 m resolution. To reflect the observation that per capita residential emissions decrease when people live closer to each other (e.g. Makido et al., 2012), the emission fluxes are scaled proportionally to the square root of the population density.</p>
      <p id="d2e1143">The proxy data <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for sector <inline-formula><mml:math id="M77" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula> (here traffic and residential) are gridded on a high-resolution 10 m grid to enable fast application of the dispersion kernel (see Sect. 2.3.1). Sectoral NO<sub><italic>x</italic></sub> emissions for a grid cell indexed with <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are calculated by applying the emission factors <inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to the proxy data:

              <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M81" display="block"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>

            Emissions change over the day. For traffic emissions this is described by a time dependency in the proxy data. The diurnal cycle in residential emissions, however, is described by 24 different emission factors (each for one hour), as its proxy data are constant in time.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>The revised Retina algorithm</title>
      <p id="d2e1255">Retina uses past observations for emission optimisation (minimizing the general model bias) and current observations for spatial concentration assimilation (reducing local model biases).</p>
      <p id="d2e1258">In the emission optimisation step (represented in Fig. 4) the algorithm fits emissions factors for the proxy emissions that best match the spatio-temporal concentration patterns observed by the reference network. The optimisation is repeated every 24 h (see Sect. 2.3.4), using the emission factors and covariances of the previous estimation as <italic>a priori</italic>. This approach avoids the need of detailed knowledge of vehicle fleet composition and solves mismatches between theoretical and real-world emissions. It also compensates for model biases resulting from incorrect chemistry (e.g. lifetime) and unaccounted (seasonal) emission cycles.</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e1266">Schematic representation of Retina's emission optimisation workflow. Starting with <italic>a priori</italic> emission factors, the AERMOD dispersion model simulates NO<sub>2</sub> concentrations at the observation locations for a 24 h period. The Kalman filter infers from the difference between observation and simulation the best update for the emission factors. These values are passed to the next analysis period.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f04.png"/>

        </fig>

      <p id="d2e1288">With the most recent estimation of emission factors, Retina simulates the surface concentrations for a specific hour at all 62 266 locations of a non-regular, road-following mesh (see e.g. Lefebvre et al., 2011).</p>
      <p id="d2e1291">Next, in-situ observations are spatially assimilated in the simulated concentration field using optimal interpolation (Daley, 1991), see Fig. 5. This technique allows for the assimilation of surface measurements with different error margins. At the observation locations, model values are corrected towards the observations. In the surrounding areas, the balance between the model and observation errors determines how the simulation is adjusted (see Sect. 2.3.5).</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e1296">Schematic representation of Retina's hourly simulation and assimilation workflow. The dispersion model uses optimised emissions and background concentrations to simulate surface concentrations. In-situ observations (if available) are assimilated in an optimal interpolation scheme.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f05.png"/>

        </fig>

<sec id="Ch1.S2.SS3.SSS1">
  <label>2.3.1</label><title>Dispersion kernel</title>
      <p id="d2e1312">Due to the large number of emission sources, using a straightforward AERMOD configuration can result in long calculation times, especially if simulations must be performed at several vertical levels to recreate the tropospheric columns. Instead, we adopt the approach suggested by Masey et al. (2018), using AERMOD exclusively to calculate the dispersion kernel. This is the dispersion of a unit NO<sub><italic>x</italic></sub> emission for a specific hour under given meteorological conditions (e.g., wind speed and direction, atmospheric stability, and boundary layer height).</p>
      <p id="d2e1324">Removal processes of NO<sub><italic>x</italic></sub> are modelled with an exponential decay, which is included in the kernel calculation. In urban settings, the typical lifetime of NO<sub><italic>x</italic></sub> is on the order of a few hours (Beirle et al., 2011), and changes significantly when plumes travel from source areas and mix with clean air (Krol et al., 2024). However, as emitted NO<sub><italic>x</italic></sub> has a relatively short residence time in urban areas, the specific value of its lifetime is not very critical. We use a heuristic value of 2 h throughout this study.</p>
      <p id="d2e1354">Dispersion kernels are computed for all emission release heights of the emissions and all receptor heights. Sectoral release heights are 0.5 m for traffic and 10 m for residential emissions. These sector-specific dispersion kernels <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:msub><mml:mi>K</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are then gridded onto the regular high-resolution grid, aligning with the emission grid <inline-formula><mml:math id="M88" display="inline"><mml:mi>E</mml:mi></mml:math></inline-formula>. Examples of dispersion kernels are illustrated in Fig. 6.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e1378">Examples of dispersion kernels at different release heights and winds (i.e. different atmospheric stability) for surface concentration calculation. The receptor height of the kernels is at 1.5 m. Distances are given in meters.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f06.png"/>

          </fig>

      <p id="d2e1387">The NO<sub><italic>x</italic></sub> concentration <inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> (in NO<sub>2</sub> mass equivalent per volume) for a receptor located in grid cell <inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> can now be calculated as a superposition of all dispersed emissions, for all contributing emission sectors <inline-formula><mml:math id="M93" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula>

              <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M94" display="block"><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mo>∑</mml:mo><mml:mi>s</mml:mi></mml:msub><mml:msub><mml:mo>∑</mml:mo><mml:mrow><mml:msup><mml:mi>i</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:msup><mml:mi>j</mml:mi><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:msub><mml:msub><mml:mi>K</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>-</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msup><mml:mi>i</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mi>j</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>

            This can be interpreted as an element-wise matrix multiplication (i.e., the Hadamard product) of the mirrored dispersion kernel with its origin at <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> with the entire emission grid. In first order, the NO<sub><italic>x</italic></sub> concentrations depend linearly on contributing sources; an NO<inline-formula><mml:math id="M97" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ratio is applied afterwards (see Sect. 2.3.2). Transport over longer distances must be accounted for to prevent underestimation: although a single grid cell at a long upwind distance may contribute only a small amount, the cumulative effect from numerous such grid cells becomes significant. In our algorithm we consider contributions up to 30 km to account for transport effects in the entire simulation domain. To ensure computational efficiency, contributions at longer distances are computed at lower resolutions, as emission source locations become less critical with increasing distance.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS2">
  <label>2.3.2</label><title>Surface concentration simulation</title>
      <p id="d2e1593">We calculate NO<sub>2</sub> concentrations from NO<sub><italic>x</italic></sub> concentrations using a time and location dependent NO<inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ratio. The dynamic equilibrium between NO and NO<sub>2</sub> is affected by temperature, available ozone (which generates NO<sub>2</sub> from NO), and solar radiation (which generates NO from NO<sub>2</sub>). The local NO<inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ratio is hourly estimated using parameters available during simulation: <list list-type="bullet"><list-item>
      <p id="d2e1678">the local simulated NO<sub><italic>x</italic></sub> concentration.</p></list-item><list-item>
      <p id="d2e1691">the background O<sub>3</sub> concentration, taken from the regional CAMS ensemble.</p></list-item><list-item>
      <p id="d2e1704">the background NO<sub>2</sub> concentration, also taken from the regional CAMS ensemble.</p></list-item><list-item>
      <p id="d2e1717">the temperature, as a measure of reaction speed for conversion NO to NO<sub>2</sub>.</p></list-item><list-item>
      <p id="d2e1730">the Solar Elevation Angle (SEA), as a measure of radiation available for photolysis of NO<sub>2</sub>.</p></list-item></list></p>
      <p id="d2e1742">As the dependence on these parameters is non-linear, we train an extreme gradient boosting (XGBoost) model (Chen and Guestrin, 2016) to estimate NO<sub>2</sub> ratios at simulation time (see Sect. S2).</p>
      <p id="d2e1754">From the NO<sub><italic>x</italic></sub> concentration <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> calculated by Eq. (3), the NO<inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ratio  <inline-formula><mml:math id="M114" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>, and the background concentration <inline-formula><mml:math id="M115" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> (from Eq. 1), we calculate the NO<sub>2</sub> surface concentration <inline-formula><mml:math id="M117" display="inline"><mml:mi>c</mml:mi></mml:math></inline-formula> as

              <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M118" display="block"><mml:mrow><mml:mi>c</mml:mi><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:mo>+</mml:mo><mml:mi>r</mml:mi><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo><mml:msup><mml:mi>c</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo>(</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S2.SS3.SSS3">
  <label>2.3.3</label><title>Column concentration simulation</title>
      <p id="d2e1893">For column concentration simulations, which are necessary for comparison against satellite observations, we use the same approach as for surface simulations but with different settings (see Table 1).</p>

<table-wrap id="T1" specific-use="star"><label>Table 1</label><caption><p id="d2e1899">Overview of simulation settings.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Surface</oasis:entry>
         <oasis:entry colname="col2">Tropospheric column</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">simulation</oasis:entry>
         <oasis:entry colname="col2">simulation</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Surface level only (1.5 m)</oasis:entry>
         <oasis:entry colname="col2">9 horizontal levels: 0, 1.5, 50, 250, 500, 1000, 2000, 3000, 5000 m</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">10 m horizontal resolution</oasis:entry>
         <oasis:entry colname="col2">250 m horizontal resolution</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">NO<sub>2</sub> ratio from XGBoost model</oasis:entry>
         <oasis:entry colname="col2">NO<sub>2</sub> ratio from CAMS</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">NO<sub>2</sub> background concentration from CAMS</oasis:entry>
         <oasis:entry colname="col2">NO<sub>2</sub> background column from fit</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e2007">Given the large footprints of the satellite observations relative to the urban domain, it is crucial to maximize the information content from single NO<sub>2</sub> retrievals. Gridding and averaging to a model grid, or clustering orbits in time, would result in valuable information loss. Instead, we project simulation results to individual footprints in individual orbits, following these steps: <list list-type="order"><list-item>
      <p id="d2e2021">Modelling of NO<sub><italic>x</italic></sub> concentrations at high resolution at 9 different heights. We use the vertical grid definition from the CAMS regional ensemble from surface to 5 km.</p></list-item><list-item>
      <p id="d2e2034">Spatially aggregating the simulated values to individual satellite footprints. The coarser resolution in the horizontal (250 m) is justified as the satellite footprints are in the order of kilometres.</p></list-item><list-item>
      <p id="d2e2038">Temporal interpolation of simulation values to the exact satellite overpass time.</p></list-item><list-item>
      <p id="d2e2042">Applying the averaging kernel associated with the retrieval, after conversion of the concentration profile to partial columns matching the kernel's levels. This reduces errors resulting from profile assumptions in the retrieval method (Eskes and Boersma, 2003).</p></list-item></list> Finding a realistic NO<inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ratio for column simulation is not straightforward, as the chemical equilibrium changes with height. Close to sources, lower layers exhibit smaller ratios at low temperatures (when conversion from primarily emitted NO is not established yet), while higher layers show reduced NO<sub>2</sub> due to stronger photodissociation from solar irradiance. An intricate chemical analysis is avoided by taking the ratio <inline-formula><mml:math id="M127" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> from columns of the CAMS regional ensemble (see Sect. S3). For Madrid, <inline-formula><mml:math id="M128" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> fluctuates between 0.4 and 0.8, with the lowest values found in winter. Note that NO<inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ratios in columns are generally higher than surface ratios due to increased ozone availability.</p>
      <p id="d2e2105">The column simulation includes only local contributions, excluding the background column (i.e., concentrations from emissions outside the domain and the free tropospheric column above the boundary layer). To simplify matters, we do not simulate this background column. Instead, the background column concentration is determined for each overpass by fitting the simulated column concentrations to the observations.</p>
      <p id="d2e2108">Let <inline-formula><mml:math id="M130" display="inline"><mml:mrow><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>l</mml:mi><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> be the simulation of the partial NO<sub><italic>x</italic></sub> column concentration for the footprint of retrieval <inline-formula><mml:math id="M132" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, for atmospheric layer <inline-formula><mml:math id="M133" display="inline"><mml:mi>l</mml:mi></mml:math></inline-formula>, and for emitting sector <inline-formula><mml:math id="M134" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula>. <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>l</mml:mi><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> is calculated from dispersed proxy data following step 1 to 3. Let <inline-formula><mml:math id="M136" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> be the averaging kernel element for layer <inline-formula><mml:math id="M137" display="inline"><mml:mi>l</mml:mi></mml:math></inline-formula> and retrieval <inline-formula><mml:math id="M138" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. With the ratio <inline-formula><mml:math id="M139" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> known from CAMS and the background column <inline-formula><mml:math id="M140" display="inline"><mml:mi>B</mml:mi></mml:math></inline-formula> fitted, we can write for the simulated tropospheric NO<sub>2</sub> column <inline-formula><mml:math id="M142" display="inline"><mml:mi>C</mml:mi></mml:math></inline-formula>:

              <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M143" display="block"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>B</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mo>∑</mml:mo><mml:mi>l</mml:mi></mml:msub><mml:msub><mml:mi>A</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mo>∑</mml:mo><mml:mi>s</mml:mi></mml:msub><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>l</mml:mi><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:math></disp-formula>

            Figure 7 demonstrates that this approach effectively simulates the location, shape, and strength of the pollution plume over the city. The <inline-formula><mml:math id="M144" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>-intercept in the scatter plots represents the estimated background concentration <inline-formula><mml:math id="M145" display="inline"><mml:mi>B</mml:mi></mml:math></inline-formula>, which is determined using ordinary least squares regression, using the reciprocal of the retrieval error as error weights.</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e2317">Three examples of tropospheric NO<sub>2</sub> columns over Madrid under different wind speeds and directions (indicated by the black arrows). Panels <bold>(a)</bold>, <bold>(d)</bold>, and <bold>(g)</bold> show retrievals from TROPOMI in single overpasses. Panels <bold>(b)</bold>, <bold>(e)</bold>, and <bold>(h)</bold> show corresponding column simulations (including background columns) by Retina, where emission factors have been optimised before against surface concentrations. The background columns are estimated from the linear fit between simulations from local emissions and observations <bold>(c, f, i)</bold>.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f07.png"/>

          </fig>


</sec>
<sec id="Ch1.S2.SS3.SSS4">
  <label>2.3.4</label><title>Emission optimisation: estimating emission factors</title>
      <p id="d2e2367">In the dispersion modelling described above, the sector-specific emission factors (<inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) remain unknown. These can be estimated from the observations. Rewriting Eqs. (2) to (5), we can express simulations of both NO<sub>2</sub> surface concentrations at location <inline-formula><mml:math id="M149" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> and tropospheric NO<sub>2</sub> column concentrations at footprint <inline-formula><mml:math id="M151" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> as a linear combination of <inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

              <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M153" display="block"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>b</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>r</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msub><mml:mo>∑</mml:mo><mml:mi>s</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>f</mml:mi><mml:mi>s</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi mathvariant="normal">and</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:msub><mml:mi>C</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>B</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mo>∑</mml:mo><mml:mi>s</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>f</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e2503">Here, <inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mi>s</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are calculated from the dispersion of sectoral proxy data by the dispersion kernels, <inline-formula><mml:math id="M156" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M157" display="inline"><mml:mi>B</mml:mi></mml:math></inline-formula> are the background concentration at the surface and the background column concentration respectively, and <inline-formula><mml:math id="M158" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M159" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> the corresponding NO<inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> ratios.</p>
      <p id="d2e2580">Finding the emission factors from observations is an ill-posed inverse problem, which we regulate here with a Kalman filter. The technical description of the estimation is described in Sect. S4. For in-situ observations, the state vector consists of 25 unknown <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> values: one emission factor for traffic, and 24 elements describing the diurnal cycle of the residential emissions. This is different when using TROPOMI observations only, as they only provide information around overpass time. In this case, we use an <italic>a priori</italic> diurnal cycle for residential emissions (see Sect. S5). The state vector is then reduced to two unknowns: one emission factor for traffic and one factor that scales the <italic>a priori</italic> residential diurnal cycle.</p>
      <p id="d2e2600">By carefully selecting the covariances in the filter we optimise the response time without introducing too much noise from measurement and model errors. Starting with an arbitrary state vector, a spin-up time of at least one month (i.e. <inline-formula><mml:math id="M162" display="inline"><mml:mo>∼</mml:mo></mml:math></inline-formula> 30 optimisation iterations) is needed. Figure 8 shows an example how satellite observations of a single orbit over Madrid are used for an updated estimation of the emission factors.</p>

      <fig id="F8"><label>Figure 8</label><caption><p id="d2e2613">Example of the Kalman filter applied to TROPOMI observations in a single orbit over Madrid on 8 March 2019. The grey dots represent the simulated tropospheric column concentration values, which show a clear underestimation for that day. After applying the Kalman filter the emission factors are updated, resulting in new simulations (blue dots) that are closer to the <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">y</mml:mi></mml:mrow></mml:math></inline-formula> line. The updated emission factors are used as a priori in the emission optimisation of the following day.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f08.png"/>

          </fig>

</sec>
<sec id="Ch1.S2.SS3.SSS5">
  <label>2.3.5</label><title>Spatial assimilation of surface concentrations</title>
      <p id="d2e2642">Retina uses the optimised emissions to simulate hourly surface concentration fields, which serves as <italic>a priori</italic> for the spatial assimilation of in-situ measurements. This assimilation process corrects local model errors from e.g. incorrect proxy data or inhomogeneities in the background field. With vector <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> representing the simulated surface concentration field (i.e. the <italic>forecast)</italic>, and vector <inline-formula><mml:math id="M165" display="inline"><mml:mi mathvariant="bold-italic">z</mml:mi></mml:math></inline-formula> containing the in-situ observations, the statistical interpolation can be written as:

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M166" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E7"><mml:mtd><mml:mtext>7</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="bold">K</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="bold-italic">z</mml:mi><mml:mo>-</mml:mo><mml:mi>H</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E8"><mml:mtd><mml:mtext>8</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="bold">K</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi mathvariant="bold">P</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msup><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:msup><mml:mi mathvariant="bold">HP</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msup><mml:msup><mml:mi mathvariant="bold">H</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msup><mml:mo>+</mml:mo><mml:mi mathvariant="bold">R</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

            The update of the forecasted field <inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:mo mathvariant="bold">(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) depends on the difference between the observations <inline-formula><mml:math id="M168" display="inline"><mml:mi mathvariant="bold-italic">z</mml:mi></mml:math></inline-formula> and the collocated simulations <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:mi>H</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>). Matrix <inline-formula><mml:math id="M170" display="inline"><mml:mi mathvariant="bold">H</mml:mi></mml:math></inline-formula> maps the simulations to the observation locations, and <inline-formula><mml:math id="M171" display="inline"><mml:mi mathvariant="bold">R</mml:mi></mml:math></inline-formula> contains the observation covariances, as in Mijling (2020). The update is determined by the Kalman gain matrix <inline-formula><mml:math id="M172" display="inline"><mml:mi mathvariant="bold">K</mml:mi></mml:math></inline-formula> which balances between the observation error and the model error. Figure 9 illustrates this spatial assimilation cycle.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e2819">Spatial assimilation for 7 March 2019, 13:00. Starting from the top-left panel and moving counter-clockwise: <bold>(a)</bold> in-situ observations and the forecasted field based on optimised emission factors; <bold>(c)</bold> difference between observations and simulation; <bold>(d)</bold> concentration update using optimal interpolation; <bold>(b)</bold> a posteriori field with assimilated observations.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f09.png"/>

          </fig>

      <p id="d2e2840">The model error covariance matrix, <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="bold">P</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, represents the spatial extent of model errors: an error at the observation location implies errors in nearby areas. This covariance is approximated by accounting for the spatial representativity of observations, which varies between street and background locations, and by incorporating hourly changes in atmospheric dispersion, writing:

              <disp-formula id="Ch1.E9" content-type="numbered"><label>9</label><mml:math id="M174" display="block"><mml:mrow><mml:mi mathvariant="normal">cov</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>A</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are the model errors at location <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. <inline-formula><mml:math id="M179" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>A</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> represents the correlation between modelled time series at these locations (which is here calculated from all simulations for March 2019). Correlations between traffic locations and background locations will be lower than between similar locations, therefore <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>A</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> reduces the impact of an observation on areas it is not representative of (see Fig. S7).</p>
      <p id="d2e3004">New in Retina v2 is the inclusion of <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, representing the spatial correlation due to the time-dependence in pollutant dispersion. We want to describe this in terms of the two-dimensional dispersion kernel introduced in Sect. 2.3.1. As demonstrated in Sect. S6, <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> can be calculated by multiplying the 2D kernel with a copy of itself, shifted by the distance <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>. This results in a dispersion correlation field which is symmetric along the downwind and crosswind axes. The correlation at a distance <inline-formula><mml:math id="M184" display="inline"><mml:mi>d</mml:mi></mml:math></inline-formula> along each main axis can be approximated with

              <disp-formula id="Ch1.E10" content-type="numbered"><label>10</label><mml:math id="M185" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mi>d</mml:mi></mml:mfenced><mml:mo>≈</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mfenced close="|" open="|"><mml:mrow><mml:mi>d</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">0.75</mml:mn></mml:msup><mml:mi mathvariant="normal">exp</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:msup><mml:mfenced open="|" close="|"><mml:mrow><mml:mi>d</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi></mml:mrow></mml:mfenced><mml:mn mathvariant="normal">0.75</mml:mn></mml:msup></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            with <inline-formula><mml:math id="M186" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula> the fitted correlation length for the considered hour. Typically, the correlation lengths are larger at night and shorter during the day. The exponent 0.75, determined heuristically, provides representative high correlations around the measurement location and best captures the decaying tail.</p>
</sec>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Results</title>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Model accuracy with TROPOMI-only data</title>
      <p id="d2e3131">As explained in Sect. 2.3.3 and 2.3.4, retrievals in individual overpasses of TROPOMI can be used to optimise the emissions for the dispersion model. We evaluate the results when optimisation is done at 24 h intervals, with a two-month spin-up time to ensure convergence from <italic>a priori</italic> values. The space-derived emission factors are used to simulate hourly surface concentrations at a high resolution, as shown in Fig. 10.</p>

      <fig id="F10" specific-use="star"><label>Figure 10</label><caption><p id="d2e3139">Simulation of NO<sub>2</sub> surface concentrations by Retina averaged for March 2019, using TROPOMI observations for daily estimates of emission factors.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f10.png"/>

        </fig>

      <p id="d2e3157">The hourly NO<sub>2</sub> concentrations are validated against time series at the 24 sites of the reference network. The statistics of the hourly time series of Retina <inline-formula><mml:math id="M189" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> TROPOMI and the regional CAMS ensemble are listed in Table 2. We use three different statistical parameters for evaluation: <list list-type="bullet"><list-item>
      <p id="d2e3178"><italic>Correlation.</italic> the Pearson correlation coefficient. A value closer to 1 indicates a better capacity to describe the hourly dynamics of NO<sub>2</sub> concentrations. However, the model might still be off by a bias and/or a multiplication factor.</p></list-item><list-item>
      <p id="d2e3193"><italic>Bias.</italic> difference between the average simulated value and the average observed value in the considered period. A negative value indicates a systematic underestimation of the simulation, while a positive value indicates a systematic overestimation of the simulation.</p></list-item><list-item>
      <p id="d2e3199"><italic>RMSE.</italic> the root mean square error. A lower value indicates a smaller distribution of simulations around the true values. Note that the RMSE can be dominated by a bias.</p></list-item></list> As expected, the interpolated CAMS reanalysis shows a strong negative bias (<inline-formula><mml:math id="M191" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>10.0 <inline-formula><mml:math id="M192" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> on average), particularly at roadside locations. The correlation, in contrast, is quite high (0.86 averaged over all 24 reference sites). This can be attributed to the CAMS ensemble members assimilating observations from a selection of background stations, namely ES0124, ES0126, ES1532, ES1939, ES1942, ES1947, and ES1946 (see CAMS, 2022).</p>

<table-wrap id="T2" specific-use="star"><label>Table 2</label><caption><p id="d2e3239">Retina validation statistics for hourly surface NO<sub>2</sub> concentrations when optimising emissions using TROPOMI data (validation against interpolated CAMS concentrations in parentheses). Average statistics are indicated in bold font.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="13">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right" colsep="1"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right" colsep="1"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right" colsep="1"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right" colsep="1"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:colspec colnum="11" colname="col11" align="right" colsep="1"/>
     <oasis:colspec colnum="12" colname="col12" align="right"/>
     <oasis:colspec colnum="13" colname="col13" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry namest="col2" nameend="col7" align="center" colsep="1">Overpass hours (12:00–14:00 UTC) </oasis:entry>
         <oasis:entry namest="col8" nameend="col13" align="center">All hours </oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Location and type</oasis:entry>
         <oasis:entry namest="col2" nameend="col3" align="center" colsep="1">correlation </oasis:entry>
         <oasis:entry namest="col4" nameend="col5" align="center">RMSE (<inline-formula><mml:math id="M195" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>) </oasis:entry>
         <oasis:entry namest="col6" nameend="col7" align="center" colsep="1">bias (<inline-formula><mml:math id="M197" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>) </oasis:entry>
         <oasis:entry namest="col8" nameend="col9" align="center">correlation </oasis:entry>
         <oasis:entry namest="col10" nameend="col11" align="center" colsep="1">RMSE (<inline-formula><mml:math id="M199" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>) </oasis:entry>
         <oasis:entry namest="col12" nameend="col13" align="center">bias (<inline-formula><mml:math id="M201" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>) </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0115 street</oasis:entry>
         <oasis:entry colname="col2">0.823</oasis:entry>
         <oasis:entry colname="col3">(0.825)</oasis:entry>
         <oasis:entry colname="col4">13.8</oasis:entry>
         <oasis:entry colname="col5">(19.2)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M203" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>10.8</oasis:entry>
         <oasis:entry colname="col7">(-17.3)</oasis:entry>
         <oasis:entry colname="col8">0.777</oasis:entry>
         <oasis:entry colname="col9">(0.868)</oasis:entry>
         <oasis:entry colname="col10">18.7</oasis:entry>
         <oasis:entry colname="col11">(21.9)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M204" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>5.9</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M205" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>16.6)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0118 street</oasis:entry>
         <oasis:entry colname="col2">0.610</oasis:entry>
         <oasis:entry colname="col3">(0.794)</oasis:entry>
         <oasis:entry colname="col4">20.4</oasis:entry>
         <oasis:entry colname="col5">(32.8)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M206" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>15.7</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M207" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>31.3)</oasis:entry>
         <oasis:entry colname="col8">0.714</oasis:entry>
         <oasis:entry colname="col9">(0.831)</oasis:entry>
         <oasis:entry colname="col10">24.1</oasis:entry>
         <oasis:entry colname="col11">(33.3)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M208" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>9.3</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M209" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>28.7)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0120 street</oasis:entry>
         <oasis:entry colname="col2">0.860</oasis:entry>
         <oasis:entry colname="col3">(0.917)</oasis:entry>
         <oasis:entry colname="col4">14.9</oasis:entry>
         <oasis:entry colname="col5">(25.7)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M210" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>7.6</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M211" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>21.8)</oasis:entry>
         <oasis:entry colname="col8">0.747</oasis:entry>
         <oasis:entry colname="col9">(0.814)</oasis:entry>
         <oasis:entry colname="col10">19.9</oasis:entry>
         <oasis:entry colname="col11">(19.8)</oasis:entry>
         <oasis:entry colname="col12">5.6</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M212" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>12.4)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1426 street</oasis:entry>
         <oasis:entry colname="col2">0.848</oasis:entry>
         <oasis:entry colname="col3">(0.959)</oasis:entry>
         <oasis:entry colname="col4">9.7</oasis:entry>
         <oasis:entry colname="col5">(12.2)</oasis:entry>
         <oasis:entry colname="col6">4.8</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M213" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>10.1)</oasis:entry>
         <oasis:entry colname="col8">0.824</oasis:entry>
         <oasis:entry colname="col9">(0.911)</oasis:entry>
         <oasis:entry colname="col10">17.5</oasis:entry>
         <oasis:entry colname="col11">(14.8)</oasis:entry>
         <oasis:entry colname="col12">6.5</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M214" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>8.7)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1521 street</oasis:entry>
         <oasis:entry colname="col2">0.829</oasis:entry>
         <oasis:entry colname="col3">(0.922)</oasis:entry>
         <oasis:entry colname="col4">8.9</oasis:entry>
         <oasis:entry colname="col5">(13.9)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M215" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.0</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M216" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>11.5)</oasis:entry>
         <oasis:entry colname="col8">0.738</oasis:entry>
         <oasis:entry colname="col9">(0.900)</oasis:entry>
         <oasis:entry colname="col10">19.1</oasis:entry>
         <oasis:entry colname="col11">(21.0)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M217" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.5</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M218" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>14.6)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1525 street</oasis:entry>
         <oasis:entry colname="col2">0.700</oasis:entry>
         <oasis:entry colname="col3">(0.851)</oasis:entry>
         <oasis:entry colname="col4">16.9</oasis:entry>
         <oasis:entry colname="col5">(17.4)</oasis:entry>
         <oasis:entry colname="col6">10.9</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M219" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>14.9)</oasis:entry>
         <oasis:entry colname="col8">0.708</oasis:entry>
         <oasis:entry colname="col9">(0.850)</oasis:entry>
         <oasis:entry colname="col10">25.5</oasis:entry>
         <oasis:entry colname="col11">(18.6)</oasis:entry>
         <oasis:entry colname="col12">13.3</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M220" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>12.1)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1938 street</oasis:entry>
         <oasis:entry colname="col2">0.813</oasis:entry>
         <oasis:entry colname="col3">(0.890)</oasis:entry>
         <oasis:entry colname="col4">12.9</oasis:entry>
         <oasis:entry colname="col5">(17.3)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M221" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>4.1</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M222" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>12.8)</oasis:entry>
         <oasis:entry colname="col8">0.713</oasis:entry>
         <oasis:entry colname="col9">(0.850)</oasis:entry>
         <oasis:entry colname="col10">20.5</oasis:entry>
         <oasis:entry colname="col11">(15.9)</oasis:entry>
         <oasis:entry colname="col12">5.0</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M223" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>8.0)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1940 street</oasis:entry>
         <oasis:entry colname="col2">0.794</oasis:entry>
         <oasis:entry colname="col3">(0.865)</oasis:entry>
         <oasis:entry colname="col4">12.5</oasis:entry>
         <oasis:entry colname="col5">(20.5)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M224" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>4.4</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M225" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>16.8)</oasis:entry>
         <oasis:entry colname="col8">0.736</oasis:entry>
         <oasis:entry colname="col9">(0.831)</oasis:entry>
         <oasis:entry colname="col10">19.3</oasis:entry>
         <oasis:entry colname="col11">(19.1)</oasis:entry>
         <oasis:entry colname="col12">4.3</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M226" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>12.6)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1943 street</oasis:entry>
         <oasis:entry colname="col2">0.636</oasis:entry>
         <oasis:entry colname="col3">(0.775)</oasis:entry>
         <oasis:entry colname="col4">15.4</oasis:entry>
         <oasis:entry colname="col5">(28.6)</oasis:entry>
         <oasis:entry colname="col6">2.1</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M227" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>26.4)</oasis:entry>
         <oasis:entry colname="col8">0.722</oasis:entry>
         <oasis:entry colname="col9">(0.823)</oasis:entry>
         <oasis:entry colname="col10">26.8</oasis:entry>
         <oasis:entry colname="col11">(38.4)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M228" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>5.2</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M229" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>31.2)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0124 urban background</oasis:entry>
         <oasis:entry colname="col2">0.836</oasis:entry>
         <oasis:entry colname="col3">(0.961)</oasis:entry>
         <oasis:entry colname="col4">10.4</oasis:entry>
         <oasis:entry colname="col5">(13.4)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M230" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.2</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M231" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>10.0)</oasis:entry>
         <oasis:entry colname="col8">0.795</oasis:entry>
         <oasis:entry colname="col9">(0.918)</oasis:entry>
         <oasis:entry colname="col10">16.4</oasis:entry>
         <oasis:entry colname="col11">(15.4)</oasis:entry>
         <oasis:entry colname="col12">0.8</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M232" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>9.6)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0125 urban background</oasis:entry>
         <oasis:entry colname="col2">0.881</oasis:entry>
         <oasis:entry colname="col3">(0.938)</oasis:entry>
         <oasis:entry colname="col4">6.9</oasis:entry>
         <oasis:entry colname="col5">(7.0)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M233" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.5</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M234" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>4.9)</oasis:entry>
         <oasis:entry colname="col8">0.817</oasis:entry>
         <oasis:entry colname="col9">(0.935)</oasis:entry>
         <oasis:entry colname="col10">23.1</oasis:entry>
         <oasis:entry colname="col11">(22.1)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M235" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>11.4</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M236" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>14.7)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0126 urban background</oasis:entry>
         <oasis:entry colname="col2">0.906</oasis:entry>
         <oasis:entry colname="col3">(0.962)</oasis:entry>
         <oasis:entry colname="col4">8.5</oasis:entry>
         <oasis:entry colname="col5">(7.8)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M237" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>4.3</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M238" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>5.5)</oasis:entry>
         <oasis:entry colname="col8">0.802</oasis:entry>
         <oasis:entry colname="col9">(0.910)</oasis:entry>
         <oasis:entry colname="col10">15.7</oasis:entry>
         <oasis:entry colname="col11">(12.5)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M239" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>4.1</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M240" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>6.1)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1422 urban background</oasis:entry>
         <oasis:entry colname="col2">0.746</oasis:entry>
         <oasis:entry colname="col3">(0.810)</oasis:entry>
         <oasis:entry colname="col4">11.2</oasis:entry>
         <oasis:entry colname="col5">(12.6)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M241" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>5.9</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M242" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>9.1)</oasis:entry>
         <oasis:entry colname="col8">0.683</oasis:entry>
         <oasis:entry colname="col9">(0.860)</oasis:entry>
         <oasis:entry colname="col10">18.1</oasis:entry>
         <oasis:entry colname="col11">(12.7)</oasis:entry>
         <oasis:entry colname="col12">1.6</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M243" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>5.7)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1532 urban background</oasis:entry>
         <oasis:entry colname="col2">0.849</oasis:entry>
         <oasis:entry colname="col3">(0.937)</oasis:entry>
         <oasis:entry colname="col4">8.0</oasis:entry>
         <oasis:entry colname="col5">(8.2)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M244" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.9</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M245" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>6.3)</oasis:entry>
         <oasis:entry colname="col8">0.779</oasis:entry>
         <oasis:entry colname="col9">(0.916)</oasis:entry>
         <oasis:entry colname="col10">17.0</oasis:entry>
         <oasis:entry colname="col11">(13.1)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M246" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1.2</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M247" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>6.8)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1645 urban background</oasis:entry>
         <oasis:entry colname="col2">0.777</oasis:entry>
         <oasis:entry colname="col3">(0.877)</oasis:entry>
         <oasis:entry colname="col4">10.1</oasis:entry>
         <oasis:entry colname="col5">(10.2)</oasis:entry>
         <oasis:entry colname="col6">1.0</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M248" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>5.4)</oasis:entry>
         <oasis:entry colname="col8">0.802</oasis:entry>
         <oasis:entry colname="col9">(0.868)</oasis:entry>
         <oasis:entry colname="col10">16.5</oasis:entry>
         <oasis:entry colname="col11">(20.1)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M249" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.0</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M250" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>12.4)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1937 urban background</oasis:entry>
         <oasis:entry colname="col2">0.794</oasis:entry>
         <oasis:entry colname="col3">(0.887)</oasis:entry>
         <oasis:entry colname="col4">9.6</oasis:entry>
         <oasis:entry colname="col5">(9.1)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M251" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.8</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M252" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>5.6)</oasis:entry>
         <oasis:entry colname="col8">0.711</oasis:entry>
         <oasis:entry colname="col9">(0.893)</oasis:entry>
         <oasis:entry colname="col10">19.3</oasis:entry>
         <oasis:entry colname="col11">(13.5)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M253" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.9</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M254" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>5.9)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1939 urban background</oasis:entry>
         <oasis:entry colname="col2">0.893</oasis:entry>
         <oasis:entry colname="col3">(0.958)</oasis:entry>
         <oasis:entry colname="col4">10.6</oasis:entry>
         <oasis:entry colname="col5">(8.7)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M255" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.1</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M256" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>3.2)</oasis:entry>
         <oasis:entry colname="col8">0.586</oasis:entry>
         <oasis:entry colname="col9">(0.807)</oasis:entry>
         <oasis:entry colname="col10">21.5</oasis:entry>
         <oasis:entry colname="col11">(12.7)</oasis:entry>
         <oasis:entry colname="col12">7.2</oasis:entry>
         <oasis:entry colname="col13">(3.1)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1941 urban background</oasis:entry>
         <oasis:entry colname="col2">0.786</oasis:entry>
         <oasis:entry colname="col3">(0.822)</oasis:entry>
         <oasis:entry colname="col4">6.9</oasis:entry>
         <oasis:entry colname="col5">(8.4)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M257" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.0</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M258" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>6.1)</oasis:entry>
         <oasis:entry colname="col8">0.744</oasis:entry>
         <oasis:entry colname="col9">(0.867)</oasis:entry>
         <oasis:entry colname="col10">18.9</oasis:entry>
         <oasis:entry colname="col11">(16.9)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M259" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>6.0</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M260" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>10.4)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1942 urban background</oasis:entry>
         <oasis:entry colname="col2">0.663</oasis:entry>
         <oasis:entry colname="col3">(0.937)</oasis:entry>
         <oasis:entry colname="col4">11.7</oasis:entry>
         <oasis:entry colname="col5">(11.2)</oasis:entry>
         <oasis:entry colname="col6">2.1</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M261" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>8.2)</oasis:entry>
         <oasis:entry colname="col8">0.728</oasis:entry>
         <oasis:entry colname="col9">(0.895)</oasis:entry>
         <oasis:entry colname="col10">21.9</oasis:entry>
         <oasis:entry colname="col11">(26.3)</oasis:entry>
         <oasis:entry colname="col12"><inline-formula><mml:math id="M262" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>4.8</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M263" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>19.7)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1944 urban background</oasis:entry>
         <oasis:entry colname="col2">0.876</oasis:entry>
         <oasis:entry colname="col3">(0.935)</oasis:entry>
         <oasis:entry colname="col4">8.8</oasis:entry>
         <oasis:entry colname="col5">(12.6)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M264" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.0</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M265" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>9.5)</oasis:entry>
         <oasis:entry colname="col8">0.782</oasis:entry>
         <oasis:entry colname="col9">(0.872)</oasis:entry>
         <oasis:entry colname="col10">16.6</oasis:entry>
         <oasis:entry colname="col11">(17.2)</oasis:entry>
         <oasis:entry colname="col12">2.2</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M266" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>9.3)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1947 urban background</oasis:entry>
         <oasis:entry colname="col2">0.851</oasis:entry>
         <oasis:entry colname="col3">(0.905)</oasis:entry>
         <oasis:entry colname="col4">7.7</oasis:entry>
         <oasis:entry colname="col5">(5.7)</oasis:entry>
         <oasis:entry colname="col6">4.2</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M267" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>0.8)</oasis:entry>
         <oasis:entry colname="col8">0.740</oasis:entry>
         <oasis:entry colname="col9">(0.854)</oasis:entry>
         <oasis:entry colname="col10">17.9</oasis:entry>
         <oasis:entry colname="col11">(14.9)</oasis:entry>
         <oasis:entry colname="col12">5.8</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M268" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>4.1)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1193 suburban backgr.</oasis:entry>
         <oasis:entry colname="col2">0.912</oasis:entry>
         <oasis:entry colname="col3">(0.913)</oasis:entry>
         <oasis:entry colname="col4">8.1</oasis:entry>
         <oasis:entry colname="col5">(6.6)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M269" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.2</oasis:entry>
         <oasis:entry colname="col7">(0.2)</oasis:entry>
         <oasis:entry colname="col8">0.669</oasis:entry>
         <oasis:entry colname="col9">(0.782)</oasis:entry>
         <oasis:entry colname="col10">15.3</oasis:entry>
         <oasis:entry colname="col11">(13.7)</oasis:entry>
         <oasis:entry colname="col12">3.1</oasis:entry>
         <oasis:entry colname="col13">(5.9)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1945 suburban backgr.</oasis:entry>
         <oasis:entry colname="col2">0.820</oasis:entry>
         <oasis:entry colname="col3">(0.862)</oasis:entry>
         <oasis:entry colname="col4">7.2</oasis:entry>
         <oasis:entry colname="col5">(6.2)</oasis:entry>
         <oasis:entry colname="col6">3.9</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M270" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>3.4)</oasis:entry>
         <oasis:entry colname="col8">0.702</oasis:entry>
         <oasis:entry colname="col9">(0.623)</oasis:entry>
         <oasis:entry colname="col10">16.1</oasis:entry>
         <oasis:entry colname="col11">(10.1)</oasis:entry>
         <oasis:entry colname="col12">10.1</oasis:entry>
         <oasis:entry colname="col13">(1.4)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">ES1946 suburban backgr.</oasis:entry>
         <oasis:entry colname="col2">0.852</oasis:entry>
         <oasis:entry colname="col3">(0.968)</oasis:entry>
         <oasis:entry colname="col4">9.6</oasis:entry>
         <oasis:entry colname="col5">(7.3)</oasis:entry>
         <oasis:entry colname="col6">1.8</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M271" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>1.6)</oasis:entry>
         <oasis:entry colname="col8">0.737</oasis:entry>
         <oasis:entry colname="col9">(0.889)</oasis:entry>
         <oasis:entry colname="col10">17.8</oasis:entry>
         <oasis:entry colname="col11">(11.4)</oasis:entry>
         <oasis:entry colname="col12">6.1</oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M272" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>0.5)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Mean</oasis:entry>
         <oasis:entry colname="col2"><bold>0.806</bold></oasis:entry>
         <oasis:entry colname="col3">(<bold>0.895</bold>)</oasis:entry>
         <oasis:entry colname="col4"><bold>10.9</bold></oasis:entry>
         <oasis:entry colname="col5">(<bold>13.4</bold>)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M273" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula><bold>1.9</bold></oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M274" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula><bold>10.1</bold>)</oasis:entry>
         <oasis:entry colname="col8"><bold>0.740</bold></oasis:entry>
         <oasis:entry colname="col9">(<bold>0.857</bold>)</oasis:entry>
         <oasis:entry colname="col10"><bold>19.3</bold></oasis:entry>
         <oasis:entry colname="col11">(<bold>18.1</bold>)</oasis:entry>
         <oasis:entry colname="col12"><bold>0.8</bold></oasis:entry>
         <oasis:entry colname="col13">(<inline-formula><mml:math id="M275" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula><bold>10.0</bold>)</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e5023">Dispersion modelling based on TROPOMI-estimated emissions produces realistic ground concentrations: the absolute biases are reduced at most reference sites (from 10.0 to 0.8 <inline-formula><mml:math id="M276" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> on average), particularly at roadside and urban background locations. However, this improvement comes at the cost of introducing more scatter, resulting in lower correlation (0.74 on average), and an RMSE increasing from 18.1 to 19.3 <inline-formula><mml:math id="M278" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>.</p>
      <p id="d2e5070">Satellite observations can only estimate emissions around overpass time. Wrong assumptions in the diurnal cycle for other hours introduce an additional error. Therefore, the statistics improve when evaluated for overpass hours only (12:00 to 14:00 UTC): the correlation is higher (0.81) and RMSE is lower (10.9 <inline-formula><mml:math id="M280" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>).</p>
      <p id="d2e5095">A large negative bias is still found at ES0118 (Escuelas Aguirre), which is close to a busy intersection. Retina might underestimate the local traffic flow here, or the additional pollution burden due to deceleration and acceleration of congested traffic. A notable overestimation of NO<sub>2</sub> concentrations occurs at location ES1525 (Cuatro Caminos). This is subject to further investigation; it might be related to an overestimation of local traffic intensities.</p>
      <p id="d2e5107">Section S7 presents the city-wide performance for all months in 2019. March 2019 is approximately representative of the annual average, although seasonal variability is evident. The highest correlation (0.86) is observed during the colder months, when NO<sub>2</sub> concentrations are elevated. In summer, the correlation decreases to 0.70, but the RMSE is lower due to reduced bias and overall lower NO<sub>2</sub> levels.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Model accuracy under different network configurations</title>
      <p id="d2e5136">The Retina algorithm can also ingest in-situ measurements of one or more ground stations to estimate the emissions factors. The extent and the distribution of this observation network will affect the quality of the emission estimations and therefore the accuracy of the NO<sub>2</sub> simulations.</p>
      <p id="d2e5148">First, we assess the influence of station location on emission optimisation using a single reference station, both with and without satellite data. Table 3 summarises the average validation statistics for hourly simulated NO<sub>2</sub> concentrations across all 24 observation locations.</p>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e5163">Mean validation statistics using different reference stations for emission optimisation, sorted from high to low bias. The right column lists the corresponding total emission estimation. Outside parentheses: including TROPOMI data; inside parenthesis: excluding TROPOMI.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="9">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right" colsep="1"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right" colsep="1"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right" colsep="1"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">observations from</oasis:entry>
         <oasis:entry namest="col2" nameend="col3" align="center" colsep="1">correlation </oasis:entry>
         <oasis:entry namest="col4" nameend="col5" align="center" colsep="1">RMSE (<inline-formula><mml:math id="M287" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>) </oasis:entry>
         <oasis:entry namest="col6" nameend="col7" align="center" colsep="1">bias (<inline-formula><mml:math id="M289" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>) </oasis:entry>
         <oasis:entry namest="col8" nameend="col9" align="center">emission (Mg NO) </oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">ES1943</oasis:entry>
         <oasis:entry colname="col2">0.731</oasis:entry>
         <oasis:entry colname="col3">(0.723)</oasis:entry>
         <oasis:entry colname="col4">26.7</oasis:entry>
         <oasis:entry colname="col5">(29.0)</oasis:entry>
         <oasis:entry colname="col6">12.8</oasis:entry>
         <oasis:entry colname="col7">(17.2)</oasis:entry>
         <oasis:entry colname="col8">2084</oasis:entry>
         <oasis:entry colname="col9">(2638)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0125</oasis:entry>
         <oasis:entry colname="col2">0.748</oasis:entry>
         <oasis:entry colname="col3">(0.758)</oasis:entry>
         <oasis:entry colname="col4">24.7</oasis:entry>
         <oasis:entry colname="col5">(24.5)</oasis:entry>
         <oasis:entry colname="col6">12.3</oasis:entry>
         <oasis:entry colname="col7">(13.2)</oasis:entry>
         <oasis:entry colname="col8">2014</oasis:entry>
         <oasis:entry colname="col9">(2200)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0118</oasis:entry>
         <oasis:entry colname="col2">0.739</oasis:entry>
         <oasis:entry colname="col3">(0.750)</oasis:entry>
         <oasis:entry colname="col4">23.7</oasis:entry>
         <oasis:entry colname="col5">(24.1)</oasis:entry>
         <oasis:entry colname="col6">9.7</oasis:entry>
         <oasis:entry colname="col7">(12.6)</oasis:entry>
         <oasis:entry colname="col8">2285</oasis:entry>
         <oasis:entry colname="col9">(2755)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1942</oasis:entry>
         <oasis:entry colname="col2">0.759</oasis:entry>
         <oasis:entry colname="col3">(0.760)</oasis:entry>
         <oasis:entry colname="col4">21.1</oasis:entry>
         <oasis:entry colname="col5">(21.1)</oasis:entry>
         <oasis:entry colname="col6">7.9</oasis:entry>
         <oasis:entry colname="col7">(7.9)</oasis:entry>
         <oasis:entry colname="col8">1647</oasis:entry>
         <oasis:entry colname="col9">(1651)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1941</oasis:entry>
         <oasis:entry colname="col2">0.753</oasis:entry>
         <oasis:entry colname="col3">(0.755)</oasis:entry>
         <oasis:entry colname="col4">21.5</oasis:entry>
         <oasis:entry colname="col5">(21.1)</oasis:entry>
         <oasis:entry colname="col6">8.2</oasis:entry>
         <oasis:entry colname="col7">(7.7)</oasis:entry>
         <oasis:entry colname="col8">1708</oasis:entry>
         <oasis:entry colname="col9">(1669)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0115</oasis:entry>
         <oasis:entry colname="col2">0.752</oasis:entry>
         <oasis:entry colname="col3">(0.756)</oasis:entry>
         <oasis:entry colname="col4">20.4</oasis:entry>
         <oasis:entry colname="col5">(20.6)</oasis:entry>
         <oasis:entry colname="col6">6.0</oasis:entry>
         <oasis:entry colname="col7">(7.6)</oasis:entry>
         <oasis:entry colname="col8">1791</oasis:entry>
         <oasis:entry colname="col9">(2086)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1521</oasis:entry>
         <oasis:entry colname="col2">0.781</oasis:entry>
         <oasis:entry colname="col3">(0.784)</oasis:entry>
         <oasis:entry colname="col4">18.6</oasis:entry>
         <oasis:entry colname="col5">(18.3)</oasis:entry>
         <oasis:entry colname="col6">3.8</oasis:entry>
         <oasis:entry colname="col7">(3.6)</oasis:entry>
         <oasis:entry colname="col8">1475</oasis:entry>
         <oasis:entry colname="col9">(1496)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1532</oasis:entry>
         <oasis:entry colname="col2">0.775</oasis:entry>
         <oasis:entry colname="col3">(0.782)</oasis:entry>
         <oasis:entry colname="col4">18.3</oasis:entry>
         <oasis:entry colname="col5">(17.8)</oasis:entry>
         <oasis:entry colname="col6">2.3</oasis:entry>
         <oasis:entry colname="col7">(2.1)</oasis:entry>
         <oasis:entry colname="col8">1325</oasis:entry>
         <oasis:entry colname="col9">(1344)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0126</oasis:entry>
         <oasis:entry colname="col2">0.764</oasis:entry>
         <oasis:entry colname="col3">(0.778)</oasis:entry>
         <oasis:entry colname="col4">18.4</oasis:entry>
         <oasis:entry colname="col5">(17.7)</oasis:entry>
         <oasis:entry colname="col6">1.4</oasis:entry>
         <oasis:entry colname="col7">(1.1)</oasis:entry>
         <oasis:entry colname="col8">1234</oasis:entry>
         <oasis:entry colname="col9">(1244)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1937</oasis:entry>
         <oasis:entry colname="col2">0.776</oasis:entry>
         <oasis:entry colname="col3">(0.781)</oasis:entry>
         <oasis:entry colname="col4">17.8</oasis:entry>
         <oasis:entry colname="col5">(17.6)</oasis:entry>
         <oasis:entry colname="col6">0.7</oasis:entry>
         <oasis:entry colname="col7">(1.0)</oasis:entry>
         <oasis:entry colname="col8">1221</oasis:entry>
         <oasis:entry colname="col9">(1260)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1645</oasis:entry>
         <oasis:entry colname="col2">0.772</oasis:entry>
         <oasis:entry colname="col3">(0.778)</oasis:entry>
         <oasis:entry colname="col4">18.1</oasis:entry>
         <oasis:entry colname="col5">(17.7)</oasis:entry>
         <oasis:entry colname="col6">1.5</oasis:entry>
         <oasis:entry colname="col7">(0.7)</oasis:entry>
         <oasis:entry colname="col8">1208</oasis:entry>
         <oasis:entry colname="col9">(1144)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0124</oasis:entry>
         <oasis:entry colname="col2">0.783</oasis:entry>
         <oasis:entry colname="col3">(0.793)</oasis:entry>
         <oasis:entry colname="col4">17.7</oasis:entry>
         <oasis:entry colname="col5">(17.1)</oasis:entry>
         <oasis:entry colname="col6">1.0</oasis:entry>
         <oasis:entry colname="col7">(0.4)</oasis:entry>
         <oasis:entry colname="col8">1276</oasis:entry>
         <oasis:entry colname="col9">(1263)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1422</oasis:entry>
         <oasis:entry colname="col2">0.768</oasis:entry>
         <oasis:entry colname="col3">(0.768)</oasis:entry>
         <oasis:entry colname="col4">17.7</oasis:entry>
         <oasis:entry colname="col5">(17.8)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M291" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1.4</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M292" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>0.6)</oasis:entry>
         <oasis:entry colname="col8">1217</oasis:entry>
         <oasis:entry colname="col9">(1335)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1944</oasis:entry>
         <oasis:entry colname="col2">0.773</oasis:entry>
         <oasis:entry colname="col3">(0.775)</oasis:entry>
         <oasis:entry colname="col4">17.8</oasis:entry>
         <oasis:entry colname="col5">(17.7)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M293" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.6</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M294" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>1.0)</oasis:entry>
         <oasis:entry colname="col8">1151</oasis:entry>
         <oasis:entry colname="col9">(1144)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1940</oasis:entry>
         <oasis:entry colname="col2">0.776</oasis:entry>
         <oasis:entry colname="col3">(0.778)</oasis:entry>
         <oasis:entry colname="col4">17.7</oasis:entry>
         <oasis:entry colname="col5">(17.6)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M295" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1.8</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M296" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>1.5)</oasis:entry>
         <oasis:entry colname="col8">1103</oasis:entry>
         <oasis:entry colname="col9">(1189)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1426</oasis:entry>
         <oasis:entry colname="col2">0.790</oasis:entry>
         <oasis:entry colname="col3">(0.791)</oasis:entry>
         <oasis:entry colname="col4">17.2</oasis:entry>
         <oasis:entry colname="col5">(17.1)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M297" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.3</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M298" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>2.3)</oasis:entry>
         <oasis:entry colname="col8">1051</oasis:entry>
         <oasis:entry colname="col9">(1060)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1938</oasis:entry>
         <oasis:entry colname="col2">0.772</oasis:entry>
         <oasis:entry colname="col3">(0.765)</oasis:entry>
         <oasis:entry colname="col4">17.9</oasis:entry>
         <oasis:entry colname="col5">(18.0)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M299" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1.7</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M300" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>2.4)</oasis:entry>
         <oasis:entry colname="col8">1172</oasis:entry>
         <oasis:entry colname="col9">(1217)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0120</oasis:entry>
         <oasis:entry colname="col2">0.781</oasis:entry>
         <oasis:entry colname="col3">(0.778)</oasis:entry>
         <oasis:entry colname="col4">17.5</oasis:entry>
         <oasis:entry colname="col5">(17.4)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M301" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.2</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M302" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>2.6)</oasis:entry>
         <oasis:entry colname="col8">1083</oasis:entry>
         <oasis:entry colname="col9">(1230)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1525</oasis:entry>
         <oasis:entry colname="col2">0.792</oasis:entry>
         <oasis:entry colname="col3">(0.794)</oasis:entry>
         <oasis:entry colname="col4">17.2</oasis:entry>
         <oasis:entry colname="col5">(17.1)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M303" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.6</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M304" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>3.6)</oasis:entry>
         <oasis:entry colname="col8">1043</oasis:entry>
         <oasis:entry colname="col9">(1059)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1939</oasis:entry>
         <oasis:entry colname="col2">0.792</oasis:entry>
         <oasis:entry colname="col3">(0.796)</oasis:entry>
         <oasis:entry colname="col4">18.7</oasis:entry>
         <oasis:entry colname="col5">(18.9)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M305" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>8.2</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M306" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>8.7)</oasis:entry>
         <oasis:entry colname="col8">825</oasis:entry>
         <oasis:entry colname="col9">(810)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1946</oasis:entry>
         <oasis:entry colname="col2">0.801</oasis:entry>
         <oasis:entry colname="col3">(0.797)</oasis:entry>
         <oasis:entry colname="col4">18.6</oasis:entry>
         <oasis:entry colname="col5">(19.1)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M307" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>8.6</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M308" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>9.5)</oasis:entry>
         <oasis:entry colname="col8">631</oasis:entry>
         <oasis:entry colname="col9">(531)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1193</oasis:entry>
         <oasis:entry colname="col2">0.720</oasis:entry>
         <oasis:entry colname="col3">(0.722)</oasis:entry>
         <oasis:entry colname="col4">21.0</oasis:entry>
         <oasis:entry colname="col5">(21.3)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M309" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>9.4</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M310" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>10.1)</oasis:entry>
         <oasis:entry colname="col8">606</oasis:entry>
         <oasis:entry colname="col9">(591)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1947</oasis:entry>
         <oasis:entry colname="col2">0.773</oasis:entry>
         <oasis:entry colname="col3">(0.785)</oasis:entry>
         <oasis:entry colname="col4">19.2</oasis:entry>
         <oasis:entry colname="col5">(21.1)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M311" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>8.5</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M312" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>12.6)</oasis:entry>
         <oasis:entry colname="col8">667</oasis:entry>
         <oasis:entry colname="col9">(377)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">ES1945</oasis:entry>
         <oasis:entry colname="col2">0.687</oasis:entry>
         <oasis:entry colname="col3">(0.741)</oasis:entry>
         <oasis:entry colname="col4">26.1</oasis:entry>
         <oasis:entry colname="col5">(26.0)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M313" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>16.9</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M314" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>17.6)</oasis:entry>
         <oasis:entry colname="col8">275</oasis:entry>
         <oasis:entry colname="col9">(180)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">TROPOMI-only</oasis:entry>
         <oasis:entry colname="col2">0.740</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4">19.3</oasis:entry>
         <oasis:entry colname="col5"/>
         <oasis:entry colname="col6">0.8</oasis:entry>
         <oasis:entry colname="col7"/>
         <oasis:entry colname="col8">1185</oasis:entry>
         <oasis:entry colname="col9"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">5 stations</oasis:entry>
         <oasis:entry colname="col2">0.792</oasis:entry>
         <oasis:entry colname="col3">(0.793)</oasis:entry>
         <oasis:entry colname="col4">17.1</oasis:entry>
         <oasis:entry colname="col5">(17.0)</oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M315" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1.8</oasis:entry>
         <oasis:entry colname="col7">(<inline-formula><mml:math id="M316" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>1.9)</oasis:entry>
         <oasis:entry colname="col8">1084</oasis:entry>
         <oasis:entry colname="col9">(1075)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">All stations</oasis:entry>
         <oasis:entry colname="col2">0.791</oasis:entry>
         <oasis:entry colname="col3">(0.792)</oasis:entry>
         <oasis:entry colname="col4">17.3</oasis:entry>
         <oasis:entry colname="col5">(17.2)</oasis:entry>
         <oasis:entry colname="col6">1.2</oasis:entry>
         <oasis:entry colname="col7">(1.2)</oasis:entry>
         <oasis:entry colname="col8">1332</oasis:entry>
         <oasis:entry colname="col9">(1336)</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e6266">The emission optimisation depends on the selected location. Local model issues or biased reference measurement can lead to biases at other locations. For example, using data of road station ES1943 (Plaza Elíptica) introduces an overall bias of 17.2 <inline-formula><mml:math id="M317" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>. Retina apparently underestimates the high concentrations at this site, and compensates by adding emissions, resulting in overestimations elsewhere. Combining the data with satellite data reduces the bias significantly. This improvement can be seen at all sites with large absolute bias. The impact of the satellite measurements remains limited, however, as only corrections around overpass time can be provided.</p>
      <p id="d2e6291">For 13 stations the mean absolute bias is below 4 <inline-formula><mml:math id="M319" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>. At these sites Retina realistically describes the local concentrations with the provided traffic and residential proxies. Using one of these stations for emission optimisation, the RMSE and correlations are better than when using TROPOMI measurements alone, as the in-situ data provide valuable information on the entire diurnal emission cycle. As can be seen from the table, adding satellite data to these ground data does not improve the results significantly.</p>
      <p id="d2e6316">Increasing the number of in-situ stations enhances the accuracy of simulation results due to compensating errors, especially when the stations represent a balanced mix of street and background locations. The table shows the results of a test with 5 stations: ES1525, ES1940 (both street stations); ES0126, ES1937 (both background stations); and ES1947 (a suburban background station). It can also be seen that the effect of adding TROPOMI data becomes negligible, as the amount of valid daily satellite retrievals is small compared to the 120 daily measurements made by the 5 stations.</p>
      <p id="d2e6319">A final test incorporates all 24 reference stations for emission optimisation. No significant change in validation statistics is observed compared to the 5-station scenario. The resulting RMSE, 17.2 <inline-formula><mml:math id="M321" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>, can thus be regarded as the systematic error inherent in the Retina approach for hourly NO<sub>2</sub> simulation.</p>
      <p id="d2e6353">Compared to this full in-situ analysis, TROPOMI-based emissions tend to attribute more emissions to traffic and less to residential activity (see Fig. S10), resulting in up to 5 <inline-formula><mml:math id="M324" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> higher concentrations on roads and up to 1.5 <inline-formula><mml:math id="M326" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> lower concentrations in urban backgrounds.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Results of spatial concentration assimilation</title>
      <p id="d2e6408">Spatially assimilating the in-situ observations as described in Sect. 2.3.5 reduces simulation biases in the vicinity of an observation location (e.g. due to wrong local emissions), while at longer distances it reduces simulation errors due to inaccuracies in hourly background concentrations. Table 4 compares the validation results before (i.e. the plain dispersion simulation) and after the spatial concentration assimilation of reference measurements. We use a leave-one-out cross-validation: at each validation location the observations of the other 23 locations are assimilated in the simulation fields. Based on the average NO<sub>2</sub> concentrations (36.2 <inline-formula><mml:math id="M329" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>) and the average RMSE found in the validation (17.2 <inline-formula><mml:math id="M331" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>), the relative error for simulation of hourly NO<sub>2</sub> concentrations is estimated to be 48 %. The data assimilation increases the correlation from 0.79 to 0.90 and reduces the RMSE to 13.0 <inline-formula><mml:math id="M334" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>. Therefore, the relative error improves to 36 % after assimilation, with local systematic biases remaining as the primary source of error.</p>

<table-wrap id="T4" specific-use="star"><label>Table 4</label><caption><p id="d2e6499">Leave-one-out cross validation statistics for spatial concentration assimilation using all reference stations. (Statistics for model simulation, based on 24-station emission optimisation, inside parentheses). Average statistics are indicated in bold font.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="11">
     <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" colsep="1"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right" colsep="1"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:colspec colnum="11" colname="col11" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">validation location</oasis:entry>
         <oasis:entry colname="col2">nearest</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M342" display="inline"><mml:mrow><mml:msup><mml:mi>d</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M343" display="inline"><mml:mrow><mml:msup><mml:mi>n</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5">obs<sup>c,d</sup></oasis:entry>
         <oasis:entry namest="col6" nameend="col7" align="center" colsep="1">correlation </oasis:entry>
         <oasis:entry namest="col8" nameend="col9" align="center" colsep="1">RMSE<sup>d</sup></oasis:entry>
         <oasis:entry namest="col10" nameend="col11" align="center">bias<sup>d</sup></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">and type</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
         <oasis:entry colname="col5"/>
         <oasis:entry colname="col6"/>
         <oasis:entry colname="col7"/>
         <oasis:entry colname="col8"/>
         <oasis:entry colname="col9"/>
         <oasis:entry colname="col10"/>
         <oasis:entry colname="col11"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">ES0115 street</oasis:entry>
         <oasis:entry colname="col2">ES1422</oasis:entry>
         <oasis:entry colname="col3">0.9</oasis:entry>
         <oasis:entry colname="col4">738</oasis:entry>
         <oasis:entry colname="col5">44.6</oasis:entry>
         <oasis:entry colname="col6">0.882</oasis:entry>
         <oasis:entry colname="col7">(0.829)</oasis:entry>
         <oasis:entry colname="col8">16.2</oasis:entry>
         <oasis:entry colname="col9">(16.3)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M347" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>9.7</oasis:entry>
         <oasis:entry colname="col11">(-5.6)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0118 street</oasis:entry>
         <oasis:entry colname="col2">ES1939</oasis:entry>
         <oasis:entry colname="col3">0.8</oasis:entry>
         <oasis:entry colname="col4">733</oasis:entry>
         <oasis:entry colname="col5">57.1</oasis:entry>
         <oasis:entry colname="col6">0.876</oasis:entry>
         <oasis:entry colname="col7">(0.761)</oasis:entry>
         <oasis:entry colname="col8">24.7</oasis:entry>
         <oasis:entry colname="col9">(22.3)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M348" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>20.3</oasis:entry>
         <oasis:entry colname="col11">(<inline-formula><mml:math id="M349" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>10.2)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0120 street</oasis:entry>
         <oasis:entry colname="col2">ES1938</oasis:entry>
         <oasis:entry colname="col3">1.7</oasis:entry>
         <oasis:entry colname="col4">736</oasis:entry>
         <oasis:entry colname="col5">37.5</oasis:entry>
         <oasis:entry colname="col6">0.930</oasis:entry>
         <oasis:entry colname="col7">(0.792)</oasis:entry>
         <oasis:entry colname="col8">9.7</oasis:entry>
         <oasis:entry colname="col9">(17.7)</oasis:entry>
         <oasis:entry colname="col10">0.6</oasis:entry>
         <oasis:entry colname="col11">(5.4)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1426 street</oasis:entry>
         <oasis:entry colname="col2">ES1532</oasis:entry>
         <oasis:entry colname="col3">2.3</oasis:entry>
         <oasis:entry colname="col4">739</oasis:entry>
         <oasis:entry colname="col5">37.7</oasis:entry>
         <oasis:entry colname="col6">0.950</oasis:entry>
         <oasis:entry colname="col7">(0.862)</oasis:entry>
         <oasis:entry colname="col8">12.1</oasis:entry>
         <oasis:entry colname="col9">(15.4)</oasis:entry>
         <oasis:entry colname="col10">8.1</oasis:entry>
         <oasis:entry colname="col11">(6.3)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1521 street</oasis:entry>
         <oasis:entry colname="col2">ES1940</oasis:entry>
         <oasis:entry colname="col3">2.4</oasis:entry>
         <oasis:entry colname="col4">730</oasis:entry>
         <oasis:entry colname="col5">37.1</oasis:entry>
         <oasis:entry colname="col6">0.923</oasis:entry>
         <oasis:entry colname="col7">(0.807)</oasis:entry>
         <oasis:entry colname="col8">14.4</oasis:entry>
         <oasis:entry colname="col9">(16.3)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M350" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>8.5</oasis:entry>
         <oasis:entry colname="col11">(<inline-formula><mml:math id="M351" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>0.2)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1525 street</oasis:entry>
         <oasis:entry colname="col2">ES1938</oasis:entry>
         <oasis:entry colname="col3">1.6</oasis:entry>
         <oasis:entry colname="col4">737</oasis:entry>
         <oasis:entry colname="col5">38.0</oasis:entry>
         <oasis:entry colname="col6">0.858</oasis:entry>
         <oasis:entry colname="col7">(0.768)</oasis:entry>
         <oasis:entry colname="col8">19.5</oasis:entry>
         <oasis:entry colname="col9">(22.0)</oasis:entry>
         <oasis:entry colname="col10">11.7</oasis:entry>
         <oasis:entry colname="col11">(11.7)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1938 street</oasis:entry>
         <oasis:entry colname="col2">ES1525</oasis:entry>
         <oasis:entry colname="col3">1.6</oasis:entry>
         <oasis:entry colname="col4">738</oasis:entry>
         <oasis:entry colname="col5">34.6</oasis:entry>
         <oasis:entry colname="col6">0.924</oasis:entry>
         <oasis:entry colname="col7">(0.783)</oasis:entry>
         <oasis:entry colname="col8">9.8</oasis:entry>
         <oasis:entry colname="col9">(17.7)</oasis:entry>
         <oasis:entry colname="col10">1.3</oasis:entry>
         <oasis:entry colname="col11">(5.6)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1940 street</oasis:entry>
         <oasis:entry colname="col2">ES0120</oasis:entry>
         <oasis:entry colname="col3">1.8</oasis:entry>
         <oasis:entry colname="col4">739</oasis:entry>
         <oasis:entry colname="col5">36.6</oasis:entry>
         <oasis:entry colname="col6">0.936</oasis:entry>
         <oasis:entry colname="col7">(0.787)</oasis:entry>
         <oasis:entry colname="col8">9.3</oasis:entry>
         <oasis:entry colname="col9">(17.0)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M352" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.9</oasis:entry>
         <oasis:entry colname="col11">(4.5)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1943 street</oasis:entry>
         <oasis:entry colname="col2">ES0126</oasis:entry>
         <oasis:entry colname="col3">1.6</oasis:entry>
         <oasis:entry colname="col4">736</oasis:entry>
         <oasis:entry colname="col5">61.1</oasis:entry>
         <oasis:entry colname="col6">0.880</oasis:entry>
         <oasis:entry colname="col7">(0.759)</oasis:entry>
         <oasis:entry colname="col8">18.3</oasis:entry>
         <oasis:entry colname="col9">(24.9)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M353" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1.1</oasis:entry>
         <oasis:entry colname="col11">(<inline-formula><mml:math id="M354" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>7.8)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0124 urban background</oasis:entry>
         <oasis:entry colname="col2">ES0120</oasis:entry>
         <oasis:entry colname="col3">3.5</oasis:entry>
         <oasis:entry colname="col4">734</oasis:entry>
         <oasis:entry colname="col5">35.5</oasis:entry>
         <oasis:entry colname="col6">0.955</oasis:entry>
         <oasis:entry colname="col7">(0.835)</oasis:entry>
         <oasis:entry colname="col8">9.1</oasis:entry>
         <oasis:entry colname="col9">(14.7)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M355" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>4.1</oasis:entry>
         <oasis:entry colname="col11">(2.0)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0125 urban background</oasis:entry>
         <oasis:entry colname="col2">ES1943</oasis:entry>
         <oasis:entry colname="col3">4.2</oasis:entry>
         <oasis:entry colname="col4">739</oasis:entry>
         <oasis:entry colname="col5">43.3</oasis:entry>
         <oasis:entry colname="col6">0.923</oasis:entry>
         <oasis:entry colname="col7">(0.847)</oasis:entry>
         <oasis:entry colname="col8">17.0</oasis:entry>
         <oasis:entry colname="col9">(21.4)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M356" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>8.5</oasis:entry>
         <oasis:entry colname="col11">(<inline-formula><mml:math id="M357" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>9.9)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES0126 urban background</oasis:entry>
         <oasis:entry colname="col2">ES1943</oasis:entry>
         <oasis:entry colname="col3">1.6</oasis:entry>
         <oasis:entry colname="col4">738</oasis:entry>
         <oasis:entry colname="col5">35.7</oasis:entry>
         <oasis:entry colname="col6">0.945</oasis:entry>
         <oasis:entry colname="col7">(0.842)</oasis:entry>
         <oasis:entry colname="col8">8.6</oasis:entry>
         <oasis:entry colname="col9">(13.9)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M358" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.4</oasis:entry>
         <oasis:entry colname="col11">(<inline-formula><mml:math id="M359" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>2.6)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1422 urban background</oasis:entry>
         <oasis:entry colname="col2">ES0115</oasis:entry>
         <oasis:entry colname="col3">0.9</oasis:entry>
         <oasis:entry colname="col4">668</oasis:entry>
         <oasis:entry colname="col5">34.0</oasis:entry>
         <oasis:entry colname="col6">0.928</oasis:entry>
         <oasis:entry colname="col7">(0.785)</oasis:entry>
         <oasis:entry colname="col8">8.6</oasis:entry>
         <oasis:entry colname="col9">(14.9)</oasis:entry>
         <oasis:entry colname="col10">2.3</oasis:entry>
         <oasis:entry colname="col11">(2.7)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1532 urban background</oasis:entry>
         <oasis:entry colname="col2">ES1426</oasis:entry>
         <oasis:entry colname="col3">2.3</oasis:entry>
         <oasis:entry colname="col4">739</oasis:entry>
         <oasis:entry colname="col5">36.3</oasis:entry>
         <oasis:entry colname="col6">0.941</oasis:entry>
         <oasis:entry colname="col7">(0.846)</oasis:entry>
         <oasis:entry colname="col8">9.2</oasis:entry>
         <oasis:entry colname="col9">(14.1)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M360" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.1</oasis:entry>
         <oasis:entry colname="col11">(<inline-formula><mml:math id="M361" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>0.1)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1645 urban background</oasis:entry>
         <oasis:entry colname="col2">ES1942</oasis:entry>
         <oasis:entry colname="col3">1.6</oasis:entry>
         <oasis:entry colname="col4">737</oasis:entry>
         <oasis:entry colname="col5">35.7</oasis:entry>
         <oasis:entry colname="col6">0.932</oasis:entry>
         <oasis:entry colname="col7">(0.831)</oasis:entry>
         <oasis:entry colname="col8">9.9</oasis:entry>
         <oasis:entry colname="col9">(15.3)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M362" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.7</oasis:entry>
         <oasis:entry colname="col11">(<inline-formula><mml:math id="M363" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>1.3)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1937 urban background</oasis:entry>
         <oasis:entry colname="col2">ES1939</oasis:entry>
         <oasis:entry colname="col3">1.8</oasis:entry>
         <oasis:entry colname="col4">739</oasis:entry>
         <oasis:entry colname="col5">36.4</oasis:entry>
         <oasis:entry colname="col6">0.913</oasis:entry>
         <oasis:entry colname="col7">(0.800)</oasis:entry>
         <oasis:entry colname="col8">11.9</oasis:entry>
         <oasis:entry colname="col9">(15.9)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M364" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>4.7</oasis:entry>
         <oasis:entry colname="col11">(0.1)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1939 urban background</oasis:entry>
         <oasis:entry colname="col2">ES0118</oasis:entry>
         <oasis:entry colname="col3">0.8</oasis:entry>
         <oasis:entry colname="col4">738</oasis:entry>
         <oasis:entry colname="col5">25.9</oasis:entry>
         <oasis:entry colname="col6">0.870</oasis:entry>
         <oasis:entry colname="col7">(0.693)</oasis:entry>
         <oasis:entry colname="col8">15.1</oasis:entry>
         <oasis:entry colname="col9">(18.8)</oasis:entry>
         <oasis:entry colname="col10">9.9</oasis:entry>
         <oasis:entry colname="col11">(7.8)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1941 urban background</oasis:entry>
         <oasis:entry colname="col2">ES1532</oasis:entry>
         <oasis:entry colname="col3">3.7</oasis:entry>
         <oasis:entry colname="col4">737</oasis:entry>
         <oasis:entry colname="col5">38.5</oasis:entry>
         <oasis:entry colname="col6">0.890</oasis:entry>
         <oasis:entry colname="col7">(0.801)</oasis:entry>
         <oasis:entry colname="col8">13.3</oasis:entry>
         <oasis:entry colname="col9">(16.6)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M365" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>5.8</oasis:entry>
         <oasis:entry colname="col11">(<inline-formula><mml:math id="M366" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>5.1)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1942 urban background</oasis:entry>
         <oasis:entry colname="col2">ES1645</oasis:entry>
         <oasis:entry colname="col3">1.6</oasis:entry>
         <oasis:entry colname="col4">734</oasis:entry>
         <oasis:entry colname="col5">44.1</oasis:entry>
         <oasis:entry colname="col6">0.922</oasis:entry>
         <oasis:entry colname="col7">(0.789)</oasis:entry>
         <oasis:entry colname="col8">14.5</oasis:entry>
         <oasis:entry colname="col9">(19.5)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M367" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>8.3</oasis:entry>
         <oasis:entry colname="col11">(<inline-formula><mml:math id="M368" display="inline"><mml:mo lspace="0mm">-</mml:mo></mml:math></inline-formula>5.2)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1944 urban background</oasis:entry>
         <oasis:entry colname="col2">ES1947</oasis:entry>
         <oasis:entry colname="col3">2.6</oasis:entry>
         <oasis:entry colname="col4">737</oasis:entry>
         <oasis:entry colname="col5">31.2</oasis:entry>
         <oasis:entry colname="col6">0.923</oasis:entry>
         <oasis:entry colname="col7">(0.818)</oasis:entry>
         <oasis:entry colname="col8">10.4</oasis:entry>
         <oasis:entry colname="col9">(15.1)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M369" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3.4</oasis:entry>
         <oasis:entry colname="col11">(2.8)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1947 urban background</oasis:entry>
         <oasis:entry colname="col2">ES1944</oasis:entry>
         <oasis:entry colname="col3">2.6</oasis:entry>
         <oasis:entry colname="col4">737</oasis:entry>
         <oasis:entry colname="col5">25.1</oasis:entry>
         <oasis:entry colname="col6">0.902</oasis:entry>
         <oasis:entry colname="col7">(0.796)</oasis:entry>
         <oasis:entry colname="col8">11.4</oasis:entry>
         <oasis:entry colname="col9">(16.4)</oasis:entry>
         <oasis:entry colname="col10">3.9</oasis:entry>
         <oasis:entry colname="col11">(6.8)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1193 suburban backgr.</oasis:entry>
         <oasis:entry colname="col2">ES0115</oasis:entry>
         <oasis:entry colname="col3">3.0</oasis:entry>
         <oasis:entry colname="col4">735</oasis:entry>
         <oasis:entry colname="col5">21.6</oasis:entry>
         <oasis:entry colname="col6">0.807</oasis:entry>
         <oasis:entry colname="col7">(0.716)</oasis:entry>
         <oasis:entry colname="col8">11.9</oasis:entry>
         <oasis:entry colname="col9">(14.2)</oasis:entry>
         <oasis:entry colname="col10">3.6</oasis:entry>
         <oasis:entry colname="col11">(3.4)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">ES1945 suburban backgr.</oasis:entry>
         <oasis:entry colname="col2">ES1521</oasis:entry>
         <oasis:entry colname="col3">6.9</oasis:entry>
         <oasis:entry colname="col4">739</oasis:entry>
         <oasis:entry colname="col5">15.4</oasis:entry>
         <oasis:entry colname="col6">0.674</oasis:entry>
         <oasis:entry colname="col7">(0.688)</oasis:entry>
         <oasis:entry colname="col8">15.9</oasis:entry>
         <oasis:entry colname="col9">(16.2)</oasis:entry>
         <oasis:entry colname="col10">9.3</oasis:entry>
         <oasis:entry colname="col11">(10.3)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">ES1946 suburban backgr.</oasis:entry>
         <oasis:entry colname="col2">ES1942</oasis:entry>
         <oasis:entry colname="col3">2.4</oasis:entry>
         <oasis:entry colname="col4">739</oasis:entry>
         <oasis:entry colname="col5">25.3</oasis:entry>
         <oasis:entry colname="col6">0.913</oasis:entry>
         <oasis:entry colname="col7">(0.767)</oasis:entry>
         <oasis:entry colname="col8">12.2</oasis:entry>
         <oasis:entry colname="col9">(17.0)</oasis:entry>
         <oasis:entry colname="col10">7.1</oasis:entry>
         <oasis:entry colname="col11">(6.8)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Mean</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"><bold>734</bold></oasis:entry>
         <oasis:entry colname="col5"><bold>36.2</bold></oasis:entry>
         <oasis:entry colname="col6"><bold>0.900</bold></oasis:entry>
         <oasis:entry colname="col7">(<bold>0.792</bold>)</oasis:entry>
         <oasis:entry colname="col8"><bold>13.0</bold></oasis:entry>
         <oasis:entry colname="col9">(<bold>17.2</bold>)</oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M370" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula><bold>0.9</bold></oasis:entry>
         <oasis:entry colname="col11">(<bold>1.2</bold>)</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table><table-wrap-foot><p id="d2e6502"><sup>a</sup> Distance to the nearest observation site (in km), <sup>b</sup> Number of measurements, <sup>c</sup> Mean observation at this location, <sup>d</sup> In units of <inline-formula><mml:math id="M340" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>.</p></table-wrap-foot></table-wrap>

      <p id="d2e7793">Note that an additional bias can be introduced at places where the covariance is wrongly defined. This happens for instance at street location ES0118 and city park ES1939 (El Retiro), which are at 800 m distance. The high concentrations found at ES0118 influence the spatial interpolation towards the urban background. Vice versa, the low concentrations measured in El Retiro park propagate towards the nearby street site, contributing to a negative bias.</p>
      <p id="d2e7797">Figure 11 illustrates the performance of Retina at a street location, an urban background location, and a suburban background location. It shows the hourly NO<sub>2</sub> series for a representative week when only satellite observations are used in the simulation, representing the case for a city without any air quality observation network. This is compared with time series where all in-situ observations are used, representing a city with an extensive ground network. Not surprisingly, the best results are obtained when all reference measurements are used.</p>

      <fig id="F11" specific-use="star"><label>Figure 11</label><caption><p id="d2e7811">Comparison of NO<sub>2</sub> time series at different locations for a week in March 2019. The red line represents simulations from the Retina algorithm using only TROPOMI observations for emission optimisation; the blue line represents the leave-one-out time series using data from all other reference stations.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f11.png"/>

        </fig>

      <p id="d2e7829">Figure 12 shows the average NO<sub>2</sub> concentration map of Madrid based on all hourly concentration fields of March 2019. Highest concentrations are found on and near the highways, such as the M30 surrounding the city centre in the East and South. Lowest concentrations are found in the sparsely populated El Pardo area in the north. Local concentration reductions are found in e.g. El Retiro park. Note the accumulation of air pollution in the southwest area of the municipality due to predominant winds (1–3 Beaufort) from the northeast in this period.</p>

      <fig id="F12" specific-use="star"><label>Figure 12</label><caption><p id="d2e7843">Average surface NO<sub>2</sub> concentrations in Madrid for March 2019, using the Retina algorithm with hourly data from 24 reference stations for emission estimation and spatial assimilation. The right panel zooms in on an 5 <inline-formula><mml:math id="M375" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 5 km<sup>2</sup> area around Retiro city park, where concentrations are notably lower than in nearby roads and built-up areas.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/18/6439/2025/gmd-18-6439-2025-f12.png"/>

        </fig>

</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Discussion</title>
      <p id="d2e7886">Retina v2 introduces a more realistic NO<sub>2</sub> chemistry scheme, an improved background concentration estimation, and a better stabilised emission optimisation. The spatial assimilation of measurements is improved by including time-dependent dispersion characteristics in the model error covariances. Most notably, the algorithm is now capable to incorporate tropospheric column concentrations retrieved with satellite instruments, such as TROPOMI on the Sentinel-5 Precursor (S5P) satellite.</p>
      <p id="d2e7898">Satellites in polar orbits, such as S5P, pass over the same area just once each day, therefore missing a substantial part of the diurnal cycle of NO<sub>2</sub>. As a result, directly assimilating NO<sub>2</sub> satellite observations into concentration fields has limited utility, given the short atmospheric lifetime of NO<sub>2</sub> which limits the system's memory to just a few hours. Instead, we use the satellite retrievals to improve estimations of urban NO<sub><italic>x</italic></sub> emissions. As the number of daily TROPOMI observations over the urban area is limited (14 on average for the Madrid domain), it is important to get the most out of each satellite retrieval by interpolating the model simulations to the individual footprints at exact overpass time. Applying the averaging kernel minimizes errors resulting from profile assumptions in the retrieval method.</p>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Comparison with relevant studies</title>
      <p id="d2e7944">NO<sub>2</sub> concentrations in urban areas vary strongly in space and time. Unsurprisingly, the CAMS regional ensemble is unfit to represent local NO<sub>2</sub> concentrations in urban areas. Due to its coarse resolution, its interpolated values underestimates concentrations by 10.0 <inline-formula><mml:math id="M384" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> in Madrid in March 2019. However, the CAMS ensemble provides valuable input data for background concentration estimation and NO<inline-formula><mml:math id="M386" display="inline"><mml:mrow><mml:msub><mml:mi/><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi mathvariant="normal">NO</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> column ratios for downscaling algorithms such as Retina.</p>
      <p id="d2e8004">The validation results show that an urban dispersion model can successfully be built based on CAMS input data and proxy data for traffic and residential emissions. Validation of the hourly NO<sub>2</sub> simulations based on periodic emission optimisation by TROPOMI show a reduction of the mean bias to 0.8 <inline-formula><mml:math id="M388" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> and an average RMSE of 19.3 <inline-formula><mml:math id="M390" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>. Part of the error is caused by wrong assumptions in the diurnal emission cycle, as TROPOMI is only able to capture the emissions around its overpass time. Finding a better <italic>a priori</italic> diurnal and weekly emission cycle is subject to further investigation.</p>
      <p id="d2e8064">CALIOPE-Urban, an advanced dispersion model based on a detailed emission inventory and running on a supercomputer, produces an RMSE of 23 <inline-formula><mml:math id="M392" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> for hourly simulations in 2019 for the city of Barcelona (Criado et al., 2023). This RMSE reduces to 16 <inline-formula><mml:math id="M394" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> when reference data of 12 stations is spatially assimilated using Universal Kriging, and further to 12 <inline-formula><mml:math id="M396" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> when also an additional basemap layer based on Palmes-tube measurements is included. Schneider et al. (2017) find a citywide RMSE of 14.3 <inline-formula><mml:math id="M398" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> for a similar data fusion method of 24 low-cost sensors in the EPISODE model for Oslo in January 2016. From Table 4 can be seen that these figures are comparable to the RMSE of 13 <inline-formula><mml:math id="M400" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> by Retina when all reference measurements are spatially assimilated.</p>
      <p id="d2e8178">Alternatively, several studies use a machine learning approach to generate hourly surface concentrations maps from a collection of data sets. While our study focuses specifically on the urban area, these approaches typically cover larger regions and incorporate a broader and more diverse set of in-situ measurement locations. Kim et al. (2021) train a predictive model including data from TROPOMI and 340 reference stations in Switzerland and northern Italy, resulting in a spatio-temporal correlation of 0.79 with 40 test sites. Tables 3 and 4 show that the correlation of Retina simulations with reference measurements in Madrid is 0.74 when only TROPOMI is used (i.e. no surface measurements), increasing to 0.79 when 5 or more surface stations are also used for emission optimisation. Best correlation (0.90) is obtained when the reference measurements are also spatially assimilated.</p>
      <p id="d2e8182">Fu et al. (2023) use data from 266 reference stations and 666 low-cost sensors (LCS) in the Tangshan area (East China). TROPOMI data are used in XGBoost models to fill in missing data at reference sites and to enhance the observations at LCS sites. When trained with reference data only, their predictive model has a correlation of 0.79 and an RMSE of 17.1 <inline-formula><mml:math id="M402" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> . The RMSE improves to 16.9 <inline-formula><mml:math id="M404" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> when including TROPOMI, and further to 16.3 <inline-formula><mml:math id="M406" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> when all LCS observations are also included in the training. Table 3 shows that for Retina-Madrid the RMSE is 17.0 <inline-formula><mml:math id="M408" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> when 5 reference stations for emission optimisation are used.</p>
      <p id="d2e8274">By adding more in-situ data, the RMSE of hourly simulations remains around 17 <inline-formula><mml:math id="M410" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup>, corresponding to a relative error of 48 %, which can be considered as the systematic error of the Retina dispersion modelling. This is an improvement over the previous version described in Mijling (2020), which had an estimated error of 58 %. More research is needed to further reduce this error by addressing its various sources, such as: <list list-type="bullet"><list-item>
      <p id="d2e8301">Using better proxy data, particularly a more realistic traffic model for the relative distribution of traffic volumes.</p></list-item><list-item>
      <p id="d2e8305">Including emission hot spots from industry and power generation.</p></list-item><list-item>
      <p id="d2e8309">Improving local dispersion modelling by accounting for e.g. traffic junctions, speed bumps, and street canyons.</p></list-item><list-item>
      <p id="d2e8313">Using more realistic estimates of the background concentration field.</p></list-item><list-item>
      <p id="d2e8317">Improving NO<sub><italic>x</italic></sub> chemistry, e.g. by introducing variable NO<sub>2</sub> lifetimes.</p></list-item></list> Urban NO<sub><italic>x</italic></sub> emissions can be calculated from the emission optimisation results by summing Eq. (2) over hours and grid cells. The observation-based NO<sub><italic>x</italic></sub> emission estimates for March 2019 in Madrid vary between 1185 Mg NO (when derived from TROPOMI observations) and 1336 Mg NO (when derived from in-situ observations at 24 locations). This is larger than the 705 Mg NO found in the CAMS emission inventory for this month (Soulie et al., 2024) but is in correspondence with the DECSO v6.3 inventory (van der A et al., 2024; based on TROPOMI observations and chemical transport model calculations) being a factor 2 larger than the CAMS inventory. The potential of Retina to estimate realistic urban emissions is subject of further investigation.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Calculation time</title>
      <p id="d2e8365">The Retina v2 algorithm is implemented in Python scripts. Calculations were performed on a Linux workstation with an Intel Core i7-9700 at 3GHz, having a single CPU and 8 cores. The total calculation for a high-resolution surface simulation at a certain hour takes 75 s. The dispersion kernel calculation using AERMET and AERMOD takes 3.4 s of this time. The preparation of the emission proxy data takes 6.6 s, mostly spent on interpolation and gridding of the traffic volumes. The surface concentration simulation takes 60.5 s, of which 96 % of the time is spent on Hadamard product calculations. Finally, the spatial interpolation of the surface measurements takes 4.2 s.</p>
      <p id="d2e8368">The emission optimisation is repeated once every simulation day. This takes 188 s if only surface measurements are considered (159 s are spent in emission proxy preparation). It takes <inline-formula><mml:math id="M416" display="inline"><mml:mo>∼</mml:mo></mml:math></inline-formula> 75 s longer if TROPOMI observations are also taken into account; time which is needed to perform the column simulations and the spatio-temporal interpolation to individual retrieval footprints.</p>
      <p id="d2e8378">In practice the computational time is less since the emission proxy calculations are shared between the simulation and the emission optimisation, requiring computation only once. The Hadamard product calculation scales linearly with the number of receptor points. For the surface concentration simulation this forms currently a computational bottleneck. However, as it involves straightforward matrix operations, the total computation time can be significantly reduced by parallelizing these tasks across multiple cores or GPUs.</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Use of low-cost sensor data</title>
      <p id="d2e8390">As shown before in Mijling (2020), the Retina algorithm can also be applied to networks of low-cost sensors. Based on Bayesian principles in both emission optimisation and spatial assimilation, it effectively manages the greater inaccuracies associated with LCS data. The larger errors in the in-situ observations will slow down convergence to practical emission estimates in the optimisation phase (i.e., a longer lag period), but this is not necessarily a problem when emission trends are small over time.</p>
      <p id="d2e8393">Note that most NO<sub>2</sub> low-cost sensors used in current experimental networks suffer from creeping biases (Mijling et al., 2018; Li et al., 2021; WMO, 2023). Also reference measurements can be biased due to interfering gases (Steinbacher et al., 2007) or poor maintenance. Although always special care must be taken to remove this bias before application in Retina, integrating satellite measurements can help to reduce the introduced bias in the monitoring system.</p>
</sec>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <label>5</label><title>Conclusion</title>
      <p id="d2e8415">The Retina algorithm has been designed to produce realistic high-spatiotemporal-resolution maps of urban air pollution based on heterogeneous air quality measurements. In this study, we implemented the updated Retina algorithm for NO<sub>2</sub> concentrations in Madrid and assessed the performance under different observation scenarios during March 2019. The updated algorithm, Retina v2, is faster and more accurate than its predecessor described in Mijling (2020). Most notably, it is now capable to incorporate tropospheric column concentrations retrieved with satellite instruments.</p>
      <p id="d2e8428">The use of proxy data for the description of urban emissions allows for convenient portability to other urban domains. Periodic emission optimisation guarantees that simulations match the observations, either satellite measurements, in-situ measurements, or both. Physics-based and running with modest computational power, Retina has comparable or better performance than data fusion methods depending on advanced, computational-demanding dispersion models, as well as machine learning approaches depending on extensive datasets.</p>
      <p id="d2e8431">When emissions are optimised using only TROPOMI measurements (representing the case of a city without an in-situ network), simulations of hourly NO<sub>2</sub> concentrations in March 2019 show a citywide RMSE of 19.3 <inline-formula><mml:math id="M420" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> with a bias of 0.8 <inline-formula><mml:math id="M422" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> . The algorithm's performance in March 2019 is broadly representative of annual averages, though seasonal variation exists. Correlation peaks at 0.86 in colder months with higher NO<sub>2</sub> levels, and drops to 0.70 in summer, when lower concentrations and reduced bias result in lower RMSE.</p>
      <p id="d2e8497">More accurate results are achieved when hourly in-situ measurements are used, as they allow for a better estimation of the diurnal emission cycle. However, if only a single station is available, and its measurements are biased or located in an area where dispersion modelling is problematic – due to e.g. incorrect proxy data – it can introduce systematic biases across the entire model domain. Incorporating satellite measurements or data from additional ground stations helps to reduce this bias.</p>
      <p id="d2e8501">The spatial interpolation of in-situ measurements in the simulation results improves the accuracy significantly: near observation sites it reduces simulation biases (e.g. due to inaccurate local emissions), and over larger distances it reduces simulation errors due to errors in background concentrations. Generally, including more stations leads to better results. Using all 24 ground stations in Madrid, the average correlation of hourly NO<sub>2</sub> time series increases to 0.90, with an RMSE of 13.0 <inline-formula><mml:math id="M426" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow></mml:math></inline-formula> m<sup>−3</sup> , corresponding to a relative error of 36 %. Occasionally, the spatial interpolation introduces an extra bias. This suggests that there is further room for improvement in the covariance model used for interpolation.</p>
      <p id="d2e8535">The assimilation experiments for Madrid indicate that the added value of TROPOMI NO<sub>2</sub> measurements becomes negligible when hourly data from five or more ground-based stations at representative locations is available. However, this rule of thumb cannot be directly applied to other cities, as the contribution of TROPOMI depends on various factors, including city size, NO<sub>2</sub> concentration levels, and local meteorological conditions. Nevertheless, in many urban areas – especially those with sparse in situ monitoring – TROPOMI has the potential to provide substantial added value. Among approximately 2800 European cities with a population over 50 000, the European Environment Agency's AirBase (EEA, 2018) lists 2035 cities with at least one NO<sub>2</sub> monitoring station, but only 71 cities with five or more NO<sub>2</sub> stations (see Table S2).</p>
      <p id="d2e8574">The impact of satellite measurements in the Retina algorithm will be larger if observations at different times throughout the day could be included. Therefore, the next step will be preparation for data of the Sentinel-4 instrument aboard the MTG-S satellite, expected to be launched in late 2025. Operating from a geostationary orbit, Sentinel-4 will provide hourly measurements of NO<sub>2</sub> in Europe at 8 <inline-formula><mml:math id="M433" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 8 km<sup>2</sup> resolution with a revisit time of approximately 60 min. Once alternatives for CAMS background concentrations are available beyond the European domain, applications can extend to geostationary instruments such as GEMS (aboard GEO-KOMPSAT-2B, monitoring East Asia) and TEMPO (aboard Intelsat-40E, monitoring North America).</p>
</sec>

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

      <p id="d2e8606">The source code of the Retina v2 model used in this study is available at <ext-link xlink:href="https://doi.org/10.5281/zenodo.15096617" ext-link-type="DOI">10.5281/zenodo.15096617</ext-link> (Mijling, 2025). The necessary input data to reproduce the results in this study can also be found here, such as meteorology from ECMWF, background concentrations derived from the CAMS regional ensemble, and hourly traffic data in Madrid.</p>
  </notes><app-group>
        <supplementary-material position="anchor"><p id="d2e8612">The supplement related to this article is available online at <inline-supplementary-material xlink:href="https://doi.org/10.5194/gmd-18-6439-2025-supplement" xlink:title="pdf">https://doi.org/10.5194/gmd-18-6439-2025-supplement</inline-supplementary-material>.</p></supplementary-material>
        </app-group><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e8621">BM conceptualized and designed the Retina algorithm, including coding and data analysis, and wrote the draft of the manuscript. HE provided scientific feedback and suggestions for algorithm improvement. PM and SH were involved in code improvement and postprocessing of the model output. DG and MdV were responsible for collecting the in-situ data. All co-authors helped in editing suggestions to the manuscript.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e8627">The contact author has declared that none of the authors has any competing interests.</p>
  </notes><notes notes-type="disclaimer"><title>Disclaimer</title>

      <p id="d2e8633">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. Also, please note that this paper has not received English language copy-editing. Views expressed in the text are those of the authors and do not necessarily reflect the views of the publisher.</p>
  </notes><ack><title>Acknowledgements</title><p id="d2e8640">The authors wish to acknowledge the people behind the data sources used in this study, most notably the Madrid authorities (traffic and reference measurements), the CAMS community (background and column concentrations), and the TROPOMI team (tropospheric NO<sub>2</sub> column retrievals).</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e8654">This research has been supported by the European Space Agency (ESA/ESRIN) in the CitySatAir project (contract no. 4000131513/20/I-DT), part of the Earth Observation for Society program.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d2e8660">This paper was edited by Makoto Saito and reviewed by Jens Peter K. W. Frankemölle and one anonymous referee.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bib1"><label>1</label><mixed-citation>Beirle, S., Boersma, K. F., Platt, U., Lawrence, M. G., and Wagner, T.: Megacity emissions and lifetimes of nitrogen oxides probed from space, Science, 333, 1737–1739, <ext-link xlink:href="https://doi.org/10.1126/science.1207824" ext-link-type="DOI">10.1126/science.1207824</ext-link>, 2011</mixed-citation></ref>
      <ref id="bib1.bib2"><label>2</label><mixed-citation>Boersma, K. F., Jacob, D. J., Trainic, M., Rudich, Y., DeSmedt, I., Dirksen, R., and Eskes, H. J.: Validation of urban NO<sub>2</sub> concentrations and their diurnal and seasonal variations observed from the SCIAMACHY and OMI sensors using in situ surface measurements in Israeli cities, Atmos. Chem. Phys., 9, 3867–3879, <ext-link xlink:href="https://doi.org/10.5194/acp-9-3867-2009" ext-link-type="DOI">10.5194/acp-9-3867-2009</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bib3"><label>3</label><mixed-citation>CAMS: Annual report on the evaluation of validated re-analyses for 2019, CAMS2_83_2021SC1_D83.2.2.1-2019_202201_VRA2019 evaluation_v2, issued by INERIS/F. Meleux, date: 16/02/2022, <uri>https://atmosphere.copernicus.eu/regional-services</uri> (last access: 26 April 2024), 2022.</mixed-citation></ref>
      <ref id="bib1.bib4"><label>4</label><mixed-citation>Chen, T. and Guestrin, C.: XGBoost: A scalable tree boosting system, Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining – KDD '16, ACM Press, San Francisco, California, USA, 785–794, <ext-link xlink:href="https://doi.org/10.1145/2939672.2939785" ext-link-type="DOI">10.1145/2939672.2939785</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bib5"><label>5</label><mixed-citation> Cimorelli, A. J., Perry, S. G., Venkatram, A., Weil, J. C., Paine, R. J., Wilson, R. B., Lee, R. F., Peters, W. D., and Brode, R. W.: AERMOD: A dispersion model for industrial source applications Part I: General model formulation and boundary layer characterization, J. Appl. Meteor., 44, 682–693, 2004.</mixed-citation></ref>
      <ref id="bib1.bib6"><label>6</label><mixed-citation>Criado, A., Armengol, J. M., Petetin, H., Rodriguez-Rey, D., Benavides, J., Guevara, M., Pérez García-Pando, C., Soret, A., and Jorba, O.: Data fusion uncertainty-enabled methods to map street-scale hourly NO<sub>2</sub> in Barcelona: a case study with CALIOPE-Urban v1.0, Geosci. Model Dev., 16, 2193–2213, <ext-link xlink:href="https://doi.org/10.5194/gmd-16-2193-2023" ext-link-type="DOI">10.5194/gmd-16-2193-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib7"><label>7</label><mixed-citation>Cummings, L. E., Stewart, J. D., Kremer, P., andShakya, K. M.: Predicting citywide distribution of air pollution using mobile monitoring and three-dimensional urban structure, Sustainable Cities and Society, 76, 103510, <ext-link xlink:href="https://doi.org/10.1016/j.scs.2021.103510" ext-link-type="DOI">10.1016/j.scs.2021.103510</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib8"><label>8</label><mixed-citation>Daley, R.: Atmospheric data analysis, Cambridge Atmospheric and Space Science Series, Cambridge University Press, Cambridge, <ext-link xlink:href="https://doi.org/10.1002/joc.3370120708" ext-link-type="DOI">10.1002/joc.3370120708</ext-link>, 1991.</mixed-citation></ref>
      <ref id="bib1.bib9"><label>9</label><mixed-citation>Denby, B. R., Gauss, M., Wind, P., Mu, Q., Grøtting Wærsted, E., Fagerli, H., Valdebenito, A., and Klein, H.: Description of the uEMEP_v5 downscaling approach for the EMEP MSC-W chemistry transport model, Geosci. Model Dev., 13, 6303–6323, <ext-link xlink:href="https://doi.org/10.5194/gmd-13-6303-2020" ext-link-type="DOI">10.5194/gmd-13-6303-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib10"><label>10</label><mixed-citation>EEA: AirBase – the European Air quality dataBase, Version 8, European Environment Agency, <uri>https://www.eea.europa.eu/data-and-maps/data/airbase-the-european-air-quality-database-8</uri> (last access: 6 November 2019), 2018.</mixed-citation></ref>
      <ref id="bib1.bib11"><label>11</label><mixed-citation>Eskes, H. J. and Boersma, K. F.: Averaging kernels for DOAS total-column satellite retrievals, Atmos. Chem. Phys., 3, 1285–1291, <ext-link xlink:href="https://doi.org/10.5194/acp-3-1285-2003" ext-link-type="DOI">10.5194/acp-3-1285-2003</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bib12"><label>12</label><mixed-citation>Eskes, H. J., Van Geffen, J. H. G. M., Boersma, K. F., Eichmann, K.-U., Apituley, A., Pedergnana, M., Sneep, M., Veefkind, J. P., and Loyola, D.: Sentinel-5 precursor/TROPOMI Level 2 Product User Manual Nitrogen Dioxide, <uri>https://sentinels.copernicus.eu/documents/247904/2474726/Sentinel-5P-Level-2-Product-User-Manual-Nitrogen-Dioxide.pdf</uri> (last access: 23 September 2025), 2022.</mixed-citation></ref>
      <ref id="bib1.bib13"><label>13</label><mixed-citation>Freire, S., MacManus, K., Pesaresi, M., Doxsey-Whitfield, E., and Mills, J.: Development of new open and free multi-temporal global population grids at 250 m resolution. Geospatial Data in a Changing World; Association of Geographic Information Laboratories in Europe (AGILE), AGILE 2016,  <uri>https://publications.jrc.ec.europa.eu/repository/handle/JRC100523</uri> (last access: 23 September 2025), 2016.</mixed-citation></ref>
      <ref id="bib1.bib14"><label>14</label><mixed-citation>Fu, J., Tang, D., Grieneisen, M. L., Yang, F., Yang, J., Wu, G., Wang, C., and Zhan, Y.: A machine learning-based approach for fusing measurements from standard sites, low-cost sensors, and satellite retrievals: Application to NO<sub>2</sub> pollution hotspot identification, Atmos. Environ., 302, 119756, <ext-link xlink:href="https://doi.org/10.1016/j.atmosenv.2023.119756" ext-link-type="DOI">10.1016/j.atmosenv.2023.119756</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib15"><label>15</label><mixed-citation>GGD: Air quality measurement results, Amsterdam 2022: GGD annual report, <uri>https://openresearch.amsterdam/image/2023/6/28/jaarrapportage_luchtmeetnet_2022_ggd.pdf</uri> (last access: 23 September 2025), 2023.  (in Dutch).</mixed-citation></ref>
      <ref id="bib1.bib16"><label>16</label><mixed-citation>Harrison, R. M.: Urban atmospheric chemistry: a very special case for study, Climate and Atmospheric Science, 1, 20175, <ext-link xlink:href="https://doi.org/10.1038/s41612-017-0010-8" ext-link-type="DOI">10.1038/s41612-017-0010-8</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib17"><label>17</label><mixed-citation>He, M. Z., Yitshak-Sade, M., Just, A. C., Gutiérrez-Avila, I., Dorman, M., De Hoogh, K., Mijling, B., Wright, R. O., and Kloog, I.: Predicting fine-scale daily NO<sub>2</sub> over Mexico city using an ensemble modeling approach, Atmospheric Pollution Research, 14,  101763, <ext-link xlink:href="https://doi.org/10.1016/j.apr.2023.101763" ext-link-type="DOI">10.1016/j.apr.2023.101763</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bib18"><label>18</label><mixed-citation> Hoek, G., Beelen, R., De Hoogh, K., Vienneau, D., Gulliver, J., Fischer, P., and Briggs, D.: A review of land-use regression models to assess spatial variation of outdoor air pollution, Atmos. Environ., 42, 7561–7578, 2008.</mixed-citation></ref>
      <ref id="bib1.bib19"><label>19</label><mixed-citation> Kakosimos, K. E., Hertel, O., Ketzel, M., and Berkowicz, R.: Operational Street Pollution Model (OSPM) – a review of performed application and validation studies, and future prospects, Environmental Chemistry, 21, 485–503, 2010.</mixed-citation></ref>
      <ref id="bib1.bib20"><label>20</label><mixed-citation>Khomenko, S., Cirach, M., Barrera-Gómez, J., Pereira-Barboza, E., Iungman, T., Mueller, N., Foraster, M., Tonne, C., Thondoo, M., Jephcote, C., Gulliver, J., Woodcock, J., and Nieuwenhuijsen, M.: Impact of road traffic noise on annoyance and preventable mortality in European cities: a health impact assessment, Environment International, 162, 107160, <ext-link xlink:href="https://doi.org/10.1016/j.envint.2022.107160" ext-link-type="DOI">10.1016/j.envint.2022.107160</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib21"><label>21</label><mixed-citation>Kim, Y., Wu, Y., Seigneur, C., and Roustan, Y.: Multi-scale modeling of urban air pollution: development and application of a Street-in-Grid model (v1.0) by coupling MUNICH (v1.0) and Polair3D (v1.8.1), Geosci. Model Dev., 11, 611–629, <ext-link xlink:href="https://doi.org/10.5194/gmd-11-611-2018" ext-link-type="DOI">10.5194/gmd-11-611-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib22"><label>22</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 Sensing of Environment, 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.bib23"><label>23</label><mixed-citation>Krol, M., van Stratum, B., Anglou, I., and Boersma, K. F.: Evaluating NO<sub><italic>x</italic></sub> stack plume emissions using a high-resolution atmospheric chemistry model and satellite-derived NO<sub>2</sub> columns, Atmos. Chem. Phys., 24, 8243–8262, <ext-link xlink:href="https://doi.org/10.5194/acp-24-8243-2024" ext-link-type="DOI">10.5194/acp-24-8243-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib24"><label>24</label><mixed-citation>Lefebvre, W., Fierens, F., Trimpeneers, E., Janssen, S., Van de Vel, K., Deutsch, F., Viaene, P., Vankerkom, J., Dumont, G., Vanpoucke, C., Mensink, C., Peelaerts, W., and Vliegen, J.: Modeling the effects of a speed limit reduction on traffic-related elemental carbon (EC) concentrations and population exposure to EC, Atmos. Environ., 45, 197–207, <ext-link xlink:href="https://doi.org/10.1016/j.atmosenv.2010.09.026" ext-link-type="DOI">10.1016/j.atmosenv.2010.09.026</ext-link>, 2011.</mixed-citation></ref>
      <ref id="bib1.bib25"><label>25</label><mixed-citation>Li, J., Hauryliuk, A., Malings, C., Eilenberg, S. R., Subramanian, R., and Presto, A. A.: Characterizing the Aging of Alphasense NO<sub>2</sub> Sensors in Long-Term Field Deployments, ACS Sensors, 6, 2952–2959, <ext-link xlink:href="https://doi.org/10.1021/acssensors.1c00729" ext-link-type="DOI">10.1021/acssensors.1c00729</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bib26"><label>26</label><mixed-citation>Lorente, A., Boersma, K. F., Eskes, H. J., Veefkind, J. P., Van Geffen, J. H. G. M., De Zeeuw, M. B., Denier Van Der Gon, H. A. C., Beirle, S., and Krol, M. C.: Quantification of nitrogen oxides emissions from build-up of pollution over Paris with TROPOMI, Sci. Rep., 9, 20033, <ext-link xlink:href="https://doi.org/10.1038/s41598-019-56428-5" ext-link-type="DOI">10.1038/s41598-019-56428-5</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bib27"><label>27</label><mixed-citation>Makido, Y., Dhakal, S., and Yamagata, Y.: Relationship between urban form and CO<sub>2</sub> emissions: Evidence from fifty Japanese cities, Urban Climate, 2, 55–67, <ext-link xlink:href="https://doi.org/10.1016/j.uclim.2012.10.006" ext-link-type="DOI">10.1016/j.uclim.2012.10.006</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bib28"><label>28</label><mixed-citation>Marécal, V., Peuch, V.-H., Andersson, C., Andersson, S., Arteta, J., Beekmann, M., Benedictow, A., Bergström, R., Bessagnet, B., Cansado, A., Chéroux, F., Colette, A., Coman, A., Curier, R. L., Denier van der Gon, H. A. C., Drouin, A., Elbern, H., Emili, E., Engelen, R. J., Eskes, H. J., Foret, G., Friese, E., Gauss, M., Giannaros, C., Guth, J., Joly, M., Jaumouillé, E., Josse, B., Kadygrov, N., Kaiser, J. W., Krajsek, K., Kuenen, J., Kumar, U., Liora, N., Lopez, E., Malherbe, L., Martinez, I., Melas, D., Meleux, F., Menut, L., Moinat, P., Morales, T., Parmentier, J., Piacentini, A., Plu, M., Poupkou, A., Queguiner, S., Robertson, L., Rouïl, L., Schaap, M., Segers, A., Sofiev, M., Tarasson, L., Thomas, M., Timmermans, R., Valdebenito, Á., van Velthoven, P., van Versendaal, R., Vira, J., and Ung, A.: A regional air quality forecasting system over Europe: the MACC-II daily ensemble production, Geosci. Model Dev., 8, 2777–2813, <ext-link xlink:href="https://doi.org/10.5194/gmd-8-2777-2015" ext-link-type="DOI">10.5194/gmd-8-2777-2015</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bib29"><label>29</label><mixed-citation>Masey, N., Hamilton, S., and Beverland, I. J.: Development and evaluation of the RapidAir<sup>®</sup> dispersion model, including the use of geospatial surrogates to represent street canyon effects, Environ. Modell. Softw., 108, 253–263, <ext-link xlink:href="https://doi.org/10.1016/j.envsoft.2018.05.014" ext-link-type="DOI">10.1016/j.envsoft.2018.05.014</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib30"><label>30</label><mixed-citation>Mijling, B.: High-resolution mapping of urban air quality with heterogeneous observations: a new methodology and its application to Amsterdam, Atmos. Meas. Tech., 13, 4601–4617, <ext-link xlink:href="https://doi.org/10.5194/amt-13-4601-2020" ext-link-type="DOI">10.5194/amt-13-4601-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bib31"><label>31</label><mixed-citation>Mijling, B.: High-resolution mapping of urban NO<sub>2</sub> concentrations using Retina v2: a case study on data assimilation of surface and satellite observations in Madrid (v1.0), Zenodo [code and data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.15096617" ext-link-type="DOI">10.5281/zenodo.15096617</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bib32"><label>32</label><mixed-citation>Mijling, B., Jiang, Q., de Jonge, D., and Bocconi, S.: Field calibration of electrochemical NO<sub>2</sub> sensors in a citizen science context, Atmos. Meas. Tech., 11, 1297–1312, <ext-link xlink:href="https://doi.org/10.5194/amt-11-1297-2018" ext-link-type="DOI">10.5194/amt-11-1297-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bib33"><label>33</label><mixed-citation>Morillas, C., Alvarez, S., Serio, C., Masiello, G., and Martinez, S.: TROPOMI NO<sub>2</sub> Sentinel-5P data in the Community of Madrid: A detailed consistency analysis with in situ surface observations, Remote Sensing Applications: Society and Environment, 33, 101083, <ext-link xlink:href="https://doi.org/10.1016/j.rsase.2023.101083" ext-link-type="DOI">10.1016/j.rsase.2023.101083</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib34"><label>34</label><mixed-citation>Schneider, P., Castell, N., Vogt, M., Dauge, F. R., Lahoz,, W. A., and Bartonova, A.: Mapping urban air quality in near real-time using observations from low-cost sensors and model information, Environ. Int., 106, 234–247, <ext-link xlink:href="https://doi.org/10.1016/j.envint.2017.05.005" ext-link-type="DOI">10.1016/j.envint.2017.05.005</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bib35"><label>35</label><mixed-citation> Snyder, E. G., Watkins, T. H., Solomon, P.A., Thoma, E. D., Williams, R. W., Hagler, G. S., Shelow, D., Hindin, D. A., Kilaru, V. J., and Preuss, P. W.: The changing paradigm of air pollution monitoring, Environmental Science &amp; Technology, 47, 11369–11377, 2013.</mixed-citation></ref>
      <ref id="bib1.bib36"><label>36</label><mixed-citation>Steinbacher, M., Zellweger, C., Schwarzenbach, B., Bugmann, S., Buchmann, B., Ordóñez, C., Prévôt, A. S., and Hueglin, C.: Nitrogen oxide measurements at rural sites in Switzerland: Bias of conventional measurement techniques, Journal of Geophysical Research: Atmospheres, 112, <ext-link xlink:href="https://doi.org/10.1029/2006JD007971" ext-link-type="DOI">10.1029/2006JD007971</ext-link>, 2007.</mixed-citation></ref>
      <ref id="bib1.bib37"><label>37</label><mixed-citation>Soulie, A., Granier, C., Darras, S., Zilbermann, N., Doumbia, T., Guevara, M., Jalkanen, J.-P., Keita, S., Liousse, C., Crippa, M., Guizzardi, D., Hoesly, R., and Smith, S. J.: Global anthropogenic emissions (CAMS-GLOB-ANT) for the Copernicus Atmosphere Monitoring Service simulations of air quality forecasts and reanalyses, Earth Syst. Sci. Data, 16, 2261–2279, <ext-link xlink:href="https://doi.org/10.5194/essd-16-2261-2024" ext-link-type="DOI">10.5194/essd-16-2261-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib38"><label>38</label><mixed-citation>Tilloy, A., Mallet, V., Poulet, D., Pesin, C., and Brocheton, F.: BLUE-based NO<sub>2</sub> data assimilation at urban scale, J. Geophys. Res.-Atmos., 118, 2031–2040, <ext-link xlink:href="https://doi.org/10.1002/jgrd.50233" ext-link-type="DOI">10.1002/jgrd.50233</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bib39"><label>39</label><mixed-citation>van der A, R. J., Ding, J., and Eskes, H.: Monitoring European anthropogenic NO<sub><italic>x</italic></sub> emissions from space, Atmos. Chem. Phys., 24, 7523–7534, <ext-link xlink:href="https://doi.org/10.5194/acp-24-7523-2024" ext-link-type="DOI">10.5194/acp-24-7523-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bib40"><label>40</label><mixed-citation>van Geffen, J., Eskes, H., Compernolle, S., Pinardi, G., Verhoelst, T., Lambert, J.-C., Sneep, M., ter Linden, M., Ludewig, A., Boersma, K. F., and Veefkind, J. P.: Sentinel-5P TROPOMI NO<sub>2</sub> retrieval: impact of version v2.2 improvements and comparisons with OMI and ground-based data, Atmos. Meas. Tech., 15, 2037–2060, <ext-link xlink:href="https://doi.org/10.5194/amt-15-2037-2022" ext-link-type="DOI">10.5194/amt-15-2037-2022</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bib41"><label>41</label><mixed-citation>WHO: WHO global air quality guidelines. Particulate matter (PM<sub>2.5</sub> and PM<sub>10</sub>), ozone, nitrogen dioxide, sulfur dioxide and carbon monoxide, Geneva: World Health Organization,  <uri>https://www.who.int/publications/i/item/9789240034228</uri> (last access: 23 September 2025), 2021.</mixed-citation></ref>
      <ref id="bib1.bib42"><label>42</label><mixed-citation>WHO: WHO ambient air quality database, 2022 update: status report, Geneva: World Health Organization,  <uri>https://www.who.int/data/gho/data/themes/air-pollution</uri> (last access: 23 September 2025), 2023. </mixed-citation></ref>
      <ref id="bib1.bib43"><label>43</label><mixed-citation>WMO: GAW Report No. 293, Integrating Low-cost Sensor Systems and Networks to Enhance Air Quality Applications, <uri>https://library.wmo.int/idurl/4/68924</uri> (last access: 1 November 2024), 2024.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>High-resolution mapping of urban NO<sub>2</sub> concentrations using Retina v2: a case study on data assimilation of surface and satellite observations in Madrid</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>1</label><mixed-citation>
      
Beirle, S., Boersma, K. F., Platt, U., Lawrence, M. G., and Wagner, T.:
Megacity emissions and lifetimes of nitrogen oxides probed from
space, Science, 333, 1737–1739, <a href="https://doi.org/10.1126/science.1207824" target="_blank">https://doi.org/10.1126/science.1207824</a>, 2011

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>2</label><mixed-citation>
      
Boersma, K. F., Jacob, D. J., Trainic, M., Rudich, Y., DeSmedt, I., Dirksen, R., and Eskes, H. J.: Validation of urban NO<sub>2</sub> concentrations and their diurnal and seasonal variations observed from the SCIAMACHY and OMI sensors using in situ surface measurements in Israeli cities, Atmos. Chem. Phys., 9, 3867–3879, <a href="https://doi.org/10.5194/acp-9-3867-2009" target="_blank">https://doi.org/10.5194/acp-9-3867-2009</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>3</label><mixed-citation>
      
CAMS: Annual report on the evaluation of validated re-analyses for 2019,
CAMS2_83_2021SC1_D83.2.2.1-2019_202201_VRA2019
evaluation_v2, issued by INERIS/F. Meleux, date: 16/02/2022,
<a href="https://atmosphere.copernicus.eu/regional-services" target="_blank"/> (last access:
26 April 2024), 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>4</label><mixed-citation>
      
Chen, T. and Guestrin, C.: XGBoost: A scalable tree boosting system,
Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge
Discovery and Data Mining – KDD '16, ACM Press, San Francisco, California,
USA, 785–794, <a href="https://doi.org/10.1145/2939672.2939785" target="_blank">https://doi.org/10.1145/2939672.2939785</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>5</label><mixed-citation>
      
Cimorelli, A. J., Perry, S. G., Venkatram, A., Weil, J. C., Paine, R. J., Wilson, R. B., Lee, R. F., Peters, W. D., and Brode, R. W.: AERMOD: A dispersion model for industrial source applications Part I: General model formulation and boundary layer characterization, J. Appl. Meteor., 44, 682–693, 2004.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>6</label><mixed-citation>
      
Criado, A., Armengol, J. M., Petetin, H., Rodriguez-Rey, D., Benavides, J., Guevara, M., Pérez García-Pando, C., Soret, A., and Jorba, O.: Data fusion uncertainty-enabled methods to map street-scale hourly NO<sub>2</sub> in Barcelona: a case study with CALIOPE-Urban v1.0, Geosci. Model Dev., 16, 2193–2213, <a href="https://doi.org/10.5194/gmd-16-2193-2023" target="_blank">https://doi.org/10.5194/gmd-16-2193-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>7</label><mixed-citation>
      
Cummings, L. E., Stewart, J. D., Kremer, P., andShakya, K. M.: Predicting citywide
distribution of air pollution using mobile monitoring and three-dimensional
urban structure, Sustainable Cities and Society, 76, 103510, <a href="https://doi.org/10.1016/j.scs.2021.103510" target="_blank">https://doi.org/10.1016/j.scs.2021.103510</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>8</label><mixed-citation>
      
Daley, R.: Atmospheric data analysis, Cambridge Atmospheric and Space
Science Series, Cambridge University Press, Cambridge,
<a href="https://doi.org/10.1002/joc.3370120708" target="_blank">https://doi.org/10.1002/joc.3370120708</a>, 1991.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>9</label><mixed-citation>
      
Denby, B. R., Gauss, M., Wind, P., Mu, Q., Grøtting Wærsted, E., Fagerli, H., Valdebenito, A., and Klein, H.: Description of the uEMEP_v5 downscaling approach for the EMEP MSC-W chemistry transport model, Geosci. Model Dev., 13, 6303–6323, <a href="https://doi.org/10.5194/gmd-13-6303-2020" target="_blank">https://doi.org/10.5194/gmd-13-6303-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>10</label><mixed-citation>
      
EEA: AirBase – the European Air quality dataBase, Version 8, European
Environment Agency,
<a href="https://www.eea.europa.eu/data-and-maps/data/airbase-the-european-air-quality-database-8" target="_blank"/>
(last access: 6 November 2019), 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>11</label><mixed-citation>
      
Eskes, H. J. and Boersma, K. F.: Averaging kernels for DOAS total-column satellite retrievals, Atmos. Chem. Phys., 3, 1285–1291, <a href="https://doi.org/10.5194/acp-3-1285-2003" target="_blank">https://doi.org/10.5194/acp-3-1285-2003</a>, 2003.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>12</label><mixed-citation>
      
Eskes, H. J., Van Geffen, J. H. G. M., Boersma, K. F., Eichmann, K.-U., Apituley,
A., Pedergnana, M., Sneep, M., Veefkind, J. P., and Loyola, D.: Sentinel-5
precursor/TROPOMI Level 2 Product User Manual Nitrogen Dioxide, <a href="https://sentinels.copernicus.eu/documents/247904/2474726/Sentinel-5P-Level-2-Product-User-Manual-Nitrogen-Dioxide.pdf" target="_blank"/> (last access: 23 September 2025),
2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>13</label><mixed-citation>
      
Freire, S., MacManus, K., Pesaresi, M., Doxsey-Whitfield, E., and Mills, J.:
Development of new open and free multi-temporal global population grids at
250&thinsp;m resolution. Geospatial Data in a Changing World; Association of
Geographic Information Laboratories in Europe (AGILE), AGILE 2016,  <a href="https://publications.jrc.ec.europa.eu/repository/handle/JRC100523" target="_blank"/> (last access: 23 September 2025), 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>14</label><mixed-citation>
      
Fu, J., Tang, D., Grieneisen, M. L., Yang, F., Yang, J., Wu, G., Wang, C., and
Zhan, Y.: A machine learning-based approach for fusing measurements from
standard sites, low-cost sensors, and satellite retrievals: Application to
NO<sub>2</sub> pollution hotspot identification, Atmos. Environ., 302, 119756, <a href="https://doi.org/10.1016/j.atmosenv.2023.119756" target="_blank">https://doi.org/10.1016/j.atmosenv.2023.119756</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>15</label><mixed-citation>
      
GGD: Air quality measurement results, Amsterdam 2022: GGD annual report, <a href="https://openresearch.amsterdam/image/2023/6/28/jaarrapportage_luchtmeetnet_2022_ggd.pdf" target="_blank"/> (last access: 23 September 2025), 2023.  (in
Dutch).

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>16</label><mixed-citation>
      
Harrison, R. M.: Urban atmospheric chemistry: a very special case for study,
Climate and Atmospheric Science, 1, 20175, <a href="https://doi.org/10.1038/s41612-017-0010-8" target="_blank">https://doi.org/10.1038/s41612-017-0010-8</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>17</label><mixed-citation>
      
He, M. Z., Yitshak-Sade, M., Just, A. C., Gutiérrez-Avila, I., Dorman, M.,
De Hoogh, K., Mijling, B., Wright, R. O., and Kloog, I.: Predicting
fine-scale daily NO<sub>2</sub> over Mexico city using an ensemble modeling
approach, Atmospheric Pollution Research, 14,  101763,
<a href="https://doi.org/10.1016/j.apr.2023.101763" target="_blank">https://doi.org/10.1016/j.apr.2023.101763</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>18</label><mixed-citation>
      
Hoek, G., Beelen, R., De Hoogh, K., Vienneau, D., Gulliver, J., Fischer, P.,
and Briggs, D.: A review of land-use regression models to assess spatial
variation of outdoor air pollution, Atmos. Environ., 42, 7561–7578, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>19</label><mixed-citation>
      
Kakosimos, K. E., Hertel, O., Ketzel, M., and Berkowicz, R.: Operational
Street Pollution Model (OSPM) – a review of performed application and
validation studies, and future prospects, Environmental Chemistry,
21, 485–503, 2010.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>20</label><mixed-citation>
      
Khomenko, S., Cirach, M., Barrera-Gómez, J., Pereira-Barboza, E.,
Iungman, T., Mueller, N., Foraster, M., Tonne, C., Thondoo, M., Jephcote,
C., Gulliver, J., Woodcock, J., and Nieuwenhuijsen, M.: Impact of road
traffic noise on annoyance and preventable mortality in European cities: a
health impact assessment, Environment International, 162, 107160,
<a href="https://doi.org/10.1016/j.envint.2022.107160" target="_blank">https://doi.org/10.1016/j.envint.2022.107160</a>,
2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>21</label><mixed-citation>
      
Kim, Y., Wu, Y., Seigneur, C., and Roustan, Y.: Multi-scale modeling of urban air pollution: development and application of a Street-in-Grid model (v1.0) by coupling MUNICH (v1.0) and Polair3D (v1.8.1), Geosci. Model Dev., 11, 611–629, <a href="https://doi.org/10.5194/gmd-11-611-2018" target="_blank">https://doi.org/10.5194/gmd-11-611-2018</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>22</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 Sensing of Environment, 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.bib23"><label>23</label><mixed-citation>
      
Krol, M., van Stratum, B., Anglou, I., and Boersma, K. F.: Evaluating NO<sub><i>x</i></sub> stack plume emissions using a high-resolution atmospheric chemistry model and satellite-derived NO<sub>2</sub> columns, Atmos. Chem. Phys., 24, 8243–8262, <a href="https://doi.org/10.5194/acp-24-8243-2024" target="_blank">https://doi.org/10.5194/acp-24-8243-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>24</label><mixed-citation>
      
Lefebvre, W., Fierens, F., Trimpeneers, E., Janssen, S., Van de Vel, K.,
Deutsch, F., Viaene, P., Vankerkom, J., Dumont, G., Vanpoucke, C., Mensink,
C., Peelaerts, W., and Vliegen, J.: Modeling the effects of a speed limit
reduction on traffic-related elemental carbon (EC) concentrations and
population exposure to EC, Atmos. Environ., 45, 197–207, <a href="https://doi.org/10.1016/j.atmosenv.2010.09.026" target="_blank">https://doi.org/10.1016/j.atmosenv.2010.09.026</a>, 2011.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>25</label><mixed-citation>
      
Li, J., Hauryliuk, A., Malings, C., Eilenberg, S. R., Subramanian, R., and
Presto, A. A.: Characterizing the Aging of Alphasense NO<sub>2</sub> Sensors in
Long-Term Field Deployments, ACS Sensors, 6, 2952–2959, <a href="https://doi.org/10.1021/acssensors.1c00729" target="_blank">https://doi.org/10.1021/acssensors.1c00729</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>26</label><mixed-citation>
      
Lorente, A., Boersma, K. F., Eskes, H. J., Veefkind, J. P., Van Geffen,
J. H. G. M., De Zeeuw, M. B., Denier Van Der Gon, H. A. C., Beirle, S., and Krol,
M. C.: Quantification of nitrogen oxides emissions from build-up of pollution
over Paris with TROPOMI, Sci. Rep., 9, 20033,
<a href="https://doi.org/10.1038/s41598-019-56428-5" target="_blank">https://doi.org/10.1038/s41598-019-56428-5</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>27</label><mixed-citation>
      
Makido, Y., Dhakal, S., and Yamagata, Y.: Relationship between urban form
and CO<sub>2</sub> emissions: Evidence from fifty Japanese cities, Urban Climate, 2,
55–67, <a href="https://doi.org/10.1016/j.uclim.2012.10.006" target="_blank">https://doi.org/10.1016/j.uclim.2012.10.006</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>28</label><mixed-citation>
      
Marécal, V., Peuch, V.-H., Andersson, C., Andersson, S., Arteta, J., Beekmann, M., Benedictow, A., Bergström, R., Bessagnet, B., Cansado, A., Chéroux, F., Colette, A., Coman, A., Curier, R. L., Denier van der Gon, H. A. C., Drouin, A., Elbern, H., Emili, E., Engelen, R. J., Eskes, H. J., Foret, G., Friese, E., Gauss, M., Giannaros, C., Guth, J., Joly, M., Jaumouillé, E., Josse, B., Kadygrov, N., Kaiser, J. W., Krajsek, K., Kuenen, J., Kumar, U., Liora, N., Lopez, E., Malherbe, L., Martinez, I., Melas, D., Meleux, F., Menut, L., Moinat, P., Morales, T., Parmentier, J., Piacentini, A., Plu, M., Poupkou, A., Queguiner, S., Robertson, L., Rouïl, L., Schaap, M., Segers, A., Sofiev, M., Tarasson, L., Thomas, M., Timmermans, R., Valdebenito, Á., van Velthoven, P., van Versendaal, R., Vira, J., and Ung, A.: A regional air quality forecasting system over Europe: the MACC-II daily ensemble production, Geosci. Model Dev., 8, 2777–2813, <a href="https://doi.org/10.5194/gmd-8-2777-2015" target="_blank">https://doi.org/10.5194/gmd-8-2777-2015</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>29</label><mixed-citation>
      
Masey, N., Hamilton, S., and Beverland, I. J.: Development and evaluation of
the RapidAir<span style="position:relative; bottom:0.5em; " class="text">®</span> dispersion model, including the use of
geospatial surrogates to represent street canyon effects, Environ. Modell.
Softw., 108, 253–263,
<a href="https://doi.org/10.1016/j.envsoft.2018.05.014" target="_blank">https://doi.org/10.1016/j.envsoft.2018.05.014</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>30</label><mixed-citation>
      
Mijling, B.: High-resolution mapping of urban air quality with heterogeneous observations: a new methodology and its application to Amsterdam, Atmos. Meas. Tech., 13, 4601–4617, <a href="https://doi.org/10.5194/amt-13-4601-2020" target="_blank">https://doi.org/10.5194/amt-13-4601-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>31</label><mixed-citation>
      
Mijling, B.: High-resolution mapping of urban NO<sub>2</sub> concentrations using
Retina v2: a case study on data assimilation of surface and satellite
observations in Madrid (v1.0), Zenodo [code and data set], <a href="https://doi.org/10.5281/zenodo.15096617" target="_blank">https://doi.org/10.5281/zenodo.15096617</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>32</label><mixed-citation>
      
Mijling, B., Jiang, Q., de Jonge, D., and Bocconi, S.: Field calibration of electrochemical NO<sub>2</sub> sensors in a citizen science context, Atmos. Meas. Tech., 11, 1297–1312, <a href="https://doi.org/10.5194/amt-11-1297-2018" target="_blank">https://doi.org/10.5194/amt-11-1297-2018</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>33</label><mixed-citation>
      
Morillas, C., Alvarez, S., Serio, C., Masiello, G., and Martinez, S.:
TROPOMI NO<sub>2</sub> Sentinel-5P data in the Community of Madrid: A detailed
consistency analysis with in situ surface observations, Remote Sensing
Applications: Society and Environment, 33, 101083,
<a href="https://doi.org/10.1016/j.rsase.2023.101083" target="_blank">https://doi.org/10.1016/j.rsase.2023.101083</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>34</label><mixed-citation>
      
Schneider, P., Castell, N., Vogt, M., Dauge, F. R., Lahoz,, W. A., and
Bartonova, A.: Mapping urban air quality in near real-time using
observations from low-cost sensors and model information, Environ. Int.,
106, 234–247, <a href="https://doi.org/10.1016/j.envint.2017.05.005" target="_blank">https://doi.org/10.1016/j.envint.2017.05.005</a>,
2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>35</label><mixed-citation>
      
Snyder, E. G., Watkins, T. H., Solomon, P.A., Thoma, E. D., Williams, R. W.,
Hagler, G. S., Shelow, D., Hindin, D. A., Kilaru, V. J., and Preuss, P. W.: The
changing paradigm of air pollution monitoring, Environmental Science &amp;
Technology, 47, 11369–11377, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>36</label><mixed-citation>
      
Steinbacher, M., Zellweger, C., Schwarzenbach, B., Bugmann, S., Buchmann,
B., Ordóñez, C., Prévôt, A. S., and Hueglin, C.: Nitrogen
oxide measurements at rural sites in Switzerland: Bias of conventional
measurement techniques, Journal of Geophysical Research:
Atmospheres, 112, <a href="https://doi.org/10.1029/2006JD007971" target="_blank">https://doi.org/10.1029/2006JD007971</a>, 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>37</label><mixed-citation>
      
Soulie, A., Granier, C., Darras, S., Zilbermann, N., Doumbia, T., Guevara, M., Jalkanen, J.-P., Keita, S., Liousse, C., Crippa, M., Guizzardi, D., Hoesly, R., and Smith, S. J.: Global anthropogenic emissions (CAMS-GLOB-ANT) for the Copernicus Atmosphere Monitoring Service simulations of air quality forecasts and reanalyses, Earth Syst. Sci. Data, 16, 2261–2279, <a href="https://doi.org/10.5194/essd-16-2261-2024" target="_blank">https://doi.org/10.5194/essd-16-2261-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>38</label><mixed-citation>
      
Tilloy, A., Mallet, V., Poulet, D., Pesin, C., and Brocheton, F.: BLUE-based
NO<sub>2</sub> data assimilation at urban scale, J. Geophys. Res.-Atmos., 118,
2031–2040, <a href="https://doi.org/10.1002/jgrd.50233" target="_blank">https://doi.org/10.1002/jgrd.50233</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>39</label><mixed-citation>
      
van der A, R. J., Ding, J., and Eskes, H.: Monitoring European anthropogenic NO<sub><i>x</i></sub> emissions from space, Atmos. Chem. Phys., 24, 7523–7534, <a href="https://doi.org/10.5194/acp-24-7523-2024" target="_blank">https://doi.org/10.5194/acp-24-7523-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>40</label><mixed-citation>
      
van Geffen, J., Eskes, H., Compernolle, S., Pinardi, G., Verhoelst, T., Lambert, J.-C., Sneep, M., ter Linden, M., Ludewig, A., Boersma, K. F., and Veefkind, J. P.: Sentinel-5P TROPOMI NO<sub>2</sub> retrieval: impact of version v2.2 improvements and comparisons with OMI and ground-based data, Atmos. Meas. Tech., 15, 2037–2060, <a href="https://doi.org/10.5194/amt-15-2037-2022" target="_blank">https://doi.org/10.5194/amt-15-2037-2022</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>41</label><mixed-citation>
      
WHO: WHO global air quality guidelines. Particulate matter (PM<sub>2.5</sub> and PM<sub>10</sub>), ozone, nitrogen dioxide, sulfur dioxide and carbon monoxide, Geneva:
World Health Organization,  <a href="https://www.who.int/publications/i/item/9789240034228" target="_blank"/> (last access: 23 September 2025), 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>42</label><mixed-citation>
      
WHO: WHO ambient air quality database, 2022 update: status report, Geneva:
World Health Organization,  <a href="https://www.who.int/data/gho/data/themes/air-pollution" target="_blank"/> (last access: 23 September 2025), 2023.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>43</label><mixed-citation>
      
WMO: GAW Report No. 293, Integrating Low-cost Sensor Systems and Networks to
Enhance Air Quality Applications, <a href="https://library.wmo.int/idurl/4/68924" target="_blank"/> (last access: 1 November 2024),
2024.

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