3.1. Turbine, Site, and Measurement System
The proposed framework is evaluated using measurements from a utility scale horizontal axis wind turbine with a rated power of 2 MW and a three-blade upwind rotor. The turbine operates in variable speed and variable pitch mode with a conventional doubly fed induction generator and yaw control. It is installed at an onshore site with moderately complex terrain and turbulent inflow conditions, which result in substantial variability in aerodynamic loading and cyclic structural response.
Structural response is monitored using strain gauges mounted at critical locations on the blades and tower. As illustrated in
Figure 2, gauges at the blade root are oriented to primarily capture flapwise, edgewise, and torsional responses, and gauges on the tower are oriented along the fore–aft and side–side directions to represent global bending response. In the present study, only the blade root channels are used for reduced-order modeling and fatigue diagnosis; the tower gauges are included for completeness of the measurement system description. The gauges are configured in full bridge circuits and connected to dedicated data acquisition units. Raw strain signals are recorded at high sampling rates, with timestamps synchronized to the turbine SCADA system.
The SCADA system provides low-frequency measurements at regular intervals, including wind speed and direction, rotor speed, generator power, collective pitch angle, yaw angle, nacelle orientation, and controller status and alarm flags. These variables characterize the operating conditions and control actions of the turbine and serve as inputs to the stress reduced-order model (ROM). A concise overview of the SCADA variables used in this study, including variables, units, sampling intervals, and roles, is provided in
Table 1. The strain gauge channels and their associated structural directions are summarized in
Table 2.
3.2. SCADA and Strain Datasets and Windowing Strategy
The dataset used in this work comprises continuous measurements collected during normal operation over an extended period. SCADA data are available as 10 min summary records, while strain signals are stored as time series sampled at 1 Hz (
Table 2). Accordingly, the Nyquist frequency is 0.5 Hz, and the present fatigue-metric analysis focuses on load components below this limit; higher-frequency vibration content is outside the scope of the current dataset and analysis. To construct consistent input–output pairs for model development, the strain time series are segmented according to the SCADA timestamps.
For each 10 min SCADA record, the corresponding strain data within the same time interval are extracted. Intervals with missing or corrupted SCADA records, inconsistent timestamps, or known curtailment, start up, or shut down events are excluded from the training set. In addition, time windows for which the raw strain signals exhibit long periods of constant values or clear saturation levels are flagged as sensor faults and removed from the set used to train and validate the ROM. These windows are retained for later diagnostic evaluation but not for model fitting.
The SCADA variables selected as ROM inputs comprise hub-height wind speed, rotor speed, generator power, collective pitch angle, yaw angle, nacelle direction, and relevant control state indicators (
Table 1). Where available, wind and nacelle directions are combined to compute yaw misalignment. To focus on fatigue-relevant operation, intervals with average wind speed below a cut-in threshold are excluded from model training. For validation and testing, the dataset is divided into contiguous time segments corresponding to different periods, so that the training, validation, and test sets are separated in time and information leakage between them is avoided.
The turbine entered commercial operation in 2016; therefore, at the beginning of the measurement period (1 October 2024), the blades had accumulated approximately 8 years of time-in-service. This operating age provides additional context for interpreting the observed fatigue-load characteristics.
A summary of the dataset split and wind-condition characteristics is provided in
Table 3, including the number of 10 min windows in the training, validation, and test periods and summary statistics of wind speed and turbulence intensity (TI). The nominal numbers of 10 min windows in each period correspond to the predefined time-based split. For model training and evaluation, windows are further screened using the data-quality criteria described above (e.g., missing or inconsistent records and sensor-quality issues), and only the resulting valid windows are used in the learning pipeline as detailed in
Section 4.1.
A wind speed–power scatter plot (power curve) is provided to characterize the SCADA dataset and verify data validity. The distribution confirms that the dataset spans the main operating envelope, while isolated points deviating from the expected power curve indicate potential abnormal operating events or measurement artifacts. The plot also highlights distinct control regimes, including the torque-controlled region below rated wind speed and the pitch-controlled region above rated, which motivates the need for a nonlinear ROM capable of learning regime-dependent mappings from operating conditions to fatigue indicators.
Figure 3 shows the scatter plot of ten-minute SCADA wind speed versus active power to provide an overview of the operating envelope and the nominal power-curve trend. The raw SCADA records inevitably include non-nominal operating periods, such as turbine stops, curtailment, and grid limitations, which appear as low-power points even at moderate to high wind speeds. Because these periods can distort both the statistical characterization of operation and the downstream modeling and fatigue-diagnosis results, we apply a quality-control filtering step before subsequent analyses. Unless otherwise stated, all results reported in the following sections are based on the filtered dataset obtained after excluding non-nominal operation and obvious implausible records according to SCADA status information and basic plausibility checks.
3.3. Signal Preprocessing and Feature Engineering
The data processing chain from raw measurements to fatigue metrics is schematically depicted in
Figure 4. It consists of three main steps: stress signal preprocessing, SCADA-based feature construction, and dimensionality reduction using principal component analysis (PCA).
3.3.1. Stress Signal Preprocessing
Figure 5 illustrates a representative ten-minute window sampled at 1 Hz to highlight why the raw strain-gauge signal is not used directly for fatigue feature extraction. Impulsive spikes and brief discontinuities in the raw record can introduce artificial cycles and bias Rainflow counting and the resulting DEL. Therefore, a quality-control preprocessing step is applied to remove outliers and restore continuity prior to stress conversion and subsequent fatigue evaluation.
Representative examples of the original (unprocessed) blade-root strain-gauge signals are shown in
Figure 5 for the flapwise, edgewise, and torsional channels over a 10 min window. The raw measurements may contain typical artifacts such as impulsive spikes, short discontinuities, saturation, or near-constant segments, which can adversely affect cycle counting and fatigue-metric estimation. These observations motivate the signal-level preprocessing steps described below.
Raw strain-gauge signals are first processed at the signal level. Obvious spikes and discontinuities are removed using simple thresholding and median filtering. The strain signals are then converted to engineering strain using the calibrated gauge factors and bridge configurations. Assuming linear elastic behavior, the strain is converted to stress using Young’s modulus and Poisson’s ratio for the relevant blade material. Representative elastic moduli are adopted for the composite blade material based on typical values reported in standards and the literature [
22,
23,
24].
The resulting stress time series are resampled, if necessary, to a uniform sampling interval within each 10 min window. For each window and each monitored blade root direction, the stress history is used as the basis for Rainflow counting and fatigue-metric computation. The resulting directional Damage Equivalent Loads (DELs) for each 10 min window serve as the targets for training the stress reduced-order model. Simple quality checks, such as verifying that the stress range remains within physically plausible bounds and that the signal variance does not collapse to zero, are applied to filter out residual sensor problems.
For each 10 min window, the stress preprocessing and fatigue-metric computation follow these steps:
Identify the corresponding strain segment based on SCADA timestamps;
Perform signal-quality screening and remove windows with spikes, discontinuities, saturation, or near-zero variance;
Convert strain to stress using calibrated gauge factors and assumed elastic constants;
Resample the stress history to a uniform sampling interval within the window (if required);
Apply Rainflow counting and compute window-level fatigue metrics, including DEL;
Store the directional DEL values as targets for ROM training.
3.3.2. SCADA Feature Construction
On the input side, SCADA signals within each 10 min interval are transformed into feature vectors that summarize the operating condition. For each SCADA variable , a set of statistics is computed over the window, including mean, standard deviation, minimum, maximum, and selected percentiles (for example, 10th, 50th, and 90th percentiles). These statistics capture both the average operating point and its short-term variability.
In addition, several derived features are constructed to encode physically meaningful aspects of the operating state. Examples include the following:
Yaw misalignment between wind direction and nacelle direction;
A simple turbulence indicator based on the ratio of wind speed standard deviation to mean wind speed;
Normalized power-related features, such as power divided by the cube of wind speed;
Indicators of time spent below or above rated operation, based on wind speed and control state flags.
In the implementation presented in this study, we retain the 10 min mean and standard deviation of the main SCADA channels listed in
Table 1 (wind speed, wind direction, active power, pitch angle, generator speed, and nacelle yaw angle), together with the mean yaw misalignment feature, as summarized in
Table 4. An interquartile range-based rule is then used for outlier detection at the feature level: windows for which one or more standardized features lie outside a prescribed multiple of the interquartile range are flagged as outliers. These windows are excluded from ROM training and validation to reduce the influence of obviously inconsistent operating conditions, but they are retained when demonstrating the diagnostic performance of the hybrid approach. The complete list of constructed features, together with their definitions and units, is listed in
Table 4.
3.3.3. Dimensionality Reduction with PCA
To address collinearity among SCADA-derived features and to obtain a compact representation of operating conditions, principal component analysis (PCA) is applied to the standardized feature matrix [
25]. Let
denote the SCADA feature matrix constructed from
10 min windows with
features. After standardization,
, where
contains feature-wise means and
is a diagonal matrix of feature-wise standard deviations. The sample covariance matrix is computed as
. PCA is obtained by eigenvalue decomposition
, where
contains eigenvalues sorted in descending order and
contains the corresponding eigenvectors (loading vectors). The principal component score matrix is
. Using the leading
components,
provides an orthogonal representation of operating conditions. For a given 10 min window with standardized feature vector
, the corresponding PC scores are
, as summarized in
Figure 6a. Here,
is the SCADA feature matrix,
is the standardized matrix,
is the covariance matrix,
and
are the eigenvectors (loadings) and eigenvalues, and
is the PC score matrix (with
for the retained components).
Figure 6b shows the projection of all 10 min windows onto the first two principal components. The data points are concentrated along a few elongated structures, which indicates that a small number of latent operating modes govern most of the variability. Inspection of the loading vectors reveals that the first principal component has large positive contributions from hub-height wind speed, rotor speed, generator power, and generator torque, together with a negative contribution from pitch angle. PC1 can therefore be interpreted as a global loading mode or operating level index. Low values of PC1 correspond to low wind conditions and near idle operation, intermediate values correspond to below rated power production with increasing aerodynamic torque, and high values correspond to operation close to or above rated, where aerodynamic loads are high and pitch begins to act to limit power.
The second principal component is dominated by control-related variables, in particular pitch angle, yaw angle, and yaw misalignment, with weaker contributions from power and torque. PC2 can thus be interpreted as a control response mode that describes how the turbine regulates loads for a given wind level. Positive PC2 values are associated with larger pitch angles and more active load shedding, often accompanied by increased yaw misalignment or yaw activity, whereas negative PC2 values correspond to nearly unpitched operation, where aerodynamic loading is primarily determined by wind speed and rotational speed. In combination, PC1 and PC2 separate the data into distinct bands that reflect both the overall loading level and the way the control system redistributes that load.
The contribution of each principal component to the total variance is illustrated in
Figure 6c. The first principal component accounts for the majority of the variance in the feature set, and the next three components each contribute only a small additional fraction. Based on this spectrum, the first four principal components were retained as a compact, orthogonal representation of the operating conditions and were used both for exploratory analysis of operating modes and as an alternative input set for the ROM. In the case study presented here, we compare ROM configurations using either the standardized SCADA features directly or the first four principal components as inputs, and select the final configuration based on test set performance.
- (a)
Schematic of the PCA procedure, including standardization of the feature matrix, computation of the covariance matrix, eigenvalue–eigenvector decomposition, and projection onto the selected principal components;
- (b)
Projection of all 10 min operating windows onto the first two principal components, showing that the data are organized along a small number of dominant operating modes;
- (c)
Variance ratio explained by the first four principal components, illustrating that PC1 captures most of the variance while PCs 2–4 contribute only a small additional share.
3.4. Stress Reduced-Order Model Training and Validation
The stress reduced-order model approximates the mapping from SCADA-based operating condition descriptors to directional blade root fatigue loading. For each monitored blade root direction (flapwise, edgewise, and torsional), a separate model is trained. The model takes as input either the retained principal component scores or the full standardized SCADA feature vector for a given 10 min window and outputs the corresponding damage equivalent load (DEL) for that direction, rather than reconstructing the full stress time series.
Gradient boosting regression implemented via the LightGBM framework is chosen as the learning algorithm due to its ability to capture nonlinear relationships between inputs and outputs while offering low computational cost during inference. The dataset is divided into training, validation, and test subsets using a chronological split: early data are used for training, intermediate data for validation and hyperparameter tuning, and the most recent data for testing. This reflects realistic deployment, where models are trained on historical data and then applied to future operation.
Hyperparameters of the LightGBM models, such as learning rate, number of leaves, and feature and data subsampling ratios, were selected based on validation loss with early stopping. In addition to a baseline configuration using default hyperparameters, alternative configurations with PCA-based inputs and Bayesian optimization of the LightGBM hyperparameters were evaluated, and the final configuration was chosen based on its DEL-prediction accuracy on the test set. In the implementation reported in this paper, a single set of LightGBM hyperparameters was adopted for all three directional DEL-ROMs, as summarized in
Table 5. For interpretability, SHAP values were computed for each direction-specific LightGBM model on the held-out test set, and global importance was summarized using the mean absolute SHAP value.
Model performance is evaluated on an independent test set by comparing the predicted DELs
to the DELs computed from measured stress histories for each 10 min window. We use mean absolute error (MAE), root mean square error (RMSE), and the coefficient of determination
as performance metrics. As summarized in
Table 6, the ROM reproduces the directional DELs with
values of about 0.87, 0.99, and 0.99 for the flapwise, edgewise, and torsional directions, respectively, and with errors that are small compared with the natural spread of DEL values in the dataset. The scatter plot in
Figure 7 shows that the predicted DELs closely follow the 1:1 reference line over the full operating range, with no evident systematic bias.
Table 7 further compares the performance with and without PCA under the same split and training procedure; PCA does not provide a performance gain in this dataset, and the non-PCA configuration is used in the remainder of the study. To clarify which SCADA-derived operating descriptors drive the DEL-ROM predictions, we further provide SHAP-based global feature attribution for each directional model (
Figure 7). These results indicate that the DEL-ROM is sufficiently accurate to support the subsequent Soderberg-based safety assessment and one-class SVM–based anomaly detection. For clarity, the one-class SVM validation results in this case study are obtained using measured DEL features, while ROM-predicted DELs are used in online deployment.
Since the one-class SVM detects deviations in the input feature space, using ROM-predicted DELs may affect anomaly detection performance when prediction errors are non-negligible. Increased prediction noise can inflate apparent deviations and lead to false alarms, while systematic biases may reduce sensitivity and increase missed detections, particularly in directions with larger ROM errors. In practice, this can be mitigated by temporal smoothing or decision rules over multiple consecutive windows, and by calibrating thresholds with consideration of expected ROM prediction uncertainty. A more rigorous assessment using labeled fault events will be part of future work.
3.5. Fatigue-Metric Computation and Soderberg Parameters
The transformation from stress histories to fatigue metrics is summarized in
Figure 4. For each time window and each monitored blade root direction, the measured stress time series
is processed using Rainflow counting to decompose the history into a set of stress cycles. Each cycle is characterized by its range
, mean
, and count
. The Rainflow algorithm employed follows widely used standards for fatigue analysis [
22]. Based on the identified cycles, the damage equivalent load (DEL) is computed as
where
is the S–N curve slope exponent and
is the reference number of cycles. Representative values of
and
for blade materials are selected based on typical design practice and published guidelines, and are documented in
Table 7 together with the assumed material properties used in the Soderberg evaluation. In line with common practice for blades, we adopt an S–N slope of
and a conventional reference cycle count of
cycles; because the same
is used consistently, its exact value does not affect the relative comparison of DELs in this study [
23,
24].
For each 10 min stress history, Rainflow counting yields a set of closed cycles indexed by
, each characterized by a stress range
, a cycle mean
, and an associated count
. The alternating stress amplitude of each cycle is defined as
and the cycle mean stress as
. The DEL in a given 10 min window is computed from the Rainflow amplitude distribution using Equation (1), and thus depends on the cycle alternating amplitudes (or equivalently ranges). For the Soderberg evaluation, we map the Rainflow cycles within each 10 min window to a single representative stress state in the mean–alternating stress plane by defining the effective alternating stress as
and computing the effective mean stress
as a damage-weighted average of cycle means,
The resulting pair is then used in the Soderberg relation to compute a conservative utilization index for each 10 min window.
To obtain a physically interpretable fatigue safety index, the Soderberg criterion is applied. Effective alternating and mean stresses
and
are computed from the Rainflow cycles within each window, for example, by taking appropriately weighted averages of the cycle ranges and means. These values are combined into a Soderberg index,
where
denotes an assumed endurance limit (fatigue strength) and
denotes an assumed yield (or static) strength. Since proprietary design values and blade-specific S–N data are not available,
and
are chosen as conservative representative parameters for glass-fiber composite blades rather than exact design values. In this study,
and
are treated as generic, conservative material parameters due to the lack of blade-specific coupon data. The resulting Soderberg index is therefore used as a screening indicator that preserves physical interpretability and monotonicity with respect to stress level, rather than as an absolute risk estimator. Specifically, we vary
and
by ±10% and ±20% around the baseline values in
Table 7 and report the resulting changes in the distribution of
and in the proportions of windows classified as Normal/Alert/Alarm. To reflect uncertainty in the S–N slope, we also recompute DEL using representative exponents (e.g.,
) and discuss the impact on downstream screening outcomes.
The material parameters are differentiated by direction to reflect the different laminate configurations at the blade root. For flapwise bending, which is carried mainly by unidirectional glass, the highest strength and fatigue resistance are expected; we therefore assign
MPa and
MPa as conservative fractions of typical static and fatigue strengths reported for GFRP blade laminates. Edgewise bending is more strongly influenced by gravity loading and by laminates with a larger proportion of off-axis plies, so slightly lower values of
MPa and
MPa are used. Torsional response is governed primarily by shear in ±45° plies and adhesive joints, which motivates the lowest strength levels with
MPa and
MPa. These values are intentionally chosen below the upper bounds of published data so that the resulting Soderberg index provides a conservative assessment of fatigue safety [
23,
24]. The adopted set of fatigue and material parameters (
,
,
,
) for each direction is summarized in
Table 8.
Figure 8 illustrates the Soderberg-based safety map for the flapwise blade root stress in the mean–alternating stress plane. The solid black line denotes the Soderberg limit defined by
, while the blue and red lines indicate the alert and alarm thresholds corresponding to lower and higher values of the Soderberg index (
and
), respectively. Each marker represents a 10 min operating window plotted by its effective mean stress
and alternating stress
; black, blue, and red markers correspond to states classified as Normal (
<
), Alert (
≤
<
), and Alarm (
≥
). The values adopted for
,
,
, and
are summarized in
Table 9. In this work, the Soderberg index is interpreted using three condition classes defined in
Table 8. The lower threshold
marks a conservative boundary for normal operation, while the upper threshold
is chosen to flag operating points that are close to the Soderberg limit
.
A sensitivity check was performed by perturbing
and
by ±10% and ±20% around the baseline values (
Table 8), and recomputing the Soderberg index for each 10 min window. All windows were re-classified using the same Normal/Alert/Alarm bands in
Table 9. In addition, DEL was re-computed using m = 8, 10, and 12 to reflect plausible variation in the S–N slope.
3.6. One-Class SVM Configuration and Hybrid Decision Logic
While the Soderberg-based index provides a scalar, physically meaningful measure of fatigue safety, it does not fully exploit the multivariate structure of fatigue-related metrics and depends on assumed material parameters. To complement this physics-based assessment, a one-class support vector machine (one-class SVM) is employed as an unsupervised anomaly detector in the space of fatigue features [
26]. Because ground-truth damage or fault labels are not available in the present dataset, the one-class SVM is used as an unsupervised novelty (outlier) detector that identifies deviations from the learned normal feature distribution, rather than as a fault detector or fault-type classifier.
For each 10 min window, a fatigue feature vector is constructed from quantities such as the directional DELs, effective mean and alternating stresses, selected percentiles of the stress-amplitude distribution, and the Soderberg index. In the case-study validation, the one-class SVM is trained and evaluated using fatigue features computed from measured strain-gauge signals (strain → stress → Rainflow → 10 min DEL) to isolate the anomaly-detection behavior from ROM prediction errors. In online SCADA-only deployment, the same feature definitions are evaluated using DEL-ROM outputs so that both the Soderberg screening and the one-class SVM operate on a shared ROM-based representation of directional fatigue loading. These features are standardized using statistics from the training data. The complete feature set supplied to the one-class SVM is summarized in
Table 10.
The one-class SVM is trained exclusively on windows that represent normal operation. These windows are selected by excluding periods with controller alarms, curtailment, obvious sensor faults, or extreme transient events. This choice reflects the practical constraint of limited labeled fault data and focuses the model on detecting departures from the normal operating feature manifold. A radial basis function kernel is used to allow nonlinear decision boundaries in the feature space. The kernel width and the regularization parameter that controls the fraction of allowed outliers are tuned using a validation subset of the normal data. The tuned hyperparameters are listed in
Table 11.
After training, the one-class SVM assigns to each new window either an anomaly score or a binary label, indicating whether the corresponding feature vector lies inside or outside the learned normal region. In the proposed hybrid diagnostic scheme, the Soderberg index is used as a first-stage, physics-based screening, and the one-class SVM serves as a second-stage, data-driven anomaly detector. The final diagnostic state is classified as Normal only when both the Soderberg class is Normal and the one-class SVM label is normal. Any case where either the Soderberg class is Alert or Alarm, or the one-class SVM labels the window as abnormal, is treated as Abnormal, as summarized in
Table 12. In this study, “Abnormal” denotes an inspection-triggering deviation or a risk-relevant increase in fatigue indicators, not confirmed structural damage. Therefore, without labeled fault events and inspection records, the frequency of abnormal flags should not be interpreted as a quantified fault-detection rate, but as a conservative prioritization signal for further investigation.