the Creative Commons Attribution 4.0 License.

the Creative Commons Attribution 4.0 License.

# Data-driven optimisation of wind farm layout and wake steering with large-eddy simulations

### Nikolaos Bempedelis

### Filippo Gori

### Andrew Wynn

### Sylvain Laizet

### Luca Magri

Maximising the power production of large wind farms is key to the transition towards net zero. The overarching goal of this paper is to propose a computational method to maximise the power production of wind farms with two practical design strategies. First, we propose a gradient-free method to optimise the wind farm power production with high-fidelity surrogate models based on large-eddy simulations and a Bayesian framework. Second, we apply the proposed method to maximise wind farm power production by both micro-siting (layout optimisation) and wake steering (yaw angle optimisation). Third, we compare the optimisation results with the optimisation achieved with low-fidelity wake models. Finally, we propose a simple multi-fidelity strategy by combining the inexpensive wake models with the high-fidelity framework. The proposed gradient-free method can effectively maximise wind farm power production. Performance improvements relative to wake-model optimisation strategies can be attained, particularly in scenarios of increased flow complexity, such as in the wake steering problem, in which some of the assumptions in the simplified flow models become less accurate. The optimisation with high-fidelity methods takes into account nonlinear and unsteady fluid mechanical phenomena, which are leveraged by the proposed framework to increase the farm output. This paper opens up opportunities for wind farm optimisation with high-fidelity methods and without adjoint solvers.

- Article
(4753 KB) - Full-text XML
- BibTeX
- EndNote

The transition towards a net-zero world is intertwined with a continually growing demand for renewable energy sources. Wind power has emerged as the leading contributor to renewable electricity in numerous countries (Our World in Data, 2022). Governments worldwide have recognised the significance of this resource and have committed to substantial capacity expansions as part of their energy strategies. As wind energy takes on an increasingly central role as an energy source, it is critical for it to mature in terms of efficiency and resilience. This entails addressing a number of challenges, which range from turbine aerodynamics, their interaction with the atmosphere, and plant-level control (Veers et al., 2019, 2022).

One key issue is that wind farms that consist of many turbine rows are typically less efficient than less deep wind farms (i.e. downstream rows produce less power than upstream ones) (Barthelmie et al., 2009). This degradation in efficiency is primarily attributed to wake losses, which arise when a significant portion of the turbines operate within the wake fields generated by neighbouring turbines within the same farm. A wind turbine operating within a wake field is a negative operability issue for two reasons: first, the reduction of its power output due to the decelerated incoming wind and, second, the increase of fatigue loading due to higher levels of turbulence.

The long-established strategy for mitigating wake losses is to optimally position the wind turbines across the available land. This approach is most commonly referred to as *layout optimisation* or *micro-siting*. Building upon the work by Mosetti et al. (1994), numerous studies have been published in the literature on maximising the production (or minimising the cost of energy production) of a wind farm by optimising turbine placement (see, for instance, Grady et al., 2005; Kusiak and Song, 2010; Chowdhury et al., 2012; Stanley and Ning, 2019; and the review articles by Herbert-Acero et al., 2014 and Shakoor et al., 2016).

More recently, an approach called *wake steering* was proposed as an alternative strategy to mitigate wake losses. In wake steering, upstream turbines are yawed to deflect their wakes away from downstream turbines. Although this results in a reduction in power production from the upstream turbines, the downstream turbines generate more power, leading to an overall increase in the farm's power output. Demonstrations of performance gains in a number of computational (Fleming et al., 2015; Gebraad et al., 2016), experimental (Adaramola and Krogstad, 2011; Campagnolo et al., 2016; Bastankhah and Porté-Agel, 2019), and field (Fleming et al., 2017; Howland et al., 2019; Fleming et al., 2019; Simley et al., 2021) studies have prompted the consideration of implementing wake steering in commercial wind plants (see, for instance, a press release by WindESCo, 2023). Nevertheless, further research is required in order to reduce the uncertainties regarding its potential benefits (Kheirabadi and Nagamune, 2019).

In the vast majority of relevant studies published in the literature, the optimisation of the farm layout or the turbine yaw angles is carried out with low-fidelity flow solvers, commonly known as *wake models*, as cost function evaluators. Wake models are tools that estimate the velocity deficit downstream of a wind turbine and, by means of superposition, the overall flow in a wind farm (see, for example, Jensen, 1983; Frandsen et al., 2006; Bastankhah and Porté-Agel, 2014; Bempedelis and Steiros, 2022; and the review article by Porté-Agel et al., 2020). Wake models are built on simplified assumptions for the turbulent wake of a porous disk and do not account for various phenomena such as unsteadiness, non-linear interactions, or blockage, among others. As a consequence, optimisation based on wake models misses opportunities to improve farm performance by manipulating and potentially exploiting these unaccounted phenomena. Furthermore, wake models can produce predictions which are non-smooth or discontinuous as functions of the design variables (e.g. turbine coordinates or yaw angles). This renders their use within gradient-based optimisation algorithms challenging (Gori et al., 2023). Nevertheless, wake models are almost invariably used in optimisation studies due to their low computational cost and the expertise gained from decades of development and application (Asmuth et al., 2023).

On the other hand, higher-fidelity flow models have been employed in a limited number of layout optimisation studies (King et al., 2017; Antonini et al., 2018; Allen et al., 2020; Antonini et al., 2020). In these works, wind farm layouts were optimised with an adjoint gradient-based approach and steady-state Reynolds-averaged Navier–Stokes (RANS) simulations. The use of steady RANS enables the consideration of a number of the aforementioned phenomena, such as blockage or pressure effects. However, the unsteady wake dynamics and the atmosphere-to-wake interactions, which play a critical role in large wind farm flows, cannot be appropriately accounted for. While higher-fidelity flow models, such as large-eddy simulations (LESs), aptly take these phenomena into account, the computation of the gradient of a long-term^{1} time average of a chaotic turbulent flow is ill posed (Wang, 2013; Blonigan and Wang, 2018; Huhn and Magri, 2022), which is a limit for adjoint methods. Despite these challenges, large-eddy simulations and adjoint methods have been combined in the context of wind farm control (Goit and Meyers, 2015; Munters and Meyers, 2018), showcasing the potential of dynamic control strategies. Alternatively, LESs have been utilised in hybrid or multi-fidelity approaches (Bokharaie et al., 2016; Kirby et al., 2023). For instance, in Bokharaie et al. (2016), LES was employed to calibrate the parameters of wake models, which, in turn, were used to find optimal wind farm layouts.

In this work, we propose a data-driven framework for optimising the output of a wind farm based on a gradient-free Bayesian approach and high-fidelity large-eddy simulations of the wind farm flow. The structure of the paper is as follows. The proposed optimisation strategy is outlined in Sect. 2. Section 3 discusses its application to a 16-turbine layout optimisation problem. In Sect. 4, the framework is applied to a 10-turbine yaw angle optimisation (wake steering) problem. Finally, conclusions end the paper in Sect. 5.

The methodology is presented in two parts. First, we introduce the optimisation framework in Sect. 2.1. Second, in Sect. 2.2, we describe the flow solver employed to predict the wind farm flow and power output.

## 2.1 Bayesian optimisation

Bayesian optimisation (BO) is a gradient-free global optimisation strategy, which is particularly attractive for optimising complex functions (as in large codes for which the adjoint algorithm is cumbersome). Its effectiveness has been demonstrated in various fluid mechanical applications (e.g. Mahfoze et al., 2019; Huhn and Magri, 2022; O’Connor et al., 2023). It seeks for the extrema of the objective function by constructing a probabilistic surrogate model of it, typically a Gaussian process (GP), and by exploring the parameter space with an acquisition function (AF).

A Gaussian process (GP) model is a non-parametric probabilistic model that is defined by a prior mean function, *μ*_{0}(** x**),

**∈ℝ**

*x*^{d}, which is usually assumed to be zero, and a covariance function (also known as the kernel), $k\in \mathbb{R}\left(\mathit{x},{\mathit{x}}^{\prime}\right)$. Given a set 𝒟 of

*m*observations $\mathbf{Y}\in {\mathbb{R}}^{m\times \mathrm{1}}=f\left(\mathbf{X}\right)={\left[{y}_{\mathrm{1}},\mathrm{\dots},{y}_{m}\right]}^{\u22ba}$ at the input locations $\mathbf{X}\in {\mathbb{R}}^{m\times d}={\left[{\mathit{x}}_{\mathrm{1}},\mathrm{\dots},{\mathit{x}}_{m}\right]}^{\u22ba}$ as training data and assuming a zero prior mean, we can compute the posterior mean, ${\mathit{\mu}}_{*}\in {\mathbb{R}}^{n\times \mathrm{1}}$, and variance, ${\mathit{\sigma}}_{*}^{\mathrm{2}}\in {\mathbb{R}}^{n\times \mathrm{1}}$, for a set of

*n*test points ${\mathbf{X}}_{*}\in {\mathbb{R}}^{n\times d}$ as

where $\mathbf{K}\in {\mathbb{R}}^{m\times \phantom{\rule{0.125em}{0ex}}m}=k\left(\mathbf{X},\mathbf{X}\right)$, ${\mathbf{K}}_{*}\in {\mathbb{R}}^{m\times n}=k\left(\mathbf{X},{\mathbf{X}}_{*}\right)$, ${\mathbf{K}}_{**}\in {\mathbb{R}}^{n\times n}=k\left({\mathbf{X}}_{*},{\mathbf{X}}_{*}\right)$, and *σ*^{2}∈ℝ is the observational noise. These expressions provide an estimate of the underlying objective function and the corresponding uncertainty for every point in the parameter space. Training a GP model involves determining the values of the kernel hyper-parameters that maximise the marginal likelihood. For a more detailed discussion on GPs, the reader is referred to Rasmussen and Williams (2006).

The acquisition function AF(** x**), which is built on the surrogate model whose first two statistical moments are given by Eqs. (1)–(2), determines the next point(s) to be evaluated, by taking into account both the mean and uncertainty for any point

**of the parameter space and providing the probability, or amount, by which**

*x***can improve the current optimum. Exploration, which directs the search towards unexplored areas of the parameter space, and exploitation, which focuses the search in the vicinity of known promising solutions, are balanced based on the trade-off between uncertainty reduction and potential improvement. In brief, Bayesian optimisation is described in Algorithm (1).**

*x*

*x*_{opt}and

*y*

_{opt}

**for**

*i*=1

**to**stopping criterion

**do**

*// Update the surrogate model using the available data*

*// Find the next point to evaluate using the AF*

*// Evaluate the objective function at*

*x*_{next}

*y*

_{next}←

*f*(

*x*_{next})

*// Update the dataset with the new evaluation*

*x*_{next}and

*y*

_{next}to 𝒟

*// Update the best solution found so far*

**if**

*y*

_{next}>

*y*

_{opt}

**then**

*x*_{opt}←

*x*_{next}

*y*

_{opt}←

*y*

_{next}

**end**

**if**

**end**

**for**

**return**

*x*_{opt},

*y*

_{opt}

In the current work, Bayesian optimisation is implemented with the GPyOpt library (The GPyOpt authors, 2016). As discussed in more detail in Sect. 3.2, we consider GP priors characterised by the rational quadratic kernel (Rasmussen and Williams, 2006). We further assume that our LES observations have high fidelity, and, as such, are noise-free (i.e. *σ*^{2} is negligible). To select the next observation point(s), we use the lower confidence bound acquisition function, $\mathrm{AF}\left(\mathit{x}\right)={\mathit{\mu}}_{*}\left(\mathit{x}\right)-\mathit{\lambda}{\mathit{\sigma}}_{*}\left(\mathit{x}\right)$, which allows for straightforward control of the exploration-to-exploitation ratio through the tunable parameter *λ*, which weighs the mean/exploitation *μ*_{*} and uncertainty/exploration *σ*_{*} terms of the GP model, with larger values of *λ* favouring exploration. Other AFs (e.g. probability of improvement, expected improvement) or combination of them may be used (e.g. Huhn and Magri, 2022). The kernel hyper-parameter and AF optimisations are carried out with the L-BFGS algorithm (Liu and Nocedal, 1989). Finally, we compute design points to be explored in batches (batch BO), following the local penalisation method proposed in González et al. (2016). This allows us to efficiently utilise our high-performance computing resources by running several LESs at the same time.

## 2.2 Large-eddy simulations

To predict the wind farm flow and power output, we employ the wind farm simulator WInc3D (Deskos et al., 2020) of the open-source^{2} finite-difference framework Xcompact3d (Bartholomew et al., 2020). Xcompact3d solves the incompressible filtered Navier–Stokes equations on Cartesian meshes using sixth-order compact schemes and a third-order Adams–Bashforth method for time integration (Laizet and Lamballais, 2009). Efficient scaling up to hundreds of thousands of CPU cores is made possible by utilising the 2DECOMP&FFT library for parallelisation (Laizet and Li, 2011). WInc3D has been validated against experimental and field data in several wind turbine and wind farm flow problems (Deskos et al., 2019, 2020; Bempedelis and Steiros, 2022; Steiros et al., 2022; Jané-Ippel et al., 2023).

In this work, the Smagorinsky sub-filter-scale model (Smagorinsky, 1963) is used to account for the effects of the unresolved fluid motions. The wind turbines are modelled with the non-rotational actuator disk method, which is described in more detail, together with validation studies in Bempedelis et al. (2023) and Jané-Ippel et al. (2024) (the reader is also referred to Calaf et al., 2010, Speakman et al., 2021, and Heck et al., 2023, who implement a similar approach). In brief, in the actuator disk method, the power of a turbine is computed as *P*=*T**u*_{d}, where *T* is the calculated thrust and *u*_{d} is the temporally filtered disk-averaged velocity normal to the disk plane. The thrust depends on the local (or “modified”) thrust coefficient ${C}_{\mathrm{T}}^{\prime}$ and the disk velocity *u*_{d} and is computed as $T=\frac{\mathrm{1}}{\mathrm{2}}\mathit{\rho}A{C}_{\mathrm{T}}^{\prime}{u}_{\mathrm{d}}^{\mathrm{2}}$, where *ρ* is the density and *A* is the rotor area. This implementation provides predictions of power degradation as a function of rotor misalignment (i.e. for yawed or tilted turbines) similar to Speakman et al. (2021) and Heck et al. (2023). The optimisation framework proposed in Sect. 2.1 is nevertheless compatible with any other turbine model, such as the actuator disk with rotation or the actuator line models, which are expected to yield improved turbine wake and power predictions (Lin and Porté-Agel, 2019).

In order to realistically simulate the interaction of the wind farm with the turbulent atmospheric flow, we perform precursor simulations of pressure-gradient-driven fully developed neutral atmospheric boundary layers. A free-slip condition is applied at the top boundary, and a no-slip condition with a wall model is used at the ground. The precursor atmospheric flow simulations are run until statistical convergence is reached, after which we begin storing two-dimensional planes of the flow field, normal to the streamwise direction, at every time step. These planes are subsequently used as inflow conditions in the wind farm simulations.

In layout optimisation, the objective is to maximise the power production of a wind farm with *N* wind turbines by adjusting their position $\mathbf{c}={\left[\mathit{x},\mathit{y}\right]}^{T}$, with $\mathit{x}=\left({x}_{\mathrm{1}},\mathrm{\dots},{x}_{N}\right)$ and $\mathit{y}=\left({y}_{\mathrm{1}},\mathrm{\dots},{y}_{N}\right)$, within a given space ** X**. The space

**corresponds to the available land where the wind turbines may be installed. The farm power production is typically a weighted sum of all the different wind states**

*X**K*(wind direction, speed, turbulence) which the farm experiences over a period of time. The turbines are aligned with the mean inflow wind direction in all cases considered in this section (no controllers are used)

^{3}. optimisation problem is therefore expressed as

where *P*_{n,k} is the power output of the *n*th turbine given wind state *k*, and *a*_{k} is the weight (i.e. probability) of each wind state, as dictated by the local meteorological data. Equation (3b) constrains the turbines within the available land. To avoid turbine overlapping, a second constraint is added to ensure that the centres of the turbines are spaced at least one turbine diameter *D* apart (Eq. 3c).

In a preliminary proof-of-concept study (Bempedelis and Magri, 2023), an early version of the proposed framework was applied to a simple layout optimisation problem (five wind turbines in a 6 *D*×6 *D* square, operating under a single wind state). It was shown that the method is capable of finding optimal designs in a few iterations whilst leveraging flow phenomena that are unaccounted for in low-fidelity solvers (e.g. local speed-ups) to deliver increased wind farm performance.

However, modern wind farms are composed of several more turbines. The layout optimisation problem therefore becomes high-dimensional, with the design space being 2*N*-dimensional. Bayesian optimisation in low dimensions is well established, but its application to high-dimensional problems poses a significant challenge due to the increase in complexity in both GP regression and the search for the next designs (AF optimisation) (Binois and Wycoff, 2022).

Here, we propose a way to reduce the dimensionality of the layout optimisation problem. It is based on the assumption that, in most cases, the turbines in a wind farm are identical. In that case, the cost function is invariant under permutations of the turbine labelling, and there are *N*! different combinations of the design variables that produce the same output. Such behaviour is a clear barrier to efficient optimisation. To remedy this, we could augment the training dataset with all *N*! permutations of the evaluated designs. However, this quickly gives rise to high complexity, as the computational cost for GP regression scales with 𝒪(*m*^{3}), where *m* is the number of points in the training dataset. Alternatively, without loss of generality, we propose working on a reduced design space by enforcing a set of *N*−1 additional constraints (Eq. 4d). The constraints enforce a particular ordering of the turbines, in one direction only, thereby constraining the design variables to that particular subspace of the full parameter space. The subspace size is smaller by a factor $\mathrm{1}/N\mathrm{!}$ relative to the original one, indicating the equivalence of the two approaches. (A third way, not explored in this work, is to encode the turbine ordering invariance property of the objective function in the kernel; see Duvenaud, 2014, for additional details). The layout optimisation problem is thus reformulated as

## 3.1 Layout optimisation: problem set-up

We consider a wind farm of *N*=16 turbines, each with *D*=100 m rotor diameter and *h*=100 m hub height. The wind turbines operate with a constant local thrust coefficient ${C}_{\mathrm{T}}^{\prime}=\mathrm{4}/\mathrm{3}$. The land where the turbine towers can be placed is a square of size 18 *D*×18 *D* (for this set-up, the blades can extend outside of the available area). We consider an evenly weighted six-directional wind rose. This is a set-up close to those examined in King et al. (2017) and Antonini et al. (2018). The atmospheric boundary layer is characterised by friction velocity ${u}^{*}=\mathrm{0.442}$ m s^{−1}, height *δ*=501 m, and roughness length *z*_{0}=0.05 m, which correspond to conditions in the North Sea (Wu and Porté-Agel, 2015). The velocity at the hub height of the turbines is *U*_{h}=8.3 m s^{−1}, and the turbulence intensity at the same level is TI_{h}=7.4 *%* (see Fig. 1 for the simulated atmospheric wind profiles).

The wind farm is embedded in a computational domain of size $\mathrm{4008}\times \mathrm{3340}\times \mathrm{501}$ m, which is discretised with a uniform mesh with $\mathrm{\Delta}x=\mathrm{\Delta}y=\mathrm{\Delta}z=\mathrm{10.4375}$ m (corresponding to ≈10 points across the turbine rotor). As shown in Bempedelis et al. (2023), this resolution is sufficient to predict the power production of a large wind farm. This was also confirmed for the considered set-up (result not shown for brevity). The flow field planes stored from the precursor simulation (see Sect. 2.2) are used at the inlet, a convective condition is used at the outlet, and the conditions at the remaining boundaries are similar to the description in Sect. 2.2. The time step is chosen such that the maximum Courant–Friedrichs–Lewy (CFL) number remains below 0.2. Data are averaged over a 2.5 h period of farm operation, following the time required for the flow to develop.

Figure 2 shows the contours of the instantaneous and mean streamwise flow at the turbine hub level for a randomly sampled farm layout under westerly wind, together with details on the described set-up (wind rose and available land). It also reveals the highly complex nature of wind farm flows, with turbine wakes interacting with one another and with the atmospheric turbulence.

## 3.2 Layout optimisation: results

The optimisation starts by evaluating the farm power output of a large set of layouts sampled from a Latin hypercube, along with two user-designed layouts. These are a uniform 4×4 layout with 6 *D* spacing between the turbines and a layout where the turbines are equidistantly distributed on the land border only. The optimisation then progresses iteratively, as described in Sect. 2, and terminates after 700 iterations (for a total of 4200 wind farm LESs). This was decided in consideration of the available computational resources (a comment on the cost of the simulations can be found in Appendix A) and the optimisation's progression. The optimisation history is shown in Fig. 3. To facilitate comparison, we introduce the metric *η*, defined as the ratio between the overall farm power output and a reference ideal output based on the output of a single wind turbine,

with *P*_{single} being computed in a separate LES, where a single turbine was placed at the centre of the available land. Basically, *η* is a normalised form of the objective function defined in Eq. (4a), based on the production of *N* similar standalone turbines. It may therefore be interpreted as a farm efficiency coefficient primarily describing wake losses.

At the end of the optimisation, the best-performing design has *η*=95.3 *%* efficiency, with the corresponding mean flow fields shown in Fig. 4 for every wind direction. We observe limited turbine–wake interference, especially in the diagonal wind directions, which is associated with increased power production by the wind farm in those directions. For reference, the 4×4 aligned layout and the layout shown in Fig. 2 have efficiencies *η*=88.5 *%* and *η*=80.4 *%*, respectively.

In parallel with the training of the surrogate model, we can also learn what constitutes good modelling practices. By means of validation on subsequent test points, we observe that the rational quadratic (RQ) kernel outperforms both the widely used Matérn and the squared exponential (RBF) kernels. Figure 5 shows the predictions of the regressed GPs (with a training dataset of 600 points) for the 40 points tested next. The test points include designs suggested with different levels of balance between exploration and exploitation (by tuning the *λ* parameter in the AF; see Sect. 2.1). All kernels perform adequately in regions near points in the training dataset. However, the RQ kernel is shown to extrapolate more accurately. Similar conclusions hold for both anisotropic (ARD) kernels (in which each design variable is associated with its own length scale) and isotropic kernels. In Bempedelis and Magri (2023), it was shown that it is possible to find optimal designs with isotropic kernels. Here, we find that anisotropic kernels show slightly improved accuracy. However, this comes at the price of larger computational cost and complexity. In particular, care needs to be taken when using anisotropic kernels in high-dimensional problems to ensure that sufficient data are available in the training set to achieve robustness in the GP hyper-parameter optimisation.

In order to assess the quality of the best-performing design obtained with the proposed framework (hereafter referred to as LES-BO), we perform a series of optimisations with the FLOw Redirection and Induction in Steady State (FLORIS) software (NREL, 2023). FLORIS is an open-source wind farm simulator that incorporates several widely used wake models. In this study, the Gauss–curl hybrid model (King et al., 2021) is employed for predicting the wind farm flow and power output, while the optimisation algorithm used is the FLORIS-default gradient-based sequential least squares programming (SLSQP) method (Kraft, 1988). For more details on the FLORIS simulations, please see Appendix B. In consideration of the multi-modal nature of the layout optimisation problem and to enable a more comprehensive comparison with the LES-BO method, we perform 100 independent FLORIS layout optimisations, initialised with 99 random layouts and a uniform 4×4 layout with 6 *D* spacing between the turbines.

The efficiencies of the 100 optimal designs outputted by FLORIS are then evaluated using WInc3D (the designs suggested by the low-fidelity model and evaluated with LES will be referred to as LF/LES). The LF/LES results, ordered from best to worst, are presented in Fig. 6, together with the predictions of FLORIS and the best-performing design obtained with LES-BO.

Figure 6 allows us to draw a number of conclusions. First, the proposed LES-BO framework is capable of finding a design that produces more power than ≈70 *%* of the optimal designs suggested by FLORIS (as evaluated with LES). Taking into account the relatively small amount of iterations to find this design, the option of using more advanced BO strategies (e.g. Eriksson et al., 2019), and the fact that our focus is on feasibility rather than performance, we conclude that optimising wind farms using a high-fidelity surrogate modelling approach is achievable.

However, several layouts suggested by the wake-model-based optimisation outperform those suggested by LES-BO. This finding supports the practice of using wake models to design wind farms in the wind energy industry, as they demonstrate excellent performance at only a fraction of the cost (see also Thomas et al., 2019).

Nevertheless, the efficiency predictions of FLORIS are lower compared to those of LES. As shown in Fig. 6, the trends of both predictions are similar, but the offset between the two is not constant, with LES predicting a wider range of efficiencies. Also, it may be observed that there is no one-to-one correspondence between the predictions of the two flow models. These differences are attributed to the flow phenomena that are unaccounted for in FLORIS. To identify these, Fig. 7 shows the efficiency of individual turbines of the FLORIS-suggested best design, evaluated by both FLORIS and LES, for a single wind direction (270°) and the full wind rose. In the case of the westerly wind, we observe that the increase in power production comes from downstream turbines. According to LES, the first turbines are producing slightly less power, indicating the negative impact of global (farm-level) blockage that is not taken into account in the wake models. However, the production of downstream turbines is increased to levels above those of an isolated turbine, due to local flow speed-ups. Here, an additional simulation with 3-times-larger spanwise extent was performed to evaluate the effects of domain blockage. These were confirmed to be present but relatively small, with ≈0.43 *%* difference in maximum streamwise velocity at hub height and ≈1.36 *%* difference in farm power production. Similar benefits owing to local blockage were also reported in King et al. (2017) and Antonini et al. (2018). Nevertheless, it is important to highlight that blockage effects are particularly sensitive to the atmospheric conditions besides the extent of the computational domain (Bleeg and Montavon, 2022). In the case of the full wind rose, all turbines operate at an efficiency above 90 *%*, with some turbines exceeding, on average, the production of an isolated turbine. Overall, the individual turbine efficiency predictions of the two flow models for the full wind rose (aggregate power) are qualitatively similar, with varying levels of differences.

Figure 7 also shows the mean streamwise flow fields predicted by FLORIS and LES for the westerly wind case. Together with Fig. 8, which shows the LES predictions for the in-plane velocity angle and the turbulence intensity, we observe several phenomena, in addition to the local speed-ups, which are taken into account only in LES (see also Figs. 2 and 4). These include cross-stream flow, wake deflections and curvature (e.g. at the sides of the farm), pressure gradients, and wake merging (e.g. turbines 11 and 16). Another difference between the predictions of the two flow models is in the near wake of the turbines. Wake models assume that self-similarity is established immediately downstream of a turbine, which is known to be inaccurate (see e.g. Steiros et al., 2024). Although this may not be a significant concern in the relatively sparse arrangement considered in this work, it is expected to play a more significant role in farms with higher turbine density. Finally, Fig. 9 shows a smoke-type visualisation of the turbine wakes for the FLORIS-suggested best farm layout. To achieve this, a passive scalar is emitted from the turbine rotors and is transported by the flow. This enables us to observe the meandering of the wakes and possibly some indications of weakly – owing to the stabilisation effects of base bleed (Steiros et al., 2020, 2021) – coupled dynamics (e.g. turbines 12, 13, and 14) (Peschard and Le Gal, 1996).

## 3.3 Combining wake models with LES: a multi-fidelity approach

Section 3.2 demonstrated the feasibility of optimising the layout of wind farms with the proposed LES-BO framework, along with the role of the mechanisms that are neglected by low-fidelity flow solvers. However, for the number of optimisation iterations performed, LES-BO was outperformed by the multi-start gradient-based optimisation with low-fidelity models.

In order to show the benefits of adopting the LES-BO approach, we propose a simple multi-fidelity strategy. We train a surrogate model with a dataset composed of only the first 300 samples from our original investigation (see Fig. 3) and the 100 designs suggested by the low-order model (see Fig. 6). Following initial training, the optimisation proceeds as discussed in Sect. 2 and similar to Sect. 3.2. However, our surrogate is now informed with well-performing designs obtained from the low-fidelity optimisation. We refer to this strategy as the extrema-informed LES-BO framework (EI-LES-BO).

Within just 30 iterations, EI-LES-BO manages to improve upon the FLORIS-suggested best design by *δ**η*=0.32 *%*. This is achieved by leveraging the flow phenomena that are unaccounted for in FLORIS. Figure 10 shows the efficiency of the two designs for each direction in the wind rose. EI-LES-BO delivers increased performance for most wind directions.

In wake steering, the objective is to maximise the power output of a wind farm by adjusting the angle *γ* at which turbines face the wind (a yaw angle *γ*=0*°* corresponds to the turbines being aligned with the mean wind direction). The position and properties of the wind turbines are considered known. As a result, optimisation can be carried out independently for each wind state. The (static) yaw angle optimisation problem for a single wind state can then be expressed as

where $\mathit{\gamma}=\left({\mathit{\gamma}}_{\mathrm{1}},\mathrm{\dots},{\mathit{\gamma}}_{N}\right)$ denotes the turbine yaw angles and Γ is the range of admissible misalignment angles.

## 4.1 Wake steering optimisation: problem set-up

The problem we consider draws on the Horns Rev I wind farm, which is located in the North Sea and consists of eighty turbines with diameter *D*=80 m and hub height *h*=70 m, arranged in an 8×10 grid with 7 *D* spacing between the turbines (Barthelmie et al., 2009). Data for the atmospheric boundary layer are taken from Wu and Porté-Agel (2015), with ${u}^{*}=\mathrm{0.442}$ m s^{−1}, height *δ*=500 m, and roughness length *z*_{0}=0.05 m (similar to the conditions considered in Sect. 3). Under these conditions, the velocity and turbulence intensity at hub height are *U*_{h}=7.9 m s^{−1} and TI_{h}=8.0 *%*, respectively.

We assume that the turbines operate with a constant local thrust coefficient, ${C}_{\mathrm{T}}^{\prime}=\mathrm{4}/\mathrm{3}$, and may yaw up to ±30*°* ($\mathrm{\Gamma}\in [-\mathrm{30},\mathrm{30}]$). We consider a single wind direction (270*°*), which is among the most prevalent ones, and the wind is aligned with the wind farm rows. This case is selected because wake steering optimisation studies based on low-fidelity models have yielded wildly varying optimum yaw settings, which range from zero to the maximum admissible yaw angle (see e.g. Zong and Porté-Agel, 2021, and Gori et al., 2023). For the purposes of the present optimisation study, we simulate only one row of the wind farm and use periodic conditions on the lateral boundaries. This follows a number of studies that have reported row independence for the considered problem (Zong and Porté-Agel, 2021; Gori et al., 2023). For instance, Zong and Porté-Agel (2021) reported an estimated asymptotic wake deflection of 0.8 *D* under a yaw condition of *γ*=30*°*, effectively demonstrating that row-to-row interactions have negligible influence on wake steering effectiveness for the investigated turbine spacings.

The domain of size $\mathrm{6144}\times \mathrm{560}\times \mathrm{1024}$ m is discretised with a uniform mesh with $\mathrm{\Delta}x=\mathrm{\Delta}y=\mathrm{\Delta}z=\mathrm{8}$ m (corresponding to 10 points across the turbine rotor, a resolution equivalent to the one used in Sect. 3). Data are gathered over a 3 h period of farm operation, following the time required for the flow to develop. Figure 11 shows contours of the instantaneous and mean streamwise flow at the turbine hub level, for the case of non-yawed conditions, (** γ**=0

*°*).

## 4.2 Wake steering optimisation: results

The initial training dataset comprises 50 designs. These include yaw angle combinations sampled with the Latin hypercube method, the non-yawed condition shown in Fig. 11, and a design in which the yaw angles decrease linearly, from the maximum admissible yaw angle for the most upstream turbine to zero yaw angle for the most downstream one (Zong and Porté-Agel, 2021). Significant improvements in power output are observed within just 10 iterations of the LES-BO optimisation. To facilitate comparison between all considered conditions, we define the metric *η* as the ratio of improvement over the non-yawed case, namely when ** γ**=0

*°*,

The above metric is a measure of power output improvements when adopting wake steering. Similar to Sect. 3, the best-performing LES-BO design is compared with the FLORIS-suggested optimal design (Fig. 12). In particular, Fig. 12 shows the optimal yaw angles suggested by each framework, along with the corresponding LES predictions for individual turbine efficiency. The latter is defined as ${\mathit{\eta}}_{\mathrm{ind},i}={P}_{i}\left(\mathit{\gamma}\right)/{P}_{i}(\mathit{\gamma}=\mathrm{0}\mathit{\xb0})$.

Qualitatively, both frameworks suggest a decreasing trend in yaw angles as we move downstream in the farm, similar to results reported in Bastankhah and Porté-Agel (2019). However, differences in magnitude can be observed, with the LES-BO framework favouring larger yaw angles in the upstream turbines. This results in reduced power output for the first four turbines. For downstream turbines, both frameworks suggest yaw angles of similar magnitudes. However, because they are less affected by the wakes of upstream turbines, downstream turbines in the LES-BO design produce more power.

As actuator disk theory tends to overestimate the power output of wind turbines at large yaw angles (Lin and Porté-Agel, 2019), both frameworks are prone to over-promoting wake steering. Nevertheless, the operational details of the turbines are identical in both flow models (LES-ADM and FLORIS). This suggests that the preference for larger yaw angles in the LES is likely related to the flow mechanisms (e.g. row interactions) that are unaccounted in FLORIS. We note that the yaw angles of the first four turbines in the LES-BO design are at the arbitrarily selected yaw limits defined in the problem set-up (see Sect. 4.1). This means that there is potential for further improvements should these limits be extended or removed. In practice, however, for large yaw offsets, it is important to also consider the effects of yawing the turbine on the loads it experiences (Damiani et al., 2018; Ennis et al., 2018).

Figure 13 shows the mean streamwise velocity field for the two cases (LES-BO best and LF/LES). Overall, the LES-BO framework is able to find a design that is 4 *%* more efficient compared to the design suggested by FLORIS, with efficiencies *η*=1.28 and *η*=1.24, respectively. A total of 0.7 *%* out of the 4 *%* increase in efficiency is provided by leveraging the effects of confinement (blockage). This is measured by testing the designs in LES with 5 times the spanwise extent of the domain, effectively simulating them as individual rows of turbines. The difference in efficiency between the designs in the unconfined case reduced to 3.3 *%*. Besides affecting the flow both locally and globally (see discussion in Sect. 3.2), confinement also affects wake recovery through increased levels of shear.

This work introduces an optimisation framework aimed at enhancing the efficiency of power production in wind farms. The proposed method follows a Bayesian approach and utilises surrogate models based on high-fidelity large-eddy simulations of wind farm flows. As part of an extensive computational campaign involving around 5000 large-eddy simulations, the framework was effectively used to mitigate losses caused by wake effects through two distinct strategies: layout optimisation (also known as micro-siting) and wake steering through yaw angle optimisation. The achieved optimisation outcomes were also compared with results obtained from low-fidelity wake-model-based optimisation. Finally, a simple strategy was proposed to combine both large-eddy simulations and wake models in a multi-fidelity approach.

In the layout optimisation problem, the best layouts found had ≈10 *%* increased efficiency compared with the efficiency of a standard aligned layout. The performance of wake models was also found to be remarkable. This is particularly important given the excessive computational requirements of LES-based layout optimisation. In the case of wake steering, the framework relying on high-fidelity simulations outperformed the wake-model-based optimisation by a considerable margin (4 *%* increased efficiency, reaching an overall 28 *%* increase compared with the non-yawed conditions). The increased complexity of the flow in this scenario rendered the utilisation of high-fidelity flow models advantageous. In future work, this framework will be extended to other flow cases of increased complexity, such as wind farms on complex terrain or under stratified conditions.

Simulations were performed using 128 or 256 CPU cores on ARCHER2 (https://www.archer2.ac.uk/, last access: 1 April 2024) and CSD3 (https://www.csd3.cam.ac.uk/, last access: 1 April 2024). The cost of each simulation ranged from ≈300 to ≈900 CPUh, mostly depending on the type and amount of outputted data. These included instantaneous and time-averaged fields, as well as time-resolved probe and turbine data.

Low-order farm modelling is conducted using version 3.4 of FLORIS (NREL, 2023), an open-source wind farm simulator developed by the National Renewable Energy Laboratory (NREL). The framework incorporates several widely used steady-state analytical wake models to predict the wind farm flow and power output. In this study, we employ the Gauss–curl hybrid wake model (King et al., 2021), with the deflection model of Bastankhah and Porté-Agel (2016), and the sum of squares freestream superposition (SOSFS) model of Katic et al. (1987). For all models, we use the FLORIS default parameters. The atmospheric conditions specified in Sects. 3.1 and 4.1 are matched by specifying a wind profile with a power law relationship (with a best-fitting exponent of 0.133) and turbulence intensity at the hub height as computed in the LES.

In terms of optimisation, the algorithm of choice is the FLORIS-default gradient-based sequential least squares programming (SLSQP) method (Kraft, 1988). In the farm layout optimisation, 100 different optimisations are independently conducted, each starting from different initial conditions. The SLSQP parameters ftol $={\mathrm{10}}^{-\mathrm{9}}$ and eps =0.01 are set following FLORIS recommendations (NREL, 2023). In the wake steering optimisation problem, the optimal yaw angles obtained in Gori et al. (2023) are set as initial conditions to avoid initialisation sensitivity issues. Furthermore, the SLSQP parameters ftol $={\mathrm{10}}^{-\mathrm{12}}$ and eps =0.05 are defined as suggested in Gori et al. (2023) for wake steering application on the Horns Rev wind farm.

The data that support this study are available upon reasonable request.

NB: conceptualisation, methodology, investigation, and writing (original draft). FG: investigation and writing (review and editing). AW: writing (review and editing). SL: writing (review and editing) and funding acquisition. LM: conceptualisation, writing (review and editing), and funding acquisition.

The contact author has declared that none of the authors has any competing interests.

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.

The authors would like to thank Christian Jané-Ippel for his work in the development of the flow solver. We also acknowledge use of the Cambridge Service for Data Driven Discovery (CSD3) system. Filippo Gori would like to acknowledge the Department of Aeronautics, Imperial College London, for supporting this work with a doctoral studentship.

Nikolaos Bempedelis has been supported by EPSRC grant no. EP/W026686/1. Sylvain Laizet has been supported by EPSRC grant nos. EP/W026686/1 and EP/Y005619/1. Luca Magri has been supported by grant nos. EP/W026686/1 and EP/Y005619/1, as well as ERC Starting Grant PhyCo (grant no. 949388) and the EU-PNRR Young Researcher TWIN ERC-PI_0000005. This research has also been supported by the UK Turbulence Consortium (grant nos. EP/R029326/1 and EP/X035484/1), which provided access to ARCHER2.

This paper was edited by Cristina Archer and reviewed by two anonymous referees.

Adaramola, M. and Krogstad, P.-Å.: Experimental investigation of wake effects on wind turbine performance, Renew. Energ., 36, 2078–2086, 2011. a

Allen, J., King, R., and Barter, G.: Wind farm simulation and layout optimization in complex terrain, J. Phys. Conf. Ser., 1452, 012066, https://doi.org/10.1088/1742-6596/1452/1/012066, 2020. a

Annoni, J., Bay, C., Johnson, K., Dall'Anese, E., Quon, E., Kemper, T., and Fleming, P.: Wind direction estimation using SCADA data with consensus-based optimization, Wind Energ. Sci., 4, 355–368, https://doi.org/10.5194/wes-4-355-2019, 2019. a

Antonini, E. G., Romero, D. A., and Amon, C. H.: Optimal design of wind farms in complex terrains using computational fluid dynamics and adjoint methods, Appl. Energ., 261, 114426, https://doi.org/10.1016/j.apenergy.2019.114426, 2020. a

Antonini, E. G. A., Romero, D. A., and Amon, C. H.: Continuous adjoint formulation for wind farm layout optimization: A 2D implementation, Appl. Energ., 228, 2333–2345, 2018. a, b, c

Asmuth, H., Korb, H., and Ivanell, S.: How Fast is Fast Enough? Industry Perspectives on the Use of Large-eddy Simulation in Wind Energy, J. Phys. Conf. Ser., 2505, 012001, https://doi.org/10.1088/1742-6596/2505/1/012001, 2023. a

Bartholomew, P., Deskos, G., Frantz, R. A. S., Schuch, F. N., Lamballais, E., and Laizet, S.: Xcompact3D: An open-source framework for solving turbulence problems on a Cartesian mesh, SoftwareX, 12, 100550, https://doi.org/10.1016/j.softx.2020.100550, 2020. a

Barthelmie, R. J., Hansen, K., Frandsen, S. T., Rathmann, O., Schepers, J. G., Schlez, W., Phillips, J., Rados, K., Zervos, A., Politis, E. S., and Chaviaropoulos, P. K.: Modelling and measuring flow and wind turbine wakes in large wind farms offshore, Wind Energy, 12, 431–444, 2009. a, b

Bastankhah, M. and Porté-Agel, F.: A new analytical model for wind-turbine wakes, Renew. Energ., 70, 116–123, 2014. a

Bastankhah, M. and Porté-Agel, F.: Experimental and theoretical study of wind turbine wakes in yawed conditions, J. Fluid Mech., 806, 506–541, 2016. a

Bastankhah, M. and Porté-Agel, F.: Wind farm power optimization via yaw angle control: A wind tunnel study, J. Renew. Sustain. Energ., 11, 023301, https://doi.org/10.1063/1.5077038, 2019. a, b

Bempedelis, N. and Magri, L.: Bayesian optimization of the layout of wind farms with a high-fidelity surrogate model, International Conference on Computational Science, Springer, 344–352, https://doi.org/10.1007/978-3-031-36027-5_26, 2023. a, b

Bempedelis, N. and Steiros, K.: Analytical all-induction state model for wind turbine wakes, Physical Review Fluids, 7, 034605, https://doi.org/10.1103/PhysRevFluids.7.034605, 2022. a, b

Bempedelis, N., Laizet, S., and Deskos, G.: Turbulent entrainment in finite-length wind farms, J. Fluid Mech., 955, A12, https://doi.org/10.1017/jfm.2022.1064, 2023. a, b

Binois, M. and Wycoff, N.: A survey on high-dimensional Gaussian process modeling with application to Bayesian optimization, ACM Transactions on Evolutionary Learning and Optimization, 2, 1–26, 2022. a

Bleeg, J. and Montavon, C.: Blockage effects in a single row of wind turbines, J. Phys. Conf. Ser., 2265, 022001, https://doi.org/10.1088/1742-6596/2265/2/022001, 2022. a

Blonigan, P. J. and Wang, Q.: Multiple shooting shadowing for sensitivity analysis of chaotic dynamical systems, J. Comput. Phys., 354, 447–475, 2018. a

Bokharaie, V. S., Bauweraerts, P., and Meyers, J.: Wind-farm layout optimisation using a hybrid Jensen–LES approach, Wind Energ. Sci., 1, 311–325, https://doi.org/10.5194/wes-1-311-2016, 2016. a, b

Calaf, M., Meneveau, C., and Meyers, J.: Large eddy simulation study of fully developed wind-turbine array boundary layers, Phys. Fluids, 22, 015110, https://doi.org/10.1063/1.3291077, 2010. a

Campagnolo, F., Petrović, V., Bottasso, C. L., and Croce, A.: Wind tunnel testing of wake control strategies, in: 2016 American Control Conference (ACC), IEEE, Boston, MA, USA, 6–8 July 2016, 513–518, https://doi.org/10.1109/ACC.2016.7524965, 2016. a

Chowdhury, S., Zhang, J., Messac, A., and Castillo, L.: Unrestricted wind farm layout optimization (UWFLO): Investigating key factors influencing the maximum power generation, Renew. Energ., 38, 16–30, 2012. a

Damiani, R., Dana, S., Annoni, J., Fleming, P., Roadman, J., van Dam, J., and Dykes, K.: Assessment of wind turbine component loads under yaw-offset conditions, Wind Energ. Sci., 3, 173–189, https://doi.org/10.5194/wes-3-173-2018, 2018. a

Deskos, G., Laizet, S., and Piggott, M. D.: Turbulence-resolving simulations of wind turbine wakes, Renew. Energ., 134, 989–1002, 2019. a

Deskos, G., Laizet, S., and Palacios, R.: WInc3D: A novel framework for turbulence-resolving simulations of wind farm wake interactions, Wind Energy, 23, 779–794, 2020. a, b

Duvenaud, D.: Automatic model construction with Gaussian processes, Ph.D. thesis, University of Cambridge, https://doi.org/10.17863/CAM.14087, 2014. a

Ennis, B. L., White, J. R., and Paquette, J. A.: Wind turbine blade load characterization under yaw offset at the SWiFT facility, J. Phys. Conf. Ser., 1037, 052001, https://doi.org/10.1088/1742-6596/1037/5/052001, 2018. a

Eriksson, D., Pearce, M., Gardner, J., Turner, R. D., and Poloczek, M.: Scalable global optimization via local Bayesian optimization, Adv. Neur. In., 32, 5496–5507, 2019. a

Fleming, P., Gebraad, P. M., Lee, S., van Wingerden, J.-W., Johnson, K., Churchfield, M., Michalakes, J., Spalart, P., and Moriarty, P.: Simulation comparison of wake mitigation control strategies for a two-turbine case, Wind Energy, 18, 2135–2143, 2015. a

Fleming, P., Annoni, J., Shah, J. J., Wang, L., Ananthan, S., Zhang, Z., Hutchings, K., Wang, P., Chen, W., and Chen, L.: Field test of wake steering at an offshore wind farm, Wind Energ. Sci., 2, 229–239, https://doi.org/10.5194/wes-2-229-2017, 2017. a

Fleming, P., King, J., Dykes, K., Simley, E., Roadman, J., Scholbrock, A., Murphy, P., Lundquist, J. K., Moriarty, P., Fleming, K., van Dam, J., Bay, C., Mudafort, R., Lopez, H., Skopek, J., Scott, M., Ryan, B., Guernsey, C., and Brake, D.: Initial results from a field campaign of wake steering applied at a commercial wind farm – Part 1, Wind Energ. Sci., 4, 273–285, https://doi.org/10.5194/wes-4-273-2019, 2019. a

Frandsen, S., Barthelmie, R., Pryor, S., Rathmann, O., Larsen, S., Højstrup, J., and Thøgersen, M.: Analytical modelling of wind speed deficit in large offshore wind farms, Wind Energy, 9, 39–53, 2006. a

Gebraad, P. M., Teeuwisse, F. W., Van Wingerden, J., Fleming, P. A., Ruben, S. D., Marden, J. R., and Pao, L. Y.: Wind plant power optimization through yaw control using a parametric model for wake effects – a CFD simulation study, Wind Energy, 19, 95–114, 2016. a

Goit, J. P. and Meyers, J.: Optimal control of energy extraction in wind-farm boundary layers, J. Fluid Mech., 768, 5–50, 2015. a

González, J., Dai, Z., Hennig, P., and Lawrence, N.: Batch Bayesian optimization via local penalization, in: Artificial Intelligence and Statistics, PMLR, 648–657, 2016. a

Gori, F., Laizet, S., and Wynn, A.: Sensitivity analysis of wake steering optimisation for wind farm power maximisation, Wind Energ. Sci., 8, 1425–1451, https://doi.org/10.5194/wes-8-1425-2023, 2023. a, b, c, d, e

Grady, S., Hussaini, M., and Abdullah, M. M.: Placement of wind turbines using genetic algorithms, Renew. Energ., 30, 259–270, 2005. a

Heck, K. S., Johlas, H. M., and Howland, M. F.: Modelling the induction, thrust and power of a yaw-misaligned actuator disk, J. Fluid Mech., 959, A9, https://doi.org/10.1017/jfm.2023.129, 2023. a, b

Herbert-Acero, J. F., Probst, O., Réthoré, P.-E., Larsen, G. C., and Castillo-Villar, K. K.: A review of methodological approaches for the design and optimization of wind farms, Energies, 7, 6930–7016, 2014. a

Howland, M. F., Lele, S. K., and Dabiri, J. O.: Wind farm power optimization through wake steering, P. Natl. Acad. Sci. USA, 116, 14495–14500, 2019. a

Huhn, F. and Magri, L.: Gradient-free optimization of chaotic acoustics with reservoir computing, Physical Review Fluids, 7, 014402, https://doi.org/10.1103/PhysRevFluids.7.014402, 2022. a, b, c

Jané-Ippel, C., Bempedelis, N., Palacios, R., and Laizet, S.: High-fidelity simulations of wake-to-wake interaction in an atmospheric boundary layer over a complex terrain, J. Phys. Conf. Ser., 2505, 012033, https://doi.org/10.1088/1742-6596/2505/1/012033, 2023. a

Jané-Ippel, C., Bempedelis, N., Palacios, R., and Laizet, S.: Bayesian optimisation of a two-turbine configuration around a 2D hill using Large Eddy Simulations, Wind Energy, in review, 2024. a

Jensen, N.: A note on wind generator interaction, Tech. Rep. RISO-M-2411, Risoe National Laboratory, Roskilde (Denmark), 1983. a

Katic, I., Højstrup, J., and Jensen, N.: A Simple Model for Cluster Efficiency, EWEC'86 Proceedings, 1, 407–410, 1987. a

Kheirabadi, A. C. and Nagamune, R.: A quantitative review of wind farm control with the objective of wind farm power maximization, J. Wind Eng. Ind. Aerod., 192, 45–73, 2019. a

King, J., Fleming, P., King, R., Martínez-Tossas, L. A., Bay, C. J., Mudafort, R., and Simley, E.: Control-oriented model for secondary effects of wake steering, Wind Energ. Sci., 6, 701–714, https://doi.org/10.5194/wes-6-701-2021, 2021. a, b

King, R. N., Dykes, K., Graf, P., and Hamlington, P. E.: Optimization of wind plant layouts using an adjoint approach, Wind Energ. Sci., 2, 115–131, https://doi.org/10.5194/wes-2-115-2017, 2017. a, b, c

Kirby, A., Briol, F.-X., Dunstan, T. D., and Nishino, T.: Data-driven modelling of turbine wake interactions and flow resistance in large wind farms, Wind Energy, 26, 968–984, 2023. a

Kraft, D.: A software package for sequential quadratic programming, Deutsche Forschungs- und Versuchsanstalt für Luft- und Raumfahrt Köln: Forschungsbericht, Wiss. Berichtswesen d. DFVLR, Vol. 88, 28 edn., 1988. a, b

Kusiak, A. and Song, Z.: Design of wind farm layout for maximum wind energy capture, Renew. Energ., 35, 685–694, 2010. a

Laizet, S. and Lamballais, E.: High-order compact schemes for incompressible flows: A simple and efficient method with quasi-spectral accuracy, J. Comput. Phys., 228, 5989–6015, 2009. a

Laizet, S. and Li, N.: Incompact3d: A powerful tool to tackle turbulence problems with up to 𝒪(10^{5}) computational cores, Int. J. Numer. Meth. Fl., 67, 1735–1757, 2011. a

Lin, M. and Porté-Agel, F.: Large-eddy simulation of yawed wind-turbine wakes: Comparisons with wind tunnel measurements and analytical wake models, Energies, 12, 4574, https://doi.org/10.3390/en12234574, 2019. a, b

Liu, D. C. and Nocedal, J.: On the limited memory BFGS method for large scale optimization, Math. Program., 45, 503–528, 1989. a

Mahfoze, O., Moody, A., Wynn, A., Whalley, R., and Laizet, S.: Reducing the skin-friction drag of a turbulent boundary-layer flow with low-amplitude wall-normal blowing within a Bayesian optimization framework, Physical Review Fluids, 4, 094601, https://doi.org/10.1103/PhysRevFluids.4.094601, 2019. a

Mosetti, G., Poloni, C., and Diviacco, B.: Optimization of wind turbine positioning in large windfarms by means of a genetic algorithm, J. Wind Eng. Ind. Aerod., 51, 105–116, 1994. a

Munters, W. and Meyers, J.: Dynamic strategies for yaw and induction control of wind farms based on large-eddy simulation and optimization, Energies, 11, 177, https://doi.org/10.3390/en11010177, 2018. a

NREL: FLORIS, Version 3.4, GitHub [code], https://doi.org/10.5281/zenodo.7942258, 2023. a, b, c

Our World in Data: Share of electricity production from wind, https://ourworldindata.org/grapher/share-electricity-wind, last access: 2 October 2022. a

O’Connor, J., Diessner, M., Wilson, K., Whalley, R. D., Wynn, A., and Laizet, S.: Optimisation and analysis of streamwise-varying wall-normal blowing in a turbulent boundary layer, Flow, Turbulence and Combustion, 110, 993–1021, 2023. a

Peschard, I. and Le Gal, P.: Coupled wakes of cylinders, Physical Review Letters, 77, 3122, https://doi.org/10.1103/PhysRevLett.77.3122, 1996. a

Porté-Agel, F., Bastankhah, M., and Shamsoddin, S.: Wind-turbine and wind-farm flows: a review, Bound.-Lay. Meteorol., 174, 1–59, 2020. a

Rasmussen, C. E. and Williams, C. K.: Gaussian processes for machine learning, MIT Press, ISBN 0-262-18253-X, 2006. a, b

Shakoor, R., Hassan, M. Y., Raheem, A., and Wu, Y.-K.: Wake effect modeling: A review of wind farm layout optimization using Jensen's model, Renew. Sustain. Energ. Rev., 58, 1048–1059, 2016. a

Simley, E., Fleming, P., Girard, N., Alloin, L., Godefroy, E., and Duc, T.: Results from a wake-steering experiment at a commercial wind plant: investigating the wind speed dependence of wake-steering performance, Wind Energ. Sci., 6, 1427–1453, https://doi.org/10.5194/wes-6-1427-2021, 2021. a

Smagorinsky, J.: General circulation experiments with the primitive equations: I. The basic experiment, Mon. Weather Rev., 91, 99–164, 1963. a

Speakman, G. A., Abkar, M., Martínez-Tossas, L. A., and Bastankhah, M.: Wake steering of multirotor wind turbines, Wind Energy, 24, 1294–1314, 2021. a, b

Stanley, A. P. J. and Ning, A.: Massive simplification of the wind farm layout optimization problem, Wind Energ. Sci., 4, 663–676, https://doi.org/10.5194/wes-4-663-2019, 2019. a

Steiros, K., Kokmanian, K., Bempedelis, N., and Hultmark, M.: The effect of porosity on the drag of cylinders, J. Fluid Mech., 901, R2, https://doi.org/10.1017/jfm.2020.606, 2020. a

Steiros, K., Bempedelis, N., and Ding, L.: Recirculation regions in wakes with base bleed, Physical Review Fluids, 6, 034608, https://doi.org/10.1103/PhysRevFluids.6.034608, 2021. a

Steiros, K., Bempedelis, N., and Cicolin, M.: An analytical blockage correction model for high-solidity turbines, J. Fluid Mech., 948, A57, https://doi.org/10.1017/jfm.2022.735, 2022. a

Steiros, K., Obligado, M., Bragança, P., Cuvier, C., and Vassilicos, J. C.: Turbulent shear flow without vortex shedding, Reynolds shear stress and small scale intermittency, J. Fluid Mech., in review, 2024. a

The GPyOpt authors: GPyOpt: A Bayesian Optimization framework in Python, GitHub [code], http://github.com/SheffieldML/GPyOpt (last access: 1 April 2024), 2016. a

Thomas, J. J., Annoni, J., Fleming, P. A., and Ning, A.: Comparison of wind farm layout optimization results using a simple wake model and gradient-based optimization to large eddy simulations, in: AIAA Scitech 2019 Forum, p. 0538, https://doi.org/10.2514/6.2019-0538, 2019. a

Veers, P., Dykes, K., Lantz, E., Barth, S., Bottasso, C. L., Carlson, O., Clifton, A., Green, J., Green, P., Holttinen, H., Laird, D., Lehtomäki, V., Lundquist, J. K., Manwell, J., Marquis, M., Meneveau, C., Moriarty, P., Munduate, X., Muskulus, M., Naughton, J., Pao, L., Paquette, J., Peinke, J., Robertson, A., Sanz Rodrigo, J., Sempreviva, A. M., Smith, J. C., Tuohy, A. and Wiser, R.: Grand challenges in the science of wind energy, Science, 366, eaau2027, https://doi.org/10.1126/science.aau2027, 2019. a

Veers, P., Dykes, K., Basu, S., Bianchini, A., Clifton, A., Green, P., Holttinen, H., Kitzing, L., Kosovic, B., Lundquist, J. K., Meyers, J., O'Malley, M., Shaw, W. J., and Straw, B.: Grand Challenges: wind energy research needs for a global energy transition, Wind Energ. Sci., 7, 2491–2496, https://doi.org/10.5194/wes-7-2491-2022, 2022. a

Wang, Q.: Forward and adjoint sensitivity computation of chaotic dynamical systems, J. Comput. Phys., 235, 1–13, 2013. a

WindESCo: WindESCo delivers wind industry's first major wake steering installation, https://www.windesco.com/blog/windesco-delivers-wind-industrys-first-major-wake-steering-installation, last access: 23 July 2023. a

Wu, Y.-T. and Porté-Agel, F.: Modeling turbine wakes and power losses within a wind farm using LES: An application to the Horns Rev offshore wind farm, Renew. Energ., 75, 945–955, 2015. a, b

Zong, H. and Porté-Agel, F.: Experimental investigation and analytical modelling of active yaw control for wind farm power optimization, Renew. Energ., 170, 1228–1244, 2021. a, b, c, d

^{1}

By “long term” we mean after many Lyapunov times.

^{2}

https://github.com/xcompact3d (last access: 10 April 2024)

^{3}

In reality, accurate and robust estimation of the wind direction poses a significant challenge (Annoni et al., 2019).

- Abstract
- Introduction
- Methodology
- Layout optimisation (micro-siting)
- Wake steering (yaw angle optimisation)
- Conclusions
- Appendix A: Computational cost
- Appendix B: Low-order modelling and optimisation
- Data availability
- Author contributions
- Competing interests
- Disclaimer
- Acknowledgements
- Financial support
- Review statement
- References

- Abstract
- Introduction
- Methodology
- Layout optimisation (micro-siting)
- Wake steering (yaw angle optimisation)
- Conclusions
- Appendix A: Computational cost
- Appendix B: Low-order modelling and optimisation
- Data availability
- Author contributions
- Competing interests
- Disclaimer
- Acknowledgements
- Financial support
- Review statement
- References