<?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-9-1923-2024</article-id><title-group><article-title>On the robustness of a blade-load-based wind speed estimator to dynamic pitch control strategies</article-title><alt-title>On the robustness of a blade-load-based wind speed estimator</alt-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author" corresp="yes" rid="aff1 aff2 aff3">
          <name><surname>Coquelet</surname><given-names>Marion</given-names></name>
          <email>m.coquelet@tudelft.nl</email>
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Lejeune</surname><given-names>Maxime</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff2">
          <name><surname>Bricteux</surname><given-names>Laurent</given-names></name>
          
        </contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>van Vondelen</surname><given-names>Aemilius A. W.</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-9960-8339</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff3">
          <name><surname>van Wingerden</surname><given-names>Jan-Willem</given-names></name>
          
        <ext-link>https://orcid.org/0000-0003-3061-7442</ext-link></contrib>
        <contrib contrib-type="author" corresp="no" rid="aff1">
          <name><surname>Chatelain</surname><given-names>Philippe</given-names></name>
          
        <ext-link>https://orcid.org/0000-0001-9891-5265</ext-link></contrib>
        <aff id="aff1"><label>1</label><institution>Institute of Mechanics, Materials and Civil Engineering, UCLouvain, Louvain-la-Neuve, Belgium</institution>
        </aff>
        <aff id="aff2"><label>2</label><institution>Fluids-Machines Department, UMONS, Mons, Belgium</institution>
        </aff>
        <aff id="aff3"><label>3</label><institution>Delft Center for Systems and Control, TU Delft, Delft, the Netherlands</institution>
        </aff>
      </contrib-group>
      <author-notes><corresp id="corr1">Marion Coquelet (m.coquelet@tudelft.nl)</corresp></author-notes><pub-date><day>10</day><month>October</month><year>2024</year></pub-date>
      
      <volume>9</volume>
      <issue>10</issue>
      <fpage>1923</fpage><lpage>1940</lpage>
      <history>
        <date date-type="received"><day>3</day><month>May</month><year>2024</year></date>
           <date date-type="rev-request"><day>15</day><month>May</month><year>2024</year></date>
           <date date-type="rev-recd"><day>10</day><month>July</month><year>2024</year></date>
           <date date-type="accepted"><day>15</day><month>August</month><year>2024</year></date>
      </history>
      <permissions>
        <copyright-statement>Copyright: © 2024 Marion Coquelet et al.</copyright-statement>
        <copyright-year>2024</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/9/1923/2024/wes-9-1923-2024.html">This article is available from https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024.html</self-uri><self-uri xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024.pdf">The full text article is available as a PDF file from https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024.pdf</self-uri>
      <abstract><title>Abstract</title>

      <p id="d1e140">In the context of wind turbine pitch control for load alleviation or active wake mixing, it is relevant to provide the time- and space-varying wind conditions as an input to the controller. Apart from classical wind measurement techniques, blade-load-based estimators can also be used to sense the incoming wind. These consider blades to be sensors of the flow and rely on having access to the operating parameters and measuring the blade loads. In this paper, we wish to verify how robust such estimators are to the control strategy active on the turbine, as it impacts both operating parameters and loads. We use an extended Kalman filter (EKF) to estimate the incoming wind conditions based on the blade bending moments. The internal model in the EKF relies on the blade element momentum (BEM) theory in which we propose  accounting for delays between pitch action and blade loads by including dynamic effects. Using large-eddy simulations (LESs) to test the estimator, we show that accounting for the dynamic effects in the BEM formulation is needed to maintain the estimator accuracy when dynamic wake mixing control is active.</p>
  </abstract>
    
<funding-group>
<award-group id="gs1">
<funding-source>European Research Council</funding-source>
<award-id>725627</award-id>
</award-group>
<award-group id="gs2">
<funding-source>Université de Mons</funding-source>
<award-id>50/50 PhD funding program</award-id>
</award-group>
<award-group id="gs3">
<funding-source>Technische Universiteit Delft</funding-source>
<award-id>Hollandse Kust Noord wind farm innovation program</award-id>
</award-group>
</funding-group>
</article-meta>
  </front>
<body>
      

<sec id="Ch1.S1" sec-type="intro">
  <label>1</label><title>Introduction</title>
      <p id="d1e152">With their 2030 Agenda for Sustainable Development, the <xref ref-type="bibr" rid="bib1.bibx42" id="text.1"/> set 17 goals to ensure the sustainable development of our planet. Sustainable Development Goal number 7 aims at ensuring access to affordable, reliable, sustainable, and modern energy for all. In that perspective, reducing the levelized cost of energy (LCoE) coming from wind is essential. Two factors contributing to this effort are considered here: increasing wind farm power capture and reducing the occurrence of turbine failures. Wind turbine and wind farm flow control can contribute to these two objectives.</p>
      <p id="d1e158">Individual pitch control (IPC) has shown its potential to reduce structural loads, from numerical studies <xref ref-type="bibr" rid="bib1.bibx3" id="paren.2"/> to experimental demonstrations <xref ref-type="bibr" rid="bib1.bibx4" id="paren.3"/>. In the meantime, several wind farm flow control strategies have been considered to mitigate wake effects and maximize power production in wind farms. Static flow control was originally proposed, mostly wake redirection using yaw control <xref ref-type="bibr" rid="bib1.bibx15 bib1.bibx46" id="paren.4"/>. Dynamic flow control has also been investigated, mostly the pulse approach and the helix approach. The first one, the pulse approach, relies on collective pitch control (CPC) to periodically vary the thrust force of the turbine at a frequency that is typically  1 order of magnitude smaller than the turbine rotation frequency <xref ref-type="bibr" rid="bib1.bibx48 bib1.bibx30" id="paren.5"/>. The resulting changes in induction generate pulsating patterns in the wake, which help it destabilize faster. When it comes to the helix approach, IPC is used to generate sinusoidal variations of the tilt and yaw moments in quadrature phase <xref ref-type="bibr" rid="bib1.bibx17" id="paren.6"/>. As a consequence, the wake propagates downstream following the shape of a helix, and its recovery is enhanced <xref ref-type="bibr" rid="bib1.bibx21" id="paren.7"/>. Both strategies come with additional loading and pitch-bearing activity <xref ref-type="bibr" rid="bib1.bibx16 bib1.bibx45" id="paren.8"/>.</p>
      <p id="d1e183">Let us focus the remainder of this review on pitch-actuation-based control strategies, for which wind condition awareness is often very limited. In the case of load alleviation using IPC, some studies have proposed controllers including explicit information about the incoming wind, such as the rotor-effective wind speed measured by a lidar in <xref ref-type="bibr" rid="bib1.bibx33" id="text.9"/>. Still, for most IPC controllers, the measurements used to determine the control actions are the blade loads <xref ref-type="bibr" rid="bib1.bibx3 bib1.bibx26" id="paren.10"/>. When it comes to dynamic wake mixing, the pulse and helix strategies act in an open-loop manner. In previous experimental and numerical contributions <xref ref-type="bibr" rid="bib1.bibx43 bib1.bibx21 bib1.bibx39" id="paren.11"/>, the pitch actuation frequency is fixed for a studied configuration. It is computed based on the mean infinite upstream wind speed to match a chosen Strouhal number.</p>
      <p id="d1e195">Yet refined wind condition awareness could be essential to developing more efficient controllers <xref ref-type="bibr" rid="bib1.bibx28" id="paren.12"/>. When it comes to load alleviation, <xref ref-type="bibr" rid="bib1.bibx35" id="text.13"/> showed that including a feedforward loop based on wind disturbance estimation in the IPC scheme further reduces structural loads. <xref ref-type="bibr" rid="bib1.bibx33" id="text.14"/> additionally demonstrated how lidar-assisted feedforward IPC was improving load alleviation results for turbines operating in freestream conditions. <xref ref-type="bibr" rid="bib1.bibx12" id="text.15"/> investigated the case of waked turbines and concluded that it created challenges, calling for new IPC schemes accounting for partial or total wake impingement. When it comes to wake mixing, the controllers act in a dynamic way. How the actuation is phased with respect to turbulent structures in the incoming flow therefore influences their efficiency in alleviating wake effects. <xref ref-type="bibr" rid="bib1.bibx30" id="text.16"/>, for instance, showed, using an optimal control framework for dynamic induction control, that the vortex rings generated by the optimal controller coincide with bulges that are naturally present in the wake of the reference case. The turbine actuation thus phases itself with the incoming turbulent flow structures. The studies of <xref ref-type="bibr" rid="bib1.bibx44" id="text.17"/> and <xref ref-type="bibr" rid="bib1.bibx21" id="text.18"/> also showed, in the context of a line of three turbines, that the pitch phase offset between the first and the second turbine influences the power leveraged for the third turbine.</p>
      <p id="d1e221">Though these examples highlight the potential of wind condition awareness in the context of wind turbine and wind farm flow control, they still lack practical implementation due to sensing limitations. Anemometers have been present on nacelles for many years <xref ref-type="bibr" rid="bib1.bibx37" id="paren.19"/>. Yet, they only provide information on the wind at the measurement point, making turbines unaware of wake impingement, shear, or turbulent gusts. Their measurements additionally suffer from a number of disturbances, resulting in unreliable measurements <xref ref-type="bibr" rid="bib1.bibx5" id="paren.20"/>. Consequently, nacelle-mounted lidars have received growing attention, as they provide solutions to these limitations. They offer remote sensing and are able to provide a great characterization of the incoming flow. Most importantly, lidars are able to measure the incoming flow further upstream from the turbine, hence allowing the controller to prepare for future flow variations. For this reason, lidars are good candidates for feedforward control approaches <xref ref-type="bibr" rid="bib1.bibx23 bib1.bibx34" id="paren.21"/>. They are not a standard yet for modern turbines, likely due to their cost, complexity of installation, or need for synchronization with the SCADA (supervisory control  and data acquisition) system. However, their industrial use has been reported <xref ref-type="bibr" rid="bib1.bibx32" id="paren.22"/> and is likely to be generalized in the future.</p>
      <p id="d1e236">Alternative methods to characterize the inflow have also been investigated. They are based on the principle that any change in the wind is reflected in the load response of the rotor and that load sensors are now typically available for modern turbines <xref ref-type="bibr" rid="bib1.bibx11 bib1.bibx5" id="paren.23"/>. This is referred to as the rotor-as-a-sensor approach, for which the structural response of the turbine is used to determine the wind conditions. Conversely to lidars, such approaches do not offer a preview of the future incoming wind, and the estimation is limited to the current wind conditions. Several contributions on the topic rely on estimators derived from Kalman filters. <xref ref-type="bibr" rid="bib1.bibx36" id="text.24"/> present a linear Kalman-filter-based estimator for estimation of hub-height wind speed and wind shear components. Interestingly, the authors show that the estimator performances degrade when blade pitch actuation occurs due to the nonlinearities appearing in the turbine response. <xref ref-type="bibr" rid="bib1.bibx5" id="text.25"/> introduce an extended Kalman filter (EKF) formulation to estimate blade-effective wind speeds. These are then transformed into sector-effective wind speeds for wake detection application. In <xref ref-type="bibr" rid="bib1.bibx2" id="text.26"/>, this approach is extended to the estimation of inflow misalignment and shear angles through the identification of the blade load harmonics. The EKF approach is also reported in <xref ref-type="bibr" rid="bib1.bibx22" id="text.27"/>, where the sensing is used to infer flow information to a meandering-capturing wake model developed for operational wind farm flow prediction.  In <xref ref-type="bibr" rid="bib1.bibx6" id="text.28"/>, it is an unscented Kalman filter that is used for blade-effective wind speed estimation on vertical-axis wind turbines. Other types of estimators have also been reported, such as a subspace predictive repetitive estimator in <xref ref-type="bibr" rid="bib1.bibx24" id="text.29"/> and both a proportional integral notch estimator and a Coleman-based estimator in <xref ref-type="bibr" rid="bib1.bibx25" id="text.30"/>.</p>
      <p id="d1e264">This work investigates the ability of these blade-load-based estimators to infer the characteristics of the incoming wind when the turbine is operated with several advanced control strategies. Indeed, the underlying principle of load-alleviation IPC, the pulse approach, and the helix approach is to use pitch actuation to modify blade loads. We wonder whether a blade-load-based estimator can still be accurate in that context and therefore be used for closed-loop control applications. To answer this question, we deploy an EKF using the blade out-of-plane bending moments to estimate wind speed at both the rotor scale and  more local scales, building upon the work of <xref ref-type="bibr" rid="bib1.bibx5" id="text.31"/>. Kalman-filter-based estimators rely on an internal model of the turbine relating the measurements and the estimations. Linearized models cover only a small range of turbine operation and lead to inaccuracies out of that range <xref ref-type="bibr" rid="bib1.bibx36 bib1.bibx44" id="paren.32"/>, while nonlinear look-up tables <xref ref-type="bibr" rid="bib1.bibx5 bib1.bibx24" id="paren.33"/> cannot account for dynamic effects between actuation and loads. Regarding the dynamic pitching context into which this paper falls, we propose the use of a dynamic BEM formulation, covering the whole range of operation of the turbine and accounting for potential delays between pitch actuation and blade loads. We demonstrate the performance of the estimator using large-eddy simulations (LESs). The simulated blade bending moments and turbine operating parameters are fed to the estimator, and the wind speed estimates are validated against the actual velocity field retrieved from the LES. We then verify the accuracy of the estimator in cases where pitch control strategies are active for load alleviation and for wake mixing.</p>
      <p id="d1e276">The contributions are thus threefold. <list list-type="order"><list-item>
      <p id="d1e281">Formulate a blade-load-based estimator using a BEM as the internal model in the EKF.</p></list-item><list-item>
      <p id="d1e285">Include dynamics in the BEM to account for delays between pitch action and blade loads in the context of dynamic pitch control.</p></list-item><list-item>
      <p id="d1e289">Verify the robustness of this estimator to load alleviation and wake mixing control strategies in LES.</p></list-item></list></p>
      <p id="d1e292">The remainder of the paper is organized as follows. Section <xref ref-type="sec" rid="Ch1.S2"/> introduces the EKF and the testing environment. The performances of the estimator on a single turbine immersed in turbulent wind are assessed in Sect. <xref ref-type="sec" rid="Ch1.S3"/>. The robustness of the blade-load-based estimator is evaluated for turbines using load alleviation and wake mixing control in Sect. <xref ref-type="sec" rid="Ch1.S4"/>. Eventually, conclusions are drawn alongside perspectives in Sect. <xref ref-type="sec" rid="Ch1.S5"/>.</p>
</sec>
<sec id="Ch1.S2">
  <label>2</label><title>Methodology </title>
      <p id="d1e311">This section presents the structure of the blade-load-based estimator and briefly describes the LES environment in which it is tested.</p>
<sec id="Ch1.S2.SS1">
  <label>2.1</label><title>Extended Kalman filter for wind speed estimation </title>
      <p id="d1e321">The general procedure of the EKF theory is recalled before being applied to the estimation of blade-effective wind speeds. How the latter are then used to reconstruct several characteristics of the wind speed impinging on the rotor is then presented.</p>
<sec id="Ch1.S2.SS1.SSS1">
  <label>2.1.1</label><title>Extended Kalman filter</title>
      <p id="d1e331">Consider the discrete-time state-space representation of a nonlinear system:

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M1" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E1"><mml:mtd><mml:mtext>1</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>k</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 mathvariant="bold-italic">u</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mrow><mml:mi>k</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:mlabeledtr><mml:mlabeledtr id="Ch1.E2"><mml:mtd><mml:mtext>2</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi mathvariant="bold-italic">y</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

              with <inline-formula><mml:math id="M2" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the state vector at time instant <inline-formula><mml:math id="M3" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M4" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">y</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the output or measurement vector, and <inline-formula><mml:math id="M5" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the control input vector. <inline-formula><mml:math id="M6" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mrow><mml:mi>k</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 mathvariant="bold-italic">u</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> is the nonlinear state function and <inline-formula><mml:math id="M7" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> is the measurement function. <inline-formula><mml:math id="M8" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the process noise vector and <inline-formula><mml:math id="M9" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">v</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the measurement noise vector. In EKF theory, they are assumed to be zero-mean Gaussian white noise with covariance matrices <inline-formula><mml:math id="M10" display="inline"><mml:mi mathvariant="bold">Q</mml:mi></mml:math></inline-formula> and <inline-formula><mml:math id="M11" display="inline"><mml:mi mathvariant="bold">R</mml:mi></mml:math></inline-formula>, respectively <xref ref-type="bibr" rid="bib1.bibx10" id="paren.34"/>.</p>
      <p id="d1e568">The purpose of the EKF is to compute an estimate of the unknown states <inline-formula><mml:math id="M12" display="inline"><mml:mi mathvariant="bold-italic">x</mml:mi></mml:math></inline-formula> based on the system model and input–output signals. It is an extension of the linear Kalman filter in the sense that it generalizes the formulation to nonlinear systems. To do so, it relies on the Jacobian matrices of the state and measurement functions for the prediction and correction step, respectively <xref ref-type="bibr" rid="bib1.bibx10" id="paren.35"/>.</p>
      <p id="d1e581">The prediction step at time <inline-formula><mml:math id="M13" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula> consists of computing the a priori error covariance estimate <inline-formula><mml:math id="M14" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">P</mml:mi><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> and the a priori state estimate <inline-formula><mml:math id="M15" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> based on the previous estimates of the covariance matrix <inline-formula><mml:math id="M16" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">P</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> and the state <inline-formula><mml:math id="M17" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula>, and the Jacobian matrix of the state function <inline-formula><mml:math id="M18" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">F</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. The computation is as follows.

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M19" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E3"><mml:mtd><mml:mtext>3</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi mathvariant="bold">F</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mfenced open="" close="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>+</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E4"><mml:mtd><mml:mtext>4</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mi mathvariant="bold">P</mml:mi><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold">F</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:msubsup><mml:mi mathvariant="bold">P</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>+</mml:mo></mml:msubsup><mml:msubsup><mml:mi mathvariant="bold">F</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mi>T</mml:mi></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="bold-italic">Q</mml:mi></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E5"><mml:mtd><mml:mtext>5</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mi mathvariant="bold-italic">f</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow><mml:mo>+</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d1e846">The correction step then makes use of the measurement <inline-formula><mml:math id="M20" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">z</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to compute the a posteriori state estimate <inline-formula><mml:math id="M21" display="inline"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mi>k</mml:mi><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> and the a posteriori error covariance matrix <inline-formula><mml:math id="M22" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="bold">P</mml:mi><mml:mi>k</mml:mi><mml:mo>+</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> based on the Jacobian matrix of the measurement function <inline-formula><mml:math id="M23" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the measurement residual <inline-formula><mml:math id="M24" display="inline"><mml:mrow><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">y</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and the Kalman gain <inline-formula><mml:math id="M25" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold">K</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The procedure is as follows.

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M26" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E6"><mml:mtd><mml:mtext>6</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mfenced open="" close="|"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold-italic">h</mml:mi></mml:mrow><mml:mrow><mml:mo>∂</mml:mo><mml:mi mathvariant="bold-italic">x</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E7"><mml:mtd><mml:mtext>7</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi mathvariant="bold">K</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi mathvariant="bold">P</mml:mi><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup><mml:msubsup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi><mml:mi>T</mml:mi></mml:msubsup><mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="bold">R</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msubsup><mml:mi mathvariant="bold">P</mml:mi><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup><mml:msubsup><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi><mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:mfenced><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E8"><mml:mtd><mml:mtext>8</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msubsup><mml:mi mathvariant="bold">P</mml:mi><mml:mi>k</mml:mi><mml:mo>+</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="bold">I</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="bold">K</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mi mathvariant="bold">H</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:msubsup><mml:mi mathvariant="bold">P</mml:mi><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E9"><mml:mtd><mml:mtext>9</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">y</mml:mi><mml:mo stretchy="false" mathvariant="normal">̃</mml:mo></mml:mover><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">z</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:mi mathvariant="bold-italic">h</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E10"><mml:mtd><mml:mtext>10</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>k</mml:mi><mml:mo>+</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi mathvariant="bold-italic">x</mml:mi><mml:mo stretchy="false" mathvariant="normal">^</mml:mo></mml:mover><mml:mi>k</mml:mi><mml:mo>-</mml:mo></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="bold">K</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:msub><mml:mover accent="true"><mml:mi mathvariant="bold-italic">y</mml:mi><mml:mo mathvariant="normal" stretchy="false">̃</mml:mo></mml:mover><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>

      <fig id="Ch1.F1" specific-use="star"><label>Figure 1</label><caption><p id="d1e1167">Block diagram of the blade-load-based estimator relying on the BEM as an internal model and on an extended Kalman filter as an estimator; each blade has its own estimator. The blade-effective wind speeds are mapped to the fixed frame in the wind reconstruction block.</p></caption>
            <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f01.png"/>

          </fig>

</sec>
<sec id="Ch1.S2.SS1.SSS2">
  <label>2.1.2</label><title>Estimation of blade-effective wind speeds</title>
      <p id="d1e1184">We apply the EKF theory to the estimation of blade-effective wind speeds, considering blades to be rotating sensors whose bending moments are measured. One estimation is performed for each blade <inline-formula><mml:math id="M27" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula>, as shown in the block diagram of Fig. <xref ref-type="fig" rid="Ch1.F1"/>.</p>
      <p id="d1e1196"><italic>Control input.</italic>  The control input vector <inline-formula><mml:math id="M28" display="inline"><mml:mi mathvariant="bold-italic">u</mml:mi></mml:math></inline-formula> consists of the rotation speed of the turbine and the blade pitch angle,
              <disp-formula id="Ch1.E11" content-type="numbered"><label>11</label><mml:math id="M29" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">u</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d1e1243"><italic>State.</italic> The variable to be estimated is the blade-effective wind speed, <inline-formula><mml:math id="M30" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, which is an input to the wind turbine blade system. To match the EKF formalism, we model this input as a state and do not explicitly model the internal states of the system. The one-dimensional state vector is therefore
              <disp-formula id="Ch1.E12" content-type="numbered"><label>12</label><mml:math id="M31" display="block"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d1e1284"><italic>State function.</italic> The state evolution is modeled as a random walk with process noise <inline-formula><mml:math id="M32" display="inline"><mml:mi>w</mml:mi></mml:math></inline-formula>:
              <disp-formula id="Ch1.E13" content-type="numbered"><label>13</label><mml:math id="M33" display="block"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>f</mml:mi><mml:mo>(</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>k</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 mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d1e1378">Considering a random walk is equivalent to assuming that the estimated state is a bias because the expected value is a constant. Using a random walk to model the evolution of the state is thus a simplification in this case, as the blade-effective wind speed is expected to be periodic with a 1P component.  A model representation accounting for the 1P periodicity of the blade-effective wind speed as the one proposed in <xref ref-type="bibr" rid="bib1.bibx44" id="text.36"/> would better represent the system dynamics. Yet, the random walk was successfully used in the context of blade-effective wind speed estimation in <xref ref-type="bibr" rid="bib1.bibx5" id="text.37"/> and <xref ref-type="bibr" rid="bib1.bibx6" id="text.38"/> because the 1P variations are slow compared to the estimation time step and can thus be captured.</p>
      <p id="d1e1390"><italic>Measurement function.</italic> The state is estimated based on the measurements of the blade out-of-plane bending moments, <inline-formula><mml:math id="M34" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. We model the system using the BEM theory, and hence the nonlinear output equation is

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M35" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E14"><mml:mtd><mml:mtext>14</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>h</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E15"><mml:mtd><mml:mtext>15</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>=</mml:mo><mml:mi mathvariant="normal">BEM</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>,</mml:mo><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:mfenced><mml:mo>+</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d1e1544">Note that the original version of the BEM theory is based on the conservation of momentum in a stream tube flowing through the rotor <xref ref-type="bibr" rid="bib1.bibx19" id="paren.39"/>. Therefore, it runs under the assumption of rotor-effective quantities. Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/> shows how the BEM is used to return individual blade loads from blade-effective velocities. Another key assumption of the classical BEM theory, which we further refer to as static BEM, is that the wake is fully developed and that the induction of the rotor is then (quasi-)steady <xref ref-type="bibr" rid="bib1.bibx19" id="paren.40"/>. In Sect. <xref ref-type="sec" rid="Ch1.S4.SS3.SSS2"/>, we will show how this BEM model can be modified to account for the induction changes generated by the pitch control strategies considered in this paper.</p>
      <p id="d1e1557"><italic>Noise covariance matrices.</italic> Several combinations of process noise covariance and measurement noise covariance are tested to determine the best configuration. The values leading to the smallest estimation errors and avoiding excessive filtering are <inline-formula><mml:math id="M36" display="inline"><mml:mrow><mml:msup><mml:mi>Q</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mi>Q</mml:mi><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:msup><mml:mi>U</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.1</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M37" display="inline"><mml:mrow><mml:msup><mml:mi>R</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mi>R</mml:mi><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:msubsup><mml:mi>M</mml:mi><mml:mi>n</mml:mi><mml:mo>*</mml:mo></mml:msubsup><mml:msup><mml:mo>)</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.0001</mml:mn></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M38" display="inline"><mml:mrow><mml:msup><mml:mi>U</mml:mi><mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M39" display="inline"><mml:mrow><mml:msubsup><mml:mi>M</mml:mi><mml:mi>n</mml:mi><mml:mo>*</mml:mo></mml:msubsup></mml:mrow></mml:math></inline-formula> represent the order of magnitude of the incoming wind speed and bending moments, respectively.</p>
      <p id="d1e1654"><italic>Jacobian matrices.</italic> The expression of the Jacobian matrix for the state function is trivial: <inline-formula><mml:math id="M40" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula>.</p>
      <p id="d1e1674">As the BEM is an iterative method (see Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/>), an analytical expression of the Jacobian matrix for the measurement function cannot be provided. We therefore numerically compute it using central finite differences, with <inline-formula><mml:math id="M41" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>U</mml:mi></mml:mrow></mml:math></inline-formula> a constant value tuned manually, following
              <disp-formula id="Ch1.E16" content-type="numbered"><label>16</label><mml:math id="M42" display="block"><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>h</mml:mi><mml:mo>(</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi>U</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo>+</mml:mo></mml:msubsup><mml:mo>+</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>U</mml:mi><mml:mo>,</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo><mml:mo>)</mml:mo><mml:mo>-</mml:mo><mml:mi>h</mml:mi><mml:mo>(</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi>U</mml:mi><mml:mo mathvariant="normal" stretchy="false">^</mml:mo></mml:mover><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo>+</mml:mo></mml:msubsup><mml:mo>-</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>U</mml:mi><mml:mo>,</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi>k</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi>U</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
            Note that this procedure requires two more BEM evaluations. Opting for forward finite differences, for example, could save one evaluation if computational time was to become an issue.</p>
</sec>
<sec id="Ch1.S2.SS1.SSS3">
  <label>2.1.3</label><title>Reconstruction of the incoming wind</title>
      <p id="d1e1829">The procedure described above considers the estimation of the blade-effective wind speeds that are naturally expressed in the blade rotating frame. They are further manipulated to provide information about the incoming flow in the fixed frame. We also want the information to be provided at a local scale in order to capture turbulent and shear patterns in the wind. The rotor is then divided into a chosen number of sectors, <inline-formula><mml:math id="M43" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>S</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and we map the blade-effective wind speeds to the sector-effective wind speeds (see Fig. <xref ref-type="fig" rid="Ch1.F1"/>). A sector-effective wind speed <inline-formula><mml:math id="M44" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the mean blade-effective wind speed seen by the blade as it travels across a sector <inline-formula><mml:math id="M45" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula>. A sector-effective wind speed is updated every time a blade leaves that sector, i.e., at a 3P frequency. The update procedure is formally given in Appendix <xref ref-type="sec" rid="App1.Ch1.S2"/>. At every instant, the rotor-effective wind speed is computed as the average velocity of the <inline-formula><mml:math id="M46" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>S</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> sectors.</p>
      <p id="d1e1877">The wind field can also be synthesized as a sheared plane (see Fig. <xref ref-type="fig" rid="Ch1.F1"/>). This provides a representation of the shear present in the atmospheric boundary layer through a tilting shear coefficient <inline-formula><mml:math id="M47" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">tilt</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, but also gust- or wake-generated shear in the yaw direction <inline-formula><mml:math id="M48" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">yaw</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The least-square approximation is used to find the expression of the plane best fitting the sector-effective wind speeds. Following derivations in <xref ref-type="bibr" rid="bib1.bibx5" id="text.41"/>, sector-effective wind speeds are assumed to account for the wind speed at <inline-formula><mml:math id="M49" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mi>R</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula>. The target expression for the velocity field is
              <disp-formula id="Ch1.E17" content-type="numbered"><label>17</label><mml:math id="M50" display="block"><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:mo>=</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi>r</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">tilt</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>y</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">yaw</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>z</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
            with <inline-formula><mml:math id="M51" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula> the vertical direction and <inline-formula><mml:math id="M52" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula> the transverse one.</p>
</sec>
</sec>
<sec id="Ch1.S2.SS2">
  <label>2.2</label><title>Simulation environment </title>
      <p id="d1e1997">The estimator is verified numerically. Simulations are performed with an in-house LES environment <xref ref-type="bibr" rid="bib1.bibx9 bib1.bibx1 bib1.bibx12" id="paren.42"/>. The Navier–Stokes equations are solved by a vortex particle mesh (VPM) method <xref ref-type="bibr" rid="bib1.bibx8" id="paren.43"/> and wind turbine blades are modeled by immersed lifting lines <xref ref-type="bibr" rid="bib1.bibx7" id="paren.44"/>. The code is coupled to the multi-body-system solver ROBOTRAN that handles the dynamics of the rigid rotor <xref ref-type="bibr" rid="bib1.bibx13" id="paren.45"/>. Turbulence is injected at the inflow using Mann boxes <xref ref-type="bibr" rid="bib1.bibx27" id="paren.46"/>. Wind shear can be modeled at the inflow through the following power law:
            <disp-formula id="Ch1.E18" content-type="numbered"><label>18</label><mml:math id="M53" display="block"><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi>U</mml:mi><mml:mo>(</mml:mo><mml:mi>y</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">hub</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msup><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>y</mml:mi><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mi mathvariant="normal">hub</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mfenced><mml:mi mathvariant="italic">α</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>y</mml:mi></mml:math></inline-formula> is the vertical elevation from the ground, <inline-formula><mml:math id="M55" display="inline"><mml:mrow><mml:msub><mml:mi>H</mml:mi><mml:mi mathvariant="normal">hub</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M56" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">hub</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> are the hub height and velocity, respectively, and <inline-formula><mml:math id="M57" display="inline"><mml:mi mathvariant="italic">α</mml:mi></mml:math></inline-formula> is the shear coefficient.</p>
</sec>
</sec>
<sec id="Ch1.S3">
  <label>3</label><title>Validation of the estimator for a single turbine in turbulent flows with no shear</title>
      <p id="d1e2102">In this section, the estimator is validated for an isolated turbine operating in turbulent wind. The numerical setup is first presented, and the results are then discussed.</p>
<sec id="Ch1.S3.SS1">
  <label>3.1</label><title>Numerical setup</title>
      <p id="d1e2112">The estimator is validated using the NREL 5 MW <xref ref-type="bibr" rid="bib1.bibx20" id="paren.47"/> wind turbine, characterized by a rotor diameter <inline-formula><mml:math id="M58" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">126</mml:mn></mml:mrow></mml:math></inline-formula> m, a rated wind speed of <inline-formula><mml:math id="M59" display="inline"><mml:mn mathvariant="normal">11.4</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M60" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>, and a rated rotor speed of <inline-formula><mml:math id="M61" display="inline"><mml:mn mathvariant="normal">12.1</mml:mn></mml:math></inline-formula> rpm. For this validation study, we consider three mean infinite upstream wind speeds <inline-formula><mml:math id="M62" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>: <inline-formula><mml:math id="M63" display="inline"><mml:mn mathvariant="normal">5</mml:mn></mml:math></inline-formula>,  <inline-formula><mml:math id="M64" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula>, and <inline-formula><mml:math id="M65" display="inline"><mml:mn mathvariant="normal">14</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M66" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. For each wind speed, we consider three turbulence intensity (TI) levels: <inline-formula><mml:math id="M67" display="inline"><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M68" display="inline"><mml:mrow><mml:mn mathvariant="normal">10</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula>, and <inline-formula><mml:math id="M69" display="inline"><mml:mrow><mml:mn mathvariant="normal">15</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula>. Shear is not present in these simulations and no controller is active: the turbine operates at a prescribed rotation speed and collective pitch angle following <xref ref-type="bibr" rid="bib1.bibx20" id="text.48"/>.</p>
      <p id="d1e2238">The boundary conditions are inflow–outflow in the streamwise direction, <inline-formula><mml:math id="M70" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, and unbounded in the vertical, <inline-formula><mml:math id="M71" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>, and transverse, <inline-formula><mml:math id="M72" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>, directions. The extent of the computational domain is <inline-formula><mml:math id="M73" display="inline"><mml:mrow><mml:mn mathvariant="normal">8</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>D</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>D</mml:mi><mml:mo>×</mml:mo><mml:mn mathvariant="normal">4</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> with a <inline-formula><mml:math id="M74" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">64</mml:mn></mml:mrow></mml:math></inline-formula> spatial resolution. The LES time step is adaptive and the operating parameters of the turbine are sampled at a <inline-formula><mml:math id="M75" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula> Hz frequency to feed the EKF.</p>
      <p id="d1e2307">An adjunct LES in which no turbine is present is also performed for each wind case. The quantities estimated by the EKF can then be assessed by comparing them to the “ground truth”, as the additional simulations provide an unambiguous definition of the freestream quantities. The rotor-effective wind speeds are computed as the average, over a disk located at the position of the rotor in the original simulation, of the streamwise velocity extracted from the adjunct LES. This is formally computed as
            <disp-formula id="Ch1.E19" content-type="numbered"><label>19</label><mml:math id="M76" display="block"><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mi mathvariant="italic">π</mml:mi><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mspace width="0.25em" linebreak="nobreak"/><mml:munder><mml:mo movablelimits="false">∬</mml:mo><mml:mi mathvariant="normal">disk</mml:mi></mml:munder><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">WT</mml:mi></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:mspace linebreak="nobreak" width="0.25em"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>S</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          where <inline-formula><mml:math id="M77" display="inline"><mml:mrow><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> is the streamwise velocity field at time <inline-formula><mml:math id="M78" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, <inline-formula><mml:math id="M79" display="inline"><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">WT</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is the location of the wind turbine in the original simulation, and the spatial integral is performed over the disk area swept by the rotor blades. The formulation for the sector-effective wind speeds is similar, except for the fact that the spatial integral is performed over each sector area such that
            <disp-formula id="Ch1.E20" content-type="numbered"><label>20</label><mml:math id="M80" display="block"><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>S</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="italic">π</mml:mi><mml:msup><mml:mi>R</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mspace linebreak="nobreak" width="0.25em"/><mml:munder><mml:mo movablelimits="false">∬</mml:mo><mml:mi mathvariant="normal">sector</mml:mi></mml:munder><mml:msub><mml:mi>u</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>(</mml:mo><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>x</mml:mi><mml:mi mathvariant="normal">WT</mml:mi></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:mspace width="0.25em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>S</mml:mi><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula>
          The tilt and yaw shear coefficients, <inline-formula><mml:math id="M81" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">tilt</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M82" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">yaw</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>, are retrieved from the sector-effective wind speeds using the least-square fit approach as described in Eq. (<xref ref-type="disp-formula" rid="Ch1.E17"/>).</p>
</sec>
<sec id="Ch1.S3.SS2">
  <label>3.2</label><title>Results</title>
      <p id="d1e2551">The rotor is discretized into eight sectors, providing an intermediate spatial resolution in the wind speed estimates. Figure <xref ref-type="fig" rid="Ch1.F2"/> shows the estimation of the sector-effective wind speed (only one sector is shown for the sake of conciseness), the rotor-effective wind speed, and the tilt and yaw shear coefficients.</p>
      <p id="d1e2556">The temporal evolution of the sector-effective and rotor-effective wind speeds appears to be well captured across all simulations. The same remark holds for the shear coefficients. As expected, the estimated signals present steps, as a sector velocity is only updated when a blade leaves a sector, i.e., at a 3P frequency (see Appendix <xref ref-type="sec" rid="App1.Ch1.S2"/>). This update procedure is also partly responsible for the delay between the estimated velocities and the reference velocities. One can also notice that the estimates tend to deteriorate as the mean upstream wind speed decreases, and this is discussed hereunder.</p>
      <p id="d1e2561">The estimator performances are quantified using the following indicators, with <inline-formula><mml:math id="M83" display="inline"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> the number of time steps:

                <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M84" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E21"><mml:mtd><mml:mtext>21</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>[</mml:mo><mml:mi mathvariant="italic">%</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:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>k</mml:mi></mml:munder><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">|</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>r</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup><mml:mi mathvariant="normal">|</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E22"><mml:mtd><mml:mtext>22</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>[</mml:mo><mml:mi mathvariant="italic">%</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:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>S</mml:mi></mml:msub><mml:msub><mml:mi>N</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">|</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup><mml:mi mathvariant="normal">|</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E23"><mml:mtd><mml:mtext>23</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>[</mml:mo><mml:mi mathvariant="italic">%</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:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>S</mml:mi></mml:msub><mml:msub><mml:mi>N</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:mi>U</mml:mi><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup></mml:mrow><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E24"><mml:mtd><mml:mtext>24</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">yaw</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>[</mml:mo><mml:mi mathvariant="italic">%</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:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>k</mml:mi></mml:munder><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">|</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">yaw</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">yaw</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup><mml:mi mathvariant="normal">|</mml:mi></mml:mrow><mml:mrow><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:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mo>max⁡</mml:mo><mml:mi>k</mml:mi></mml:msub><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">yaw</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mo>min⁡</mml:mo><mml:mi>k</mml:mi></mml:msub><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">yaw</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup></mml:mrow></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E25"><mml:mtd><mml:mtext>25</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">tilt</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>[</mml:mo><mml:mi mathvariant="italic">%</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:mrow><mml:msub><mml:mi>N</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:munder><mml:mo movablelimits="false">∑</mml:mo><mml:mi>k</mml:mi></mml:munder><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">|</mml:mi><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">tilt</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">tilt</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup><mml:mi mathvariant="normal">|</mml:mi></mml:mrow><mml:mrow><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:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mo>max⁡</mml:mo><mml:mi>k</mml:mi></mml:msub><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">tilt</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup><mml:mo>-</mml:mo><mml:msub><mml:mo>min⁡</mml:mo><mml:mi>k</mml:mi></mml:msub><mml:msubsup><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi mathvariant="normal">tilt</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi mathvariant="normal">LES</mml:mi></mml:msubsup></mml:mrow></mml:mfenced></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d1e3079">Regarding the estimation of the rotor-effective velocity, the relative absolute errors reported in Table <xref ref-type="table" rid="Ch1.T1"/> remain under <inline-formula><mml:math id="M85" display="inline"><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula>, while for the sector-effective velocities, they remain under <inline-formula><mml:math id="M86" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula>. This is similar to the errors in <xref ref-type="bibr" rid="bib1.bibx5" id="text.49"/>.</p>

<table-wrap id="Ch1.T1" specific-use="star"><label>Table 1</label><caption><p id="d1e3113">Relative errors for the estimation of the rotor-effective wind speed, the sector-effective wind speed, and the shear coefficients for the nine validation cases.</p></caption><oasis:table frame="topbot"><oasis:tgroup cols="10">
     <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" colsep="1"/>
     <oasis:colspec colnum="5" colname="col5" align="right"/>
     <oasis:colspec colnum="6" colname="col6" align="right"/>
     <oasis:colspec colnum="7" colname="col7" align="right" colsep="1"/>
     <oasis:colspec colnum="8" colname="col8" align="right"/>
     <oasis:colspec colnum="9" colname="col9" align="right"/>
     <oasis:colspec colnum="10" colname="col10" align="right"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"><inline-formula><mml:math id="M87" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> [m s<inline-formula><mml:math id="M88" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry namest="col2" nameend="col4" align="center" colsep="1"><inline-formula><mml:math id="M89" display="inline"><mml:mn mathvariant="normal">5</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry namest="col5" nameend="col7" align="center" colsep="1"><inline-formula><mml:math id="M90" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry namest="col8" nameend="col10" align="center"><inline-formula><mml:math id="M91" display="inline"><mml:mn mathvariant="normal">15</mml:mn></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M92" display="inline"><mml:mrow><mml:mi>T</mml:mi><mml:mi>I</mml:mi></mml:mrow></mml:math></inline-formula>  [<inline-formula><mml:math id="M93" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2"><inline-formula><mml:math id="M94" display="inline"><mml:mn mathvariant="normal">6</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col3"><inline-formula><mml:math id="M95" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col4"><inline-formula><mml:math id="M96" display="inline"><mml:mn mathvariant="normal">15</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col5"><inline-formula><mml:math id="M97" display="inline"><mml:mn mathvariant="normal">6</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col6"><inline-formula><mml:math id="M98" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col7"><inline-formula><mml:math id="M99" display="inline"><mml:mn mathvariant="normal">15</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col8"><inline-formula><mml:math id="M100" display="inline"><mml:mn mathvariant="normal">6</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col9"><inline-formula><mml:math id="M101" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula></oasis:entry>
         <oasis:entry colname="col10"><inline-formula><mml:math id="M102" display="inline"><mml:mn mathvariant="normal">15</mml:mn></mml:math></inline-formula></oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M103" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M104" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">2.2</oasis:entry>
         <oasis:entry colname="col3">2.6</oasis:entry>
         <oasis:entry colname="col4">3.6</oasis:entry>
         <oasis:entry colname="col5">1.7</oasis:entry>
         <oasis:entry colname="col6">3.1</oasis:entry>
         <oasis:entry colname="col7">3.1</oasis:entry>
         <oasis:entry colname="col8">0.5</oasis:entry>
         <oasis:entry colname="col9">0.8</oasis:entry>
         <oasis:entry colname="col10">1.7</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M105" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M106" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">2.5</oasis:entry>
         <oasis:entry colname="col3">3.4</oasis:entry>
         <oasis:entry colname="col4">4.9</oasis:entry>
         <oasis:entry colname="col5">2.1</oasis:entry>
         <oasis:entry colname="col6">4.6</oasis:entry>
         <oasis:entry colname="col7">4.5</oasis:entry>
         <oasis:entry colname="col8">1.0</oasis:entry>
         <oasis:entry colname="col9">1.8</oasis:entry>
         <oasis:entry colname="col10">3.0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M107" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M108" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">2.3</oasis:entry>
         <oasis:entry colname="col3">2.5</oasis:entry>
         <oasis:entry colname="col4">3.3</oasis:entry>
         <oasis:entry colname="col5">1.4</oasis:entry>
         <oasis:entry colname="col6">2.5</oasis:entry>
         <oasis:entry colname="col7">1.7</oasis:entry>
         <oasis:entry colname="col8">0.2</oasis:entry>
         <oasis:entry colname="col9">0.3</oasis:entry>
         <oasis:entry colname="col10">0.5</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M109" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">yaw</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M110" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">6.1</oasis:entry>
         <oasis:entry colname="col3">7.9</oasis:entry>
         <oasis:entry colname="col4">6.6</oasis:entry>
         <oasis:entry colname="col5">5.8</oasis:entry>
         <oasis:entry colname="col6">14.9</oasis:entry>
         <oasis:entry colname="col7">6.7</oasis:entry>
         <oasis:entry colname="col8">4.2</oasis:entry>
         <oasis:entry colname="col9">4.9</oasis:entry>
         <oasis:entry colname="col10">4.9</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M111" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">tilt</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M112" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">8.0</oasis:entry>
         <oasis:entry colname="col3">7.9</oasis:entry>
         <oasis:entry colname="col4">7.7</oasis:entry>
         <oasis:entry colname="col5">7.6</oasis:entry>
         <oasis:entry colname="col6">9.5</oasis:entry>
         <oasis:entry colname="col7">7.6</oasis:entry>
         <oasis:entry colname="col8">5.2</oasis:entry>
         <oasis:entry colname="col9">5.1</oasis:entry>
         <oasis:entry colname="col10">5.6</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <fig id="Ch1.F2"><label>Figure 2</label><caption><p id="d1e3578">Estimated wind characteristics (sector-effective wind speed, rotor-effective wind speed, shear coefficients) at three wind speeds with <inline-formula><mml:math id="M113" display="inline"><mml:mrow><mml:mi mathvariant="normal">TI</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">10</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula>: LES-recovered references (black) and estimated values (blue).</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f02.png"/>

        </fig>

      <p id="d1e3602">We also verify whether a bias is present in the estimation by computing <inline-formula><mml:math id="M114" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. Table <xref ref-type="table" rid="Ch1.T1"/> shows that a bias around <inline-formula><mml:math id="M115" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.3</mml:mn><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula> is present for <inline-formula><mml:math id="M116" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">15</mml:mn></mml:mrow></mml:math></inline-formula> m s<inline-formula><mml:math id="M117" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> and it increases to become of the order of 2 %–2.5 % for <inline-formula><mml:math id="M118" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">5</mml:mn></mml:mrow></mml:math></inline-formula> m s<inline-formula><mml:math id="M119" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. This reveals that a mismatch appears between the internal model of the estimator (the BEM) and the actual system (the LES) as the wind speed decreases. It is known from the literature that the 1D momentum theory from which the BEM is derived breaks down at low wind speeds as the rotor is heavily loaded <xref ref-type="bibr" rid="bib1.bibx19" id="paren.50"/>. As the EKF procedure consists of comparing the real output of the system to the expected output computed by the model, a bias in the model leads to a bias in the estimation.</p>
      <p id="d1e3690">While the absolute level of the forces is higher in the LES than in the BEM, hence the positive bias in the estimation, the dynamic changes of the system state are well captured (see Fig. <xref ref-type="fig" rid="Ch1.F2"/>). The estimator thus entails a great perception of the temporal and local changes in wind speed, which is what is of most interest for the control purposes targeted in this paper. If the bias was still an issue, a bias-aware EKF could be used, as suggested by <xref ref-type="bibr" rid="bib1.bibx14" id="text.51"/>. A common practice is to augment the state vector of the original problem with the bias <xref ref-type="bibr" rid="bib1.bibx18" id="paren.52"/>. The EKF therefore estimates both the state and the bias, as done in the work of <xref ref-type="bibr" rid="bib1.bibx31" id="text.53"/> in the context of wind turbine control.</p>
      <p id="d1e3704">Table <xref ref-type="table" rid="Ch1.T1"/> also reveals a degradation of the error metrics as TI increases. We relate this to the spatiotemporal averaging underlying the estimation process. The reference sector-effective wind speed is the unweighted average of the flow field in the radial and azimuthal directions. The sector-effective wind speed estimated by the EKF is also the result of an averaging, but performed differently. First, the radial averaging is materialized by the blade-effective wind speed. The latter is computed by the EKF to minimize the difference between the measured bending moment (here extracted from LES) and the modeled bending moment (here obtained from the BEM). So the EKF uses the BEM to synthesize a turbulent wind speed distribution into a single blade-effective wind speed. Yet a wind turbine blade, and as a consequence the BEM, is nonlinear. Therefore the radial averaging is not simply an unweighted average. Second, the azimuthal averaging is performed by the transformation from blade-effective wind speed to sector-effective wind speed. All azimuthal information considered to get the sector average corresponds to a different instant and the estimated sector-effective wind speed is only updated at a 3P frequency. This is the limitation of using discrete blades as sensors. To summarize, the reference sector-effective wind speed at time <inline-formula><mml:math id="M120" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> is a linear combination of local wind speeds at time <inline-formula><mml:math id="M121" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>, while the estimated sector-effective wind speed at time <inline-formula><mml:math id="M122" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula> is a nonlinear combination of local wind speeds from time <inline-formula><mml:math id="M123" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">rot</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:math></inline-formula> to <inline-formula><mml:math id="M124" display="inline"><mml:mi>t</mml:mi></mml:math></inline-formula>. If the flow field was uniform, the averaging performed by the estimator would be equivalent to the reference averaging. But as turbulence increases, the output of the spatiotemporal averaging associated with the estimator diverges from the reference one.</p>
</sec>
</sec>
<sec id="Ch1.S4">
  <label>4</label><title>Robustness of the estimator to active pitch control strategies </title>
      <p id="d1e3766">While the previous section has focused on validating the estimator, this section aims to test it in more realistic wind conditions and when controllers are active on the turbine. The choice of the study cases is motivated as described hereunder.</p>
<sec id="Ch1.S4.SS1">
  <label>4.1</label><title>Controllers</title>
      <p id="d1e3776">The estimator presented here relies on blade loads and operating parameters. Both are influenced by the controller that is active on the wind turbine. In this section, we verify that the estimator is robust to the chosen control strategy. To do so, we propose simulations in which the three following pitch control strategies are considered: individual pitch control for load alleviation, individual pitch control for wake mixing, and collective pitch control for wake mixing. The implementation of these controllers is presented hereafter.</p>
      <p id="d1e3779">A baseline controller is active in all cases and serves as a comparison for the other cases. It is a classical implementation of a variable-speed, variable-pitch controller <xref ref-type="bibr" rid="bib1.bibx20" id="paren.54"/>. It relies on generator torque control, maximizing the power captured below the rated wind speed, and CPC, regulating the collective pitch angle <inline-formula><mml:math id="M125" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">coll</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> to maintain nominal power production above the rated wind speed.</p>
      <p id="d1e3796">For the controllers relying on individual pitch actions, the Coleman transform is used to map fixed-frame pitch commands to rotating-frame ones <xref ref-type="bibr" rid="bib1.bibx3" id="paren.55"/>. The individual blade pitch angles <inline-formula><mml:math id="M126" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>,</mml:mo><mml:mn mathvariant="normal">3</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> are retrieved from the fixed-frame pitch angles, <inline-formula><mml:math id="M127" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">tilt</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M128" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">yaw</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, and the collective pitch angle <inline-formula><mml:math id="M129" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">coll</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> based on the inverse Coleman transform:
            <disp-formula id="Ch1.Ex1"><mml:math id="M130" display="block"><mml:mrow><mml:mfenced close="]" open="["><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>=</mml:mo><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center center center"><mml:mtr><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mn mathvariant="normal">3</mml:mn></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>sin⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>-</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mn mathvariant="normal">3</mml:mn></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn mathvariant="normal">1</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:mi>cos⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mn mathvariant="normal">3</mml:mn></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mi>sin⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle="false"><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mrow><mml:mn mathvariant="normal">3</mml:mn></mml:mfrac></mml:mstyle></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mfenced open="[" close="]"><mml:mtable class="array" columnalign="center"><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">coll</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">tilt</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">yaw</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mfenced><mml:mo>,</mml:mo></mml:mrow></mml:math></disp-formula>
          where <inline-formula><mml:math id="M131" display="inline"><mml:mi mathvariant="italic">θ</mml:mi></mml:math></inline-formula> is the azimuthal position of the first blade (<inline-formula><mml:math id="M132" display="inline"><mml:mrow><mml:mi mathvariant="italic">θ</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula> when the blade is pointing upward).</p>
      <p id="d1e4043">The IPC-based load alleviation controller, further referred to as IPC, consists of two PI controllers, one for the yaw axis and one for the tilt axis. They compute the fixed-frame pitch commands <inline-formula><mml:math id="M133" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mrow><mml:mi mathvariant="normal">tilt</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">yaw</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>, bringing the fixed-frame loads <inline-formula><mml:math id="M134" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi mathvariant="normal">tilt</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">yaw</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> to zero, in the fashion of <xref ref-type="bibr" rid="bib1.bibx3" id="text.56"/>. More details on this specific implementation can be found in <xref ref-type="bibr" rid="bib1.bibx12" id="text.57"/>.</p>
      <p id="d1e4085">The IPC-based wake mixing controller, further referred to as Helix, is implemented as an open-loop control strategy <xref ref-type="bibr" rid="bib1.bibx17" id="paren.58"/>. It imposes sinusoidal variations of the fixed-frame pitch angles, namely <inline-formula><mml:math id="M135" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">tilt</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:mi>sin⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi>t</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M136" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">yaw</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>A</mml:mi><mml:mi>cos⁡</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>t</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula>. The frequency <inline-formula><mml:math id="M137" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is defined by the Strouhal number <inline-formula><mml:math id="M138" display="inline"><mml:mrow><mml:mi>S</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mi>D</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> based on the rotor diameter <inline-formula><mml:math id="M139" display="inline"><mml:mi>D</mml:mi></mml:math></inline-formula> and the wind speed <inline-formula><mml:math id="M140" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The pitch actuation generates variations of the tilt and yaw moments, eventually forcing the wake to displace laterally and vertically (see Fig. <xref ref-type="fig" rid="Ch1.F3"/>) and to propagate downstream as a helix, hence the name.</p>

      <fig id="Ch1.F3"><label>Figure 3</label><caption><p id="d1e4213">Simplified representation and description, over a period <inline-formula><mml:math id="M141" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, of the helix (yellow) and pulse (green) wakes impinging on a downstream wind turbine. The colored zone schematically represents the wake deficit and the opacity reflects its intensity, while the radius reflects its expansion.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f03.png"/>

        </fig>

      <p id="d1e4233">The CPC-based wake mixing controller generates a pulsing pattern in the wake (see Fig. <xref ref-type="fig" rid="Ch1.F3"/>) by periodically changing the thrust force of the rotor. The position of the wake is not impacted, but its intensity and expansion change over time as a result of the changes in induction. We further refer to this strategy as the Pulse. It is implemented as a superimposition of low-frequency harmonic oscillations onto the collective pitch angle <inline-formula><mml:math id="M142" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">coll</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> computed by the baseline controller. The pitch angle evolution is thus dictated by
            <disp-formula id="Ch1.E26" content-type="numbered"><label>26</label><mml:math id="M143" display="block"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mn mathvariant="normal">3</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">coll</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>A</mml:mi><mml:mi>sin⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mi>S</mml:mi><mml:mi>t</mml:mi><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>t</mml:mi></mml:mrow><mml:mi>D</mml:mi></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
</sec>
<sec id="Ch1.S4.SS2">
  <label>4.2</label><title>Numerical setups</title>
      <p id="d1e4320">We perform the LES of a pair of in-line NREL 5 MW turbines with a <inline-formula><mml:math id="M144" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula> spacing (Fig. <xref ref-type="fig" rid="Ch1.F4"/>a) such that the estimator can be tested on a freestream turbine but also on a waked turbine. The boundary conditions are inflow–outflow in the streamwise direction <inline-formula><mml:math id="M145" display="inline"><mml:mi>x</mml:mi></mml:math></inline-formula>, slip wall in the vertical direction <inline-formula><mml:math id="M146" display="inline"><mml:mi>y</mml:mi></mml:math></inline-formula>, and periodic in the transverse direction <inline-formula><mml:math id="M147" display="inline"><mml:mi>z</mml:mi></mml:math></inline-formula>. The numerical domain extent is <inline-formula><mml:math id="M148" display="inline"><mml:mrow><mml:mn mathvariant="normal">12</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>D</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>×</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mn mathvariant="normal">3</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>D</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>×</mml:mo><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mn mathvariant="normal">8</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>D</mml:mi></mml:mrow></mml:math></inline-formula>, and the spatial resolution is <inline-formula><mml:math id="M149" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">32</mml:mn></mml:mrow></mml:math></inline-formula>.</p>

      <fig id="Ch1.F4"><label>Figure 4</label><caption><p id="d1e4402">Horizontal and vertical  slices of the instantaneous streamwise velocity field used to retrieve bending moments to feed the estimator <bold>(a)</bold> and simulations used as a reference to verify the wind speed estimates for the first <bold>(b)</bold> and second <bold>(c)</bold> turbines. Only the <inline-formula><mml:math id="M150" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M151" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> baseline control case is shown.</p></caption>
          <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f04.png"/>

        </fig>

      <p id="d1e4439">The inflow wind is sheared (<inline-formula><mml:math id="M152" display="inline"><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.2</mml:mn></mml:mrow></mml:math></inline-formula>) and turbulent (TI <inline-formula><mml:math id="M153" display="inline"><mml:mrow><mml:mo>=</mml:mo><mml:mn mathvariant="normal">6</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula>) in order to represent atmospheric boundary layer flows. Two wind speeds are considered: <inline-formula><mml:math id="M154" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula>  and <inline-formula><mml:math id="M155" display="inline"><mml:mn mathvariant="normal">14</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M156" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. For the <inline-formula><mml:math id="M157" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M158" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> cases, both turbines operate in under-rated conditions: this is representative of a configuration in which wake mixing control would be applied. On the first turbine, we therefore test the baseline controller, the Pulse, the Helix, and IPC for the sake of completeness, even though it is usually not used at below-rated wind speeds. The downstream turbine is always operated using the baseline controller. We opt for commonly used parameters for both the Helix and the Pulse <xref ref-type="bibr" rid="bib1.bibx17 bib1.bibx30" id="paren.59"/>: <inline-formula><mml:math id="M159" display="inline"><mml:mrow><mml:mi mathvariant="italic">St</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.25</mml:mn></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M160" display="inline"><mml:mrow><mml:mi>A</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">2.5</mml:mn><mml:mi mathvariant="italic">°</mml:mi></mml:mrow></mml:math></inline-formula>. Note that, as both turbines operate at under-rated wind speed, only the generator torque control is active for the baseline controller such that the collective pitch control is <inline-formula><mml:math id="M161" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">β</mml:mi><mml:mi mathvariant="normal">coll</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn></mml:mrow></mml:math></inline-formula>. For the <inline-formula><mml:math id="M162" display="inline"><mml:mn mathvariant="normal">14</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M163" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> cases, both turbines operate in above-rated conditions. There would be no point in using wake mixing control in that case, and hence it is not tested. Conversely, this is a configuration in which both the upstream and downstream turbines would use load alleviation control. We therefore consider two cases: baseline controller on both turbines and IPC on both turbines. In both cases, collective pitch control is used by the baseline controller for power regulation. When load alleviation control is switched on, the individual pitch commands are added on top of the collective pitch command, following the Coleman transform. Table <xref ref-type="table" rid="Ch1.T2"/> summarizes the abovementioned cases.</p>

<table-wrap id="Ch1.T2"><label>Table 2</label><caption><p id="d1e4583">Summary of the configurations tested to investigate the robustness of blade-load-based estimator to active pitch control.</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" colsep="1"/>
     <oasis:colspec colnum="3" colname="col3" align="left"/>
     <oasis:colspec colnum="4" colname="col4" align="left"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry namest="col1" nameend="col2" align="center" colsep="1"><inline-formula><mml:math id="M164" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M165" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></oasis:entry>
         <oasis:entry namest="col3" nameend="col4" align="center"><inline-formula><mml:math id="M166" display="inline"><mml:mn mathvariant="normal">14</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M167" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1">WT1</oasis:entry>
         <oasis:entry colname="col2">WT2</oasis:entry>
         <oasis:entry colname="col3">WT1</oasis:entry>
         <oasis:entry colname="col4">WT2</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Baseline</oasis:entry>
         <oasis:entry colname="col2">Baseline</oasis:entry>
         <oasis:entry colname="col3">Baseline</oasis:entry>
         <oasis:entry colname="col4">Baseline</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">IPC</oasis:entry>
         <oasis:entry colname="col2">Baseline</oasis:entry>
         <oasis:entry colname="col3">IPC</oasis:entry>
         <oasis:entry colname="col4">IPC</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Helix</oasis:entry>
         <oasis:entry colname="col2">Baseline</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1">Pulse</oasis:entry>
         <oasis:entry colname="col2">Baseline</oasis:entry>
         <oasis:entry colname="col3"/>
         <oasis:entry colname="col4"/>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e4720">The wind speed estimation for both the upstream and the downstream turbine is performed at a <inline-formula><mml:math id="M168" display="inline"><mml:mn mathvariant="normal">10</mml:mn></mml:math></inline-formula> Hz frequency. For the upstream one, the reference velocities are defined as the velocity from a slice located at the rotor position when the rotor is not present (Fig. <xref ref-type="fig" rid="Ch1.F4"/>b). When it comes to the downstream turbine, the reference velocities are accordingly retrieved from simulations of each control case in which only the first turbine is present (Fig. <xref ref-type="fig" rid="Ch1.F4"/>c). The reference velocities are computed following Eqs. (<xref ref-type="disp-formula" rid="Ch1.E19"/>) and (<xref ref-type="disp-formula" rid="Ch1.E20"/>).</p>
</sec>
<sec id="Ch1.S4.SS3">
  <label>4.3</label><title>Under-rated conditions: <inline-formula><mml:math id="M169" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M170" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></title>
      <p id="d1e4766">The under-rated condition cases are discussed in this section. The impact of the control strategy is first highlighted, and then an adaptation of the BEM accounting for dynamic pitch actuation is proposed. Results for the upstream and downstream turbines are presented.</p>
<sec id="Ch1.S4.SS3.SSS1">
  <label>4.3.1</label><title>Impact of the control strategy on operating parameters and measured loads</title>
      <p id="d1e4776">Figure <xref ref-type="fig" rid="Ch1.F5"/> shows the impact of the controller on the operating parameters and the out-of-plane moments. The baseline case shows that, if the pitch is equal for all blades, the effect of shear and turbulence generates 1P oscillations (period <inline-formula><mml:math id="M171" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">rot</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>) on the blade bending moments.</p>
      <p id="d1e4792">When IPC is used, the changes in wind speed perceived by the blade as it rotates are compensated for by the pitch actuation. These vary individually at the 1P frequency, and the amplitude of the actuation varies with time as the controller is closed-loop.</p>

      <fig id="Ch1.F5"><label>Figure 5</label><caption><p id="d1e4797">Effect of the control strategy on rotation speed, blade pitch angles, and out-of-plane bending moment. One color shade is used for each blade. The time axis is given in seconds and rotation periods <inline-formula><mml:math id="M172" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">rot</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> for the baseline and IPC controllers as the dominant effects are observed at 1P in those cases. For the Pulse and Helix cases, time is made dimensionless using the actuation period <inline-formula><mml:math id="M173" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>.</p></caption>
            <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f05.png"/>

          </fig>

      <p id="d1e4829">For the Pulse case, all blades are pitched at the same angle. Given the Strouhal number of <inline-formula><mml:math id="M174" display="inline"><mml:mn mathvariant="normal">0.25</mml:mn></mml:math></inline-formula>, the actuation period <inline-formula><mml:math id="M175" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is about 10 times the rotation period. The amplitude of the pitch oscillations is constant as the strategy is open-loop. The mean value of the out-of-plane moments is marked by this periodicity and displays the changes in rotor induction.</p>
      <p id="d1e4850">For the Helix case, it comes from the Coleman transform that the pitching frequency is <inline-formula><mml:math id="M176" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">rot</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> (see <xref ref-type="bibr" rid="bib1.bibx17" id="altparen.60"/>, for derivation), while the pitching amplitude is constant. This does not impact the mean value of the bending moments, as the individual pitch action is performed in a three-phase manner, with a <inline-formula><mml:math id="M177" display="inline"><mml:mn mathvariant="normal">120</mml:mn></mml:math></inline-formula>° offset between each blade. Rather, the effect is also visible in the amplitude of the bending moments, which is sometimes increased (around <inline-formula><mml:math id="M178" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">20</mml:mn></mml:mrow></mml:math></inline-formula> s in Fig. <xref ref-type="fig" rid="Ch1.F5"/>) and sometimes decreased (around <inline-formula><mml:math id="M179" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">50</mml:mn></mml:mrow></mml:math></inline-formula> s in Fig. <xref ref-type="fig" rid="Ch1.F5"/>). The effect is better understood looking at tilt and yaw moments, as those become quadrature-phase sinusoidal signals with a <inline-formula><mml:math id="M180" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> frequency.</p>
      <p id="d1e4933">This section has highlighted how the control strategies considered in this work impact the state of the turbine, i.e., its operating parameters and the loads it experiences. This further motivates the need to verify the robustness of the blade-load-based estimator to the pitch control strategy active on the turbine. It also points at verifying the accuracy of the BEM in scenarios that involve dynamic actuation.</p>
</sec>
<sec id="Ch1.S4.SS3.SSS2">
  <label>4.3.2</label><title>Handling effects of dynamic actuation in the BEM</title>
      <p id="d1e4945">In the current formulation of the estimator, the internal model relies on the BEM theory. As discussed before, the standard BEM maps the operating parameters of the turbine and the wind speed to the forces exerted on the blades, and the mapping is static. This comes from the assumption of the BEM that the wake is fully developed, which underlies that the induction of the blades and thus the induced velocities around them are (quasi-)steady. Yet the Pulse and the Helix inherently generate periodic variations of the induction, and hence the wake is never fully developed. Through the collective pitch actuation, the Pulse changes the induction of the entire rotor. When it comes to the Helix, the individual pitch actuation changes the local induction of each blade. A time delay therefore exists before equilibrium is reached between the induction factors and the aerodynamic loads. In order to account for it, we propose  making use of a dynamic formulation for the BEM based on the work of <xref ref-type="bibr" rid="bib1.bibx38" id="text.61"/>. Appendix <xref ref-type="sec" rid="App1.Ch1.S1"/> presents how the quasi-steady normal, <inline-formula><mml:math id="M181" display="inline"><mml:mi>a</mml:mi></mml:math></inline-formula>, and tangential, <inline-formula><mml:math id="M182" display="inline"><mml:mrow><mml:msup><mml:mi>a</mml:mi><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:math></inline-formula>, induction factors are computed. From these induction factors, the quasi-steady induced velocities, normal <inline-formula><mml:math id="M183" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> and tangential <inline-formula><mml:math id="M184" display="inline"><mml:mrow><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, are recovered as <inline-formula><mml:math id="M185" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">qs</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>]</mml:mo><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:mi>a</mml:mi><mml:msub><mml:mi>U</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msup><mml:mi>a</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi mathvariant="normal">rot</mml:mi></mml:msub><mml:mi>r</mml:mi><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula><mml:math id="M186" 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> is the infinite upstream velocity and <inline-formula><mml:math id="M187" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula> is the local radius of the considered blade section (see Fig. <xref ref-type="fig" rid="App1.Ch1.S1.F10"/>).</p>
      <p id="d1e5071">Following <xref ref-type="bibr" rid="bib1.bibx38" id="text.62"/>, the induced velocities are filtered with the following first-order differential equations:

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M188" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E27"><mml:mtd><mml:mtext>27</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">qs</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>k</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">qs</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E28"><mml:mtd><mml:mtext>28</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="bold-italic">w</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">int</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="M189" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mi mathvariant="normal">int</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is a working variable, <inline-formula><mml:math id="M190" display="inline"><mml:mrow><mml:msub><mml:mi>k</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.6</mml:mn></mml:mrow></mml:math></inline-formula> is a constant, and <inline-formula><mml:math id="M191" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M192" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> are time constants.</p>
      <p id="d1e5245">The corrected induction factors are retrieved from the corrected induced velocities <inline-formula><mml:math id="M193" display="inline"><mml:mrow><mml:mi mathvariant="bold-italic">w</mml:mi><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>]</mml:mo></mml:mrow></mml:math></inline-formula> following
              <disp-formula id="Ch1.E29" content-type="numbered"><label>29</label><mml:math id="M194" display="block"><mml:mrow><mml:mo>[</mml:mo><mml:mi>a</mml:mi><mml:mo>,</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:msup><mml:mi>a</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>]</mml:mo><mml:mo>=</mml:mo><mml:mo>[</mml:mo><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><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:mspace linebreak="nobreak" width="0.25em"/><mml:msub><mml:mi>w</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:mo>(</mml:mo><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi mathvariant="normal">rot</mml:mi></mml:msub><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>r</mml:mi><mml:mo>)</mml:mo><mml:mo>]</mml:mo><mml:mo>.</mml:mo></mml:mrow></mml:math></disp-formula></p>
      <p id="d1e5336">We further refer to the BEM without dynamic effects as the static BEM and to the one enhanced with dynamic effects as the dynamic BEM. The tunable time constants <inline-formula><mml:math id="M195" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math id="M196" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula> for the dynamic BEM are calibrated against LES data. To do so, we perform the simulation of the NREL 5 MW in uniform inflow with no shear at <inline-formula><mml:math id="M197" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">9</mml:mn></mml:mrow></mml:math></inline-formula> m s<inline-formula><mml:math id="M198" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> when the Pulse and the Helix are active. The turbine rotation speed and blade pitch angles determined by the controller in the LES framework are retrieved and fed to the static and dynamic BEM. We recall that the immersed lifting line method used to compute aerodynamic forces in the LES intrinsically accounts for dynamic effects in the induction and is thus the reference.</p>
      <p id="d1e5389">Figure <xref ref-type="fig" rid="Ch1.F6"/> compares, over one period <inline-formula><mml:math id="M199" display="inline"><mml:mrow><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, the BEM values with those provided by the LES for the local induction and the out-of-plane bending moment.</p>

      <fig id="Ch1.F6"><label>Figure 6</label><caption><p id="d1e5407">Comparison of LES (solid black), static BEM (dashed colored), and dynamic BEM (solid colored) in the evaluation of the local forces acting on the airfoil located at <inline-formula><mml:math id="M200" display="inline"><mml:mrow><mml:mi>r</mml:mi><mml:mo>/</mml:mo><mml:mi>R</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">3</mml:mn><mml:mo>/</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula> for the NREL 5 MW operated in uniform flow with <inline-formula><mml:math id="M201" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">9</mml:mn></mml:mrow></mml:math></inline-formula> m s<inline-formula><mml:math id="M202" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>.</p></caption>
            <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f06.png"/>

          </fig>

      <p id="d1e5463">It shows that, with the static BEM, the axial induction is in direct phase opposition with the pitch angle. It behaves as if, as soon as the pitch angle increases, the induced velocities are reduced. When considering the dynamic effects, a certain delay appears, which is different for the Pulse and the Helix.</p>
      <p id="d1e5466">Based on the analytical expression provided in <xref ref-type="bibr" rid="bib1.bibx19" id="text.63"/>, we propose the following tuning of the time constants:

                  <disp-formula specific-use="align" content-type="numbered"><mml:math id="M203" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E30"><mml:mtd><mml:mtext>30</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">1</mml:mn></mml:msub></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:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mn mathvariant="normal">7</mml:mn><mml:mo>(</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1.3</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>a</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">pitch</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E31"><mml:mtd><mml:mtext>31</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">2</mml:mn></mml:msub></mml:mrow></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:mo>=</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">0.39</mml:mn><mml:mo>-</mml:mo><mml:mn mathvariant="normal">0.26</mml:mn><mml:msup><mml:mfenced open="(" close=")"><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi>r</mml:mi><mml:mi>R</mml:mi></mml:mfrac></mml:mstyle></mml:mfenced><mml:mn mathvariant="normal">2</mml:mn></mml:msup></mml:mrow></mml:mfenced><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msub><mml:mi mathvariant="italic">τ</mml:mi><mml:mn mathvariant="normal">1</mml:mn></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula>

              with <inline-formula><mml:math id="M204" display="inline"><mml:mi>R</mml:mi></mml:math></inline-formula> the rotor radius.</p>
      <p id="d1e5580">TSR being the tip speed ratio, we recall that the pitching frequency of the blade <inline-formula><mml:math id="M205" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">pitch</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is

                  <disp-formula specific-use="gather" content-type="numbered"><mml:math id="M206" display="block"><mml:mtable displaystyle="true"><mml:mlabeledtr id="Ch1.E32"><mml:mtd><mml:mtext>32</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle class="stylechange" displaystyle="true"/><mml:msubsup><mml:mi>f</mml:mi><mml:mi mathvariant="normal">pitch</mml:mi><mml:mi mathvariant="normal">Pulse</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>S</mml:mi><mml:mi>t</mml:mi><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub></mml:mrow><mml:mi>D</mml:mi></mml:mfrac></mml:mstyle><mml:mo>,</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr><mml:mlabeledtr id="Ch1.E33"><mml:mtd><mml:mtext>33</mml:mtext></mml:mtd><mml:mtd><mml:mrow><mml:mstyle displaystyle="true" class="stylechange"/><mml:msubsup><mml:mi>f</mml:mi><mml:mi mathvariant="normal">pitch</mml:mi><mml:mi mathvariant="normal">Helix</mml:mi></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">rot</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>f</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mi mathvariant="normal">TSR</mml:mi><mml:mi mathvariant="italic">π</mml:mi></mml:mfrac></mml:mstyle><mml:mo>+</mml:mo><mml:mi>S</mml:mi><mml:mi>t</mml:mi></mml:mrow></mml:mfenced><mml:mstyle displaystyle="true"><mml:mfrac style="display"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">ref</mml:mi></mml:msub></mml:mrow><mml:mi>D</mml:mi></mml:mfrac></mml:mstyle><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mo>.</mml:mo></mml:mrow></mml:mtd></mml:mlabeledtr></mml:mtable></mml:math></disp-formula></p>
      <p id="d1e5697">This section therefore shows that ignoring the delays leads to poor evaluation of the angle of attack, which eventually leads to inaccurate loads. Including dynamic effects in the BEM therefore increases the accuracy of the internal model of the estimator, which should improve the quality of the estimate provided by the EKF.</p>
</sec>
<sec id="Ch1.S4.SS3.SSS3">
  <label>4.3.3</label><title>Results for the upstream turbine</title>
      <p id="d1e5710">We divide the rotor into four sectors (<inline-formula><mml:math id="M207" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>S</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">4</mml:mn></mml:mrow></mml:math></inline-formula>) placed as a cross, which leads to a top, right, bottom, and left sector. This allows us to capture the effects of shear thanks to the top–bottom differences and the effects of gust or wake impingement through the left–right imbalances.  We first comment on the results of the estimator in its original formulation, i.e., using the static BEM. Time series of the rotor-effective and sector-effective wind speeds are provided in Fig. <xref ref-type="fig" rid="Ch1.F7"/>, along with their power spectral density (PSD).</p>

      <fig id="Ch1.F7" specific-use="star"><label>Figure 7</label><caption><p id="d1e5732"><inline-formula><mml:math id="M208" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M209" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> case: wind speed estimation on the upstream turbine (WT1) using a static <bold>(a, c)</bold> and dynamic <bold>(b, d)</bold> BEM as the internal model in the EKF. Time series of the estimated wind speeds <bold>(a, b)</bold> and their power spectral density <bold>(c, d)</bold> are presented. Reference velocities (black) are extracted from the LES. The wind speeds are estimated by the upstream turbine, which is operated with four different control strategies: baseline (blue), IPC (red), Pulse (green), and Helix (yellow).</p></caption>
            <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f07.png"/>

          </fig>

      <p id="d1e5771">When it comes to the rotor-effective wind speed, the estimations are almost identical for the baseline, IPC, and Helix cases. When the Pulse is active on the turbine, oscillations appear in the wind speed estimate at the Pulse frequency. For the sector-effective wind speed, these oscillations are present not only for Pulse but also for Helix.</p>
      <p id="d1e5775">This highlights that neglecting the dynamic effects in the internal model of the system, as  is done with the look-up table approaches in <xref ref-type="bibr" rid="bib1.bibx5" id="text.64"/>, <xref ref-type="bibr" rid="bib1.bibx24" id="text.65"/>, and <xref ref-type="bibr" rid="bib1.bibx25" id="text.66"/>, is inadequate for the considered application. When the static BEM is used, the expected measurement provided by the internal model in the EKF is not accurate. There is a mismatch with the actual measurement, and the wind speed estimate is wrongfully corrected in the correction step. For the Pulse, this leads to periodic oscillations of both the rotor-effective wind speed and the sector-effective wind speed at the actuation frequency <inline-formula><mml:math id="M210" display="inline"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>/</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mi mathvariant="normal">p</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. With the Helix control, the changes in induction are performed individually at each blade in a three-phase manner, with a <inline-formula><mml:math id="M211" display="inline"><mml:mn mathvariant="normal">120</mml:mn></mml:math></inline-formula>°  offset between each blade. The inaccurate oscillations therefore appear on the blade-effective wind speeds, but they cancel out at the rotor scale.</p>
      <p id="d1e5809">Figure <xref ref-type="fig" rid="Ch1.F7"/> presents the result of the estimators once dynamics are taken into account in the internal BEM model. The estimates are now identical whatever the control strategy active on the turbine: the adapted estimator is robust to the control strategy. The capacities of the estimator described in Sect. <xref ref-type="sec" rid="Ch1.S3"/> and demonstrated by several studies in the literature are then retrieved. The estimator is able to recover the higher velocities in the top sector, the intermediate ones in the left and right sectors, and the lower ones in the bottom sector. It is thus able to capture turbulence, shear, and gusts. The estimation errors are reported in Table <xref ref-type="table" rid="Ch1.T3"/> and are close to <inline-formula><mml:math id="M212" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula>.</p>

      <fig id="Ch1.F8" specific-use="star"><label>Figure 8</label><caption><p id="d1e5831"><inline-formula><mml:math id="M213" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M214" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> case: wind speed estimation on the downstream turbine (WT2), operated with baseline control, using a static BEM as an internal model in the EKF. Time series of the estimated wind speeds <bold>(a, b, c)</bold> and their power spectral density <bold>(d, e, f)</bold> are presented. Reference velocities (black) are extracted from the LES with the sole upstream turbine operated with several control strategies: baseline (blue), Pulse (green), and Helix (yellow).</p></caption>
            <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f08.png"/>

          </fig>

<table-wrap id="Ch1.T3"><label>Table 3</label><caption><p id="d1e5867"><inline-formula><mml:math id="M215" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M216" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> case: wind speed estimation errors for the upstream turbine (WT1).</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="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Baseline</oasis:entry>
         <oasis:entry colname="col3">IPC</oasis:entry>
         <oasis:entry colname="col4">Pulse</oasis:entry>
         <oasis:entry colname="col5">Helix</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M217" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M218" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">5.2</oasis:entry>
         <oasis:entry colname="col3">4.7</oasis:entry>
         <oasis:entry colname="col4">4.9</oasis:entry>
         <oasis:entry colname="col5">4.9</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M219" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M220" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">5.4</oasis:entry>
         <oasis:entry colname="col3">5.0</oasis:entry>
         <oasis:entry colname="col4">5.2</oasis:entry>
         <oasis:entry colname="col5">5.2</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M221" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M222" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">5.4</oasis:entry>
         <oasis:entry colname="col3">4.9</oasis:entry>
         <oasis:entry colname="col4">5.1</oasis:entry>
         <oasis:entry colname="col5">5.1</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e6048">The overestimation bias discussed in Sect. <xref ref-type="sec" rid="Ch1.S3"/> is also observed, yet it is around <inline-formula><mml:math id="M223" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula> here, while it was around 1.5 %–2 % in the validation case at the same <inline-formula><mml:math id="M224" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M225" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> wind speed. We attribute this increase in bias to the setup used for the simulations. Indeed, to maintain affordable computational costs, the spatial resolution used for the LES is coarsened to <inline-formula><mml:math id="M226" display="inline"><mml:mrow><mml:mi>D</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">32</mml:mn></mml:mrow></mml:math></inline-formula>, while the resolution was 2 times finer in Sect. <xref ref-type="sec" rid="Ch1.S3"/>. It is known that the forces computed by the LES increase when the resolution decreases due to poor capture of the tip losses <xref ref-type="bibr" rid="bib1.bibx29" id="paren.67"/>. The mismatches between the internal model (BEM) and the actual system (LES) are higher with the simulations in this section than with those from Sect. <xref ref-type="sec" rid="Ch1.S3"/>. In the correction step, the EKF therefore corrects the velocity to a higher value than it should. As suggested before, this could be corrected with bias estimation <xref ref-type="bibr" rid="bib1.bibx18" id="paren.68"/>.</p>
</sec>
<sec id="Ch1.S4.SS3.SSS4">
  <label>4.3.4</label><title>Results for the downstream turbine</title>
      <p id="d1e6114">The Pulse and the Helix are wake mixing control strategies, which means that their purpose is to modify the wake. Namely, the Pulse is expected to generate a pulsing sequence in the wake, with alternating zones of lower and higher velocities, while the Helix laterally and vertically displaces the wake as it propagates downstream (see Fig. <xref ref-type="fig" rid="Ch1.F3"/>). In this section, we want to verify the performances of the estimator in waked flows and its ability to capture the frequency content added to the wake by the Pulse and the Helix.</p>
      <p id="d1e6119">Figure <xref ref-type="fig" rid="Ch1.F8"/>a shows that the estimator performs reasonably well in waked conditions, capturing the large-scale changes in the wind. Yet, the estimation somewhat deteriorates compared to the upstream turbine case, as Table <xref ref-type="table" rid="Ch1.T4"/> reports. Two reasons can be mentioned to support the bigger discrepancies and stem from the inherent characteristics of a wind turbine wake: reduced velocity and higher turbulence. On the one hand, the flow dynamics are harder to capture due to the complexity and randomness of turbulence. On the other hand, the BEM loses accuracy at lower velocity, hence the bigger bias present in the estimation (<inline-formula><mml:math id="M227" display="inline"><mml:mrow><mml:mn mathvariant="normal">6</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula> on average against the <inline-formula><mml:math id="M228" display="inline"><mml:mrow><mml:mn mathvariant="normal">5</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula> for the freestream turbine).</p>

<table-wrap id="Ch1.T4"><label>Table 4</label><caption><p id="d1e6151"><inline-formula><mml:math id="M229" display="inline"><mml:mn mathvariant="normal">9</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M230" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> case: wind speed estimation errors for the downstream turbine (WT2). The controller refers to the controller that is active on the upstream turbine. The downstream turbine is always operated with baseline control.</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="center"/>
     <oasis:colspec colnum="3" colname="col3" align="center"/>
     <oasis:colspec colnum="4" colname="col4" align="center"/>
     <oasis:colspec colnum="5" colname="col5" align="center"/>
     <oasis:thead>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Baseline</oasis:entry>
         <oasis:entry colname="col3">IPC</oasis:entry>
         <oasis:entry colname="col4">Pulse</oasis:entry>
         <oasis:entry colname="col5">Helix</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M231" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M232" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">6.4</oasis:entry>
         <oasis:entry colname="col3">6.2</oasis:entry>
         <oasis:entry colname="col4">6.6</oasis:entry>
         <oasis:entry colname="col5">5.8</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M233" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M234" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">7.0</oasis:entry>
         <oasis:entry colname="col3">6.9</oasis:entry>
         <oasis:entry colname="col4">7.3</oasis:entry>
         <oasis:entry colname="col5">6.6</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M235" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M236" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">6.6</oasis:entry>
         <oasis:entry colname="col3">6.4</oasis:entry>
         <oasis:entry colname="col4">6.7</oasis:entry>
         <oasis:entry colname="col5">6.0</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e6333">Figure <xref ref-type="fig" rid="Ch1.F8"/>b shows that the estimator is able to capture the frequency content added to the wake by the Pulse and the Helix control strategies. Looking back at the time series, it is also interesting to notice that the phase at which higher- and lower-velocity flow parcels are impacting a sector, or the rotor, is properly captured. This is an interesting result from the perspective of applying the Helix or the Pulse to deeper lines of turbines. The downstream turbine could therefore also be actuated with the Helix or the Pulse. To do so in an optimal way, it should synchronize its action with the periodic perturbations already present in the wake, as proposed in <xref ref-type="bibr" rid="bib1.bibx44" id="text.69"/> and <xref ref-type="bibr" rid="bib1.bibx21" id="text.70"/>.</p>

      <fig id="Ch1.F9" specific-use="star"><label>Figure 9</label><caption><p id="d1e6346"><inline-formula><mml:math id="M237" display="inline"><mml:mn mathvariant="normal">14</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M238" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> case: time series of estimated wind speeds and shear coefficients; both turbines are operated with either baseline control (blue) or IPC (red). <bold>(a)</bold> WT1 estimates for the baseline and IPC cases,  <bold>(b)</bold> WT2 estimates for the baseline case, and <bold>(c)</bold> WT2 estimates for the IPC case. Reference velocities (black) are extracted from the LES.</p></caption>
            <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f09.png"/>

          </fig>

</sec>
</sec>
<sec id="Ch1.S4.SS4">
  <label>4.4</label><title>Above-rated conditions: <inline-formula><mml:math id="M239" display="inline"><mml:mn mathvariant="normal">14</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M240" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></title>
      <p id="d1e6411">This final section discusses the above-rated wind speed cases. The impact of using IPC on the pitch angle and blade loads is highlighted in Fig. <xref ref-type="fig" rid="Ch1.F5"/> and is not shown here. Note, however, that CPC is active in these wind conditions. Figure <xref ref-type="fig" rid="Ch1.F9"/> shows the time series of the wind speed estimates for the two turbines. The static BEM is used as the internal model. Separate panels are used for the downstream turbine as the wake is somewhat different depending on whether IPC is used on the upstream turbine or not <xref ref-type="bibr" rid="bib1.bibx47" id="paren.71"/>. The reference wind speed is thus slightly different for the two cases, as can be observed when carefully looking at Fig. <xref ref-type="fig" rid="Ch1.F9"/>. Instead of showing all sector-effective wind speeds as in the previous sections, Fig. <xref ref-type="fig" rid="Ch1.F9"/> rather presents the horizontal and vertical shear coefficient (Eq. <xref ref-type="disp-formula" rid="Ch1.E17"/>), as these quantities are specifically insightful for load alleviation control using IPC.</p>
      <p id="d1e6428">First, results show that the static BEM is sufficient in these cases. CPC for power regulation is active in the baseline case and additional individual pitching is added on top of it in the IPC case. Still, no rapid changes in induction are associated with the two control cases; hence the static BEM is accurate in modeling the link between operating parameters, wind speed, and blade bending moments. Figure <xref ref-type="fig" rid="Ch1.F9"/> also shows that the bias of the estimator is reduced for both the freestream and the waked turbine. This is quantitatively confirmed by Table <xref ref-type="table" rid="Ch1.T5"/>, which shows that errors remain under <inline-formula><mml:math id="M241" display="inline"><mml:mrow><mml:mn mathvariant="normal">3</mml:mn><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="italic">%</mml:mi></mml:mrow></mml:math></inline-formula> for the estimated wind speeds. It is a direct consequence of the higher wind speed: the BEM is more accurate at reduced thrust coefficients and the estimation is better.</p>

<table-wrap id="Ch1.T5"><label>Table 5</label><caption><p id="d1e6449"><inline-formula><mml:math id="M242" display="inline"><mml:mn mathvariant="normal">14</mml:mn></mml:math></inline-formula> m s<inline-formula><mml:math id="M243" display="inline"><mml:msup><mml:mi/><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> case: wind speed and shear coefficient estimation errors for the two turbines (WT1 and WT2). The latter are both operated with either baseline control or IPC.</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>
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">Baseline</oasis:entry>
         <oasis:entry colname="col3">IPC</oasis:entry>
         <oasis:entry colname="col4">Baseline</oasis:entry>
         <oasis:entry colname="col5">IPC</oasis:entry>
       </oasis:row>
       <oasis:row rowsep="1">
         <oasis:entry colname="col1"/>
         <oasis:entry colname="col2">WT1</oasis:entry>
         <oasis:entry colname="col3">WT1</oasis:entry>
         <oasis:entry colname="col4">WT2</oasis:entry>
         <oasis:entry colname="col5">WT2</oasis:entry>
       </oasis:row>
     </oasis:thead>
     <oasis:tbody>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M244" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi>r</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M245" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">1.4</oasis:entry>
         <oasis:entry colname="col3">1.4</oasis:entry>
         <oasis:entry colname="col4">1.8</oasis:entry>
         <oasis:entry colname="col5">1.8</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M246" display="inline"><mml:mrow><mml:msubsup><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow><mml:mi mathvariant="normal">abs</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M247" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">2.0</oasis:entry>
         <oasis:entry colname="col3">2.0</oasis:entry>
         <oasis:entry colname="col4">2.5</oasis:entry>
         <oasis:entry colname="col5">2.6</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M248" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M249" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">1.5</oasis:entry>
         <oasis:entry colname="col3">1.5</oasis:entry>
         <oasis:entry colname="col4">1.9</oasis:entry>
         <oasis:entry colname="col5">2.0</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M250" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">tilt</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M251" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">11.0</oasis:entry>
         <oasis:entry colname="col3">10.9</oasis:entry>
         <oasis:entry colname="col4">20.2</oasis:entry>
         <oasis:entry colname="col5">20.7</oasis:entry>
       </oasis:row>
       <oasis:row>
         <oasis:entry colname="col1"><inline-formula><mml:math id="M252" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϵ</mml:mi><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">yaw</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> [<inline-formula><mml:math id="M253" display="inline"><mml:mi mathvariant="italic">%</mml:mi></mml:math></inline-formula>]</oasis:entry>
         <oasis:entry colname="col2">17.7</oasis:entry>
         <oasis:entry colname="col3">17.1</oasis:entry>
         <oasis:entry colname="col4">17.7</oasis:entry>
         <oasis:entry colname="col5">16.1</oasis:entry>
       </oasis:row>
     </oasis:tbody>
   </oasis:tgroup></oasis:table></table-wrap>

      <p id="d1e6726">Time series also show a good capture of the shear coefficients. The vertical wind shear of the inflow is sensed (<inline-formula><mml:math id="M254" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mi mathvariant="normal">tilt</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> is nonzero on average), while the horizontal shear generated by turbulent gusts is also seen (<inline-formula><mml:math id="M255" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">α</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>a</mml:mi><mml:mi>w</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> varies around a zero mean).</p>
</sec>
</sec>
<sec id="Ch1.S5" sec-type="conclusions">
  <label>5</label><title>Conclusions</title>
      <p id="d1e6766">This work assesses the ability of a blade-load-based wind speed estimator to accurately sense the characteristics of the incoming wind when both collective and individual pitch control is active at the turbine.</p>
      <p id="d1e6769">The proposed estimator relies on an extended Kalman filter, whose internal model of the system is based on the BEM theory. When power regulation CPC and load alleviation IPC are used, a state-of-the-art static BEM ensures accurate wind speed estimations by the EKF. What this paper highlights is that, when wake mixing control is used, accounting for dynamic changes in blade induction is needed. Indeed, the static BEM is not an accurate model when the Pulse or the Helix is active on the turbine, as the static BEM considers an immediate reaction of the blade loads to the pitch actuation. It ignores the unsteady effects in the wake related to the changes in induction. Including an unsteady correction in the model is the solution we propose to make the EKF robust to the controller active on the turbine. This contribution is essential if the EKF is to be used for state-feedback control, the application targeted for this tool.</p>
      <p id="d1e6773">Indeed, using IPC for load alleviation in complex wind conditions is still challenging and could benefit from explicit information on local wind speeds and global shear coefficients provided by the estimator. For the Pulse and the Helix controllers, sensing the incoming flow is needed for them to be used in a closed-loop manner. This would allow them to optimally phase their dynamic actuation with the dynamics of the incoming flow structures. When talking about an upstream turbine, this refers to the gusts and shear of the atmospheric boundary layer. When talking about a waked turbine, this also refers to synchronization with the added periodic content in the Helix and Pulse wakes. A direct follow-up to this work then consists of determining if the precision provided by this estimator is sufficient for these control applications, which might lead to having to deal with the bias of the estimator. This also comes along with finding a control formulation including the wind speed estimates.</p>
      <p id="d1e6776">Another perspective is to investigate the effects of blade flexibility on the proposed estimator. The structural dynamics of the rotor are indeed not considered in this study, as both the EKF estimator and the LESs assume a rigid rotor. Accounting for blade flexibility modifies the blade root moments in three ways: mean value, amplitude of the fluctuations, and phase of the fluctuations <xref ref-type="bibr" rid="bib1.bibx41" id="paren.72"/>. And these effects increase as the rotor diameter increases <xref ref-type="bibr" rid="bib1.bibx40" id="paren.73"/>. Further investigations are thus needed in that field, especially when the estimator is used for larger rotors.</p>
</sec>

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

<app id="App1.Ch1.S1">
  <label>Appendix A</label><title>Blade element momentum theory </title>
      <p id="d1e6797">The BEM used in this work was implemented in-house following <xref ref-type="bibr" rid="bib1.bibx19" id="text.74"/> and validated against FAST. Rotor tilt and blade cone angle are not taken into account, and the rotor is considered to be a flat disk perpendicular to the inflow. Algorithm <xref ref-type="other" rid="App1.Ch1.S1.Prog1"/> highlights the key steps of the BEM computation. The latter is performed in an iterative manner until the value of the flow angle <inline-formula><mml:math id="M256" display="inline"><mml:mi mathvariant="italic">ϕ</mml:mi></mml:math></inline-formula> [rad] is converged with a tolerance of <inline-formula><mml:math id="M257" display="inline"><mml:mrow><mml:mi mathvariant="normal">tol</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mn mathvariant="normal">10</mml:mn><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">6</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:math></inline-formula> in this case. Flow angle and other quantities of interest for the BEM are illustrated in Fig. <xref ref-type="fig" rid="App1.Ch1.S1.F10"/>. The Glauert correction is used for high induction, and, when needed, dynamic effects can be taken into account (see Sect. <xref ref-type="sec" rid="Ch1.S4.SS3.SSS2"/>). We refer to <xref ref-type="bibr" rid="bib1.bibx19" id="text.75"/> for more details.</p><boxed-text content-type="algorithm" position="float" id="App1.Ch1.S1.Prog1"><label>Algorithm A1</label><caption><p id="d1e6839">BEM</p></caption><disp-quote content-type="algorithmic" specific-use="numbering{0}"><list>

    <list-item>

      <p id="d1e6846" specific-use="FOR"><bold>for</bold> Each blade section <bold>do</bold> <list>
    <list-item>
      <p id="d1e6857" specific-use="STATE">Radial position <inline-formula><mml:math id="M258" display="inline"><mml:mi>r</mml:mi></mml:math></inline-formula>, chord <inline-formula><mml:math id="M259" display="inline"><mml:mi>c</mml:mi></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e6875" specific-use="STATE">Initialize induction factors and flow angle</p></list-item>
    <list-item>
      <p id="d1e6880" specific-use="STATE"><inline-formula><mml:math id="M260" display="inline"><mml:mspace linebreak="nobreak" width="1em"/></mml:math></inline-formula> <inline-formula><mml:math id="M261" display="inline"><mml:mrow><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.5</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M262" display="inline"><mml:mrow><mml:mspace width="1em" linebreak="nobreak"/><mml:msup><mml:mi>a</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0.005</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M263" display="inline"><mml:mrow><mml:mspace width="1em" linebreak="nobreak"/><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">new</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M264" display="inline"><mml:mrow><mml:mspace linebreak="nobreak" width="1em"/><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">old</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">π</mml:mi><mml:mo>/</mml:mo><mml:mn mathvariant="normal">2</mml:mn><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e6961" specific-use="WHILE"><bold>while</bold> <inline-formula><mml:math id="M265" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">new</mml:mi></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">old</mml:mi></mml:msub><mml:mo>&gt;</mml:mo><mml:mi mathvariant="normal">tol</mml:mi></mml:mrow></mml:math></inline-formula> <bold>do</bold> <list>
    <list-item>
      <p id="d1e6994" specific-use="STATE"><inline-formula><mml:math id="M266" display="inline"><mml:mspace linebreak="nobreak" width="1em"/></mml:math></inline-formula> <inline-formula><mml:math id="M267" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">old</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">new</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7021" specific-use="STATE">Compute angle of attack and relative velocity</p></list-item>
    <list-item>
      <p id="d1e7026" specific-use="STATE"><inline-formula><mml:math id="M268" display="inline"><mml:mspace width="1em" linebreak="nobreak"/></mml:math></inline-formula> <inline-formula><mml:math id="M269" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced close=")" open="("><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>-</mml:mo><mml:mi>a</mml:mi></mml:mrow></mml:mfenced><mml:msub><mml:mi>u</mml:mi><mml:mn mathvariant="normal">0</mml:mn></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M270" display="inline"><mml:mrow><mml:mspace linebreak="nobreak" width="1em"/><mml:msub><mml:mi>U</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mfenced open="(" close=")"><mml:mrow><mml:mn mathvariant="normal">1</mml:mn><mml:mo>+</mml:mo><mml:msup><mml:mi>a</mml:mi><mml:mo>′</mml:mo></mml:msup></mml:mrow></mml:mfenced><mml:msub><mml:mi mathvariant="normal">Ω</mml:mi><mml:mi mathvariant="normal">rot</mml:mi></mml:msub><mml:mi>r</mml:mi></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7093" specific-use="STATE"><inline-formula><mml:math id="M271" display="inline"><mml:mspace width="1em" linebreak="nobreak"/></mml:math></inline-formula> <inline-formula><mml:math id="M272" display="inline"><mml:mrow><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>=</mml:mo><mml:msup><mml:mi>tan⁡</mml:mi><mml:mrow><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msup><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>/</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7134" specific-use="STATE"><inline-formula><mml:math id="M273" display="inline"><mml:mspace width="1em" linebreak="nobreak"/></mml:math></inline-formula> <inline-formula><mml:math id="M274" display="inline"><mml:mrow><mml:mi mathvariant="italic">α</mml:mi><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>-</mml:mo><mml:mo>(</mml:mo><mml:mi mathvariant="italic">β</mml:mi><mml:mo>+</mml:mo><mml:mi mathvariant="italic">γ</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7168" specific-use="STATE"><inline-formula><mml:math id="M275" display="inline"><mml:mspace width="1em" linebreak="nobreak"/></mml:math></inline-formula> <inline-formula><mml:math id="M276" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mi mathvariant="normal">rel</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msubsup><mml:mi>U</mml:mi><mml:mi>n</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mo>+</mml:mo><mml:msubsup><mml:mi>U</mml:mi><mml:mi>t</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7208" specific-use="STATE">Retrieve lift and drag coefficients from polar</p></list-item>
    <list-item>
      <p id="d1e7213" specific-use="STATE"><inline-formula><mml:math id="M277" display="inline"><mml:mspace width="1em" linebreak="nobreak"/></mml:math></inline-formula> <inline-formula><mml:math id="M278" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M279" display="inline"><mml:mrow><mml:mspace width="1em" linebreak="nobreak"/><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub><mml:mo>(</mml:mo><mml:mi mathvariant="italic">α</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7271" specific-use="STATE">Compute normal and tangential force coefficients</p></list-item>
    <list-item>
      <p id="d1e7276" specific-use="STATE"><inline-formula><mml:math id="M280" display="inline"><mml:mspace width="1em" linebreak="nobreak"/></mml:math></inline-formula> <inline-formula><mml:math id="M281" display="inline"><mml:mrow><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi>L</mml:mi></mml:msub><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>,</mml:mo></mml:mrow></mml:math></inline-formula> <inline-formula><mml:math id="M282" display="inline"><mml:mrow><mml:mspace width="1em" linebreak="nobreak"/><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>L</mml:mi></mml:msub><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">D</mml:mi></mml:msub><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7354" specific-use="STATE">Compute new induction factors</p></list-item>
    <list-item>
      <p id="d1e7360" specific-use="STATE"><inline-formula><mml:math id="M283" display="inline"><mml:mspace linebreak="nobreak" width="1em"/></mml:math></inline-formula> <inline-formula><mml:math id="M284" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mfrac></mml:mstyle><mml:mi>arccos⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi>exp⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi>R</mml:mi><mml:mo>-</mml:mo><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>r</mml:mi><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7421" specific-use="STATE"><inline-formula><mml:math id="M285" display="inline"><mml:mspace width="1em" linebreak="nobreak"/></mml:math></inline-formula> <inline-formula><mml:math id="M286" display="inline"><mml:mrow><mml:msub><mml:mi>F</mml:mi><mml:mi mathvariant="normal">hub</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi></mml:mfrac></mml:mstyle><mml:mi>arccos⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mi>exp⁡</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:mo>-</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:mi>r</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">hub</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi>r</mml:mi><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:mfenced></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7485" specific-use="STATE"><inline-formula><mml:math id="M287" display="inline"><mml:mspace linebreak="nobreak" width="1em"/></mml:math></inline-formula> <inline-formula><mml:math id="M288" display="inline"><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>B</mml:mi></mml:msub><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mi mathvariant="italic">π</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7521" specific-use="STATE"><inline-formula><mml:math id="M289" display="inline"><mml:mspace linebreak="nobreak" width="1em"/></mml:math></inline-formula> <inline-formula><mml:math id="M290" display="inline"><mml:mrow><mml:mi>a</mml:mi><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mfrac><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mi>F</mml:mi><mml:msup><mml:mi>sin⁡</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msup><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7570" specific-use="STATE"><inline-formula><mml:math id="M291" display="inline"><mml:mspace linebreak="nobreak" width="1em"/></mml:math></inline-formula> <inline-formula><mml:math id="M292" display="inline"><mml:mrow><mml:msup><mml:mi>a</mml:mi><mml:mo>′</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:mfrac><mml:mrow><mml:mn mathvariant="normal">4</mml:mn><mml:mi>F</mml:mi><mml:mi>sin⁡</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi>cos⁡</mml:mi><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow><mml:mrow><mml:mi mathvariant="italic">σ</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:mfrac><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e7623" specific-use="STATE">Update flow angle</p></list-item>
    <list-item>
      <p id="d1e7629" specific-use="STATE"><inline-formula><mml:math id="M293" display="inline"><mml:mspace linebreak="nobreak" width="1em"/></mml:math></inline-formula> <inline-formula><mml:math id="M294" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">ϕ</mml:mi><mml:mi mathvariant="normal">new</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="italic">ϕ</mml:mi></mml:mrow></mml:math></inline-formula></p></list-item></list></p></list-item>
    <list-item>
      <p id="d1e7653" specific-use="ENDWHILE"><bold>end</bold> <bold>while</bold></p></list-item>
    <list-item>
      <p id="d1e7663" specific-use="STATE">Compute local tangential and normal force</p></list-item>
    <list-item>
      <p id="d1e7668" specific-use="STATE"><inline-formula><mml:math id="M295" display="inline"><mml:mspace width="1em" linebreak="nobreak"/></mml:math></inline-formula> <inline-formula><mml:math id="M296" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>n</mml:mi></mml:msub><mml:mo>=</mml:mo><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:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">ρ</mml:mi><mml:mspace linebreak="nobreak" width="0.125em"/><mml:msubsup><mml:mi>U</mml:mi><mml:mi mathvariant="normal">rel</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mspace linebreak="nobreak" width="0.125em"/><mml:mi>c</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>, <inline-formula><mml:math id="M297" display="inline"><mml:mspace linebreak="nobreak" width="1em"/></mml:math></inline-formula> <inline-formula><mml:math id="M298" display="inline"><mml:mrow><mml:msub><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><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:mspace linebreak="nobreak" width="0.125em"/><mml:mi mathvariant="italic">ρ</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msubsup><mml:mi>U</mml:mi><mml:mi mathvariant="normal">rel</mml:mi><mml:mn mathvariant="normal">2</mml:mn></mml:msubsup><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi>c</mml:mi><mml:mspace width="0.125em" linebreak="nobreak"/><mml:msub><mml:mi>C</mml:mi><mml:mi mathvariant="normal">t</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula></p></list-item></list></p>
          </list-item>

    <list-item>

      <p id="d1e7762" specific-use="ENDFOR"><bold>end</bold> <bold>for</bold></p>
          </list-item>

    <list-item>

      <p id="d1e7772" specific-use="STATE">Integrate over span to compute out-of-plane bending moment of blade <inline-formula><mml:math id="M299" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula></p>
          </list-item>

    <list-item>

      <p id="d1e7784" specific-use="STATE"><inline-formula><mml:math id="M300" display="inline"><mml:mspace linebreak="nobreak" width="1em"/></mml:math></inline-formula> <inline-formula><mml:math id="M301" display="inline"><mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mo>∫</mml:mo><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">hub</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">tip</mml:mi></mml:msub></mml:mrow></mml:msubsup><mml:mfenced open="(" close=")"><mml:mrow><mml:mi>r</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi>R</mml:mi><mml:mi mathvariant="normal">hub</mml:mi></mml:msub></mml:mrow></mml:mfenced><mml:msub><mml:mi>f</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mo>,</mml:mo><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mspace width="0.125em" linebreak="nobreak"/><mml:mi mathvariant="normal">d</mml:mi><mml:mi>r</mml:mi></mml:mrow></mml:math></inline-formula></p>
          </list-item>
        </list></disp-quote></boxed-text><fig id="App1.Ch1.S1.F10"><label>Figure A1</label><caption><p id="d1e7854">Reference frame  for the blade forces <bold>(a)</bold> and velocity triangle at a cross-section of the blade used in the BEM <bold>(b)</bold>.</p></caption>
        <graphic xlink:href="https://wes.copernicus.org/articles/9/1923/2024/wes-9-1923-2024-f10.png"/>

      </fig>


</app>

<app id="App1.Ch1.S2">
  <label>Appendix B</label><title>From blade-effective wind speed to sector-effective wind speed </title>
      <p id="d1e7879">The rotor swept area is divided into <inline-formula><mml:math id="M302" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>S</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> sectors of azimuthal span <inline-formula><mml:math id="M303" display="inline"><mml:mrow><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">θ</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>n</mml:mi><mml:mi>S</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. Algorithm <xref ref-type="other" rid="App1.Ch1.S2.Prog1"/> formalizes the conversion from blade-effective wind speed (<inline-formula><mml:math id="M304" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>) to sector-effective wind-speed (<inline-formula><mml:math id="M305" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>) for a rotor with <inline-formula><mml:math id="M306" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> blades. The second subscript stands for the time index <inline-formula><mml:math id="M307" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>. The process is initiated at <inline-formula><mml:math id="M308" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula> for each blade <inline-formula><mml:math id="M309" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> by determining the sector <inline-formula><mml:math id="M310" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> in which the blade is located based on its azimuthal position <inline-formula><mml:math id="M311" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula>. The time history of the blade-effective wind speed is then accumulated as the blade passes through the sector using the counting variable <inline-formula><mml:math id="M312" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">nit</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula>. The wind speed of sector <inline-formula><mml:math id="M313" display="inline"><mml:mi>s</mml:mi></mml:math></inline-formula> is eventually updated when the blade leaves the sector <inline-formula><mml:math id="M314" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>s</mml:mi></mml:mrow></mml:math></inline-formula>. While the blade-effective wind speeds are updated at every time index <inline-formula><mml:math id="M315" display="inline"><mml:mi>k</mml:mi></mml:math></inline-formula>, i.e., at the EKF estimation frequency (<inline-formula><mml:math id="M316" display="inline"><mml:mrow><mml:mn mathvariant="normal">0.1</mml:mn><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> in this work), the sector-effective wind speeds are only updated at a 3P frequency (around <inline-formula><mml:math id="M317" display="inline"><mml:mrow><mml:mn mathvariant="normal">2</mml:mn><mml:mspace width="0.25em" linebreak="nobreak"/><mml:mi mathvariant="normal">s</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> in this context.</p><boxed-text content-type="algorithm" position="float" id="App1.Ch1.S2.Prog1"><label>Algorithm B1</label><caption><p id="d1e8094">Transforming blade-effective wind speeds to sector-effective wind speeds.</p></caption><disp-quote content-type="algorithmic" specific-use="numbering{0}"><list>

    <list-item>

      <p id="d1e8101" specific-use="STATE"><bold>initialization</bold> at time instant <inline-formula><mml:math id="M318" display="inline"><mml:mrow><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula></p>
          </list-item>

    <list-item>

      <p id="d1e8120" specific-use="STATE"><inline-formula><mml:math id="M319" display="inline"><mml:mrow><mml:mspace width="1em" linebreak="nobreak"/><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">0</mml:mn><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>∀</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>s</mml:mi></mml:mrow></mml:math></inline-formula></p>
          </list-item>

    <list-item>

      <p id="d1e8155" specific-use="STATE"><inline-formula><mml:math id="M320" display="inline"><mml:mrow><mml:mspace linebreak="nobreak" width="1em"/><mml:msub><mml:mi mathvariant="normal">nit</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>∀</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>b</mml:mi></mml:mrow></mml:math></inline-formula></p>
          </list-item>

    <list-item>

      <p id="d1e8181" specific-use="STATE"><inline-formula><mml:math id="M321" display="inline"><mml:mrow><mml:mspace linebreak="nobreak" width="1em"/><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">integer</mml:mi><mml:mfenced open="(" close=")"><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:mfenced><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>∀</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>b</mml:mi></mml:mrow></mml:math></inline-formula></p>
          </list-item>

    <list-item>

      <p id="d1e8238" specific-use="WHILE"><bold>while</bold> estimation is ongoing <bold>do</bold> <list>
    <list-item>
      <p id="d1e8249" specific-use="STATE"><inline-formula><mml:math id="M322" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>←</mml:mo><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">s</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em" linebreak="nobreak"/><mml:mo>∀</mml:mo><mml:mspace linebreak="nobreak" width="0.25em"/><mml:mi>s</mml:mi></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e8290" specific-use="FOR"><bold>for</bold> <inline-formula><mml:math id="M323" display="inline"><mml:mi>b</mml:mi></mml:math></inline-formula> in <inline-formula><mml:math id="M324" display="inline"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>B</mml:mi></mml:msub></mml:mrow></mml:math></inline-formula> <bold>do</bold> <list>
    <list-item>
      <p id="d1e8319" specific-use="STATE"><inline-formula><mml:math id="M325" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi mathvariant="normal">integer</mml:mi><mml:mfenced close=")" open="("><mml:mrow><mml:msub><mml:mi mathvariant="italic">θ</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mi mathvariant="normal">Δ</mml:mi><mml:mi mathvariant="italic">θ</mml:mi></mml:mrow></mml:mfenced></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e8360" specific-use="IF"><bold>if</bold> <inline-formula><mml:math id="M326" display="inline"><mml:mrow><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>≠</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula> <bold>then</bold> <list>
    <list-item>
      <p id="d1e8403" specific-use="STATE"><inline-formula><mml:math id="M327" display="inline"><mml:mrow><mml:msup><mml:mi>s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:msub><mml:mi>s</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e8433" specific-use="STATE"><inline-formula><mml:math id="M328" display="inline"><mml:mrow><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:msup><mml:mi mathvariant="normal">s</mml:mi><mml:mo>*</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>←</mml:mo><mml:mstyle displaystyle="false"><mml:mfrac style="text"><mml:mn mathvariant="normal">1</mml:mn><mml:mrow><mml:msub><mml:mi mathvariant="normal">nit</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:msubsup><mml:mo>∑</mml:mo><mml:mrow><mml:mi mathvariant="italic">κ</mml:mi><mml:mo>=</mml:mo><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:msub><mml:mi mathvariant="normal">nit</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo>-</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mi>U</mml:mi><mml:mrow><mml:mi mathvariant="normal">b</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="italic">κ</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:math></inline-formula></p></list-item>
    <list-item>
      <p id="d1e8501" specific-use="STATE"><inline-formula><mml:math id="M329" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">nit</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>←</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula></p></list-item></list></p></list-item>
    <list-item>
      <p id="d1e8519" specific-use="ELSE"><bold>else</bold> <list>
    <list-item>
      <p id="d1e8527" specific-use="STATE"><inline-formula><mml:math id="M330" display="inline"><mml:mrow><mml:msub><mml:mi mathvariant="normal">nit</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>←</mml:mo><mml:msub><mml:mi mathvariant="normal">nit</mml:mi><mml:mi mathvariant="normal">b</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mn mathvariant="normal">1</mml:mn></mml:mrow></mml:math></inline-formula></p></list-item></list></p></list-item>
    <list-item>
      <p id="d1e8552" specific-use="ENDIF"><bold>end</bold> <bold>if</bold></p></list-item></list></p></list-item>
    <list-item>
      <p id="d1e8561" specific-use="ENDFOR"><bold>end</bold> <bold>for</bold></p></list-item></list></p>
          </list-item>

    <list-item>

      <p id="d1e8572" specific-use="ENDWHILE"><bold>end</bold> <bold>while</bold></p>
          </list-item>
        </list></disp-quote></boxed-text>
</app>
  </app-group><notes notes-type="codedataavailability"><title>Code and data availability</title>

      <p id="d1e8585">Code and data are available upon request.</p>
  </notes><notes notes-type="authorcontribution"><title>Author contributions</title>

      <p id="d1e8591">MC, ML, PC, and LB worked at conceptualizing this research and establishing the methodology. MC and ML developed the BEM and EKF software. MC set up, ran, and post-processed the LES. AAWvV and JWvW provided feedback on the methodology. MC prepared the original draft with contributions from all authors, which was then reviewed by all authors. PC, LB, and JWvW provided funding.</p>
  </notes><notes notes-type="competinginterests"><title>Competing interests</title>

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

      <p id="d1e8606">Publisher’s note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this paper. While Copernicus Publications makes every effort to include appropriate place names, the final responsibility lies with the authors.</p>
  </notes><ack><title>Acknowledgements</title><p id="d1e8612">This research benefited from computational resources made available on the Tier-1 supercomputer of the Fédération Wallonie-Bruxelles, which is an infrastructure funded by the Walloon Region under grant agreement no. 1117545. Computational resources were also provided by the Consortium des Equipements de Calcul Intensif, funded by the Fonds de la Recherche Scientifique de Belgique under grant no. 2.5020.11 and by the Walloon Region.</p></ack><notes notes-type="financialsupport"><title>Financial support</title>

      <p id="d1e8617">This research has been supported by the European Research Council, H2020 European Research Council (grant no. 725627), the Université de Mons (50/50 PhD funding program), and the Technische Universiteit Delft (Hollandse Kust Noord wind farm innovation program, where CrossWind C.V., Shell, Eneco, and Siemens Gamesa are teaming up; funding for the PhDs and post-docs was provided by CrossWind C.V. and Siemens Gamesa).</p>
  </notes><notes notes-type="reviewstatement"><title>Review statement</title>

      <p id="d1e8623">This paper was edited by Amir R. Nejad and reviewed by two anonymous referees.</p>
  </notes><ref-list>
    <title>References</title>

      <ref id="bib1.bibx1"><label>Balty et al.(2020)Balty, Caprace, Waucquez, Coquelet, and Chatelain</label><mixed-citation>Balty, P., Caprace, D.-G., Waucquez, J., Coquelet, M., and Chatelain, P.: Multiphysics simulations of the dynamic and wakes of a floating Vertical Axis Wind Turbine, J. Phys. Conf. Ser., 1681, 062053, <ext-link xlink:href="https://doi.org/10.1088/1742-6596/1618/6/062053" ext-link-type="DOI">10.1088/1742-6596/1618/6/062053</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx2"><label>Bertelè et al.(2017)Bertelè, Bottasso, Cacciola, Daher Adegas, and Delport</label><mixed-citation>Bertelè, M., Bottasso, C. L., Cacciola, S., Daher Adegas, F., and Delport, S.: Wind inflow observation from load harmonics, Wind Energ. Sci., 2, 615–640, <ext-link xlink:href="https://doi.org/10.5194/wes-2-615-2017" ext-link-type="DOI">10.5194/wes-2-615-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx3"><label>Bossanyi(2003)</label><mixed-citation>Bossanyi, E.: Individual blade pitch control for load reduction, Wind Energy,  6, 119–128, <ext-link xlink:href="https://doi.org/10.1002/we.76" ext-link-type="DOI">10.1002/we.76</ext-link>, 2003.</mixed-citation></ref>
      <ref id="bib1.bibx4"><label>Bossanyi et al.(2013)Bossanyi, Fleming, and Wright</label><mixed-citation>Bossanyi, E., Fleming, P., and Wright, A.: Validation of individual pitch control by field tests on two-and three-bladed wind turbines, IEEE T. Contr. Syst. T., 21, 1067–1078, <ext-link xlink:href="https://doi.org/10.1109/TCST.2013.2258345" ext-link-type="DOI">10.1109/TCST.2013.2258345</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx5"><label>Bottasso et al.(2018)Bottasso, Cacciola, and Schreiber</label><mixed-citation>Bottasso, C., Cacciola, S., and Schreiber, J.: Local wind speed estimation, with application to wake impingement detection, Renew. Energ., 116, 155–168, <ext-link xlink:href="https://doi.org/10.1016/j.renene.2017.09.044" ext-link-type="DOI">10.1016/j.renene.2017.09.044</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx6"><label>Brandetti et al.(2023)Brandetti, Liu, Pamososuryo, Mulders, Watson, and van Wingerden</label><mixed-citation>Brandetti, L., Liu, Y., Pamososuryo, A., Mulders, S., Watson, S., and van Wingerden, J. W.: Unscented Kalman filter-based blade-effective wind speed estimation for a vertical-axis wind turbine, IFAC-PapersOnLine, 56, 8393–8399, <ext-link xlink:href="https://doi.org/10.1016/j.ifacol.2023.10.1033" ext-link-type="DOI">10.1016/j.ifacol.2023.10.1033</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx7"><label>Caprace et al.(2019)Caprace, Chatelain, and Winckelmans</label><mixed-citation>Caprace, D.-G., Chatelain, P., and Winckelmans, G.: Lifting line with various mollifications: theory and application to an elliptical wing, AIAA J., 57, 17–28, <ext-link xlink:href="https://doi.org/10.2514/1.J057487" ext-link-type="DOI">10.2514/1.J057487</ext-link>, 2019.</mixed-citation></ref>
      <ref id="bib1.bibx8"><label>Chatelain et al.(2013)Chatelain, Backaert, Winckelmans, and Kern</label><mixed-citation>Chatelain, P., Backaert, S., Winckelmans, G., and Kern, S.: Large Eddy Simulation of Wind Turbine Wakes, Flow Turbul. Combust., 91, 587–605, <ext-link xlink:href="https://doi.org/10.1007/s10494-013-9474-8" ext-link-type="DOI">10.1007/s10494-013-9474-8</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx9"><label>Chatelain et al.(2017)Chatelain, Duponcheel, Caprace, Marichal, and Winckelmans</label><mixed-citation>Chatelain, P., Duponcheel, M., Caprace, D.-G., Marichal, Y., and Winckelmans, G.: Vortex particle-mesh simulations of vertical axis wind turbine flows: from the airfoil performance to the very far wake, Wind Energ. Sci., 2, 317–328, <ext-link xlink:href="https://doi.org/10.5194/wes-2-317-2017" ext-link-type="DOI">10.5194/wes-2-317-2017</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx10"><label>Chui and Chen(2017)Chui, Chen et al.</label><mixed-citation>Chui, C. and Chen, G.: Kalman filtering, Springer, <ext-link xlink:href="https://doi.org/10.1007/978-3-319-47612-4" ext-link-type="DOI">10.1007/978-3-319-47612-4</ext-link>, 2017.</mixed-citation></ref>
      <ref id="bib1.bibx11"><label>Cooperman and Martinez(2015)</label><mixed-citation>Cooperman, A. and Martinez, M.: Load monitoring for active control of wind turbines, Renewable and Sustainable Energy Reviews, 41, 189–201, <ext-link xlink:href="https://doi.org/10.1016/j.rser.2014.08.029" ext-link-type="DOI">10.1016/j.rser.2014.08.029</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx12"><label>Coquelet et al.(2022)Coquelet, Bricteux, Moens, and Chatelain</label><mixed-citation>Coquelet, M., Bricteux, L., Moens, M., and Chatelain, P.: A reinforcement-learning approach for individual pitch control, Wind Energy, 25, 1343–1362 <ext-link xlink:href="https://doi.org/10.1002/we.2734" ext-link-type="DOI">10.1002/we.2734</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx13"><label>Docquier et al.(2013)Docquier, Poncelet, and Fisette</label><mixed-citation>Docquier, N., Poncelet, A., and Fisette, P.: ROBOTRAN: A powerful symbolic gnerator of multibody models, Mech. Sci., 4, 199–219, <ext-link xlink:href="https://doi.org/10.5194/ms-4-199-2013" ext-link-type="DOI">10.5194/ms-4-199-2013</ext-link>, 2013.</mixed-citation></ref>
      <ref id="bib1.bibx14"><label>Drécourt et al.(2006)Drécourt, Madsen, and Rosbjerg</label><mixed-citation>Drécourt, J.-P., Madsen, H., and Rosbjerg, D.: Bias aware Kalman filters: Comparison and improvements, Adv. Water Resour., 29, 707–718, <ext-link xlink:href="https://doi.org/10.1016/j.advwatres.2005.07.006" ext-link-type="DOI">10.1016/j.advwatres.2005.07.006</ext-link>, 2006.</mixed-citation></ref>
      <ref id="bib1.bibx15"><label>Fleming et al.(2014)Fleming, Gebraad, Lee, van Wingerden, Johnson, Churchfield, Michalakes, Spalart, and Moriarty</label><mixed-citation>Fleming, P., Gebraad, P., Lee, S., van Wingerden, J. W., Johnson, K., Churchfield, M., Michalakes, J., Spalart, P., and Moriarty, P.: Evaluating techniques for redirecting turbine wakes using SOWFA, Renew. Energ., 70, 211–218, <ext-link xlink:href="https://doi.org/10.1016/j.renene.2014.02.015" ext-link-type="DOI">10.1016/j.renene.2014.02.015</ext-link>, 2014.</mixed-citation></ref>
      <ref id="bib1.bibx16"><label>Frederik and van Wingerden(2022)</label><mixed-citation>Frederik, J. and van Wingerden, J. W.: On the load impact of dynamic wind farm wake mixing strategies, Renew. Energ., 194, 582–595, <ext-link xlink:href="https://doi.org/10.1016/j.renene.2022.05.110" ext-link-type="DOI">10.1016/j.renene.2022.05.110</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx17"><label>Frederik et al.(2020)Frederik, Doekemeijer, Mulders, and van Wingerden</label><mixed-citation>Frederik, J., Doekemeijer, B., Mulders, S., and van Wingerden, J. W.: The helix approach: Using dynamic individual pitch control to enhance wake mixing in wind farms, Wind Energy, 23, 1739–1751, <ext-link xlink:href="https://doi.org/10.1002/we.2513" ext-link-type="DOI">10.1002/we.2513</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx18"><label>Friedland(1969)</label><mixed-citation>Friedland, B.: Treatment of bias in recursive filtering, IEEE T. Automat. Contr., 14, 359–367, <ext-link xlink:href="https://doi.org/10.1109/TAC.1969.1099223" ext-link-type="DOI">10.1109/TAC.1969.1099223</ext-link>, 1969.</mixed-citation></ref>
      <ref id="bib1.bibx19"><label>Hansen(2015)</label><mixed-citation>Hansen, M.: Aerodynamics of wind turbines, Routledge, <ext-link xlink:href="https://doi.org/10.4324/9781315769981" ext-link-type="DOI">10.4324/9781315769981</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx20"><label>Jonkman et al.(2009)Jonkman, Butterfield, Musial, and Scott</label><mixed-citation>Jonkman, J., Butterfield, S., Musial, W., and Scott, G.: Definition of a 5-MW reference wind turbine for offshore system development, Technical Report No. NREL/TP-500-38060, National Renewable Energy Laboratory (NREL), <ext-link xlink:href="https://doi.org/10.2172/947422" ext-link-type="DOI">10.2172/947422</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx21"><label>Korb et al.(2023)Korb, Asmuth, and Ivanell</label><mixed-citation>Korb, H., Asmuth, H., and Ivanell, S.: The characteristics of helically deflected wind turbine wakes, J. Fluid Mech., 965, A2, <ext-link xlink:href="https://doi.org/10.1017/jfm.2023.390" ext-link-type="DOI">10.1017/jfm.2023.390</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx22"><label>Lejeune et al.(2022)Lejeune, Moens, and Chatelain</label><mixed-citation>Lejeune, M., Moens, M., and Chatelain, P.: A meandering-capturing wake model coupled to rotor-based flow-sensing for operational wind farm flow prediction, Frontiers in Energy Research, 10, 884068, <ext-link xlink:href="https://doi.org/10.3389/fenrg.2022.884068" ext-link-type="DOI">10.3389/fenrg.2022.884068</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx23"><label>Letizia et al.(2023)Letizia, Brugger, Bodini, Krishnamurthy, Scholbrock, Simley, Porté-Agel, Hamilton, Doubrawa, and Moriarty</label><mixed-citation>Letizia, S., Brugger, P., Bodini, N., Krishnamurthy, R., Scholbrock, A., Simley, E., Porté-Agel, F., Hamilton, N., Doubrawa, P., and Moriarty, P.: Characterization of wind turbine flow through nacelle-mounted lidars: a review, Frontiers in Mechanical Engineering, 9, 1261017, <ext-link xlink:href="https://doi.org/10.3389/fmech.2023.1261017" ext-link-type="DOI">10.3389/fmech.2023.1261017</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx24"><label>Liu et al.(2021)Liu, Pamososuryo, Ferrari, Hovgaard, and van Wingerden</label><mixed-citation>Liu, Y., Pamososuryo, A., Ferrari, R., Hovgaard, T., and van Wingerden, J. W.: Blade effective wind speed estimation: A subspace predictive repetitive estimator approach, in: 2021 European Control Conference (ECC), 29 June–2 July, online conference,  1205–1210, <ext-link xlink:href="https://doi.org/10.23919/ECC54610.2021.9654981" ext-link-type="DOI">10.23919/ECC54610.2021.9654981</ext-link>, 2021.</mixed-citation></ref>
      <ref id="bib1.bibx25"><label>Liu et al.(2022)Liu, Pamososuryo, Mulders, Ferrari, and van Wingerden</label><mixed-citation>Liu, Y., Pamososuryo, A., Mulders, S., Ferrari, R., and van Wingerden, J. W.: The proportional integral notch and Coleman blade effective wind speed estimators and their similarities, IEEE Control Systems Letters, 6, 2198–2203, <ext-link xlink:href="https://doi.org/10.1109/LCSYS.2021.3140171" ext-link-type="DOI">10.1109/LCSYS.2021.3140171</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx26"><label>Lu et al.(2015)Lu, Bowyer, and Jones</label><mixed-citation>Lu, Q., Bowyer, R., and Jones, B.: Analysis and design of Coleman transform-based individual pitch controllers for wind-turbine load reduction, Wind Energy, 18, 1451–1468, <ext-link xlink:href="https://doi.org/10.1002/we.1769" ext-link-type="DOI">10.1002/we.1769</ext-link>, 2015.</mixed-citation></ref>
      <ref id="bib1.bibx27"><label>Mann(1998)</label><mixed-citation>Mann, J.: Wind field simulation, Probabilist. Eng. Mech., 13, 269–282, <ext-link xlink:href="https://doi.org/10.1016/S0266-8920(97)00036-2" ext-link-type="DOI">10.1016/S0266-8920(97)00036-2</ext-link>, 1998.</mixed-citation></ref>
      <ref id="bib1.bibx28"><label>Meyers et al.(2022)Meyers, Bottasso, Dykes, Fleming, Gebraad, Giebel, Göçmen, and van Wingerden</label><mixed-citation>Meyers, J., Bottasso, C., Dykes, K., Fleming, P., Gebraad, P., Giebel, G., Göçmen, T., and van Wingerden, J.-W.: Wind farm flow control: prospects and challenges, Wind Energ. Sci., 7, 2271–2306, <ext-link xlink:href="https://doi.org/10.5194/wes-7-2271-2022" ext-link-type="DOI">10.5194/wes-7-2271-2022</ext-link>, 2022.</mixed-citation></ref>
      <ref id="bib1.bibx29"><label>Moens et al.(2018)Moens, Duponcheel, Winckelmans, and Chatelain</label><mixed-citation>Moens, M., Duponcheel, M., Winckelmans, G., and Chatelain, P.: An actuator disk method with tip-loss correction based on local effective upstream velocities, Wind Energy, 21, 766–782, <ext-link xlink:href="https://doi.org/10.1002/we.2192" ext-link-type="DOI">10.1002/we.2192</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx30"><label>Munters and Meyers(2018)</label><mixed-citation>Munters, W. and Meyers, J.: Towards practical dynamic induction control of wind farms: analysis of optimally controlled wind-farm boundary layers and sinusoidal induction control of first-row turbines, Wind Energ. Sci., 3, 409–425, <ext-link xlink:href="https://doi.org/10.5194/wes-3-409-2018" ext-link-type="DOI">10.5194/wes-3-409-2018</ext-link>, 2018.</mixed-citation></ref>
      <ref id="bib1.bibx31"><label>Pamososuryo et al.(2023)Pamososuryo, Liu, Gybel Hovgaard, Ferrari, and van Wingerden</label><mixed-citation>Pamososuryo, A., Liu, Y., Gybel Hovgaard, T., Ferrari, R., and van Wingerden, J. W.: Convex economic model predictive control for blade loads mitigation on wind turbines, Wind Energy, 26, 1276–1298, <ext-link xlink:href="https://doi.org/10.1002/we.2869" ext-link-type="DOI">10.1002/we.2869</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx32"><label>Raach(2021)</label><mixed-citation>Raach, S.: Important milestone: 1000 wind turbines with lidar-assisted control, Sowento, <uri>https://www.sowento.com/wp-content/uploads/2021/11/20210527-sowento-PressRelease-Goldwind.pdf</uri> (last access: 30 September 2024), 2021.</mixed-citation></ref>
      <ref id="bib1.bibx33"><label>Russell et al.(2024)Russell, Collu, McDonald, Thies, Keane, and Quayle</label><mixed-citation>Russell, A., Collu, M., McDonald, A., Thies, P., Keane, A., and Quayle, A.: LIDAR-assisted feedforward individual pitch control of a 15 MW floating offshore wind turbine, Wind Energy, 27, 341–362,  <ext-link xlink:href="https://doi.org/10.1002/we.2891" ext-link-type="DOI">10.1002/we.2891</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx34"><label>Scholbrock et al.(2016)Scholbrock, Fleming, Schlipf, Wright, Johnson, and Wang</label><mixed-citation>Scholbrock, A., Fleming, P., Schlipf, D., Wright, A., Johnson, K., and Wang, N.: Lidar-enhanced wind turbine control: Past, present, and future, in: 2016 American Control Conference (ACC), Boston, MA, USA, 6–8 July 2016,  1399–1406, <ext-link xlink:href="https://doi.org/10.1109/ACC.2016.7525113" ext-link-type="DOI">10.1109/ACC.2016.7525113</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx35"><label>Selvam et al.(2009)Selvam, Kanev, van Wingerden, van Engelen, and Verhaegen</label><mixed-citation>Selvam, K., Kanev, S., van Wingerden, J. W., van Engelen, T., and Verhaegen, M.: Feedback–feedforward individual pitch control for wind turbine load reduction, Int. J. Robust Nonlin., 19, 72–91, <ext-link xlink:href="https://doi.org/10.1002/rnc.1324" ext-link-type="DOI">10.1002/rnc.1324</ext-link>, 2009.</mixed-citation></ref>
      <ref id="bib1.bibx36"><label>Simley and Pao(2016)</label><mixed-citation>Simley, E. and Pao, L.: Evaluation of a wind speed estimator for effective hub-height and shear components, Wind Energy, 19, 167–184, <ext-link xlink:href="https://doi.org/10.1002/we.1817" ext-link-type="DOI">10.1002/we.1817</ext-link>, 2016.</mixed-citation></ref>
      <ref id="bib1.bibx37"><label>Smith et al.(2002)Smith, Link, Randall, and McCoy</label><mixed-citation>Smith, B., Link, H., Randall, G., and McCoy, T.: Applicability of nacelle anemometer measurements for use in turbine power performance tests, Technical Report No. NREL/CP-500-32494, National Renewable Energy Laboratory (NREL), <uri>https://www.nrel.gov/docs/fy02osti/32494.pdf</uri> (last access: 30 September 2024), 2002.</mixed-citation></ref>
      <ref id="bib1.bibx38"><label>Snel and Schepers(1995)</label><mixed-citation>Snel, H. and Schepers, J.: Joint investigation of dynamic inflow effects and implementation of an engineering method, Technical Report No. ECN-C–94-107, Energy research Centre of the Netherlands (ECN), <uri>https://publications.ecn.nl/ECN-C--94-107</uri> (last access: 30 September 2024), 1995.</mixed-citation></ref>
      <ref id="bib1.bibx39"><label>Taschner et al.(2023)Taschner, van Vondelen, Verzijlbergh, and van Wingerden</label><mixed-citation>Taschner, E., van Vondelen, A., Verzijlbergh, R., and van Wingerden, J. W.: On the performance of the helix wind farm control approach in the conventionally neutral atmospheric boundary layer, J. Phys. Conf. Ser., 2505, 012006, <ext-link xlink:href="https://doi.org/10.1088/1742-6596/2505/1/012006" ext-link-type="DOI">10.1088/1742-6596/2505/1/012006</ext-link>, 2023.</mixed-citation></ref>
      <ref id="bib1.bibx40"><label>Trigaux et al.(2024a)Trigaux, Chatelain, and Winckelmans</label><mixed-citation>Trigaux, F., Chatelain, P., and Winckelmans, G.: Investigation of blade flexibility effects on the loads and wake of a 15 MW wind turbine using a flexible actuator line method, Wind Energ. Sci., 9, 1765–1789, <ext-link xlink:href="https://doi.org/10.5194/wes-9-1765-2024" ext-link-type="DOI">10.5194/wes-9-1765-2024</ext-link>, 2024a.</mixed-citation></ref>
      <ref id="bib1.bibx41"><label>Trigaux et al.(2024b)Trigaux, Chatelain, and Winckelmans</label><mixed-citation>Trigaux, F., Chatelain, P., and Winckelmans, G.: Investigation of blade flexibility effects on the loads and wake of a 15 MW wind turbine using a flexible actuator line method, Wind Energ. Sci., 9, 1765–1789, <ext-link xlink:href="https://doi.org/10.5194/wes-9-1765-2024" ext-link-type="DOI">10.5194/wes-9-1765-2024</ext-link>, 2024b.</mixed-citation></ref>
      <ref id="bib1.bibx42"><label>United Nations(2015)</label><mixed-citation>United Nations: Transforming our world: the 2030 Agenda for Sustainable Development, <uri>https://wedocs.unep.org/20.500.11822/9814</uri> (last access: 30 September 2024), 2015. </mixed-citation></ref>
      <ref id="bib1.bibx43"><label>van der Hoek et al.(2024)van der Hoek, den Abbeele, Simao Ferreira, and van Wingerden</label><mixed-citation>van der Hoek, D., den Abbeele, B. V., Simao Ferreira, C., and van Wingerden, J.-W.: Maximizing wind farm power output with the helix approach: Experimental validation and wake analysis using tomographic particle image velocimetry, Wind Energy, 27, 463–482, <ext-link xlink:href="https://doi.org/10.1002/we.2896" ext-link-type="DOI">10.1002/we.2896</ext-link>, 2024.</mixed-citation></ref>
      <ref id="bib1.bibx44"><label>van Vondelen et al.(2023a)van Vondelen, Ottenheym, Pamososuryo, Navalkar, and van Wingerden</label><mixed-citation>van Vondelen, A., Ottenheym, J., Pamososuryo, A., Navalkar, S. T., and van Wingerden, J. W.: Phase Synchronization for Helix Enhanced Wake Mixing in Downstream Wind Turbines, IFAC-PapersOnLine, 56, 8426–8431, <ext-link xlink:href="https://doi.org/10.1016/j.ifacol.2023.10.1039" ext-link-type="DOI">10.1016/j.ifacol.2023.10.1039</ext-link>, 2023a.</mixed-citation></ref>
      <ref id="bib1.bibx45"><label>van Vondelen et al.(2023b)van Vondelen, Navalkar, Kerssemakers, and Van Wingerden</label><mixed-citation>van Vondelen, A. A. W., Navalkar, S. T., Kerssemakers, D. R., and Van Wingerden, J. W.: Enhanced wake mixing in wind farms using the Helix approach: A loads sensitivity study, in: 2023 American Control Conference (ACC),  San Diego, CA, USA, 31 May–2 June 2023,  831–836, <ext-link xlink:href="https://doi.org/10.23919/ACC55779.2023.10155965" ext-link-type="DOI">10.23919/ACC55779.2023.10155965</ext-link>, 2023b.</mixed-citation></ref>
      <ref id="bib1.bibx46"><label>Wagenaar et al.(2012)Wagenaar, Machielse, and Schepers</label><mixed-citation>Wagenaar, J., Machielse, L., and Schepers, J.: Controlling wind in ECN’s scaled wind farm, Technical Report No. ECN-M–12-007, Energy research Centre of the Netherlands (ECN), <uri>https://publications.tno.nl/publication/34631412/306uxY/m12007.pdf</uri> (last access: 30 September 2024), 2012.</mixed-citation></ref>
      <ref id="bib1.bibx47"><label>Wang et al.(2020)Wang, Campagnolo, and Bottasso</label><mixed-citation>Wang, C., Campagnolo, F., and Bottasso, C.: Does the use of load-reducing IPC on a wake-steering turbine affect wake behavior?, J. Phys. Conf. Ser., 1618, 022035, <ext-link xlink:href="https://doi.org/10.1088/1742-6596/1618/2/022035" ext-link-type="DOI">10.1088/1742-6596/1618/2/022035</ext-link>, 2020.</mixed-citation></ref>
      <ref id="bib1.bibx48"><label>Yilmaz and Meyers(2018)</label><mixed-citation>Yilmaz, A. and Meyers, J.: Optimal dynamic induction control of a pair of inline wind turbines, Phys. Fluids, 30, 085106, <ext-link xlink:href="https://doi.org/10.1063/1.5038600" ext-link-type="DOI">10.1063/1.5038600</ext-link>, 2018.</mixed-citation></ref>

  </ref-list></back>
    <!--<article-title-html>On the robustness of a blade-load-based wind speed estimator to dynamic pitch control strategies</article-title-html>
<abstract-html/>
<ref-html id="bib1.bib1"><label>Balty et al.(2020)Balty, Caprace, Waucquez, Coquelet, and
Chatelain</label><mixed-citation>
      
Balty, P., Caprace, D.-G., Waucquez, J., Coquelet, M., and Chatelain, P.:
Multiphysics simulations of the dynamic and wakes of a floating Vertical Axis
Wind Turbine, J. Phys. Conf. Ser., 1681, 062053,
<a href="https://doi.org/10.1088/1742-6596/1618/6/062053" target="_blank">https://doi.org/10.1088/1742-6596/1618/6/062053</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib2"><label>Bertelè et al.(2017)Bertelè, Bottasso, Cacciola, Daher Adegas, and
Delport</label><mixed-citation>
      
Bertelè, M., Bottasso, C. L., Cacciola, S., Daher Adegas, F., and Delport, S.: Wind inflow observation from load harmonics, Wind Energ. Sci., 2, 615–640, <a href="https://doi.org/10.5194/wes-2-615-2017" target="_blank">https://doi.org/10.5194/wes-2-615-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib3"><label>Bossanyi(2003)</label><mixed-citation>
      
Bossanyi, E.: Individual blade pitch control for load reduction, Wind Energy,  6, 119–128,
<a href="https://doi.org/10.1002/we.76" target="_blank">https://doi.org/10.1002/we.76</a>, 2003.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib4"><label>Bossanyi et al.(2013)Bossanyi, Fleming, and Wright</label><mixed-citation>
      
Bossanyi, E., Fleming, P., and Wright, A.: Validation of individual pitch
control by field tests on two-and three-bladed wind turbines, IEEE
T. Contr. Syst. T., 21, 1067–1078, <a href="https://doi.org/10.1109/TCST.2013.2258345" target="_blank">https://doi.org/10.1109/TCST.2013.2258345</a>,
2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib5"><label>Bottasso et al.(2018)Bottasso, Cacciola, and
Schreiber</label><mixed-citation>
      
Bottasso, C., Cacciola, S., and Schreiber, J.: Local wind speed estimation,
with application to wake impingement detection, Renew. Energ., 116, 155–168,
<a href="https://doi.org/10.1016/j.renene.2017.09.044" target="_blank">https://doi.org/10.1016/j.renene.2017.09.044</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib6"><label>Brandetti et al.(2023)Brandetti, Liu, Pamososuryo, Mulders, Watson,
and van Wingerden</label><mixed-citation>
      
Brandetti, L., Liu, Y., Pamososuryo, A., Mulders, S., Watson, S., and van
Wingerden, J. W.: Unscented Kalman filter-based blade-effective wind
speed estimation for a vertical-axis wind turbine, IFAC-PapersOnLine, 56,
8393–8399, <a href="https://doi.org/10.1016/j.ifacol.2023.10.1033" target="_blank">https://doi.org/10.1016/j.ifacol.2023.10.1033</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib7"><label>Caprace et al.(2019)Caprace, Chatelain, and
Winckelmans</label><mixed-citation>
      
Caprace, D.-G., Chatelain, P., and Winckelmans, G.: Lifting line with various
mollifications: theory and application to an elliptical wing, AIAA J., 57, 17–28,
<a href="https://doi.org/10.2514/1.J057487" target="_blank">https://doi.org/10.2514/1.J057487</a>, 2019.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib8"><label>Chatelain et al.(2013)Chatelain, Backaert, Winckelmans, and
Kern</label><mixed-citation>
      
Chatelain, P., Backaert, S., Winckelmans, G., and Kern, S.: Large Eddy
Simulation of Wind Turbine Wakes, Flow Turbul. Combust., 91, 587–605,
<a href="https://doi.org/10.1007/s10494-013-9474-8" target="_blank">https://doi.org/10.1007/s10494-013-9474-8</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib9"><label>Chatelain et al.(2017)Chatelain, Duponcheel, Caprace, Marichal, and
Winckelmans</label><mixed-citation>
      
Chatelain, P., Duponcheel, M., Caprace, D.-G., Marichal, Y., and Winckelmans, G.: Vortex particle-mesh simulations of vertical axis wind turbine flows: from the airfoil performance to the very far wake, Wind Energ. Sci., 2, 317–328, <a href="https://doi.org/10.5194/wes-2-317-2017" target="_blank">https://doi.org/10.5194/wes-2-317-2017</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib10"><label>Chui and Chen(2017)Chui, Chen et al.</label><mixed-citation>
      
Chui, C. and Chen, G.: Kalman filtering, Springer, <a href="https://doi.org/10.1007/978-3-319-47612-4" target="_blank">https://doi.org/10.1007/978-3-319-47612-4</a>, 2017.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib11"><label>Cooperman and Martinez(2015)</label><mixed-citation>
      
Cooperman, A. and Martinez, M.: Load monitoring for active control of wind
turbines, Renewable and Sustainable Energy Reviews, 41, 189–201,
<a href="https://doi.org/10.1016/j.rser.2014.08.029" target="_blank">https://doi.org/10.1016/j.rser.2014.08.029</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib12"><label>Coquelet et al.(2022)Coquelet, Bricteux, Moens, and
Chatelain</label><mixed-citation>
      
Coquelet, M., Bricteux, L., Moens, M., and Chatelain, P.: A
reinforcement-learning approach for individual pitch control, Wind Energy, 25, 1343–1362
<a href="https://doi.org/10.1002/we.2734" target="_blank">https://doi.org/10.1002/we.2734</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib13"><label>Docquier et al.(2013)Docquier, Poncelet, and Fisette</label><mixed-citation>
      
Docquier, N., Poncelet, A., and Fisette, P.: ROBOTRAN: A powerful symbolic
gnerator of multibody models, Mech. Sci., 4, 199–219,
<a href="https://doi.org/10.5194/ms-4-199-2013" target="_blank">https://doi.org/10.5194/ms-4-199-2013</a>, 2013.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib14"><label>Drécourt et al.(2006)Drécourt, Madsen, and Rosbjerg</label><mixed-citation>
      
Drécourt, J.-P., Madsen, H., and Rosbjerg, D.: Bias aware Kalman filters:
Comparison and improvements, Adv. Water Resour., 29, 707–718,
<a href="https://doi.org/10.1016/j.advwatres.2005.07.006" target="_blank">https://doi.org/10.1016/j.advwatres.2005.07.006</a>, 2006.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib15"><label>Fleming et al.(2014)Fleming, Gebraad, Lee, van Wingerden, Johnson,
Churchfield, Michalakes, Spalart, and Moriarty</label><mixed-citation>
      
Fleming, P., Gebraad, P., Lee, S., van Wingerden, J. W., Johnson, K.,
Churchfield, M., Michalakes, J., Spalart, P., and Moriarty, P.: Evaluating
techniques for redirecting turbine wakes using SOWFA, Renew. Energ., 70, 211–218,
<a href="https://doi.org/10.1016/j.renene.2014.02.015" target="_blank">https://doi.org/10.1016/j.renene.2014.02.015</a>, 2014.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib16"><label>Frederik and van Wingerden(2022)</label><mixed-citation>
      
Frederik, J. and van Wingerden, J. W.: On the load impact of dynamic
wind farm wake mixing strategies, Renew. Energ., 194, 582–595,
<a href="https://doi.org/10.1016/j.renene.2022.05.110" target="_blank">https://doi.org/10.1016/j.renene.2022.05.110</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib17"><label>Frederik et al.(2020)Frederik, Doekemeijer, Mulders, and van
Wingerden</label><mixed-citation>
      
Frederik, J., Doekemeijer, B., Mulders, S., and van Wingerden, J. W.:
The helix approach: Using dynamic individual pitch control to enhance wake
mixing in wind farms, Wind Energy, 23, 1739–1751, <a href="https://doi.org/10.1002/we.2513" target="_blank">https://doi.org/10.1002/we.2513</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib18"><label>Friedland(1969)</label><mixed-citation>
      
Friedland, B.: Treatment of bias in recursive filtering, IEEE T.
Automat. Contr., 14, 359–367, <a href="https://doi.org/10.1109/TAC.1969.1099223" target="_blank">https://doi.org/10.1109/TAC.1969.1099223</a>, 1969.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib19"><label>Hansen(2015)</label><mixed-citation>
      
Hansen, M.: Aerodynamics of wind turbines, Routledge, <a href="https://doi.org/10.4324/9781315769981" target="_blank">https://doi.org/10.4324/9781315769981</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib20"><label>Jonkman et al.(2009)Jonkman, Butterfield, Musial, and
Scott</label><mixed-citation>
      
Jonkman, J., Butterfield, S., Musial, W., and Scott, G.: Definition of a 5-MW reference wind turbine for offshore system development, Technical Report No. NREL/TP-500-38060, National Renewable Energy Laboratory (NREL), <a href="https://doi.org/10.2172/947422" target="_blank">https://doi.org/10.2172/947422</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib21"><label>Korb et al.(2023)Korb, Asmuth, and Ivanell</label><mixed-citation>
      
Korb, H., Asmuth, H., and Ivanell, S.: The characteristics of helically
deflected wind turbine wakes, J. Fluid Mech., 965, A2,
<a href="https://doi.org/10.1017/jfm.2023.390" target="_blank">https://doi.org/10.1017/jfm.2023.390</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib22"><label>Lejeune et al.(2022)Lejeune, Moens, and
Chatelain</label><mixed-citation>
      
Lejeune, M., Moens, M., and Chatelain, P.: A meandering-capturing wake model
coupled to rotor-based flow-sensing for operational wind farm flow
prediction, Frontiers in Energy Research, 10, 884068, <a href="https://doi.org/10.3389/fenrg.2022.884068" target="_blank">https://doi.org/10.3389/fenrg.2022.884068</a>,
2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib23"><label>Letizia et al.(2023)Letizia, Brugger, Bodini, Krishnamurthy,
Scholbrock, Simley, Porté-Agel, Hamilton, Doubrawa, and
Moriarty</label><mixed-citation>
      
Letizia, S., Brugger, P., Bodini, N., Krishnamurthy, R., Scholbrock, A.,
Simley, E., Porté-Agel, F., Hamilton, N., Doubrawa, P., and Moriarty, P.:
Characterization of wind turbine flow through nacelle-mounted lidars: a
review, Frontiers in Mechanical Engineering, 9, 1261017,
<a href="https://doi.org/10.3389/fmech.2023.1261017" target="_blank">https://doi.org/10.3389/fmech.2023.1261017</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib24"><label>Liu et al.(2021)Liu, Pamososuryo, Ferrari, Hovgaard, and van
Wingerden</label><mixed-citation>
      
Liu, Y., Pamososuryo, A., Ferrari, R., Hovgaard, T., and van Wingerden, J. W.: Blade effective wind speed estimation: A subspace predictive repetitive estimator approach, in: 2021 European Control Conference (ECC), 29 June–2 July, online conference,  1205–1210, <a href="https://doi.org/10.23919/ECC54610.2021.9654981" target="_blank">https://doi.org/10.23919/ECC54610.2021.9654981</a>, 2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib25"><label>Liu et al.(2022)Liu, Pamososuryo, Mulders, Ferrari, and van
Wingerden</label><mixed-citation>
      
Liu, Y., Pamososuryo, A., Mulders, S., Ferrari, R., and van Wingerden, J. W.: The proportional integral notch and Coleman blade effective wind speed
estimators and their similarities, IEEE Control Systems Letters, 6,
2198–2203, <a href="https://doi.org/10.1109/LCSYS.2021.3140171" target="_blank">https://doi.org/10.1109/LCSYS.2021.3140171</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib26"><label>Lu et al.(2015)Lu, Bowyer, and Jones</label><mixed-citation>
      
Lu, Q., Bowyer, R., and Jones, B.: Analysis and design of Coleman
transform-based individual pitch controllers for wind-turbine load reduction,
Wind Energy, 18, 1451–1468, <a href="https://doi.org/10.1002/we.1769" target="_blank">https://doi.org/10.1002/we.1769</a>, 2015.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib27"><label>Mann(1998)</label><mixed-citation>
      
Mann, J.: Wind field simulation, Probabilist. Eng. Mech., 13, 269–282,
<a href="https://doi.org/10.1016/S0266-8920(97)00036-2" target="_blank">https://doi.org/10.1016/S0266-8920(97)00036-2</a>, 1998.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib28"><label>Meyers et al.(2022)Meyers, Bottasso, Dykes, Fleming, Gebraad, Giebel,
Göçmen, and van Wingerden</label><mixed-citation>
      
Meyers, J., Bottasso, C., Dykes, K., Fleming, P., Gebraad, P., Giebel, G., Göçmen, T., and van Wingerden, J.-W.: Wind farm flow control: prospects and challenges, Wind Energ. Sci., 7, 2271–2306, <a href="https://doi.org/10.5194/wes-7-2271-2022" target="_blank">https://doi.org/10.5194/wes-7-2271-2022</a>, 2022.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib29"><label>Moens et al.(2018)Moens, Duponcheel, Winckelmans, and
Chatelain</label><mixed-citation>
      
Moens, M., Duponcheel, M., Winckelmans, G., and Chatelain, P.: An actuator disk
method with tip-loss correction based on local effective upstream velocities,
Wind Energy, 21, 766–782, <a href="https://doi.org/10.1002/we.2192" target="_blank">https://doi.org/10.1002/we.2192</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib30"><label>Munters and Meyers(2018)</label><mixed-citation>
      
Munters, W. and Meyers, J.: Towards practical dynamic induction control of wind farms: analysis of optimally controlled wind-farm boundary layers and sinusoidal induction control of first-row turbines, Wind Energ. Sci., 3, 409–425, <a href="https://doi.org/10.5194/wes-3-409-2018" target="_blank">https://doi.org/10.5194/wes-3-409-2018</a>, 2018.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib31"><label>Pamososuryo et al.(2023)Pamososuryo, Liu, Gybel Hovgaard, Ferrari,
and van Wingerden</label><mixed-citation>
      
Pamososuryo, A., Liu, Y., Gybel Hovgaard, T., Ferrari, R., and van Wingerden,
J. W.: Convex economic model predictive control for blade loads
mitigation on wind turbines, Wind Energy, 26, 1276–1298,
<a href="https://doi.org/10.1002/we.2869" target="_blank">https://doi.org/10.1002/we.2869</a>, 2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib32"><label>Raach(2021)</label><mixed-citation>
      
Raach, S.: Important milestone: 1000 wind turbines with lidar-assisted control,
Sowento,
<a href="https://www.sowento.com/wp-content/uploads/2021/11/20210527-sowento-PressRelease-Goldwind.pdf" target="_blank"/> (last access: 30 September 2024),
2021.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib33"><label>Russell et al.(2024)Russell, Collu, McDonald, Thies, Keane, and
Quayle</label><mixed-citation>
      
Russell, A., Collu, M., McDonald, A., Thies, P., Keane, A., and Quayle, A.:
LIDAR-assisted feedforward individual pitch control of a 15 MW floating
offshore wind turbine, Wind Energy, 27, 341–362,  <a href="https://doi.org/10.1002/we.2891" target="_blank">https://doi.org/10.1002/we.2891</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib34"><label>Scholbrock et al.(2016)Scholbrock, Fleming, Schlipf, Wright, Johnson,
and Wang</label><mixed-citation>
      
Scholbrock, A., Fleming, P., Schlipf, D., Wright, A., Johnson, K., and Wang,
N.: Lidar-enhanced wind turbine control: Past, present, and future, in: 2016
American Control Conference (ACC), Boston, MA, USA, 6–8 July 2016,  1399–1406,
<a href="https://doi.org/10.1109/ACC.2016.7525113" target="_blank">https://doi.org/10.1109/ACC.2016.7525113</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib35"><label>Selvam et al.(2009)Selvam, Kanev, van Wingerden, van Engelen, and
Verhaegen</label><mixed-citation>
      
Selvam, K., Kanev, S., van Wingerden, J. W., van Engelen, T., and
Verhaegen, M.: Feedback–feedforward individual pitch control for wind
turbine load reduction, Int. J. Robust Nonlin., 19, 72–91, <a href="https://doi.org/10.1002/rnc.1324" target="_blank">https://doi.org/10.1002/rnc.1324</a>, 2009.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib36"><label>Simley and Pao(2016)</label><mixed-citation>
      
Simley, E. and Pao, L.: Evaluation of a wind speed estimator for effective
hub-height and shear components, Wind Energy, 19, 167–184,
<a href="https://doi.org/10.1002/we.1817" target="_blank">https://doi.org/10.1002/we.1817</a>, 2016.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib37"><label>Smith et al.(2002)Smith, Link, Randall, and McCoy</label><mixed-citation>
      
Smith, B., Link, H., Randall, G., and McCoy, T.: Applicability of nacelle anemometer measurements for use in turbine power performance tests, Technical Report No. NREL/CP-500-32494, National Renewable Energy Laboratory (NREL), <a href="https://www.nrel.gov/docs/fy02osti/32494.pdf" target="_blank"/> (last access: 30 September 2024), 2002.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib38"><label>Snel and Schepers(1995)</label><mixed-citation>
      
Snel, H. and Schepers, J.: Joint investigation of dynamic inflow effects and implementation of an engineering method, Technical Report No. ECN-C–94-107, Energy research Centre of the Netherlands (ECN), <a href="https://publications.ecn.nl/ECN-C-94-107" target="_blank"/> (last access: 30 September 2024), 1995.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib39"><label>Taschner et al.(2023)Taschner, van Vondelen, Verzijlbergh, and van
Wingerden</label><mixed-citation>
      
Taschner, E., van Vondelen, A., Verzijlbergh, R., and van Wingerden, J. W.: On the performance of the helix wind farm control approach in the
conventionally neutral atmospheric boundary layer, J. Phys. Conf. Ser., 2505, 012006, <a href="https://doi.org/10.1088/1742-6596/2505/1/012006" target="_blank">https://doi.org/10.1088/1742-6596/2505/1/012006</a>,
2023.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib40"><label>Trigaux et al.(2024a)Trigaux, Chatelain, and
Winckelmans</label><mixed-citation>
      
Trigaux, F., Chatelain, P., and Winckelmans, G.: Investigation of blade flexibility effects on the loads and wake of a 15 MW wind turbine using a flexible actuator line method, Wind Energ. Sci., 9, 1765–1789, <a href="https://doi.org/10.5194/wes-9-1765-2024" target="_blank">https://doi.org/10.5194/wes-9-1765-2024</a>, 2024a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib41"><label>Trigaux et al.(2024b)Trigaux, Chatelain, and
Winckelmans</label><mixed-citation>
      
Trigaux, F., Chatelain, P., and Winckelmans, G.: Investigation of blade flexibility effects on the loads and wake of a 15 MW wind turbine using a flexible actuator line method, Wind Energ. Sci., 9, 1765–1789, <a href="https://doi.org/10.5194/wes-9-1765-2024" target="_blank">https://doi.org/10.5194/wes-9-1765-2024</a>, 2024b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib42"><label>United Nations(2015)</label><mixed-citation>
      
United Nations: Transforming our world: the 2030 Agenda for Sustainable
Development, <a href="https://wedocs.unep.org/20.500.11822/9814" target="_blank"/> (last access: 30 September 2024), 2015.


    </mixed-citation></ref-html>
<ref-html id="bib1.bib43"><label>van der Hoek et al.(2024)van der Hoek, den Abbeele, Simao Ferreira,
and van Wingerden</label><mixed-citation>
      
van der Hoek, D., den Abbeele, B. V., Simao Ferreira, C., and van Wingerden,
J.-W.: Maximizing wind farm power output with the helix approach:
Experimental validation and wake analysis using tomographic particle image
velocimetry, Wind Energy, 27, 463–482, <a href="https://doi.org/10.1002/we.2896" target="_blank">https://doi.org/10.1002/we.2896</a>, 2024.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib44"><label>van Vondelen et al.(2023a)van Vondelen, Ottenheym,
Pamososuryo, Navalkar, and van Wingerden</label><mixed-citation>
      
van Vondelen, A., Ottenheym, J., Pamososuryo, A., Navalkar, S. T., and van
Wingerden, J. W.: Phase Synchronization for Helix Enhanced Wake
Mixing in Downstream Wind Turbines, IFAC-PapersOnLine, 56, 8426–8431,
<a href="https://doi.org/10.1016/j.ifacol.2023.10.1039" target="_blank">https://doi.org/10.1016/j.ifacol.2023.10.1039</a>, 2023a.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib45"><label>van Vondelen et al.(2023b)van Vondelen, Navalkar,
Kerssemakers, and Van Wingerden</label><mixed-citation>
      
van Vondelen, A. A. W., Navalkar, S. T., Kerssemakers, D. R., and
Van Wingerden, J. W.: Enhanced wake mixing in wind farms using the
Helix approach: A loads sensitivity study, in: 2023 American Control
Conference (ACC),  San Diego, CA, USA, 31 May–2 June 2023,  831–836, <a href="https://doi.org/10.23919/ACC55779.2023.10155965" target="_blank">https://doi.org/10.23919/ACC55779.2023.10155965</a>,
2023b.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib46"><label>Wagenaar et al.(2012)Wagenaar, Machielse, and
Schepers</label><mixed-citation>
      
Wagenaar, J., Machielse, L., and Schepers, J.: Controlling wind in ECN’s scaled wind farm, Technical Report No. ECN-M–12-007, Energy research Centre of the Netherlands (ECN), <a href="https://publications.tno.nl/publication/34631412/306uxY/m12007.pdf" target="_blank"/> (last access: 30 September 2024), 2012.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib47"><label>Wang et al.(2020)Wang, Campagnolo, and Bottasso</label><mixed-citation>
      
Wang, C., Campagnolo, F., and Bottasso, C.: Does the use of load-reducing IPC
on a wake-steering turbine affect wake behavior?, J. Phys. Conf. Ser., 1618, 022035, <a href="https://doi.org/10.1088/1742-6596/1618/2/022035" target="_blank">https://doi.org/10.1088/1742-6596/1618/2/022035</a>, 2020.

    </mixed-citation></ref-html>
<ref-html id="bib1.bib48"><label>Yilmaz and Meyers(2018)</label><mixed-citation>
      
Yilmaz, A. and Meyers, J.: Optimal dynamic induction control of a pair of
inline wind turbines, Phys. Fluids, 30, 085106, <a href="https://doi.org/10.1063/1.5038600" target="_blank">https://doi.org/10.1063/1.5038600</a>, 2018.

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