<?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-19-4071-2026</article-id><title-group><article-title>PALM-meteo 2.8: Processor of PALM meteorological input data</article-title><alt-title>PALM-meteo 2.8: Processor of PALM meteorological input data</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Krč</surname><given-names>Pavel</given-names></name>
          <email>krc@cs.cas.cz</email>
        <ext-link>https://orcid.org/0000-0001-7710-712X</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Belda</surname><given-names>Michal</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-9514-4888</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Bureš</surname><given-names>Martin</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Eben</surname><given-names>Kryštof</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff2">
          <name><surname>Geletič</surname><given-names>Jan</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-0904-3133</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Radović</surname><given-names>Jelena</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-6874-9558</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff3">
          <name><surname>Řezníček</surname><given-names>Hynek</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-1899-7553</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Resler</surname><given-names>Jaroslav</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-3847-7624</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Institute of Computer Science, Czech Academy of Sciences, Pod Vodárenskou věží 271/2, 182 00 Prague 8, Czech Republic</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Department of Atmospheric Physics, Faculty of Mathematics and Physics, Charles University Prague, V Holešovičkách 2, 180 00, Prague 8, Czech Republic</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Department of Physics, Technical University of Liberec, Studentská 1402/2, 461 17 Liberec 1, Czech Republic</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Pavel Krč (krc@cs.cas.cz)</corresp></author-notes><pub-date><day>19</day><month>May</month><year>2026</year></pub-date>
      
      <volume>19</volume>
      <issue>10</issue>
      <fpage>4071</fpage><lpage>4093</lpage>
      <history>
        <date date-type="received"><day>22</day><month>August</month><year>2025</year></date>
           <date date-type="rev-request"><day>11</day><month>September</month><year>2025</year></date>
           <date date-type="rev-recd"><day>18</day><month>March</month><year>2026</year></date>
           <date date-type="accepted"><day>31</day><month>March</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Pavel Krč et al.</copyright-statement>
        <copyright-year>2026</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/19/4071/2026/gmd-19-4071-2026.html">This article is available from https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026.html</self-uri><self-uri xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026.pdf">The full text article is available as a PDF file from https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e160">PALM is a versatile and modular microscale atmospheric modelling system. It supports offline nesting using pre-processed initial and boundary conditions provided via the <italic>dynamic driver</italic> file, along with other time-dependent input data, such as radiative forcing. PALM-meteo is a new modular tool for preparing PALM dynamic drivers using data from various mesoscale or global meteorological models as well as other sources, such as measurements. It is derived from an older tool, the WRF_interface, which provided dynamic drivers using WRF (Weather Research and Forecasting) model data. PALM-meteo significantly expands the scope of usable meteorological and chemical inputs for PALM (currently supporting WRF, ICON, Aladin, CAMx, and CAMS) and is readily extendable to additional data sources in the future. Its processing capabilities extend beyond simple conversion and interpolation, including vertical adaptation, mass balancing, wind damping, and other features. The applicability of this versatile tool has been demonstrated by several studies, including the validation of PALM model simulations and various scenario simulations, e.g., in Prague (Czech Republic), Bergen (Norway), Guelph (Canada), Milan and Bologna (Italy), Berlin and Leipzig (Germany), or Vienna (Austria).</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>HORIZON EUROPE Climate, Energy and Mobility</funding-source>
<award-id>101137851</award-id>
</award-group>
<award-group id="gs2">
<funding-source>Ministerstvo Školství, Mládeže a Tělovýchovy</funding-source>
<award-id>CZ.02.01.01/00/22_008/0004605</award-id>
</award-group>
<award-group id="gs3">
<funding-source>Technology Agency of the Czech Republic</funding-source>
<award-id>TO01000219</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="d2e175">Recent research progress in numerical weather and climate simulations of urbanised areas has developed to include higher spatial and temporal resolutions <xref ref-type="bibr" rid="bib1.bibx20" id="paren.1"/>. Feedback from microscale processes impacted by surface heterogeneities can be explicitly resolved and better represented, enabling detailed assessments of urban atmosphere dynamics and further supporting adaptation of cities to climate change and mitigation of its impacts <xref ref-type="bibr" rid="bib1.bibx18 bib1.bibx34 bib1.bibx57" id="paren.2"/>.</p>
      <p id="d2e184">The increased sophistication of microscale meteorological tools stresses the fidelity and realism of their input data, i.e., land use, building morphology, turbulence, meteorological inflow conditions, etc. <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx6 bib1.bibx40" id="paren.3"/>. Among the components mentioned, constraining microscale simulations across the simulation domain with properly derived meteorological input data is a decisive factor that affects the flow development within the high-resolution domain <xref ref-type="bibr" rid="bib1.bibx9 bib1.bibx56 bib1.bibx48 bib1.bibx55" id="paren.4"/>.</p>
      <p id="d2e193">Widely used numerical weather prediction (NWP) models simulate regional atmospheric flows in real meteorological conditions, but their spatial and vertical resolution usually does not reach the meter-scale resolution necessary to capture individual components of the urban landscape (e.g., streets or buildings). On the other hand, microscale modelling tools – though powerful for assessing street-scale urban microclimate processes – do not contain information about the primary drivers of day-to-day weather variations, i.e., synoptic-scale systems <xref ref-type="bibr" rid="bib1.bibx32 bib1.bibx2" id="paren.5"/>. As a result, an integral aspect of urban micro-meteorological modelling involves developing methods for utilising and generating initial and boundary conditions (IBC) from larger-scale (mesoscale) models to drive microscale meteorological models <xref ref-type="bibr" rid="bib1.bibx33 bib1.bibx23 bib1.bibx42 bib1.bibx43" id="paren.6"/>. The initial state of the atmosphere (i.e., initial conditions) at the beginning of the simulation, and the atmospheric conditions imposed at the edges of the computational domain (i.e., boundary conditions), control and determine the flow evolution during the simulation period in limited-area models. Hence, to ensure realistic and physically consistent simulations of urban airflow, microscale models must be adequately connected to the real atmosphere through the IBC. Nonetheless, transforming mesoscale data from synoptic to city- and street-scales is a non-trivial, technically complex task and requires well-developed and specialised tools capable of bridging the gap between meso- and microscale model differences <xref ref-type="bibr" rid="bib1.bibx52" id="paren.7"><named-content content-type="pre">e.g., scale gap, temporal resolution, grid incompatibility, physical inconsistencies;</named-content></xref>.</p>
<sec id="Ch1.S1.SS1">
  <label>1.1</label><title>Initial and boundary condition methods</title>
      <p id="d2e214">To date, various types of IBC have been used to constrain microscale simulations at the lateral, top, and bottom sides of the simulation domain. Depending on the experimental design and objectives, the strategies for providing IBC, along with their corresponding mathematical formulations, vary. The most common and straightforward methods include idealised forcings, such as Dirichlet or Neumann conditions, which prescribe fixed physical values and constant gradients, respectively. In studies that consider idealised domain geometry, cyclic (periodic) boundary conditions can be employed. In other cases, observation-based forcing data (e.g., radiosonde vertical profiles) can be utilised. Still, due to their spatiotemporal scarcity, lack of consistency across a simulation domain, and limited representation of the real state of the atmosphere, they present a suboptimal choice for microscale model forcing.</p>
      <p id="d2e217">Along with the methods for implementing boundary constraints, boundary input data categories must be defined. As a baseline, thermodynamic (i.e., temperature) and dynamic (i.e., wind velocity) boundary conditions must be provided. Furthermore, urban-scale simulations require consistent radiative forcing, which is essential to accurately capture energy transfer and surface-atmosphere radiation interactions, which are key drivers in the atmospheric boundary layer. It is typically provided through short- and longwave downwelling fluxes at the top of the domain and can be derived from the mesoscale models or observations. Finally, depending on the modelling goals (e.g., in air quality modelling simulations), inputs containing chemical species specifications are also required. These are typically derived from observation stations or chemical transport models and include background concentrations of chemical species such as nitrogen oxides, carbon monoxide, ozone, and particulate matter.</p>
      <p id="d2e220">For the real-case microscale simulations, coupling microscale with mesoscale models is vital <xref ref-type="bibr" rid="bib1.bibx24 bib1.bibx53 bib1.bibx46" id="paren.8"/>. Microscale-mesoscale model coupling strategies for exchanging data broadly encompass two categories, i.e., online and offline <xref ref-type="bibr" rid="bib1.bibx1 bib1.bibx23" id="paren.9"/>. The former implies simultaneous model execution and data exchange (possibly including feedback from the microscale into the mesoscale model), while the latter refers to running the mesoscale model first, storing its output, and feeding information to the microscale model through boundary conditions, continuously updating them over time throughout the simulation. The adopted coupling strategy depends on various factors, such as application purposes, computational resources, etc. Nevertheless, even though the online coupling offers more realistic assessments, the offline one is routinely employed in the PALM model's framework and offers greater flexibility while providing sufficiently accurate results.</p>
</sec>
<sec id="Ch1.S1.SS2">
  <label>1.2</label><title>The PALM model system</title>
      <p id="d2e238">The PALM model system <xref ref-type="bibr" rid="bib1.bibx33" id="paren.10"/> is an open-source, complex microscale meteorological model. It is usually utilised with the LES core that solves non-hydrostatic, filtered, Boussinesq-approximated, incompressible Navier-Stokes equations, however the RANS core is also implemented. The model is equipped with multiple components enabling realistic simulations of urban environments, in particular the land surface model <xref ref-type="bibr" rid="bib1.bibx13" id="paren.11"><named-content content-type="pre">LSM;</named-content></xref>, building surface model <xref ref-type="bibr" rid="bib1.bibx41 bib1.bibx33" id="paren.12"><named-content content-type="pre">BSM;</named-content></xref>, radiative transfer model and plant canopy model <xref ref-type="bibr" rid="bib1.bibx27" id="paren.13"><named-content content-type="pre">RTM and PCM;</named-content></xref>, single-layer urban canopy model <xref ref-type="bibr" rid="bib1.bibx25" id="paren.14"><named-content content-type="pre">SLURB;</named-content></xref>, human biometeorology module <xref ref-type="bibr" rid="bib1.bibx12" id="paren.15"><named-content content-type="pre">BIO;</named-content></xref>, chemistry model <xref ref-type="bibr" rid="bib1.bibx26" id="paren.16"><named-content content-type="pre">CHEM;</named-content></xref>, online nesting <xref ref-type="bibr" rid="bib1.bibx21" id="paren.17"/> and mesoscale nesting <xref ref-type="bibr" rid="bib1.bibx23" id="paren.18"><named-content content-type="pre">MESO;</named-content></xref>. The model and its individual components have been validated multiple times against tunnel measurements <xref ref-type="bibr" rid="bib1.bibx19 bib1.bibx44" id="paren.19"><named-content content-type="pre">e.g.,</named-content></xref> and in real environments <xref ref-type="bibr" rid="bib1.bibx41 bib1.bibx42 bib1.bibx43" id="paren.20"><named-content content-type="pre">e.g.,</named-content></xref>. The model has been used for research as well as for urbanistic studies in different parts of the world. The input data needed for complex simulation setups can be provided in specific NetCDF files called <italic>drivers</italic> according to the PALM Input Data Standard. These drivers provide, e.g., domain configuration including terrain, soil, trees, and buildings (Static driver), initial and boundary meteorological and air quality conditions (Dynamic driver), unresolved urban layer description (SLURB driver), emissions (Chemistry driver), and traffic-related information (Traffic driver).</p>
</sec>
<sec id="Ch1.S1.SS3">
  <label>1.3</label><title>IBC and the dynamic driver in PALM</title>
      <p id="d2e305">PALM contains various options for setting IBC. Separate boundary condition types can be set for the left-right, north-south, bottom, and top boundaries. They can be set for all quantities or specified separately for different quantities, e.g., pressure, potential temperature, or subgrid-scale turbulence kinetic energy (TKE). The condition can be set to Dirichlet, Neumann, or cyclic. The initial conditions can be set in various ways; the most common are setting constant profiles or by solving the 1-D model for the vertical profile of the quantity. The IBCs can be complemented by a large-scale forcing and nudging mechanism to drag vertical profiles to prescribed values. All these options are intended mainly for use in synthetic idealised experiments, which are not meant to represent actual atmospheric conditions at a specific point in time and space. In real or realistic experiments, PALM implements a mechanism called offline nesting. This setting dynamically sets the boundary conditions to Dirichlet on the inflow and Radiation on the outflow parts of the lateral and top boundaries.</p>
      <p id="d2e308">Supplying IBC for PALM simulations is managed through the so-called dynamic driver input file (named <monospace>PIDS_DYNAMIC</monospace> in PALM's working directory). The mentioned file comprises time-dependent meteorological data, large-scale forcing tendencies, radiation fields, and, optionally, chemical species data. It is utilised from the beginning of the simulation, providing the initial conditions for the entire domain and time-dependent lateral and top boundary conditions for the duration of the simulation. The core variables provided are the 3-D fields of potential temperature (<inline-formula><mml:math id="M1" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula>), velocity components (<inline-formula><mml:math id="M2" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M3" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M4" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula>), and water vapour mixing ratio (<inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>). In addition, the 3-D fields of soil moisture and temperature, as well as a 1-D time series of large-scale surface forcing of surface pressure, are included as additional mesoscale-derived bottom boundary constraints. Radiation-associated variables, such as short- and longwave downwelling radiation and shortwave downwelling diffuse radiation, are provided for cases that utilise external radiative forcing. In setups involving chemistry modelling, the IBC of the concentrations of the configured chemical species are provided as well, although until recently, the initial conditions could be only provided as vertical profiles (<monospace>lod=1</monospace>; see Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS2"/>). Lateral boundary conditions are provided only at the outermost grid row/column of the PALM domain (i.e., no relaxation of the BC in a buffer zone is performed).</p>
      <p id="d2e359">When applying the boundary conditions from the dynamic driver, PALM internally performs linear interpolation in time, so that the variables may be provided at their original temporal resolution, thus reducing the size of the dynamic driver. Moreover, PALM dynamically adjusts its timestep length, so the actual PALM timesteps are not known in advance. All the listed variables have a common time dimension called <monospace>time</monospace>, except for the radiation variables, which have their own time dimension called <monospace>time_rad</monospace>. It is very common to have mesoscale model outputs in 1 h intervals, which may be insufficient for radiation (especially shortwave), hence the possibility of providing it at a finer temporal resolution.</p>
</sec>
<sec id="Ch1.S1.SS4">
  <label>1.4</label><title>Existing tools for PALM dynamic drivers</title>
      <p id="d2e376">Considering that mesoscale data processing and further coupling to the high-resolution microscale domain are not a part of PALM's internal structure, this process has to be executed as a preprocessing step before PALM's utilisation. Multiple preprocessors exist to facilitate the dynamical downscaling process and create PALM-consistent input, e.g., WRF_interface <xref ref-type="bibr" rid="bib1.bibx54" id="paren.21"/>, WRF4PALM <xref ref-type="bibr" rid="bib1.bibx31" id="paren.22"/>, or SanDyPALM <xref ref-type="bibr" rid="bib1.bibx50" id="paren.23"/> for the WRF (Weather Research and Forecasting) model outputs or INIFOR <xref ref-type="bibr" rid="bib1.bibx23" id="paren.24"/> for the COSMO model outputs. Achieving a user-oriented, streamlined coupling interface characterised by flexibility of coupling to multiple mesoscale and chemical models and transparency in a standardised workflow is a technically complex and laborious task. Most importantly, ensuring physical realism and internal consistency between the two models during the downscaling process across coupled domains requires a robust coupling framework. To address these challenges, we present PALM-meteo 2.8, a processor designed to convert, reformat, and adjust meteorological, radiation fields, and chemical species to drive PALM simulations, bridging the interface between a variety of mesoscale weather and chemistry models and high-resolution microscale model.</p>
</sec>
<sec id="Ch1.S1.SS5">
  <label>1.5</label><title>Previous studies using PALM-meteo and its predecessors</title>
      <p id="d2e399">The first version of the PALM-meteo was created in the winter of 2020 together with Deutscher Wetterdienst (DWD) project PAMORE, as a more advanced and modular replacement for the older tool WRF_interface <xref ref-type="bibr" rid="bib1.bibx54" id="paren.25"/>. However, the projects split, and the current PALM-meteo version contains no DWD-developed code or methods. The older tool was used in several studies in Prague (Czech Republic) <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx14 bib1.bibx42" id="paren.26"/> and in Vienna (Austria) <xref ref-type="bibr" rid="bib1.bibx59" id="paren.27"/>.</p>
      <p id="d2e411">Previous versions of the PALM-meteo were used for PALM dynamic driver preprocessing in several studies in various cities. Examples of the papers utilising results from the PALM-meteo are mainly from Prague <xref ref-type="bibr" rid="bib1.bibx15 bib1.bibx16 bib1.bibx22 bib1.bibx38 bib1.bibx40 bib1.bibx43 bib1.bibx45" id="paren.28"/>, Bergen (Norway) <xref ref-type="bibr" rid="bib1.bibx10" id="paren.29"/>, or Guelph (Ontario, Canada) <xref ref-type="bibr" rid="bib1.bibx51" id="paren.30"/>. Moreover, a study by <xref ref-type="bibr" rid="bib1.bibx43" id="text.31"/> uses IBC created by PALM-meteo from various regional climate models, including WRF, ICON, and Aladin.</p>
      <p id="d2e426">A methodical approach presented in <xref ref-type="bibr" rid="bib1.bibx40" id="text.32"/> evaluated the PALM model system's performance and sensitivity across a series of different WRF model-derived boundary inputs under distinct meteorological scenarios. The authors demonstrated the microscale model's ability to attenuate the transferred driving data biases and stressed the importance of accuracy and careful selection of the mesoscale forcing. More precisely, the study presents the challenges of obtaining accurate boundary conditions for the microscale PALM model by utilising an ensemble of 16 WRF configurations across four seasons. The results showed that PALM is inherently dependent on the quality of its mesoscale boundary conditions. <xref ref-type="bibr" rid="bib1.bibx40" id="text.33"/> is focused primarily on wind speed in 10 m and air temperature in 2 m, as a typically measured meteorological variables. PALM's high-resolution simulations can partially attenuate errors in wind speed but cannot entirely correct errors in air temperature. Since the experiment established that the mesoscale model is a primary source of bias, the study stresses the need for rigorous evaluation and meticulous construction and selection of boundary conditions to achieve reliable PALM simulations.  Currently, there is no published sensitivity study focused on shortwave and longwave radiation, as well as the effect of various urban parameterisations.</p>
      <p id="d2e435">Thanks to a relatively stable specification of PALM's dynamic driver, there is a high cross-compatibility between dynamic drivers created in PALM-meteo and various PALM versions. In general, new PALM-meteo versions are tested with new PALM versions, and since version 24.04, the PALM model system releases are bundled with up-to-date PALM-meteo versions. However, there is no need to select specific versions of either programs for the purpose of mutual compatibility. During PALM-meteo development, there were only a small number of changes that could cause incompatibility of dynamic drivers from older versions of PALM-meteo when used in newer PALM versions, such as the addition of a compulsory LOD attribute for variables (see also Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS2"/>) or a change in the verification of the <inline-formula><mml:math id="M6" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>-coordinate variable. Therefore, it is recommended to always use the latest version of PALM-meteo.</p>
</sec>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Description of PALM-meteo</title>
      <p id="d2e456">The main goal of PALM-meteo is to convert coarse-resolution atmospheric data onto the PALM model grid (see illustration in Fig. <xref ref-type="fig" rid="F1"/>) and process them into the PALM dynamic driver with IBC and other desired meteorological inputs.</p>

      <fig id="F1" specific-use="star"><label>Figure 1</label><caption><p id="d2e463">Illustration of the downscaling via horizontal and vertical interpolation in a typical PALM toolchain with PALM-meteo. The first step is performed within mesoscale model by transferring data from a global scale model. The second step is carried out in PALM-meteo, where horizontal and vertical interpolation or adaptation are required (illustrated by the white columns and arrows in the second panel). After this processing, part of the red column(s) is prescribed as boundary conditions for the microscale model.</p></caption>
        <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f01.png"/>

      </fig>

      <p id="d2e472">PALM-meteo can take input data from a variety of sources, but the most common scenario is using 3-D outputs from a mesoscale atmospheric model, either from a forecast or from a (re)analysis. In this approach, the subsequent PALM simulation can be viewed as downscaling of the mesoscale model data, although in some cases PALM's static input data (such as buildings or vegetation) may represent a scenario which differs from the reality represented in the mesoscale model.</p>
      <p id="d2e476">In the typical mesoscale nesting scenario, there is a very large gap in horizontal resolutions (typically units of kilometres versus units of metres). This is one of the reasons why such microscale simulations usually apply a temporal spin-up after the initial state, as well as a rather large spatial buffer at the windward side (typically several hundred metres or several kilometres for moderate wind speeds), such that PALM can develop realistic flow with appropriate resolved and subgrid-scale turbulence. To save computational resources, this is in most cases accomplished by having a larger parent domain with coarser resolution into which the fine-scale domain for the area of interest is nested; the nesting may also be multi-level. The Synthetic Turbulence Generator in PALM generates turbulence at the inflow boundary, but it does not alleviate the need for a sufficient buffer area. Having this in mind, PALM-meteo does not perform any specific surface diagnostics beyond the state provided by the input data. In the vertical dimension, where the gap in resolutions is typically much smaller, it uses only interpolation and extrapolation of the input levels; any further refinement is left to the inflow area of the PALM simulation.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>PALM-meteo architecture</title>
      <p id="d2e486">The generation of a dynamic driver proceeds in six <italic>stages</italic>: <list list-type="order"><list-item>
      <p id="d2e494"><monospace>check_config</monospace>: validation of user configuration</p></list-item><list-item>
      <p id="d2e500"><monospace>setup_model</monospace>: set-up of simulation domain projection, geometry, and properties</p></list-item><list-item>
      <p id="d2e506"><monospace>import_data</monospace>: loading of data from input files (such as mesoscale model outputs), including initial data conversions</p></list-item><list-item>
      <p id="d2e512"><monospace>hinterp</monospace>: horizontal interpolation, usually in the form of regridding</p></list-item><list-item>
      <p id="d2e518"><monospace>vinterp</monospace>: vertical adaptation and interpolation</p></list-item><list-item>
      <p id="d2e524"><monospace>write</monospace>: generation of a finalised PALM dynamic driver, post-processing.</p></list-item></list> This order of operations is fixed due to multiple interdependencies. Specifically, performing vertical interpolation after horizontal is required for vertical adaptation to the fine-resolution terrain, see Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS3"/>.</p>
      <p id="d2e532">Due to potentially large amounts of data processed by PALM-meteo, most of the intermediate data is passed from one stage to the next via an intermediate file. This program design has several key advantages. Because each stage can be executed in its entirety, it is possible to stop the process between two stages and continue it later, possibly on a different machine. If a change is induced that affects only some later stages, it is not necessary to re-run the preceding stages. It is also possible to examine the well-defined intermediate results, which, in combination with executing individual stages, greatly help with debugging and parameter tuning. The partially or wholly interpolated values may also be useful in scientific analyses regarding the PALM simulation for which they are prepared.</p>
      <p id="d2e535">This design approach was chosen over an alternative design in which the program would process data in smaller chunks that always fit into memory (such as the values for a single variable and a single time step), continuously from the beginning until they are written to the dynamic driver. Such a design could avoid the intermediate files, thus saving some time and storage space. However, it would also need to reinitialise the processing of each stage for each chunk of data, and it could lead to further complications in cases where there are interactions and dependencies between individual variables (e.g., when they are related to the same physical quantity) or time-steps (e.g., with temporal (dis-)aggregation).</p>
      <p id="d2e542">More details about the architecture and implementation of PALM-meteo are available in the Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/></p>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Common capabilities</title>
      <p id="d2e554">PALM assumes that the IBC are hydrostatic; therefore, it takes pressure only as a time series of values that represent the common hydrostatic pressure at the base model level (<monospace>origin_z</monospace>). For the current input modules that import data from non-hydrostatic models (WRF, ICON, Aladin), the base level pressure is taken from the surface pressure and adjusted using the barometric formula, which assumes the dry adiabatic lapse rate of <inline-formula><mml:math id="M7" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>g</mml:mi><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula>:

            <disp-formula id="Ch1.E1" content-type="numbered"><label>1</label><mml:math id="M8" display="block"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:msup><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle scriptlevel="+1"><mml:mfrac><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:msup></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the input model's surface pressure, <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is air temperature at surface, <inline-formula><mml:math id="M11" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the surface elevation, <inline-formula><mml:math id="M12" display="inline"><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the PALM base level elevation, <inline-formula><mml:math id="M13" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the isobaric heat capacity of air, <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the specific gas constant of (dry) air and <inline-formula><mml:math id="M15" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula> is the acceleration of gravity.</p>
      <p id="d2e720">The base-level pressure is calculated from Eq. (<xref ref-type="disp-formula" rid="Ch1.E1"/>) for each PALM model column and then averaged spatially. The resulting common base level pressure is written in the dynamic driver variable <monospace>surface_forcing_surface_pressure</monospace> (which actually specifies base level pressure, not surface pressure as the name suggests), and it is also used in other PALM-meteo calculations that deal with hydrostatic pressure.</p>
<sec id="Ch1.S2.SS2.SSS1">
  <label>2.2.1</label><title>Forecast cycles</title>
      <p id="d2e735">For most PALM-meteo plugins, the input data comes from either a forecast model or a (re)analysis. In either case, the input data may come from one or more forecast/data assimilation cycles. In the case of a forecast, the data are labelled by their cycle (typically the time of their last analysis) and the time of validity; the forecast horizon is the distance between the cycle and the validity time. For analyses divided into cycles spanning multiple times of validity, we use an equally defined horizon as a purely technical label.</p>
      <p id="d2e738">The user's data archive may contain overlapping forecast/assimilation cycles (i.e., where the horizons are longer than the interval between the cycles). In that case, PALM-meteo allows a versatile selection of input data such that they form a continuous (equidistant) time series. Typical global or mesoscale numerical weather models use either four or eight cycles every day, starting at midnight UTC; the user may select all or a subset of cycles by specifying a regular cycle interval. In addition to that, the earliest usable horizon may be specified in case the early horizons should be disregarded as a model spin-up or stabilisation period.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e743">Example of forecast cycle and horizon selection. The user database contains hourly data from forecast cycles at 00:00, 06:00, 12:00 and 18:00 UTC; each forecast contains 25 h of data (00:00–24:00 UTC). The user selects 06:00 UTC as the reference cycle, 12 h as the cycle interval (thereby skipping cycles 00:00 and 12:00 UTC) and 2 h as the earliest horizon. The times 08:00–19:00 UTC are taken from the forecast cycle at 06:00 UTC of that day, and the times 20:00–07:00 UTC are taken from the forecast cycle at 18:00 UTC. In addition, the data from 20:00 UTC from the cycle 06:00 UTC and 08:00 UTC from the cycle 18:00 UTC are used as the right-hand side of the temporal disaggregation interval.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f02.png"/>

          </fig>

      <p id="d2e753">If the input data contains temporal averages or accumulations that need to be temporally disaggregated for the use in PALM, the disaggregation is only valid between subsequent timesteps of the same cycle. In that case, one further (overlapping) horizon needs to be selected from each cycle to be used as the right-hand side of the disaggregation interval. See Fig. <xref ref-type="fig" rid="F2"/> as an example. Additionally, since the disaggregated values represent the centres of the intervals between timesteps, it is possible to either use one extra timestep before and after the simulation period for the disaggregated values, or to extrapolate these ends if the respective input files are not available.</p>
      <p id="d2e758">Combining data from multiple forecast cycles is favourable for longer simulations, as it uses earlier forecast horizons that have lower forecast errors than later horizons. On the other hand, it may lead to unnatural jumps in the data at the seams between the cycles. For that reason, it may be preferred to use a single forecast cycle for shorter simulations if the available forecast horizons cover the full duration of the PALM simulation. The configuration allows to select a single cycle as an alternative to the cycle interval.</p>
      <p id="d2e761">As a third option, the user may choose to ignore the forecast/assimilation cycle information and use all provided input files, assuming they already form a continuous time series.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS2">
  <label>2.2.2</label><title>LOD=1 conversion</title>
      <p id="d2e772">By default, the initial conditions are provided as a full 3-D field, specified in the dynamic driver by assigning the value 2 to the <monospace>lod</monospace> (level of detail) attribute. PALM also supports 1-D vertical profiles, which are specified as <monospace>lod=1</monospace>. The 1-D profiles may be used for debugging PALM, or if <monospace>lod=2</monospace> leads to unexpected errors. PALM-meteo supports creating these profiles as horizontal averages over the model domain using the <monospace>pt</monospace> (potential temperature), <monospace>qv</monospace> (humidity), and <monospace>uvw</monospace> (wind field) options in the <monospace>output:lod</monospace> configuration section.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS3">
  <label>2.2.3</label><title>Vertical adaptation method</title>
      <p id="d2e806">An important issue when preparing all 3-D fields for IBC is the matching of vertical coordinates. Because the resolution of the PALM model and the resolution of input data (e.g., from a mesoscale model) differ greatly (typically by 3+ orders of magnitude), the representation of terrain height differs as well. Apart from different resolutions, other reasons for the difference in terrain height are different data sources and/or processing methods. Therefore, PALM-meteo needs to match vertical coordinates with a potentially different terrain height. This is done as part of vertical interpolation. In general, there are three possible solutions to match vertical coordinates: <list list-type="order"><list-item>
      <p id="d2e811">Maintain level height (either as hydrostatic pressure or as height above mean sea level – a.m.s.l.), disregarding differences in terrain. This leads to major problems: when the target (PALM) terrain at a specific horizontal point is lower than the terrain in the input data, the values between the two terrain heights need to be extrapolated; in the opposite case, the data between the two terrains are discarded. Any surface-related effects, such as wind drag or strong vertical gradients in temperature and humidity, will be positioned improperly.</p></list-item><list-item>
      <p id="d2e815">Shift data vertically so that terrain height is matched. In other words, maintain the above-ground level (AGL) height in the input data. With this approach, the surface-related effects will be preserved correctly, but the vertical shift will remain constant for all levels. If the vertical gradients in the upper levels for the respective variables are not negligible and the terrain has steep slopes leading to uneven vertical shifts, this translates to strong horizontal gradients in the upper levels of the resulting 3-D field. This can lead to problems in the PALM model, such as the formation of unrealistic gravity waves.</p></list-item><list-item>
      <p id="d2e819">Match the terrain at the lower levels, keep zero or small vertical shifts in the upper levels and stretch or squeeze the levels in between. This approach is used in PALM-meteo under the name <italic>vertical adaptation</italic>.</p></list-item></list></p>
      <p id="d2e825">The vertical adaptation method in PALM-meteo was initially inspired by the hybrid vertical levels in the WRF model. WRF uses either the <italic>sigma</italic> levels, where each level is defined by a constant ratio between the model top pressure and the surface hydrostatic pressure at each grid point, or the <italic>hybrid</italic> levels, which are isobaric above a certain level and gradually transition to terrain-following below that level. For the WRF model, PALM-meteo allows the user to use an analogous method for the vertical adaptation (such as if the terrain in WRF was changed internally to match the PALM terrain). By selecting the adequate choice <monospace>sigma</monospace> or <monospace>hybrid</monospace> for the configuration option <monospace>wrf:vertical_adaptation</monospace>, depending on the WRF setup, PALM-meteo loads the corresponding level metadata from the WRFOUT files and shifts the levels accordingly as part of the <monospace>vinterp</monospace> stage.</p>
      <p id="d2e847">However, these two methods are only applicable to WRF data. In addition to that, both the <monospace>sigma</monospace> and <monospace>hybrid</monospace> methods typically leave too strong horizontal gradients for PALM configurations with resolutions in the order of metres and with coarse terrain. To counter that, a third method called <monospace>universal</monospace> has been implemented. This method uses user-specified <italic>transition level</italic> (configured as <monospace>vinterp:transition_level</monospace>)</p>
      <p id="d2e865">In the next step, the vertical interpolation of the 3-D fields together with terrain matching and vertical adaptation is performed for each PALM grid column linearly on the pressure coordinates, where the shifted pressure <inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">W</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> of WRF level <inline-formula><mml:math id="M17" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> is calculated as

              <disp-formula id="Ch1.E2" content-type="numbered"><label>2</label><mml:math id="M18" display="block"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi>p</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">W</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left left"><mml:mtr><mml:mtd><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">W</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">P</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">W</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>+</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if  </mml:mtext><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">W</mml:mi></mml:msubsup><mml:mo>&gt;</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">W</mml:mi></mml:msubsup><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if  </mml:mtext><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">W</mml:mi></mml:msubsup><mml:mo>≤</mml:mo><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M19" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:msub><mml:mi>l</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">W</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is the original WRF level <inline-formula><mml:math id="M20" display="inline"><mml:mi>n</mml:mi></mml:math></inline-formula> pressure, <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">W</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is the WRF surface pressure, <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">P</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is the pressure corresponding to the PALM terrain and <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:msub><mml:mi>p</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the transition level pressure (the upper stretching limit), which is taken from the average pressure at the configured height above the highest obstacles (terrain, buildings or plant canopy) in the domain. The corresponding option <monospace>transition_level</monospace> has a default value of 300 m, but if the user can assess the height at which the effect of surface friction is no longer apparent in the context of relevant weather and surface roughness, it is recommended to specify this. An example of the universal vertical adaptation method is presented in Fig. <xref ref-type="fig" rid="F3"/>. In this setup for Prague, the transition level was set to 2179 m a.m.s.l., so the WRF layers above that are unchanged and the layers below shift progressively to match the more detailed terrain.</p>

      <fig id="F3" specific-use="star"><label>Figure 3</label><caption><p id="d2e1114">Illustration of the vertical adaptation method: Example scenario of the Vltava river valley in Prague, west–east cross sections with elevations exaggerated. <bold>(a)</bold> Mismatch of the interpolated coarse terrain from the 3 km WRF model and the fine terrain of the PALM model. <bold>(b)</bold> Structure of the individual vertical layers of the WRF model (dashed lines) and the position to which they are shifted by the vertical adaptation method (full lines of the same colour). <bold>(c)</bold> Final vertically interpolated 3-D field (potential temperature) with the overlay of the shifted WRF levels from which the interpolation is performed.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f03.png"/>

          </fig>

</sec>
<sec id="Ch1.S2.SS2.SSS4">
  <label>2.2.4</label><title>Vertical interpolation</title>
      <p id="d2e1140">For large simulations, the vertical interpolation is typically the longest stage of PALM-meteo processing due to the simple fact that it processes the largest amount of data (full 3-D fields on the fine PALM grid). PALM-meteo currently offers three different implementations of the actual vertical interpolation routine, and the user may select the preferred implementation using the configuration option <monospace>vinterp:interpolator</monospace>.</p>
      <p id="d2e1146">The <monospace>metpy</monospace> interpolator is the legacy option which uses the <monospace>interpolate_1d</monospace> function from the MetPy <xref ref-type="bibr" rid="bib1.bibx36" id="paren.34"/> library, which is an optional dependency. In most cases, this is the slowest implementation.</p>
      <p id="d2e1158">The <monospace>prepared</monospace> interpolator is the default option. It is fully implemented in Python (NumPy) within PALM-meteo, and it works in two stages: first, it calculates and stores the interpolation weights based on source and target vertical coordinates, and then it uses these weights to perform the linear interpolation, which is done repeatedly for all fields to which those vertical coordinates apply. This interpolator is typically much faster than <monospace>metpy</monospace>.</p>
      <p id="d2e1167">The <monospace>fortran</monospace> interpolator uses a Fortran routine that needs to be compiled into native code using the <monospace>f2py</monospace> tool, which is shipped with NumPy (a dependency of PALM-meteo). This interpolator is by far the fastest of the three and should be preferred for large scenarios, if possible.</p>
      <p id="d2e1177">For vertical interpolation of the wind components <inline-formula><mml:math id="M24" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M25" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula>, and <inline-formula><mml:math id="M26" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula>, the vertical interpolation is linear by default, which should be sufficient for most scenarios. It is also possible to interpolate between the source model levels using the wind profile power law. This law is normally used for estimating horizontal wind speed at height <inline-formula><mml:math id="M27" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> from the wind speed <inline-formula><mml:math id="M28" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> at the reference height above ground <inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> using the formula

              <disp-formula id="Ch1.E3" content-type="numbered"><label>3</label><mml:math id="M30" display="block"><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:msup><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>z</mml:mi><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mi mathvariant="italic">α</mml:mi></mml:msup><mml:mspace linebreak="nobreak" width="0.33em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e1262">This method may be generalised for interpolation at height <inline-formula><mml:math id="M31" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> between levels <inline-formula><mml:math id="M32" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M33" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> with wind speeds <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> respectively:

              <disp-formula id="Ch1.E4" content-type="numbered"><label>4</label><mml:math id="M36" display="block"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mi mathvariant="italic">α</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mi mathvariant="italic">α</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="italic">α</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mi mathvariant="italic">α</mml:mi></mml:msubsup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></disp-formula>

            which is equivalent to the original formula (<xref ref-type="disp-formula" rid="Ch1.E3"/>) in the case where the bottom level is the ground (<inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>).</p>
      <p id="d2e1415">This method is intended for special cases, such as fine-resolution small-scale scenarios where there are insufficient near-surface vertical levels in the input data. In that case, the user needs to estimate the appropriate value of <inline-formula><mml:math id="M38" display="inline"><mml:mi mathvariant="italic">α</mml:mi></mml:math></inline-formula> (e.g., <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.143</mml:mn></mml:mrow></mml:math></inline-formula>), set the configuration of <monospace>vinterp:wind_power_law</monospace> to that value and check the results for inconsistencies.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS5">
  <label>2.2.5</label><title>Mass balancing</title>
      <p id="d2e1448">When the dynamic driver is created, the cumulative inflow of air mass may not always equal the cumulative outflow for several reasons: <list list-type="order"><list-item>
      <p id="d2e1453">The input data (e.g., from the mesoscale model or manually prescribed profiles) need not be mass-balanced at the selected PALM boundaries, either due to the elasticity of the mesoscale model or due to the nature of the manually prescribed data.</p></list-item><list-item>
      <p id="d2e1457">The vertical adaptation method, if applied, does not guarantee that the balance between inflow and outflow is preserved perfectly.</p></list-item><list-item>
      <p id="d2e1461">A rounding error between the inflow and outflow may have been created with the spatial interpolation and resampling while creating the dynamic driver. For the non-linear air density profile, there is another potential source of discrepancy due to the linear interpolation.</p></list-item><list-item>
      <p id="d2e1465">When PALM applies the boundary conditions from the dynamic driver, another rounding error or non-linear discrepancy may be created due to temporal interpolation.</p></list-item></list></p>
      <p id="d2e1468">There are two available approximation systems for the flow equations in the PALM model. Both of them are incompressible; they do not consider the dynamic change of air density. The <italic>Boussinesq approximation</italic>, which is the default, assumes constant background air density across the whole simulated domain (only the influence mediated by potential temperature is considered). The other option, the <italic>anelastic approximation</italic>, assumes a fixed, horizontally constant air density profile.</p>
      <p id="d2e1477">PALM needs to ensure mass balance at all times. When offline nesting is enabled in PALM, this is performed at each timestep after applying the temporally interpolated boundary conditions by adding or subtracting the residual mass flux in the form of a constant vertical speed difference at the top boundary. This approach is simple, but limiting it to the top boundary means that the applied speed difference may be relatively high if the residual flux is high or if the aspect ratio of the domain is very high.</p>
      <p id="d2e1480">In order to remove most of the residual flux (points 1–3) in advance, PALM-meteo performs mass balancing by default as part of the last step when the dynamic driver file is written. Unlike the balancing method in PALM, this method distributes the residual flux evenly to all five borders. Thanks to the larger total border area, this method leads to smaller added speed differences.</p>
      <p id="d2e1484">The user needs to specify the planned approximation method for the PALM simulation using the configuration option <monospace>simulation:approximation</monospace>. For each of the five boundaries, PALM-meteo calculates the grid cell border area (taking into account the vertical stretching, if configured). At the lateral boundaries, PALM-meteo uses the terrain and building data provided by the static driver setup plugin (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS3.SSS1"/>) to identify the atmospheric (unblocked) border grid cells where the adjustment can be performed.</p>
      <p id="d2e1492">The residual mass flux (positive for inflow, negative for outflow) is calculated as

              <disp-formula id="Ch1.E5" content-type="numbered"><label>5</label><mml:math id="M40" display="block"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>M</mml:mi><mml:mi mathvariant="normal">I</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>B</mml:mi></mml:munder><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:munder><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi mathvariant="normal">I</mml:mi></mml:msubsup><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></disp-formula>

            with the volumetric inflows for the individual grid cell boundaries defined as

              <disp-formula id="Ch1.E6" content-type="numbered"><label>6</label><mml:math id="M41" display="block"><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi mathvariant="normal">I</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mfenced close="" open="{"><mml:mtable class="array" columnalign="left left"><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mi mathvariant="normal">Y</mml:mi></mml:msup><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>A</mml:mi><mml:mrow><mml:mi mathvariant="normal">n</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>B</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if  </mml:mtext><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">n</mml:mi><mml:mtext> (north)</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>A</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>B</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if  </mml:mtext><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">s</mml:mi><mml:mtext> (south)</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:msup><mml:mi>N</mml:mi><mml:mi>X</mml:mi></mml:msup><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>A</mml:mi><mml:mrow><mml:mi mathvariant="normal">e</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>B</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if  </mml:mtext><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">e</mml:mi><mml:mtext> (east)</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>A</mml:mi><mml:mrow><mml:mi mathvariant="normal">w</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>B</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if  </mml:mtext><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">w</mml:mi><mml:mtext> (west)</mml:mtext></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:msup><mml:mi>N</mml:mi><mml:mi>Z</mml:mi></mml:msup></mml:mrow></mml:msub><mml:msubsup><mml:mi>A</mml:mi><mml:mrow><mml:mi mathvariant="normal">t</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>B</mml:mi></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mtext>if  </mml:mtext><mml:mi>B</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="normal">t</mml:mi><mml:mtext> (top)</mml:mtext></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

            where <inline-formula><mml:math id="M42" display="inline"><mml:mrow><mml:mi>B</mml:mi><mml:mo>∈</mml:mo><mml:mo mathvariant="italic">{</mml:mo><mml:mi mathvariant="normal">n</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">s</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">e</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">w</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">t</mml:mi><mml:mo mathvariant="italic">}</mml:mo></mml:mrow></mml:math></inline-formula> identifies the respective lateral or top boundary, <inline-formula><mml:math id="M43" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M44" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula> index the individual grid cells adjacent to that boundary, and <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msubsup><mml:mi>A</mml:mi><mml:mrow><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>B</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is the area of the boundary represented by that grid cell. <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msub><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are the wind components, and the <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:msup><mml:mi>N</mml:mi><mml:mi>X</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:msup><mml:mi>N</mml:mi><mml:mi>Y</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:msup><mml:mi>N</mml:mi><mml:mi>Z</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> are the grid sizes in the respective dimensions. The air density <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is used only in the case of the anelastic approximation.</p>
      <p id="d2e1993">Finally, the wind speed adjustment (positive for inflow), which is added to or subtracted from the corresponding boundary wind speed components as in Eq. (<xref ref-type="disp-formula" rid="Ch1.E6"/>), is calculated as <inline-formula><mml:math id="M53" display="inline"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>M</mml:mi><mml:mi mathvariant="normal">I</mml:mi></mml:msup></mml:mrow><mml:mrow><mml:msup><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:msup><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:math></inline-formula> where <inline-formula><mml:math id="M54" display="inline"><mml:mrow><mml:msup><mml:mi>A</mml:mi><mml:mi>B</mml:mi></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mo>∑</mml:mo><mml:mi>B</mml:mi></mml:msub><mml:msub><mml:mo>∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mi>A</mml:mi><mml:mrow><mml:mi>B</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>B</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> is the total area of all five boundaries.</p>
      <p id="d2e2065">PALM-meteo has the option of verifying the mass balancing by recalculating <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:msup><mml:mi>M</mml:mi><mml:mi mathvariant="normal">I</mml:mi></mml:msup></mml:mrow></mml:math></inline-formula> after its application; this prints a negligible non-zero value, which is the result of floating-point rounding errors.</p>
</sec>
<sec id="Ch1.S2.SS2.SSS6">
  <label>2.2.6</label><title>Gas molar conversions</title>
      <p id="d2e2089">Upon loading the chemical input data, PALM-meteo performs automatic parsing and conversions of the decimal factors of the most commonly used units: ppmV, ppbV and <inline-formula><mml:math id="M56" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">µ</mml:mi></mml:mrow></mml:math></inline-formula>g m<sup>−3</sup>, g m<sup>−3</sup>, kg m<sup>−3</sup>.</p>
      <p id="d2e2136">However, this system is not well-suited for converting between molar fractions or volume concentrations (which PALM's chemistry module expects for gas-phase species) and mass concentrations (which PALM expects for non-gas-phase species, i.e., aerosols). The reason is that upon loading the chemistry input data, the precise air temperature and pressure are not yet known (they may already be loaded, but if they come from a separate meteorological model, they may be on a different grid).</p>
      <p id="d2e2139">This information is available on the PALM grid later in the last workflow stage, after the horizontal and vertical interpolation; therefore, the final unit conversion for chemistry is performed by the standard <monospace>write</monospace> plugin. Each time a quantity is marked as gas-phase (the attribute <monospace>non_gasphase</monospace> is <monospace>false</monospace> or missing) and it is provided as a mass concentration, its configured molar mass is used for conversion at the last stage.</p>
      <p id="d2e2151">Finally, in the very special case where the nitrogen oxide sum (NO<sub><italic>x</italic></sub>) is requested to be calculated as a sum of nitric oxide (NO) and nitrogen dioxide (NO<sub>2</sub>) <italic>and</italic> those quantities are provided as mass concentrations, they need to be converted to volume concentrations using their respective molar masses <italic>before</italic> the summation. In order to achieve that, there is a special option <monospace>postproc:nox_post_sum</monospace> which performs the summation of listed variables after their respective unit conversions.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Currently available modules</title>
<sec id="Ch1.S2.SS3.SSS1">
  <label>2.3.1</label><title>Set-up from static driver</title>
      <p id="d2e2197">This is currently the only way that PALM-meteo can perform the <italic>setup</italic> stage. This module loads a valid PALM static driver (by default taken from its standard PALM input file path) and sets up the following domain properties: <list list-type="bullet"><list-item>
      <p id="d2e2205">horizontal domain structure (placement, geographic projection, and resolution),</p></list-item><list-item>
      <p id="d2e2209">terrain, buildings, and plant canopy if present, also soil moisture adjustment, and</p></list-item><list-item>
      <p id="d2e2213">simulation start time.</p></list-item></list> The vertical structure (size, resolution and optional grid stretching) and simulation length are not present in the static driver according to the PALM input data standard (PIDS), so they are taken from the configuration file. It is expected that an alternative to this module will be added in the future: a simple module which sets up the simulation purely from the configuration file for cases where the static driver is not (yet) available.</p>
      <p id="d2e2217">The specification of buildings in the PALM static driver provides several options, which makes it nontrivial to interpret the building data identically to how the PALM model does that. There are three main NetCDF variables which specify building data:
            <def-list>
              <def-item><term><monospace>building_id</monospace></term><def>

      <p id="d2e2227">is an integer variable which, for each <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:math></inline-formula> coordinate, specifies the ID of the building on that point, thus separating the individual buildings horizontally.</p>
              </def></def-item>
              <def-item><term><monospace>buildings_2d</monospace></term><def>

      <p id="d2e2249">is a real-valued variable which is used to describe buildings in the 2.5-D geometry (without holes or overhangs). For each <inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:math></inline-formula> coordinate, it specifies the building height in metres above terrain.</p>
              </def></def-item>
              <def-item><term><monospace>buildings_3d</monospace></term><def>

      <p id="d2e2271">is used to describe buildings with a full 3-D structure. It is a 3-D boolean variable which, for each <inline-formula><mml:math id="M64" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:math></inline-formula> point, specifies <monospace>true</monospace> if the respective grid cell lies within a building.</p>
              </def></def-item>
            </def-list></p>
      <p id="d2e2295">All buildings in the scenario are described as either 2.5-D or 3-D; if both variables are present, then only <monospace>buildings_3d</monospace> is used.</p>
      <p id="d2e2301">The vertical placement of the buildings is complicated by the fact that both variables specify the building shape with respect to the underlying terrain. The terrain is described as 2.5-D in the real-valued variable <monospace>zt</monospace>, which for each <inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:math></inline-formula> specifies the terrain height in metres relative to <monospace>origin_z</monospace>, therefore PALM needs to discretise the terrain according to the vertical grid spacing <monospace>dz</monospace>. PALM-meteo, as well as any tool which needs to interpret terrain and/or buildings from the static driver, needs to perform identical discretisation to avoid mismatches. The same discretisation applies to the building heights in <monospace>buildings_2d</monospace>, while the heights of the terrain and the building are combined after the discretisation, not before. Finally, it is defined that if not all <inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:math></inline-formula> points in the same building ID have identical terrain height, then the highest of such points determines the vertical placement of the respective building.</p>
      <p id="d2e2342">PALM-meteo carefully replicates the described building placement mechanism from the PALM model in order to identify buildings as obstacles for mass balancing (Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS5"/>) and for the wind damping mechanism (Sect. <xref ref-type="sec" rid="Ch1.S2.SS3.SSS10"/>). If there is a large number of individual buildings, this may slow down processing, as the horizontal grid mask needs to be processed for each building separately.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS2">
  <label>2.3.2</label><title>WRF</title>
      <p id="d2e2357">The WRF model is a state-of-the-art mesoscale numerical weather prediction system designed for both atmospheric research and operational forecasting applications. It features two dynamical cores, a data assimilation system, and a software architecture supporting parallel computation and system extensibility. The model serves a wide range of meteorological applications across scales from tens of meters to thousands of kilometres. The WRF development began in the latter 1990s as a collaborative partnership of the National Center for Atmospheric Research (NCAR), the National Oceanic and Atmospheric Administration (represented by the National Centers for Environmental Prediction (NCEP) and the Earth System Research Laboratory), the U.S. Air Force, the Naval Research Laboratory, the University of Oklahoma, and the Federal Aviation Administration (FAA). Nowadays, the WRF model is probably the most used model among scientists worldwide.</p>
      <p id="d2e2360">This was the first input module for PALM-meteo, created as a rewrite of the older WRF_interface tool, providing a full-featured replacement for the now-deprecated tool.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS3">
  <label>2.3.3</label><title>LCC projection in WRF</title>
      <p id="d2e2371">The recommended grid projection for using the WRF-ARW model in mid-latitudes is the <italic>Lambert conformal conic</italic> (LCC) projection. However, for the LCC projection, WRF does not use the standard WGS84 ellipsoid with <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:mi>a</mml:mi><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">6378.1</mml:mn></mml:mrow></mml:math></inline-formula> km and <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:mi>b</mml:mi><mml:mo>≈</mml:mo><mml:mn mathvariant="normal">6356.8</mml:mn></mml:mrow></mml:math></inline-formula> km, but rather a computationally simpler sphere with <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6370</mml:mn></mml:mrow></mml:math></inline-formula> km <xref ref-type="bibr" rid="bib1.bibx47" id="paren.35"/>. In addition, when the WRF inputs are prepared using the built-in WRF Preprocessing System (WPS), any WGS-84 georeferenced input data are used directly as if they were referenced in the spherical coordinates, bypassing the conversion of geodetic latitude.</p>
      <p id="d2e2416">This approach is acceptable as long as the WRF outputs are treated in the same way – the <monospace>XLAT</monospace> and <monospace>XLONG</monospace> fields in the WRFOUT files do match the placement of the model grid. However, if somebody uses the LCC projection parameters from WRF to define the projection and then transforms the coordinates using a library that performs geodetic latitude conversion, such as the PROJ.4 library <xref ref-type="bibr" rid="bib1.bibx39" id="paren.36"/>, this leads to errors in latitude in the order of tens of kilometres. To avoid these errors, the conversion must not be done between the WRF LCC projection and the WGS84 (EPSG:4326) coordinates, but rather between the WRF LCC projection and the corresponding spherical coordinates. PALM-meteo uses this method to avoid the errors in latitudes. In addition, it allows to verify the projection parameters using the <monospace>hinterp:validate</monospace> option, available for all PALM-meteo input plugins.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS4">
  <label>2.3.4</label><title>WRF radiation</title>
      <p id="d2e2439">The WRF radiation plugin imports radiation data from the specified WRF output files. These may or may not be the same WRFOUT files used for atmospheric variables. If the main output file interval is 1 h, it is recommended to configure WRF to produce the AUXHIST files with radiation variables in a finer temporal resolution (e.g., 10 min).</p>
      <p id="d2e2442">There are multiple optional radiation modules in WRF, and some of these produce radiation outputs in different variables, so the variable names in PALM-meteo are configurable. The WRF files need to contain shortwave and longwave horizontal irradiance (marked in WRF as downward radiation) and, optionally, the diffuse component of the shortwave horizontal irradiance. If this component is not present, it is skipped from the dynamic driver, and the PALM radiation module uses its internal estimation of the direct/diffuse ratio.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS5">
  <label>2.3.5</label><title>ICON</title>
      <p id="d2e2454">The ICON (ICOsahedral Nonhydrostatic) modelling framework <xref ref-type="bibr" rid="bib1.bibx58" id="paren.37"/> is a joint project of Deutscher Wetterdienst (DWD), Max-Planck-Institute for Meteorology (MPI-M), the German Climate Computing Center (DKRZ), the Karlsruhe Institute of Technology (KIT) and the Center for Climate Systems Modeling (C2SM) for developing a unified next-generation global numerical weather prediction and climate modelling system. ICON represents a flexible, scalable, high-performance modelling framework for weather, climate and environmental prediction. Its results provide actionable information for experts and wider society, and advance understanding of the Earth's climate system.</p>
      <p id="d2e2460">The ICON modelling framework offers a wide range of applications across all temporal and spatial scales. ICON can be used for global and regional numerical weather prediction as well as for global and regional climate simulations.</p>
      <p id="d2e2463">The ICON model utilises an icosahedral-triangular grid for its geographical projection rather than a traditional latitude-longitude grid. This grid is constructed by successively dividing the faces of an icosahedron, resulting in a mesh of triangular elements. The grid generation starts with an icosahedron inscribed in the sphere. Connecting the 12 vertices of the icosahedron with geodesic lines yields 20 equilateral spherical triangles with an edge length of about 7054 km. Iterative subdivision (e.g., bisection or trisection) of the triangle edges then yields a model grid with the desired spatial resolution. The effective mesh size of the model grid is defined as the square root of the mean area of the spherical triangles. In the current operational version, the global ICON grid has 2 949 120 triangles, corresponding to an average area of 173 km<sup>2</sup> and thus to an effective mesh size of about 13 km. All scalar prognostic model variables (e.g., temperature, density, moisture quantities) are located in the circumcenter of the triangles, whereas the edge-normal wind components are located in the edge midpoints.</p>
      <p id="d2e2475">The most important ICON prognostic variables are air density and virtual potential temperature (which allows diagnosing the pressure), horizontal and vertical wind speed, humidity, cloud water, cloud ice, rain, and snow. These variables are calculated for all grid cells at 90 terrain-following model levels extending from the surface to a height of 75 km, yielding a total of about 265 million grid points. Over land, additional prognostic equations are solved for soil temperature and soil water content for 7 soil levels.</p>
      <p id="d2e2479">PALM-meteo uses NetCDF files for the ICON input data. These can be provided directly by the PAMORE (PArallel MOdel data REtrieve from Oracle databases) <xref ref-type="bibr" rid="bib1.bibx7" id="paren.38"/> service, or they can be obtained by converting the ICON GRIB files to NetCDF using Climate Data Operators <xref ref-type="bibr" rid="bib1.bibx35" id="paren.39"><named-content content-type="pre">CDO;</named-content></xref>.</p>
      <p id="d2e2490">For horizontal interpolation, PALM-meteo first performs Delaunay triangulation of the ICON grid points using the SciPy library <xref ref-type="bibr" rid="bib1.bibx49" id="paren.40"/>, which itself uses the implementation from the QHull library <xref ref-type="bibr" rid="bib1.bibx3" id="paren.41"/>. Then it calculates the barycentric coordinates of the PALM grid points within each triangle and uses them as interpolation weights, as demonstrated in Fig. <xref ref-type="fig" rid="F4"/>. This method is part of the PALM-meteo plugin library and is usable with any input grid described solely by the geographical coordinates of each grid point, including unstructured grids.</p>

      <fig id="F4"><label>Figure 4</label><caption><p id="d2e2503">Demonstration of the barycentric horizontal interpolation for ICON-D2 data on the Legerova scenario (8 <inline-formula><mml:math id="M71" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 8 km from resolution approx. 2 km into 10 m; see Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>). The black lines represent the triangulation of the source data points (black dots), and the fill is the interpolated field (near-surface potential air temperature). Note that the source data points are in a hexagonal pattern (the hexagons are accentuated with thicker lines), yet not perfectly regular (due to the projection of the icosahedral global grid); therefore, the triangulation of the individual hexagons is also irregular.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f04.png"/>

          </fig>

      <p id="d2e2521">The DWD maintains an archive of ICON model data with multiple datasets from the ICON model analyses and forecasts. These datasets vary in the model variables they include and the duration for which they are kept in the archive. PALM-meteo can be used with both analysis and forecast data, but some DWD datasets do not contain all the variables required for PALM, such as the vertical velocity component.</p>
      <p id="d2e2524">The ICON variables, which remain constant for the duration of one forecast (one assimilation cycle), such as the vertical structure of the model levels, are included only in the first file for each forecast. PALM-meteo can be configured to generate a dynamic driver which spans multiple ICON forecasts as described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS1"/>; in that case, it always loads the model level heights from the first (zero-horizon) file of each cycle, even if the specified earliest horizon is higher (i.e., the file is disregarded for other data).</p>
      <p id="d2e2530">Generating radiation inputs for PALM requires at least the shortwave and longwave horizontal irradiance, with an optional direct component for the shortwave irradiance. Unfortunately, most ICON outputs available from the DWD archive using PAMORE lack the downward longwave radiation, with only the net radiation available. Because the net radiation <inline-formula><mml:math id="M72" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Φ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the received (downward) radiant flux and <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the leaving (upward) flux, PALM-meteo uses the Stefan–Boltzmann law to calculate the downward flux:

              <disp-formula id="Ch1.E7" content-type="numbered"><label>7</label><mml:math id="M75" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="normal">Φ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>J</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="normal">Φ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ε</mml:mi><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ε</mml:mi><mml:mi mathvariant="italic">σ</mml:mi><mml:msup><mml:mi>T</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Φ</mml:mi><mml:mi mathvariant="normal">d</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi mathvariant="italic">ε</mml:mi><mml:mi mathvariant="italic">σ</mml:mi><mml:msup><mml:mi>T</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msup></mml:mrow><mml:mi mathvariant="italic">ε</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

            where <inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">a</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the absorbed flux, <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mi mathvariant="normal">r</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the reflected flux, <inline-formula><mml:math id="M78" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the emitted flux, <inline-formula><mml:math id="M79" display="inline"><mml:mi mathvariant="italic">ε</mml:mi></mml:math></inline-formula> is the surface emissivity, <inline-formula><mml:math id="M80" display="inline"><mml:mi>T</mml:mi></mml:math></inline-formula> is the surface temperature and <inline-formula><mml:math id="M81" display="inline"><mml:mi mathvariant="italic">σ</mml:mi></mml:math></inline-formula> is the Stefan–Boltzmann constant. All fluxes refer to the longwave band. The surface emissivity for each grid point in the ICON model is constant in time unless that area has snow cover (which is currently unsupported by PALM-meteo). It needs to be loaded from a separate file containing the static model fields.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS6">
  <label>2.3.6</label><title>Aladin</title>
      <p id="d2e2785">The Aladin (Aire Limitée Adaptation dynamique Développement InterNational) model was proposed by Météo-France in 1990 to build a mutually beneficial collaboration with the National Meteorological Services of Central and Eastern Europe. This collaboration results in Aladin running in operational mode in the Czech Hydrometeorological Institute (CHMI) and providing 3 d forecasts for a large part of Europe. The model assumes that the important meteorological events at those fine scales (local winds, breezes, thunderstorm lines, …) are mainly the result of a so-called “dynamical” adaptation to the characteristics of the Earth's surface. The model running at CHMI has a spatial resolution of 2.3 km in 87 vertical layers, coupling global models ARPEGE (Météo-France) and European Centre for Medium-Range Weather Forecasts' (ECMWF) Integrated Forecasting System (IFS). Since 2025, its results have been publicly available on the server <uri>https://opendata.chmi.cz</uri> (last access: 28 April 2026) with the metadata integrated within the National Open Data Catalogue <xref ref-type="bibr" rid="bib1.bibx8" id="paren.42"><named-content content-type="pre">NKOD;</named-content></xref> and the geospatial data in the Czech National Geoportal INSPIRE (<uri>https://geoportal.gov.cz</uri>, last access: 28 April 2026).</p>
      <p id="d2e2799">The ALADIN plugin supports input files in the GRIB and GRIB2 formats. It was implemented with an extra data import step at the beginning, which converts the data into a temporary NetCDF file, which can save time when multiple datasets are prepared from the same inputs. In the future, this extra step will be eliminated.</p>
      <p id="d2e2802">The Aladin data from CHMI are provided on a regular grid in the LCC projection. PALM-meteo uses bilinear horizontal interpolation and supports also radiation inputs, including the direct component of the shortwave radiation. However, as these inputs are provided only at 1 h temporal resolution, the PALM simulations need to be monitored for artefacts related to the direct radiation near the horizon around sunrise and sunset.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS7">
  <label>2.3.7</label><title>CAMx</title>
      <p id="d2e2813">The CAMx plugin provides chemistry inputs from the CAMx chemical transport model. CAMx (Comprehensive Air Quality Model with Extensions) is a widely used Eulerian photochemical modelling system for gas and particulate air pollution. It allows for an integrated assessment of gaseous and particulate air pollution across many scales, from urban to regional. It has been developed since 1996 by Environ (currently part of the Ramboll company) under an open-source licence and has been employed extensively by government agencies, academic and research institutions, and private consultants for regulatory assessments and scientific research.</p>
      <p id="d2e2816">The CAMx model takes meteorological data from a meteorological model (e.g., WRF) and emission inputs provided by an emission modelling system (e.g., SMOKE or FUME) and provides fields of pollutant concentrations.</p>
      <p id="d2e2819">When the CAMx data is used in PALM-meteo, no assumptions are made about the relation between the meteorological and chemical inputs for PALM-meteo; therefore, PALM-meteo also supports the case where the CAMx model simulation was based on different meteorological inputs, and consequently on a different model grid. Still, if the configuration option <monospace>camx:uses_wrf_lambert_grid</monospace> is enabled, PALM-meteo assumes that the CAMx data are placed on a grid using the LCC projection from WRF (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS3.SSS2"/> and interprets the projection metadata accordingly. In that case, it uses bilinear horizontal interpolation. If the option is disabled, PALM-meteo cannot make any assumptions about the model grid and the projection on which it is based, so it uses the <monospace>latitude</monospace> and <monospace>longitude</monospace> NetCDF variables for georeferencing input data, and it performs the barycentric interpolation on a triangulated grid as in ICON (Sect. <xref ref-type="sec" rid="Ch1.S2.SS3.SSS5"/>).</p>
      <p id="d2e2835">The PALM chemistry module takes advantage of the Kinetic PreProcessor <xref ref-type="bibr" rid="bib1.bibx5" id="paren.43"><named-content content-type="pre">KPP; see</named-content></xref>, which offers multiple chemistry mechanisms with flexible configuration. As a result of that, the potential sets of IBC variables with chemistry species concentrations may be very different depending on the PALM KPP configuration, starting from simple passive tracer simulations with, e.g., aerosols (PM<sub>10</sub>, PM<sub>2.5</sub>) and/or typical pollutants (NO<sub><italic>x</italic></sub>, SO<sub>2</sub>) through mechanisms with simplified basic chemistry to very complex chemical mechanisms with tens of species, such as Carbon Bond 4 <xref ref-type="bibr" rid="bib1.bibx17" id="paren.44"><named-content content-type="pre">CB4; see</named-content></xref>.</p>
      <p id="d2e2886">The global or mesoscale chemical transport models may not always provide the exact set of concentration variables needed for PALM; often, it may be necessary to perform simple calculations such as unit conversions, summing up of species (e.g., NO<sub><italic>x</italic></sub> from NO<sub>2</sub> <inline-formula><mml:math id="M88" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> NO<sub>3</sub>) or splitting by a ratio. PALM-meteo offers a flexible configuration system to specify chemical IBC species and to perform these calculations when required.</p>
      <p id="d2e2923">The main configuration for this purpose is the list of output chemical variables (empty by default when chemistry is disabled). Each output variable needs to have a definition with the list of input variables, the formula for calculating the output value from the input values, the output unit of the calculated value, and an optional list of assertions to be checked with the input variables. If the formulae for multiple variables contain an identical term, it is possible to configure it as a preprocessed value to avoid its repeated computation. Such definitions are provided for some commonly used chemical mechanisms (36 commonly used chemical species), but these can be easily extended and/or overwritten by the user. In addition to that, simple unit conversions are handled automatically as described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS6"/>.</p>
      <p id="d2e2928">This configuration mechanism, which utilises different lists of predefined variables, is employed in all chemical plugins within PALM-meteo.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS8">
  <label>2.3.8</label><title>CAMS</title>
      <p id="d2e2939">Copernicus Atmosphere Monitoring Service (CAMS), and its implementation in the ECMWF's IFS, provides operational daily analysis and forecast of aerosol optical depth (AOD) for five aerosol species using an online integrated module for aerosol and chemistry coupled to IFS (C-IFS). A fully prognostic aerosol model has a significant impact on weather forecasts in cases of large aerosol concentrations, as observed during dust storms or intense pollution events.</p>
      <p id="d2e2942">The CAMS reanalysis datasets include: (i) the CAMS global reanalysis (EAC4), which currently covers the period from January 2003 to December 2024; (ii) and CAMS global greenhouse gas reanalysis (EGG4), which currently covers the period 2003–2020.</p>
      <p id="d2e2945">The CAMS reanalysis is the latest global reanalysis data set of atmospheric composition (AC) produced by the Copernicus Atmosphere Monitoring Service, consisting of 3-dimensional time-consistent AC fields, including aerosols, chemical species and greenhouse gases, through the separate CAMS global greenhouse gas reanalysis (EGG4). The data set builds on the experience gained during the production of the earlier MACC reanalysis and CAMS interim reanalysis.</p>
      <p id="d2e2948">The CAMS reanalysis was produced using 4DVar data assimilation in CY42R1 of ECMWF's IFS, with 60 hybrid sigma/pressure (model) levels in the vertical, with the top level at 0.1 hPa. Atmospheric data are available on these levels, and they are also interpolated to 25 pressure, 10 potential temperature and 1 potential vorticity level(s). “Surface or single-level” data are also available. Generally, the data are available at a sub-daily and monthly frequency and consist of analyses and 48 h forecasts, initialised daily from analyses at 00:00 UTC.</p>
      <p id="d2e2952">PALM-meteo supports CAMS outputs in the NetCDF format with the regular latitude–longitude grid (equirectangular projection). The mechanism for species calculations and unit conversions, as described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS3.SSS7"/>, is also used. The configuration is available for NO, NO<sub>2</sub>, O<sub>3</sub>, PM<sub>10</sub> and PM<sub>2.5</sub> and the postprocessing sum may be used to calculate NO<sub><italic>x</italic></sub>.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS9">
  <label>2.3.9</label><title>Synthetic inputs</title>
      <p id="d2e3011">The synthetic input PALM-meteo plugin differs significantly from the other input plugins as it does not use meteorological data from any specific (mesoscale) model. Its goal is to enable simple and flexible creation of synthetic IBC by specifying vertical profiles and/or timeseries within the PALM-meteo configuration file, taking advantage of other PALM-meteo features, such as the vertical adaptation method (Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS3"/>).</p>
      <p id="d2e3016">Vertical profiles of time-dependent variables can be set in the configuration section <monospace>synthetic:prof_vars</monospace>. A list of vertical profiles for velocity (<inline-formula><mml:math id="M95" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M96" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M97" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula>), potential temperature (<inline-formula><mml:math id="M98" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula>), water vapour mixing ratio (<inline-formula><mml:math id="M99" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula>), soil temperature (<inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi mathvariant="normal">soil</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) and moisture (<inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi mathvariant="normal">soil</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) together with a list of heights for the profiles in meters above <monospace>origin_z</monospace> (or below for soil variables) can be prescribed.</p>
      <p id="d2e3083">Each vertical profile may be listed as constant or as a sequence of profiles with assigned times. In addition, the profiles in the sequence may be repeated and/or permuted by specifying their <monospace>timeseries</monospace> section, which simplifies creation of, e.g., multiple daily cycles.</p>
      <p id="d2e3089">This approach offers a more generic and flexible alternative to prescribing profiles via the PALM's <monospace>PARIN</monospace> (<monospace>_p3d</monospace>) namelist file. It enables time-dependent Dirichlet boundary conditions for all of <inline-formula><mml:math id="M102" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M103" display="inline"><mml:mi>v</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M104" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M105" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M106" display="inline"><mml:mi>q</mml:mi></mml:math></inline-formula> and for the soil variables. Unlike PALM's built-in options <monospace>set_constant_profiles</monospace> and <monospace>set_1d-model_profiles</monospace>, this method offers more precise meteorological inputs, such as prescribing the full potential temperature profile rather than just setting a vertical gradient.</p>
      <p id="d2e3141">As the dynamic driver inputs are hydrostatic, pressure is prescribed as a single value; either for the surface pressure or the sea-level pressure, which is then converted to <monospace>origin_z</monospace>.</p>
      <p id="d2e3147">There is no verification whether the provided input data are physically consistent. Prescribing unrealistic values, such as large negative vertical gradients of <inline-formula><mml:math id="M107" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula>, may lead to unrealistic or even crashed PALM simulations.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS10">
  <label>2.3.10</label><title>Wind damping near walls</title>
      <p id="d2e3166">Because the terrain matching and vertical adaptation method (Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS3"/>) purposely ignores buildings and the mesoscale models in general cannot resolve such fine-scale details, the interpolated wind field for the initial conditions generated by PALM-meteo may contain a wind field that seems to enter and leave solid obstacles, thus creating velocity divergence. This is expected, and PALM solves this in its first timestep; however, it may negatively affect the convergence of the pressure solver, especially when the buildings contain narrow gaps which may not be (entirely) removed by PALM's terrain filtering.</p>
      <p id="d2e3171">PALM-meteo contains a plugin for damping the initial-condition wind near walls in a post-processing step. Depending on the configuration, it zeroes the U, V and W fluxes in one or more grid cells adjacent to the vertical walls and then linearly increases the wind damping factor from zero to one at a configured horizontal distance from the wall, from where onward the wind field remains unchanged. This process does not remove the velocity divergence of the initial wind field, but it has been tested to make the PALM's <monospace>multigrid</monospace> pressure solver converge faster.</p>
</sec>
<sec id="Ch1.S2.SS3.SSS11">
  <label>2.3.11</label><title>Vertical profile plotting</title>
      <p id="d2e3186">The plotting plugin generates graphical plots of any output variables (by default the wind speed <inline-formula><mml:math id="M108" display="inline"><mml:mo>+</mml:mo></mml:math></inline-formula> direction, potential temperature, and humidity). These plots are generated as heat maps with the <inline-formula><mml:math id="M109" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>-axis representing height (above the origin height) for a selected location (centre of domain by default), the <inline-formula><mml:math id="M110" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>-axis representing time and the colour representing the magnitude of the specific variable. They are useful for quick analysis of the meteorological inputs and their suitability for the intended PALM simulation, e.g. the wind speeds at all heights or the diurnal cycle of the convective boundary layer. The plots are generated at the write stage, utilising the full 3-D data for all times from the previous vertical interpolation stage. An example of wind speed and direction is available in Fig. <xref ref-type="fig" rid="F5"/>.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e3214">Example output of the plotting plugin, showing wind speed and direction from the centre of the Legerova scenario (see Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>).</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f05.png"/>

          </fig>

</sec>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Example use cases and performance</title>
      <p id="d2e3235">Since PALM-meteo is an input data processor for the PALM model, it can be evaluated indirectly by validating the result of the prepared PALM simulations and discussing the effect of IBC on the results.</p>
      <p id="d2e3238">PALM-meteo as well as its predecessor WRF_interface have already been used to generate meteorological inputs for PALM validation studies, such as <xref ref-type="bibr" rid="bib1.bibx42 bib1.bibx43" id="text.45"/>. Both studies mention strong dependence of PALM on driving meteorological conditions, where the errors in mescsale weather models used as inputs to PALM's IBC strongly influence the results of PALM simulations. A dedicated study on PALM's sensitivity to IBC using PALM meteo was performed by <xref ref-type="bibr" rid="bib1.bibx40" id="text.46"/>. Section <xref ref-type="sec" rid="Ch1.S1.SS5"/> describes this study and lists other studies using PALM-meteo. We consider these studies to be a sufficient evaluation of the results of PALM-meteo based PALM simulations. Consequently, this paper focuses more on PALM-meteo and its direct outputs.</p>
      <p id="d2e3249">To evaluate the computational requirements of PALM-meteo and to demonstrate its practical usability, two domains have been selected, one in Prague (Czech Republic) and one in Guelph (Canada).</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Legerova (Prague, Czech Republic)</title>
      <p id="d2e3259">Prague is situated mainly on the Vltava River, and the Berounka River flows into the Vltava at the southern city border. Most of the city of Prague is located on the Prague plateau. In the south, the city's territory extends into the Hořovice Uplands, and in the north it extends into the Central Elbe Table lowland. The highest point is on the western border of Prague, at 399 m above sea level. Notable hills in the centre of Prague, rising from the Vltava river level, are Petřín with 327 m and Vítkov with 270 m. The lowest point is the Vltava in Suchdol where it leaves the city, at 172 m. With an elevation range around 230 m, Prague represents a complex urban landscape including steep hills and deep valleys (see Fig. <xref ref-type="fig" rid="F6"/>).</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e3266">Example of the domain centred on Legerova street (Prague, Czech Republic) with a digital elevation model in resolution of 3 km <bold>(a)</bold>, 8 m <bold>(b)</bold> and 2 m <bold>(c)</bold>. The black square represents a parent domain, and the red square the asymmetrically located child domain.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f06.png"/>

        </fig>

      <p id="d2e3284">The parameters of the Legerova simulation domain are listed in Table <xref ref-type="table" rid="T1"/>. The times needed for the full PALM-meteo workflow in the parent domain (which contains both initial and boundary conditions, as opposed to the dynamic driver for the child domain with only initial conditions), running on the Intel Xeon Gold 6242 CPU, are listed in Table <xref ref-type="table" rid="T2"/>. The total processing took 31 min with the <monospace>fortran</monospace> vertical interpolator.</p>

<table-wrap id="T1"><label>Table 1</label><caption><p id="d2e3298">Parameters of the Legerova simulation (parent domain).</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Domain size</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M111" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M112" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M113" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">8000 m</oasis:entry>
         <oasis:entry colname="col3">8000 m</oasis:entry>
         <oasis:entry colname="col4">2760 m</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Grid resolution</oasis:entry>
         <oasis:entry colname="col2">d<inline-formula><mml:math id="M114" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">d<inline-formula><mml:math id="M115" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">d<inline-formula><mml:math id="M116" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">10 m</oasis:entry>
         <oasis:entry colname="col3">10 m</oasis:entry>
         <oasis:entry colname="col4">10–20 m</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Grid size</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">800</oasis:entry>
         <oasis:entry colname="col3">800</oasis:entry>
         <oasis:entry colname="col4">160</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Number of</oasis:entry>
         <oasis:entry colname="col2">Total</oasis:entry>
         <oasis:entry colname="col3">Horizontal</oasis:entry>
         <oasis:entry colname="col4">Lateral</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">grid points</oasis:entry>
         <oasis:entry colname="col2">(3-D)</oasis:entry>
         <oasis:entry colname="col3">(top boundary)</oasis:entry>
         <oasis:entry colname="col4">boundaries</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">102 400 000</oasis:entry>
         <oasis:entry colname="col3">640 000</oasis:entry>
         <oasis:entry colname="col4">512 000</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Individual</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">33 807 </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">buildings</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Period (UTC)</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">12 February 2023 18:00:00 to </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry namest="col2" nameend="col4" align="center">14 February 2023 00:00:00 </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Timesteps</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">31 (step <inline-formula><mml:math id="M120" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 h) </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Dynamic driver</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">ICON meteorological IBC </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">items</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">ICON radiation </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry namest="col2" nameend="col4" align="center">CAMS chemical IBC </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Chemical species</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">NO, NO<sub>2</sub>, NO<sub><italic>x</italic></sub>, O<sub>3</sub>, PM<sub>10</sub>, PM<sub>2.5</sub></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T2"><label>Table 2</label><caption><p id="d2e3643">Performance of PALM-meteo on the Legerova parent domain.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Workflow</oasis:entry>
         <oasis:entry colname="col2">Variant</oasis:entry>
         <oasis:entry colname="col3">Duration</oasis:entry>
         <oasis:entry colname="col4">Output</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">stage</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">(HH:)MM:SS</oasis:entry>
         <oasis:entry colname="col4">size</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">setup_model</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">3:03</oasis:entry>
         <oasis:entry colname="col4">(metadata)</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">import_data</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">3:03</oasis:entry>
         <oasis:entry colname="col4">30 MiB</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">hinterp</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">5:12</oasis:entry>
         <oasis:entry colname="col4">40 GiB</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">vinterp</oasis:entry>
         <oasis:entry colname="col2">fortran</oasis:entry>
         <oasis:entry colname="col3">15:25</oasis:entry>
         <oasis:entry colname="col4">120 GiB</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">prepared</oasis:entry>
         <oasis:entry colname="col3">32:23</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">metpy</oasis:entry>
         <oasis:entry colname="col3">1:06:52</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">write</oasis:entry>
         <oasis:entry colname="col2"/>
         <oasis:entry colname="col3">3:51</oasis:entry>
         <oasis:entry colname="col4">3.5 GiB</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e3793">An example of the wind component perpendicular to the domain border processed from meteorological data provided by three different mesoscale models is shown in Fig. <xref ref-type="fig" rid="F7"/>.</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e3800">Example of the <inline-formula><mml:math id="M126" display="inline"><mml:mi>u</mml:mi></mml:math></inline-formula> component of wind on the Eastern boundary of the Legerova domain (Prague, Czech Republic) processed from Aladin <bold>(a)</bold>, ICON <bold>(b)</bold>, and WRF <bold>(c)</bold> meteorological models on 13 February 2023 at 09:00 UTC.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f07.png"/>

        </fig>

      <fig id="F8" specific-use="star"><label>Figure 8</label><caption><p id="d2e3828">Comparison of vertical cross-section of potential temperature from the original WRF data <bold>(a)</bold>, vertically adapted PALM-meteo outputs <bold>(b)</bold> and the outputs from a PALM simulation driven by those IBC <bold>(c)</bold>. The PALM simulation started 15 h prior to the displayed time. The position and time of the cross-section matches Fig. <xref ref-type="fig" rid="F3"/> in Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS3"/>.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f08.png"/>

        </fig>

      <p id="d2e3850">Figure <xref ref-type="fig" rid="F8"/> illustrates the processing from a different point of view. It compares the potential temperature from the original WRF outputs, the same values vertically adapted by PALM-meteo to match the terrain (see also Sect. <xref ref-type="sec" rid="Ch1.S2.SS2.SSS3"/>) and the values from the actual PALM simulation which was driven by those meteorological inputs.</p>
      <p id="d2e3857">This sequence demonstrates that the original vertical levels from WRF were based on a coarse terrain that was inconsistent with the high resolution terrain in PALM, so they needed to be adapted by PALM-meteo. In this case, the adaptation was configured with the transition level 2000 m above <monospace>origin_z</monospace>. The vertical shifts are still apparent around 1300 m a.m.s.l., yet the PALM simulation driven by these inputs maintains relatively flat layers of potential temperature above approximately 1000 m. The current version of PALM-meteo has the default transition level set to 300 m above the highest obstacles, which further decreases the vertical propagation of the terrain following structures.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Guelph (Ontario, Canada)</title>
      <p id="d2e3873">Guelph is situated above the confluence of the Speed River and the Eramosa River. The Speed River enters from the north and the Eramosa River from the east; the two rivers meet below downtown and continue southwest, where they merge with the Grand River (Ontario). The landscape was heavily sculpted by glaciers, and the terrain is mostly flat, with old river mounds. The mean elevation is 33 m, and the difference between the lowest and highest point is less than 50 m. The Guelph terrain elevation in different domains of different resolutions is shown in Fig. <xref ref-type="fig" rid="F9"/>.</p>

      <fig id="F9" specific-use="star"><label>Figure 9</label><caption><p id="d2e3880">Example of the asymmetrically located domain centred on campus of the University of Guelph (Ontario, Canada) with a digital elevation model in resolution of 3 km <bold>(a)</bold>, 8 m <bold>(b)</bold> and 1 m <bold>(c)</bold>. The black square represents a parent domain, and the red square the asymmetrically located child domain.</p></caption>
          <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f09.png"/>

        </fig>

      <p id="d2e3898">The parameters of the Guelph simulation domain are listed in Table <xref ref-type="table" rid="T3"/>. The times needed for the full PALM-meteo workflow in the parent domain, running on the Intel Xeon Gold 6242 CPU, are listed in Table <xref ref-type="table" rid="T4"/>. Since the domain is a lot smaller than the Legerova domain and there are no chemical variables, the total processing took only 1 min 49 s. This processing used only the preferred <monospace>fortran</monospace> vertical interpolator.</p>

<table-wrap id="T3"><label>Table 3</label><caption><p id="d2e3912">Parameters of the Guelph simulation (parent domain).</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="4">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Domain size</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M127" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M128" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M129" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">1200 m</oasis:entry>
         <oasis:entry colname="col3">1200 m</oasis:entry>
         <oasis:entry colname="col4">640 m</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Grid resolution</oasis:entry>
         <oasis:entry colname="col2">d<inline-formula><mml:math id="M130" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">d<inline-formula><mml:math id="M131" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">d<inline-formula><mml:math id="M132" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">4 m</oasis:entry>
         <oasis:entry colname="col3">4 m</oasis:entry>
         <oasis:entry colname="col4">4 m</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Grid size</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:mi>n</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">300</oasis:entry>
         <oasis:entry colname="col3">300</oasis:entry>
         <oasis:entry colname="col4">160</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Number of</oasis:entry>
         <oasis:entry colname="col2">Total</oasis:entry>
         <oasis:entry colname="col3">Horizontal</oasis:entry>
         <oasis:entry colname="col4">Lateral</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">grid points</oasis:entry>
         <oasis:entry colname="col2">(3-D)</oasis:entry>
         <oasis:entry colname="col3">(top boundary)</oasis:entry>
         <oasis:entry colname="col4">boundaries</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">14 400 000</oasis:entry>
         <oasis:entry colname="col3">90 000</oasis:entry>
         <oasis:entry colname="col4">192 000</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Individual</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">178 </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">buildings</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Period (UTC)</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">5 June 2021 0:00:00 to </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry namest="col2" nameend="col4" align="center">6 June 2021 00:00:00 </oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Timesteps</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">25 (step <inline-formula><mml:math id="M136" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 1 h) </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Dynamic driver</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">WRF meteorological IBC </oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">items</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center">WRF radiation (10 min) </oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T4"><label>Table 4</label><caption><p id="d2e4196">Performance of PALM-meteo on the Guelph parent domain.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1">Workflow</oasis:entry>
         <oasis:entry colname="col2">Duration</oasis:entry>
         <oasis:entry colname="col3">Output</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">stage</oasis:entry>
         <oasis:entry colname="col2">MM:SS</oasis:entry>
         <oasis:entry colname="col3">size</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">setup_model</oasis:entry>
         <oasis:entry colname="col2">0:00</oasis:entry>
         <oasis:entry colname="col3">(metadata)</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">import_data</oasis:entry>
         <oasis:entry colname="col2">0:11</oasis:entry>
         <oasis:entry colname="col3">448 kiB</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">hinterp</oasis:entry>
         <oasis:entry colname="col2">0:46</oasis:entry>
         <oasis:entry colname="col3">3.8 GiB</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">vinterp</oasis:entry>
         <oasis:entry colname="col2">0:47</oasis:entry>
         <oasis:entry colname="col3">6.8 GiB</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">write</oasis:entry>
         <oasis:entry colname="col2">0:05</oasis:entry>
         <oasis:entry colname="col3">411 MiB</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</sec>
</sec>
<sec id="Ch1.S4" sec-type="conclusions">
  <label>4</label><title>Conclusions and further work</title>
      <p id="d2e4311">This paper thoroughly describes the PALM-meteo tool, its architecture, and its applicability for preparing meteorological inputs for the PALM model, together with example applications.</p>
      <p id="d2e4314">PALM-meteo significantly extends the scope of usable meteorological inputs for the PALM model. Its focus on flexibility, modularity and extensibility, together with decent performance, allows it to be continuously improved and thoroughly verified at each stage of its processing. Its applicability for realistic PALM simulations has already been demonstrated by previously published studies mentioned in Sect. <xref ref-type="sec" rid="Ch1.S1.SS5"/>.</p>
      <p id="d2e4319">PALM-meteo continues to be under active development, with new plugins being added and the program core and currently available modules being improved and optimised.</p>
      <p id="d2e4322">New plugins are currently being developed for the ALARO, HARMONIE and WRF-Chem models. Further plugins are currently being considered for the GFS model outputs and ERA reanalyses. There is also an ongoing general effort towards further deduplication and modularisation of tasks within the current plugins.</p>
</sec>

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

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>PALM-meteo implementation</title>
<sec id="App1.Ch1.S1.SS1">
  <label>A1</label><title>Plugin system</title>
      <p id="d2e4344">PALM-meteo is designed from the ground up to be modular and extensible, so that adding plugins that support new input formats and data sources is as easy as possible.</p>
      <p id="d2e4347">The core of the program resides in the Python module <monospace>palmmeteo</monospace>. The basic set of plugins provided with PALM-meteo is packaged in the module <monospace>palmmeteo_stdplugins</monospace>. User-supplied plugins are expected to be placed in modules whose names start with the prefix <monospace>palmmeteo_</monospace>. Each plugin – standard or user-supplied – can implement one or more stages (see Sect. <xref ref-type="sec" rid="Ch1.S2.SS1"/>). This is done by implementing a class derived from <monospace>palmmeteo.plugins.Plugin</monospace> and the respective abstract base classes, such as <monospace>palmmeteo.plugins.ImportPluginMixin</monospace>, or alternatively by using the function decorator <monospace>palmmeteo.plugins.eventhandler</monospace>.</p>
</sec>
<sec id="App1.Ch1.S1.SS2">
  <label>A2</label><title>Configuration system</title>
      <p id="d2e4379">The configuration of PALM-meteo is represented as a tree-like structure where internal nodes are either dictionaries or ordered lists, and the leaf nodes are values of various data types. This is a common structure which matches, e.g., JSON or YAML files.</p>
      <p id="d2e4382">Although it is possible to run PALM-meteo with only a few lines of configuration (keeping defaults for the rest), the full documentation tree contains a variety of values ranging from mandatory user-specified configuration to the programmer-specified constants, with a marginal chance of ever having to be altered. PALM-meteo does not draw a strict boundary between beginner-, advanced- or programmer-specific configuration. The user-facing options are well documented, and an example of their usage is provided in the template configuration file. Advanced users or programmers, and debuggers may also alter the non-documented configuration options; it is their responsibility to edit only the values they fully understand.</p>
<sec id="App1.Ch1.S1.SS2.SSS1">
  <label>A2.1</label><title>Tasks</title>
      <p id="d2e4392">To make the basic configuration easier, PALM-meteo uses large chunks of configuration called <italic>tasks</italic>. A single configured job for PALM-meteo may contain one or more tasks, each of which enables a logical, mostly self-contained chunk of processing, such as taking meteorological inputs from a specific mesoscale model. A single task typically enables one or more plugins and sets the related initial configuration, which can be further modified by the user's config file(s).</p>

      <fig id="FA1" specific-use="star"><label>Figure A1</label><caption><p id="d2e4400">A flowchart of processing of an example PALM-meteo scenario with multiple plugins for meteorological and chemical IBC, including radiative forcing.</p></caption>
            <graphic xlink:href="https://gmd.copernicus.org/articles/19/4071/2026/gmd-19-4071-2026-f10.png"/>

          </fig>

      <p id="d2e4409">The current version of PALM-meteo contains these tasks:
            <def-list>
              <def-item><term><monospace>wrf</monospace>:</term><def>

      <p id="d2e4420">Loads meteorological inputs from the WRF model.</p>
              </def></def-item>
              <def-item><term><monospace>wrf_rad</monospace>:</term><def>

      <p id="d2e4431">Loads radiation data from the WRF model and includes them in the output dynamic driver. These are independent of the basic meteorological inputs (atmosphere and soil), which may come from a different model.</p>
              </def></def-item>
              <def-item><term><monospace>icon</monospace>:</term><def>

      <p id="d2e4442">Loads meteorological inputs from the ICON model. Radiation data may be included if configured.</p>
              </def></def-item>
              <def-item><term><monospace>aladin</monospace>:</term><def>

      <p id="d2e4453">Loads meteorological inputs from the Aladin model.</p>
              </def></def-item>
              <def-item><term><monospace>aladin_rad</monospace>:</term><def>

      <p id="d2e4464">Loads radiation data from the Aladin model (independent of the basic meteorological inputs).</p>
              </def></def-item>
              <def-item><term><monospace>camx</monospace>:</term><def>

      <p id="d2e4476">Loads chemistry data from the CAMx model.</p>
              </def></def-item>
              <def-item><term><monospace>cams</monospace>:</term><def>

      <p id="d2e4487">Loads chemistry data from the CAMS model.</p>
              </def></def-item>
              <def-item><term><monospace>synthetic</monospace>:</term><def>

      <p id="d2e4498">Specifies basic meteorological inputs using specified constants, profiles and timeseries, so that no mesoscale weather model data are necessary.</p>
              </def></def-item>
              <def-item><term><monospace>winddamp</monospace>:</term><def>

      <p id="d2e4509">Performs damping of the wind (<inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>v</mml:mi><mml:mo>,</mml:mo><mml:mi>w</mml:mi></mml:mrow></mml:math></inline-formula>) near vertical walls in the initial conditions.</p>
              </def></def-item>
              <def-item><term><monospace>plot</monospace>:</term><def>

      <p id="d2e4536">Generates graphical plots of selected output variables.</p>
              </def></def-item>
            </def-list></p>
      <p id="d2e4542">From the configuration point of view, each task specifies a sub-tree which will be applied over the main configuration tree if the specific task is enabled. This is applied after loading the user configuration, and the values which are already specified by the user are not overwritten.</p>
      <p id="d2e4545">An example of a complete processing workflow of a PALM-meteo scenario with multiple plugins is presented in Fig. <xref ref-type="fig" rid="FA1"/>. This scenario used the tasks <monospace>wrf</monospace>, <monospace>wrf_rad</monospace>, <monospace>camx</monospace>, and <monospace>winddamp</monospace>, which enabled the respective plugins in addition to the plugins enabled by default (Static driver, Setup, and Write).</p>
</sec>
<sec id="App1.Ch1.S1.SS2.SSS2">
  <label>A2.2</label><title>Configuration processing</title>
      <p id="d2e4570">PALM-meteo assembles the full documentation tree from several fragments loaded from separate YAML files. The initial default values are loaded from the YAML files shipped with the source code, and the user values from the user-supplied configuration file(s). The configuration is processed in five steps: <list list-type="order"><list-item>
      <p id="d2e4575">Default values for core options from the core configuration default file.</p></list-item><list-item>
      <p id="d2e4579">Default values for plugin-specific options from the plugin configuration default files (overwriting previous values in case of conflict).</p></list-item><list-item>
      <p id="d2e4583">Configuration from the user configuration file is loaded and applied (overwriting defaults). If there is more than one configuration file specified, they are applied in the specified order (overwriting previous values).</p></list-item><list-item>
      <p id="d2e4587">For each enabled task, the configuration sub-tree of that task is applied over the configuration tree (non-overwriting).</p></list-item><list-item>
      <p id="d2e4591">Command-line options are applied to the respective configuration values (overwriting).</p></list-item></list></p>
</sec>
</sec>
</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d2e4601">The current version of PALM-meteo is available from the PALM-meteo GitHub repository at <uri>https://github.com/PALM-tools/palmmeteo</uri> <xref ref-type="bibr" rid="bib1.bibx29" id="paren.47"/> under the GNU GPL3 licence <xref ref-type="bibr" rid="bib1.bibx11" id="paren.48"/>. PALM-meteo is also distributed as part of the PALM model system release at <uri>https://gitlab.palm-model.org/releases/palm_model_system/-/releases</uri> <xref ref-type="bibr" rid="bib1.bibx37" id="paren.49"/>. The exact version of the model used to produce the results used in this paper is archived on the Zenodo repository under DOI at <ext-link xlink:href="https://doi.org/10.5281/zenodo.19088859" ext-link-type="DOI">10.5281/zenodo.19088859</ext-link> <xref ref-type="bibr" rid="bib1.bibx30" id="paren.50"/>, as are input data and scripts to run the model and produce the plots for all the simulations presented in this paper at <ext-link xlink:href="https://doi.org/10.5281/zenodo.16925022" ext-link-type="DOI">10.5281/zenodo.16925022</ext-link> <xref ref-type="bibr" rid="bib1.bibx28" id="paren.51"/>.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e4635">Tool design: PK, JaRe, MiBe, MaBu; Software development: PK, JaRe, MaBu, MiBe; Atmospheric physics expertise: HŘ, MiBe, JaRe, KE; Example simulations: PK, JG, JaRe; Meteorology, WRF: KE; Writing: PK, JG, JeRa, JaRe, HŘ, MiBe; Figures: PK, JG, HŘ; Corrections: PK, JG, JaRe, KE, MiBe. (Authors: PK, MiBe, MaBu, KE, JG, JeRa, HŘ, JaRe.)</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e4641">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="d2e4647">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. The authors bear the ultimate responsibility for providing appropriate place names. 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="d2e4653">The authors of PALM-meteo would like to thank the Deutscher Wetterdienst (DWD), Eckhard Kadasch and Astrid Eichhorn-Müller for their consultation and cooperation on the initial versions of PALM-meteo, before the projects and the contributions were split.</p><p id="d2e4655">They would also like to thank the Czech Hydrometeorological Institute (CHMI) for the provision of the Aladin model outputs and consultation about them.</p><p id="d2e4657">Figure <xref ref-type="fig" rid="F1"/> includes the products of generative AI Midjourney v7 used for the illustration of sizes and resolutions.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e4664">This research has been supported by the HORIZON EUROPE Climate, Energy and Mobility project CARMINE (Climate-Resilient Development Pathways in Metropolitan Regions of Europe, grant no. 101137851, <uri>https://www.carmine-project.eu/</uri>, last access: 28 April 2026), the Czech Ministry of Education, Youth and Sports' Johannes Amos Comenius Programme (OP JAC) project Natural and Anthropogenic Georisks (grant no. CZ.02.01.01/00/22_008/0004605), and the Norway Grants and the Technology Agency of the Czech Republic project TURBAN (TO01000219; TURBAN – Turbulent-resolving urban modelling of air quality and thermal comfort).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

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

      <ref id="bib1.bibx1"><label>Baklanov et al.(2014)</label><mixed-citation>Baklanov, A., Schlünzen, K., Suppan, P., Baldasano, J., Brunner, D., Aksoyoglu, S., Carmichael, G., Douros, J., Flemming, J., Forkel, R., Galmarini, S., Gauss, M., Grell, G., Hirtl, M., Joffre, S., Jorba, O., Kaas, E., Kaasik, M., Kallos, G., Kong, X., Korsholm, U., Kurganskiy, A., Kushta, J., Lohmann, U., Mahura, A., Manders-Groot, A., Maurizi, A., Moussiopoulos, N., Rao, S. T., Savage, N., Seigneur, C., Sokhi, R. S., Solazzo, E., Solomos, S., Sørensen, B., Tsegas, G., Vignati, E., Vogel, B., and Zhang, Y.: Online coupled regional meteorology chemistry models in Europe: current status and prospects, Atmos. Chem. Phys., 14, 317–398, <ext-link xlink:href="https://doi.org/10.5194/acp-14-317-2014" ext-link-type="DOI">10.5194/acp-14-317-2014</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Baklanov et al.(2018)</label><mixed-citation>Baklanov, A., Grimmond, C. S. B., Carlson, D., Terblanche, D., Tang, X., Bouchet, V., Lee, B., Langendijk, G., Kolli, R. K., and Hovsepyan, A.: From urban meteorology, climate and environment research to integrated city services, Urban Clim., 23, 330–341, <ext-link xlink:href="https://doi.org/10.1016/j.uclim.2017.05.004" ext-link-type="DOI">10.1016/j.uclim.2017.05.004</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Barber et al.(1996)</label><mixed-citation> Barber, C. B., Dobkin, D. P., and Huhdanpaa, H.: The quickhull algorithm for convex hulls, ACM T. Math. Software, 22, 469–483, 1996.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Belda et al.(2021)</label><mixed-citation>Belda, M., Resler, J., Geletič, J., Krč, P., Maronga, B., Sühring, M., Kurppa, M., Kanani-Sühring, F., Fuka, V., Eben, K., Benešová, N., and Auvinen, M.: Sensitivity analysis of the PALM model system 6.0 in the urban environment, Geosci. Model Dev., 14, 4443–4464, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-4443-2021" ext-link-type="DOI">10.5194/gmd-14-4443-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Damian et al.(2002)</label><mixed-citation> Damian, V., Sandu, A., Damian, M., Potra, F., and Carmichael, G. R.: The kinetic preprocessor KPP-a software environment for solving chemical kinetics, Comput. Chem. Eng., 26, 1567–1579, 2002.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Dauxois et al.(2021)</label><mixed-citation>Dauxois, T., Peacock, T., Bauer, P., Caulfield, C. P., Cenedese, C., Gorlé, C., Haller, G., Ivey, G. N., Linden, P. F., Meiburg, E., Pinardi, N., Vriend, N. M., and Woods, A. W.: Confronting Grand Challenges in environmental fluid mechanics, Phys. Rev. Fluids, 6, <ext-link xlink:href="https://doi.org/10.1103/physrevfluids.6.020501" ext-link-type="DOI">10.1103/physrevfluids.6.020501</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Deutscher Wetterdienst(2025)</label><mixed-citation>Deutscher Wetterdienst: Pamore – Retrieving archived forecast model data, <uri>https://www.dwd.de/EN/ourservices/pamore/pamore.html</uri>, last access: August 2025.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Digital and Information Agency(2025)</label><mixed-citation>Digital and Information Agency: Open Data Catalogue of the Czech Republic, <uri>https://data.gov.cz/datasets?query=%C4%8Cesk%C3%BD%20hydrometeorologick%C3%BD%20%C3%BAstav</uri> (last access: August 2025), 2025.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Ehrhard et al.(2000)</label><mixed-citation>Ehrhard, J., Khatib, I. A., Winkler, C., Kunz, R., Moussiopoulos, N., and Ernst, G.: The microscale model MIMO: development and assessment, J. Wind Eng. Ind., 85, 163–176, <ext-link xlink:href="https://doi.org/10.1016/S0167-6105(99)00137-3" ext-link-type="DOI">10.1016/S0167-6105(99)00137-3</ext-link>, 2000.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Esau et al.(2024)</label><mixed-citation>Esau, I., Belda, M., Miles, V., Geletič, J., Resler, J., Krč, P., Bauerová, P., Bureš, M., Eben, K., Fuka, V., Jareš, R., Karel, J., Keder, J., Patiño, W., Pettersson, L. H., Radović, J., Řezníček, H., Šindelářová, A., and Vlček, O.: A city-scale turbulence-resolving model as an essential element of integrated urban services, Urban Climate, 56, 102059, <ext-link xlink:href="https://doi.org/10.1016/j.uclim.2024.102059" ext-link-type="DOI">10.1016/j.uclim.2024.102059</ext-link>, 2024. </mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Free Software Foundation(2007)</label><mixed-citation>Free Software Foundation: GNU General Public License version 3, <uri>https://opensource.org/license/GPL-3.0</uri> (last access: August 2025), 2007.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Fröhlich and Matzarakis(2020)</label><mixed-citation>Fröhlich, D. and Matzarakis, A.: Calculating human thermal comfort and thermal stress in the PALM model system 6.0, Geosci. Model Dev., 13, 3055–3065, <ext-link xlink:href="https://doi.org/10.5194/gmd-13-3055-2020" ext-link-type="DOI">10.5194/gmd-13-3055-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Gehrke et al.(2021)</label><mixed-citation>Gehrke, K. F., Sühring, M., and Maronga, B.: Modeling of land–surface interactions in the PALM model system 6.0: land surface model description, first evaluation, and sensitivity to model parameters, Geosci. Model Dev., 14, 5307–5329, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-5307-2021" ext-link-type="DOI">10.5194/gmd-14-5307-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Geletič et al.(2021)</label><mixed-citation>Geletič, J., Lehnert, M., Krč, P., Resler, J., and Krayenhoff, E. S.: High-Resolution Modelling of Thermal Exposure during a Hot Spell: A Case Study Using PALM-4U in Prague, Czech Republic, Atmosphere, 12, <ext-link xlink:href="https://doi.org/10.3390/atmos12020175" ext-link-type="DOI">10.3390/atmos12020175</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Geletič et al.(2022)</label><mixed-citation>Geletič, J., Lehnert, M., Resler, J., Krč, P., Middel, A., Krayenhoff, S. E., and Krüger, E.: High-fidelity simulation of the effects of street trees, green roofs and green walls on the distribution of thermal exposure in Prague-Dejvice, Build. Environ., 223, 109484, <ext-link xlink:href="https://doi.org/10.1016/j.buildenv.2022.109484" ext-link-type="DOI">10.1016/j.buildenv.2022.109484</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Geletič et al.(2023)</label><mixed-citation>Geletič, J., Lehnert, M., Resler, J., Krč, P., Bureš, M., Urban, A., and Krayenhoff, S. E.: Heat exposure variations and mitigation in a densely populated neighborhood during a hot day: Towards a people-oriented approach to urban climate management, Build. Environ., 242, 110564, <ext-link xlink:href="https://doi.org/10.1016/j.buildenv.2023.110564" ext-link-type="DOI">10.1016/j.buildenv.2023.110564</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Gery et al.(1989)</label><mixed-citation> Gery, M. W., Whitten, G. Z., Killus, J. P., and Dodge, M. C.: A photochemical kinetics mechanism for urban and regional scale computer modeling, J. Geophys. Res.-Atmos., 94, 12925–12956, 1989.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>González et al.(2021)</label><mixed-citation>González, J. E., Ramamurthy, P., Bornstein, R. D., Chen, F., Bou-Zeid, E. R., Ghandehari, M., Luvall, J., Mitra, C., and Niyogi, D.: Urban climate and resiliency: A synthesis report of state of the art and future research directions, Urban Climate, 38, 100858, <ext-link xlink:href="https://doi.org/10.1016/j.uclim.2021.100858" ext-link-type="DOI">10.1016/j.uclim.2021.100858</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Gronemeier et al.(2021)</label><mixed-citation>Gronemeier, T., Surm, K., Harms, F., Leitl, B., Maronga, B., and Raasch, S.: Evaluation of the dynamic core of the PALM model system 6.0 in a neutrally stratified urban environment: comparison between LES and wind-tunnel experiments, Geosci. Model Dev., 14, 3317–3333, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-3317-2021" ext-link-type="DOI">10.5194/gmd-14-3317-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Hamdi et al.(2020)</label><mixed-citation>Hamdi, R., Kusaka, H., Doan, Q.-V., Cai, P., He, H., Luo, G., Kuang, W., Caluwaerts, S., Duchêne, F., Van Schaeybroek, B., and Termonia, P.: The State-of-the-Art of Urban Climate Change Modeling and Observations, Earth Systems and Environment, 4, 631–646, <ext-link xlink:href="https://doi.org/10.1007/s41748-020-00193-3" ext-link-type="DOI">10.1007/s41748-020-00193-3</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Hellsten et al.(2021)</label><mixed-citation>Hellsten, A., Ketelsen, K., Sühring, M., Auvinen, M., Maronga, B., Knigge, C., Barmpas, F., Tsegas, G., Moussiopoulos, N., and Raasch, S.: A nested multi-scale system implemented in the large-eddy simulation model PALM model system 6.0, Geosci. Model Dev., 14, 3185–3214, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-3185-2021" ext-link-type="DOI">10.5194/gmd-14-3185-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Janků et al.(2024)</label><mixed-citation>Janků, Z., Belda, M., Bureš, M., Krč, P., Lehnert, M., Resler, J., Řezníček, H., Krayenhoff, E., Krüger, E., and Geletič, J.: Towards climate-responsible tree positioning: Detailed effects of trees on heat exposure in complex urban environments, Urban For. Urban Green., 101, 128500, <ext-link xlink:href="https://doi.org/10.1016/j.ufug.2024.128500" ext-link-type="DOI">10.1016/j.ufug.2024.128500</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Kadasch et al.(2021)</label><mixed-citation>Kadasch, E., Sühring, M., Gronemeier, T., and Raasch, S.: Mesoscale nesting interface of the PALM model system 6.0, Geosci. Model Dev., 14, 5435–5465, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-5435-2021" ext-link-type="DOI">10.5194/gmd-14-5435-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Kadaverugu et al.(2019)</label><mixed-citation>Kadaverugu, R., Sharma, A., Matli, C., and Biniwale, R.: High Resolution Urban Air Quality Modeling by Coupling CFD and Mesoscale Models: a Review, Asia Pac. J. Atmos. Sci., 55, 539–556, <ext-link xlink:href="https://doi.org/10.1007/s13143-019-00110-3" ext-link-type="DOI">10.1007/s13143-019-00110-3</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Karttunen et al.(2025)</label><mixed-citation>Karttunen, S., Sühring, M., O'Connor, E., and Järvi, L.: PALM-SLUrb v24.04: a single-layer urban canopy model for the PALM model system – model description and first evaluation, Geosci. Model Dev., 18, 5725–5757, <ext-link xlink:href="https://doi.org/10.5194/gmd-18-5725-2025" ext-link-type="DOI">10.5194/gmd-18-5725-2025</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Khan et al.(2021)</label><mixed-citation>Khan, B., Banzhaf, S., Chan, E. C., Forkel, R., Kanani-Sühring, F., Ketelsen, K., Kurppa, M., Maronga, B., Mauder, M., Raasch, S., Russo, E., Schaap, M., and Sühring, M.: Development of an atmospheric chemistry model coupled to the PALM model system 6.0: implementation and first applications, Geosci. Model Dev., 14, 1171–1193, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-1171-2021" ext-link-type="DOI">10.5194/gmd-14-1171-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Krč et al.(2021)</label><mixed-citation>Krč, P., Resler, J., Sühring, M., Schubert, S., Salim, M. H., and Fuka, V.: Radiative Transfer Model 3.0 integrated into the PALM model system 6.0, Geosci. Model Dev., 14, 3095–3120, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-3095-2021" ext-link-type="DOI">10.5194/gmd-14-3095-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Krč et al.(2025a)</label><mixed-citation>Krč, P., Bureš, M., Resler, J., Belda, M., German Meteorological Service, and European Centre for Medium-Range Weather Forecasts: Dataset for paper PALM-meteo 2.6: Processor of PALM meteorological input data, Zenodo [data set], <ext-link xlink:href="https://doi.org/10.5281/zenodo.16925022" ext-link-type="DOI">10.5281/zenodo.16925022</ext-link>, 2025a.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Krč et al.(2025b)</label><mixed-citation>Krč, P., Resler, J., Bureš, M., and Belda, M.: PALM-meteo, GitHub [code], <uri>https://github.com/PALM-tools/palmmeteo</uri> (last access: August 2025), 2025b.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Krč et al.(2026)</label><mixed-citation>Krč, P., Bureš, M., Resler, J., and Belda, M.: PALM-meteo: processor of meteorological input data for the PALM model system (2.8.0), Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.19088859" ext-link-type="DOI">10.5281/zenodo.19088859</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Lin et al.(2021)</label><mixed-citation>Lin, D., Khan, B., Katurji, M., Bird, L., Faria, R., and Revell, L. E.: WRF4PALM v1.0: a mesoscale dynamical driver for the microscale PALM model system 6.0, Geosci. Model Dev., 14, 2503–2524, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-2503-2021" ext-link-type="DOI">10.5194/gmd-14-2503-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Maronga et al.(2015)</label><mixed-citation>Maronga, B., Gryschka, M., Heinze, R., Hoffmann, F., Kanani-Sühring, F., Keck, M., Ketelsen, K., Letzel, M. O., Sühring, M., and Raasch, S.: The Parallelized Large-Eddy Simulation Model (PALM) version 4.0 for atmospheric and oceanic flows: model formulation, recent developments, and future perspectives, Geosci. Model Dev., 8, 2515–2551, <ext-link xlink:href="https://doi.org/10.5194/gmd-8-2515-2015" ext-link-type="DOI">10.5194/gmd-8-2515-2015</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Maronga et al.(2020)</label><mixed-citation>Maronga, B., Banzhaf, S., Burmeister, C., Esch, T., Forkel, R., Fröhlich, D., Fuka, V., Gehrke, K. F., Geletič, J., Giersch, S., Gronemeier, T., Groß, G., Heldens, W., Hellsten, A., Hoffmann, F., Inagaki, A., Kadasch, E., Kanani-Sühring, F., Ketelsen, K., Khan, B. A., Knigge, C., Knoop, H., Krč, P., Kurppa, M., Maamari, H., Matzarakis, A., Mauder, M., Pallasch, M., Pavlik, D., Pfafferott, J., Resler, J., Rissmann, S., Russo, E., Salim, M., Schrempf, M., Schwenkel, J., Seckmeyer, G., Schubert, S., Sühring, M., von Tils, R., Vollmer, L., Ward, S., Witha, B., Wurps, H., Zeidler, J., and Raasch, S.: Overview of the PALM model system 6.0, Geosci. Model Dev., 13, 1335–1372, <ext-link xlink:href="https://doi.org/10.5194/gmd-13-1335-2020" ext-link-type="DOI">10.5194/gmd-13-1335-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Masson et al.(2020)</label><mixed-citation>Masson, V., Lemonsu, A., Hidalgo, J., and Voogt, J.: Urban Climates and Climate Change, Annu. Rev. Environ. Resour., 45, 411–444, <ext-link xlink:href="https://doi.org/10.1146/annurev-environ-012320-083623" ext-link-type="DOI">10.1146/annurev-environ-012320-083623</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Max-Planck – Institut für Meteorologie(2025)</label><mixed-citation>Max-Planck – Institut für Meteorologie: Climate Data Operators: A large tool set for working on climate and NWP model data, <uri>https://code.mpimet.mpg.de/projects/cdo</uri> (last access: August 2025), 2025.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>NSF Unidata(2025)</label><mixed-citation>NSF Unidata: MetPy v1.7.0 is a collection of tools in Python for reading, visualizing, and performing calculations with weather data, <uri>https://www.unidata.ucar.edu/software/metpy</uri> (last access: August 2025), 2025.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>PALM developers(2025)</label><mixed-citation>PALM developers: PALM release on PALM GitLab server, <uri>https://gitlab.palm-model.org/releases/palm_model_system/-/releases</uri> (last access: August 2025), 2025.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Patiño et al.(2024)</label><mixed-citation>Patiño, W. R., Vlček, O., Bauerová, P., Belda, M., Bureš, M., Eben, K., Fuka, V., Geletič, J., Jareš, R., Karel, J., Keder, J., Krč, P., Radović, J., Řezníček, H., Šindelářová, A., and Resler, J.: On the suitability of dispersion models of varying degree of complexity for air quality assessment and urban planning, Build. Environ., 264, 111892, <ext-link xlink:href="https://doi.org/10.1016/j.buildenv.2024.111892" ext-link-type="DOI">10.1016/j.buildenv.2024.111892</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>PROJ(2025)</label><mixed-citation>PROJ: PROJ, generic coordinate transformation software, <uri>https://proj.org</uri> (last access: August 2025), 2025.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Radović et al.(2024)</label><mixed-citation>Radović, J., Belda, M., Resler, J., Eben, K., Bureš, M., Geletič, J., Krč, P., Řezníček, H., and Fuka, V.: Challenges of constructing and selecting the “perfect” boundary conditions for the large-eddy simulation model PALM, Geosci. Model Dev., 17, 2901–2927, <ext-link xlink:href="https://doi.org/10.5194/gmd-17-2901-2024" ext-link-type="DOI">10.5194/gmd-17-2901-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Resler et al.(2017)</label><mixed-citation>Resler, J., Krč, P., Belda, M., Juruš, P., Benešová, N., Lopata, J., Vlček, O., Damašková, D., Eben, K., Derbek, P., Maronga, B., and Kanani-Sühring, F.: PALM-USM v1.0: A new urban surface model integrated into the PALM large-eddy simulation model, Geosci. Model Dev., 10, 3635–3659, <ext-link xlink:href="https://doi.org/10.5194/gmd-10-3635-2017" ext-link-type="DOI">10.5194/gmd-10-3635-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Resler et al.(2021)</label><mixed-citation>Resler, J., Eben, K., Geletič, J., Krč, P., Rosecký, M., Sühring, M., Belda, M., Fuka, V., Halenka, T., Huszár, P., Karlický, J., Benešová, N., Ďoubalová, J., Honzáková, K., Keder, J., Nápravníková, Š., and Vlček, O.: Validation of the PALM model system 6.0 in a real urban environment: a case study in Dejvice, Prague, the Czech Republic, Geosci. Model Dev., 14, 4797–4842, <ext-link xlink:href="https://doi.org/10.5194/gmd-14-4797-2021" ext-link-type="DOI">10.5194/gmd-14-4797-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Resler et al.(2024)</label><mixed-citation>Resler, J., Bauerová, P., Belda, M., Bureš, M., Eben, K., Fuka, V., Geletič, J., Jareš, R., Karel, J., Keder, J., Krč, P., Patiño, W., Radović, J., Řezníček, H., Sühring, M., Šindelářová, A., and Vlček, O.: Challenges of high-fidelity air quality modeling in urban environments – PALM sensitivity study during stable conditions, Geosci. Model Dev., 17, 7513–7537, <ext-link xlink:href="https://doi.org/10.5194/gmd-17-7513-2024" ext-link-type="DOI">10.5194/gmd-17-7513-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>Řezníček et al.(2023)</label><mixed-citation>Řezníček, H., Geletič, J., Bureš, B., Krč, P., Resler, R., Vrbová, K., Trush, A., Michálek, P., Beneš, L., and Sühring, M.: Different boundary conditions for LES solver Palm 6.0 used for ABL in tunnel experiment, Programs and Algorithms of Numerical Mathematics 21, 21, 209–218, <ext-link xlink:href="https://doi.org/10.21136/panm.2022.19" ext-link-type="DOI">10.21136/panm.2022.19</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>Řezníček et al.(2025)</label><mixed-citation>Řezníček, H., Geletič, J., Belda, M., Beneš, L., Bureš, M., Eben, K., Fuka, V., Krč, P., Michálek, P., Patiño, W., Radović, J., Sühring, M., Vlček, O., and Resler, J.: Analysis of the complex role of trees in street canyons using a large-eddy simulation model, Q. J. Roy. Meteor. Soc., 151, <ext-link xlink:href="https://doi.org/10.1002/qj.4954" ext-link-type="DOI">10.1002/qj.4954</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>San Jose and Perez-Camanyo(2022)</label><mixed-citation>San Jose, R. and Perez-Camanyo, J. L.: High-resolution impacts of green areas on air quality in Madrid, Air Qual. Atmos. Hlth., 16, 37–48, <ext-link xlink:href="https://doi.org/10.1007/s11869-022-01263-3" ext-link-type="DOI">10.1007/s11869-022-01263-3</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Snyder(1987)</label><mixed-citation>Snyder, J. P.: Map projections: A working manual, Tech. rep., U.S. Geological Survey, Washington, D.C., report, <ext-link xlink:href="https://doi.org/10.3133/pp1395" ext-link-type="DOI">10.3133/pp1395</ext-link>, 1987.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Talbot et al.(2012)</label><mixed-citation>Talbot, C., Bou-Zeid, E., and Smith, J.: Nested Mesoscale Large-Eddy  Simulations with WRF: Performance in Real Test Cases, J. Hydrometeorol., 13, 1421–1441, <ext-link xlink:href="https://doi.org/10.1175/JHM-D-11-048.1" ext-link-type="DOI">10.1175/JHM-D-11-048.1</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Virtanen et al.(2020)</label><mixed-citation> Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., van der Walt, S. J., Brett, M., Wilson, J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R., Larson, E., Carey, C. J., Polat, İ., Feng, Y., Moore, E. W., VanderPlas, J., Laxalde, D., Perktold, J., Cimrman, R., Henriksen, I., Quintero, E. A., Harris, C. R., Archibald, A. M., Ribeiro, A. H., Pedregosa, F., van Mulbregt, P., Vijaykumar, A., Bardelli, A. P., Rothberg, A., Hilboll, A., Kloeckner, A., Scopatz, A., Lee, A., Rokem, A., Woods, C. N., Fulton, C., Masson, C., Häggström, C., Fitzgerald, C., Nicholson, D. A., Hagen, D. R., Pasechnik, D. V., Olivetti, E., Martin, E., Wieser, E., Silva, F., Lenders, F., Wilhelm, F., Young, G., Price, G. A., Ingold, G.-L., Allen, G. E., Lee, G. R., Audren, H., Probst, I., Dietrich, J. P., Silterra, J., Webber, J. T., Slavič, J., Nothman, J., Buchner, J., Kulick, J., Schönberger, J. L., de Miranda Cardoso, J. V., Reimer, J., Harrington, J., Rodríguez, J. L. C., Nunez-Iglesias, J., Kuczynski, J., Tritz, K., Thoma, M., Newville, M., Kümmerer, M., Bolingbroke, M., Tartre, M., Pak, M., Smith, N. J., Nowaczyk, N., Shebanov, N., Pavlyk, O., Brodtkorb, P. A., Lee, P., McGibbon, R. T., Feldbauer, R., Lewis, S., Tygier, S., Sievert, S., Vigna, S., Peterson, S., More, S., Pudlik, T., Oshima, T., Pingel, T. J., Robitaille, T. P., Spura, T., Jones, T. R., Cera, T., Leslie, T., Zito, T., Krauss, T., Upadhyay, U., Halchenko, Y. O., Vázquez-Baeza, Y., and SciPy 1.0 Contributors: SciPy 1.0: fundamental algorithms for scientific computing in Python, Nat. Methods, 17, 261–272, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx50"><label>Vogel et al.(2025)</label><mixed-citation>Vogel, J., Stadler, S., Chockalingam, G., Afshari, A., Henning, J., and Winkler, M.: SanDyPALM v1.0: static and dynamic drivers for the PALM model to facilitate urban microclimate simulations, Geosci. Model Dev., 18, 6063–6094, <ext-link xlink:href="https://doi.org/10.5194/gmd-18-6063-2025" ext-link-type="DOI">10.5194/gmd-18-6063-2025</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx51"><label>Wang et al.(2025)</label><mixed-citation>Wang, Y., Adebayo, F. F., Crank, P. J., Krayenhoff, E. S., and Geletič, J.: Evaluating the PALM-4U representation of outdoor urban thermal exposure in a humid continental climate using MaRTy, in: 12th International Conference on Urban Climate, <ext-link xlink:href="https://doi.org/10.5194/icuc12-547" ext-link-type="DOI">10.5194/icuc12-547</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx52"><label>Wiersema et al.(2020)</label><mixed-citation>Wiersema, D. J., Lundquist, K. A., and Chow, F. K.: Mesoscale to Microscale Simulations over Complex Terrain with the Immersed Boundary Method in the Weather Research and Forecasting Model, Mon. Weather Rev., 148, 577–595, <ext-link xlink:href="https://doi.org/10.1175/MWR-D-19-0071.1" ext-link-type="DOI">10.1175/MWR-D-19-0071.1</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx53"><label>Wong et al.(2021)</label><mixed-citation>Wong, N. H., He, Y., Nguyen, N. S., Raghavan, S. V., Martin, M., Hii, D. J. C., Yu, Z., and Deng, J.: An integrated multiscale urban microclimate model for the urban thermal environment, Urban Climate, 35, 100730, <ext-link xlink:href="https://doi.org/10.1016/j.uclim.2020.100730" ext-link-type="DOI">10.1016/j.uclim.2020.100730</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx54"><label>WRF_interface(2020)</label><mixed-citation>WRF_interface: Scripts for processing WRF and CAMx files to PALM dynamic driver, <uri>https://palm.muk.uni-hannover.de/trac/wiki/doc/app/iofiles/wrf_interface</uri> (last access: August 2025), 2020.</mixed-citation></ref>
      <ref id="bib1.bibx55"><label>Wyszogrodzki et al.(2012)</label><mixed-citation>Wyszogrodzki, A. A., Miao, S., and Chen, F.: Evaluation of the coupling between mesoscale-WRF and LES‐EULAG models for simulating fine-scale urban dispersion, Atmos. Res., 118, 324–345, <ext-link xlink:href="https://doi.org/10.1016/j.atmosres.2012.07.023" ext-link-type="DOI">10.1016/j.atmosres.2012.07.023</ext-link>, 2012.</mixed-citation></ref>
      <ref id="bib1.bibx56"><label>Xie and Castro(2008)</label><mixed-citation>Xie, Z.-T. and Castro, I. P.: Efficient Generation of Inflow Conditions for Large Eddy Simulation of Street-Scale Flows, Flow Turbul, Combust., 81, 449–470, <ext-link xlink:href="https://doi.org/10.1007/s10494-008-9151-5" ext-link-type="DOI">10.1007/s10494-008-9151-5</ext-link>, 2008.</mixed-citation></ref>
      <ref id="bib1.bibx57"><label>Yang et al.(2023)</label><mixed-citation>Yang, S., Wang, L., Stathopoulos, T., and Marey, A. M.: Urban microclimate and its impact on built environment – A review, Build. Environ, 238, 110334, <ext-link xlink:href="https://doi.org/10.1016/j.buildenv.2023.110334" ext-link-type="DOI">10.1016/j.buildenv.2023.110334</ext-link>, 2023. </mixed-citation></ref>
      <ref id="bib1.bibx58"><label>Zängl et al.(2015)</label><mixed-citation>Zängl, G., Reinert, D., Rípodas, P., and Baldauf, M.: The ICON (ICOsahedral Non-hydrostatic) modelling framework of DWD and MPI-M: Description of the non-hydrostatic dynamical core, Q. J. Roy. Meteor. Soc., 141, 563–579, <ext-link xlink:href="https://doi.org/10.1002/qj.2378" ext-link-type="DOI">10.1002/qj.2378</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx59"><label>Žuvela-Aloise et al.(2025)</label><mixed-citation>Žuvela-Aloise, M., Hahn, C., and Hollósi, B.: Evaluation of city-scale PALM model simulations and intra-urban thermal variability in Vienna, Austria using operational and crowdsourced data, Urban Climate, 59, 102245, <ext-link xlink:href="https://doi.org/10.1016/j.uclim.2024.102245" ext-link-type="DOI">10.1016/j.uclim.2024.102245</ext-link>, 2025.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>PALM-meteo 2.8: Processor of PALM meteorological input data</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Baklanov et al.(2014)</label><mixed-citation>
      
Baklanov, A., Schlünzen, K., Suppan, P., Baldasano, J., Brunner, D., Aksoyoglu, S., Carmichael, G., Douros, J., Flemming, J., Forkel, R., Galmarini, S., Gauss, M., Grell, G., Hirtl, M., Joffre, S., Jorba, O., Kaas, E., Kaasik, M., Kallos, G., Kong, X., Korsholm, U., Kurganskiy, A., Kushta, J., Lohmann, U., Mahura, A., Manders-Groot, A., Maurizi, A., Moussiopoulos, N., Rao, S. T., Savage, N., Seigneur, C., Sokhi, R. S., Solazzo, E., Solomos, S., Sørensen, B., Tsegas, G., Vignati, E., Vogel, B., and Zhang, Y.: Online coupled regional meteorology chemistry models in Europe: current status and prospects, Atmos. Chem. Phys., 14, 317–398, <a href="https://doi.org/10.5194/acp-14-317-2014" target="_blank">https://doi.org/10.5194/acp-14-317-2014</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Baklanov et al.(2018)</label><mixed-citation>
      
Baklanov, A., Grimmond, C. S. B., Carlson, D., Terblanche, D., Tang, X., Bouchet, V., Lee, B., Langendijk, G., Kolli, R. K., and Hovsepyan, A.: From urban meteorology, climate and environment research to integrated city services, Urban Clim., 23, 330–341, <a href="https://doi.org/10.1016/j.uclim.2017.05.004" target="_blank">https://doi.org/10.1016/j.uclim.2017.05.004</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Barber et al.(1996)</label><mixed-citation>
      
Barber, C. B., Dobkin, D. P., and Huhdanpaa, H.: The quickhull algorithm for convex hulls, ACM T. Math. Software, 22, 469–483, 1996.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Belda et al.(2021)</label><mixed-citation>
      
Belda, M., Resler, J., Geletič, J., Krč, P., Maronga, B., Sühring, M., Kurppa, M., Kanani-Sühring, F., Fuka, V., Eben, K., Benešová, N., and Auvinen, M.: Sensitivity analysis of the PALM model system 6.0 in the urban environment, Geosci. Model Dev., 14, 4443–4464, <a href="https://doi.org/10.5194/gmd-14-4443-2021" target="_blank">https://doi.org/10.5194/gmd-14-4443-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Damian et al.(2002)</label><mixed-citation>
      
Damian, V., Sandu, A., Damian, M., Potra, F., and Carmichael, G. R.: The
kinetic preprocessor KPP-a software environment for solving chemical
kinetics, Comput. Chem. Eng., 26, 1567–1579, 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Dauxois et al.(2021)</label><mixed-citation>
      
Dauxois, T., Peacock, T., Bauer, P., Caulfield, C. P., Cenedese, C., Gorlé, C., Haller, G., Ivey, G. N., Linden, P. F., Meiburg, E., Pinardi, N., Vriend, N. M., and Woods, A. W.: Confronting Grand Challenges in environmental fluid mechanics, Phys. Rev. Fluids, 6, <a href="https://doi.org/10.1103/physrevfluids.6.020501" target="_blank">https://doi.org/10.1103/physrevfluids.6.020501</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Deutscher Wetterdienst(2025)</label><mixed-citation>
      
Deutscher Wetterdienst: Pamore – Retrieving archived forecast model data, <a href="https://www.dwd.de/EN/ourservices/pamore/pamore.html" target="_blank"/>, last access: August 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Digital and Information Agency(2025)</label><mixed-citation>
      
Digital and Information Agency: Open Data Catalogue of the Czech Republic, <a href="https://data.gov.cz/datasets?query=%C4%8Cesk%C3%BD%20hydrometeorologick%C3%BD%20%C3%BAstav" target="_blank"/>
(last access: August 2025), 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Ehrhard et al.(2000)</label><mixed-citation>
      
Ehrhard, J., Khatib, I. A., Winkler, C., Kunz, R., Moussiopoulos, N., and Ernst, G.: The microscale model MIMO: development and assessment, J. Wind
Eng. Ind., 85, 163–176, <a href="https://doi.org/10.1016/S0167-6105(99)00137-3" target="_blank">https://doi.org/10.1016/S0167-6105(99)00137-3</a>, 2000.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Esau et al.(2024)</label><mixed-citation>
      
Esau, I., Belda, M., Miles, V., Geletič, J., Resler, J., Krč, P., Bauerová, P., Bureš, M., Eben, K., Fuka, V., Jareš, R., Karel, J., Keder, J., Patiño, W., Pettersson, L. H., Radović, J., Řezníček, H., Šindelářová, A., and Vlček, O.: A city-scale turbulence-resolving model as an essential element of integrated urban services, Urban Climate, 56, 102059, <a href="https://doi.org/10.1016/j.uclim.2024.102059" target="_blank">https://doi.org/10.1016/j.uclim.2024.102059</a>, 2024.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Free Software Foundation(2007)</label><mixed-citation>
      
Free Software Foundation: GNU General Public License version 3, <a href="https://opensource.org/license/GPL-3.0" target="_blank"/> (last access: August 2025), 2007.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Fröhlich and Matzarakis(2020)</label><mixed-citation>
      
Fröhlich, D. and Matzarakis, A.: Calculating human thermal comfort and thermal stress in the PALM model system 6.0, Geosci. Model Dev., 13, 3055–3065, <a href="https://doi.org/10.5194/gmd-13-3055-2020" target="_blank">https://doi.org/10.5194/gmd-13-3055-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Gehrke et al.(2021)</label><mixed-citation>
      
Gehrke, K. F., Sühring, M., and Maronga, B.: Modeling of land–surface interactions in the PALM model system 6.0: land surface model description, first evaluation, and sensitivity to model parameters, Geosci. Model Dev., 14, 5307–5329, <a href="https://doi.org/10.5194/gmd-14-5307-2021" target="_blank">https://doi.org/10.5194/gmd-14-5307-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Geletič et al.(2021)</label><mixed-citation>
      
Geletič, J., Lehnert, M., Krč, P., Resler, J., and Krayenhoff, E. S.:
High-Resolution Modelling of Thermal Exposure during a Hot Spell: A Case
Study Using PALM-4U in Prague, Czech Republic, Atmosphere, 12,
<a href="https://doi.org/10.3390/atmos12020175" target="_blank">https://doi.org/10.3390/atmos12020175</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Geletič et al.(2022)</label><mixed-citation>
      
Geletič, J., Lehnert, M., Resler, J., Krč, P., Middel, A., Krayenhoff, S. E.,
and Krüger, E.: High-fidelity simulation of the effects of street trees,
green roofs and green walls on the distribution of thermal exposure in
Prague-Dejvice, Build. Environ., 223, 109484,
<a href="https://doi.org/10.1016/j.buildenv.2022.109484" target="_blank">https://doi.org/10.1016/j.buildenv.2022.109484</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Geletič et al.(2023)</label><mixed-citation>
      
Geletič, J., Lehnert, M., Resler, J., Krč, P., Bureš, M., Urban, A., and
Krayenhoff, S. E.: Heat exposure variations and mitigation in a densely
populated neighborhood during a hot day: Towards a people-oriented approach
to urban climate management, Build. Environ., 242, 110564,
<a href="https://doi.org/10.1016/j.buildenv.2023.110564" target="_blank">https://doi.org/10.1016/j.buildenv.2023.110564</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Gery et al.(1989)</label><mixed-citation>
      
Gery, M. W., Whitten, G. Z., Killus, J. P., and Dodge, M. C.: A photochemical kinetics mechanism for urban and regional scale computer modeling, J. Geophys. Res.-Atmos., 94, 12925–12956, 1989.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>González et al.(2021)</label><mixed-citation>
      
González, J. E., Ramamurthy, P., Bornstein, R. D., Chen, F., Bou-Zeid, E. R.,
Ghandehari, M., Luvall, J., Mitra, C., and Niyogi, D.: Urban climate and
resiliency: A synthesis report of state of the art and future research
directions, Urban Climate, 38, 100858, <a href="https://doi.org/10.1016/j.uclim.2021.100858" target="_blank">https://doi.org/10.1016/j.uclim.2021.100858</a>,
2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Gronemeier et al.(2021)</label><mixed-citation>
      
Gronemeier, T., Surm, K., Harms, F., Leitl, B., Maronga, B., and Raasch, S.: Evaluation of the dynamic core of the PALM model system 6.0 in a neutrally stratified urban environment: comparison between LES and wind-tunnel experiments, Geosci. Model Dev., 14, 3317–3333, <a href="https://doi.org/10.5194/gmd-14-3317-2021" target="_blank">https://doi.org/10.5194/gmd-14-3317-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Hamdi et al.(2020)</label><mixed-citation>
      
Hamdi, R., Kusaka, H., Doan, Q.-V., Cai, P., He, H., Luo, G., Kuang, W., Caluwaerts, S., Duchêne, F., Van Schaeybroek, B., and Termonia, P.: The State-of-the-Art of Urban Climate Change Modeling and Observations, Earth Systems and Environment, 4, 631–646, <a href="https://doi.org/10.1007/s41748-020-00193-3" target="_blank">https://doi.org/10.1007/s41748-020-00193-3</a>,
2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Hellsten et al.(2021)</label><mixed-citation>
      
Hellsten, A., Ketelsen, K., Sühring, M., Auvinen, M., Maronga, B., Knigge, C., Barmpas, F., Tsegas, G., Moussiopoulos, N., and Raasch, S.: A nested multi-scale system implemented in the large-eddy simulation model PALM model system 6.0, Geosci. Model Dev., 14, 3185–3214, <a href="https://doi.org/10.5194/gmd-14-3185-2021" target="_blank">https://doi.org/10.5194/gmd-14-3185-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Janků et al.(2024)</label><mixed-citation>
      
Janků, Z., Belda, M., Bureš, M., Krč, P., Lehnert, M., Resler, J.,
Řezníček, H., Krayenhoff, E., Krüger, E., and Geletič, J.: Towards
climate-responsible tree positioning: Detailed effects of trees on heat
exposure in complex urban environments, Urban For. Urban Green., 101,
128500, <a href="https://doi.org/10.1016/j.ufug.2024.128500" target="_blank">https://doi.org/10.1016/j.ufug.2024.128500</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Kadasch et al.(2021)</label><mixed-citation>
      
Kadasch, E., Sühring, M., Gronemeier, T., and Raasch, S.: Mesoscale nesting interface of the PALM model system 6.0, Geosci. Model Dev., 14, 5435–5465, <a href="https://doi.org/10.5194/gmd-14-5435-2021" target="_blank">https://doi.org/10.5194/gmd-14-5435-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Kadaverugu et al.(2019)</label><mixed-citation>
      
Kadaverugu, R., Sharma, A., Matli, C., and Biniwale, R.: High Resolution Urban Air Quality Modeling by Coupling CFD and Mesoscale Models: a Review, Asia Pac. J. Atmos. Sci., 55, 539–556, <a href="https://doi.org/10.1007/s13143-019-00110-3" target="_blank">https://doi.org/10.1007/s13143-019-00110-3</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Karttunen et al.(2025)</label><mixed-citation>
      
Karttunen, S., Sühring, M., O'Connor, E., and Järvi, L.: PALM-SLUrb v24.04: a single-layer urban canopy model for the PALM model system – model description and first evaluation, Geosci. Model Dev., 18, 5725–5757, <a href="https://doi.org/10.5194/gmd-18-5725-2025" target="_blank">https://doi.org/10.5194/gmd-18-5725-2025</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Khan et al.(2021)</label><mixed-citation>
      
Khan, B., Banzhaf, S., Chan, E. C., Forkel, R., Kanani-Sühring, F., Ketelsen, K., Kurppa, M., Maronga, B., Mauder, M., Raasch, S., Russo, E., Schaap, M., and Sühring, M.: Development of an atmospheric chemistry model coupled to the PALM model system 6.0: implementation and first applications, Geosci. Model Dev., 14, 1171–1193, <a href="https://doi.org/10.5194/gmd-14-1171-2021" target="_blank">https://doi.org/10.5194/gmd-14-1171-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Krč et al.(2021)</label><mixed-citation>
      
Krč, P., Resler, J., Sühring, M., Schubert, S., Salim, M. H., and Fuka, V.: Radiative Transfer Model 3.0 integrated into the PALM model system 6.0, Geosci. Model Dev., 14, 3095–3120, <a href="https://doi.org/10.5194/gmd-14-3095-2021" target="_blank">https://doi.org/10.5194/gmd-14-3095-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Krč et al.(2025a)</label><mixed-citation>
      
Krč, P., Bureš, M., Resler, J., Belda, M., German Meteorological Service, and European Centre for Medium-Range Weather Forecasts: Dataset for paper PALM-meteo 2.6: Processor of PALM meteorological input data, Zenodo [data set], <a href="https://doi.org/10.5281/zenodo.16925022" target="_blank">https://doi.org/10.5281/zenodo.16925022</a>, 2025a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Krč et al.(2025b)</label><mixed-citation>
      
Krč, P., Resler, J., Bureš, M., and Belda, M.: PALM-meteo, GitHub [code], <a href="https://github.com/PALM-tools/palmmeteo" target="_blank"/> (last access: August 2025), 2025b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Krč et al.(2026)</label><mixed-citation>
      
Krč, P., Bureš, M., Resler, J., and Belda, M.: PALM-meteo: processor of meteorological input data for the PALM model system (2.8.0), Zenodo [code], <a href="https://doi.org/10.5281/zenodo.19088859" target="_blank">https://doi.org/10.5281/zenodo.19088859</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Lin et al.(2021)</label><mixed-citation>
      
Lin, D., Khan, B., Katurji, M., Bird, L., Faria, R., and Revell, L. E.: WRF4PALM v1.0: a mesoscale dynamical driver for the microscale PALM model system 6.0, Geosci. Model Dev., 14, 2503–2524, <a href="https://doi.org/10.5194/gmd-14-2503-2021" target="_blank">https://doi.org/10.5194/gmd-14-2503-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Maronga et al.(2015)</label><mixed-citation>
      
Maronga, B., Gryschka, M., Heinze, R., Hoffmann, F., Kanani-Sühring, F., Keck, M., Ketelsen, K., Letzel, M. O., Sühring, M., and Raasch, S.: The Parallelized Large-Eddy Simulation Model (PALM) version 4.0 for atmospheric and oceanic flows: model formulation, recent developments, and future perspectives, Geosci. Model Dev., 8, 2515–2551, <a href="https://doi.org/10.5194/gmd-8-2515-2015" target="_blank">https://doi.org/10.5194/gmd-8-2515-2015</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Maronga et al.(2020)</label><mixed-citation>
      
Maronga, B., Banzhaf, S., Burmeister, C., Esch, T., Forkel, R., Fröhlich, D., Fuka, V., Gehrke, K. F., Geletič, J., Giersch, S., Gronemeier, T., Groß, G., Heldens, W., Hellsten, A., Hoffmann, F., Inagaki, A., Kadasch, E., Kanani-Sühring, F., Ketelsen, K., Khan, B. A., Knigge, C., Knoop, H., Krč, P., Kurppa, M., Maamari, H., Matzarakis, A., Mauder, M., Pallasch, M., Pavlik, D., Pfafferott, J., Resler, J., Rissmann, S., Russo, E., Salim, M., Schrempf, M., Schwenkel, J., Seckmeyer, G., Schubert, S., Sühring, M., von Tils, R., Vollmer, L., Ward, S., Witha, B., Wurps, H., Zeidler, J., and Raasch, S.: Overview of the PALM model system 6.0, Geosci. Model Dev., 13, 1335–1372, <a href="https://doi.org/10.5194/gmd-13-1335-2020" target="_blank">https://doi.org/10.5194/gmd-13-1335-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Masson et al.(2020)</label><mixed-citation>
      
Masson, V., Lemonsu, A., Hidalgo, J., and Voogt, J.: Urban Climates and Climate Change, Annu. Rev. Environ. Resour., 45, 411–444,
<a href="https://doi.org/10.1146/annurev-environ-012320-083623" target="_blank">https://doi.org/10.1146/annurev-environ-012320-083623</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Max-Planck – Institut für Meteorologie(2025)</label><mixed-citation>
      
Max-Planck – Institut für Meteorologie: Climate Data Operators: A large tool set for working on climate and NWP model data, <a href="https://code.mpimet.mpg.de/projects/cdo" target="_blank"/> (last access: August 2025), 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>NSF Unidata(2025)</label><mixed-citation>
      
NSF Unidata: MetPy v1.7.0 is a collection of tools in Python for reading, visualizing, and performing calculations with weather data, <a href="https://www.unidata.ucar.edu/software/metpy" target="_blank"/> (last access: August 2025), 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>PALM developers(2025)</label><mixed-citation>
      
PALM developers: PALM release on PALM GitLab server, <a href="https://gitlab.palm-model.org/releases/palm_model_system/-/releases" target="_blank"/>
(last access: August 2025), 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Patiño et al.(2024)</label><mixed-citation>
      
Patiño, W. R., Vlček, O., Bauerová, P., Belda, M., Bureš, M., Eben, K.,
Fuka, V., Geletič, J., Jareš, R., Karel, J., Keder, J., Krč, P., Radović,
J., Řezníček, H., Šindelářová, A., and Resler, J.: On the suitability
of dispersion models of varying degree of complexity for air quality
assessment and urban planning, Build. Environ., 264, 111892,
<a href="https://doi.org/10.1016/j.buildenv.2024.111892" target="_blank">https://doi.org/10.1016/j.buildenv.2024.111892</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>PROJ(2025)</label><mixed-citation>
      
PROJ: PROJ, generic coordinate transformation software, <a href="https://proj.org" target="_blank"/> (last access: August 2025), 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Radović et al.(2024)</label><mixed-citation>
      
Radović, J., Belda, M., Resler, J., Eben, K., Bureš, M., Geletič, J., Krč, P., Řezníček, H., and Fuka, V.: Challenges of constructing and selecting the “perfect” boundary conditions for the large-eddy simulation model PALM, Geosci. Model Dev., 17, 2901–2927, <a href="https://doi.org/10.5194/gmd-17-2901-2024" target="_blank">https://doi.org/10.5194/gmd-17-2901-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Resler et al.(2017)</label><mixed-citation>
      
Resler, J., Krč, P., Belda, M., Juruš, P., Benešová, N., Lopata, J., Vlček, O., Damašková, D., Eben, K., Derbek, P., Maronga, B., and Kanani-Sühring, F.: PALM-USM v1.0: A new urban surface model integrated into the PALM large-eddy simulation model, Geosci. Model Dev., 10, 3635–3659, <a href="https://doi.org/10.5194/gmd-10-3635-2017" target="_blank">https://doi.org/10.5194/gmd-10-3635-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Resler et al.(2021)</label><mixed-citation>
      
Resler, J., Eben, K., Geletič, J., Krč, P., Rosecký, M., Sühring, M., Belda, M., Fuka, V., Halenka, T., Huszár, P., Karlický, J., Benešová, N., Ďoubalová, J., Honzáková, K., Keder, J., Nápravníková, Š., and Vlček, O.: Validation of the PALM model system 6.0 in a real urban environment: a case study in Dejvice, Prague, the Czech Republic, Geosci. Model Dev., 14, 4797–4842, <a href="https://doi.org/10.5194/gmd-14-4797-2021" target="_blank">https://doi.org/10.5194/gmd-14-4797-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Resler et al.(2024)</label><mixed-citation>
      
Resler, J., Bauerová, P., Belda, M., Bureš, M., Eben, K., Fuka, V., Geletič, J., Jareš, R., Karel, J., Keder, J., Krč, P., Patiño, W., Radović, J., Řezníček, H., Sühring, M., Šindelářová, A., and Vlček, O.: Challenges of high-fidelity air quality modeling in urban environments – PALM sensitivity study during stable conditions, Geosci. Model Dev., 17, 7513–7537, <a href="https://doi.org/10.5194/gmd-17-7513-2024" target="_blank">https://doi.org/10.5194/gmd-17-7513-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>Řezníček et al.(2023)</label><mixed-citation>
      
Řezníček, H., Geletič, J., Bureš, B., Krč, P., Resler, R., Vrbová,
K., Trush, A., Michálek, P., Beneš, L., and Sühring, M.: Different
boundary conditions for LES solver Palm 6.0 used for ABL in tunnel
experiment, Programs and Algorithms of Numerical Mathematics 21, 21,
209–218, <a href="https://doi.org/10.21136/panm.2022.19" target="_blank">https://doi.org/10.21136/panm.2022.19</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>Řezníček et al.(2025)</label><mixed-citation>
      
Řezníček, H., Geletič, J., Belda, M., Beneš, L., Bureš, M., Eben, K.,
Fuka, V., Krč, P., Michálek, P., Patiño, W., Radović, J., Sühring, M.,
Vlček, O., and Resler, J.: Analysis of the complex role of trees in street
canyons using a large-eddy simulation model, Q. J. Roy. Meteor. Soc., 151,
<a href="https://doi.org/10.1002/qj.4954" target="_blank">https://doi.org/10.1002/qj.4954</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>San Jose and Perez-Camanyo(2022)</label><mixed-citation>
      
San Jose, R. and Perez-Camanyo, J. L.: High-resolution impacts of green areas
on air quality in Madrid, Air Qual. Atmos. Hlth., 16, 37–48,
<a href="https://doi.org/10.1007/s11869-022-01263-3" target="_blank">https://doi.org/10.1007/s11869-022-01263-3</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Snyder(1987)</label><mixed-citation>
      
Snyder, J. P.: Map projections: A working manual, Tech. rep., U.S. Geological
Survey, Washington, D.C., report, <a href="https://doi.org/10.3133/pp1395" target="_blank">https://doi.org/10.3133/pp1395</a>, 1987.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Talbot et al.(2012)</label><mixed-citation>
      
Talbot, C., Bou-Zeid, E., and Smith, J.: Nested Mesoscale Large-Eddy  Simulations with WRF: Performance in Real Test Cases, J. Hydrometeorol., 13,
1421–1441, <a href="https://doi.org/10.1175/JHM-D-11-048.1" target="_blank">https://doi.org/10.1175/JHM-D-11-048.1</a>, 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Virtanen et al.(2020)</label><mixed-citation>
      
Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., van der Walt, S. J., Brett, M., Wilson, J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R., Larson, E., Carey, C. J., Polat, İ., Feng, Y., Moore, E. W., VanderPlas, J., Laxalde, D., Perktold, J., Cimrman, R., Henriksen, I., Quintero, E. A., Harris, C. R., Archibald, A. M., Ribeiro, A. H., Pedregosa, F., van Mulbregt, P., Vijaykumar, A., Bardelli, A. P., Rothberg, A., Hilboll, A., Kloeckner, A., Scopatz, A., Lee, A., Rokem, A., Woods, C. N., Fulton, C., Masson, C., Häggström, C., Fitzgerald, C., Nicholson, D. A., Hagen, D. R., Pasechnik, D. V., Olivetti, E., Martin, E., Wieser, E., Silva, F., Lenders, F., Wilhelm, F., Young, G., Price, G. A., Ingold, G.-L., Allen, G. E., Lee, G. R., Audren, H., Probst, I., Dietrich, J. P., Silterra, J., Webber, J. T., Slavič, J., Nothman, J., Buchner, J., Kulick, J., Schönberger, J. L., de Miranda Cardoso, J. V., Reimer, J., Harrington, J., Rodríguez, J. L. C., Nunez-Iglesias, J., Kuczynski, J., Tritz, K., Thoma, M., Newville, M., Kümmerer, M., Bolingbroke, M., Tartre, M., Pak, M., Smith, N. J., Nowaczyk, N., Shebanov, N., Pavlyk, O., Brodtkorb, P. A., Lee, P., McGibbon, R. T., Feldbauer, R., Lewis, S., Tygier, S., Sievert, S., Vigna, S., Peterson, S., More, S., Pudlik, T., Oshima, T., Pingel, T. J., Robitaille, T. P., Spura, T., Jones, T. R., Cera, T., Leslie, T., Zito, T., Krauss, T., Upadhyay, U., Halchenko, Y. O., Vázquez-Baeza, Y., and SciPy 1.0 Contributors: SciPy 1.0: fundamental algorithms for scientific computing in Python, Nat. Methods, 17, 261–272, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib50"><label>Vogel et al.(2025)</label><mixed-citation>
      
Vogel, J., Stadler, S., Chockalingam, G., Afshari, A., Henning, J., and Winkler, M.: SanDyPALM v1.0: static and dynamic drivers for the PALM model to facilitate urban microclimate simulations, Geosci. Model Dev., 18, 6063–6094, <a href="https://doi.org/10.5194/gmd-18-6063-2025" target="_blank">https://doi.org/10.5194/gmd-18-6063-2025</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib51"><label>Wang et al.(2025)</label><mixed-citation>
      
Wang, Y., Adebayo, F. F., Crank, P. J., Krayenhoff, E. S., and Geletič, J.: Evaluating the PALM-4U representation of outdoor urban thermal exposure in a
humid continental climate using MaRTy, in: 12th International Conference on
Urban Climate, <a href="https://doi.org/10.5194/icuc12-547" target="_blank">https://doi.org/10.5194/icuc12-547</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib52"><label>Wiersema et al.(2020)</label><mixed-citation>
      
Wiersema, D. J., Lundquist, K. A., and Chow, F. K.: Mesoscale to Microscale Simulations over Complex Terrain with the Immersed Boundary Method in the Weather Research and Forecasting Model, Mon. Weather Rev., 148, 577–595, <a href="https://doi.org/10.1175/MWR-D-19-0071.1" target="_blank">https://doi.org/10.1175/MWR-D-19-0071.1</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib53"><label>Wong et al.(2021)</label><mixed-citation>
      
Wong, N. H., He, Y., Nguyen, N. S., Raghavan, S. V., Martin, M., Hii, D. J. C., Yu, Z., and Deng, J.: An integrated multiscale urban microclimate model for the urban thermal environment, Urban Climate, 35, 100730,
<a href="https://doi.org/10.1016/j.uclim.2020.100730" target="_blank">https://doi.org/10.1016/j.uclim.2020.100730</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib54"><label>WRF_interface(2020)</label><mixed-citation>
      
WRF_interface: Scripts for processing WRF and CAMx files to PALM dynamic driver, <a href="https://palm.muk.uni-hannover.de/trac/wiki/doc/app/iofiles/wrf_interface" target="_blank"/> (last access: August 2025), 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib55"><label>Wyszogrodzki et al.(2012)</label><mixed-citation>
      
Wyszogrodzki, A. A., Miao, S., and Chen, F.: Evaluation of the coupling between mesoscale-WRF and LES‐EULAG models for simulating fine-scale urban dispersion, Atmos. Res., 118, 324–345, <a href="https://doi.org/10.1016/j.atmosres.2012.07.023" target="_blank">https://doi.org/10.1016/j.atmosres.2012.07.023</a>,
2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib56"><label>Xie and Castro(2008)</label><mixed-citation>
      
Xie, Z.-T. and Castro, I. P.: Efficient Generation of Inflow Conditions for Large Eddy Simulation of Street-Scale Flows, Flow Turbul, Combust., 81,
449–470, <a href="https://doi.org/10.1007/s10494-008-9151-5" target="_blank">https://doi.org/10.1007/s10494-008-9151-5</a>, 2008.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib57"><label>Yang et al.(2023)</label><mixed-citation>
      
Yang, S., Wang, L., Stathopoulos, T., and Marey, A. M.: Urban microclimate and its impact on built environment – A review, Build. Environ, 238, 110334, <a href="https://doi.org/10.1016/j.buildenv.2023.110334" target="_blank">https://doi.org/10.1016/j.buildenv.2023.110334</a>, 2023.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib58"><label>Zängl et al.(2015)</label><mixed-citation>
      
Zängl, G., Reinert, D., Rípodas, P., and Baldauf, M.: The ICON (ICOsahedral Non-hydrostatic) modelling framework of DWD and MPI-M: Description of the non-hydrostatic dynamical core, Q. J. Roy. Meteor. Soc., 141, 563–579,
<a href="https://doi.org/10.1002/qj.2378" target="_blank">https://doi.org/10.1002/qj.2378</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib59"><label>Žuvela-Aloise et al.(2025)</label><mixed-citation>
      
Žuvela-Aloise, M., Hahn, C., and Hollósi, B.: Evaluation of city-scale PALM
model simulations and intra-urban thermal variability in Vienna, Austria
using operational and crowdsourced data, Urban Climate, 59, 102245,
<a href="https://doi.org/10.1016/j.uclim.2024.102245" target="_blank">https://doi.org/10.1016/j.uclim.2024.102245</a>, 2025.

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