A Machine Learning Method for Modeling Wind Farm Fatigue Load

: Wake steering control can signiﬁcantly improve the overall power production of wind farms. However, it also increases fatigue damage on downstream wind turbines. Therefore, optimizing fatigue loads in wake steering control has become a hot research topic. Accurately predicting farm fatigue loads has always been challenging. The current interpolation method for farm-level fatigue loads estimation is also known as the look-up table (LUT) method. However, the LUT method is less accurate because it is challenging to map the highly nonlinear characteristics of fatigue load. This paper proposes a machine-learning algorithm based on the Gaussian process (GP) to predict the farm-level fatigue load under yaw misalignment. Firstly, a series of simulations with yaw misalignment were designed to obtain the original load data, which considered the wake interaction between turbines. Secondly, the rainﬂow counting and Palmgren miner rules were introduced to transfer the original load to damage equivalent load. Finally, the GP model trained by inputs and outputs predicts the fatigue load. GP has more accurate predictions because it is suitable for mapping the nonlinear between fatigue load and yaw misalignment. The case study shows that compared to LUT, the accuracy of GP improves by 17% ( RMSE ) and 0.6% ( MAE ) at the blade root edgewise moment and 51.87% ( RMSE ) and 1.78% ( MAE ) at the blade root ﬂapwise moment.


Introduction
Wind farm owners schedule turbine layouts more and more tightly for higher profits. Unfortunately, this tight layout has a more pronounced wake effect, which leads to more power loss. Therefore, active wake control (AWC) is introduced to reduce the power loss caused by wake [1]. AWC can be implemented in two ways. One is wake steering control (WSC), which reduces the wake effect on the downstream turbine by deflecting the wake propagation direction through yaw misalignment [2]. The other is axial induced control (AIC), which reduces the wind energy capture of the upstream turbine by adjusting the generator speed and pitch angle [3]. The wake steering control has been proven to improve power production more than axial induction control in large eddy simulation (LES) simulation [4], wind tunnel [5], and field tests [6]. Moreover, the new research proved that WSC also affects the fatigue load on the downstream turbine, reducing turbine service life [7]. Consequently, recent developments in AWC have heightened the need for fatigue loads prediction.
Most studies have focused on fatigue load estimation at the turbine level, which did not consider the effects of yaw misalignment and wake interaction between turbines. Schröder et al. [8] proposed an artificial neural network (ANN) model to improve the prediction accuracy of fatigue load in a single turbine. Compared with the polynomial chaos expansion (PCE) model [9], the ANN model shows lower NRMS error, faster evaluation time, and small sample adaptability. However, the effect of wake features is not considered in this paper. Similar work such as Singh's [10] research uses chained Gaussian processes to provide probabilistic predictions, which is valuable for robust control [11,12]. Ervin Bossanyi [13] performed a study surrogate model for turbine loads in two-turbine farms. This surrogate model added different wind and control factors to the steady wind. The limitation of this paper is the accuracy of influence factors, which may differ in complex layouts. Georgios [14] applied the regression method to map the relationship between the load and de-rating control strategy. This method can estimate the short-term fatigue load. However, it does not consider the effect of yaw control. Finally, a multi-dimensional look-up table was proposed to predict the farm load in [15]. This method obtains the load prediction from interpolation, significantly reducing the computational time. However, with the increase in wind farms, this method will be time-consuming and inaccurate. Some studies have considered the balance between wind farm power generation and load [16,17]. Nevertheless, these studies rely on computational fluid dynamics models, which have unaffordable computing time.
In summary, the fatigue load prediction for wake steering control must have the following properties: • Running fast: The fatigue load predictions will be used in the optimization loop. Therefore, the computational time must be as short as possible. • Nonlinear mapping capability: The ambient wind and wake interaction influence the fatigue loads. Thus, a complex nonlinear relationship exists between fatigue load and ambient wind and wake interaction. • Considering wake interaction: The load of the downstream turbine is influenced by the upstream turbine's wake effects, including partial wake, wake meandering, and wake superposition. • Considering wake deflection: The wake deflection affects the load as it changes the wake propagation direction by yaw misalignment, so wake deflection must be considered.
Considering the above objectives, machine learning and artificial intelligence, such as SVM [18], GP [10], and DNN [19], are suitable for predicting the fatigue load because they can achieve the above goals at the same time.
This paper proposes a machine learning model based on GP to predict fatigue loads under yaw misalignment. Firstly, a series of mid-fidelity simulations based on FAST.Farm [20] with yaw misalignment were designed to obtain the original load data, which considered the wake interaction between turbines. Secondly, the rainflow counting and Palmgren miner rules were introduced to transfer the original load to damage equivalent load. Finally, the GP model predicts the fatigue load after training by inputs and outputs. The main contributions of this paper are as follows: (1) A mapping from ambient wind, wake interactions, and yaw misalignment to fatigue damage at farm level; (2) the effects of yaw misalignment on blade root edgewise moment and blade root flapwise moment were measured.
The remainder of this paper is organized as follows: Section 2 introduces the main framework and theoretical knowledge; the GP method and evaluation metrics are introduced in Section 3. Lastly, case study results and conclusions are presented in Sections 4 and 5, respectively.

Main Framework
A typical machine learning process includes data collection, data preprocessing, input and output construction, model training, and testing. The load signal is affected by many aspects, such as wind speed (WS), wind direction (WD), turbulence intensity (TI), axial induction factor (de-rating), and yaw angles (θ). The scope of this paper covers wind speed, wind direction, turbulence intensity, and yaw angles.
The flow chart of the main work is shown in Figure 1. In the beginning, the simulations are executed to obtain the original load data corresponding to the inputs. Then, the function of fatigue modeling is to calculate outputs from the original load data. Further, the GP model is trained by inputs and outputs. Finally, the fatigue load can be predicted by the trained GP model.

Fatigue Load Modeling
The raw load data cannot visually show the equivalent damage value because it is presented in time series. Therefore the rainflow counting (RFC) method and the Palmgren-Miner (PM) rule were proposed to calculate damage equivalent load (DEL). The calculation process of DEL is shown in Figure 2. The RFC converts the load signals to a series of cycles (n i ) in terms of stress amplitude(s i ) [21]. The PM rule combined with the S-N curve (material properties) transforms RFC results to equivalent damage load [22]. Suppose that the cycles n i and the corresponding stress amplitude s i are obtained by the rainflow counting algorithm. i is calculated automatically and different i represent different loop amplitudes. The ratio of fatigue cycles to total life failure cycles can be defined as damage factor d i [23]: where n i is cycles calculated from RFC; N i is number of cycles to failure in terms of the stress amplitude S i . As shown in Figure 3, the PM rule is used to express the relationship between stress and the number of failure cycles, which is linear in the log-log coordinate system, where m is the Wohler exponent.
The relationship can be expressed as Then, Equation (1) can be expressed as The total damage DEL(Damage Equivalent Load) can be summed for cycles of difference amplitudes: For a given number of cycles n eq and the corresponding amplitude S eq , the DEL can be expressed as n eq S m eq S m Finally, when n eq equals signal length in seconds, the DEL of the signal is equal to the damage of a 1 Hz sinusoidal signal of the same length with amplitude S eq . This method avoids the use of extreme loads.

GP Model
The GP is an excellent machine learning model with the distribution of functions [24]. It is a random process with good adaptability to complex problems such as small samples, nonlinearity, and high dimensionality. For a given dataset can form a set of random variables and have a joint Gaussian distribution. All the statistical characteristics of the Gaussian process are defined by the mean function m(x) and the covariance function k(x, x ). Figure 4 shows the GP prediction procedure, which consists of two phases, i.e., training and prediction. The training phase uses inputs and outputs to train the model, where the inputs include wind speed, wind direction, TI, and yaw angles, and the outputs are the damage equivalent loads from the fatigue load modeling. The predicted values are obtained if the inputs and the trained model are given. For a particular load on a wind farm with n turbines, n GP models are required.

Evaluation Factor
The predicted fatigue loads will be used in the yaw offset optimization process. In addition, measuring the effect of yaw misalignment on the fatigue load will help decide whether the fatigue load needs to be considered. Thus, the following metrics are defined: where R WTi is the max-min range of turbine i; DEL WTi (θ 1 , θ 2 , . . . , θ n ) is the the fatigue loads of turbine i in the whole yaw angle cases. The root-mean-square error (RMSE) and mean absolute error (MAE) are used to measure the accuracy of the prediction. RMSE and MAE are defined as follows [25]: where N is the number of evaluation points, and y i andŷ i are the actual and predicted outputs. The smaller the RMSE and MAE are, the more accurate the prediction is.

Case Study
This section discusses the results of FAST.Farm simulations [20], damage equivalent loads, and the GP prediction. The parameters of simulations are shown in the first subsection.
As a mid-fidelity simulation, FAST.Farm has a satisfactory calculation accuracy than the low-fidelity simulation, such as FLORIS [26] , and its computational cost is lower than the high-fidelity simulation, such as SOWFA [27]. FAST.Farm is based on an improved dynamic wake meandering (IDWM) model, which addresses many of the limitations of the original DWM model. The load calculation module of FAST.Farm relies on the ElastoDyn module in Openfast to calculate the structural load, including tower, nacelle, drivetrain, and blades.

Parameters
Wind farm simulation involves many parameters, including wind precursor, wind turbine and farm layout, and simulation control parameters.

1.
Wind precursor: A precursor is the wind data used in a simulation to generate ambient wind. There are nine wind precursors with different wind speeds and turbulence intensities generated by TurbSim [28]. The average wind speed (hub level), wind direction, and turbulence intensity of precursors are shown in Table 1. A wind precursor case is shown in Figure 5. The U, V, and W components of the wind speed represent the horizontal, cross, and vertical directions of the wind speed in space, respectively.

2.
Turbine and layout parameters: The NREL 5 MW wind turbine is used, with a diameter of 126 m and a nacelle height of 90 m [29]. The wind farm contains two or three wind turbines, which are placed on a straight line, with a distance of five times the diameter of the wind turbine. Figure 6 shows the velocity of FAST.Farm simulation at 1900 s under precursor P7 and yaw offset (θ 1 = 5 and θ 2 = 0).

3.
Yaw angle control strategy: The control strategy mainly focuses on yaw-based control. Each simulation case runs at fixed yaw angles for 2000 s. The last 500 s of data are used to calculate DELs. The range of yaw angles command in two turbine cases is shown in Table 2. For example, in the control mode of Y1, the upstream wind turbine WT1 of each case will move to a fixed angle (θ 1 ), and the downstream wind turbine will maintain an angle of 0 (θ 2 = 0). Under Y2, the last turbine keeps zero yaw angles. Moreover, the load types include blade root edgewise moment (BREM) and blade root flapwise moment (BRFM), and their damage equivalent load values are DEL-BREM and DEL-BRFM.    Figure 7 shows the original load signal of BREM and its 1 Hz equivalent signal (from fatigue damage modeling) under precursor P1. The 1 Hz equivalent signal for different loads has a fixed frequency and a different amplitude. The amplitude represents the value of the damage equivalent load. The figure shows that the 1 Hz equivalent signal has a lower amplitude than the original signal at higher frequencies. Figure 8 shows the DEL-BREM calculation results of WT1 and WT2, including sample data and mean value. The sample data divide the original load into ten groups, and each group calculates the damage equivalent load through the fatigue load modeling.   Figure 9 shows the predictions of LUT and GP in WT1 and WT2. In Figure 9a, the LUT prediction looks better than GP because the fatigue load of WT1 is close to a straight line. In contrast, the prediction of GP, Figure 9b, is more fitted to the samples than the LUT algorithm. Figure 10 shows the 95% confidence level probabilistic prediction results from GP, which proves the predictions covered 9% of the samples. Tables 3 and 4 demonstrate the RMSE errors of BREM on WT2 for different wind speeds and turbulence intensities. Table 3 shows that the prediction errors of LUT and GP become more significant as the wind speed increases, from 22.69% to 50.09% for LUT and from 5.45% to 15.19% for GP. However, the prediction accuracy of GP increases with wind speed compared to LUT, from 17.24% to 34.90%. On the contrary, Table 4 shows that the prediction error decreases with the increase of turbulence intensity. The TI increases from 5% to 15%, the LUT prediction error decreases from 22.69% to 7.56%, and the GP decreases by about 2.5%. The improvement of GP relative to LUT prediction also decreases gradually.

Two-Turbine Case
In conclusion, the prediction error of GP increases with the wind speed and decreases with the increase of turbulence intensity. Similar conclusions can be obtained from Tables 5 and 6.  12 show the BREM and BRFM sample data on normalized damage equivalent loads in three turbines. For this case, the wind speed, turbulence intensity, and direction are 9 m/s, 5%, and 0 degrees. The axis scales of the four subplots are the same. The obtained fatigue load is normalized for visual expression by dividing a fixed value. The obtained fatigue load is normalized for visual expression by dividing a fixed value. The fixed values, in this case, take the fatigue load of the first turbine under the yaw offset [0, 0, 0]. Remark 1. The first-row turbine's damage equivalent load in blade root edgewise moment is less affected by yaw misalignment, while the second-and third-row turbines are more affected by yaw misalignment. Figure 11, the normalized BREM-DELs of WT1 remain essentially constant, which proves that the BREM-DELs in the first row of turbines are less affected by yaw misalignment. In contrast, the yaw misalignment affects the BREM-DELs of the second and third rows of turbines because the BREM-DELs curves of WT2 and WT3 vary with yaw angles. As shown in Figure 12, the normalized BRFM-DELs of WT1 stay constant when the yaw angle of WT2 changes. However, this changes with the yaw angle of WT1. Regarding WT2 and WT3, the normalized BRFM-DELs vary with WT1 and WT2 yaw angles. Although all three turbines are affected by yaw misalignment, the influencing factors differ. Specifically, the fatigue load of WT1 is affected by its yaw deflection. In addition, WT2 is affected by WT1 wake and its yaw deflection. WT3, on the other hand, is affected by the mixed wake of WT1 and WT2 since the yaw angle of WT3 is zero. Figure 13 displays the max-min range (defined in Equation (8)) of normalized fatigue load . Figure 13a is blade root edgewise moment, and Figure 13b is blade root flapwise moment. In Figure 13a, the max-min range of WT1 is 2%, meaning the first row of turbines is almost unaffected by its yaw misalignment. On the other hand, the max-min range of WT2 and WT3 is 32% and 33% when the yaw misalignment is active. From Figure 13b, all turbines' blade root flapwise moments are affected by the yaw misalignment. The max-min ranges of WT1, WT2, and WT3 are 38%, 100%, and 75%, respectively. Thus, the above results confirmed the observations from Figures 11 and 12 (Remarks 1 and 2).   Figure 14 presents the fatigue load of blade root edgewise moment under GP and LUT. As shown in Figure 14a,d,g, LUT predictions in WT1 are close to the samples. However, GP predictions are more partially fitted to the samples than LUT in Figure 14b,c,e,f,h,i. A similar trend can be seen in Figure 15. From the previous analysis, it was concluded that the wake of the upstream turbine influences the downstream turbine fatigue load and that the nonlinearity of this influence becomes stronger as the number of upstream turbines increases. Figures 16 and 17 show the errors of LUT and GP methods in three turbines.   Figure 17 shows a more significant error of up to 22.46% on RMSE in WT2. The reason is that WT1 has weak nonlinear characteristics on BREM-DEL and BRFM-DEL, and WT2 only has weak nonlinear characteristics on BREM-DEL. LUT is more suitable for mapping the weak nonlinear characteristics between the fatigue load and yaw angles. For example, Figures 16 and 17 show that LUT has a zero error in WT1, compared to a slight error in GP, with nearly 1% RMSE and 0.1 MAE. Compared to LUT, GP is suitable for the nonlinear dataset. As shown in Figure 16, GP has a 5.18% RMSE and 0.99% MAE error, compared to 21.12% and 1.63% in LUT. Similarly, GP shows lower errors in Figure 17. The RMSE in GP is 6.99% (WT2) and 6.48% (WT3), compared to 22.46% (WT2) and 43.96%(WT3) in LUT. The same trend can be seen in MAE. In summary, the prediction accuracy of GP improved by 13.99% (RMSE) and 0.54% (MAE) at the blade root edgewise moment and 51.87% (RMSE) and 1.78% (MAE) at the blade root flapwise moment.

Conclusions
This paper introduces a GP-based machine learning model to predict the damage equivalent load under yaw misalignment. This model considers the nonlinear relationship between fatigue load and yaw misalignment, which solves the problem of inaccurate prediction by LUT. The nonlinearity between the fatigue load and yaw misalignment strengthens with the increase of turbine depth (row number in the downstream direction); however, the sensitivity of the fatigue load to turbine depth is different. For example, in the three-turbine case, the damage of the blade root edgewise moment is very little affected by its yaw deflection, with a max-min range of 2% for the first row of turbines. However, as turbine depth increases, the max-min range increases to 32% (WT2) and 33% (WT3). The difference with the above load is that the blade root flapwise moment of the first row of turbines is influenced by 38%. As the turbine depth increases, the max-min range increases to 100% and 75%. Compared to the LUT algorithm, GP has a more accurate prediction of fatigue loads. For example, in the three-turbine case, the prediction accuracy of GP improved by 13.99% (RMSE) and 0.54% (MAE) at the blade root edgewise moment and 51.87% (RMSE) and 1.78% (MAE) at the blade root flapwise moment.
In the future, the wake steering control strategy will be optimized by farm-level fatigue load prediction and farm power prediction, thus enabling the wake steering control to balance power generation and turbine lifetime. Further, wake steering control will be combined with independent pitch control to reduce wind farm loads.