<?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">WES</journal-id><journal-title-group>
    <journal-title>Wind Energy Science</journal-title>
    <abbrev-journal-title abbrev-type="publisher">WES</abbrev-journal-title><abbrev-journal-title abbrev-type="nlm-ta">Wind Energ. Sci.</abbrev-journal-title>
  </journal-title-group><issn pub-type="epub">2366-7451</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/wes-11-3719-2026</article-id><title-group><article-title>SANDWake3D: a 3D parabolic RANS solver for atmospheric surface layers and turbine wakes</article-title><alt-title>SANDWake3D: a 3D parabolic RANS solver for atmospheric surface layers and turbine wakes</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1">
          <name><surname>Cheung</surname><given-names>Lawrence</given-names></name>
          <email>lcheung@sandia.gov</email>
        <ext-link>https://orcid.org/0000-0002-7697-4739</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Mohan</surname><given-names>Prakash</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Henry de Frahan</surname><given-names>Marc T.</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-7742-1565</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Yalla</surname><given-names>Gopal R.</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-8206-1506</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Hsieh</surname><given-names>Alan</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>Brown</surname><given-names>Kenneth</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-4994-0047</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>deVelder</surname><given-names>Nathaniel</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1 aff4">
          <name><surname>Kaufman-Martin</surname><given-names>Sam</given-names></name>
          
        <ext-link>https://orcid.org/0000-0002-2494-161X</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Day</surname><given-names>Marc</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Sprague</surname><given-names>Michael</given-names></name>
          
        </contrib>
        <aff id="aff1"><label>1</label><institution>Sandia National Laboratories, Livermore, CA, USA</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>National Laboratory of the Rockies, Golden, CO, USA</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Sandia National Laboratories, Albuquerque, NM, USA</institution>
        </aff>
        <aff id="aff4"><label>4</label><institution>University of California, Santa Barbara, CA, USA</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Lawrence Cheung (lcheung@sandia.gov)</corresp></author-notes><pub-date><day>24</day><month>September</month><year>2026</year></pub-date>
      
      <volume>11</volume>
      <issue>9</issue>
      <fpage>3719</fpage><lpage>3743</lpage>
      <history>
        <date date-type="received"><day>13</day><month>November</month><year>2025</year></date>
           <date date-type="rev-request"><day>24</day><month>November</month><year>2025</year></date>
           <date date-type="rev-recd"><day>31</day><month>May</month><year>2026</year></date>
           <date date-type="accepted"><day>14</day><month>July</month><year>2026</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2026 Lawrence Cheung 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://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026.html">This article is available from https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026.html</self-uri><self-uri xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026.pdf">The full text article is available as a PDF file from https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d2e183">Despite many recent advances, modeling wind turbine wakes using semi-empirical and analytical models still faces challenges when dealing with more complicated situations involving wind shear, veer, atmospheric stratification, and wake superposition. To address these limitations, this study introduces a three-dimensional, parabolic Reynolds-averaged Navier–Stokes (RANS) <inline-formula><mml:math id="M1" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> formulation which includes an atmospheric boundary layer model and an actuator disk model for turbine wakes. The full three-dimensional solution for the velocity, temperature, and turbulence variables is efficiently solved through an alternating-direction implicit scheme that requires orders of magnitude fewer computational resources than traditional high-fidelity approaches, such as fully elliptic RANS or large-eddy simulations (LESs). The results of the parabolic RANS model are compared to the equivalent LES and semi-empirical wake models at different wind speeds under stable atmospheric conditions with veer and shear at a single TI level, as well as a convectively unstable-inflow case. For the single-turbine wake the RANS model was able to capture the wake deficit behavior, including the wake stretching and skewing that was observed in the LES. The distribution of the wake turbulence in the RANS model also agreed with results from the higher-fidelity simulations. In simulations of a two-turbine, directly waked configuration, the new RANS model was able to handle the wake superposition behavior without difficulty and also correctly modeled the corresponding increase in wake turbulence when compared to LES. A demonstration of the RANS model on a nine-turbine, three-row wind farm is shown and compared to LES, and comparisons with a semi-empirical veered Gaussian model are also discussed. The work in this study can be generalized in future investigations to handle additional wind conditions and more complex wind farm configurations.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>U.S. Department of Energy</funding-source>
<award-id>N/A</award-id>
</award-group>
</funding-group>
</article-meta>
  <notes notes-type="copyrightstatement">
  
      <p id="d2e205">This written work is authored by an employee of NTESS. The employee, not NTESS, owns the right, title and interest in and to the written work and is responsible for its contents.</p>
</notes></front>
<body>
      


<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d2e216">The complex behavior of wind turbine wakes has led to a very rich and fruitful area of research but also revealed a number of challenges to those developing wind farm wake models for general use. A history of measurements and simulations has shown that turbine wake behavior is influenced by a number of factors, including interactions with the shear, veer, and stratification in the atmospheric boundary layer (ABL), as well as wake-to-wake interactions, wake steering, and the development of wake-added turbulence. High-fidelity modeling, including large-eddy simulations (LESs), can consistently capture <xref ref-type="bibr" rid="bib1.bibx10 bib1.bibx23" id="paren.1"/> all of these complex behaviors but remains too computationally expensive to be used for wind farm optimization or design purposes.</p>
      <p id="d2e222">Many analytic and semi-empirical models have been developed to quickly calculate wake behavior and predict wind farm performance under a variety of conditions. Starting from the simplest Jensen model <xref ref-type="bibr" rid="bib1.bibx25" id="paren.2"/> to more recent empirical Gaussian models <xref ref-type="bibr" rid="bib1.bibx4 bib1.bibx34" id="paren.3"/>, these models typically adopt an assumed functional form for the wake profile with free parameters which are calibrated to match the wake behavior in specific scenarios. These semi-empirical models are generally combined with other models to capture the effects of wake superposition <xref ref-type="bibr" rid="bib1.bibx19" id="paren.4"/> or wake-added turbulence <xref ref-type="bibr" rid="bib1.bibx14" id="paren.5"/>. More recent work <xref ref-type="bibr" rid="bib1.bibx1 bib1.bibx32 bib1.bibx33" id="paren.6"/> has extended analytical wake models to include atmospheric shear and veer, but consistently accounting for these effects in interacting wakes or in the wake-added turbulence behavior remains an open question.</p>
      <p id="d2e240">Previous studies have demonstrated the potential of parabolic Reynolds-averaged Navier–Stokes (RANS) methods when compared to semi-analytic methods. Starting from the work of <xref ref-type="bibr" rid="bib1.bibx2" id="text.7"/>, who developed an axisymmetric formulation for a single-turbine wake, the later work of <xref ref-type="bibr" rid="bib1.bibx24" id="text.8"/> explored the use of a mixing-length eddy viscosity model for turbulent inflow. In the work of <xref ref-type="bibr" rid="bib1.bibx30" id="text.9"/>, lidar measurements were used to calibrate a depth-averaged parabolic RANS method for operational wind farms. <xref ref-type="bibr" rid="bib1.bibx12" id="text.10"/> used a simplified two-dimensional RANS model to study the interaction of large-scale convective structures in an unstable ABL with wind turbine wakes. Another recent study by <xref ref-type="bibr" rid="bib1.bibx13" id="text.11"/> coupled an axisymmetric RANS solution with a linear stability model to capture the development of coherent structures in turbine wakes when active wake control is applied.</p>
      <p id="d2e258">Of particular interest to the current work are three-dimensional parabolic models, including the WakeBlaster model of <xref ref-type="bibr" rid="bib1.bibx5" id="text.12"/> and the combined curl model of <xref ref-type="bibr" rid="bib1.bibx31" id="text.13"/>. In the WakeBlaster model, a single streamwise momentum equation is solved by advancing 2D planes of the velocity field, and the introduction of wakes is accomplished through direct manipulation of the velocity profiles. However this limits the ability of the model to handle veered-inflow conditions.</p>
      <p id="d2e268">Similarly, in the curled wake model, the velocity field is decomposed into a base and wake deficit variable, with a single streamwise momentum equation solved for the wake deficit. As mentioned in <xref ref-type="bibr" rid="bib1.bibx31" id="text.14"/>, the curled wake model does not enforce continuity, and the turbine wakes are created by directly enforcing a deficit profile in the velocity solution rather than through body forces in the momentum equation itself. The solution of a single streamwise momentum equation also limits the ability of the model to handle effects such as wake–veer interactions or wake–swirl interactions with the mean flow.</p>
      <p id="d2e274">To overcome these limitations of earlier models, the current study introduces an efficient three-dimensional RANS model which naturally captures complex effects such as shear, veer, atmospheric stratification, and turbine and wake turbulence superposition. This model, known as SANDWake3D, combines a parabolic <inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> RANS with an atmospheric surface layer solver and an actuator disk method for representing turbines. The full three-dimensional solution for all velocity, temperature, and turbulence variables can be quickly solved through an alternating-direction implicit (ADI) scheme with minimal computational resources. After calibration against high-fidelity simulations, we show that the RANS method can accurately predict wake behavior under stably stratified conditions at a fraction of the cost of typical LES methods.</p>
      <p id="d2e289">In the following sections, we first discuss the formulation of the parabolized RANS method and the numerical solution algorithm used in this study. The details of the wind simulations and turbine configurations are presented in Sect. <xref ref-type="sec" rid="Ch1.S3"/>, followed by a comparison of the RANS results with corresponding LES, FLORIS <xref ref-type="bibr" rid="bib1.bibx40" id="paren.15"/>, and semi-analytic Gaussian wake models. In the final section, we conclude with a summary of the study and discuss recommendations for future work in this area.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Formulation</title>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Parabolized RANS method</title>
      <p id="d2e312">In the SANDWake3D model, an underlying RANS formulation was selected based on its ability to capture both the atmospheric surface layer behavior and the turbine wake dynamics. Previous studies have shown that the <inline-formula><mml:math id="M3" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> model can accurately simulate stratified ABL conditions <xref ref-type="bibr" rid="bib1.bibx3" id="paren.16"/> and was also successfully used in prior simplified models for wake dynamics <xref ref-type="bibr" rid="bib1.bibx13" id="paren.17"/>. Thus, assuming an incompressible, steady flow over flat terrain, the governing <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> RANS equations from <xref ref-type="bibr" rid="bib1.bibx3" id="text.18"/> are used as a starting point for this analysis.  Note that the specific choice of the closure model used in this is not unique and that other RANS models and variations in the <inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> model, such as the one considered in <xref ref-type="bibr" rid="bib1.bibx46" id="text.19"/>, can also be parabolized in a similar fashion. The underlying calibration process, turbine model formulation, and overall solution process would remain unchanged.</p>
      <p id="d2e364">The governing RANS equations are simplified by assuming that the second-order derivatives in the streamwise direction <inline-formula><mml:math id="M6" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> are small relative to those in the lateral <inline-formula><mml:math id="M7" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> and vertical <inline-formula><mml:math id="M8" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> directions. This leads to the following parabolic equation for mass conservation:
          

            <disp-formula id="Ch1.E1.2" content-type="subnumberedon"><label>1a</label><mml:math id="M9" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>

          It also leads to the following equations for momentum conservation for the <inline-formula><mml:math id="M10" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>u</mml:mi><mml:mo>,</mml:mo><mml:mi>v</mml:mi><mml:mo>,</mml:mo><mml:mi>w</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> mean velocities:

                <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M11" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E1.3"><mml:mtd><mml:mtext>1b</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>u</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>v</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>w</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ρ</mml:mi></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">T</mml:mi><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mtext>COR</mml:mtext><mml:mo>,</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E1.4"><mml:mtd><mml:mtext>1c</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>u</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>v</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>w</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ρ</mml:mi></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">T</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mtext>COR</mml:mtext><mml:mo>,</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E1.5"><mml:mtd><mml:mtext>1d</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>u</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>v</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>w</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ρ</mml:mi></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mi>g</mml:mi><mml:mi mathvariant="italic">β</mml:mi><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="normal">Θ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi mathvariant="normal">T</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e1044">In Eqs. (<xref ref-type="disp-formula" rid="Ch1.E1.3"/>)–(<xref ref-type="disp-formula" rid="Ch1.E1.5"/>), <inline-formula><mml:math id="M12" display="inline"><mml:mi>p</mml:mi></mml:math></inline-formula> is the pressure, <inline-formula><mml:math id="M13" display="inline"><mml:mi mathvariant="italic">ρ</mml:mi></mml:math></inline-formula> is the fluid density, <inline-formula><mml:math id="M14" display="inline"><mml:mi mathvariant="italic">ν</mml:mi></mml:math></inline-formula> is the kinematic viscosity, and <inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the turbulent viscosity. The Boussinesq approximation is used to capture the effects of buoyancy, so the density is assumed to vary linearly with the potential temperature <inline-formula><mml:math id="M16" display="inline"><mml:mi mathvariant="normal">Θ</mml:mi></mml:math></inline-formula> in the vertical direction. The body force, <inline-formula><mml:math id="M17" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, in the momentum equations is used to represent the turbine rotor disk forces, as described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS4"/>. In Eq. (<xref ref-type="disp-formula" rid="Ch1.E1.5"/>), the gravitational acceleration constant is <inline-formula><mml:math id="M18" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M19" display="inline"><mml:mi mathvariant="italic">β</mml:mi></mml:math></inline-formula> is the volumetric thermal expansion coefficient, and <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Θ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is reference potential temperature.</p>
      <p id="d2e1132">The Coriolis body force <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mtext>COR</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is defined as

            <disp-formula id="Ch1.E1.x1"><mml:math id="M22" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mtext>COR</mml:mtext></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>×</mml:mo><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mi mathvariant="normal">c</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>(</mml:mo><mml:mi>sin⁡</mml:mi><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mtext>lat</mml:mtext></mml:msub><mml:mo>)</mml:mo><mml:mover accent="true"><mml:mi mathvariant="bold-italic">z</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover></mml:mrow></mml:math></inline-formula>, the Earth's angular rotation rate is <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mtext>day</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mtext>lat</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is the latitude of the location under consideration. The period of rotation is chosen to be the sidereal day, such that <inline-formula><mml:math id="M26" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mtext>day</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M27" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 86 164.091 <inline-formula><mml:math id="M28" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula>. In general, the effect of the Coriolis force can be seen in both the overall inflow wind veer and in the spatial variation in the turbine wake deficit inside a wind farm. In the current study, the inflow wind veer is set to match the veer of the LES inflow profiles.  For the cases considered in this study the Coriolis body forces are not expected to cause a large deflection of the wake over the distances of interest inside the wind farm. In the offshore wind turbine cases of Sect. <xref ref-type="sec" rid="Ch1.S4"/>, the calculated Rossby numbers based on turbine diameter and hub-height wind speed were relatively large (<inline-formula><mml:math id="M29" display="inline"><mml:mrow><mml:mi mathvariant="italic">Ro</mml:mi><mml:mo>∼</mml:mo></mml:mrow></mml:math></inline-formula> 290–400), and the impact of the Coriolis forces was minor, which is consistent with the observations of <xref ref-type="bibr" rid="bib1.bibx20" id="text.20"/>.</p>
      <p id="d2e1280">Similar parabolic equations can be written for the turbulent kinetic energy <inline-formula><mml:math id="M30" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> and dissipation <inline-formula><mml:math id="M31" display="inline"><mml:mi mathvariant="italic">ϵ</mml:mi></mml:math></inline-formula> variables

                <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M32" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E1.6"><mml:mtd><mml:mtext>1e</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>u</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>v</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>w</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mi mathvariant="normal">B</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E1.7"><mml:mtd><mml:mtext>1f</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mi>u</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>v</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>w</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mfrac></mml:mstyle><mml:mfenced close="]" open="["><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow></mml:msub><mml:mo>)</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mi mathvariant="normal">B</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi mathvariant="script">T</mml:mi></mml:mfrac></mml:mstyle><mml:mi mathvariant="italic">ε</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ε</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ε</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          as well as for the potential temperature <inline-formula><mml:math id="M33" display="inline"><mml:mi mathvariant="normal">Θ</mml:mi></mml:math></inline-formula>

            <disp-formula id="Ch1.E1.8" content-type="subnumberedoff"><label>1g</label><mml:math id="M34" display="block"><mml:mrow><mml:mi>u</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>v</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>w</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mo>∂</mml:mo><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e1835">In Eqs. (<xref ref-type="disp-formula" rid="Ch1.E1.6"/>) and (<xref ref-type="disp-formula" rid="Ch1.E1.7"/>), the shear production term <inline-formula><mml:math id="M35" display="inline"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is calculated from

            <disp-formula id="Ch1.E9" content-type="numbered"><label>2</label><mml:math id="M36" display="block"><mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          while the buoyancy production term <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi mathvariant="normal">B</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is defined as

            <disp-formula id="Ch1.E10" content-type="numbered"><label>3</label><mml:math id="M38" display="block"><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mi mathvariant="normal">B</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">β</mml:mi><mml:mi>g</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><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:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M39" 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 specific heat at constant pressure. The turbulent viscosity <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is calculated as

            <disp-formula id="Ch1.Ex2"><mml:math id="M41" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="italic">μ</mml:mi></mml:msub><mml:mi>k</mml:mi><mml:mi mathvariant="script">T</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where, following <xref ref-type="bibr" rid="bib1.bibx15" id="text.21"/>, the timescale <inline-formula><mml:math id="M42" display="inline"><mml:mi mathvariant="script">T</mml:mi></mml:math></inline-formula> is the larger of

            <disp-formula id="Ch1.Ex3"><mml:math id="M43" display="block"><mml:mrow><mml:mi mathvariant="script">T</mml:mi><mml:mo>=</mml:mo><mml:mo movablelimits="false">max⁡</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>k</mml:mi><mml:mi mathvariant="italic">ε</mml:mi></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:mn mathvariant="normal">6</mml:mn><mml:msqrt><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="italic">ε</mml:mi></mml:mfrac></mml:mstyle></mml:msqrt></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e2093">In Eqs. (<xref ref-type="disp-formula" rid="Ch1.E1.6"/>), (<xref ref-type="disp-formula" rid="Ch1.E1.7"/>), and (<xref ref-type="disp-formula" rid="Ch1.E1.8"/>), the standard values for the <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M45" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> coefficients <xref ref-type="bibr" rid="bib1.bibx26" id="paren.22"/> are used:

            <disp-formula id="Ch1.E11" content-type="numbered"><label>4</label><mml:math id="M47" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.0</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.3</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.0</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e2178">As discussed in Sect. <xref ref-type="sec" rid="Ch1.S2.SS5"/>, the values for the adjustable parameters <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="italic">μ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M50" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, along with an additional parameter <inline-formula><mml:math id="M51" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, are determined through calibration against LES data. The value for <inline-formula><mml:math id="M52" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is dependent on the atmospheric stratification, and in this study, the same function as <xref ref-type="bibr" rid="bib1.bibx3" id="text.23"/> is used:

            <disp-formula id="Ch1.E12" content-type="numbered"><label>5</label><mml:math id="M53" display="block"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:msub><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>z</mml:mi><mml:mi>L</mml:mi></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow><mml:mn mathvariant="normal">5</mml:mn></mml:munderover><mml:msub><mml:mi>A</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:msup><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>z</mml:mi><mml:mi>L</mml:mi></mml:mfrac></mml:mstyle></mml:mfenced><mml:mi>n</mml:mi></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M54" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula> is the Monin–Obukhov length, and the values of <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are given in Table <xref ref-type="table" rid="T1"/>, and also available in <xref ref-type="bibr" rid="bib1.bibx3" id="text.24"/>.</p>

<table-wrap id="T1"><label>Table 1</label><caption><p id="d2e2330">Coefficients of <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for defining <inline-formula><mml:math id="M57" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> from <xref ref-type="bibr" rid="bib1.bibx3" id="text.25"/>.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right" colsep="1"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry rowsep="1" namest="col2" nameend="col3" align="center" colsep="1"><inline-formula><mml:math id="M59" display="inline"><mml:mrow><mml:mi>L</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry rowsep="1" namest="col4" nameend="col5" align="center"><inline-formula><mml:math id="M60" display="inline"><mml:mrow><mml:mi>L</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M61" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>&lt;</mml:mo></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M62" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.25</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M63" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>&gt;</mml:mo></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M64" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.25</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M65" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>&lt;</mml:mo></mml:mrow></mml:math></inline-formula> 0.33</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M66" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>&gt;</mml:mo></mml:mrow></mml:math></inline-formula> 0.33</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M68" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>0.0609</oasis:entry>
         <oasis:entry colname="col3">5.225</oasis:entry>
         <oasis:entry colname="col4">4.181</oasis:entry>
         <oasis:entry colname="col5">5.225</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M70" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>33.672</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M71" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>5.269</oasis:entry>
         <oasis:entry colname="col4">33.994</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M72" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>5.269</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M74" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>546.880</oasis:entry>
         <oasis:entry colname="col3">5.115</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M75" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>442.398</oasis:entry>
         <oasis:entry colname="col5">5.115</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M76" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M77" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>3234.06</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M78" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.406</oasis:entry>
         <oasis:entry colname="col4">2368.12</oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M79" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>2.406</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M80" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M81" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>9490.792</oasis:entry>
         <oasis:entry colname="col3">0.435</oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M82" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>6043.544</oasis:entry>
         <oasis:entry colname="col5">0.435</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msub><mml:mi>A</mml:mi><mml:mn mathvariant="normal">5</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M84" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>11 163.202</oasis:entry>
         <oasis:entry colname="col3">0.000</oasis:entry>
         <oasis:entry colname="col4">5970.776</oasis:entry>
         <oasis:entry colname="col5">0.000</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d2e2743">The structure of the parabolic Eqs. (1a)–(1g) allows for an efficient solution algorithm to be constructed that accurately captures the three-dimensional behavior of turbine wakes. Starting from a given inflow profile <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> at an initial streamwise position <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, the solution planes <inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for downstream locations can be determined through an implicit marching process (see Fig. <xref ref-type="fig" rid="F1"/>). Details on the numerical solution algorithm are discussed below in Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/>.</p>

      <fig id="F1"><label>Figure 1</label><caption><p id="d2e2813">Schematic showing the parabolized RANS solution process by marching planes of the velocity variable <inline-formula><mml:math id="M88" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> downstream through the domain.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f01.png"/>

        </fig>

      <p id="d2e2840">Note that this RANS formulation eliminates the ability for flow information to travel in the upstream direction, as the parabolization process removes any elliptic behavior of the solution. This means that the effect of the turbine induction field is not included in these calculations, so any flow slowdown or acceleration due to blockage effects will be missing. However, superimposing the turbine induction field onto the RANS solution may be possible, as discussed in Sect. <xref ref-type="sec" rid="Ch1.S6"/>.</p>
<sec id="Ch1.S2.SS1.SSS1">
  <label>2.1.1</label><title>Pressure Poisson equation</title>
      <p id="d2e2852">In the parabolic formulation, enforcing continuity (Eq. <xref ref-type="disp-formula" rid="Ch1.E1.2"/>) is possible by developing the appropriate pressure Poisson equation. Taking the divergence of the momentum Eqs. (<xref ref-type="disp-formula" rid="Ch1.E1.3"/>)–(<xref ref-type="disp-formula" rid="Ch1.E1.5"/>) and applying the continuity Eq. (<xref ref-type="disp-formula" rid="Ch1.E1.2"/>) leads to the following equation for pressure:

              <disp-formula id="Ch1.E13" content-type="numbered"><label>6</label><mml:math id="M89" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ρ</mml:mi></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>g</mml:mi><mml:mi mathvariant="italic">β</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:msub><mml:mi mathvariant="italic">ν</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi><mml:mo>∂</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mspace linebreak="nobreak" width="0.25em"/><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e3150">Note that the second derivative of pressure, <inline-formula><mml:math id="M90" display="inline"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>p</mml:mi><mml:mo>/</mml:mo><mml:mo>∂</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>, is neglected in the left-hand side of Eq. (<xref ref-type="disp-formula" rid="Ch1.E13"/>) as changes in the streamwise direction are assumed to be small relative to the <inline-formula><mml:math id="M91" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M92" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> directions.</p>
      <p id="d2e3191">While many efficient algorithms exist to solve the two-dimensional Poisson problem, Eq. (<xref ref-type="disp-formula" rid="Ch1.E13"/>) can be reformulated as a parabolic diffusion problem if we assume that the pressure also depends on an artificial time <inline-formula><mml:math id="M93" display="inline"><mml:mi mathvariant="italic">τ</mml:mi></mml:math></inline-formula> variable such that

              <disp-formula id="Ch1.E14" content-type="numbered"><label>7</label><mml:math id="M94" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msup><mml:mo>∂</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:msup><mml:mi>z</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:msub><mml:mi>S</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3275">As the solution to Eq. (<xref ref-type="disp-formula" rid="Ch1.E14"/>) reaches a steady state, where <inline-formula><mml:math id="M95" display="inline"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi><mml:mo>/</mml:mo><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">τ</mml:mi><mml:mo>→</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, we see that the pressure also satisfies the original Eq. (<xref ref-type="disp-formula" rid="Ch1.E13"/>). However, the same solution algorithm used to solve Eqs. (<xref ref-type="disp-formula" rid="Ch1.E1.3"/>)–(<xref ref-type="disp-formula" rid="Ch1.E1.8"/>) can also be applied to Eq. (<xref ref-type="disp-formula" rid="Ch1.E14"/>), which simplifies the overall implementation as described in Sect. <xref ref-type="sec" rid="Ch1.S2.SS3"/>.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Inflow and boundary conditions</title>
      <p id="d2e3320">Following <xref ref-type="bibr" rid="bib1.bibx3" id="text.26"/>, the inflow conditions to the RANS model are based on Monin–Obukhov similarity theory for thermally stratified atmospheric surface layers over uniform flat terrain. Note that this RANS model is applicable to the near-surface layer close to the ground and cannot capture complex situations such as low-level jets, among other limitations <xref ref-type="bibr" rid="bib1.bibx45" id="paren.27"/>. However, for the ABL profiles considered in the current study, this model sufficiently reproduces the inflow in the rotor disk regions for offshore wind turbines. When combined with the parabolic formulation in Eqs. (1a)–(1g), this leads to a consistent approach for handling the effects of stratification in both the wake and background inflow. In this formulation, the Monin–Obukhov length <inline-formula><mml:math id="M96" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula> is calculated as

            <disp-formula id="Ch1.E15" content-type="numbered"><label>8</label><mml:math id="M97" display="block"><mml:mrow><mml:mi>L</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>u</mml:mi><mml:mo>∗</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mi>g</mml:mi><mml:msub><mml:mi>T</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M98" display="inline"><mml:mi>g</mml:mi></mml:math></inline-formula> is the gravitational constant, <inline-formula><mml:math id="M99" display="inline"><mml:mi mathvariant="italic">κ</mml:mi></mml:math></inline-formula> is the von Karman constant, <inline-formula><mml:math id="M100" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the wall temperature, the friction velocity <inline-formula><mml:math id="M101" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>∗</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> for a given wall shear stress <inline-formula><mml:math id="M102" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the temperature <inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mo>∗</mml:mo></mml:msub><mml:mo>=</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>q</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:msub><mml:mi>u</mml:mi><mml:mo>∗</mml:mo></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the surface heat flux is <inline-formula><mml:math id="M104" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the heat capacity is <inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msub><mml:mi>c</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. In all simulations considered here, <inline-formula><mml:math id="M106" display="inline"><mml:mi mathvariant="italic">κ</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M107" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.42. The non-dimensional wind shear <inline-formula><mml:math id="M108" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is expressed as

            <disp-formula id="Ch1.E16" content-type="numbered"><label>9</label><mml:math id="M109" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>z</mml:mi><mml:mi>L</mml:mi></mml:mfrac></mml:mstyle></mml:mfenced><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable class="cases" columnspacing="1em" rowspacing="0.2ex" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mn mathvariant="normal">16</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>z</mml:mi><mml:mi>L</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>L</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>z</mml:mi><mml:mi>L</mml:mi></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>L</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3605">A similar non-dimensional profile <inline-formula><mml:math id="M110" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the dissipation variable is also used:

            <disp-formula id="Ch1.E17" content-type="numbered"><label>10</label><mml:math id="M111" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable columnspacing="1em" rowspacing="0.2ex" class="cases" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>z</mml:mi><mml:mi>L</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>L</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mfenced close=")" open="("><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>z</mml:mi><mml:mi>L</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle></mml:mfenced><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi>z</mml:mi><mml:mi>L</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>L</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e3690">At the inlet of the domain, the horizontal velocity profile <inline-formula><mml:math id="M112" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is calculated using the Monin–Obukhov logarithmic profile:

            <disp-formula id="Ch1.E18" content-type="numbered"><label>11</label><mml:math id="M113" display="block"><mml:mrow><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable class="cases" columnspacing="1em" rowspacing="0.2ex" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow><mml:mi mathvariant="italic">κ</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:mi>ln⁡</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:mi>ln⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">8</mml:mn><mml:msubsup><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">4</mml:mn></mml:msubsup><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>(</mml:mo><mml:msubsup><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mi mathvariant="italic">π</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mstyle><mml:mo>+</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi>arctan⁡</mml:mi><mml:mfenced close=")" open="("><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:mstyle></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>L</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow><mml:mi mathvariant="italic">κ</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle><mml:mfenced open="[" close="]"><mml:mrow><mml:mi>ln⁡</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>L</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> is the value of the surface roughness at the lower boundary. The horizontal velocity <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msubsup><mml:mi>u</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mn mathvariant="normal">0</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> is further decomposed into streamwise <inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and lateral <inline-formula><mml:math id="M117" display="inline"><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> velocity components so that the wind direction matches the desired <inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> veer profile. Note that the veer profile <inline-formula><mml:math id="M119" display="inline"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is not given by the Monin–Obukhov similarity theory and must be determined from alternate sources, such as LES precursor profiles or from measured inflow profiles. By convention, we also configure the wind direction profile so that the velocity at hub height (<inline-formula><mml:math id="M120" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) is purely in the streamwise direction.</p>
      <p id="d2e4079">A similar modified logarithmic profile is used for the initial temperature profile:

            <disp-formula id="Ch1.E19" content-type="numbered"><label>12</label><mml:math id="M121" 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:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>=</mml:mo><mml:mfenced open="{" close=""><mml:mtable class="cases" columnspacing="1em" rowspacing="0.2ex" columnalign="left left" framespacing="0em"><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow><mml:mi mathvariant="italic">κ</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:mi>ln⁡</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi>ln⁡</mml:mi><mml:mfenced close="]" open="["><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mstyle><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msubsup><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>L</mml:mi><mml:mo>&lt;</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow><mml:mi mathvariant="italic">κ</mml:mi></mml:mfrac></mml:mstyle></mml:mstyle><mml:mfenced close="]" open="["><mml:mrow><mml:mi>ln⁡</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>L</mml:mi><mml:mo>≥</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e4271">The initial kinetic energy and dissipation profiles matched those used in <xref ref-type="bibr" rid="bib1.bibx3" id="text.28"/>:

                <disp-formula specific-use="align" content-type="numbered"><mml:math id="M122" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E20"><mml:mtd><mml:mtext>13</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>k</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5.48</mml:mn><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub><mml:msubsup><mml:mi>u</mml:mi><mml:mo>∗</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msqrt><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:msqrt><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E21"><mml:mtd><mml:mtext>14</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>u</mml:mi><mml:mo>∗</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:msubsup></mml:mrow><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is an adjustable parameter used to adjust the ambient RANS turbulent kinetic energy <inline-formula><mml:math id="M124" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> to be roughly similar to the corresponding LES <inline-formula><mml:math id="M125" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> at the turbine hub height. Note that the use of the <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> applies only to the inflow profile, not to the boundary conditions or the interior of the RANS domain, and is not used in the work of <xref ref-type="bibr" rid="bib1.bibx3" id="text.29"/> or other elliptic RANS models.</p>
      <p id="d2e4452">At the lower boundary <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>min⁡</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>, the following Dirichlet boundary conditions are imposed:

            <disp-formula id="Ch1.E22" content-type="numbered"><label>15</label><mml:math id="M128" display="block"><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>min⁡</mml:mo></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>min⁡</mml:mo></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>w</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>min⁡</mml:mo></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="normal">Θ</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="normal">Θ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>min⁡</mml:mo></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>min⁡</mml:mo></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5.48</mml:mn><mml:msubsup><mml:mi>u</mml:mi><mml:mo>∗</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msqrt><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:msqrt><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>min⁡</mml:mo></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>p</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          At the upper boundary <inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>max⁡</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>, a combination of Dirichlet and Neumann boundary conditions is used:

            <disp-formula id="Ch1.E23" content-type="numbered"><label>16</label><mml:math id="M130" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi>u</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>max⁡</mml:mo></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>v</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>max⁡</mml:mo></mml:msub><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mi mathvariant="normal">Γ</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi>k</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mo>max⁡</mml:mo></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5.48</mml:mn><mml:msubsup><mml:mi>u</mml:mi><mml:mo>∗</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msqrt><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="italic">ϵ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">m</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>/</mml:mo><mml:mi>L</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle></mml:msqrt><mml:mo>,</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M131" display="inline"><mml:mi mathvariant="normal">Γ</mml:mi></mml:math></inline-formula> is the specified lapse rate. At the lateral boundaries <inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:mi>y</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mo>min⁡</mml:mo></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mo>max⁡</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula>, the following boundary conditions are applied:

            <disp-formula id="Ch1.E24" content-type="numbered"><label>17</label><mml:math id="M133" display="block"><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>v</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo><mml:mi>w</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="normal">Θ</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi>p</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S2.SS3">
  <label>2.3</label><title>Numerical solution</title>
      <p id="d2e5052">The numerical solution to Eqs. (1a)–(1g) is computed using an iterative alternating-direction implicit (ADI) approach. This allows for an efficient and robust marching procedure by splitting the <inline-formula><mml:math id="M134" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M135" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> differentiations into separate stages which can be quickly calculated using a tri-diagonal matrix solver. The implicit nature of the algorithm also allows for relatively large <inline-formula><mml:math id="M136" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> steps in the streamwise direction. Using the notation <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> to indicate the discretized flow variables at the location <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, the following second-order differentiation stencils for the first and second derivatives in the <inline-formula><mml:math id="M139" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M140" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> directions can be written as
          

                <disp-formula id="Ch1.E25" specific-use="gather" content-type="subnumberedsingle"><mml:math id="M141" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E25.26"><mml:mtd><mml:mtext>18a</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mtable class="split" rowspacing="0.2ex" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E25.27"><mml:mtd><mml:mtext>18b</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><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:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><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:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mi>z</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><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:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><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:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e5424">In the advection terms of Eqs. (1a)–(1g), the averaged values of the velocities and turbulent viscosity between position <inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M143" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are used:

            <disp-formula id="Ch1.Ex4"><mml:math id="M144" 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:mover accent="true"><mml:mi>U</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ν</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mi mathvariant="normal">T</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ν</mml:mi><mml:mrow><mml:mi mathvariant="normal">T</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi mathvariant="italic">ν</mml:mi><mml:mrow><mml:mi mathvariant="normal">T</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d2e5667">Solving each of the Eqs. (<xref ref-type="disp-formula" rid="Ch1.E1.3"/>)–(<xref ref-type="disp-formula" rid="Ch1.E1.8"/>) and (<xref ref-type="disp-formula" rid="Ch1.E14"/>) uses a two-stage process, where advancing from <inline-formula><mml:math id="M145" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M146" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> requires two half-steps each <inline-formula><mml:math id="M147" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula> in size. Taking the solution of the <inline-formula><mml:math id="M148" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula> momentum Eq. (<xref ref-type="disp-formula" rid="Ch1.E1.3"/>) as an example, the first half-step solves for <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> given <inline-formula><mml:math id="M150" display="inline"><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> by treating the <inline-formula><mml:math id="M151" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> direction implicitly and the <inline-formula><mml:math id="M152" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> direction explicitly:
          

            <disp-formula id="Ch1.E28.29" content-type="subnumberedon"><label>19a</label><mml:math id="M153" display="block"><mml:mrow><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced close="]" open="["><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>U</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ν</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ν</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mover accent="true"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ν</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ν</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mi>z</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msubsup><mml:mi>f</mml:mi><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e6119">The second half-step then advances the solution from <inline-formula><mml:math id="M154" display="inline"><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M155" display="inline"><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> by treating the <inline-formula><mml:math id="M156" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> direction implicitly and the <inline-formula><mml:math id="M157" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> direction explicitly:

            <disp-formula id="Ch1.E28.30" content-type="subnumberedoff"><label>19b</label><mml:math id="M158" display="block"><mml:mrow><mml:mtable rowspacing="0.2ex" class="split" displaystyle="true" columnalign="right left"><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>U</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>W</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ν</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ν</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mi>z</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo>=</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mfenced open="[" close="]"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>U</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi>V</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ν</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>D</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">ν</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="italic">ν</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>D</mml:mi><mml:mi>y</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd/><mml:mtd><mml:mrow><mml:mo>+</mml:mo><mml:msubsup><mml:mi>f</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:mi mathvariant="italic">ρ</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e6526">Equations (19a) and (19b) can be efficiently solved using a tri-diagonal matrix solver due to the banded nature of the differentiation stencils. Similar two-step, discretized equations can be written for Eqs. (<xref ref-type="disp-formula" rid="Ch1.E1.4"/>)–(<xref ref-type="disp-formula" rid="Ch1.E1.8"/>) and (<xref ref-type="disp-formula" rid="Ch1.E14"/>), noting that for the pressure solution, the steps in <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> are replaced with steps in <inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">τ</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e6555">To calculate a consistent solution for all flow variables, an iterative approach is used at every downstream position. As outlined in Algorithm <xref ref-type="other" rid="Ch1.Prog1"/>, starting from a known solution at <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> each of the governing equations is solved in sequence for the next values of <inline-formula><mml:math id="M162" display="inline"><mml:mrow><mml:msup><mml:mi>U</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M163" display="inline"><mml:mrow><mml:msup><mml:mi>V</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M164" display="inline"><mml:mrow><mml:msup><mml:mi>W</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M165" display="inline"><mml:mrow><mml:msup><mml:mi>k</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M166" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M167" display="inline"><mml:mrow><mml:msup><mml:mi mathvariant="normal">Θ</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M168" display="inline"><mml:mrow><mml:msup><mml:mi>p</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>. These solutions are repeated until the difference between successive iterations converge below a predefined tolerance.</p><boxed-text content-type="algorithm" position="float" id="Ch1.Prog1"><label>Algorithm 1</label><caption><p id="d2e6685">To advance the RANS solution to <inline-formula><mml:math id="M169" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> from <inline-formula><mml:math id="M170" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p></caption><disp-quote content-type="algorithmic" specific-use="numbering{0}"><list>

    <list-item>

      <p id="d2e6719" specific-use="STATE">Set iteration counter m=0</p>
            </list-item>

    <list-item>

      <p id="d2e6725" specific-use="STATE">Set <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ψ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> = <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ψ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> for <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:mi mathvariant="italic">ψ</mml:mi><mml:mo>=</mml:mo><mml:mi>U</mml:mi><mml:mo>,</mml:mo><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:mi>W</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">Θ</mml:mi><mml:mo>,</mml:mo><mml:mi>p</mml:mi></mml:mrow></mml:math></inline-formula></p>
            </list-item>

    <list-item>

      <p id="d2e6808" specific-use="WHILE"><bold>while</bold> <inline-formula><mml:math id="M174" display="inline"><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mi mathvariant="italic">ψ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup><mml:mo>-</mml:mo><mml:msubsup><mml:mi mathvariant="italic">ψ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:mo>|</mml:mo><mml:mo>&gt;</mml:mo><mml:msub><mml:mi mathvariant="italic">ε</mml:mi><mml:mrow><mml:mi>T</mml:mi><mml:mi>O</mml:mi><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> <bold>do</bold> <list>
    <list-item>
      <p id="d2e6885" specific-use="STATE">m=m+1</p></list-item>
    <list-item>
      <p id="d2e6890" specific-use="STATE">Calculate <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> from <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> using Eq. (19)</p></list-item>
    <list-item>
      <p id="d2e6936" specific-use="STATE">Calculate <inline-formula><mml:math id="M177" display="inline"><mml:mrow><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> from <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e6981" specific-use="STATE">Calculate <inline-formula><mml:math id="M179" display="inline"><mml:mrow><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> from <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:msubsup><mml:mi>W</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e7026" specific-use="STATE">Calculate <inline-formula><mml:math id="M181" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> from <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msubsup><mml:mi>k</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e7072" specific-use="STATE">Calculate <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> from <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e7117" specific-use="STATE">Calculate <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">Θ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> from <inline-formula><mml:math id="M186" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="normal">Θ</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d2e7162" specific-use="STATE">Calculate <inline-formula><mml:math id="M187" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula> from <inline-formula><mml:math id="M188" display="inline"><mml:mrow><mml:msubsup><mml:mi>p</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mi>n</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula></p></list-item></list></p>
            </list-item>

    <list-item>

      <p id="d2e7208" specific-use="ENDWHILE"><bold>end</bold> <bold>while</bold></p>
            </list-item>
          </list></disp-quote></boxed-text>
      <p id="d2e7217">The simulations presented below typically used grid sizes of <inline-formula><mml:math id="M189" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:mn mathvariant="normal">81</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">41</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> with mesh sizes of <inline-formula><mml:math id="M190" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M191" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 10 <inline-formula><mml:math id="M192" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M193" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 10 <inline-formula><mml:math id="M194" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> for the IEA 15 <inline-formula><mml:math id="M195" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbine. Initial refinement studies indicated that streamwise step sizes of <inline-formula><mml:math id="M196" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>R</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M197" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 0.5–1 were possible using this formulation, where <inline-formula><mml:math id="M198" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> <inline-formula><mml:math id="M199" display="inline"><mml:mo>=</mml:mo></mml:math></inline-formula> 120 <inline-formula><mml:math id="M200" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> is the turbine radius of the IEA 15 <inline-formula><mml:math id="M201" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula>, and provided a good balance between accuracy and computational efficiency. For the single-turbine runs discussed in Sect. <xref ref-type="sec" rid="Ch1.S4"/>, the simulations required between 10–25 <inline-formula><mml:math id="M202" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> on one Intel Xeon Platinum 8480+ CPU.</p>
</sec>
<sec id="Ch1.S2.SS4">
  <label>2.4</label><title>Actuator disk turbine model</title>
      <p id="d2e7379">The parabolic formulation of the RANS momentum Eqs. (<xref ref-type="disp-formula" rid="Ch1.E1.3"/>)–(<xref ref-type="disp-formula" rid="Ch1.E1.5"/>) provides a natural means to represent the wind turbine in the computational domain. Similar to other high-fidelity wind turbine simulation codes (see Sect. <xref ref-type="sec" rid="Ch1.S3.SS1"/>), the turbine rotor forces can be included as body forces in the momentum equations through an actuator disk model. Multiple choices of actuator disk models are available in the literature, but the initial comparisons shown in  Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/>–<xref ref-type="sec" rid="Ch1.S4.SS4"/> use the uniformly loaded actuator disk model due to its simplicity. In Sect. <xref ref-type="sec" rid="Ch1.S4.SS5"/>, comparisons of the turbine wake using the Joukowski actuator disk model <xref ref-type="bibr" rid="bib1.bibx41" id="paren.30"/> are shown and are able to capture additional effects, including veer–swirl interactions and more realistic near-wake profiles.</p>
      <p id="d2e7398">The initial uniformly loaded disk model computes the rotor disk forces based on the density <inline-formula><mml:math id="M203" display="inline"><mml:mi mathvariant="italic">ρ</mml:mi></mml:math></inline-formula>, thrust coefficient <inline-formula><mml:math id="M204" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, upstream velocity <inline-formula><mml:math id="M205" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mtext>up</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula>, and rotor normal <inline-formula><mml:math id="M206" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>:

            <disp-formula id="Ch1.E31" content-type="numbered"><label>20</label><mml:math id="M207" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mi mathvariant="italic">ρ</mml:mi><mml:msubsup><mml:mi>U</mml:mi><mml:mtext>up</mml:mtext><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mi>g</mml:mi><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mo>)</mml:mo><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">n</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e7495">The thrust coefficient is given as a predetermined function of the free-stream wind speed <inline-formula><mml:math id="M208" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mtext>up</mml:mtext></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M209" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mtext>up</mml:mtext></mml:msub></mml:mrow></mml:math></inline-formula> is computed using the rotor-averaged velocity from the solution immediately upstream of the turbine location. In Eq. (<xref ref-type="disp-formula" rid="Ch1.E31"/>) the actuator force <inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is applied to all points on the rotor disk with the hub location <inline-formula><mml:math id="M211" display="inline"><mml:mrow><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>. A blending function <inline-formula><mml:math id="M212" display="inline"><mml:mrow><mml:mi>g</mml:mi><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M213" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula>, is used to avoid a sharp discontinuity in the applied force at the rotor disk edge. In the current work, the hyperbolic tangent blending function

            <disp-formula id="Ch1.E32" content-type="numbered"><label>21</label><mml:math id="M214" display="block"><mml:mrow><mml:mi>g</mml:mi><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle><mml:mfenced open="[" close="]"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>tanh⁡</mml:mi><mml:mfenced close=")" open="("><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>r</mml:mi><mml:mo>-</mml:mo><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></disp-formula>

          is used, where <inline-formula><mml:math id="M215" display="inline"><mml:mrow><mml:msub><mml:mi>r</mml:mi><mml:mi mathvariant="normal">Δ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a smoothing parameter. Note that the actuator force <inline-formula><mml:math id="M216" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is calculated as a force per unit area and is divided by <inline-formula><mml:math id="M217" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi></mml:mrow></mml:math></inline-formula> to be included as a body force per unit volume in Eqs. (<xref ref-type="disp-formula" rid="Ch1.E1.3"/>)–(<xref ref-type="disp-formula" rid="Ch1.E1.5"/>). Multiple turbines and wake steering effects can be captured by superposing multiple actuator turbine forces and adjusting the directions of the rotor normals.</p>
</sec>
<sec id="Ch1.S2.SS5">
  <label>2.5</label><title>Calibration of the RANS model</title>
      <p id="d2e7748">The RANS closure model was calibrated by comparing the rotor plane velocity <inline-formula><mml:math id="M218" display="inline"><mml:mi>U</mml:mi></mml:math></inline-formula> in the RANS against corresponding planes from LES for the cases listed in Table <xref ref-type="table" rid="T3"/> to be described in more detail later. Similar to the approach in <xref ref-type="bibr" rid="bib1.bibx13" id="text.31"/>, the calibration only compares the rotor planes at a distance of <inline-formula><mml:math id="M219" display="inline"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M220" display="inline"><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> downstream of the turbine since the RANS model does not account for the hub and nacelle regions present in the LES. These downstream distances were also chosen based on the typical streamwise spacings and regions of interest for offshore wind farms, but the calibration process can be repeated using other downstream distances in future studies. The cost function for the calibration is the <inline-formula><mml:math id="M221" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="script">L</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> norm of the difference in the streamwise velocity between the LES and the RANS rotor planes. The extent of the rotor plane for the calibration is <inline-formula><mml:math id="M222" display="inline"><mml:mrow><mml:mi>y</mml:mi><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1.5</mml:mn><mml:mi>D</mml:mi><mml:mo>,</mml:mo><mml:mn mathvariant="normal">1.5</mml:mn><mml:mi>D</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> from the center of the turbine disk and <inline-formula><mml:math id="M223" display="inline"><mml:mrow><mml:mi>z</mml:mi><mml:mo>∈</mml:mo><mml:mo>[</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">400</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, discretized into a grid of uniformly spaced <inline-formula><mml:math id="M224" display="inline"><mml:mrow><mml:mo>[</mml:mo><mml:mn mathvariant="normal">50</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">21</mml:mn><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> points. The parameters for calibration were picked to be the coefficients, <inline-formula><mml:math id="M225" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="italic">μ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M226" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, of the <inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> RANS closure model and the coefficient <inline-formula><mml:math id="M229" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the inflow boundary conditions in Eq. (<xref ref-type="disp-formula" rid="Ch1.E20"/>). The <monospace>L-BFGS-B</monospace> <xref ref-type="bibr" rid="bib1.bibx9 bib1.bibx49" id="paren.32"/> algorithm as implemented in SciPy was used for the calibration. The optimal values from this calibration were <inline-formula><mml:math id="M230" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="italic">μ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.076</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M231" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.46</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M232" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">ε</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1.92</mml:mn></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M233" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.72</mml:mn></mml:mrow></mml:math></inline-formula> for the case with medium wind speed (WS) and <inline-formula><mml:math id="M234" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.40</mml:mn></mml:mrow></mml:math></inline-formula> for the low-WS case. Comparisons of calibrated RANS results in Figs. <xref ref-type="fig" rid="F4"/>, <xref ref-type="fig" rid="F5"/>, and <xref ref-type="fig" rid="F7"/> show qualitative agreement between the wake velocity planes from the calibration cases, especially at <inline-formula><mml:math id="M235" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M236" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>. As further validation, Fig. <xref ref-type="fig" rid="F6"/> shows great qualitative agreement between turbulent kinetic energy (TKE) in the RANS and the LES calculations, noting that TKE was not used as part of the calibration calculations. These results are further discussed in Sect. <xref ref-type="sec" rid="Ch1.S4"/>.</p>

<table-wrap id="T2"><label>Table 2</label><caption><p id="d2e8056">Input parameters for the low- and high-WS stable-atmosphere cases.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="3">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Parameter</oasis:entry>
         <oasis:entry colname="col2">Low WS</oasis:entry>
         <oasis:entry colname="col3">Med WS</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Surface roughness <inline-formula><mml:math id="M237" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M238" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">0.0001</oasis:entry>
         <oasis:entry colname="col3">0.00004</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Surface heat flux <inline-formula><mml:math id="M239" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M240" display="inline"><mml:mrow><mml:msup><mml:mtext>W/m</mml:mtext><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M241" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>1.5</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M242" display="inline"><mml:mo>-</mml:mo></mml:math></inline-formula>6</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Wall temperature  <inline-formula><mml:math id="M243" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M244" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">284.15</oasis:entry>
         <oasis:entry colname="col3">283.3</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Obukhov length <inline-formula><mml:math id="M245" display="inline"><mml:mi>L</mml:mi></mml:math></inline-formula> [<inline-formula><mml:math id="M246" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">500</oasis:entry>
         <oasis:entry colname="col3">275</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Friction velocity <inline-formula><mml:math id="M247" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mo>∗</mml:mo></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M248" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">0.175</oasis:entry>
         <oasis:entry colname="col3">0.2125</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Lapse rate <inline-formula><mml:math id="M249" display="inline"><mml:mi mathvariant="normal">Γ</mml:mi></mml:math></inline-formula> [<inline-formula><mml:math id="M250" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">K</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msup><mml:mi mathvariant="normal">m</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">0.0</oasis:entry>
         <oasis:entry colname="col3">0.002</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

<table-wrap id="T3" specific-use="star"><label>Table 3</label><caption><p id="d2e8303">Hub-height wind speed conditions used in the turbine wake study. All values are taken from the simulated atmospheric boundary layer as described in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>. Note that the calculation of TI in the table is based on the standard deviation of the horizontal velocity, non-dimensionalized by the mean of the horizontal velocity.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="5">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="right"/>
     <oasis:colspec colnum="3" colname="col3" align="right"/>
     <oasis:colspec colnum="4" colname="col4" align="right"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Name</oasis:entry>
         <oasis:entry colname="col2">Wind speed (WS) [<inline-formula><mml:math id="M251" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col3">Turb. intensity (TI)</oasis:entry>
         <oasis:entry colname="col4">Shear exponent</oasis:entry>
         <oasis:entry colname="col5">Rotor disk veer [°]</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Low WS</oasis:entry>
         <oasis:entry colname="col2">6.52</oasis:entry>
         <oasis:entry colname="col3">0.036</oasis:entry>
         <oasis:entry colname="col4">0.142</oasis:entry>
         <oasis:entry colname="col5">7.9</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Med WS</oasis:entry>
         <oasis:entry colname="col2">9.05</oasis:entry>
         <oasis:entry colname="col3">0.031</oasis:entry>
         <oasis:entry colname="col4">0.160</oasis:entry>
         <oasis:entry colname="col5">8.9</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Simulation comparison details</title>
      <p id="d2e8412">In the following sections, we provide details on the high-fidelity LES methodology used for calibration and comparisons of the RANS models. The equivalent semi-empirical FLORIS wake models are also discussed, and information on the atmospheric conditions and turbine configuration used in this study is included in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>.</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Kynema-SGF code description</title>
      <p id="d2e8424">Following an approach similar to that described in <xref ref-type="bibr" rid="bib1.bibx13" id="text.33"/>, LES data were collected for calibration and comparison purposes by performing simulations with Kynema-SGF (formerly AMR-Wind) <xref ref-type="bibr" rid="bib1.bibx39 bib1.bibx42 bib1.bibx28" id="paren.34"/>, a massively parallel, block-structured adaptive-mesh solver designed for simulating wind turbines and wind farms. Kynema-SGF solves the incompressible and low-Mach-number formulations of the Navier–Stokes equations with transport equations for temperature, subgrid-scale kinetic energy, and additional scalars required for wind farm LES. The spatial discretization employs a second-order finite-volume method, coupled with a second-order temporal-integration scheme. Kynema-SGF includes comprehensive atmospheric boundary layer (ABL) physics modules: ABL forcing, Boussinesq buoyancy, Coriolis effects, and body forcing to preserve precursor-derived inflow conditions under turbine blockage. It also includes forcing terms from an actuator line turbine representation (following implementations in <xref ref-type="bibr" rid="bib1.bibx8" id="altparen.35"/>, and <xref ref-type="bibr" rid="bib1.bibx23" id="altparen.36"/>) that is derived from coupling to OpenFAST <xref ref-type="bibr" rid="bib1.bibx27 bib1.bibx36 bib1.bibx7" id="paren.37"/>. The framework leverages AMReX for data structures, parallelism abstractions, and performance portability across heterogeneous computing architectures <xref ref-type="bibr" rid="bib1.bibx48" id="paren.38"/>, demonstrating robust performance across diverse systems and applications <xref ref-type="bibr" rid="bib1.bibx16 bib1.bibx21 bib1.bibx22" id="paren.39"/>.</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>FLORIS model description</title>
      <p id="d2e8457">The RANS model is compared to a steady-state engineering model using the FLOw Redirection and Induction in Steady-state (FLORIS) tool <xref ref-type="bibr" rid="bib1.bibx37" id="paren.40"/>. FLORIS is a widely used wind farm simulation software designed for wind farm layout and control optimization that can predict the time-averaged three-dimensional flow field and turbine power of a wind farm. Following <xref ref-type="bibr" rid="bib1.bibx47" id="text.41"/>, the empirical Gaussian model in FLORIS is used here to represent the steady-state wakes. In this model, the normalized wake velocity deficit, <inline-formula><mml:math id="M252" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">∞</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, is represented by a Gaussian centered on lateral and vertical wake centers, <inline-formula><mml:math id="M253" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M254" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>z</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, as

            <disp-formula id="Ch1.E33" content-type="numbered"><label>22</label><mml:math id="M255" display="block"><mml:mrow><mml:mi>u</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">∞</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>C</mml:mi><mml:mi>exp⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>y</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">δ</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mi>z</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d2e8629">The standard deviations, <inline-formula><mml:math id="M256" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, represent the wake widths as a function of streamwise distance, <inline-formula><mml:math id="M257" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, and are modeled as

            <disp-formula id="Ch1.E34" content-type="numbered"><label>23</label><mml:math id="M258" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mo>=</mml:mo><mml:munderover><mml:mo movablelimits="false">∫</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mi>x</mml:mi></mml:munderover><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msub><mml:mn mathvariant="bold">1</mml:mn><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:msup><mml:mi>x</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>)</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo><mml:mi mathvariant="normal">d</mml:mi><mml:msup><mml:mi>x</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          which depends on several adjustable parameters, including a constant initial wake width, <inline-formula><mml:math id="M259" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">σ</mml:mi><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, and a set of parameters, <inline-formula><mml:math id="M260" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, that control the wake expansion rate between break-point locations <inline-formula><mml:math id="M261" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M262" display="inline"><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. For each turbine (indexed by <inline-formula><mml:math id="M263" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>), the wake widths also include a mixing term, <inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, that represents the effects of atmospheric turbulence intensity (TI) and wake overlap on wake spreading as

                <disp-formula id="Ch1.E35" content-type="numbered"><label>24</label><mml:math id="M265" display="block"><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi>M</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub><mml:msqrt><mml:mrow><mml:mfenced open="[" close="]"><mml:mrow><mml:munderover><mml:mo movablelimits="false">∑</mml:mo><mml:mstyle scriptlevel="+1"><mml:mtable class="substack"><mml:mtr><mml:mtd><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>i</mml:mi><mml:mo>≠</mml:mo><mml:mi>j</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mstyle><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>u</mml:mi><mml:mi>r</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:munderover><mml:msup><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>)</mml:mo><mml:mo>/</mml:mo><mml:msub><mml:mi>D</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mi>I</mml:mi><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfenced></mml:mrow></mml:msqrt><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>

          where <inline-formula><mml:math id="M266" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> quantifies the area of overlap of the wake of turbine <inline-formula><mml:math id="M267" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula> onto turbine <inline-formula><mml:math id="M268" display="inline"><mml:mi>j</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the axial induction factor of the <inline-formula><mml:math id="M270" display="inline"><mml:mi>i</mml:mi></mml:math></inline-formula>th turbine, and <inline-formula><mml:math id="M271" display="inline"><mml:mi>I</mml:mi></mml:math></inline-formula> is the turbulence intensity. The parameters <inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ω</mml:mi><mml:mi mathvariant="normal">v</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M273" display="inline"><mml:mi mathvariant="italic">γ</mml:mi></mml:math></inline-formula> can be adjusted to control the strength of the wake mixing term.</p>
      <p id="d2e9077">In <xref ref-type="bibr" rid="bib1.bibx47" id="text.42"/>, the empirical Gaussian model in FLORIS was calibrated using LES data from a <inline-formula><mml:math id="M274" display="inline"><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mo>×</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> array of IEA 15 <inline-formula><mml:math id="M275" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> turbines operating in one of the stable-wind-condition scenarios considered in this study, specifically the med-WS case described in Sect. <xref ref-type="sec" rid="Ch1.S3.SS3"/>. Therefore, the calibrated empirical Gaussian parameters from <xref ref-type="bibr" rid="bib1.bibx47" id="text.43"/> are directly applied here to compare FLORIS with the LES and RANS models. It is important to note that <xref ref-type="bibr" rid="bib1.bibx47" id="text.44"/> focused on estimating annual energy production (AEP) for different wind farm flow control strategies and therefore calibrated the empirical Gaussian parameters based on turbine power rather than wake quantities of interest, which are the focus here.</p>
</sec>
<sec id="Ch1.S3.SS3">
  <label>3.3</label><title>Simulation cases</title>
      <p id="d2e9120">The comparisons between the RANS model, high-fidelity LES, and FLORIS calculations were done using two scenarios under stably stratified atmospheric conditions. These conditions were previously studied by <xref ref-type="bibr" rid="bib1.bibx17" id="text.45"/>, <xref ref-type="bibr" rid="bib1.bibx8" id="text.46"/>, and <xref ref-type="bibr" rid="bib1.bibx13" id="text.47"/> and contain the necessary shear, veer, and stratification effects for evaluating the accuracy of the parabolic RANS model. As described in <xref ref-type="bibr" rid="bib1.bibx8" id="text.48"/>, the offshore ABL conditions are derived from floating-buoy lidar measurements taken near the coast of the New York Bight. Two scenarios representative of low-TI, stable conditions with wind speeds below rated were selected for this study (Tables <xref ref-type="table" rid="T2"/> and <xref ref-type="table" rid="T3"/>). In Kynema-SGF, the precursor ABL simulations were generated by imposing negative surface ground temperature rates and adjusting the surface roughness <inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> until the horizontally averaged ABL profiles matched the desired targets. Similarly, the surface heat flux <inline-formula><mml:math id="M277" display="inline"><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi mathvariant="normal">w</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the surface roughness <inline-formula><mml:math id="M278" display="inline"><mml:mrow><mml:msub><mml:mi>z</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> were adjusted under RANS inflow conditions to match the measured lidar profiles.</p>

      <fig id="F2" specific-use="star"><label>Figure 2</label><caption><p id="d2e9175">Inflow comparison between the RANS model, Kynema-SGF LES, and the floating-buoy lidar data for the horizontal wind speed <inline-formula><mml:math id="M279" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> and veer <inline-formula><mml:math id="M280" display="inline"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> profiles for the two ABL scenarios in Table <xref ref-type="table" rid="T3"/>.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f02.png"/>

        </fig>

      <fig id="F3"><label>Figure 3</label><caption><p id="d2e9219">The comparison of the inflow temperature <inline-formula><mml:math id="M281" display="inline"><mml:mrow><mml:mi mathvariant="normal">Θ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> profiles between RANS and the Kynema-SGF LES computations.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f03.png"/>

        </fig>

      <p id="d2e9243">A comparison of the Kynema-SGF LES, RANS, and buoy lidar profiles is shown in Figs. <xref ref-type="fig" rid="F2"/> and <xref ref-type="fig" rid="F3"/>. For both the low-WS and med-WS cases, close agreement is observed between the Kynema-SGF and RANS horizontal velocity <inline-formula><mml:math id="M282" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> profiles, as well as with the lidar measurements. Figure <xref ref-type="fig" rid="F2"/> also shows that the linear veer profile <inline-formula><mml:math id="M283" display="inline"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>(</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> used in the RANS inflow also matches the Kynema-SGF LES veer profile over the rotor disk.</p>
      <p id="d2e9277">The offshore IEA 15 <inline-formula><mml:math id="M284" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbine is used for all wake comparisons in this study. The major characteristics of the IEA 15 <inline-formula><mml:math id="M285" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> turbine are given in Table <xref ref-type="table" rid="T4"/>, with additional details provided by <xref ref-type="bibr" rid="bib1.bibx18" id="text.49"/>. In the Kynema-SGF LES simulations, the OpenFAST actuator line representation of the IEA 15 <inline-formula><mml:math id="M286" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> turbine is used with the open-source ROSCO <xref ref-type="bibr" rid="bib1.bibx35" id="paren.50"/> wind turbine controller. For the parabolic RANS and FLORIS model, the variation in the thrust coefficient <inline-formula><mml:math id="M287" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> with wind speed is specified to match the operating curve of the IEA 15 <inline-formula><mml:math id="M288" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> design.  In the single-turbine RANS calculations, the lateral and vertical extents were 800 <inline-formula><mml:math id="M289" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M290" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 400 <inline-formula><mml:math id="M291" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>.</p>

<table-wrap id="T4"><label>Table 4</label><caption><p id="d2e9358">Details of the IEA 15 <inline-formula><mml:math id="M292" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbine.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="2">
     <oasis:colspec colnum="1" colname="col1" align="left"/>
     <oasis:colspec colnum="2" colname="col2" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">Turbine parameter</oasis:entry>
         <oasis:entry colname="col2">Value</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Hub height</oasis:entry>
         <oasis:entry colname="col2">150 <inline-formula><mml:math id="M293" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rotor diameter <inline-formula><mml:math id="M294" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">240 <inline-formula><mml:math id="M295" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Rated wind speed</oasis:entry>
         <oasis:entry colname="col2">10.59 <inline-formula><mml:math id="M296" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Design <inline-formula><mml:math id="M297" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col2">0.804</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Design tip speed ratio (TSR)</oasis:entry>
         <oasis:entry colname="col2">9.0</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>


</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Wind turbine wake comparisons</title>
      <p id="d2e9496">Comparisons of wake behavior between the SANDWake3D RANS model, Kynema-SGF LES, and FLORIS calculations are discussed in the following sections. The results for a single-turbine wake under low-WS and med-WS ABL conditions are considered first in Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/>, before examining the two-turbine case in Sect. <xref ref-type="sec" rid="Ch1.S4.SS3"/>.  Lastly, the RANS model is demonstrated on a nine-turbine wind farm configuration in Sect. <xref ref-type="sec" rid="Ch1.S4.SS4"/>.</p>
      <p id="d2e9505">Note that in the following discussions regarding turbulence, the comparison of the turbulent kinetic energy <inline-formula><mml:math id="M298" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> in RANS with the same quantity in the LES is limited by the fundamental assumptions used within the simulations themselves. The turbulence in the RANS calculations is determined by the closure model used in the <inline-formula><mml:math id="M299" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> formulation and assumed to be isotropic, while the majority of the turbulence is directly calculated in the LES and is shown to be anisotropic for stratified flows. Thus, a direct comparison of the two quantities should be interpreted from a qualitative standpoint, and quantitative differences may appear due to the nature of the calculations.</p>

      <fig id="F4" specific-use="star"><label>Figure 4</label><caption><p id="d2e9529">Comparison of the streamwise velocity <inline-formula><mml:math id="M300" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for low-WS inflow conditions, as computed by the Kynema-SGF LES, SANDWake3D RANS, and FLORIS empirical Gaussian methods. Contours of <inline-formula><mml:math id="M301" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are plotted with units of <inline-formula><mml:math id="M302" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> at distances <inline-formula><mml:math id="M303" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M304" display="inline"><mml:mn mathvariant="normal">4</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M305" display="inline"><mml:mn mathvariant="normal">6</mml:mn></mml:math></inline-formula>, and <inline-formula><mml:math id="M306" display="inline"><mml:mn mathvariant="normal">8</mml:mn></mml:math></inline-formula> downstream of the turbine. The dashed circle corresponds to the location of the rotor disk of the IEA 15 <inline-formula><mml:math id="M307" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbine.</p></caption>
        <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f04.png"/>

      </fig>

<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Single-turbine cases</title>
      <p id="d2e9645">A qualitative view of the wake evolution for the single-turbine configuration under low-WS ABL conditions is provided in Fig. <xref ref-type="fig" rid="F4"/>. In this figure, the steady streamwise velocities for the LES, RANS, and FLORIS models are displayed at various rotor planes at different downstream distances ranging from <inline-formula><mml:math id="M308" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M309" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">8</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>. From these plots, several observations can be made regarding the choice of wake model on the predicted wake behavior. When comparing the LES solutions against the RANS in the far wake, for <inline-formula><mml:math id="M310" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>, we see a similar degree of wake skew and stretching due to the ambient veer in the ABL. In the near-wake region, some differences in the centerline wake deficit can be seen, and this can be attributed to the difference between the uniformly loaded disk model in RANS and the actuator line model in Kynema-SGF. The latter model includes a nacelle and hub drag model and also captures the variation in loading near the blade root sections. This leads to lower centerline wake deficits compared to the RANS model immediately downstream of the rotor at <inline-formula><mml:math id="M311" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>, although this difference is less apparent by <inline-formula><mml:math id="M312" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d2e9721">Compared to the LES and RANS results, the FLORIS empirical Gaussian model also generally captures the wake spread and deficit behavior for the single-turbine configuration and also accounts for the ambient shear from the inflow. However, the effects of veer are not directly included in the empirical Gaussian model, which instead reduces the overall wake deficit to account for the effects of veer on the power of downstream turbines. Wake skewing and stretching are also not present in the FLORIS wake results, which remain axisymmetric at all downstream locations by design.</p>

      <fig id="F5" specific-use="star"><label>Figure 5</label><caption><p id="d2e9726">Comparison of the streamwise velocity <inline-formula><mml:math id="M313" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for med-WS inflow conditions, as computed by the Kynema-SGF LES, SANDWake3D RANS, and FLORIS empirical Gaussian methods. Contours of <inline-formula><mml:math id="M314" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are plotted with units of <inline-formula><mml:math id="M315" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> at distances <inline-formula><mml:math id="M316" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M317" display="inline"><mml:mn mathvariant="normal">4</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M318" display="inline"><mml:mn mathvariant="normal">6</mml:mn></mml:math></inline-formula>, and <inline-formula><mml:math id="M319" display="inline"><mml:mn mathvariant="normal">8</mml:mn></mml:math></inline-formula> downstream of the turbine. The dashed circle corresponds to the location of the rotor disk of the IEA 15 <inline-formula><mml:math id="M320" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbine.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f05.png"/>

        </fig>

      <p id="d2e9835">A similar comparison of the turbine wake behavior for med-WS conditions is shown in Fig. <xref ref-type="fig" rid="F5"/>, and similar conclusions can be drawn between the LES, RANS, and FLORIS models. Both Kynema-SGF and SANDWake3D capture the effects of wake skewing and wake stretching, as opposed to the empirical Gaussian model. In the med-WS scenario, we also observe a unique impact of veer on the wake development in the LES and RANS results, where the wake deficits persist much farther downstream at lower elevations compared to higher elevations.</p>

      <fig id="F6" specific-use="star"><label>Figure 6</label><caption><p id="d2e9842">Comparison of the normalized turbulent kinetic energy for low- and med-WS inflow conditions, as computed by the Kynema-SGF LES and  SANDWake3D RANS methods. Contours of non-dimensionalized TKE are plotted at distances <inline-formula><mml:math id="M321" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M322" display="inline"><mml:mn mathvariant="normal">4</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M323" display="inline"><mml:mn mathvariant="normal">6</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M324" display="inline"><mml:mn mathvariant="normal">8</mml:mn></mml:math></inline-formula>, and <inline-formula><mml:math id="M325" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula> downstream of the turbine. The dashed circle corresponds to the location of the rotor disk of the IEA 15 <inline-formula><mml:math id="M326" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbine.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f06.png"/>

        </fig>

      <p id="d2e9904">The amount of wake-generated turbulence in the single-turbine cases can be examined in both the LES and RANS models. While the resolved TKE in the Kynema-SGF calculations and the modeled TKE in the RANS model are not directly equivalent quantities, the two can provide some indication for the degree of mixing happening inside the wake. Contours of the TKE for both the low-WS and med-WS cases are shown in Fig. <xref ref-type="fig" rid="F6"/> at different distances downstream. As expected, the TKE distribution generally aligns with the regions of wake shear, and the overall magnitude and evolution of TKE in the RANS model agrees with the results from the LES calculations. Note that in these cases with both shear and veer, the TKE is less heavily concentrated near the lower surface, which might explain the persistence of the wake deficit at lower elevations.</p>

      <fig id="F7" specific-use="star"><label>Figure 7</label><caption><p id="d2e9911">Hub-height profiles of the normalized velocity and normalized TKE <inline-formula><mml:math id="M327" display="inline"><mml:mrow><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>k</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msqrt><mml:mo>/</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the single-turbine wake under low-WS and med-WS ABL conditions, as computed by the Kynema-SGF LES and SANDWake3D RANS codes.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f07.png"/>

        </fig>

      <p id="d2e9943">A more quantitative assessment of the RANS wake model is presented in Fig. <xref ref-type="fig" rid="F7"/> for both the low-WS and med-WS scenarios. In those figures, the hub-height velocity and TKE profiles are plotted for both the LES and RANS solutions. Downstream of the near-wake region, the normalized velocity profiles show good agreement between the two solution methods. While the peak values of the TKE profile are underestimated in the RANS model, the overall magnitude and distribution of the wake added turbulence are well captured by SANDWake3D.</p>

      <fig id="F8"><label>Figure 8</label><caption><p id="d2e9951"><bold>(a)</bold> Definition of the wake skew angle <inline-formula><mml:math id="M328" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula>. Downstream evolution of the wake skew <inline-formula><mml:math id="M329" display="inline"><mml:mrow><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> for the <bold>(b)</bold> low-WS and <bold>(c)</bold> med-WS case.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f08.png"/>

        </fig>

      <p id="d2e9989">Also of particular interest is the examination of the behavior of the wake skew angle in the different wake models. Here, the wake skew angle is calculated using the vertical angle of the wake's major axis, as defined by the locations of the maximum wake deficit at the upper- and lower-rotor-tip heights (Fig. <xref ref-type="fig" rid="F8"/>). As expected, this skew angle is nearly constant and close to 90° at all distances downstream for all of the FLORIS calculations. In the parabolic RANS approach, we see that the skew angles monotonically decrease in the downstream direction, and this trend is well captured when compared to the LES calculations for the med-WS case. The same trend is present in the low-WS case, although the RANS result is shifted compared to the LES. In the near-wake region, both the RANS and LES begin with similar <inline-formula><mml:math id="M330" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> angles, but a slower evolution of <inline-formula><mml:math id="M331" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> is observed in the LES data between <inline-formula><mml:math id="M332" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi>D</mml:mi><mml:mo>≤</mml:mo><mml:mi>x</mml:mi><mml:mo>≤</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>, resulting in an offset of approximately <inline-formula><mml:math id="M333" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:msub><mml:mo>≈</mml:mo></mml:mrow></mml:math></inline-formula> 12°. The underlying reason behind this offset is a matter of ongoing research, but the overall trends are consistent in the parabolized RANS model.</p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Convective onshore case</title>
      <p id="d2e10049">In addition to the stable offshore conditions discussed in Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/>, the turbine wake from a convectively unstable ABL inflow was also considered. The inflow conditions are identical to the slightly convective ABL case described in the ExaWind benchmark repository <xref ref-type="bibr" rid="bib1.bibx44" id="paren.51"/>, with a hub-height velocity of 11.4 <inline-formula><mml:math id="M334" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> and no appreciable veer over the rotor disk. While this case was not included in the calibration process, the same values of <inline-formula><mml:math id="M335" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="italic">μ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M336" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M337" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> from Sect. <xref ref-type="sec" rid="Ch1.S2.SS5"/> are used to test their general applicability. A value of <inline-formula><mml:math id="M338" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.40</mml:mn></mml:mrow></mml:math></inline-formula> was chosen to match the inflow turbulence level at hub height. As shown in Fig. <xref ref-type="fig" rid="F9"/>, the inflow velocity and veer profiles from the parabolized RANS approach agree well with the Kynema-SGF LES profiles.</p>

      <fig id="F9"><label>Figure 9</label><caption><p id="d2e10135">Comparison of the inflow horizontal velocity and veer profiles for the onshore convective ABL case in Sect. <xref ref-type="sec" rid="Ch1.S4.SS2"/>.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f09.png"/>

        </fig>

      <fig id="F10"><label>Figure 10</label><caption><p id="d2e10148">Comparison of the normalized hub-height velocity and turbulent kinetic energy wake profiles for the onshore convective ABL case with the NREL 5 MW turbine.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f10.png"/>

        </fig>

      <p id="d2e10158">The turbine used in this case is the NREL 5 <inline-formula><mml:math id="M339" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbine, with a hub height of 90 <inline-formula><mml:math id="M340" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> and a rotor diameter of 126 <inline-formula><mml:math id="M341" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula>, and in the Kynema-SGF LES simulation it was run with a fixed rotor speed of 12.1 <inline-formula><mml:math id="M342" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">rpm</mml:mi></mml:mrow></mml:math></inline-formula> and a fixed blade pitch of 0°. A comparison of the hub-height velocity and TKE profiles between the LES and SANDWake3D calculations is shown in Fig. <xref ref-type="fig" rid="F10"/>. Similar to the results of Sect. <xref ref-type="sec" rid="Ch1.S4.SS1"/>, the evolution of the wake deficit and width is well captured by the parabolized RANS approach. Note that the LES wake profiles show evidence of lateral asymmetry due to the presence of large-scale structures in the flow which are not modeled in RANS. The downstream TKE profiles also show similar agreement between the two methods, particularly for the downstream locations <inline-formula><mml:math id="M343" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>&gt;</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Two-turbine offshore case</title>
      <p id="d2e10222">Additional simulations were carried out using the SANDWake3D model on a two-turbine configuration and evaluated against the counterpart Kynema-SGF calculations. In this case, a second IEA 15 <inline-formula><mml:math id="M344" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbine was placed <inline-formula><mml:math id="M345" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> downstream of the first IEA 15 <inline-formula><mml:math id="M346" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> turbine in the med-WS ABL conditions. This matches the two-turbine configuration studied in previous works <xref ref-type="bibr" rid="bib1.bibx17" id="paren.52"/> and allows the accuracy of the wake and turbulence superposition capabilities of the parabolic RANS model to be assessed against higher-fidelity models.</p>

      <fig id="F11"><label>Figure 11</label><caption><p id="d2e10256">The streamwise velocity (top) and normalized TKE <inline-formula><mml:math id="M347" display="inline"><mml:mrow><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>k</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msqrt><mml:mo>/</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (bottom) on the hub-height plane for the two-turbine configuration. Note that all streamwise distances are measured from the upstream turbine at <inline-formula><mml:math id="M348" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, and the second turbine is located at <inline-formula><mml:math id="M349" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f11.png"/>

        </fig>

      <p id="d2e10320">Hub-height contours of the time-averaged velocity and TKE between the Kynema-SGF LES and SANDWake3D RANS model are shown in Fig. <xref ref-type="fig" rid="F11"/>. Due to the parabolic nature of the problem, the RANS results upstream of <inline-formula><mml:math id="M350" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> remain unchanged, but the inclusion of the second turbine still resulted in very favorable comparisons with the LES without any additional adjustments of the calibration coefficients or changes to the boundary conditions. From the hub-height velocity contour comparisons, the qualitative behavior of the wake deficit and wake spread of the downstream turbine wake matches the LES calculations. Similarly, the distribution and magnitude of TKE in the downstream wake predicted by the RANS model generally matches the resolved TKE computed by Kynema-SGF.</p>

      <fig id="F12"><label>Figure 12</label><caption><p id="d2e10342">Hub-height profiles of the normalized velocity and TKE for the two-turbine configuration under med-WS ABL conditions, as computed by the Kynema-SGF LES and SANDWake3D RANS codes. Note that all streamwise distances are measured from the upstream turbine at <inline-formula><mml:math id="M351" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, and the second turbine is located at <inline-formula><mml:math id="M352" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f12.png"/>

        </fig>

      <p id="d2e10383">A more quantitative comparison of the hub-height velocities and TKE is provided in Fig. <xref ref-type="fig" rid="F12"/>. Of particular interest are the hub-height and velocity profiles close to the second turbine location and farther downstream in the second wake. Within the first diameter of the second rotor, at <inline-formula><mml:math id="M353" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math id="M354" display="inline"><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>, both the velocity and TKE profile are well captured, and the centerline differences immediately downstream of the nacelle region are not as pronounced as in the single-turbine comparisons. The increase in the RANS wake added turbulence at <inline-formula><mml:math id="M355" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> due to the presence of the second turbine also agrees well with the LES calculations. Farther downstream, the RANS wake profiles continue to show good agreement with the LES profiles. However, the RANS TKE profiles at <inline-formula><mml:math id="M356" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">8</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math id="M357" display="inline"><mml:mrow><mml:mn mathvariant="normal">9</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> underpredict the peak magnitude of wake-added turbulence, although the general distribution still qualitatively agrees.</p>

      <fig id="F13" specific-use="star"><label>Figure 13</label><caption><p id="d2e10453">Rotor plane contours of the streamwise velocity and normalized TKE <inline-formula><mml:math id="M358" display="inline"><mml:mrow><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>k</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msqrt><mml:mo>/</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the two-turbine configuration in the  med-WS inflow. Note that all streamwise distances are measured from the upstream turbine at <inline-formula><mml:math id="M359" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, and the second turbine is located at <inline-formula><mml:math id="M360" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f13.png"/>

        </fig>

      <p id="d2e10517">The three-dimensional nature of the downstream wake evolution is shown in Fig. <xref ref-type="fig" rid="F13"/>. Within the first diameter downstream of the second turbine, at <inline-formula><mml:math id="M361" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math id="M362" display="inline"><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>, the interaction of the second turbine wake with the skewed wake from the first turbine is well represented using the current parabolic RANS approach. Farther downstream at <inline-formula><mml:math id="M363" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">8</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>–<inline-formula><mml:math id="M364" display="inline"><mml:mrow><mml:mn mathvariant="normal">9</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>, the eventual merging of both wakes into a single skewed wake is also consistent between the LES and RANS models. From Fig. <xref ref-type="fig" rid="F13"/>, the evolution of TKE in the second wake using the parabolic RANS model also matches the observed TKE distribution from the Kynema-SGF LES results, although the peak turbulence values are stronger in the LES.</p>
</sec>
<sec id="Ch1.S4.SS4">
  <label>4.4</label><title>Wind farm case</title>
      <p id="d2e10581">In the last demonstration of the RANS model's capabilities, we simulated a nine-turbine wind farm configuration using both SANDWake3D and Kynema-SGF. This configuration matches a case studied by <xref ref-type="bibr" rid="bib1.bibx47" id="text.53"/> and involves a three-row wind farm in the 9 <inline-formula><mml:math id="M365" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> med-WS inflow scenario, with IEA 15 <inline-formula><mml:math id="M366" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbines spaced <inline-formula><mml:math id="M367" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> in both the lateral and streamwise directions. The full LES domain was 10 <inline-formula><mml:math id="M368" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M369" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 10 <inline-formula><mml:math id="M370" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>, while the RANS domain was approximately 4 <inline-formula><mml:math id="M371" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M372" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 4 <inline-formula><mml:math id="M373" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">km</mml:mi></mml:mrow></mml:math></inline-formula>. The computational expense of the simulations was approximately 86 400 GPU-<inline-formula><mml:math id="M374" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula> and 4 CPU-<inline-formula><mml:math id="M375" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">min</mml:mi></mml:mrow></mml:math></inline-formula>, respectively, for the LES and RANS methods.</p>

      <fig id="F14" specific-use="star"><label>Figure 14</label><caption><p id="d2e10688">The streamwise velocity on the hub-height plane for the three-row turbine wind farm configuration in the med-WS inflow, as computed by the Kynema-SGF LES and SANDWake3D RANS methods. The nine IEA 15 <inline-formula><mml:math id="M376" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> turbines are spaced <inline-formula><mml:math id="M377" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> apart in both the lateral and streamwise directions.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f14.png"/>

        </fig>

      <fig id="F15" specific-use="star"><label>Figure 15</label><caption><p id="d2e10717">Rotor plane contours of the streamwise velocity, in <inline-formula><mml:math id="M378" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula>, for the nine-turbine wind farm configuration in the  med-WS inflow. Note that all streamwise distances are measured from the first turbine row at <inline-formula><mml:math id="M379" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, the second turbine row is located at <inline-formula><mml:math id="M380" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>, and the third is located at <inline-formula><mml:math id="M381" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>. Note that <inline-formula><mml:math id="M382" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the lateral coordinate measured from the center turbine.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f15.png"/>

        </fig>

      <fig id="F16" specific-use="star"><label>Figure 16</label><caption><p id="d2e10805">Rotor plane contours of the normalized TKE <inline-formula><mml:math id="M383" display="inline"><mml:mrow><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>k</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msqrt><mml:mo>/</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the nine-turbine wind farm configuration in the med-WS inflow. Note that all streamwise distances are measured from the first turbine row at <inline-formula><mml:math id="M384" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, the second turbine row is located at <inline-formula><mml:math id="M385" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>, and the third is located at <inline-formula><mml:math id="M386" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>. Note that <inline-formula><mml:math id="M387" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the lateral coordinate measured from the center turbine.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f16.png"/>

        </fig>

      <fig id="F17" specific-use="star"><label>Figure 17</label><caption><p id="d2e10898">Hub-height profiles of the normalized velocity for the nine-turbine wind farm configuration under med-WS ABL conditions, as computed by the Kynema-SGF LES and SANDWake3D RANS codes. Note that all streamwise distances are measured from the first turbine row at <inline-formula><mml:math id="M388" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>, the second turbine row is located at <inline-formula><mml:math id="M389" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula>, and the third is located at <inline-formula><mml:math id="M390" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn></mml:mrow></mml:math></inline-formula>. Note that <inline-formula><mml:math id="M391" display="inline"><mml:mrow><mml:msub><mml:mi>L</mml:mi><mml:mi>y</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the lateral coordinate measured from the center turbine.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f17.png"/>

        </fig>

      <p id="d2e10966">A qualitative comparison of the solutions is provided in Figs. <xref ref-type="fig" rid="F14"/>–<xref ref-type="fig" rid="F16"/>. From the hub-height comparisons of the streamwise velocity in Fig. <xref ref-type="fig" rid="F14"/>, we see that the general wake spread and wake deficit magnitudes are captured by the RANS model. The effects of veer on the second- and third-row wakes are shown in Fig. <xref ref-type="fig" rid="F15"/>, and the behavior is consistent with the earlier observations in Sects. <xref ref-type="sec" rid="Ch1.S4.SS1"/> and <xref ref-type="sec" rid="Ch1.S4.SS3"/>. Downstream of the third row, the wake skew and stretching in both codes appears to evolve more slowly compared to the wake from the first turbine row. Similar behavior for the rotor plane TKE can be seen in Fig. <xref ref-type="fig" rid="F16"/>, and the comparison of the hub-height velocity profiles in Fig. <xref ref-type="fig" rid="F17"/> shows the general agreement between the RANS and LES approaches. Additional work is ongoing regarding the study of the RANS-modeled wakes in complex wind farm configurations, and the results will be reported in future studies.</p>
</sec>
<sec id="Ch1.S4.SS5">
  <label>4.5</label><title>Joukowski actuator disk comparisons</title>
      <p id="d2e10995">More complex wake features can be captured in SANDWake3D by using more sophisticated actuator disk models. As an example, we consider the Joukowski constant circulation actuator disk model as formulated by <xref ref-type="bibr" rid="bib1.bibx41" id="text.54"/>. This model captures both the veer–swirl interactions and near-wake behavior by including the azimuthal velocity distributions and the blade root loading corrections. A complete description of the model can be found in <xref ref-type="bibr" rid="bib1.bibx41" id="text.55"/> and is briefly summarized below.</p>
      <p id="d2e11004">In this model, the axial force <inline-formula><mml:math id="M392" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and azimuthal force <inline-formula><mml:math id="M393" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> on the rotor disk are defined as
          

                <disp-formula id="Ch1.E36" specific-use="align" content-type="subnumberedsingle"><mml:math id="M394" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E36.37"><mml:mtd><mml:mtext>25a</mml:mtext></mml:mtd><mml:mtd><mml:mstyle class="stylechange" displaystyle="true"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>f</mml:mi><mml:mi>x</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>r</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub></mml:mrow><mml:mn mathvariant="normal">2</mml:mn></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E36.38"><mml:mtd><mml:mtext>25b</mml:mtext></mml:mtd><mml:mtd><mml:mstyle displaystyle="true" class="stylechange"/></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ρ</mml:mi><mml:msub><mml:mi>u</mml:mi><mml:mi>D</mml:mi></mml:msub><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

          where <inline-formula><mml:math id="M395" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula> is the rotor speed, and <inline-formula><mml:math id="M396" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi>D</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi>D</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> is the axial velocity in the plane of the rotor. The azimuthal velocity distribution <inline-formula><mml:math id="M397" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>u</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi>r</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> on the rotor is modeled as an actuator disk with constant circulation modified with a tip correction and a root correction. By providing the rotor speed <inline-formula><mml:math id="M398" display="inline"><mml:mi mathvariant="normal">Ω</mml:mi></mml:math></inline-formula> and thrust coefficient <inline-formula><mml:math id="M399" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">T</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> as a function of the wind speed, Eqs. (25a) and (25b)can be solved to determine the torque, power, and thrust of the wind turbine, as well as the forces <inline-formula><mml:math id="M400" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M401" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> on the rotor disk. While additional inputs are required to use this actuator disk model compared to the uniformly loaded model of Sect. <xref ref-type="sec" rid="Ch1.S2.SS4"/>, the computational efficiency of the SANDWake3D calculations remains largely unchanged. Initial results using the Joukowski disk model also make use of the same RANS calibration parameters mentioned in Sect. <xref ref-type="sec" rid="Ch1.S2.SS5"/>, although additional calibration should be performed in future studies to widen its generality.</p>

      <fig id="F18" specific-use="star"><label>Figure 18</label><caption><p id="d2e11212">Comparison of the streamwise velocity for the low-WS case computed by the LES, RANS, and semi-analytic approach of <xref ref-type="bibr" rid="bib1.bibx1" id="text.56"/>. Contours of <inline-formula><mml:math id="M402" display="inline"><mml:mrow><mml:mi>u</mml:mi><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>z</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> are plotted with units of <inline-formula><mml:math id="M403" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> at distances <inline-formula><mml:math id="M404" display="inline"><mml:mrow><mml:mi>x</mml:mi><mml:mo>/</mml:mo><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M405" display="inline"><mml:mn mathvariant="normal">2</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M406" display="inline"><mml:mn mathvariant="normal">4</mml:mn></mml:math></inline-formula>, <inline-formula><mml:math id="M407" display="inline"><mml:mn mathvariant="normal">6</mml:mn></mml:math></inline-formula>, and <inline-formula><mml:math id="M408" display="inline"><mml:mn mathvariant="normal">8</mml:mn></mml:math></inline-formula> downstream of the turbine. The dashed circle corresponds to the location of the rotor disk of the IEA 15 <inline-formula><mml:math id="M409" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> reference turbine.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f18.png"/>

        </fig>

      <fig id="F19"><label>Figure 19</label><caption><p id="d2e11315">Hub-height profiles of the normalized velocity and normalized TKE <inline-formula><mml:math id="M410" display="inline"><mml:mrow><mml:msqrt><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>k</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msqrt><mml:mo>/</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">h</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the single-turbine wake under low-WS ABL conditions, as computed by the LES, SANDWake3D RANS, and <xref ref-type="bibr" rid="bib1.bibx1" id="text.57"/> model.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/11/3719/2026/wes-11-3719-2026-f19.png"/>

        </fig>

      <p id="d2e11350">The wake resulting from the Joukowski actuator disk model can be compared to the semi-analytic Gaussian model of <xref ref-type="bibr" rid="bib1.bibx1" id="text.58"/>. The results for the single-turbine low-WS scenarios are shown in Figs. <xref ref-type="fig" rid="F18"/> and <xref ref-type="fig" rid="F19"/> and highlight the differences between the two wake models. In the near-wake region, the lower loading near the blade root leads to the formation of a small high-velocity region near the centerline. This is present in both the LES and the SANDWake3D calculations, but absent in the <xref ref-type="bibr" rid="bib1.bibx1" id="text.59"/> model, which uses a Gaussian wake deficit velocity profile that is not applicable in the near-wake region. The presence of the tangential forces in the LES and the RANS models also leads to the presence of an azimuthal swirl velocity in the near-wake fields. This swirl–veer interaction leads to a lateral asymmetry in the wake velocity deficit profile, as shown in Fig. <xref ref-type="fig" rid="F19"/>a and b. These effects are not included in the <xref ref-type="bibr" rid="bib1.bibx1" id="text.60"/> model as it only calculates the axial wake velocity deficit. Also note that the SANDWake3D model with the Joukowski actuator disk model also provides qualitatively similar turbulence behavior in the wake compared to the LES, but no turbulence information is provided in the semi-analytic Gaussian model.</p>

<table-wrap id="T5" specific-use="star"><label>Table 5</label><caption><p id="d2e11372">Comparison of computational cost for the simulation of a single-turbine wake. Note that the Kynema-SGF simulations were performed on the Frontier Exascale 1600 GPU supercomputer. n/a: not applicable.</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">Code</oasis:entry>
         <oasis:entry colname="col2">Finest grid resolution</oasis:entry>
         <oasis:entry colname="col3">Time to solution</oasis:entry>
         <oasis:entry colname="col4">Computational resources</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">(<inline-formula><mml:math id="M411" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>x</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>y</mml:mi><mml:mo>×</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:math></inline-formula>)</oasis:entry>
         <oasis:entry colname="col3">(wall time)</oasis:entry>
         <oasis:entry colname="col4"/>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1">Kynema-SGF</oasis:entry>
         <oasis:entry colname="col2">2.5 <inline-formula><mml:math id="M412" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M413" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 2.5 <inline-formula><mml:math id="M414" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M415" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 2.5 <inline-formula><mml:math id="M416" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">17.5 <inline-formula><mml:math id="M417" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4">28 000 GPU-<inline-formula><mml:math id="M418" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">SANDWake3D</oasis:entry>
         <oasis:entry colname="col2">120 <inline-formula><mml:math id="M419" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M420" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 10 <inline-formula><mml:math id="M421" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M422" display="inline"><mml:mo>×</mml:mo></mml:math></inline-formula> 10 <inline-formula><mml:math id="M423" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">m</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3">10–25 <inline-formula><mml:math id="M424" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M425" display="inline"><mml:mo>&lt;</mml:mo></mml:math></inline-formula> 0.01 CPU-<inline-formula><mml:math id="M426" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">FLORIS</oasis:entry>
         <oasis:entry colname="col2">n/a</oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M427" display="inline"><mml:mo>&lt;</mml:mo></mml:math></inline-formula> 1 <inline-formula><mml:math id="M428" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M429" display="inline"><mml:mo>&lt;</mml:mo></mml:math></inline-formula> 0.001 CPU-<inline-formula><mml:math id="M430" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">h</mml:mi></mml:mrow></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

</sec>
</sec>
<sec id="Ch1.S5">
  <label>5</label><title>Discussion</title>
      <p id="d2e11633">During optimization studies for wind farm layouts and control strategies, tens or hundreds of thousands of flow solutions are typically required <xref ref-type="bibr" rid="bib1.bibx43" id="paren.61"/>. Related to the three simulation tools examined herein, the computational costs, and thus the feasibility for performing such studies, vary greatly, as shown in Table <xref ref-type="table" rid="T5"/>. It is notable that while the RANS solution's computational expense is closer to that of an engineering wake model like FLORIS, its realism is comparable to that of the high-fidelity LES solution including (quantitatively validated) effects of veer and shear. Thus, the RANS approach embodied by SANDWake3D offers a unique balance between prediction accuracy and computational efficiency that can enable better design and optimization of wind farms.</p>
</sec>
<sec id="Ch1.S6" sec-type="conclusions">
  <label>6</label><title>Conclusions</title>
      <p id="d2e11649">This study demonstrated an efficient, three-dimensional wake model which combines the parabolic <inline-formula><mml:math id="M431" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> RANS equations with an atmospheric boundary layer model and an actuator disk model for representing turbine rotors. This RANS model, known as SANDWake3D, can naturally incorporate complex effects such as shear, veer, atmospheric stratification, and wake superposition. By using an ADI scheme the numerical solution for the three-dimensional wake behavior can be found quickly using orders of magnitude fewer computational resources than traditional RANS or LES methods. The results of the SANDWake3D RANS model were compared to equivalent Kynema-SGF LES calculations for stable-ABL conditions at two different wind speeds. In the single-turbine wakes, a similar degree of wake stretching and skewing was observed in both the RANS and LES calculations, and SANDWake3D was also able to capture the wake deficit behavior. The distribution of wake added turbulence showed excellent agreement between the two calculation methods. In the comparisons for the two-turbine configuration, the SANDWake3D model was able to handle the wake superposition behavior without difficulty and also captured the corresponding increase in wake turbulence.</p>
      <p id="d2e11664">There are several improvements and generalizations that are possible topics for future studies. The current work demonstrates the potential of the parabolized <inline-formula><mml:math id="M432" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mi mathvariant="italic">ϵ</mml:mi></mml:mrow></mml:math></inline-formula> for stably stratified ABL conditions, but a similar calibration and validation process can be applied to neutral and unstable ABL flows. The computational performance of SANDWake3D can also be further optimized to decrease solution times for large-wind-farm applications. The current implementation is serial, and additional speed increases may be possible by considering multi-processor parallelization or using GPU optimizations. For large-wind-farm cases, using a domain decomposition approach can also lead to much faster computations.</p>
      <p id="d2e11679">In addition to performance enhancements, the uniformly loaded actuator disk model described in Sect. 2.4 can also be replaced with other actuator disk models, such as those using blade element momentum theory. Coupling with wind turbine control models would also allow different wind farm optimization strategies to be tested. This would allow interactions between veer and swirl to be included in future wake simulations. Similarly, the effects of yaw misalignment and wake steering on wake behavior are also naturally included in this formulation and can be the subject of future studies. Lastly, to model the behavior of active wake mixing controls in turbine wakes, a linear stability model can be incorporated into SANDWake3D, similar to the approach of <xref ref-type="bibr" rid="bib1.bibx13" id="text.62"/>.</p>
      <p id="d2e11685">Future work may also improve on the current parabolized RANS solution by superimposing the turbine induction solution ahead of each rotor position. One possibility is to calculate the induction field using Green's function approach of <xref ref-type="bibr" rid="bib1.bibx11" id="text.63"/> and correcting the upstream solution for any slowdown or acceleration effects. To increase the general applicability of the RANS model, calibration against a wider range of atmospheric conditions, including wind speed, TI, and stratification, should also be carried out. Additional work may also focus on using alternate inflow profiles, rather than profiles derived from Monin–Obukhov similarity theory. This may allow more complex atmospheric inflows to be considered, including those with low-level jets, temperature inversion layers, and other such phenomena.</p>
</sec>

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

      <p id="d2e11695">The Kynema-SGF code used for this study is available at <uri>https://github.com/kynema/kynema-sgf</uri> (last access: September 2026; <ext-link xlink:href="https://doi.org/10.5281/zenodo.22778632" ext-link-type="DOI">10.5281/zenodo.22778632</ext-link>, <xref ref-type="bibr" rid="bib1.bibx38" id="altparen.64"/>), and the SANDWake3D code is available at <uri>https://github.com/sandialabs/SANDWake3D</uri> (last access: September 2026; <ext-link xlink:href="https://doi.org/10.5281/zenodo.22289207" ext-link-type="DOI">10.5281/zenodo.22289207</ext-link>, <xref ref-type="bibr" rid="bib1.bibx29" id="altparen.65"/>). The Kynema-SGF LES datasets used in this study are available at <ext-link xlink:href="https://doi.org/10.13139/OLCF/3000779" ext-link-type="DOI">10.13139/OLCF/3000779</ext-link> <xref ref-type="bibr" rid="bib1.bibx6" id="paren.66"/>.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d2e11726">LC was responsible for developing the mathematical formulation, model implementation, and manuscript preparation. PM was responsible for calibration of the RANS model coefficients, performance optimization of the RANS model solver, and manuscript contributions. MTHdF was responsible for performance optimization of the SANDWake3D model solver, discussions surrounding the Kynema-SGF solver, and manuscript contributions. GY was responsible for the formulation of the RANS model, FLORIS model comparisons, generation of LES data, and manuscript preparations. AH assisted with data post-processing and the comparison of results. KB was responsible for conceptualization, performing portions of the LES, and manuscript review. NdV was responsible for the formulation and development of the RANS model. SKM was responsible for model implementation and manuscript review. MD assisted with editing and review of the manuscript and was also responsible for project organization. MS assisted with editing and was responsible for funding and computer time using OLCF resources.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

      <p id="d2e11732">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="d2e11738">The views expressed in the article do not necessarily represent the views of the DOE or the U.S. Government. The U.S. Government retains and the publisher, by accepting the article for publication, acknowledges that the U.S. Government retains a nonexclusive, paid-up, irrevocable, worldwide license to publish or reproduce the published form of this work, or allow others to do so, for U.S. Government purposes.  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="d2e11747">Sandia National Laboratories is a multimission laboratory managed and operated by National Technology &amp; Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the US Department of Energy's National Nuclear Security Administration under contract DE-NA0003525.</p><p id="d2e11749">This work was authored in part by the National Laboratory of the Rockies for the US Department of Energy (DOE), operated under contract no. DE-AC36-08GO28308. This research used resources of the Oak Ridge Leadership Computing Facility at the Oak Ridge National Laboratory, which is supported by the Office of Science of the US Department of Energy under contract no. DE-AC05-00OR22725 and under the ALCC allocation “Grand-challenge predictive wind farm simulations”.</p><p id="d2e11751">This research has been supported in part by the Wind Energy Technologies Office within the Office of Energy Efficiency and Renewable Energy.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d2e11757">This material is based upon work supported by the US Department of Energy, Office of Science, Advanced Scientific Computing Research and Biological and Environmental Research programs, through the FLOWMAS Energy Earthshot Research Center. Funding was provided in part by the US DOE Office of Critical Minerals and Energy Innovation Integrated Energy Systems Office.</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

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

      <ref id="bib1.bibx1"><label>Abkar et al.(2018)Abkar, Sorensen, and Porte-Agel</label><mixed-citation>Abkar, M., Sorensen, J. N., and Porte-Agel, F.: An Analytical Model for the Effect of Vertical Wind Veer on Wind Turbine Wakes, Energies, 11, <ext-link xlink:href="https://doi.org/10.3390/en11071838" ext-link-type="DOI">10.3390/en11071838</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Ainslie(1988)</label><mixed-citation> Ainslie, J. F.: Calculating the flowfield in the wake of wind turbines, J. Wind Eng. Ind. Aerod., 27, 213–224, 1988.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Alinot and Masson(2005)</label><mixed-citation>Alinot, C. and Masson, C.: k-<inline-formula><mml:math id="M433" display="inline"><mml:mi mathvariant="italic">ϵ</mml:mi></mml:math></inline-formula> model for the atmospheric boundary layer under various thermal stratifications, J. Sol. Eng-T. ASME, 127, 438–443, 2005.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Bastankhah and Porté-Agel(2014)</label><mixed-citation> Bastankhah, M. and Porté-Agel, F.: A new analytical model for wind-turbine wakes, Renew. Energ., 70, 116–123, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Bradstock and Schlez(2020)</label><mixed-citation>Bradstock, P. and Schlez, W.: Theory and verification of a new 3D RANS wake model, Wind Energ. Sci., 5, 1425–1434, <ext-link xlink:href="https://doi.org/10.5194/wes-5-1425-2020" ext-link-type="DOI">10.5194/wes-5-1425-2020</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Brown et al.(2026)</label><mixed-citation>Brown, K., Cheung, L., Yalla, G., Houck, D., and deVelder, N.: Active-wake mixing in atmospheric boundary layers with one-turbine arrays, Oak Ridge National Laboratory [data set], <ext-link xlink:href="https://doi.org/10.13139/OLCF/3000779" ext-link-type="DOI">10.13139/OLCF/3000779</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Brown et al.(2024)Brown, Bortolotti, Branlard, Chetan, Dana, deVelder, Doubrawa, Hamilton, Ivanov, Jonkman et al.</label><mixed-citation>Brown, K., Bortolotti, P., Branlard, E., Chetan, M., Dana, S., deVelder, N., Doubrawa, P., Hamilton, N., Ivanov, H., Jonkman, J., Kelley, C., and Zalkind, D.: One-to-one aeroservoelastic validation of operational loads and performance of a 2.8 <inline-formula><mml:math id="M434" display="inline"><mml:mrow class="unit"><mml:mi mathvariant="normal">MW</mml:mi></mml:mrow></mml:math></inline-formula> wind turbine model in OpenFAST, Wind Energ. Sci., 9, 1791–1810, <ext-link xlink:href="https://doi.org/10.5194/wes-9-1791-2024" ext-link-type="DOI">10.5194/wes-9-1791-2024</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Brown et al.(2025)Brown, Yalla, Cheung, Frederik, Houck, deVelder, Simley, and Fleming</label><mixed-citation>Brown, K., Yalla, G., Cheung, L., Frederik, J., Houck, D., deVelder, N., Simley, E., and Fleming, P.: Comparison of wind-farm control strategies under realistic offshore wind conditions: wake quantities of interest, Wind Energ. Sci., 10, 1737–1762, <ext-link xlink:href="https://doi.org/10.5194/wes-10-1737-2025" ext-link-type="DOI">10.5194/wes-10-1737-2025</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Byrd et al.(1995)Byrd, Lu, Nocedal, and Zhu</label><mixed-citation> Byrd, R. H., Lu, P., Nocedal, J., and Zhu, C.: A limited memory algorithm for bound constrained optimization, SIAM J. Sci. Comput., 16, 1190–1208, 1995.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Cheung et al.(2023)Cheung, Hsieh, Blaylock, Herges, deVelder, Brown, Sakievich, Houck, Maniaci, Kaul, Rai, Hamilton, Rybchuk, Scott, Thedin, Brazell, Churchfield, and Sprague</label><mixed-citation>Cheung, L., Hsieh, A., Blaylock, M., Herges, T., deVelder, N., Brown, K., Sakievich, P., Houck, D., Maniaci, D., Kaul, C., Rai, R., Hamilton, N., Rybchuk, A., Scott, R., Thedin, R., Brazell, M., Churchfield, M., and Sprague, M.: Investigations of Farm-to-Farm Interactions and Blockage Effects from AWAKEN Using Large-Scale Numerical Simulations, J. Phys. Conf. Ser., 2505, 012023, <ext-link xlink:href="https://doi.org/10.1088/1742-6596/2505/1/012023" ext-link-type="DOI">10.1088/1742-6596/2505/1/012023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Cheung et al.(2024a)Cheung, Brown, Sakievich, Develder, Herges, Houck, and Hsieh</label><mixed-citation> Cheung, L., Brown, K., Sakievich, P., Develder, N., Herges, T., Houck, D., and Hsieh, A.: A Green's Function Wind Turbine Induction Model That Incorporates Complex Inflow Conditions, Wind Energy, 27, 1526–1544, 2024a.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Cheung et al.(2024b)Cheung, Yalla, Brown, deVelder, Houck, Herges, Maniaci, Sakievich, and Abraham</label><mixed-citation>Cheung, L., Yalla, G., Brown, K., deVelder, N., Houck, D., Herges, T., Maniaci, D., Sakievich, P., and Abraham, A.: Modification of wind turbine wakes by large-scale convective atmospheric boundary layer structures, J. Renew. Sustain. Ener., 16, <ext-link xlink:href="https://doi.org/10.1063/5.0211722" ext-link-type="DOI">10.1063/5.0211722</ext-link>, 2024b.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Cheung et al.(2025)Cheung, Yalla, Mohan, Hsieh, Brown, deVelder, Houck, Henry de Frahan, Day, and Sprague</label><mixed-citation>Cheung, L., Yalla, G., Mohan, P., Hsieh, A., Brown, K., deVelder, N., Houck, D., Henry de Frahan, M. T., Day, M., and Sprague, M.: Modeling the effects of active wake mixing on wake behavior through large-scale coherent structures, Wind Energ. Sci., 10, 1403–1420, <ext-link xlink:href="https://doi.org/10.5194/wes-10-1403-2025" ext-link-type="DOI">10.5194/wes-10-1403-2025</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Crespo and Herna(1996)Crespo, Herna et al.</label><mixed-citation> Crespo, A. and Herna, J.: Turbulence characteristics in wind-turbine wakes, J. Wind Eng. Ind. Aerod., 61, 71–85, 1996.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Durbin(1991)</label><mixed-citation> Durbin, P. A.: Near-wall turbulence closure modeling without “damping functions, Theor. Comput. Fluid Dyn., 3, 1–13, 1991.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Fedeli et al.(2022)Fedeli, Huebl, Boillod-Cerneux, Clark, Gott, Hillairet, Jaure, Leblanc, Lehe, Myers, Piechurski, Sato, Zaim, Zhang, Vay, and Vincenti</label><mixed-citation>Fedeli, L., Huebl, A., Boillod-Cerneux, F., Clark, T., Gott, K., Hillairet, C., Jaure, S., Leblanc, A., Lehe, R., Myers, A., Piechurski, C., Sato, M., Zaim, N., Zhang, W., Vay, J.-L., and Vincenti, H.: Pushing the frontier in the design of laser-based electron accelerators with groundbreaking mesh-refined particle-in-cell simulations on exascale-class supercomputers, in: SC22: International Conference for High Performance Computing, Networking, Storage and Analysis, IEEE Computer Society, Los Alamitos, CA, USA, 1–12, <ext-link xlink:href="https://doi.org/10.1109/SC41404.2022.00008" ext-link-type="DOI">10.1109/SC41404.2022.00008</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Frederik et al.(2025)Frederik, Simley, Brown, Yalla, Cheung, and Fleming</label><mixed-citation>Frederik, J. A., Simley, E., Brown, K. A., Yalla, G. R., Cheung, L. C., and Fleming, P. A.: Comparison of wind farm control strategies under realistic offshore wind conditions: turbine quantities of interest, Wind Energ. Sci., 10, 755–777, <ext-link xlink:href="https://doi.org/10.5194/wes-10-755-2025" ext-link-type="DOI">10.5194/wes-10-755-2025</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Gaertner et al.(2020)Gaertner, Rinker, Sethuraman, Zahle, Anderson, Barter, Abbas, Meng, Bortolotti, Skrzypinski et al.</label><mixed-citation>Gaertner, E., Rinker, J., Sethuraman, L., Zahle, F., Anderson, B., Barter, G., Abbas, N., Meng, F., Bortolotti, P.,  Skrzypinski, W., Scott, G., Feil, R. Bredmose, H., Dykes, K., Shields, M.,  Allen, C., and Viselli, A.: IEA wind TCP task 37: definition of the IEA 15-megawatt offshore reference wind turbine, Tech. rep., National Renewable Energy Laboratory (NREL), Golden, CO (United States), <ext-link xlink:href="https://doi.org/10.2172/1603478" ext-link-type="DOI">10.2172/1603478</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Gunn et al.(2016)Gunn, Stock-Williams, Burke, Willden, Vogel, Hunter, Stallard, Robinson, and Schmidt</label><mixed-citation>Gunn, K., Stock-Williams, C., Burke, M., Willden, R., Vogel, C., Hunter, W., Stallard, T., Robinson, N., and Schmidt, S.: Limitations to the validity of single wake superposition in wind farm yield assessment, J. Phys. Conf. Ser., 749, 012003, <ext-link xlink:href="https://doi.org/10.1088/1742-6596/749/1/012003" ext-link-type="DOI">10.1088/1742-6596/749/1/012003</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Heck and Howland(2025)</label><mixed-citation>Heck, K. S. and Howland, M. F.: Coriolis effects on wind turbine wakes across neutral atmospheric boundary layer regimes, J. Fluid Mech., 1008, <ext-link xlink:href="https://doi.org/10.1017/jfm.2025.35" ext-link-type="DOI">10.1017/jfm.2025.35</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Henry de Frahan et al.(2022)Henry de Frahan, Rood, Day, Sitaraman, Yellapantula, Perry, Grout, Almgren, Zhang, Bell, and Chen</label><mixed-citation>Henry de Frahan, M. T., Rood, J. S., Day, M. S., Sitaraman, H., Yellapantula, S., Perry, B. A., Grout, R. W., Almgren, A., Zhang, W., Bell, J. B., and Chen, J. H.: PeleC: An adaptive mesh refinement solver for compressible reacting flows, Int. J. High Perform. Comput. Appl., 2022, <ext-link xlink:href="https://doi.org/10.1177/10943420221121151" ext-link-type="DOI">10.1177/10943420221121151</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Henry de Frahan et al.(2024)Henry de Frahan, Esclapez, Rood, Wimer, Mullowney, Perry, Owen, Sitaraman, Yellapantula, Hassanaly, Rahimi, Martin, Doronina, A., Rieth, Ge, Sankaran, Almgren, Zhang, Bell, Grout, Day, and Chen</label><mixed-citation>Henry de Frahan, M. T., Esclapez, L., Rood, J., Wimer, N. T., Mullowney, P., Perry, B. A., Owen, L., Sitaraman, H., Yellapantula, S., Hassanaly, M., Rahimi, M. J., Martin, M. J., Doronina, O. A., A., S. N., Rieth, M., Ge, W., Sankaran, R., Almgren, A. S., Zhang, W., Bell, J. B., Grout, R., Day, M. S., and Chen, J. H.: The Pele simulation suite for reacting flows at exascale, in: Proceedings of the 2024 SIAM Conference on Parallel Processing for Scientific Computing, pp. 13–25, <ext-link xlink:href="https://doi.org/10.1137/1.9781611977967.2" ext-link-type="DOI">10.1137/1.9781611977967.2</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Hsieh et al.(2025)Hsieh, Cheung, Blaylock, Brown, Houck, Herges, deVelder, Maniaci, Yalla, Sakievich, Radunz, and Carmo</label><mixed-citation>Hsieh, A. S., Cheung, L. C., Blaylock, M. L., Brown, K. A., Houck, D. R., Herges, T. G., deVelder, N. B., Maniaci, D. C., Yalla, G. R., Sakievich, P. J., Radunz, W. C., and Carmo, B. S.: Model intercomparison of the ABL, turbines, and wakes within the AWAKEN wind farms under neutral stability conditions, J. Renew. Sustain. Ener., 17, 023301, <ext-link xlink:href="https://doi.org/10.1063/5.0211729" ext-link-type="DOI">10.1063/5.0211729</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Iungo et al.(2018)Iungo, Santhanagopalan, Ciri, Viola, Zhan, Rotea, and Leonardi</label><mixed-citation>Iungo, G. V., Santhanagopalan, V., Ciri, U., Viola, F., Zhan, L., Rotea, M. A., and Leonardi, S.: Parabolic RANS solver for low-computational-cost simulations of wind turbine wakes, Wind Energy, 21, 184–197, <ext-link xlink:href="https://doi.org/10.1002/we.2154" ext-link-type="DOI">10.1002/we.2154</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Jensen(1983)</label><mixed-citation>Jensen, N. O.: A note on wind generator interaction, Risø National Laboratory, ISBN 87-550-0971-9, <uri>https://orbit.dtu.dk/files/55857682/ris_m_2411.pdf</uri> (last access: September 2026) 1983.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Jones and Launder(1972)</label><mixed-citation> Jones, W. P. and Launder, B. E.: The prediction of laminarization with a two-equation model of turbulence, Int. J. Heat Mass Tran., 15, 301–314, 1972.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Jonkman et al.(2018)Jonkman, Wright, Hayman, and Robertson</label><mixed-citation>Jonkman, J. M., Wright, A. D., Hayman, G. J., and Robertson, A. N.: Full-system linearization for floating offshore wind turbines in OpenFAST, in: International Conference on Offshore Mechanics and Arctic Engineering, American Society of Mechanical Engineers, vol. 51975,  V001T01A028, <ext-link xlink:href="https://doi.org/10.1115/IOWTC2018-1025" ext-link-type="DOI">10.1115/IOWTC2018-1025</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Kuhn et al.(2025)Kuhn, Henry de Frahan, Mohan, Deskos, Churchfield, Cheung, Sharma, Almgren, Ananthan, Brazell, A., Thedin, Rood, Sakievich, Vijayakumar, Zhang, and Sprague</label><mixed-citation>Kuhn, M. B., Henry de Frahan, M. T., Mohan, P., Deskos, G., Churchfield, M., Cheung, L., Sharma, A., Almgren, A., Ananthan, S., Brazell, M. J., A., M. L., Thedin, R., Rood, J., Sakievich, P., Vijayakumar, G., Zhang, W., and Sprague, M. A.: AMR-Wind: A performance-portable, high-fidelity flow solver for wind farm simulations, Wind Energy, 28, e70010, <ext-link xlink:href="https://doi.org/10.1002/we.70010" ext-link-type="DOI">10.1002/we.70010</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>lawrenceccheung et al.(2026)</label><mixed-citation>lawrenceccheung, Henry de Frahan, M. T.,   Kaufman-Martin, S., and prakash: sandialabs/SANDwake3D: Initial release (Version v0.1), Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.22289207" ext-link-type="DOI">10.5281/zenodo.22289207</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Letizia and Iungo(2022)</label><mixed-citation>Letizia, S. and Iungo, G. V.: Pseudo-2D RANS: A LiDAR-driven mid-fidelity model for simulations of wind farm flows, J. Renew. Sustain. Ener., 14, <ext-link xlink:href="https://doi.org/10.1063/5.0076739" ext-link-type="DOI">10.1063/5.0076739</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Martínez-Tossas et al.(2021)Martínez-Tossas, King, Quon, Bay, Mudafort, Hamilton, Howland, and Fleming</label><mixed-citation>Martínez-Tossas, L. A., King, J., Quon, E., Bay, C. J., Mudafort, R., Hamilton, N., Howland, M. F., and Fleming, P. A.: The curled wake model: a three-dimensional and extremely fast steady-state wake solver for wind plant flows, Wind Energ. Sci., 6, 555–570, <ext-link xlink:href="https://doi.org/10.5194/wes-6-555-2021" ext-link-type="DOI">10.5194/wes-6-555-2021</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Narasimhan et al.(2022)Narasimhan, Gayme, and Meneveau</label><mixed-citation>Narasimhan, G., Gayme, D. F., and Meneveau, C.: Effects of wind veer on a yawed wind turbine wake in atmospheric boundary layer flow, Physical Review Fluids, 7, 114609, <ext-link xlink:href="https://doi.org/10.1103/PhysRevFluids.7.114609" ext-link-type="DOI">10.1103/PhysRevFluids.7.114609</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Narasimhan et al.(2025)Narasimhan, Gayme, and Meneveau</label><mixed-citation>Narasimhan, G., Gayme, D. F., and Meneveau, C.: An extended analytical wake model and applications to yawed wind turbines in atmospheric boundary layers with different levels of stratification and veer, J. Renew. Sustain. Ener., 17, <ext-link xlink:href="https://doi.org/10.1063/5.0251305" ext-link-type="DOI">10.1063/5.0251305</ext-link>, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Niayifar and Porté-Agel(2016)</label><mixed-citation>Niayifar, A. and Porté-Agel, F.: Analytical modeling of wind farms: A new approach for power prediction, Energies, 9, 741, <ext-link xlink:href="https://doi.org/10.3390/en9090741" ext-link-type="DOI">10.3390/en9090741</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>NREL(2021)</label><mixed-citation>NREL: ROSCO, Version 2.4.1, GitHub [code], <uri>https://github.com/NatLabRockies/ROSCO</uri> (last access: September 2026), 2021.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>NREL(2023)</label><mixed-citation>NREL: OpenFAST Documentation, <uri>https://openfast.readthedocs.io</uri> (last access: September 2026), 2023.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>NREL(2025)</label><mixed-citation>NREL: FLORIS, Version 4.4, GitHub [code], <uri>https://github.com/NatLabRockies/floris</uri> (last access: September 2026), 2025.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Rood et al.(2026)</label><mixed-citation>Rood, J., Ananthan, S., Kuhn, M. B., Almgren, A., Henry de Frahan, M. T., Brazell, M. J., Zhang, W., Deskos, G. (Yorgos), prakash, mic84, Martinez, T., Sakievich, P., Harish, Vijayakumar, G., lawrenceccheung, Sharma, A., Dave, M., Beckers, D., Polimeno, M., Churchfield, M., deVelder, N., Thedin, R., Quon, E., Bidadi, S., Katz, M., Montgomery, D., jbbel, and  Topcuoglu, I.: kynema/kynema-sgf: v4.2.0 (Version v4.2.0), Zenodo [code], <ext-link xlink:href="https://doi.org/10.5281/zenodo.22778632" ext-link-type="DOI">10.5281/zenodo.22778632</ext-link>, 2026.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Sharma et al.(2024)Sharma, Brazell, Vijayakumar, Ananthan, Cheung, deVelder, Henry de Frahan, Matula, Mullowney, Rood, Sakievich, Almgren, Crozier, and Sprague</label><mixed-citation>Sharma, A., Brazell, M. J., Vijayakumar, G., Ananthan, S., Cheung, L., deVelder, N., Henry de Frahan, M. T., Matula, N., Mullowney, P., Rood, J., Sakievich, P., Almgren, A., Crozier, P. S., and Sprague, M.: ExaWind: Open-source CFD for hybrid-RANS/LES geometry-resolved wind turbine simulations in atmospheric flows, Wind Energy, 27, 225–257, <ext-link xlink:href="https://doi.org/10.1002/we.2886" ext-link-type="DOI">10.1002/we.2886</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Sinner and Fleming(2024)</label><mixed-citation>Sinner, M. and Fleming, P.: Robust wind farm layout optimization, J. Phys. Conf. Ser., 2767, 032036, <ext-link xlink:href="https://doi.org/10.1088/1742-6596/2767/3/032036" ext-link-type="DOI">10.1088/1742-6596/2767/3/032036</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Sørensen et al.(2020)Sørensen, Nilsson, Ivanell, Asmuth, and Mikkelsen</label><mixed-citation> Sørensen, J. N., Nilsson, K., Ivanell, S., Asmuth, H., and Mikkelsen, R. F.: Analytical body forces in numerical actuator disc model of wind turbines, Renew. Energ., 147, 2259–2271, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>Sprague et al.(2020)Sprague, Ananthan, Vijayakumar, and Robinson</label><mixed-citation>Sprague, M. A., Ananthan, S., Vijayakumar, G., and Robinson, M.: ExaWind: A multifidelity modeling and simulation environment for wind energy, J. Phys. Conf. Ser., 1452, 012071, <ext-link xlink:href="https://doi.org/10.1088/1742-6596/1452/1/012071" ext-link-type="DOI">10.1088/1742-6596/1452/1/012071</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx43"><label>Thomas et al.(2023)Thomas, Baker, Malisani, Quaeghebeur, Sanchez Perez-Moreno, Jasa, Bay, Tilli, Bieniek, Robinson et al.</label><mixed-citation>Thomas, J. J., Baker, N. F., Malisani, P., Quaeghebeur, E., Sanchez Perez-Moreno, S., Jasa, J., Bay, C., Tilli, F., Bieniek, D., Robinson, N., Stanley, A. P. J., Holt, W., and Ning, A.: A comparison of eight optimization methods applied to a wind farm layout optimization problem, Wind Energ. Sci., 8, 865–891, <ext-link xlink:href="https://doi.org/10.5194/wes-8-865-2023" ext-link-type="DOI">10.5194/wes-8-865-2023</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>US Department of Energy(2026)</label><mixed-citation>US Department of Energy: ExaWind benchmark repository,  <uri>https://kynema.github.io/kynema-benchmarks/</uri> (last access: September 2026), 2026.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>van der Laan et al.(2017)</label><mixed-citation>van der Laan, M. P., Kelly, M. C., and Sørensen, N. N.: A new k-epsilon model consistent with Monin–Obukhov similarity theory, Wind Energy, 20, 479–489, <ext-link xlink:href="https://doi.org/10.1002/we.2017" ext-link-type="DOI">10.1002/we.2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>van der Laan and Andersen(2018)</label><mixed-citation>van der Laan, M. P. and Andersen, S. J.: The turbulence scales of a wind turbine wake: A revisit of extended k-epsilon models, J. Phys. Conf. Ser., 1037, 072001, <ext-link xlink:href="https://doi.org/10.1088/1742-6596/1037/7/072001" ext-link-type="DOI">10.1088/1742-6596/1037/7/072001</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Yalla et al.(2025)Yalla, Brown, Cheung, Houck, deVelder, and Jayaraman</label><mixed-citation>Yalla, G. R., Brown, K., Cheung, L., Houck, D., deVelder, N., and Jayaraman, B.: Estimating annual energy production of wake mixing control strategies including comparisons to wake steering, Wind Energ. Sci. Discuss. [preprint], <ext-link xlink:href="https://doi.org/10.5194/wes-2025-250" ext-link-type="DOI">10.5194/wes-2025-250</ext-link>, in review, 2025.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Zhang et al.(2019)Zhang, Almgren, Beckner, Bell, Blaschke, Chan, Day, Friesen, Gott, Graves, Katz, Myers, Nguyen, Nonaka, Rosso, Williams, and Zingale</label><mixed-citation>Zhang, W., Almgren, A., Beckner, V., Bell, J., Blaschke, J., Chan, C., Day, M., Friesen, B., Gott, K., Graves, D., Katz, M., Myers, A., Nguyen, T., Nonaka, A., Rosso, M., Williams, S., and Zingale, M.: AMReX: a framework for block-structured adaptive mesh refinement, Journal of Open Source Software, 4, 1370, <ext-link xlink:href="https://doi.org/10.21105/joss.01370" ext-link-type="DOI">10.21105/joss.01370</ext-link>, 2019. </mixed-citation></ref>
      <ref id="bib1.bibx49"><label>Zhu et al.(1997)Zhu, Byrd, Lu, and Nocedal</label><mixed-citation> Zhu, C., Byrd, R. H., Lu, P., and Nocedal, J.: Algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound-constrained optimization, ACM T. Math. Software (TOMS), 23, 550–560, 1997.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>SANDWake3D: a 3D parabolic RANS solver for atmospheric surface layers and turbine wakes</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Abkar et al.(2018)Abkar, Sorensen, and Porte-Agel</label><mixed-citation>
      
Abkar, M., Sorensen, J. N., and Porte-Agel, F.:
An Analytical Model for the Effect of Vertical Wind Veer on Wind Turbine Wakes, Energies, 11, <a href="https://doi.org/10.3390/en11071838" target="_blank">https://doi.org/10.3390/en11071838</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Ainslie(1988)</label><mixed-citation>
      
Ainslie, J. F.:
Calculating the flowfield in the wake of wind turbines, J. Wind Eng. Ind. Aerod., 27, 213–224, 1988.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Alinot and Masson(2005)</label><mixed-citation>
      
Alinot, C. and Masson, C.:
k-<i>ϵ</i> model for the atmospheric boundary layer under various thermal stratifications, J. Sol. Eng-T. ASME, 127, 438–443, 2005.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Bastankhah and Porté-Agel(2014)</label><mixed-citation>
      
Bastankhah, M. and Porté-Agel, F.:
A new analytical model for wind-turbine wakes, Renew. Energ., 70, 116–123, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Bradstock and Schlez(2020)</label><mixed-citation>
      
Bradstock, P. and Schlez, W.:
Theory and verification of a new 3D RANS wake model, Wind Energ. Sci., 5, 1425–1434, <a href="https://doi.org/10.5194/wes-5-1425-2020" target="_blank">https://doi.org/10.5194/wes-5-1425-2020</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Brown et al.(2026)</label><mixed-citation>
      
Brown, K., Cheung, L., Yalla, G., Houck, D., and deVelder, N.: Active-wake mixing in atmospheric boundary layers with one-turbine arrays, Oak Ridge National Laboratory [data set], <a href="https://doi.org/10.13139/OLCF/3000779" target="_blank">https://doi.org/10.13139/OLCF/3000779</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Brown et al.(2024)Brown, Bortolotti, Branlard, Chetan, Dana, deVelder, Doubrawa, Hamilton, Ivanov, Jonkman et al.</label><mixed-citation>
      
Brown, K., Bortolotti, P., Branlard, E., Chetan, M., Dana, S., deVelder, N., Doubrawa, P., Hamilton, N., Ivanov, H., Jonkman, J., Kelley, C., and Zalkind, D.:
One-to-one aeroservoelastic validation of operational loads and performance of a 2.8&thinsp;MW wind turbine model in OpenFAST, Wind Energ. Sci., 9, 1791–1810, <a href="https://doi.org/10.5194/wes-9-1791-2024" target="_blank">https://doi.org/10.5194/wes-9-1791-2024</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Brown et al.(2025)Brown, Yalla, Cheung, Frederik, Houck, deVelder, Simley, and Fleming</label><mixed-citation>
      
Brown, K., Yalla, G., Cheung, L., Frederik, J., Houck, D., deVelder, N., Simley, E., and Fleming, P.:
Comparison of wind-farm control strategies under realistic offshore wind conditions: wake quantities of interest, Wind Energ. Sci., 10, 1737–1762, <a href="https://doi.org/10.5194/wes-10-1737-2025" target="_blank">https://doi.org/10.5194/wes-10-1737-2025</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Byrd et al.(1995)Byrd, Lu, Nocedal, and Zhu</label><mixed-citation>
      
Byrd, R. H., Lu, P., Nocedal, J., and Zhu, C.:
A limited memory algorithm for bound constrained optimization, SIAM J. Sci. Comput., 16, 1190–1208, 1995.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Cheung et al.(2023)Cheung, Hsieh, Blaylock, Herges, deVelder, Brown, Sakievich, Houck, Maniaci, Kaul, Rai, Hamilton, Rybchuk, Scott, Thedin, Brazell, Churchfield, and Sprague</label><mixed-citation>
      
Cheung, L., Hsieh, A., Blaylock, M., Herges, T., deVelder, N., Brown, K., Sakievich, P., Houck, D., Maniaci, D., Kaul, C., Rai, R., Hamilton, N., Rybchuk, A., Scott, R., Thedin, R., Brazell, M., Churchfield, M., and Sprague, M.:
Investigations of Farm-to-Farm Interactions and Blockage Effects from AWAKEN Using Large-Scale Numerical Simulations, J. Phys. Conf. Ser., 2505, 012023, <a href="https://doi.org/10.1088/1742-6596/2505/1/012023" target="_blank">https://doi.org/10.1088/1742-6596/2505/1/012023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Cheung et al.(2024a)Cheung, Brown, Sakievich, Develder, Herges, Houck, and Hsieh</label><mixed-citation>
      
Cheung, L., Brown, K., Sakievich, P., Develder, N., Herges, T., Houck, D., and Hsieh, A.:
A Green's Function Wind Turbine Induction Model That Incorporates Complex Inflow Conditions, Wind Energy, 27, 1526–1544, 2024a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Cheung et al.(2024b)Cheung, Yalla, Brown, deVelder, Houck, Herges, Maniaci, Sakievich, and Abraham</label><mixed-citation>
      
Cheung, L., Yalla, G., Brown, K., deVelder, N., Houck, D., Herges, T., Maniaci, D., Sakievich, P., and Abraham, A.:
Modification of wind turbine wakes by large-scale convective atmospheric boundary layer structures, J. Renew. Sustain. Ener., 16, <a href="https://doi.org/10.1063/5.0211722" target="_blank">https://doi.org/10.1063/5.0211722</a>, 2024b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Cheung et al.(2025)Cheung, Yalla, Mohan, Hsieh, Brown, deVelder, Houck, Henry de Frahan, Day, and Sprague</label><mixed-citation>
      
Cheung, L., Yalla, G., Mohan, P., Hsieh, A., Brown, K., deVelder, N., Houck, D., Henry de Frahan, M. T., Day, M., and Sprague, M.:
Modeling the effects of active wake mixing on wake behavior through large-scale coherent structures, Wind Energ. Sci., 10, 1403–1420, <a href="https://doi.org/10.5194/wes-10-1403-2025" target="_blank">https://doi.org/10.5194/wes-10-1403-2025</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Crespo and Herna(1996)Crespo, Herna et al.</label><mixed-citation>
      
Crespo, A. and Herna, J.: Turbulence characteristics in wind-turbine wakes, J. Wind Eng. Ind. Aerod., 61, 71–85, 1996.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Durbin(1991)</label><mixed-citation>
      
Durbin, P. A.:
Near-wall turbulence closure modeling without “damping functions, Theor. Comput. Fluid Dyn., 3, 1–13, 1991.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Fedeli et al.(2022)Fedeli, Huebl, Boillod-Cerneux, Clark, Gott, Hillairet, Jaure, Leblanc, Lehe, Myers, Piechurski, Sato, Zaim, Zhang, Vay, and Vincenti</label><mixed-citation>
      
Fedeli, L., Huebl, A., Boillod-Cerneux, F., Clark, T., Gott, K., Hillairet, C., Jaure, S., Leblanc, A., Lehe, R., Myers, A., Piechurski, C., Sato, M., Zaim, N., Zhang, W., Vay, J.-L., and Vincenti, H.:
Pushing the frontier in the design of laser-based electron accelerators with groundbreaking mesh-refined particle-in-cell simulations on exascale-class supercomputers, in: SC22: International Conference for High Performance Computing, Networking, Storage and Analysis, IEEE Computer Society, Los Alamitos, CA, USA, 1–12, <a href="https://doi.org/10.1109/SC41404.2022.00008" target="_blank">https://doi.org/10.1109/SC41404.2022.00008</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Frederik et al.(2025)Frederik, Simley, Brown, Yalla, Cheung, and Fleming</label><mixed-citation>
      
Frederik, J. A., Simley, E., Brown, K. A., Yalla, G. R., Cheung, L. C., and Fleming, P. A.:
Comparison of wind farm control strategies under realistic offshore wind conditions: turbine quantities of interest, Wind Energ. Sci., 10, 755–777, <a href="https://doi.org/10.5194/wes-10-755-2025" target="_blank">https://doi.org/10.5194/wes-10-755-2025</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Gaertner et al.(2020)Gaertner, Rinker, Sethuraman, Zahle, Anderson, Barter, Abbas, Meng, Bortolotti, Skrzypinski et al.</label><mixed-citation>
      
Gaertner, E., Rinker, J., Sethuraman, L., Zahle, F., Anderson, B., Barter, G., Abbas, N., Meng, F.,
Bortolotti, P.,  Skrzypinski, W., Scott, G., Feil, R. Bredmose, H., Dykes, K., Shields, M.,  Allen, C., and Viselli, A.: IEA wind TCP task 37: definition of the IEA 15-megawatt offshore reference wind turbine, Tech. rep., National Renewable Energy Laboratory (NREL), Golden, CO (United States), <a href="https://doi.org/10.2172/1603478" target="_blank">https://doi.org/10.2172/1603478</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Gunn et al.(2016)Gunn, Stock-Williams, Burke, Willden, Vogel, Hunter, Stallard, Robinson, and Schmidt</label><mixed-citation>
      
Gunn, K., Stock-Williams, C., Burke, M., Willden, R., Vogel, C., Hunter, W., Stallard, T., Robinson, N., and Schmidt, S.:
Limitations to the validity of single wake superposition in wind farm yield assessment, J. Phys. Conf. Ser., 749, 012003, <a href="https://doi.org/10.1088/1742-6596/749/1/012003" target="_blank">https://doi.org/10.1088/1742-6596/749/1/012003</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Heck and Howland(2025)</label><mixed-citation>
      
Heck, K. S. and Howland, M. F.:
Coriolis effects on wind turbine wakes across neutral atmospheric boundary layer regimes, J. Fluid Mech., 1008, <a href="https://doi.org/10.1017/jfm.2025.35" target="_blank">https://doi.org/10.1017/jfm.2025.35</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Henry de Frahan et al.(2022)Henry de Frahan, Rood, Day, Sitaraman, Yellapantula, Perry, Grout, Almgren, Zhang, Bell, and Chen</label><mixed-citation>
      
Henry de Frahan, M. T., Rood, J. S., Day, M. S., Sitaraman, H., Yellapantula, S., Perry, B. A., Grout, R. W., Almgren, A., Zhang, W., Bell, J. B., and Chen, J. H.:
PeleC: An adaptive mesh refinement solver for compressible reacting flows, Int. J. High Perform. Comput. Appl., 2022, <a href="https://doi.org/10.1177/10943420221121151" target="_blank">https://doi.org/10.1177/10943420221121151</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Henry de Frahan et al.(2024)Henry de Frahan, Esclapez, Rood, Wimer, Mullowney, Perry, Owen, Sitaraman, Yellapantula, Hassanaly, Rahimi, Martin, Doronina, A., Rieth, Ge, Sankaran, Almgren, Zhang, Bell, Grout, Day, and Chen</label><mixed-citation>
      
Henry de Frahan, M. T., Esclapez, L., Rood, J., Wimer, N. T., Mullowney, P., Perry, B. A., Owen, L., Sitaraman, H., Yellapantula, S., Hassanaly, M., Rahimi, M. J., Martin, M. J., Doronina, O. A., A., S. N., Rieth, M., Ge, W., Sankaran, R., Almgren, A. S., Zhang, W., Bell, J. B., Grout, R., Day, M. S., and Chen, J. H.:
The Pele simulation suite for reacting flows at exascale, in: Proceedings of the 2024 SIAM Conference on Parallel Processing for Scientific Computing, pp. 13–25, <a href="https://doi.org/10.1137/1.9781611977967.2" target="_blank">https://doi.org/10.1137/1.9781611977967.2</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Hsieh et al.(2025)Hsieh, Cheung, Blaylock, Brown, Houck, Herges, deVelder, Maniaci, Yalla, Sakievich, Radunz, and Carmo</label><mixed-citation>
      
Hsieh, A. S., Cheung, L. C., Blaylock, M. L., Brown, K. A., Houck, D. R., Herges, T. G., deVelder, N. B., Maniaci, D. C., Yalla, G. R., Sakievich, P. J., Radunz, W. C., and Carmo, B. S.:
Model intercomparison of the ABL, turbines, and wakes within the AWAKEN wind farms under neutral stability conditions, J. Renew. Sustain. Ener., 17, 023301, <a href="https://doi.org/10.1063/5.0211729" target="_blank">https://doi.org/10.1063/5.0211729</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Iungo et al.(2018)Iungo, Santhanagopalan, Ciri, Viola, Zhan, Rotea, and Leonardi</label><mixed-citation>
      
Iungo, G. V., Santhanagopalan, V., Ciri, U., Viola, F., Zhan, L., Rotea, M. A., and Leonardi, S.:
Parabolic RANS solver for low-computational-cost simulations of wind turbine wakes, Wind Energy, 21, 184–197, <a href="https://doi.org/10.1002/we.2154" target="_blank">https://doi.org/10.1002/we.2154</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Jensen(1983)</label><mixed-citation>
      
Jensen, N. O.:
A note on wind generator interaction, Risø National Laboratory, ISBN 87-550-0971-9, <a href="https://orbit.dtu.dk/files/55857682/ris_m_2411.pdf" target="_blank"/> (last access: September 2026) 1983.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Jones and Launder(1972)</label><mixed-citation>
      
Jones, W. P. and Launder, B. E.:
The prediction of laminarization with a two-equation model of turbulence, Int. J. Heat Mass Tran., 15, 301–314, 1972.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Jonkman et al.(2018)Jonkman, Wright, Hayman, and Robertson</label><mixed-citation>
      
Jonkman, J. M., Wright, A. D., Hayman, G. J., and Robertson, A. N.:
Full-system linearization for floating offshore wind turbines in OpenFAST, in: International Conference on Offshore Mechanics and Arctic Engineering, American Society of Mechanical Engineers, vol. 51975,  V001T01A028, <a href="https://doi.org/10.1115/IOWTC2018-1025" target="_blank">https://doi.org/10.1115/IOWTC2018-1025</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Kuhn et al.(2025)Kuhn, Henry de Frahan, Mohan, Deskos, Churchfield, Cheung, Sharma, Almgren, Ananthan, Brazell, A., Thedin, Rood, Sakievich, Vijayakumar, Zhang, and Sprague</label><mixed-citation>
      
Kuhn, M. B., Henry de Frahan, M. T., Mohan, P., Deskos, G., Churchfield, M., Cheung, L., Sharma, A., Almgren, A., Ananthan, S., Brazell, M. J., A., M. L., Thedin, R., Rood, J., Sakievich, P., Vijayakumar, G., Zhang, W., and Sprague, M. A.:
AMR-Wind: A performance-portable, high-fidelity flow solver for wind farm simulations, Wind Energy, 28, e70010, <a href="https://doi.org/10.1002/we.70010" target="_blank">https://doi.org/10.1002/we.70010</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>lawrenceccheung et al.(2026)</label><mixed-citation>
      
lawrenceccheung, Henry de Frahan, M. T.,   Kaufman-Martin, S., and prakash: sandialabs/SANDwake3D: Initial release (Version v0.1), Zenodo [code], <a href="https://doi.org/10.5281/zenodo.22289207" target="_blank">https://doi.org/10.5281/zenodo.22289207</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Letizia and Iungo(2022)</label><mixed-citation>
      
Letizia, S. and Iungo, G. V.:
Pseudo-2D RANS: A LiDAR-driven mid-fidelity model for simulations of wind farm flows, J. Renew. Sustain. Ener., 14, <a href="https://doi.org/10.1063/5.0076739" target="_blank">https://doi.org/10.1063/5.0076739</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Martínez-Tossas et al.(2021)Martínez-Tossas, King, Quon, Bay, Mudafort, Hamilton, Howland, and Fleming</label><mixed-citation>
      
Martínez-Tossas, L. A., King, J., Quon, E., Bay, C. J., Mudafort, R., Hamilton, N., Howland, M. F., and Fleming, P. A.:
The curled wake model: a three-dimensional and extremely fast steady-state wake solver for wind plant flows, Wind Energ. Sci., 6, 555–570, <a href="https://doi.org/10.5194/wes-6-555-2021" target="_blank">https://doi.org/10.5194/wes-6-555-2021</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Narasimhan et al.(2022)Narasimhan, Gayme, and Meneveau</label><mixed-citation>
      
Narasimhan, G., Gayme, D. F., and Meneveau, C.:
Effects of wind veer on a yawed wind turbine wake in atmospheric boundary layer flow, Physical Review Fluids, 7, 114609, <a href="https://doi.org/10.1103/PhysRevFluids.7.114609" target="_blank">https://doi.org/10.1103/PhysRevFluids.7.114609</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Narasimhan et al.(2025)Narasimhan, Gayme, and Meneveau</label><mixed-citation>
      
Narasimhan, G., Gayme, D. F., and Meneveau, C.:
An extended analytical wake model and applications to yawed wind turbines in atmospheric boundary layers with different levels of stratification and veer, J. Renew. Sustain. Ener., 17, <a href="https://doi.org/10.1063/5.0251305" target="_blank">https://doi.org/10.1063/5.0251305</a>, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Niayifar and Porté-Agel(2016)</label><mixed-citation>
      
Niayifar, A. and Porté-Agel, F.:
Analytical modeling of wind farms: A new approach for power prediction, Energies, 9, 741, <a href="https://doi.org/10.3390/en9090741" target="_blank">https://doi.org/10.3390/en9090741</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>NREL(2021)</label><mixed-citation>
      
NREL: ROSCO, Version 2.4.1, GitHub [code], <a href="https://github.com/NatLabRockies/ROSCO" target="_blank"/> (last access: September 2026), 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>NREL(2023)</label><mixed-citation>
      
NREL: OpenFAST Documentation, <a href="https://openfast.readthedocs.io" target="_blank"/> (last access: September 2026), 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>NREL(2025)</label><mixed-citation>
      
NREL: FLORIS, Version 4.4, GitHub [code], <a href="https://github.com/NatLabRockies/floris" target="_blank"/> (last access: September 2026), 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Rood et al.(2026)</label><mixed-citation>
      
Rood, J., Ananthan, S., Kuhn, M. B., Almgren, A., Henry de Frahan, M. T., Brazell, M. J., Zhang, W., Deskos, G. (Yorgos), prakash, mic84, Martinez, T., Sakievich, P., Harish, Vijayakumar, G., lawrenceccheung, Sharma, A., Dave, M., Beckers, D., Polimeno, M., Churchfield, M., deVelder, N., Thedin, R., Quon, E., Bidadi, S., Katz, M., Montgomery, D., jbbel, and  Topcuoglu, I.: kynema/kynema-sgf: v4.2.0 (Version v4.2.0), Zenodo [code], <a href="https://doi.org/10.5281/zenodo.22778632" target="_blank">https://doi.org/10.5281/zenodo.22778632</a>, 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Sharma et al.(2024)Sharma, Brazell, Vijayakumar, Ananthan, Cheung, deVelder, Henry de Frahan, Matula, Mullowney, Rood, Sakievich, Almgren, Crozier, and Sprague</label><mixed-citation>
      
Sharma, A., Brazell, M. J., Vijayakumar, G., Ananthan, S., Cheung, L., deVelder, N., Henry de Frahan, M. T., Matula, N., Mullowney, P., Rood, J., Sakievich, P., Almgren, A., Crozier, P. S., and Sprague, M.:
ExaWind: Open-source CFD for hybrid-RANS/LES geometry-resolved wind turbine simulations in atmospheric flows, Wind Energy, 27, 225–257, <a href="https://doi.org/10.1002/we.2886" target="_blank">https://doi.org/10.1002/we.2886</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Sinner and Fleming(2024)</label><mixed-citation>
      
Sinner, M. and Fleming, P.:
Robust wind farm layout optimization, J. Phys. Conf. Ser., 2767, 032036, <a href="https://doi.org/10.1088/1742-6596/2767/3/032036" target="_blank">https://doi.org/10.1088/1742-6596/2767/3/032036</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Sørensen et al.(2020)Sørensen, Nilsson, Ivanell, Asmuth, and Mikkelsen</label><mixed-citation>
      
Sørensen, J. N., Nilsson, K., Ivanell, S., Asmuth, H., and Mikkelsen, R. F.:
Analytical body forces in numerical actuator disc model of wind turbines, Renew. Energ., 147, 2259–2271, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>Sprague et al.(2020)Sprague, Ananthan, Vijayakumar, and Robinson</label><mixed-citation>
      
Sprague, M. A., Ananthan, S., Vijayakumar, G., and Robinson, M.:
ExaWind: A multifidelity modeling and simulation environment for wind energy, J. Phys. Conf. Ser., 1452, 012071, <a href="https://doi.org/10.1088/1742-6596/1452/1/012071" target="_blank">https://doi.org/10.1088/1742-6596/1452/1/012071</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>Thomas et al.(2023)Thomas, Baker, Malisani, Quaeghebeur, Sanchez Perez-Moreno, Jasa, Bay, Tilli, Bieniek, Robinson et al.</label><mixed-citation>
      
Thomas, J. J., Baker, N. F., Malisani, P., Quaeghebeur, E., Sanchez Perez-Moreno, S., Jasa, J., Bay, C., Tilli, F., Bieniek, D., Robinson, N., Stanley, A. P. J., Holt, W., and Ning, A.:
A comparison of eight optimization methods applied to a wind farm layout optimization problem, Wind Energ. Sci., 8, 865–891, <a href="https://doi.org/10.5194/wes-8-865-2023" target="_blank">https://doi.org/10.5194/wes-8-865-2023</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>US Department of Energy(2026)</label><mixed-citation>
      
US Department of Energy: ExaWind benchmark repository,  <a href="https://kynema.github.io/kynema-benchmarks/" target="_blank"/> (last access: September 2026), 2026.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>van der Laan et al.(2017)</label><mixed-citation>
      
van der Laan, M. P., Kelly, M. C., and Sørensen, N. N.:
A new k-epsilon model consistent with Monin–Obukhov similarity theory, Wind Energy, 20, 479–489, <a href="https://doi.org/10.1002/we.2017" target="_blank">https://doi.org/10.1002/we.2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>van der Laan and Andersen(2018)</label><mixed-citation>
      
van der Laan, M. P. and Andersen, S. J.:
The turbulence scales of a wind turbine wake: A revisit of extended k-epsilon models, J. Phys. Conf. Ser., 1037, 072001, <a href="https://doi.org/10.1088/1742-6596/1037/7/072001" target="_blank">https://doi.org/10.1088/1742-6596/1037/7/072001</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Yalla et al.(2025)Yalla, Brown, Cheung, Houck, deVelder, and Jayaraman</label><mixed-citation>
      
Yalla, G. R., Brown, K., Cheung, L., Houck, D., deVelder, N., and Jayaraman, B.:
Estimating annual energy production of wake mixing control strategies including comparisons to wake steering, Wind Energ. Sci. Discuss. [preprint], <a href="https://doi.org/10.5194/wes-2025-250" target="_blank">https://doi.org/10.5194/wes-2025-250</a>, in review, 2025.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Zhang et al.(2019)Zhang, Almgren, Beckner, Bell, Blaschke, Chan, Day, Friesen, Gott, Graves, Katz, Myers, Nguyen, Nonaka, Rosso, Williams, and Zingale</label><mixed-citation>
      
Zhang, W., Almgren, A., Beckner, V., Bell, J., Blaschke, J., Chan, C., Day, M., Friesen, B., Gott, K., Graves, D., Katz, M., Myers, A., Nguyen, T., Nonaka, A., Rosso, M., Williams, S., and Zingale, M.:
AMReX: a framework for block-structured adaptive mesh refinement, Journal of Open Source Software, 4, 1370, <a href="https://doi.org/10.21105/joss.01370" target="_blank">https://doi.org/10.21105/joss.01370</a>, 2019.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib49"><label>Zhu et al.(1997)Zhu, Byrd, Lu, and Nocedal</label><mixed-citation>
      
Zhu, C., Byrd, R. H., Lu, P., and Nocedal, J.:
Algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound-constrained optimization, ACM T. Math. Software (TOMS), 23, 550–560, 1997.

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