Wind farm control - Part I: A review on control system concepts and structures

Wind farm control design is a recently new area of research that has rapidly become a key enabler for the development of large wind farm projects and their safe and efﬁcient con-nection to the power grid. A comprehensive review of the intense research conducted in this area over the last 10 years is presented. Part I reviews control system concepts and structures and classiﬁes them depending on their main objective (i.e. to maximise power production or to provide grid services. The work and key ﬁndings in each paper are discussed in detail with particular emphasis on the turbine side. Additionally, the review con-tributes to the existing reviews on the area by providing an elegant classiﬁcation between model testing and control approaches. Areas where signiﬁcant work is still needed are also discussed. In Part II, a thorough review on aerodynamic wind farm models for control design purposes is provided.


INTRODUCTION
Wind energy installations continue to increase at an accelerated pace worldwide with larger wind farm projects consisting of hundreds of turbines being constructed both onshore and offshore. Although wind generation plays a central role in achieving the transition to decarbonised electricity systems, it also creates key operational and planning problems to transmission (TSO) and distribution system operators (DSO) due to the variable nature of the wind resource and the fact that they are connected to the grid through power electronics converters. Modern wind farms are fitted with advanced, state-of-the-art monitoring and control equipment that enable the safe and reliable implementation of all functionalities required to achieve the best possible performance. However, they are not sufficiently optimised to conciliate a number of conflicting objectives such as continuously maximizing the power production whilst reducing turbine loading and still adapting to the spot price for electricity. In order to achieve the right balance among these objectives, the philosophy behind wind farm control is evolving from the The focus of recent research on wind farm control is provided by Knudsen [1], Boersma et al. [2] and Kheirabadi and Nagamune [3], among others, who concentrate mainly on maximising power capture and mitigating turbine loading, using both centralised and distributed approaches. This review goes further and provides more details of the work conducted in each paper and their findings. A significant contribution is the provision of a clear classification between model testing and control approaches.

Search strategy and structure of the review
Wind farm control is a new area of research that requires knowledge from a variety of scientific areas (and disciplines).
Being also a highly specialised area, the body of work on wind farm control is published on a handful of respected journals and outlets. The present review has been intense and major databases such as Scopus, Google Scholar and IEEEexplorer among others, were searched. Examples of specific key sources used include: Wind Energy, Journal of Fluid Dynamics, Journal of Renewable and Sustainable Energy, Renewable Energy, Wind Energy Science, IET RPG, IEEE Transactions (e.g. Control Systems Technology, Power Systems, Energy Conversion and Sustainable Energy) and the IEEE American Control Conference. Reports from research institutions (e.g. NREL, former DTU RISOE) and large European project on wind energy were also carefully reviewed.
The review follows a coherent structure by first introducing the main objectives and characteristics of a wind farm controller followed by the essential elements to be considered in the design. A non-rigid classification of wind farm controllers is then provided which serves as a basis to organise the various references according the controller objective. The review provides key details of most papers and summary tables which will undoubtedly assist the reader in finding works of interest are also given.

UNDERSTANDING A WIND FARM CONTROLLER
A wind farm controller oversees the operational aspects associated with the generation of electricity in a wind farm, coordinating the response and power contributions from individual wind turbines in the farm. The typical objectives in a wind farm controller include [4][5][6]: -Maximising energy production -Minimising mechanical loads and fatigue -Complying with grid codes and providing ancillary services -Handling local faults and malfunctions due to external events

Control inputs
The control inputs to a wind farm controller are provided by all actuators available in the individual wind turbines and also masts (as available) which provide meteorological information. An individual wind turbine typically has three controllable variables, the generator torque , the blade pitch angle and the yaw angle . Instead of the generator torque also the tip-speed ratio or the rotor rotational can be controlled.
When it comes to the design of the overall wind farm control system, it is helpful to use the axial induction factor a that describes the change in wind velocity across the turbine. Two common control strategies are axial induction control and wake steering control. On the one hand, axial induction control changes the generator torque and blade pitch angle while the turbine rotor faces the wind (Figure 1). It can be seen that the wind deficit in the wake is stronger in the upper figure (Figure 1a) where the turbine is operated close to its own optimum (with regards to power production). The idea behind FIGURE 1 Wind velocity behind a turbine in the far wake region modelled with the Gaussian wake model [7]. Two different axial induction factors are used. In the upper figure an axial induction factor of a = 0.33 and in the lower figure of a = 0.18 is used.

FIGURE 2
Wind velocity behind a turbine in the far wake region modelled with the Gaussian wake model [7]. The turbine is yawed with an angle of = 31 • . axial induction control for wind farms is that the upwind turbine is operated away from its own optimum resulting in a smaller wind deficit in the wake such that, for example the overall energy production of multiple turbines can be increased. On the other hand, wake steering control refers to a control strategy that changes the yaw angle of a turbine to improve wind farm performance ( Figure 2). The idea behind yaw control is to deflect the wake by yawing the upwind turbines (note that the y-axis is not symmetric in Figure 2). As a consequence the rotors of the downwind turbines are not located in the centre of the wake and, for example the overall energy production of the wind farm could be increased.

Sensor systems
Wind turbines are equipped with a supervisory control and data acquisition system (SCADA) whose outputs can be used to design the control system of a wind farm. Relevant SCADA parameters for condition monitoring and control design purposes are the blade pitch angle, yaw angle, rotor and generator speeds, generator current in each phase, real and reactive power output, anemometer wind speed and direction. Moreover, SCADA records temperature measurements of basically every major mechanical and electrical component and the ambient temperature [8]. Other sensors that may be available include visual and thermal cameras, acoustic emission transducers and fibre-optic strain gauges, which measure the strain in the blade material [9]. The torque in the drive shaft can be measured by a transducer, and accelerometers can be used to measure vibrations in various mechanical components [10]. A nacelle-mounted LIDAR (light detection and ranging) system can be used to anticipate turbulent fluctuations [11]. Additional information for wind farm control design comes from meteorological measurement masts providing information of the wind velocity at possible several locations in and around the farm.

Wind turbine and wind farm flow modelling
In order to design a wind farm control system it is necessary to represent individual turbines with the appropriate turbine model and control system [12,13]. This paper does not cover wind turbine modelling and control and readers are suggested to look at references such as [10,[14][15][16] where more information can be gathered.
Aerodynamic flow models describe the interaction between the turbine and the surrounding wind field. The turbine extracts energy from the wind, which increases the turbulence in the air and decreases the velocity of the wind, causing a wake behind itself. Consequently, the wake decreases the power capture and increases the load on downstream turbines influencing negatively the performance of the wind power plant [17]. Wind farm aerodynamic flow models can be classified into three categories: engineering [18][19][20][21], medium fidelity [2] and high fidelity models [22]. A recent review about flow phenomena in wind farms can be found in [23,24]. In addition, a review on large Eddy simulation (LES) modelling for wind farm simulations can be found in [25].

WIND FARM CONTROL: STATE-OF-THE-ART
As wind farms become larger in capacity they are requested to participate and contribute to power grid operation. Under this new scenario, it has become clear, as shown in several studies, that individual wind turbine control cannot achieve this is aim optimally as it does not consider the complex aerodynamic couplings between turbines [4,12,17,[26][27][28][29]. Therefore, the trend in wind farm control design has been towards enhanced controllers that control and supervise the operation of wind turbines from a higher level based on hierarchical approaches such as the one illustrated in Figure 3. In this hierarchical approach, the wind farm controller runs at the higher level and includes controllers which oversee power production, operation and maintenance and power system services. It uses power grid demand, energy prices and turbine status inputs and distributes the set points to individual turbines to achieve the desired performance. This hierarchical control structure facilitates controlling turbines and wind farm more efficiently and achieve the defined objectives by manipulating the power output of the turbines and influencing the power flow distribution in the electrical collectors whilst minimising turbine loading. Note that the objectives in a wind farm controller are partly conflicting and may also have different time scales making wind farm control design a challenging task. Figure 4 shows how wind farm control approaches can be broadly categorized. They can be classified based on the objective(s), the control structure or the control concept adopted. A final categorization (not shown in the figure) can be made based on the actuator method for wake control, which may be based on axial induction or wake steering. The review of the wind farm controllers was conducted following the approach shown in Figure 5. It was decided that a classification based on the control objective allowed to provide a more coherent review and presentation of references.

Non-optimisation-based verification of models and control approaches
In [30], EVM is used to study the effects of down-regulating upwind turbines using pitch control. A power gain of about 4.1% is achieved at a row of ten turbines with a spacing of 4 D. In [31], the potential of axial induction control to increase the power production is analysed using the ideal rotor disk theory and the Jensen-Park model. Both, coordinated and individual wind turbine control for two-and three-turbine rows is investigated. A methodology based on the power and thrust coefficient reference curves is proposed and validated in wind tunnel experiments. In [32], simulation results of the Lillgrund wind farm simulated in EllipSys3D are compared with measurements. A key finding was that the ambient atmospheric turbulence must be considered to represent the farm production correctly. In [33], axial induction control using FLORIS is evaluated together with the high-fidelity model SOWFA. In [34], the influence of blade pitch offsets to increase the power production and its sensitivity to ambient turbulence is studied on the high-fidelity model in [35].
Early work on wake steering is presented in [36]. The author analysed wind tunnel experiments and found that a yawed turbine clearly deflects the wake. A new study of turbines in yawed conditions using wind tunnel experiments was presented in [37]. A total power gain of 12% was achieved if the upwind turbine is yawed 30 • . One of the first field tests investigating wake steering was inconclusive because of large scatter in the data [38]. In [39], wake steering strategies for the Fishermen's Atlantic City Windfarm using a high fidelity LES model are studied. It is shown that the plant efficiency can increase by 8% to 10% using wake steering. Yaw offsets are not optimized in the work but the effect of certain yaw offsets to turbines in a row are tested. A similar study was presented in [40], where the effects of a yaw offset was tested with CFD software STAR − CCM +. A gain in power production of 2% is reported. A summary of non-optimisation-based verification of models and control approaches is shown in Table 1.

Non-optimisation-based feedback control
Wind farm controls based on conventional feedback structures use mainly either PI or H inf controllers ( Table 2). A closedloop wake steering implementation based on an internal model consisting of a yaw actuator model, a wake deflection model and a time-delay model is presented in [46] . A PI controller is used to achieve the desired closed-loop performance by steering the wake centre to the desired position. The approach is tested using SimWindFarm. The approach is extended in [47] where an H inf controller is used. This implementation is tested with the PALM in Raach et al. [48]. It is shown that in the closed-loop case, the feedback yaw controller decreases the wake overlap and increases the power production compared to the open-loop case. A similar approach is presented in Dhiman et al. [49] where transfer function models that relate the yaw angle and wake centre for a multiple wake case are identified. The estimated wake centre is used to follow a reference. The approach is able to increase the power production in a wind farm with 15 turbines by about 1.7%.

Non-optimisation-based feed forward control
A good number of feed forward wind farm controllers proposed in the open literature incorporate dynamic axial induction control (DAI), for example [51,55] where optimal DAI was combined with LES in a closed-loop approach; the SP-Wind framework is used in both works ( Table 2). The authors demonstrate that by classifying the wind farm into first-row, intermediate-row and last-row turbines, the optimal behaviour of the first-row turbines, which should increase wake mixing, can be mimicked with a periodic sinusoidal signal. This DAI feed-forward control law can robustly increase the total power output of a small wind farm. However, for larger ones, the control actions on the first turbine row was insufficient to increase the power and additional control actions on the downwind turbines are required to increase the total power production. Dynamic axial induction control is promising, but it still has to be shown that these approaches can increase the power production in larger wind farms. On the other hand, these approaches can be easily implemented in existing wind farms since they operate within the original design constraints of the turbines. An example for dynamic axial induction control is presented in Frederik et al. [52].

Optimisation-based, feed forward control
A summary of the works on wind farm control using this concept is provided in Tables 3-7. Details of some of these works are given in the following subsections.

Sequential quadratic programming
The authors in [56] improved FLORIS to make it suitable for gradient-based optimisation and used it to optimise a wind farm layout. This enhanced model was then used to increase the AEP by optimising the layout and the yaw angles [57]. It is shown that optimizing the layout and yaw angle of turbines (in particular) for a certain wind direction increases the AEP about 5%.
In [58], it is shown that layout optimization together with wake steering has the potential to increase the AEP. An additional improvement of 1.8% is achieved with the yaw control. However, simultaneous optimization of the yaw angle control and farm layout adds negligible benefits over a sequential approach.
In [59], the axial induction factor is optimized to maximise power production and minimise the cumulative thrust force and turbulence intensity in the wind farm. The actuator disk model is used to represent the wind farm. In [60], the axial induction factor of a row of eight turbines is optimized using multi-start sequential quadratic programming (SQP). The objective functions are to maximize power production at lower wind speeds and to equalise turbine loads while tracking a power reference at higher wind speeds. The potential of yaw control is also investigated in [61] using the curled wake model [62] and the Gaussian one [7]. Studies are conducted for a three turbine case using SOWFA. The optimization with the curled wake model shows a decreased yaw angle for a turbine located further downstream. Similar behaviour was observed in wind tunnel experiments [45].

Steepest descent
Park et al. [66] employ the steepest descent method to find the optimal yaw angles and induction factors to maximise the power production in a wind farm. The wake interaction model, for which the Jensen Park model is used, is linearised base on the first order Taylor's expansion. The approach is tested on a wind farm with a 4 × 4 wind turbines layout using the same engineering wake model. It is shown that cooperative control outperforms the greedy control approach for most wind directions. The approach is further developed in [68]. The extended Jensen Park wake model in [69] is used and the non-linear optimization problem is solved with sequential convex programming. Studies performed on Horns Rev I show that cooperative optimization increases the power production by 7% on average compared to the greedy strategy.

Conjugate gradient
In [70], the power production is maximised using a LES model [73] whilst minimising power fluctuations. Pareto frontiers are constructed showing the trade-off between maximizing energy extraction and reducing power variability. If an energy-loss of 1% is allowed, a considerably reduction in power variability can be achieved.

Genetic algorithm
In [74], the authors use genetic algorithm (GA) to optimise the pitch angle and maximise power production. The Eddy Viscosity Model (EVM) [75] is used to model the wake and BEM) theory to model the turbine. Simulation studies of Horns Rev show that power output could be increased by 4.5%. In [76], GA is used to optimise the pitch angle and tip-speed ratio achieving an increase in AEP of 1.5%. In [77], a wind farm layout optimization is combined with control optimization. This combined optimisation approach is extended to use variable turbine hub heights in [78]. It can be concluded that coordinated control becomes important if wake interactions cannot be avoided in the farm layout optimization.

Particle swarm optimisation
A particle swarm optimization (PSO) that finds optimal pitch angles and tip-speed ratios of the turbines in a wind farm is proposed in [80] (Tab. ??). It is shown that PSO can increase the power output of a 16-turbine wind farm with constant wind speed by 10.6%. In [81], PSO is used to find optimal axial induction factors for power maximisation. The power from a  row of turbines is increased by 10% compared to the greedy setting. A distributed PSO to optimise the axial induction factor for power maximization is presented in [82]. The wake is modelled with the model presented in Park and Law [68,69]. Compared to the greedy control strategy the algorithm is able to increase the power gain up to 23.5% in a wind farm with 196 turbines.

Artificial bee colony
The artificial bee colony (ABC) algorithm is used in [86] to optimize the turbines' tip-speed ratio to maximise the power extraction. The algorithm adjusts the control inputs based on wind speed and direction measurements. The authors report an annual energy increase of 4-6% for a nine-turbine wind farm.

Game theory optimisation
In [88], the optimal yaw settings of the turbines in a wind farm are found using FLORIS. The settings are optimised using the game theory (GT) approach presented in [89]. The optimal yaw settings are tested with the SOWFA and for a wind farm with six turbines a power gain of 13% is found compared to the greedy control setting. In [90], it is shown that optimal yaw misalignment for minimizing the blade load variations can be implemented without power losses for above rated wind speeds. Another study that combines load variations and power maximisation in the objective function to optimize the yaw settings is presented in [72,91]. In the former, GT is used while in the latter a gradient-based optimization one is used. The wake is modelled with FLORIS, but for the latter the discrete wind profile is smoothed using a Gaussian distribution function. The load variations due to partial wake overlap is computed with CCBlade ⋆ [92]. In a simulation study on a 3 × 3 wind farm using the same models, the mean power could be increased by 2.8% while the differential flap and edgewise loads could be decreased by 8.2% and 12.5%, respectively, compared to the greedy control settings.

Dynamic programming optimisation
With the principle of optimality a closed-form expression for turbine control using a near-field model is derived in [93]. For the far-field, the Jensen-Park model is used and an optimal axial induction factor in dependency of the turbine spacing is discussed. In [94], dynamic programming optimisation (DPO) is used to maximise power production by optimising the axial induction factor. It is shown that the problem can be solved sequentially running from the most downwind turbine to the most upwind turbine. This procedure allowed increasing the power production by about 5% for wind farms with ten turbines. In Santhanagopalan et al. [95], the tip-speed ratio is optimized by coupling a RANS solver and DPO. A power gain of 0.8% is achieved for a turbine row with five turbines. However, it is reported that the gains are highly sensitive to the incoming turbulence intensity and for high wind turbulence the optimization is ineffective. In [96], this dynamic programming  on a data-driven RANS algorithm calibrated with LES data. The former, optimized the tip-speed ratio of a three-turbine array. Contrary to the Jensen-Park model's prediction, the increase in power production in the high-fidelity model is marginal (+0.2%). However, the loads within the turbine array became more uniform, which may extend the lifetime of the turbines.

4.4.9
Field test of feed forward optimisation works More recently, field tests using wake steering have been conducted, which showed promising results to increase the power production even for an open-loop approach (see Table 8). Details of an experimental setup to conduct wake steering in a field campaign is presented in [111]. The yaw offset applied to the turbine is computed offline and saved in a look-up table.
A full scale field test of wake steering control is presented in [112]. The yaw offset of one turbine of the Rudong wind farm in China is controlled to mitigate the wake interactions between the turbine and downwind turbines. The FLORIS model, for which the parameters are tuned to approximate the power production predicted by the high fidelity model SOWFA, is used offline to compute the optimal yaw settings. The yaw settings are saved in a look-up table. During the field test the optimal yaw settings were not strictly followed because of the large uncertainty in the yaw alignment of the turbine. Although the amount of collected data is limited and the uncertainty high, power gains are reported showing the potential of the wake steering approach.

4.4.10
Works specific to floating wind turbines For floating turbines, it is theoretically possible to relocate the turbines within certain constraints. Table 9 summarises some relevant works found associated with floating wind turbine/wind farm control . In [41], the potential of repositioning the downwind turbine in a turbine simulation case using SOWFA is evaluated. An increase in power production of 41% is observed if the turbine is moved a full rotor diameter. In [118]

Optimisation-based model-based closed-loop
A tutorial for closed-loop controller synthesis for wind farms is given in [119]. A central component of the control approach is a data-driven adaptation of the FLORIS model. An example for a closed-loop controller for a

Model predictive control optimisation
An early approach for closed-loop power maximisation is presented in [121] (Table 10). A dynamic wake model based on the dynamic wake meandering model [122] and Frandsen's model [123] called the Mosaic-tiles wake model are used. A wind speed estimator corrects the wind speed measurement error using the estimated error in the torque. A short term free wind speed forecast and a prediction correction based on a ARMA model is used in the MPC. Laguerre functions approximate the control sequence and reduce the optimization time. In a simulation study of a wind farm with 80 turbines the method increased the power by 2% in comparison to the greedy control approach. An adjoint-based MPC to optimise the axial induction factor and maximize energy extraction using the dynamic wake model WFSim is proposed in [126][127][128]. It is demonstrated that setting the prediction horizon to twice the time a wake needs to travel from upwind to the downwind turbine provides a good compromise between closed-loop performance and computational demand. The approach is validated using the LES wind farm model PALM. A power increase of up to 4% is observed (in full wake interactions).
A model predictive controller (receding horizon controller) using full state feedback to maximize the power production using the thrust coefficient is presented in [129,130]. The high fidelity toolbox SP-Wind is used. The dynamic optimal control of turbine set-points allows to increase the power extraction from the wind farm by 16% [129] and 7% [130] for a wind farm with 50 turbines and a turbine spacing of 7D. A hierarchical closed-loop control approach is presented in [124]. A high level controller computes the optimal axial induction factors to maximise the power output of the wind farm. A simplified version of the wake model in [69] is used. The local controller uses a combination of feedback linearisation and MPC. A Kalman filter estimates the effective wind speed and the systems states. In simulations with variable wind a power gain of about 4% is achieved in comparison to the greedy controller. In [125], a brute force optimization is used to find the optimal pitch angle and tip-speed ratio. On the turbine level, the set points are followed by an MPC. The optimizer uses the Jensen-Park wake model and SimWindFarm is used in the simulation to test the approach. A power increase of about 1% was obtained simulating a wind farm with Horns Rev layout.

Data-driven model-based approaches
Data-driven approaches find the optimal operation point of the plant by either constant excitation of the inputs and evaluation of the objective function (model-free approach) or identifying a model based on the observed data and then optimizing the created model (Table 11). The advantage of the data-driven approaches is that they do not rely on a possible error-prone model. The disadvantage is usually the long convergence time of most of the proposed methods in the literature and questions their applicability to a wind farm in time-varying conditions [2]. This holds especially for the model-free approaches.
In [133], a surrogate model using polynomial chaos expansion is built. The data to train the model are generated with the high-fidelity flow solver Ellipsys3D LES and the aeroelastic tool FLEX5. A two turbine case is simulated. The surrogate model is used to represent the power output and loading of the turbines. It is shown that the power of the two turbine case with sufficiently small turbine spacing (less than 3.5 D) can be increased by 2% to 4%. A Bayesian ascent (BA) algorithm fitting a Gaussian process (GP) regression to input-output data of the plant is proposed in [83,134]. The control inputs are yaw and pitch angle and the algorithm is successfully tested in wind tunnel experiments, showing an increase of the power production of 30% compared to a greedy individual turbine control strategy. Another approach using GP regression was proposed in [135,136]. The GP regression is used in a modifier adaptation approach to correct for the plant-model mismatch and find the optimal operation point of the wind farm. The approach is data-driven but uses an initial model, which is gradually corrected. It is, therefore, a hybrid method. Finally, in Andersson et al. [137] the approach is successfully tested with the high-fidelity simulator SOWFA. The approach by Andersson et al. [137] can include DEL in the objective function of the optimization.

Optimisation-based Model-free Closed-loop
A summary of these approaches is provided in 12. Game theoretic (GT) methods apply a random search algorithm to compute the next control actions. In [89] a game theoretic approach, in Gebraad et al. [144] a gradient descent and in Gebraad and Van Wingerden [145] a gradient decent and quasi-Newton method are used to maximise the power production. In [146], a multi-resolution simultaneous perturbation stochastic approximation algorithm is used to maximise the power in a wind farm using the axial induction factor of the turbines. Faster convergence in comparison to the algorithms proposed in [89,144,145] is reported. In [147,148], a population game approach is used to estimate the multi direction gradient based on stored information. The axial induction factor is optimized. Centralised and decentralised control schemes are implemented. The decentralised control scheme needs more iterations to find the optimum but works only with local information and has, therefore, a higher reliability.

Extremum Seeking Control (ESC)
Extremum Seeking Control (ESC) reconstruct the gradient of the objective function to compute the next control actions. One of the earliest ESC model-free approaches applied to wind farms is presented in [149]. It was found that by controlling the axial induction factor the power production could be improved in low to medium wind speed conditions. A limitation of the study is that for the tested plant the simple Jensen Park model was used. In [150] a multi-unit optimization, which is a extremum seeking method, is used. The multi-unit optimization applies a constant offset between inputs units and subtracts the corresponding outputs from each other to estimate the gradient. The approach is tested with SimWindFarm and it is shown that the optimum can be found in presence of different wind speeds and disturbances in the wind. A nested ESC approach is presented in [151]. In [152][153][154] a nested ESC is used to optimize the plant performance. The mathematical justification to use a nested ESC and optimize an turbine array sequentially is given in [94]. Power gains of 8-10% compared to the greedy control approach are reported. Campagnolo et al. [155] tested a gradient-based ESC algorithm in a wind tunnel. Wake steering demonstrated substantial increase on power production up to 15%.

Conventional feedback control
A summary of these methods is provided in Table 13. 5.1.1 PID control with gain schedulinghierarchical structure A hierarchical and robust control structure is proposed in [157,158] where a central supervisory controller dispatches the active (P) and reactive (Q) power references to the local control in individual turbines based on a proportional distribution of the P and Q available. The turbine controller adjusts the pitch angle and tip-speed ratio. Gain-scheduling and PID controllers are used. In [159], the authors present a hierarchical control system and demonstrate that it is possible to control wind farms with different wind turbine generator technologies (i.e. fixed-speed and variable-speed). The core of the control structure is again gainscheduling and PID controllers. In [18,160], a wind farm controller using a proportional distribution to dispatch the active power reference to the wind turbines in the farm is presented. The full load controller is a gain-scheduled PID controller acting on the pitch angle and the partial load controller applies a PID controller to maintain the generator operating on the optimal power curve. In [161], a control system to provide primary and secondary frequency control is proposed using gain-scheduling feedback controllers on the turbine level. Three different de-rating command modes are introduced. The controller is further discussed in Aho et al. [162] where different performance metrics are analyzed. In [163], illustrates that automatic generation control response is good in un-waked conditions. However, in waked conditions, active power control (APC) becomes more challenging. The influence of individual turbine control on the dynamics of a wind farm is investigated in [164]. The static Jensen Park model is extended to a dynamic one and performance is tested with wind tunnel experiments using three turbines. A PI controller is implemented to track the total power or voltage. In [165], a hierarchical controller is proposed where the wind farm controller distributes the power reference of the grid operator to individual turbines based on a simple gain-scheduling PI controller using power feedback from the wind farm. The proposed control structure is tested with SOWFA showing good tracking performance.

PID control with gain scheduling-distributed structure
In [171], a dynamic distributed turbine set-point dispatch is proposed using a fair dispatch where the power production relative to the maximum available power production at the turbine is equal for each turbine. The turbines communicate with the nearest neighbour and the torque controller of the turbines is control-Lyapunov function-based.

Optimisation-based model-based open-loop control
An optimal control strategy that exploits the wake interaction to maximise the kinetic energy in the wind farm to provide primary frequency services is proposed in [175]. The control variables are the pitch angle and tip-speed ratio and the wake model used in the optimization is the stationary model proposed in [176]. In [163], an open-loop controller for active power control (AGC more specifically) and provision of power reserve is presented. Torque control and wake steering are used and the authors illustrate the difficulties of providing APC when wind turbine controllers interact through wakes.

Optimisation-based model-based closed-loop
For power point tracking closed-loop approaches more often proposed for power tracking and provision of grid services than open-loop approaches. By way of example, Figure 3 shows the structure of a hierarchical, model-based closed-loop wind farm controller currently being developed by the authors under the OPWIND project.

Model predictive control
Intense research has been conducted on the use of model predictive control (MPC) in wind farm controllers that have as an objective the provision of services to the power grid. Table 14 provides a summary of numerous relevant works using this approach. In [177], a hierarchical wind farm control concept is described. A high level controller distributes the power production and loading optimally while a low level controller reacts to sudden disturbances. The multi-parametric solutions of the low level controller are computed offline disregarding the coupling between wind turbines. An online reconfiguration algorithm redistributes the power reference using the pre-computed solutions. In [178], an MPC wind farm controller with the objective of constant load tracking of the tower shaft while following the power reference is proposed. The wind farm controller is tested on a wind farm with two turbines showing shaft DEL reductions of 5% to 8% at the turbines.
In [179], a distributed controller to dispatch the power production while considering the turbine loading is suggested. This is An extension of the work by Spudić et al. [178] is presented in [179] under communication constraints where a distributed controller dispatched the power production considering the turbine loading. Due to the distributed controller design the resulting feedback matrix can be made sparse, which increases the modularity and scalability of the approach. In [186], a closedloop MPC for dispatching the power command and reducing the mechanical loads is described. A wind flow model is not used, but the wind velocity at the turbines is predicted with an ARMA process. A deterministic and stochastic MPC are tested with SimWindFarm and show similar performance. Best performance was achieved with a prediction horizon of 2-3 s. In [195], a supervisory MPC is presented that dispatches the power references to the turbines while operating the turbines close to their maximum power curve. A wake model is not included in the control model. Simulation results indicate that the shaft fatigue can be reduced.
In [194], an MPC is proposed to follow a power reference while mitigating the turbine fatigue loads. A look-up table with damage equivalent loads (DEL) depending on operational conditions is used to represent the fatigue loads. The dynamic flow predictor is used as flow model. The performance of the MPC is compared to a PI controller using proportional dispatch based on the available power at the turbines. The MPC shows larger deviations from the power reference but reduces the DEL up to 28% compared to the PI controller in an eight-turbine array simulated in SimWindFarm. In [187], an active power control for wind farm cluster is presented. The approach considers a hierarchical control structure. On the upper-level, a distributed active power dispatch based on a consensus protocol is used. On the lower level an MPC algorithm takes into account the dynamic response of the system. The control approach is tested with SimWindFarm showing a good tracking performance while reducing the fatigue loads.
In [191,192], a receding horizon controller to follow the power reference and reduce changes in the thrust coefficient is presented. The MPC uses a one-dimensional time-varying wake model and the turbine is approximated with the actuator disk theory. The performance of the MPC is tested with LESGO. In [193], the error correction term is replaced with a state estimator. An ensemble Kalman filter (EnKF) estimates the velocity deficit and the wake expansion parameters using the measurements of the turbine power. A similar approach using MPC to optimize the axial induction factor for APC is presented in [199]. The wake model WFSim is used and it is assumed that all necessary states for the MPC are measurable. The control approach is tested on a layout of a 2 × 3 wind farm with WFSim. In [188], a closed-loop MPC for active power control is proposed. The wake model is neglected and instead measurements of the rotor-average wind velocities are used. The objective of the controller is to minimize the axial force variations while following the power reference using the thrust coefficient. The power reference is distributed in the wind farm based on the proportional distribution law in [158]. An additional control loop, which utilizes FLORIS to find the optimal yaw settings and increase the available power in the plant, is implemented. The tracking performance is tested in PALM. In [189], the approach is extended to optimizes the thrust coefficients of the turbines. Again the approach is tested on a six turbine test case with PALM showing good tracking performance.
A lexicographic MPC is proposed in [201] to find optimal power set-points for the turbines. First, an optimization problem to track the power reference while minimizing the variation in the power reference is solved and a second optimization problem maximises the available power. The latter problem is constrained with the solution of the first problem.

Linear quadratic regulator
The application of LQR to wind farm control has also been investigated in a good extent. Table 15 presents a summary of relevant works using this approach. In [206], a central and distributed wind farm control for de-rated operation is proposed. The additional degrees of freedom in operation of the wind turbines are used to reduce the fatigue loads in the wind farm. The coupling between turbines is neglected based on the arguments in [176]. A linear time-invariant wind farm model is used resulting in a standard linear quadratic Gaussian control problem. The controller is able to reduce the tower and shaft fatigue by 15% to 20%. In [207], the dynamic power coordination in [177] is analysed and turbine control constrains relaxed to increase control flexibility and to reduce rotor speed variations. Coordinated power fluctuations in individual turbine control is also suggested to reduce turbine loads. Another approach considering power tracking and load minimization is discussed in [208]. In order to reduce the fatigue loads, the variations of the thrust force are included in the objective function. The resulting control structure consists of a local controller at the turbine level, which follows a LQG control law, while a wind farm coordinator applies a single averaging operation to compensate for deviations in the power set-points at the wind farm level. The control approach is tested with  [191,192] Receding horizon controller to follow power reference and reduce changes in thrust coefficient    Model inversion to estimate wind direction by local wind measurements at turbines.

FLORIS FLORIS
Adcock and King [240] Estimate mixing length field and thrust coefficient to minimise difference in wind speed using lidar and meteorological tower measurements WindSE SOWFA SimWindFarm and resulted in a 35% average reduction of fatigue damage in the wind turbine towers compared to the case where each turbine maintains its nominal power reference. In [209], a distributed approach to solve the Fatigue-load minimization optimal control problem is proposed. It follows the power reference while minimizing the fatigue loads in the wind farm. Interactions between turbines due to wakes are neglected.

Particle Swarm Optimisation
In [219], a PSO optimization is used to obtain optimal pitch angles and tip-speed ratios to maximise the available power in the plant. The wake effects are modelled with the Jensen-Park model and the method is able to increase the available power in the wind farm considerably in comparison to the proportional dispatch method.

ESTIMATION
Very little work has been done regarding state observers for wind farms. Some of the most relevant works are summarised in Table 16). In Gebraad et al. [220] the states of the FLORI-Dyn model are estimated with a Kalman filter using the power production and control settings measured at the turbines.
Noteworthy is the work by [221][222][223][224][225] who in a series of articles used the ensemble Kalman filter (EnKF) (and other Kalman filters) to estimate the states of the WFSim model reducing sequentially the required amount of measurements. Another example of applying an EnKF to the wind farm can be found in [193]. In [226], a data-driven sparse-sensor placement algorithm to find optimal sensor locations for flow field reconstructions is presented. The measurements of the flow field are used by a Kalman filter to adjust the flow field predictions of a reduced-order model.

DISCUSSION
A comprehensive literature review on wind farm control concepts and structures has been presented and details on the work conducted by numerous researchers and their main findings provided. It is evident that there is still work to do in the field and the following is a brief summary of some pressing challenges in wind farm control: • Quantification of the impact of wind farm control strategies on the wind turbine loads would be highly advantageous in moving wind farm control strategies forward towards widespread implementation and industry acceptance. • Wind farm power maximisation is designed and evaluated on many different models, which makes the evaluation of the performance of different control approaches difficult. The FarmConners benchmark was launched recently to provide data sets on which control models can be evaluated [241]. • While in simulations it was shown that the power production of wind farms can be increased with a cooperative control strategy, the proof-of-concept on a real wind farm is still missing. Moreover, it is questionable if axial induction control has the capabilities to improve the annual energy production of a wind farm. Even for wake steering, in simulations the more promising approach, such a proof-of-concept on a real wind farm has not been brought forward, yet. A problem is the large measurement noise and uncertainty making the interpretation of the results of measurements campaigns very difficult. The uncertainties in for example wind direction and aerodynamic models, puts cooperative control strategies in risk of being counter-productive over some periods, which may result in them not increasing the annual energy production. On the other hand, even if these control concept cannot increase the power production they may still be capable of decreasing the load in wind farms. • Wake steering is a promising control strategy. However, it is not clear if wake steering actually can contribute to lower the CoE. Turbines are not designed to constantly be yawed into the wind. These will increase the dynamic load on some parts of the turbines which may result in higher maintenance costs. Some simulation studies exist showing the load will change considerably on the blade and drive-train. More studies possibly also long term experiments are necessary to show how much this control strategy effects the lifetime of the turbine components. It may be even necessary to redesign some components if this control strategy proofs to be effective. • Many cooperative control approaches are optimisationbased. To operate a model-based optimiser in closed-loop a state estimator is required. In comparison to noise-free full state feedback the usage of a state estimator will decrease the performance of the optimisation approach to some extent. Very little work has been done developing state estimators for wind farms. • If the wind farm is operated below available power it is still an open question if the fatigue load can be reduced. How is the energy production distributed the best over the farm to achieve this goal, and how to formulate this the best in a comprehensive objective function that can be optimised in real-time?

ACKNOWLEDGEMENTS
This work was supported by OPWIND, RCN project no. 268044.