the Creative Commons Attribution 4.0 License.
Special issue: Wind Energy Science Conference 2019
Research article 13 Jul 2020
Research article  13 Jul 2020
Realtime optimization of wind farms using modifier adaptation and machine learning
 Department of Engineering Cybernetics, Norwegian University of Science and Technology, 7491 Trondheim, Norway
 Department of Engineering Cybernetics, Norwegian University of Science and Technology, 7491 Trondheim, Norway
Correspondence: Leif Erik Andersson (leif.e.andersson@ntnu.no)
Hide author detailsCorrespondence: Leif Erik Andersson (leif.e.andersson@ntnu.no)
Coordinated wind farm control takes the interaction between turbines into account and improves the performance of the overall wind farm. Accurate surrogate models are the key to modelbased wind farm control. In this article a modifier adaptation approach is proposed to improve surrogate models. The approach exploits plant measurements to estimate and correct the mismatch between the surrogate model and the actual plant. Gaussian process regression, which is a probabilistic nonparametric modeling technique, is used in the identification of the plant–model mismatch. The efficacy of the approach is illustrated in several numerical case studies. Moreover, challenges in applying the approach to a real wind farm with a truly dynamic environment are discussed.
Currently wind turbines in a wind farm are operated to maximize their power production and minimize the loads on their structure and power electronics. The impact on the downstream turbines due to wake interactions is ignored. Such a control strategy is called greedy since it only focuses on the operation of an individual wind turbine. It is expected that a wind farm control strategy that takes the interaction between turbines into account can improve the overall performance of the wind farm (Steinbuch et al., 1988; Johnson and Thomas, 2009; Barthelmie et al., 2009).
The two main wind farm control strategies are axial induction control and wake steering (Kheirabadi and Nagamune, 2019). The idea behind axial induction control is for the blade pitch and generator torque of the upwind turbine to deviate from the greedy control settings. As a consequence, the velocity deficit in the wake behind the turbine decreases. The target net effect is an overall increase in the power production and possibly a decrease in fatigue loads. However, evaluating wind tunnel experiments (Campagnolo et al., 2016; Bartl and Sætran, 2016), highfidelity simulations (Annoni et al., 2016) and field tests (van der Hoek et al., 2019), it is suggested that axial induction control using steadystate surrogate models to calculate the optimal control settings may be unable to improve the power production of a wind farm.
Currently the more promising wind farm control strategy using steadystate surrogate models is wake steering. The goal of wake steering is to deflect the wake away from the downwind turbine by using the yaw settings of the upwind turbine (Kheirabadi and Nagamune, 2019). Field experiments showing encouraging results were conducted by Fleming et al. (2017, 2019) and Howland et al. (2019). In these experiments lookup tables with optimal yaw settings depending on the wind conditions were created using steadystate models. The lookup tables were not updated using plant measurements. Therefore, these approaches can be seen as openloop.
The steadystate surrogate models must be not only simple to allow optimization but also accurate to permit good performance of the modelbased controller. The development of surrogate models is an active research field. One of the most popular wake models is the Jensen Park model (Jensen, 1983; Katic et al., 1987). Jiménez et al. (2010) developed one of the first steadystate wake models that described wake deflection due to yaw. A recent wake model, which is also used in this study, was presented by Bastankhah and PortéAgel (2016). It is based on mass and momentum conservation and assumes a Gaussian distribution of the velocity deficit in the wake. Other extensions to the Jensen Park model were presented by Park and Law (2015), who assumed an inverted Gaussian function of the wake profile; Tian et al. (2015), who used a cosine shape function; and Ge et al. (2019), who analytically derived a Gaussianshape velocity profile. The steadystate wake models are able to describe the general behavior of the wake (Barthelmie et al., 2013; Annoni et al., 2014). Nevertheless, they are just vague approximations of a complex phenomenon that is, in fact, not well understood (Veers et al., 2019).
Modelfree methods using extremumseeking (Johnson and Fritsch, 2012; Ciri et al., 2017) or gametheoretic methods (Marden et al., 2013; Gebraad et al., 2013) have been proposed to circumvent possible errorprone models in the control of wind farms. However, these methods suffer from slow convergence. Park et al. (2016, 2017) suggested using a Bayesian ascent (BA) algorithm fitting a Gaussian process (GP) regression to input–output data of the plant. A new datadriven surrogate model was created. In Doekemeijer et al. (2019a) the upstream wind velocity and turbulence intensity in the FLORIS model are first estimated from the data. The improved FLORIS model is then used in Bayesian optimization to find a GP surrogate model and optimal yaw angles of the turbines in the wind farm. Another datadriven surrogate model, using polynomial chaos expansion, was presented by Hulsman et al. (2020). Estimating the model parameters of the surrogate model to improve closedloop control was proposed by Doekemeijer et al. (2019b). However, if the parametric model is structurally incorrect, parameter estimation is not able to remove the mismatch between surrogate model and the plant. An example in which an improved parameterization of a surrogate model was not able to remove the mismatch between a loworder model and a highfidelity model is given in Fleming et al. (2018). Therefore, a twostep approach iteratively optimizing the plant and updating the model parameter of the surrogate model as plant measurements become available was not pursued here.
Instead, in this article a modifier adaptation (MA) approach (Marchetti et al., 2016) to wind farm control is proposed. The plant–model mismatch is identified by exploiting plant measurements, and the surrogate model is improved. In the identification of the plant–model mismatch GP regression is used. GP is a probabilistic, nonparametric modeling technique well known in the machine learning community (Rasmussen and Williams, 2006). The advantage of using GP regression in MA is that it is not bounded by specific model structures as in, e.g., parametric models. Consequently, the MA–GP approach is able to correct the surrogate model in a flexible manner (de Avila Ferreira et al., 2018) and improve the performance of the wind farm controller.
The article is structured as follows: in Sect. 2 the optimization problem is formulated. In Sect. 3 the modifier adaptation using Gaussian process regression is presented and the numerical turbine and wake models are introduced. The approach is tested numerically in Sect. 4. Section 5 discusses the application of the MA–GP approach to real wind farms. The article ends with a conclusion.
Modelbased wind farm optimization usually employs a steadystate surrogate model. Consequently, a plant–model mismatch exists, which can degrade the performance of a controller. In this article, we study the optimization problem of optimizing the power production, noting that the approach in general can handle different objective functions. The optimization problem can be formulated where $\mathbf{u}\in {\mathbb{R}}^{{n}_{u}}$ denotes the plant input variables, which are the axial induction factors and yaw angles of each turbine; ${P}_{\mathrm{p}}:{\mathbb{R}}^{{n}_{u}}\times {\mathbb{R}}^{{n}_{y}}\to \mathbb{R}$ is the power production to be maximized; and $\mathcal{U}\subseteq {\mathbb{R}}^{{n}_{u}}$ is the control domain, e.g., box constraints on the control inputs.
The challenge of optimizing the power production of a wind farm is that only an approximate surrogate model of the plant is available. Consequently, it is not guaranteed that the optimal point of the surrogate model coincides with the optimal point of the plant. MA treats this challenge by directly adapting the optimization problem using plant measurement to allow convergence to the overall plant optimum (Marchetti et al., 2009). The standard MA adds firstorder modifiers to correct the gradient of the surrogate model. However, the estimation of the plant gradients in each iteration is experimentally expensive and the main bottleneck of the MA implementation in practice (Marchetti et al., 2016). In this article, GPs are used instead to correct the surrogate model (de Avila Ferreira et al., 2018) and, by this, alleviate the limitation of MA. The next section gives a brief introduction to GPs, before the new optimization problem of the MA–GP approach is stated.
In this section the modifier adaptation approach with Gaussian processes for wind farm control is introduced in Sect. 3.1 and 3.2. Thereafter, in Sect. 3.3, the turbine and wake models used in the case study are explained.
3.1 Gaussian processes
In this section we give a brief outline of GP regression; for more information consult Rasmussen and Williams (2006). GP regression identifies an unknown function $f:{\mathbb{R}}^{{n}_{u}}\to \mathbb{R}$ from data. It is assumed that the noisy observations of f(⋅) are given by
where the value f(⋅) is perturbed by Gaussian noise ν_{k} with zero mean and variance ${\mathit{\sigma}}_{\mathit{\nu}}^{\mathrm{2}}$, ν_{k}∼𝒩(0, ${\mathit{\sigma}}_{\mathit{\nu}}^{\mathrm{2}})$.
In GP regression, f(⋅) is considered a distribution over functions. In this paper, we assume this distribution has a zero mean function and the squaredexponential (SE) covariance function. The choice of the mean and covariance functions assumes a certain smoothness and continuity properties of the underlying function (Snelson and Ghahramani, 2006), which seems to be a good fit for the plant–model mismatch of the surrogate model. The SE covariance function can be expressed as follows:
where ${\mathit{\sigma}}_{f}^{\mathrm{2}}$ is the covariance magnitude and $\mathbf{\Lambda}=\mathrm{diag}({\mathit{\lambda}}_{\mathrm{1}}^{\mathrm{2}}$, …, ${\mathit{\lambda}}_{{n}_{u}}^{\mathrm{2}})$ is a scaling matrix.
Due to the GP assumption the predictive distribution of f(u) at an arbitrary input u given the training data set 𝒟={U, Y} has a closedform solution. The resulting mean μ_{GP}(u; 𝒟, $\widehat{\mathit{\psi}})$ can be seen as the GP prediction at u and the variance ${\mathit{\sigma}}_{\mathrm{GP}}^{\mathrm{2}}(\mathbf{u}$; 𝒟, $\widehat{\mathit{\psi}})$ as a corresponding measure of uncertainty to this prediction.
The performance of the GP is dependent on hyperparameters $\widehat{\mathit{\psi}}$. They are commonly unknown and hence need to be inferred from data. In this article the maximum likelihood estimate is used to calculate the hyperparameters. Finally, we note that the training data are explicitly required to construct the predictive distribution. For this a matrix of size M×M must be inverted, where M is the number of measurements. Clearly, this makes large data sets challenging.
3.2 Modifier adaptation with Gaussian processes
In the MA–GP approach the limitations of standard MA are overcome by replacing the modifiers with GPs (de Avila Ferreira et al., 2018). As a result, estimating the plant gradients (modifiers) in each iteration is avoided, at the cost of instead updating the GP. The optimization problem of the MA–GP approach becomes
where the plant–model mismatch of the cost function is modeled by μ_{GP}. The training set 𝒟 of the GP comprises the control inputs of the wind farm and the difference in the power production between surrogate model and plant measurements.
The MA–GP approach for wind farm optimization is visualized in Fig. 1. The power output of the surrogate model is subtracted from the noisy power measurements of the plant. The difference in power production and the control inputs creates the data set, which is used in the GP training to estimate the hyperparameters. A initial training set is required before initializing the MA–GP approach. In the plant optimization the surrogate model is corrected by the GP regression model, which uses the current data set and hyperparameters. The new optimal control input is applied to the wind farm. The MA–GP approach is a closedloop control approach to wind farm optimization.
In Algorithm 1 two additional steps are included in the MA–GP scheme:

The new optimal control input is filtered with
$$\begin{array}{}\text{(4)}& \begin{array}{rl}& {\mathbf{u}}_{k+\mathrm{1}}={\mathbf{u}}_{k}+\mathbf{L}\left({\widehat{\mathbf{u}}}_{k+\mathrm{1}}{\mathbf{u}}_{k}\right),\\ & \mathbf{L}=\mathrm{diag}\left({l}_{\mathrm{1}},\phantom{\rule{0.125em}{0ex}}\mathrm{\dots},\phantom{\rule{0.125em}{0ex}}{l}_{{n}_{u}}\right),\phantom{\rule{0.25em}{0ex}}{l}_{i}\in (\mathrm{0},\mathrm{1}].\end{array}\end{array}$$In the basic MA approach filtering the control input prevents excessive corrections. In the MA–GP approach it permits exploration around the optimal point.

The hyperparameters are only updated when HypOpt is true, which is a userdefined condition. The hyperparameter update is usually the computational bottleneck of the MA–GP algorithm. We observed that especially for large data sets the hyperparameters do not change much from one iteration to the next. Therefore, the hyperparameters can be updated less frequently to decrease computational delay. However, it is recommend to update the hyperparameters as often as possible.
In the next subsection the turbine and wake models used in the case study are presented.
3.3 Numerical turbine and wake models
Turbine and wake models are necessary for creating a model of a wind farm. The wind turbines are represented using the actuator disk theory, which couples the power and thrust coefficient, C_{P} and C_{T} (Burton et al., 2011):
where a is the axial induction factor. The axial induction factor indicates the ratio of wind velocity reduction at the turbine disk compared to the upstream wind velocity. The steadystate power of each turbine under yaw misalignment is given by (Gebraad et al., 2016)
where A is the rotor area, ρ the air density, p a correction factor and v the wind velocity. In actuator disk theory p=3 (Burton et al., 2011). However, based on largeeddy simulations, the turbine power yaw misalignment has been shown to match the output when p=1.88 for the NREL 5 MW turbine (Annoni et al., 2018), which we will use in this article. In the numerical study it will be important to implement both a “plant” and a model, which are different from each other. The actuator disk model will be referred to as the plant turbine model. A second adjusted actuator disk turbine model is created, which will be referred to as the approximate turbine model. The FLORIS toolbox (NREL, 2019) contains a table with wind velocities and corresponding thrust and power coefficients of the NREL 5 MW turbine. These data are fitted to create the approximate turbine model. The equation for the thrust coefficient C_{T} is given by Eq. (6), while for the power coefficient C_{P} three new parameters are identified resulting in
The approximate turbine model fit is visualized in Fig. 2. Important in the numerical example is the different connection between thrust and power coefficients of the plant and approximate turbine model (Fig. 2b). For the turbine dimensions the NREL 5 MW wind turbine is used (Jonkman et al., 2009). Consequently, the rotor diameter is D=126.4 m and the hub height H_{H}=90 m.
The Gaussian wake model by Bastankhah and PortéAgel (2014, 2016) is used to model the flow in the wind farm. The threedimensional steadystate farwake velocity deficit is Gaussian distributed and can be estimated by
where z_{h} is the tower height, δ is the wake deflection, and σ_{y} and σ_{z} are the wake widths in lateral and vertical directions. An important variable for the model is the skew angle of the flow past a yawed turbine. The flow skew angle is approximated by
where α_{1} is a parameter. Bastankhah and PortéAgel (2016) use α_{1}=0.3 and NREL (2019) uses α_{1}=0.6 to better fit highfidelity observations. We will use the Gaussian wake model with α_{1}=0.3 as the approximate wake model and with α_{1}=0.6 as the plant wake model.
In the next section the case study using the MA–GP approach and the turbine and wake models presented here are discussed.
In this section numerical results of the MA–GP approach are presented. The control inputs of the wind farms are the yaw angles γ_{i} and the thrust coefficients C_{T,i} of each turbine. Hence, the wind farm has 2N control inputs, where N is the number of wind turbines. The objective of the optimization is to maximize the power production ${P}_{\mathrm{tot}}=\sum _{i}{P}_{i}$ of the wind farm. The relative error in the power production is given by
where ${P}_{\mathrm{p}}^{*}$ is the optimal power production of the plant and ${\widehat{P}}_{\mathrm{p}}$ is the power production achieved by the MA–GP approach. The control inputs are constrained by box constraints with
The yaw angles γ_{i} are constrained to positive yaw angles since the Gaussian wake model is symmetric. Asymmetry as in a real wind farm is not represented in the models used in this article. If the MA–GP approach were applied to a real wind farm, it would be unnecessary to constrain the yaw angle to positive angles since the MA–GP approach would automatically converge to the superior yaw rotation.
The approximate turbine and wake models are used as the approximate model, while the plant turbine and wake models are used as the plant model. In the MA–GP approach only measurements of the total power output of the wind farm are used. The hyperparameter optimization is performed using the MATLAB optimization toolbox and the nonlinear programming solver fmincon. For the optimization of the control inputs of the wind farm the opensource software tool CasADi (Andersson et al., 2019) is used. CasADi is a symbolic framework that provides gradients using algorithmic differentiation. The software package Ipopt is used as a solver for the nonlinear program (Wächter and Biegler, 2006).
In the following, three different wind farms are discussed:

two turbines, in which only the upstream turbine is controlled (Sect. 4.1);

a row of turbines, in which all turbines are controlled (Sect. 4.2);

a grid of turbines, in which all turbines are controlled (Sect. 4.3).
An overview of the case studies discussed in the following sections is given in Table 1.
4.1 Twoturbine case
The operating points of two turbines in a row are optimized. The thrust and yaw angle of the downwind turbine are fixed resulting in only two optimization variables in the MA–GP approach. The downwind turbine is operated at its greedy operation point. The turbine row is facing the wind and the spacing between turbines is 5 D. The power production of the wind farm in dependency of the control inputs of the upwind turbine in shown in Fig. 3. The optimal operation point of the plant is ${C}_{\mathrm{T},\mathrm{p}}=\mathrm{0.82}$ and γ_{p}=31^{∘} and of the approximate model is ${C}_{\mathrm{T},\mathrm{p}}=\mathrm{0.89}$ and γ_{p}=29^{∘}. Indeed, the relative optimization error in the model is only Θ=1.67 %. Still, the model assumes that the power production is much less sensitive to changes in the yaw angle, which should be corrected by the MA–GP approach.
Four training points at C_{T}=[0.4, 0.8]^{T} and γ=[0, 25^{∘}]^{T} are used to create the initial training set of the GP regression model. The power production of the corrected model in dependency on the control inputs is shown in Fig. 4a. The contour plot of the objective function of the plant, approximate model and MA–GP model after the initial training is shown in Fig. 4b. Clearly four operating points are not sufficient to correct the approximate model correctly. In fact, the optimal operating point of the MA–GP model has an error of 2.87 %, which is larger than the original error in the approximate model.
The MA–GP approach is initialized at the optimal operating point of the approximate model. In each iteration the hyperparameters and the data set of the GP regression model are updated. The new operating point is filtered with Eq. (4) and L=diag(0.4, 0.4). The MA–GP approach is able to correct the approximate model and drive the process to its optimal operating point (Fig. 5). After four iterations the relative error Θ is about 0.2 %, and after 10 iterations it is 0.0009 %. In addition, the contour lines of the objective function are well approximated (Fig. 5). A larger difference between the MA–GP model and the plant can be observed at the edges away from the current operating points. Data points at the edges are necessary to improve the identification there. However, to drive the process to its optimal operating points a correct identification of the objective function far away from the maximum is unnecessary. Clearly the initial training set with only four operating points could be increased to improve the identification of the initial model of the MA–GP approach.
In the current example it was assumed that the measurements are noisefree. If noise is added to the power measurements, the correct identification becomes more challenging and a larger training data set is necessary. A noise with a standard deviation of 50 kW is added to the measurement, which in the current setup translates to a turbulence intensity of about 3 %. The standard deviation is of the same size as the error in the power production of the plant and approximate model at the optimal operating point of the plant. A training data set of 20 points is created. After 10 iterations the relative error Θ is about 0.6 %. The algorithm is able to converge. However, due to the measurement noise a small error remains after 10 iterations. The error can be easily decreased with a larger initial data set; e.g., with a training set of 30 points the error after 10 iterations is about 0.35 %.
4.2 The n turbine row case
In this subsection the optimization of n turbines aligned in a row with a spacing of 5 D is discussed. It is difficult to know the required size of the training set for a satisfying performance of the MA–GP approach a priori. It depends on the sensitivity of the output to the input variables. It is, however, recommended to have about 10 training points for each input (Loeppky et al., 2009). Therefore, the size of the initial training set is chosen to be n_{d}=10n_{u}, where n_{u} is the number of control inputs. The operating points of the training set are chosen randomly using Latin hypercube sampling. The convergence of the MA–GP algorithm is tested on 25 Monte Carlo simulations. The difference between each run is the initial training set.
The error increases with the number of turbines, while it is almost zero for two to four turbines (Fig. 6). A reason for the increase in the error with more turbines is the similar sensitivity of the control inputs of each turbine to the power output of the plant. It makes it challenging to correctly identify the input–output map. The error can be decreased with more data in the training set. Currently, the optimization of the process and the optimization of the hyperparameters take less than a second even for the 10turbine case. Consequently, it is possible to increase the size of the training data set for the GP regression if more data points are available.
Assuming a sufficiently large initial training set, the MA–GP approach is able to find the nearoptimal point in one iteration since the approach basically just improves the surrogate model. This stands in contrast to purely modelfree approaches, e.g., extremum seeking (Johnson and Fritsch, 2012) or maximum power point tracking (Gebraad et al., 2013), which usually need several iterations to find an optimum. Moreover, after the initial training, the MA–GP model usually represents the plant better than the approximate model. Nonetheless, measurements close to the optimum of the MA–GP model can help to improve the model further.
4.3 The n×n turbine grid case
In this subsection the optimization of a wind farm with turbines arranged in an n×n grid with a spacing of 5 D is presented. Consequently, the wind farm consist of n turbine rows each containing n turbines. The wind direction is aligned with the rows of the grid. Interaction between parallel rows is neglectable, and is, in any case, not known to the MA–GP approach. Again the size of the initial training set is chosen to depend linearly on the number of control inputs with n_{d}=10n_{u} and the MA–GP approach is tested on 25 Monte Carlo simulations.
Again the algorithm converges for a small number of turbines (Fig. 7a). However, the error in the optimization increases as the number of turbines increase. Moreover, for grids with 25 and more turbines the majority of the optimizations become stuck at the initial conditions, which are defined by the optimal operation point of the model (Fig. 6b)^{1}. This behavior might be caused by overfitting causing multiple local optima in the MA–GP model. Moreover, even in the cases where the MA–GP approach improves the performance of the wind farm, the algorithm converges to errors in the range of 1 %–2 % after 25 iterations. These are much larger than observed in the turbine row case.
If the MA–GP algorithm for larger wind farms converges to an optimum, it usually first takes a few iterations, where the wind farm is operated at the optimal point of the approximate model, before the error reduction begins. Obviously the algorithm needs the additional information around the operating point. Interestingly, once the algorithm actually leaves the initial operating point, it converges relatively quickly to an operating point close to the plant optimum. This is a strong indication that exploration or even just small excitation around an operating point should be activated if the operating point does not change for some time.
A reason for the increase in the error in larger wind farms is the decrease in the sample density. The size of the initial training set is increased linearly, while it would have to increase exponentially to preserve the same sampling density. For the wind farm with 100 wind turbines and the current setup, the hyperparameter optimization usually takes about 15 s. In some rare cases it took about 5 min. In these cases the optimizer was not able to converge to an optimum and the maximum number of allowed iterations were used. The plant optimization takes less than 10 s. Consequently, the size of the data set is not a limiting factor in improving the performance of the larger wind farms.
The increase in the initial training set improves the convergence of the method (Fig. 7b). Nevertheless, even with the larger size of the initial training set, it is challenging to converge to the correct optimum point for cases with a large input space. A larger training set would be necessary for these cases. On the other hand, the training of the hyperparameters in the GP regression scales cubically with the number of data. Obviously this ultimately limits the size of the training set since the approach can become computationally infeasible.
Nonetheless, the results show clearly that the MA–GP approach is able to improve the performance of the modelbased optimization for some of the cases. It is not clear how the initial data sets differ for these successful cases. However, it is expected that a large number of operation points can be excluded from the initial training set of the GP regression since it is known from the model that they are far away from the optimum operating point. Currently, the initial training set is chosen randomly by Latin hypercube sampling. A smarter selection with a larger density of points around the optimal operating point of the model may improve the MA–GP approach without increasing the initial data set.
In the next section the practical implications of the MA–GP approach are discussed.
In this section an outlook on how to apply the MA–GP approach to a real wind farm is given. It is beyond this article to solve all the associated challenges.
A major challenge is the dynamic environment a wind farm operates in. Averaging and filtering is required to approximate steadystate conditions. In a nineturbine largeeddy simulation (LES) study presented in Andersson et al. (2020c)^{2}, 5 min averaging is used. A longer averaging horizon will make the MA–GP more robust since the variance in the data decreases. A too long averaging horizon will reduce the performance since the plant response is delayed and averaged. Moreover, measurement and input noise can degrade the performance of the adaptation. The negative influence of input and measurement noise can be reduced by a larger training data set.
Another challenge is the wake propagation delay. In the LES study the first 5 min after a change in the control inputs is discarded to remove the transients. A similar approach might be necessary in a real wind farm. A wake propagation through the entire farm is not necessary. Depending on the measurements noise level it suffices to include the interaction of about two to three turbines (Andersson et al., 2020a).
The sensitivity of the input–output map can be increased by including the power measurements of each turbine and identifying a multipleinput multipleoutput model. It is shown in Andersson et al. (2020a) that this can help to decrease the necessary size of the training data set and improve the performance of the MA–GP approach for large wind farms. In addition, the wind farm could be separated into subsets. The separation would depend on the turbines' interaction considering a range of wind directions, e.g., a wind farm as presented in Sect. 4.3 could be separated into several subsets for each of the wind directions around 0, 45, 90, 135, 180, 225, 270 and 315^{∘}.
For a real wind farm the minimum training set should contain wind velocity, wind direction, the control inputs and the plant–model error in the power outputs of each turbine. The inclusion of other variables, e.g., the turbulence intensity, depends highly on the sensitivity of the variable to the plant–model mismatch of the power productions. Their effect should be larger than the effect of the input noise of the wind. Otherwise, it is not recommended to include them in the MA–GP approach.
Atmospheric conditions that considerably change the response of the wind farm could be handled by a multimodel approach. The model error for each atmospheric condition is identified using a separate model. The multimodel approach can also be used to estimate the current atmospheric conditions. If the atmospheric conditions are not considered explicitly in the MA–GP approach the response of the wind farm will be averaged over the atmospheric conditions. In fact, this happens to every variable that is not explicitly considered. On the other hand, the MA–GP approach automatically adapts to constant effects, e.g., terrain effects.
It is important to point out that the MA–GP approach supplements modelbased wind farm control. It is still beneficial to have a good wind farm model even though theoretically the MA–GP approach can work with a poor wind farm model. Moreover, the initial training set of the MA–GP approach can be generated by a highfidelity model. In that case the MA–GP approach would initially reduce the error between the surrogate and highfidelity model, which should improve the performance of the wind farm controller. During operation the initial data set can be gradually replaced by real measurements. The GP allows for the weighting of different training sets, which should be used when working with two different training sets. Moreover, during operation the data set should be updated, continuously replacing old data points with new ones.
The initial synthesis of the MA–GP approach can be similar to the approach presented in Doekemeijer et al. (2020):

create training data set using highfidelity simulations;

estimate the model parameters of the approximate model using highfidelity data;

identify a model of the plant–model mismatch of the approximate and highfidelity model using GPs.
If during operation the freestream wind velocity or the turbulence intensity are also estimated, only the approximate model without the MA–GP correction should be used to avoid a feedback of the identified model into the training set.
The modifier adaptation approach with Gaussian processes applied to wind farm control is presented. It is a realtime optimization strategy, which corrects the approximate model used in the optimization by using plant measurements. In the wind farm case the total power production is assumed to be measured and used in the MA–GP approach. The approach works well for small input spaces. Here the GP regression is able to correct the model almost perfectly. Consequently, operating points very close to the real optimum are found in the optimization. For larger input spaces, on the other hand, the error increases. Moreover, for the gridtype wind farm layout with more than 25 turbines, convergence with the relatively small initial training sets used in this work could not be achieved at all times.
The MA–GP approach has similarities with Bayesian optimization (BO). Park et al. (2016, 2017) applied BO successfully in wind tunnel tests, and we expect the MA–GP approach to behave similarly. In Sect. 5 several possible future investigations to make the MA–GP approach applicable to real wind farms were pointed out. The performance of large wind farms can be improved by the multiple input and multiple output approach and subset separation. In addition the following ideas can be tested:

Increase the training set until it becomes computationally unfeasible to increase the training set further.

Choose the training data points in a smarter way such that they provide enough information about the regions around the expected optimum. Operating points far away from the expected optimum are excluded.

Extend the algorithm with an exploration part. This can be achieved, for example, by including the variance in the GP regression model in the optimization.
An important investigation is the sensitivity of the approach to measurements, input noise and time delays. In Andersson et al. (2020b) a simple way to include input noise explicitly in the MA–GP approach is presented. Finally, the model identification should be tested on highfidelity and real data. A preliminary study on a nineturbine wind farm case using data from the highfidelity simulator SOWFA (Churchfield et al., 2012) will be presented in Andersson et al. (2020c).
The article works with numerical data, which are of minor value. The algorithms used in the article are currently not available in any repository. The corresponding author can be contacted if help is needed to implement the presented algorithms.
LEA compiled the literature review, performed numerical simulations, postprocessed the data and wrote the article. LI helped formulate the methodology used in the article and participated in the structuring and reviewing of the article.
The authors declare that they have no conflict of interest.
This article is part of the special issue “Wind Energy Science Conference 2019”. It is a result of the Wind Energy Science Conference 2019, Cork, Ireland, 17–20 June 2019.
This research has been supported by Norges Forskningsråd and the industrial partners of OPWIND – Operational Control for Wind Power Plants (grant no. 268044/E20).
This paper was edited by Carlo L. Bottasso and reviewed by Bart M. Doekemeijer and one anonymous referee.
Andersson, J. A. E., Gillis, J., Horn, G., Rawlings, J. B., and Diehl, M.: CasADi – A software framework for nonlinear optimization and optimal control, Math. Program. Comput., 11, 1–36, https://doi.org/10.1007/s1253201801394, 2019. a
Andersson, L. E., Bradford, E. C., and Imsland, L.: Distributed learning and wind farm optimization with Gaussian processes, in: American Control Conference (ACC), online conference, accepted, 2020a. a, b
Andersson, L. E., Bradford, E. C., and Imsland, L.: Gaussian processes modifier adaptation with uncertain inputs using distributed learning and optimization on a wind farm, in: IFAC World congress 2020, 11–17 July 2020, Berlin, Germany, accepted, 2020b. a
Andersson, L. E., Doekemeijer, B., van der Hoek, D., van Wingerden, J.W., and Imsland, L.: Adaptation of Engineering Wake Models using Gaussian Process Regression and HighFidelity Simulation Data, arXiv preprint: arXiv:2003.13323, 2020c. a, b
Annoni, J., Seiler, P., Johnson, K., Fleming, P., and Gebraad, P.: Evaluating wake models for wind farm control, in: 2014 American Control Conference, 4–6 June 2014, Portland, Oregon, USA, 2517–2523, https://doi.org/10.1109/ACC.2014.6858970, 2014. a
Annoni, J., Gebraad, P. M., Scholbrock, A. K., Fleming, P. A., and v. Wingerden, J.W.: Analysis of axialinductionbased wind plant control using an engineering and a highorder wind plant model, Wind Energy, 19, 1135–1150, 2016. a
Annoni, J., Fleming, P., Scholbrock, A., Roadman, J., Dana, S., Adcock, C., PorteAgel, F., Raach, S., Haizmann, F., and Schlipf, D.: Analysis of controloriented wake modeling tools using lidar field results, Wind Energ. Sci., 3, 819–831, https://doi.org/10.5194/wes38192018, 2018. 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
Barthelmie, R. J., Hansen, K. S., and Pryor, S. C.: Meteorological controls on wind turbine wakes, Proc. IEEE, 101, 1010–1019, 2013. a
Bartl, J. and Sætran, L.: Experimental testing of axial induction based control strategies for wake control and wind farm optimization, J. Phys.: Conf. Ser., 753, 032035, https://doi.org/10.1088/17426596/753/3/032035, 2016. a
Bastankhah, M. and PortéAgel, F.: A new analytical model for windturbine wakes, Renew. Energy, 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, b, c
Burton, T., Jenkins, N., Sharpe, D., and Bossanyi, E.: Wind energy handbook, John Wiley & Sons, Chichester, UK, 2011. a, b
Campagnolo, F., Petrović, V., Bottasso, C. L., and Croce, A.: Wind tunnel testing of wake control strategies, in: IEEE American Control Conference (ACC), 6–8 July 2016, Boston, Massachusetts, USA, 513–518, 2016. a
Churchfield, M. J., Lee, S., Michalakes, J., and Moriarty, P. J.: A numerical study of the effects of atmospheric and wake turbulence on wind turbine dynamics, J. Turbul., 13, N14, https://doi.org/10.1080/14685248.2012.668191, 2012. a
Ciri, U., Rotea, M. A., and Leonardi, S.: Modelfree control of wind farms: A comparative study between individual and coordinated extremum seeking, Renew. Energy, 113, 1033–1045, 2017. a
de Avila Ferreira, T., Shukla, H. A., Faulwasser, T., Jones, C. N., and Bonvin, D.: RealTime optimization of Uncertain Process Systems via Modifier Adaptation and Gaussian Processes, in: IEEE 2018 European Control Conference (ECC), 12–15 June 2018, Limassol, Cyprus, 465–470, 2018. a, b, c
del RioChanona, E. A., Graciano, J. E. A., Bradford, E., and Chachuat, B.: ModifierAdaptation Schemes Employing Gaussian Processes and Trust Regions for RealTime Optimization, IFACPapers OnLine, 52, 52–57, https://doi.org/10.1016/j.ifacol.2019.06.036, 2019.
Doekemeijer, B. M., van der Hoek, D. C., and van Wingerden, J.W.: Modelbased closedloop wind farm control for power maximization using Bayesian optimization: a large eddy simulation study, in: 2019 IEEE Conference on Control Technology and Applications (CCTA), 19–21 August 2019, Hong Kong, China, 284–289, 2019a. a
Doekemeijer, B. M., Van Wingerden, J.W., and Fleming, P. A.: A tutorial on the synthesis and validation of a closedloop wind farm controller using a steadystate surrogate model, in: IEEE 2019 American Control Conference (ACC), 10–12 July 2019, Philadelphia, Pennsylvania, USA, 2825–2836, 2019b. a
Doekemeijer, B. M., van der Hoek, D., van Wingerden, J.W.: Closedloop modelbased wind farm control using FLORIS under timevarying inflow conditions, Renew. Energ., 156, 719–730, https://doi.org/10.1016/j.renene.2020.04.007, 2020 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/wes22292017, 2017. a
Fleming, P., Annoni, J., Churchfield, M., MartinezTossas, L. A., Gruchalla, K., Lawson, M., and Moriarty, P.: A simulation study demonstrating the importance of largescale trailing vortices in wake steering, Wind Energ. Sci., 3, 243–255, https://doi.org/10.5194/wes32432018, 2018. 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/wes42732019, 2019. a
Ge, M., Wu, Y., Liu, Y., and Yang, X. I.: A twodimensional Jensen model with a Gaussianshaped velocity deficit, Renew. Energy, 141, 46–56, 2019. a
Gebraad, P. M., van Dam, F. C., and van Wingerden, J.W.: A modelfree distributed approach for wind plant control, in: IEEE 2013 American Control Conference (ACC), 17–19 June 2013, Washington, D.C., USA, 628–633, 2013. a, b
Gebraad, P. M., Teeuwisse, F., Van Wingerden, J., Fleming, P. A., Ruben, S., Marden, J., and Pao, L.: 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
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
Hulsman, P., Andersen, S. J., and Göçmen, T.: Optimizing wind farm control through wake steering using surrogate models based on highfidelity simulations, Wind Energ. Sci., 5, 309–329, https://doi.org/10.5194/wes53092020, 2020. a
Jensen, N. O.: A note on wind generator interaction, Risø National Laboratory. RisøM, No. 2411, Roskilde, Denmark, 1983. a
Jiménez, Á., Crespo, A., and Migoya, E.: Application of a LES technique to characterize the wake deflection of a wind turbine in yaw, Wind Energy, 13, 559–572, 2010. a
Johnson, K. E. and Fritsch, G.: Assessment of extremum seeking control for wind farm energy production, Wind Eng., 36, 701–715, 2012. a, b
Johnson, K. E. and Thomas, N.: Wind farm control: Addressing the aerodynamic interaction among wind turbines, in: IEEE 2009 American Control Conference, 10–12 June 2009, St. Louis, Missouri, USA, 2104–2109, 2009. a
Jonkman, J., Butterfield, S., Musial, W., and Scott, G.: Definition of a 5MW reference wind turbine for offshore system development, Technical Report No. NREL/TP50038060, National Renewable Energy Laboratory, Golden, CO, 2009. a
Katic, I., Højstrup, J., and Jensen, N. O.: A simple model for cluster efficiency, in: Proceedings of European Wind Energy Association Conference and Exhibition, 6–8 October 1986, Rome, Italy, 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. Indust. Aerodynam., 192, 45–73, 2019. a, b
Loeppky, J. L., Sacks, J., and Welch, W. J.: Choosing the sample size of a computer experiment: A practical guide, Technometrics, 51, 366–376, 2009. a
Marchetti, A. G., Chachuat, B., and Bonvin, D.: Modifieradaptation methodology for realtime optimization, Indust. Eng. Chem. Res., 48, 6022–6033, 2009. a
Marchetti, A. G., François, G., Faulwasser, T., and Bonvin, D.: Modifier Adaptation for RealTime Optimization – Methods and Applications, Processes, 4, 55, 2016. a, b
Marden, J. R., Ruben, S. D., and Pao, L. Y.: A ModelFree Approach to Wind Farm Control Using Game Theoretic Methods, IEEE T. Control Syst. Technol., 21, 1207–1214, https://doi.org/10.1109/TCST.2013.2257780, 2013. a
NREL: FLORIS. Version 1.0.0, available at: https://github.com/NREL/floris, last access: 15 May 2019. a, b
Park, J. and Law, K. H.: Layout optimization for maximizing wind farm power production using sequential convex programming, Appl. Energy, 151, 320–334, https://doi.org/10.1016/j.apenergy.2015.03.139, 2015. a
Park, J., Kwon, S.D., and Law, K. H.: A datadriven approach for cooperative wind farm control, in: IEEE 2016 American Control Conference (ACC), 6–8 July 2016, Boston, Massachusetts, USA, 525–530, 2016. a, b
Park, J., Kwon, S.D., and Law, K.: A datadriven, cooperative approach for wind farm control: a wind tunnel experimentation, Energies, 10, 852, 2017. a, b
Rasmussen, C. E. and Williams, C. K.: Gaussian processes for machine learning, MIT Press, Cambridge, Massachusetts, USA, 273 pp., 2006. a, b
Snelson, E. and Ghahramani, Z.: Sparse Gaussian processes using pseudoinputs, in: Advances in neural information processing systems, MIT Press, Cambridge, Massachusetts, USA, 1257–1264, 2006. a
Steinbuch, M., De Boer, W., Bosgra, O., Peeters, S., and Ploeg, J.: Optimal control of wind power plants, J. Wind Eng. Indust. Aerodynam., 27, 237–246, 1988. a
Tian, L., Zhu, W., Shen, W., Zhao, N., and Shen, Z.: Development and validation of a new twodimensional wake model for wind turbine wakes, J. Wind Eng. Indust. Aerodynam., 137, 90–99, 2015. a
van der Hoek, D., Kanev, S., Allin, J., Bieniek, D., and Mittelmeier, N.: Effects of axial induction control on wind farm energy production – A field test, Renew. Energy, 140, 994–1003, https://doi.org/10.1016/j.renene.2019.03.117, 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, 6464, https://doi.org/10.1126/science.aau2027, 2019. a
Wächter, A. and Biegler, L. T.: On the implementation of an interiorpoint filter linesearch algorithm for largescale nonlinear programming, Math. Program., 106, 25–57, https://doi.org/10.1007/s101070040559y, 2006. a