Axial induction controller field test at Sedini wind farm

This paper describes the design and testing of an axial induction controller implemented on a row of nine turbines on the Sedini wind farm in Sardinia, Italy. This work was performed as part of the EU Horizon 2020 research project CL-Windcon. An engineering wake model, selected for its good fit to historical SCADA data from the site, was used in the LongSim code to optimise turbine power reduction setpoints for a large matrix of steady-state wind conditions. The setpoints were incorporated into a dynamic control algorithm capable of running on-site using available wind condition estimates from the turbines. The complete algorithm was tested in dynamic time-domain simulations using LongSim, using a time-varying wind field generated from historical met mast data from the site. The control algorithm was implemented on-site, with the wind farm controller toggled on and off at 35 min intervals to allow the performance with and without the controller to be compared in comparable wind conditions. Data were collected between July 2019 and early February 2020. The results have been analysed and indicate a positive increase in energy production resulting from the induction control, in line with LongSim model predictions, although a larger volume of valid data would be necessary to provide statistically robust conclusions. The measurements also provide a validation of the LongSim model, proving its value for both steady-state setpoint optimisation and time-domain simulation of wind farm performance.


Introduction
Wake interactions are well known to reduce wind farm power output and increase turbine loads. Recent years have seen much interest in wind farm control concepts aimed at reducing these wake effects. The control objective is to increase overall wind farm power production while maintaining or reducing turbine fatigue loads, by manipulating the individual turbine controllers to minimise wake interaction effects, using either axial induction control or wake steering. Both control concepts involve deliberately reducing the power output of some individual turbines in order to achieve a net increase in total production from the farm. In the case of axial induction control, turbine power reduction is achieved by increasing the pitch angle and/or reducing rotor speed in order to reduce rotor thrust, thus weakening the wake. In wake steering control, the turbine is deliberately yawed out of the wind direction at angles typically up to 30 • , as this has the effect of changing the downstream path of the wake, which can thus be steered away from downstream turbines.
Axial induction control has been investigated using large eddy simulation modelling, often without showing any positive gains in power production -see for example Gebraad (2014). It has since been tested in a boundary layer wind tunnel by Campagnolo et al. (2016a, b) as well as in an operational wind farm by van der Hoek et al. (2019). During the wind tunnel tests no net gains were obtained, but an increase in power production has been reported during the field tests compared to standard operation. As reported in van Wingerden et al. (2020), a survey among technical experts of wind farm control highlighted how the need for increased confidence in modelling the effects of wind farm control via more validation campaigns was seen as the top priority.
As part of the EU Horizon 2020 research project CL-Windcon (http://www.clwindcon.eu/, last access: 15 March 2021) two field test experiments were designed and carried out at the Sedini wind farm in Sardinia, Italy, in order to test the two main concepts for active wake control in wind farms (axial induction and wake steering). This Figure 1. Site layout. Induction control field test involves turbines 13 and 31-38, with winds from the south-west. The setpoint optimisation maximises the total power from these nine turbines. Controlled turbines are in dark green. Turbine 38 is used as the reference from which wind conditions are calculated. Turbine 13 is affected but not controlled, as its wake does not affect other turbines.
paper specifically reports on the axial induction control tests. Further details of all the tests can be found in Kern et al. (2019). The results of the wake steering field tests during the same measurement campaign are reported in Doekemeijer et al. (2021).
Section 2 presents an overview of the Sedini wind farm site and the planning of the induction control experiment. The initial controller design process is described in Sect. 3. In Sect. 4, the use of time-domain simulation modelling to test and refine the controller is described, while the field tests themselves are described and results are presented in Sect. 5.

The Sedini wind farm site
Details of the Sedini onshore wind farm, planned instrumentation and test campaigns are provided in Schuler et al. (2017). The farm consists of 43 GE 1.5 turbines laid out as in Fig. 1. Most of the turbines are of type GE 1.5s (1.5 MW, 70.5 m rotor diameter, 65 m hub height), but the seven turbines shown in red are the larger GE 1.5sle type (1.5 MW, 77 m rotor diameter, 80 m hub height). The diagonal row of turbines 13 and 31-38 is involved in the experiment described here, and since only wind directions blowing along this row from a roughly south-westerly direction are relevant to the experiment, only these nine turbines were modelled in the controller design phase. Terrain complexity has been ignored -the site is not completely flat, but the topography indicates that with south-westerly wind directions, the effect of the terrain on the wind flow at these nine turbines is likely to be relatively small. The wind rose in Fig. 1 shows a pre-ponderance of westerly wind during the field test period, with relatively little from the south-west.
The original intention was to carry out both induction and wake steering field tests using this row of turbines. Preliminary design work for both sets of tests is documented in Knudsen et al. (2019). However, because of instrumentation issues, only the induction control tests were actually carried out, and this paper describes the final controller design and simulation testing and presents results from the field tests which began in July 2019. A separate test of wake steering control was carried out by yawing turbines 26 and E5, as described in Kern et al. (2019).
Since no load instrumentation was available on the turbines used for the induction control experiment, the induction control is aimed only at increasing the total power production from this row of turbines. The power output of turbines 31-37 can be modified, and the power output of all nine turbines is monitored. Turbine 38 is used as a reference turbine and wind sensor, and it remains in baseline operation. Some additional gain might be expected if turbine 38 were also controlled, but this has been sacrificed to ensure that the accuracy of the wind estimation is not affected by any control action. Turbine 13 is not controlled as there are no turbines in its wake, but clearly its power output will be affected.
During the field tests, the wake control is switched on and off at regular intervals (determined as in Sect. 3.5) so that the performance with and without control can be compared in similar wind conditions.

Controller design
The design work was carried out using the LongSim code. This has been developed by DNV, and more details can be found in Bossanyi et al. (2018). It is used for the initial steady-state setpoint optimisation, described in Sect. 3.2, and also for the dynamic time-domain simulation testing described in Sect. 4. For illustration, a typical wind speed contour plot at one point in time during a dynamic simulation is shown in Fig. 2.

Wake modelling
To allow rapid calculations and design iterations, LongSim does not use high-fidelity flow modelling but makes use of fast engineering wake models embedded in an ambient flow field. A choice of different engineering models is available, and for the preliminary design reported in Knudsen et al. (2019), several different wake models were used to investigate the sensitivity of the wake control performance to the wake model details, and it was clear that the wake model can make a big difference to the results. In this section, historical SCADA data from Sedini are used to help in the selection of a single wake model to be used in the final controller design.
SCADA data recorded from 1 May 2018 to 5 March 2019 were processed to extract the 10 min average power output for each of the nine turbines, and the ratio of power at turbine nos. 13 and 31-37 to the power of the reference turbine no. 38 was plotted as a function of wind direction. The power ratio for any turbine showed a clear dip for any wind directions where the turbine was affected by a wake. For each turbine, as shown in Fig. 5, the power ratios were binned in 5 • bins and the mean and median ratio in each bin was calculated. The median was found to be more useful than the mean, as it avoids big spikes caused by outliers in the data (see first plot of Fig. 5 for example). Each candidate wake model was used to calculate a predicted power ratio for the direction corresponding to the middle of each bin (blue lines in Fig. 5), and the RMSEs between the median and the predicted values were summed over the direction bins and then over all of the turbine nos. 13 and 31-37 to give a measure of the goodness of fit for this wake model. The RMSEs for the different candidate wake models are shown in Fig. 4. All the wake models are implemented within the LongSim code, which was used to generate the results presented here.
The candidate wake models included the EPFL model of Bastankhah and Porté-Agel (2016) and several variants of the model of Ainslie (1988). The EPFL model includes a number of parameters which many researchers have subsequently used as tuning parameters, adjusted to fit particular datasets, as has also been done within the CL-Windcon project (for example, the model was calibrated against wind tunnel measurements in Raach et al., 2018). Here, only the original parameters specified in Bastankhah and Porté-Agel (2016) were used and no attempt was made to tune them. It is likely in any case that different parameters would work best for different conditions of, for example, atmospheric stability, so it is more useful if a general model can be found which does not rely on such tuning. The Ainslie model is treated as such a general model, in that the parameters defining the wake deficit profile and its downstream expansion are considered fixed, but a number of variations are still possible. In particular, the following variations in the basic Ainslie model were d. more precise calculation of centreline deficit, using momentum conservation to avoid having to integrate over a radially discretised flow (Anderson, 2019); e. wake smearing to account for the effect of wake meandering over the averaging time as in Bossanyi et al. (2018); f. modification of the eddy viscosity term to account for atmospheric stability as in Ruisi and Bossanyi (2019).
In respect to the last point, met mast data from the site were analysed to identify diurnal variations in the wind conditions, driven by predominant unstable and stable conditions during the daytime and night-time hours respectively, and estimate bulk Richardson numbers and correspondent Obukhov lengths (these two parameters are defined and discussed in Ruisi and Bossanyi, 2019) to classify atmospheric stability conditions occurring at the site. A summary of the atmospheric stability conditions by time of day at the site is shown in Fig. 3. Given this information, the recently developed stability-dependent eddy viscosity model of Ruisi and Bossanyi (2019) was used, allowing the effect of atmospheric stability to be directly accounted for. The SCADA data were split into three different classes based on the time of day: daytime (07:00-17:00 LT), night-time (18:00-06:00 LT) and overall. In the daytime the atmosphere is generally unstable, with an average historical Obukhov length of −255 m (the negative value signifying unstable conditions), while the night-time period is generally stable, with an average historical Obukhov length of 237 m. The overall average Obukhov length was 850 m. The Ainslie model variations as detailed in (a) to (f) above correspond to the labels in Fig. 4 as follows: AinslieMOL_QA_WS_Exact QA SD √ √ √ √ * An experimental superposition model, since abandoned.
The comparison of wake models in terms of overall RMSE is shown in Fig. 4. The model selected for the final design is the one labelled "AinslieMOL_QA_Exact", which has the lowest overall error for both daytime and night-time periods and nearly the lowest overall. This is the stability-dependent variant of the Ainslie model , together with Quarton-Ainslie added turbulence, sum-ofabsolute-deficits superposition, explicit hub height and the more precise centreline deficit calculation (these options are described above). Other variants of the Ainslie model are available, differing from one another in subtle points of detail. Using the selected model with the Obukhov length for averaged neutral conditions, the fit against the SCADA data is shown in Fig. 5 for each of the turbines.

Steady-state setpoint optimisation
Since the selected wake model includes a dependence on atmospheric stability, it would be possible to calculate optimal setpoints for different Obukhov lengths and to use a measurement of the Obukhov length to modify the setpoints in real time, in the same way as for wind speed, direction and turbulence intensity. However, for the purposes of the Sedini experiment this would not be possible to arrange, and so the setpoints were calculated using the average Obukhov length of 850 m derived from the historical data, representing near-neutral conditions. A further improvement to the results would have been likely if it had been possible to use measured stability as a lookup table input. Using this wake model, the steady-state optimiser in LongSim was then used to generate tables of optimised power setpoints for each controlled turbine, i.e. nos. 31 to 37. The merit function for optimisation was the total power from all nine turbines, i.e. also including nos. 38 and 13. Setpoints were calculated for wind speeds from 6 to 15 m s −1 in 1 m s −1 steps; directions from 200 to 270 • in 2 • steps; and turbulence intensities of 9 %, 13 % and 17 %. The speed and direction ranges in the tables were extended to 3-18 m s −1 and 180-270 • by padding with null setpoints (i.e. no power reduction). The final lookup table (LUT) consists of setpoints as a function of wind speed, direction, turbulence intensity and turbine number.
The effect on turbine loads is also important, and in general the merit function could include terms related to loads. However, this has not been done since there was no possibility within the project to measure loads on these turbines at Sedini. In general, most loads are generally expected to decrease anyway with axial induction control, both on controlled and on downstream turbines, although the pitch actuator duty cycle would increase because of the below-rated pitch action.
The following sections describe how the resulting LUT was converted into a practically realisable control algorithm.

Measurement of the wind condition
For practical application, the controller needs to have an estimate of wind speed, wind direction and turbulence intensity at each time step so that it can obtain the appropriate setpoints from the LUT. Since the setpoints are optimised on the assumption that the (undisturbed) wind condition is the same throughout the wind farm, wind condition estimates should be representative of the whole farm. In general, a met mast could be used if one is available, but more than one mast would be needed to cover different wind directions, so it would usually be better to use estimates from the turbine controllers. Each turbine controller can provide a direction estimate by filtering its nacelle position signal plus the wind vane misalignment, as long as suitably calibrated measurements are available. The turbine controller can usually provide a wind speed estimate, and if a separate turbulence intensity estimate is not available, it can be obtained from the wind speed estimate standard deviation with appropriate calibration factors. The wind farm controller could then use the average or the median of the wind condition estimates from all turbines which are currently unwaked and use this to represent the whole farm. A low-pass filter can be applied with a variable time constant of the order of the time taken for a wind condition measured at the upstream edge of the farm to propagate to the middle of the farm. This introduces an appropriate delay as well as some smoothing.
For the specific row of turbines used at Sedini, the following approach was used. The upstream turbine, no. 38, is always unwaked in wind directions of interest and is used to estimate the wind speed and turbulence intensity, which is then used for the LUT as if it represents the whole row of turbines. The wind direction for the LUT is taken as the median of the individual wind direction estimates provided by all nine turbines in the row. This assumes that wake effects do not change the local wind direction, which is more likely to be true for induction control than for wake steering cases.
The inflow wind speed is an estimate of the rotor-averaged wind speed based on 1 Hz operational data of turbine no. 38. The individual wind direction estimates are derived from the nacelle position sensor and the nacelle vane signals. Prior to starting the test, the nacelle position sensor signals had been calibrated using the preceding 3 months of SCADA data. The calibration process was designed such that the resulting wind direction estimates comply with the assumption that the time-averaged wake velocity deficits propagate with the mean wind direction. An online algorithm ensures that the calibration of the nacelle position sensors is maintained over time in case irregularities occur.
The turbulence intensity is derived from the standard deviation of the estimated wind speed, with a correction factor applied which has been derived by comparing the standard deviation calculated in the same way at a turbine close to the met mast against the standard deviation actually measured at the mast.
The estimated wind speed and direction signals are 60 s averages, while the turbulence intensities are instantaneous values from a running 10 min estimation.
If turbine no. 38 is not running, the test continues using wind estimates from no. 37. If neither of those turbines is working, no. 36 is used. If all three turbines are not running, no wind farm control is applied. However, it should be noted that the optimal setpoints are only valid if all nine turbines are working. Cases with some turbines not working were not tested in simulation, and in the analysis of the field test results, data were discarded if not all turbines were working.

Accounting for wind condition uncertainty
The power reduction setpoints are optimised using steadystate calculations for specific ambient wind conditions which are assumed to apply over the whole wind farm. In the practical application, the wind conditions used for the LUT to calculate setpoints at any specific time are not precisely known, partly because of uncertainties in measurements used and partly because the wind conditions at any time are not uniform across the wind farm. The setpoint optimisation can al-ready take account of such uncertainties by assuming probability distributions rather than fixed values for the wind speed, direction and turbulence intensity used for each optimisation, as described in Rott et al. (2018) and Simley et al. (2020) for the case of robust active wake control optimisation. This results in lookup tables which are smoothed out by those probability distributions, but the time needed for the optimisations greatly increases. Here an alternative approach is used, in which the LUT calculated for precise wind conditions is smoothed out subsequently, with each value replaced by a weighted average of nearby values, the weightings being determined by those assumed probability distributions. This has the advantage of faster optimisation but also means that in principle the smoothing can be changed in real time ac-cording to the perceived uncertainties in wind conditions at the time.
For the field tests, this post hoc smoothing was carried out using fixed assumptions about the uncertainties, namely that the wind speed and direction have Gaussian distributions with standard deviations of 1 m s −1 and 5 • respectively. Because of the smaller dependence of the setpoints on turbulence intensity, no smoothing was applied for turbulence intensity. Prior to field testing, the smoothing assumptions were tested in simulation as described below.

Final control algorithm design
The final control algorithm updates the setpoints at a time step of 60 s. At every time step, the wind condition, estimated as described in Sect. 3.3, is used to generate a setpoint for each turbine using the setpoint LUT which has been smoothed as described in Sect. 3.4. The power reduction setpoints are then sent directly to the turbine controllers.
For the purposes of the field test, the controller is toggled on and off every 35 min. This toggle frequency was selected on the basis that the wind advection time along the row from no. 38 to no. 13 will be of the order of 2-5 min in the wind speed range of interest, a further 30 min before switching should be enough time to get a representative result, and the toggling should be frequent enough to obtain periods with similar wind conditions in both toggle states. Choosing 35 min also ensures that switching does not occur at exactly the same time every day, which could introduce a bias due to interaction with diurnal changes in wind conditions. Data from the field tests were recorded at 1 min intervals.
The final algorithm was tested in dynamic time-domain simulations as described in Sect. 4, before being implemented in the field. Section 5 describes the field test and presents an analysis of the results.

Simulation testing
Before the wind farm control was implemented in the field, dynamic simulations were run with LongSim to try to mimic the behaviour of the wind farm as closely as possible in realistic time-varying wind conditions and to assess the likely performance of the wind farm control.
The simulations used a correlated stochastic wind field covering the turbines, generated by LongSim starting from historical data measured at the Sedini met mast, thus ensuring that at least the lower-frequency wind variations are appropriate for the site. The simulation results provided time histories of wind conditions, setpoints and power outputs at each of the turbines. Simulations were run with and without wind farm control and also with the control toggling on and off every 35 min as would be done in the field.

Wind field
The technique for generating the correlated ambient wind field has been described in Bossanyi et al. (2018). The 10 min average historical met mast data were inspected, and a period was selected where the wind speeds and directions were varying over a range suitable for exercising the wind farm control. This time history was assumed to apply at a point in the middle of the row of turbines, and higher-frequency synthetic turbulence was added at that point and also at a grid of points covering all the turbines, using assumed coherence properties, so that variations across the wind farm are realistically correlated, spatially and in time. LongSim's default settings were used for the spectral and coherence properties of the wind.
The wind field was modified by wind shear appropriate for the site, modelled with a shear exponent of 0.143, and the air density was taken as 1.177 kg m −3 .

Turbine model
Although a detailed model of the turbine was not provided, LongSim has the option to model the turbine using power and thrust curves as a function of wind speed, which is sufficient for a basic evaluation. Power and thrust curves were provided covering the allowed range of power reduction setpoints. LongSim also models supervisory control, and in this case the yaw control algorithm provided by GE was implemented, to ensure a realistic response to changing wind directions. Figure 6 illustrates the resulting yaw response during a short example simulation.
The turbine was modelled with a 10 s first-order lag for implementation of the power reduction setpoint. This is an approximation to the actual behaviour; details of this were not provided, save that in lower winds the thrust reduction relies on a change in rotor speed, which might take a few seconds, but in higher winds only a change in blade pitch is needed, which is faster. Simulation results confirmed that a lag of this order has only a very small effect on the induction control performance. The actual setpoint is a dimensional index number upon which the turbine controller acts to reduce both power and thrust, to an extent which varies with wind speed; details were not provided by the manufacturer for reasons of confidentiality, but the maximum reduction does not exceed 20 % of rated power.

Wake model
The wake model selected as described in Sect. 3.1 was used for the simulations. As these are dynamic simulations, assumptions also need to be made concerning the dynamic wake response. LongSim's default assumptions were used for the wake advection speed, namely that the advection speed is the average of the ambient speed and the speed integrated over the wake. Wake meandering was driven by the low-frequency lateral and vertical components of the wind 396 E. Bossanyi and R. Ruisi: Axial induction controller field test at Sedini wind farm field up to a wavenumber corresponding to two turbine diameters. The resulting wakes are simply embedded into the ambient wind field, which is assumed not to be otherwise affected by the presence of the turbines.

Induction control algorithm
The wind farm control algorithm used the same LUT as was subsequently implemented on-site. Simulations were run first with the raw LUT and then with the LUT corrected for wind condition uncertainties as described in Sect. 3.4, firstly just with a 5 • direction uncertainty and then with a further uncertainty of 1 m s −1 in wind speed.
The wind conditions for the LUT were calculated as in the site implementation, i.e. using turbine no. 38 for wind speed and turbulence intensity and all nine turbines for direction but ignoring any inaccuracy in the estimations, that is to say, taking the actual simulated rotor-average wind speed and direction and turbulence intensity as if they were the measured values. The values were low-pass-filtered using a first-order filter with a time constant of 60 s to represent approximately the way in which these signals would be derived in the field. Further filtering could be done, for example to help represent advection of the wind conditions along the line of turbines, but a systematic study was not conducted as this option was not available in the farm control software implemented in the field.

Simulation results with setpoint smoothing
Site met mast data with suitable wind conditions for a period of just over 5 h were selected and used to generate a wind field covering the nine-turbine row. The simulation wind conditions are illustrated in Fig. 7.
Using this wind field, four simulations were carried out: base case, without induction control; induction control, using the raw optimised setpoints; induction control, with the setpoint table smoothed to account for a 5 • uncertainty in wind direction;  Figure 8 shows how the setpoint variation becomes much smoother, using the first controlled turbine (no. 37) as an example. The effect on the total power production from the nine turbines, shown in Fig. 9, is difficult to discern in the plot, so the mean values are given in Table 1. As well as giving smoother control action, this shows that smoothing to account for wind uncertainties, especially wind direction, increases the power gain achieved by induction control. This smoothing was therefore adopted for the LUT used in the field tests. More simulations could be run to optimise the amount of smoothing, but this was not considered worthwhile at this stage.

Simulation of controller toggling
As a final test prior to the start of field testing, a longer simulation was run using a different sample of met mast data to generate the wind field, this time 22.5 h in length, shown in Fig. 10.
Three simulations were run using this wind field: base case, without induction control; induction control with the final smoothed LUT; induction control toggling on and off every 35 min, as for the field tests. Figure 11 shows the power reduction setpoint at the first controlled turbine (no. 37), demonstrating the toggling effect in the third simulation.   The total power for the nine turbines is shown in Fig. 12 for all three simulations. The difference is difficult to discern in the plot, so the mean values are given in Table 2. For this period, the induction control increases the power output by 1.3 %, and if toggling on and off, this increase is halved, as would be expected.

Field testing
The induction control test was initiated on-site, and data recording started on 11 July 2019. The following day, an off-set applied to the wind direction used for the LUT, obtained empirically by matching measured directions to the directions where maximum wake deficits were observed, was corrected, so valid SCADA data were available from 10:50 LT on 12 July onwards. The SCADA data were recorded with a 1 min sampling frequency and provided in a MATLAB data file. The file was updated periodically to include the latest data, which were analysed as described below. Some apparent inconsistencies were checked by running simulations with LongSim using wind fields created from the actual turbine no. 38 SCADA data and with setpoints toggled accord-   ing to a flag recorded in the SCADA data, to try to mimic as closely as possible what was happening in the field. Comparison of simulated and measured results for all the turbines proved extremely useful and revealed some interesting inconsistencies. For example, Fig. 13 compares the simulated and measured power at turbine nos. 34 and 33 during a 17 h period. The power is very well predicted for no. 34 and similarly for all the other turbines except for no. 33: it is clear that this turbine was running in a curtailed mode. Unfortunately, the status flags in the recorded SCADA data did not include any indicator of curtailment.
These simulations also proved to be a valuable tool for verifying the correct implementation of the setpoint changes in the field, as the simulated and measured setpoints for any turbine should match fairly closely through the period of the simulation. Figure 14, for example, shows an excellent match, and any significant discrepancies could be easily identified.

Analysis of field test data
The final dataset consisted of more than 6 months of SCADA data for the nine turbines at a 1 min resolution 400 E. Bossanyi and R. Ruisi: Axial induction controller field test at Sedini wind farm (298 066 records). This was run through an analysis program which carried out the following steps: 1. The data were filtered to include only those records which were both relevant and correct. Firstly, some 43 % of the records were rejected because of missing values of any of the variables of interest, namely the time stamp, the power at each turbine, the wind conditions (speed, direction and turbulence intensity) used for the setpoint table lookup, the operational state of each turbine and the controller toggle state. Any records from periods when there were known technical issues affecting the control states were also discarded. The valid records were then filtered to include only the relevant wind conditions for which the control is active, namely wind speed in the range of 6-15 m s −1 and direction in the range of 180-270 • , as no setpoints were applied outside of this range. This left 21 965 relevant records. Records with high or low turbulence intensity were not filtered out, because the setpoints continued to be applied even if the turbulence was out of the range for which they were designed. Finally, records where one or more turbines were not in normal operation were also discarded, leaving 12 498 records, or just over 4 % of the original data. For the sake of the subsequent processing steps, rather than actually discarding any records, the filtering was performed by assigning a logical flag to each of the 1 min records to say whether or not that record was accepted.
2. The data are parsed to find the moments at which the toggle flag changes. The 5 min following the toggle change is discarded as "settling time", and following this, 10 min chunks are collected up to the next toggle change. Since the toggle interval is 35 min, there should be three such 10 min chunks in each toggle period. However, the realities of real life mean that this is not always exactly true, so a 10 min chunk is kept as long as its apparent length defined by the recorded start and end time is within 30 s of 10 min.
3. For each 10 min chunk, the mean value of the filter flag is calculated, and the chunk is accepted if this is greater than 0.9 (i.e. at least 90 % of the points within it are accepted). For each such chunk, the mean power (summed over turbines) is calculated, as well as the mean lookup table wind speed, wind direction and turbulence intensity and also the mean toggle state (control "ON" or "OFF"). The mean normalised power is also calculated, defined as the total power from the nine turbines divided by the power at the reference turbine no. 38. Each chunk is classified as having control ON if the mean toggle state is greater than 0.9 or OFF if it is less than 0.1 (these criteria are only needed to cope with occasional irregularities in the data).
4. The 10 min ON and OFF chunks are then binned according to wind conditions.

Field test results
The top left graph in Fig. 15 shows the mean ON and OFF power in each wind speed bin. The crosses show the standard deviations of the points in the bin, and the bar chart below shows the number of ON and OFF points in each bin. There appears to be a consistent increase over the wind speed range of interest, apart from the 6-7 m s −1 bin, although it should be noted that the increase is generally smaller than the standard deviation of the points. The highest wind speed bin does not have enough points to be meaningful. Note also that at the lowest wind speeds, some heavily waked turbines may not be producing any power, and in that situation, the thrust coefficient depends on the supervisory control -a turbine generating no power might continue to rotate at minimum operating speed, or it might slow down to an idling speed, probably depending on how long the power remains low. No information was provided about this, so the setpoint optimisations assumed an intermediate thrust coefficient of 0.3 for any turbine producing zero power. This represents a source of uncertainty at the lowest wind speeds. The "unweighted increase" figure simply represents the increase in the sum of the mean powers in all bins containing at least two ON and two OFF points, i.e. excluding the highest bin in this case. The lower plot shows the average turbulence intensities in each bin. These are all higher than the maximum 17 % turbulence for which the controller was designed, and according to the modelling, the control performance decreases at higher turbulence. In many bins, the average turbulence intensity of ON points happens to be slightly higher than for OFF points, so it is possible that higher wake dissipation rather than the control action might account for some of the power increase. It is unclear how much of the unweighted increase of 2.3 % is due to higher turbulence intensity and how much is due to the control. The right hand side of Fig. 15 shows the points binned against wind direction. Since the points in any bin might all have significantly different wind speeds, it makes sense to plot the mean normalised power as defined above, rather than the mean absolute power. Again, as there are not very many points per bin, the increase is smaller than the standard deviations, but the increase seems consistent. However, the largest increases are in the first few bins, where wake interactions (and hence the benefits of the control) should be small, but these points are unreliable because there are very few ON points, with particularly high turbulence intensities. For the bins above 220 • , there are reasonable numbers of points and the ON and OFF turbulence intensities are very similar (though still well above 17 %), so the power increase starts to be credible. The unweighted increase is calculated as before -in this case all bins have enough points to be included, but the figure is clearly skewed by the unreliable increases in the first few bins. One would expect the two unweighted increase figures to converge once all the speed and direction bins are fully populated, since they represent the same set of data points.
To better understand these results and how they relate to the model predictions, the points would need to be binned in three dimensions against wind speed, wind direction and turbulence intensity. There are clearly not enough points for this, but some insights can still be gained by two-dimensional binning on speed and direction. Figure 16 shows the ratio of mean ON and OFF power in each speed and direction bin containing at least one ON and one OFF point. The ratios are mostly greater than 1, peaking at 1.71 in just one bin, i.e. an increase of 71 %. This extreme value is clearly not credible but must be seen in the context of the actual numbers of points in each bin, shown in Fig. 17, and the turbulence intensities shown in Fig. 18. The bin with the 71 % increase contains just four ON points and seven OFF points, and the average turbulence for the ON points is significantly higher. Most bins contain even fewer points, and in some bins the power ratio is less than 1. Many of the points (even more OFF points) are concentrated at low wind speeds with directions above 260 • , which is right at the edge of the region where induction control is expected to be useful. The mean increase over all bins containing at least one ON and one OFF point is shown in Fig. 16 as 2.42 % over 47 bins. If we only accept bins with at least two ON and two OFF points, the mean increase is 4.66 % over 33 bins, and if we require at least three points, it is 4.97 % over 21 bins (note that this includes 402 E. Bossanyi and R. Ruisi: Axial induction controller field test at Sedini wind farm  Also, from Fig. 18, which shows the mean turbulence intensity for the ON and OFF points in each of the bins, it is clear that higher turbulence intensities were experienced during most of the measurement period than the 17 % maximum that the induction control was designed for. The induction control is expected to be less effective in higher turbulence intensities, due to faster wake dissipation. There are not enough data to bin in three dimensions, but to try to better understand the effect of turbulence intensity, the same data can be binned on direction and turbulence intensity, this time binning the ON / OFF ratio of the normalised power (using the power of turbine no. 38 as reference) to remove the effect of different wind speeds within each bin. The results are shown in Fig. 19, together with the corresponding plots showing the number of points per bin and, now, the mean wind speed per bin.
Now we can see that in many of the populated bins, there is a generally positive increase, which exceeds 20 % in five bins and averages 1.7 % overall. The full statistics of the pop-ulated bins in Fig. 19 are listed in Table 3, including the mean wind speed and turbulence intensity of the ON and OFF points. The number of points in each bin is not large, as expected. The turbulence intensities are necessarily quite similar within each turbulence bin; the mean wind speeds differ significantly across the analysed bins, but any potential bias due to wind speed variation is mitigated by the use of normalised power. Overall, there is no clear evidence for any bias arising from chance variations with this small number of points.

Model validation using field test results
Finally, the field test results have been used to validate the LongSim model, by running the model in conditions matched to the field test conditions as closely as possible, both in the steady state and in dynamic simulations.   There is a very similar peak increase of 68 % at 8.5 m s −1 but in a different direction: 225 • compared to 245 • . In the measured data, the 8.5 m s −1 225 • bin showed a 29 % increase, but it contained only three ON and two OFF points. For the 8.5 m s −1 245 • bin, the model predicts a 17 % increase rather than the measured 71 %. The model also predicted a large 80 % increase in the 6.5 % 235 • bin, but in this situation there would be some waked turbines generating zero power, and the assumed thrust coefficient may not be correct, as mentioned above. Apart from these differences in specific bins and bearing in mind the small numbers of measured points in most bins, the general pattern of results over most of the bins indicates    a quite encouraging comparison between modelled and measured results.

Dynamic model validation
For the dynamic model validation, a period of just under 20 h (6 December 2019 13:25:00 LT to 7 December 2019 09:14:00 LT) was selected for which the wind conditions were appropriate for a reasonable amount of induction control activity to take place. A wind field was generated from the SCADA wind conditions as explained in Sect. 4 and used as input to a LongSim simulation, which used the SCADA toggle flag to switch the control on and off. The simulated turbine power and setpoint time histories were then compared against the measured SCADA data. The wind conditions are shown in Fig. 21. These conditions are applied at a point close to the middle of the turbine row. For all other points, a wind field is generated stochastically by LongSim using a random number generator with assumed spectrum and coherence functions, so while the simulated results are expected to match the measured data at low frequencies, the higher-frequency "noise" should only have similar statistical characteristics rather than matching exactly second by second. Figure 22 shows the power production at the first three turbines and also the last turbine. The power at turbine no. 38 is very well predicted. At turbine no. 37, it appears that the turbine must have been switched off for about the first 3.5 h, but the agreement after that is very good. At the next turbine, no. 36, the measured power is higher than predicted by LongSim for the first 3.5 h, presumably due to the fact that while no. 37 was not generating it was not waking no. 36, whereas the simulation was not aware of the curtailment. After no. 37 started generating, the agreement is again very good. There is good agreement for the other turbines too, suggesting that wake effects are well predicted all along the row. Even for turbine 13, the agreement is quite good although it is a long way from where the wind speed used for the simulation was measured. Terrain effects on wind speed have not been modelled, and discrepancies at the higher frequencies are expected because the higher frequencies in the simulated wind field are synthesised statistically. Figure 23 shows the toggling power reduction setpoints at the first four controlled turbines. With the usual exception of the first 3.5 h for turbine no. 37 when it was curtailed, the agreement is again very good. This is equally true for the three other controlled turbines, not shown.

Conclusions
As part of the EU Horizon 2020 research project CL-Windcon, a field test of an axial induction controller for a row of nine turbines at Sedini wind farm in Sardinia, Italy, was carried out. The aim of the controller was to reduce individual turbine setpoints as a function of wind conditions, so as to reduce wake losses and increase the overall power output from the whole row. Historical data from the site were first used to confirm a choice of wake model, and the optimiser of the LongSim model was then used to generate turbine setpoint lookup tables as a function of wind speed, direction and turbulence intensity which would maximise the power output from the row. The tables were then incorporated into a practically realisable control algorithm, which makes use of available measurements to estimate the wind conditions and takes account of wind speed and direction uncertainties. Using wind inputs derived from historical site data, dynamic time-domain simulations were performed in LongSim to verify the design choices and predict the likely dynamic performance.
The algorithm was then implemented in the field, and data were collected for over 6 months, with the control action toggling on and off at 35 min intervals so that the effect of the controller could be assessed. Because of the low occurrence of the appropriate wind conditions and after filtering out any invalid records, there was eventually about 200 h of useful data, from which about 570 periods of a 10 min duration could be extracted, covering a range of wind conditions. This number of data points was too small to be able to quantify the improvement precisely in a statistically meaningful way and much too small to allow the data to be binned against all three of the most relevant variables (wind speed, wind direction and turbulence intensity). Alternative ways to bin the data against one or two variables at a time were therefore used to help identify possible biases, such as those that might be caused by differences in turbulence intensity within a bin, and normalising the power by the power of the leading turbine was useful to compensate for differences in wind speed. Alternative binning methods resulted in estimates in the range of 1.7 % to 2.4 % for the average power increase over the relevant range of wind conditions, although it remains uncertain how much of this might still be attributable to other factors such as turbulence intensity. In our view, at least a few months of valid data would be required to achieve a reasonable level of confidence.
Furthermore, the measured data were also used for validation of the LongSim software, demonstrating excellent agreement and confirming the suitability of LongSim as a valuable tool for designing and testing wind farm controllers.
Code availability. The LongSim code used in this work is a proprietary tool developed by DNV.
Data availability. GE Renewable Energy and Enel Green Power have given permission for the publication of the wind farm field test results presented in this paper, but the raw dataset is not publicly available.