1 Introduction

During the last decade, wind power has become one of the fastest-growing forms of renewable energy use. Because of the variable nature of wind, accurate wind power forecasting is essential for the integration of wind energy into the electric power grid. More recently, a growing interest has emerged in forecasting the sudden and large variations in wind power production, called wind ramps [2]. Ramps present significant operational obstacles to wind energy integration. In response to sudden increases or decreases in the generated wind power, energy system operators must take actions to keep the system balanced. For example, if an upward ramp event occurs, the system operator may have to shut down wind turbines to avoid over-generation. The more accurate the wind ramp predictions, the more effective the proactive interventions by the operators can be.

State-of-the-art ramp prediction methods generally detect ramp events from the predicted wind power generation, i.e. using the output of a wind power forecasting system. A state-of-the-art forecasting system consists of a numerical weather prediction (NWP) model that produces wind speed and direction forecasts, and statistical or machine learning methods that model the relationships between the wind speed forecasts and actual wind power generation [3,4,5]. However, wind ramp events are not well predicted by existing wind power forecasting systems: their prediction performance is worse during ramp events, compared to periods with steady or gradually changing winds. Improvement of wind ramp forecasting performance is the main contribution of the presented approach.

Analysis of weather patterns associated with ramps can add substantial value to ramp prediction [6]. Grant et al. [7] stated that human intervention can greatly improve ramp forecasts in practical operations, by examining the weather situations accompanying the ramps. Of the many meteorological variables, the pressure field is most frequently used as an indicator of weather type [8, 9]. The strong association between pressure gradient and wind [10] makes air pressure a suitable candidate to examine for its potential to improve wind ramp prediction.

In this paper, we describe improvements to wind ramp prediction, using the near-surface pressure field and the texture extraction technique of Gabor filtering [11], commonly used in image processing. The extracted Gabor features are used as inputs to a ramp forecasting system. The performance of the resulting system is compared with a current state-of-the-art ramp forecasting method.

This paper is organized into five sections. Previous work related to the use of weather patterns to improve wind ramp prediction is summarized in Sect. 2, while Sect. 3 provides details of the new prediction approach. The application of the proposed approach using real meteorological and power production data is described in Sect. 4. Finally, Sect. 5 gives the major conclusions and indicates possible directions for future work.

2 Related work

Most existing ramp prediction methods detect ramps from wind power forecasts, obtained using state-of-the-art wind power forecasting systems. Such forecasting systems convert wind data from an NWP model into power generation forecasts. This conversion is usually facilitated by statistical or machine learning methods, which approximate the power curves of wind farms [3,4,5].

Apart from occurrence prediction of ramp events, several studies have also investigated the uncertainty of ramp predictions obtained using state-of-the-art forecasting systems. Bossavy et al. [12] used NWP ensembles (with 51 NWP members provided by the European Centre for Medium-Range Weather Forecasts model, ECMWF) to improve the estimation of the temporal uncertainty of ramp predictions. Greaves et al. [13] analyzed the temporal uncertainty of predicted ramp occurrences, by calculating a probability density function based on the phase error of ramp predictions from training data sets. Cui et al. [14] detected ramp event probability characteristics from statistical scenarios produced by a neural network (NN) probability generating model. The parameters of the NN model were optimized by an improved genetic algorithm based on multi-objective fitness functions. Ferreira et al. [15] generated statistical scenarios by using a Monte Carlo sampling process given a probability density function (PDF) for the wind power forecasts and then output a histogram of the probability of having a ramp event above a certain magnitude for each prediction horizon. Cui et al. [16] derived the probabilistic distribution of ramps using stochastical scenarios of wind power generation, which were generated by an NN model trained using cumulative density function (CDF)- and auto-correlation function (ACF)-based objective functions. A thorough review of ramp forecasting can be found in [6, 17].

Ramp prediction can benefit from an analysis of the underlying weather situation [6, 7]. Improvements in the prediction of wind power and ramps can also be achieved using other meteorological variables, in addition to wind speed [18, 19]. Kamath [20, 21] used a feature selection technique to evaluate the influence of several meteorological variables on the identification of ramp occurrences. Vladislavleva et al. [22] analyzed the correlation of important meteorological variables with wind power generation and then obtained a model with some selected meteorological variables, which gave a reliable wind power prediction. Couto et al. [23] classified weather regimes on surface level atmospheric data and identified most representative weather regimes using principal component analysis (PCA) by applying K-means clustering. Strong associations between certain weather regimes and ramps were found.

The atmospheric pressure field is an important indicator of weather situations or weather types. It has been widely used in weather type recognition schemes [9, 24]. The geostrophic wind speed and vorticity, which can be derived from gridded pressure data, are employed in a widely used weather classification system, the Lamb system [8, 25]. This system has been applied to analyze the influence of weather types on surface meteorological observations [26, 27]. In addition to their strong association with weather types, pressure fields are also directly related to surface wind speed [10]. Gutierrez et al. [28] used pressure data to reconstruct historical wind speed for a wind farm area. Cutler [29] analyzed ramp events by classifying them into several synoptic weather classes using atmospheric pressure data.

In this paper, a quantitative analysis of atmospheric pressure fields is used to support the prediction of wind ramps. First, coherent features are extracted from gridded pressure fields using the image texture processing technique of Gabor filtering [11, 30]. These features, which identify the occurrence of strong pressure gradients, and hence strong winds, are then used as input to ramp prediction models.

3 Methodology

3.1 Wind ramp definition

Wind ramps are typically defined as changes in wind power generation, which exceed a certain percentage of the rated power, within a short period of time [7, 13]. A basic ramp definition uses the difference between the maximum and minimum values of power generation within a specified time period. In recent years, many researchers have detected ramps using filtering techniques [31] that reduce noise in the power signal. Here we use the definition proposed by Bossavy et al. [12]. In this approach, the original power time series \(P\left( t \right) \) is first transformed into a filtered representation \(P^{f}\left( t \right) \) that is then limited by a threshold. Ramp identification is thus performed as follows

$$\begin{aligned}&{P^{f}\left( t \right) } = \hbox {mean}\left\{ {P\left( {t+h} \right) -P\left( {t+h-n} \right) ;\,h=1,\ldots ,n}\right\} , \nonumber \\&{\left| {P^{f}\left( t \right) } \right| } > {P_{\mathrm{th}},} \end{aligned}$$
(1)

where n is the number of time steps for which the power differences are considered, and \(P_{\mathrm{th}} \) is the magnitude threshold of the filtered signal \(P^{f}(t)\). Figure 1 illustrates the use of this ramp event definition. The ramp time is usually specified as the central time of the event.

Equation (1) can also be expressed in the form \(Ax=b\)

(2)

If the wind power series has length N, then A is an \(N \times N\) matrix, and the power generation and power change series are both vectors of length N. The absolute value of the power change signal, \(\left| {P^{f}\left( t \right) } \right| \), is called the “power change magnitude” hereafter and used in this work to describe the intensity of wind ramps.

Fig. 1
figure 1

Example of a wind ramp identified using Eq. 1 for \(n=3\). Solid line is the hourly power generation time series, dashed line corresponds to filtered signal. The plotted points on each curve indicate the hours when the filtered signal exceeds the specified power magnitude threshold. The time of the ramp is taken to be at the 24 h mark (the central time of the event)

3.2 State-of-the-art method (SOA)

Typical state-of-the-art wind ramp prediction methods detect ramp events in the predicted power generation time series. Hence, it is essential to forecast first the wind power for a wind turbine, wind farm, or cluster of wind farms. Most current wind power forecasting systems consist of an NWP model, which forecasts wind speed and other meteorological variables, and a mathematical model of the relationship between the NWP model output variables and actual wind power generation. Current and recent power generation values may also be included in this model, since they can provide trend information for extrapolating power generation into the near future.

The power prediction process can be formally expressed as follows:

$$\begin{aligned} \hat{P}( {t_0 +T} )= & {} f(W_{\mathrm{s}} ( {t_0 +T} ),W_{\mathrm{d}} ( {t_0 +T} ),P( {t_0 } ),\nonumber \\&\quad P( {t_0 -1} ),P( {t_0 -2} ),\ldots , P( {t0-n} )), \end{aligned}$$
(3)

where \(\hat{P} \left( {t_0 +T} \right) \) is the predicted wind power generation at time \(t_0 +T\), \(W_{\mathrm{s}} \), and \(W_{\mathrm{d}} \) represent, respectively, the wind speed and direction forecast, \(P\left( {t_0 } \right) \) is the recorded wind power generation at time \(t_0 \), and \(P\left( {t_0 -n} \right) \) is the recorded wind power generation at time \(\left( {t_0 -n} \right) \). The function f represents a statistical or machine learning algorithm modeling the power conversion. The parameters of these algorithms are typically estimated by minimizing a predefined error metric, such as the root mean square error (RMSE) or mean absolute error (MAE) between predicted and observed power generations, during the course of training on historical data.

Various machine-learning methods have been applied to wind power prediction [5, 32, 33]. For example, Gan and Ke [34] used least square support vector machine (LSSVM) to predict wind power ramps. The most widely used method is the multilayer–perceptron (MLP) neural network [18, 19, 35,36,37,38]. Kusiak et al. [19] used five different algorithms to forecast wind power: support vector machine regression (SVM-R), an MLP neural network, a radial basis function (RBF) network, a classification and regression tree, and a random forest. The accuracy of these models was then estimated and compared. It was found that the model generated by the MLP neural network outperformed the other models for both 12-h-ahead and 84-h-ahead wind power forecasts.

MLP is a feed-forward, artificial neural network. It has been successfully used to solve a number of regression and pattern recognition problems. Its typical configuration consists of a single hidden layer of neurons with a sigmoidal transfer function. Theoretically, this configuration is a universal approximator, given a sufficiently large number of neurons in the hidden layer [35]. The network learns to associate pairs of patterns from a training data set. The most common learning algorithm for MLP is the back-propagation algorithm, based on gradient descent.

In this study, we formulate a state-of-the-art wind ramp prediction model, in order to establish a baseline and allow subsequent comparison with the proposed improved approaches to wind ramp prediction. This model predicts wind power generation from NWP-based wind speed and direction forecasts, augmented by recent values of power generation (see Eq. 3). The MLP neural network with back-propagation was used to develop the wind power prediction model. Ramp predictions are then made by applying a ramp definition to the predicted power series (see Eq. 1). Detailed parameters regarding MLP neural network setting and threshold for defining ramps can be found in Sect. 4. For convenience, we will call this procedure State-Of-the-Art (SOA).

3.3 Gabor filtering

In this paper, we augment the wind power prediction model by analyzing the forecast pressure field to identify strong pressure gradients. Specifically, we assess the pressure gradient field using Gabor filtering, a technique commonly applied in image processing. Gabor features are extracted from the two-dimensional pressure field produced by the NWP model. The pressure field can be regarded as an image, with individual pixels corresponding to pressure values on a two-dimensional array of grid points.

Gabor filtering is a common texture extraction technique used in image processing [11, 29], with applications such as object identification and detection. In our proposed wind power forecasting system, it is used to extract features associated with strong pressure gradients (and hence strong winds) from gridded pressure data. A Gabor filter consists of a Gaussian kernel function modulated by a sinusoidal plane wave [11]. It has the following general form:

$$\begin{aligned} g(x,y)=\exp \left( {\frac{x^{\prime 2}+\gamma ^{2}y^{\prime 2}}{2\sigma ^{2}}} \right) \cos \left( {2\pi \frac{x^{\prime }}{\lambda }+\varphi } \right) , \end{aligned}$$
(4)

with

$$\begin{aligned} x^{\prime }= & {} x\cos \theta +y\sin \theta , \\ y^{\prime }= & {} -x\sin \theta +y\cos \theta , \\ \sigma= & {} \frac{\lambda }{\pi }\sqrt{\frac{\ln 2}{2}}\cdot \frac{2^{b}+1}{2^{b}-1}, \end{aligned}$$

where x and y represent two perpendicular axes (in our case parallels of latitude and meridians of longitude). The parameters \({\theta },{\lambda },\varphi ,\gamma \text { and } b\) determine the characteristics of the Gabor filter support: \(\theta \) specifies the orientation of the support (the normal to the parallel stripes of the Gabor function and hence an indication of the direction of the extracted pressure gradient); \(\lambda \) represents the wavelength of the cosine factor of the Gabor filter kernel and thus determines the scale (and hence strength) of the extracted pressure gradient; \(\varphi \), the phase offset, determines whether the support is symmetric, \(\varphi =0\), or not, \(\varphi =\pi /2\) (in order to allow for a difference between the pressure fields on opposite sides of a target location, asymmetric support is used); \(\gamma \) is the spatial aspect ratio, specifying the ellipticity of the support or equivalently the shape of the identified region with high pressure gradient, and b is the bandwidth, related to the ratio of \(\sigma \) (the standard deviation of the Gaussian function) to \(\lambda \) (the scale of the pressure gradient). It represents the smoothing effect of the Gabor filter.

Features (regions of strong pressure gradient) are extracted (identified) by convolving the Gabor filter with the two-dimensional pressure field p:

$$\begin{aligned} G\left( {x,y} \right) =\int \int p\left( {\xi ,\eta } \right) g\left( {x-\xi ,y-\eta } \right) \hbox {d}\xi \hbox {d}\eta \end{aligned}$$
(5)

When used for the identification of forecast wind ramps, the parameters of the Gabor filter must be chosen in such a way as to facilitate the identification of extended regions of strong pressure gradient. In order to select the parameter values for the Gabor filter, we first conduct a morphological assessment to choose values of \(\varphi \), \(\gamma \), and \(\beta \) that best characterize the nature of the strong atmospheric pressure gradients associated with strong and rapid wind changes. In particular, we are looking for quasi-linear features/structures with a weak gradient along one direction and a strong gradient perpendicular to it. Based on several empirical tests, an asymmetric, elongated filter support with a single parallel strip has been selected, as illustrated in Fig. 2. Following morphological selection, two more parameters remain to be determined: scale \(\lambda \) and direction \(\theta \). Using the four scales (\(\lambda =2, 4, 6, 8\)) and four directions \(\left( {{0},{1/4}\pi ,{1/2}\pi ,{3/4}\pi } \right) \), 16 distinct combinations of Gabor parameters can be obtained. Using these combinations, the 16-dimensional Gabor feature vector (Fig. 3) is defined to be the corresponding 16 values of \(G=(x,y)\) at the grid point corresponding to the location of interest (e.g. a wind farm). These feature vectors are evaluated and then selected, based on their correlation with power generation and wind ramp occurrence, as described in Sect. 4.3.

Fig. 2
figure 2

Illustration of morphological parameter tuning of Gabor filters. Symbols \(\times \) denote rejected candidates, while \(\vee \) denote accepted candidates. The exact value of the parameter used is determined based on the correlation between particular feature and wind power generation, as discussed in Sect. 4.3

Fig. 3
figure 3

Illustrations of Gabor filter support with different orientations (x-axis, from left to right \({\theta }=0,{1/4\pi },{1/2\pi },{3/4\pi })\) and scales (y-axis, from top to bottom \({\lambda }=2,4,6,8)\). The ID numbers established in this figure are used throughout the text

3.4 Proposed approach

Based on the SOA method described in Sect. 3.2, we propose two approaches to improve the SOA wind ramp forecasting. The first approach, which we call Gabor 1, uses features extracted from the pressure field as additional inputs to the MLP predictor of the power generation time series. As in SOA, ramps are then identified in the power generation time series. The second approach, which we call Gabor 2, uses the same input to the MLP predictor, but it directly forecasts the magnitude of the power change, without going through the intermediate step of forecasting the power series. Thresholding the magnitude of the power change allows the detection of wind ramp events. The three models are summarized in Table 1.

Table 1 Essentials of the three ramp forecasting models

4 Experiments

4.1 Data

Hourly wind power generation data for three wind farms in southern Alberta (c.f. Fig. 4 and Table 2), were obtained from the Alberta Electric System Operator (AESO)—web site (http://www.aeso.ca).

NWP data were hindcast using the Weather Research and Forecasting (WRF) model [39]. WRF was used to perform regional atmospheric simulations, based on initial and boundary conditions provided by the National Centers for Environmental Prediction (NCEP) operational Global Forecast System (GFS) (http://www.nco.ncep.noaa.gov/pmb/products/gfs/).

The parameters of the WRF physics settings [39] were configured as follows: Lin et al. scheme for microphysics [40]; the Rapid Radiative Transfer Model for longwave radiation [41]; the Dudhia scheme for shortwave radiation [42]; the MM5 similarity surface layer model [43, 44]; the Noah land surface model [45]; a boundary layer model based on the Yonsei University scheme [46]; and the Kain-Fritsch scheme for cumulus parameterization [47].

The WRF simulations were performed using two co-centric, nested domains with resolutions of 18 and 6 km, respectively, both on a \(39 \times 39\) grid. The outer domain (Domain 1) provided the pressure data for a larger region, while the higher-resolution inner domain (Domain 2) provided the wind speed forecast for the target wind farms. Note that there are two grid points between farm 1 and the left edge of the inner domain; this alleviates possible reliability issues of numerical solutions for grid points located at the edges of the modelling domain. The region covered by the outer domain has an area of 492,804 km\(^{2}\); it is centered on southern Alberta, Canada (Fig. 4). Located east of the Rocky Mountains, southern Alberta is a great location for wind energy production. It is dominated by subsiding, westerly mountain flows over the lee of the mountains and frequented by strong Chinooks.

Fig. 4
figure 4

Terrain height of the nested domains of interest (the square box in the center indicates the inner domain). Three black dots indicate the locations of the three target wind farms

Fig. 5
figure 5

Illustration of how we assembled the power prediction time series used for ramp detection. Every 6-h long wind power prediction is connected to single time series, for future ramp detection

Table 2 Wind farm characteristics

In the presented study, WRF was run in hindcast mode, that is, forecasts were made starting from an initial point in the past [48]. The WRF runs provided forecasts with horizons of up to 24 h. The temporal resolution of the WRF output was 30 min for the outer domain and 5 min for the inner domain. Forecasts were issued at 00:00, 6:00, 12:00, and 18:00 GMT each day, for 24  h ahead (see Fig. 5). A few hours of model spin-up is usually required to generate cloud, precipitation and high-resolution atmospheric features. Therefore, a 6-h spin-up was performed for each “six-hourly” forecast. The entire simulation period covered 1 year from August 2011 to July 2012. The outputs of the WRF model have been validated by comparing with observations made at a nearby weather station. Overall, five variables (wind speed, wind direction, surface pressure, 2 m temperature, and pressure at 9th WRF layer) were extracted from the simulation results, at all grid points and for each time step, over the 1 year period. The total volume of analyzed data was approximately 3.7 GB.

The wind speed and direction forecasts used in the power prediction model were extracted by interpolating the gridded WRF wind output to the farm location and hub height (60 m). The 5-min wind data were averaged into hourly forecasts, in order to match the temporal resolution of the power generation data. Pressure field data for the Gabor-based method were extracted from the outermost domain every hour, in order to cover a large region and thereby detect strong, mesoscale pressure gradients. These hourly data were then input into Eq. 3, in order to predict wind power at each wind farm separately by using MLP neural network.

In order to detect a ramp from the power forecast, the predicted hourly power values were assembled into a time series. Wind power predictions are typically issued at a certain time of day, for several hours ahead. In our case, power predictions were issued every 6 h for 24 h ahead. These values can be assembled into time series in two different ways. First, if only coarse power predictions are available, they can be interpolated to obtain hourly predictions. Ramp identification can then be tested using forecast power values for the same horizon. While this approach may well represent the ramp prediction performance for each prediction horizon, it neglects the fine fluctuations contained in the original predicted power generation.

In order to take into account hourly variability, the predicted wind power generation (for a 6-h interval from each forecast) can be combined to form a consecutive series of hourly predicted power generation. For example, forecasts updated every 6 h with horizons from 19 to 24 h, can be connected to form a single time series for ramp detection. The timing of the various simulations/forecasts is illustrated in Fig. 5.

4.2 Evaluation metrics

The performance of wind power forecasts can be evaluated using a suitable error measure, e.g. the root-mean-square-error (RMSE). However, wind ramp predictions require an event-based evaluation framework. For this purpose, two metrics were selected: ramp capture rate and forecast accuracy. These metrics are commonly used for evaluating event predictions [13, 49, 50].

Each forecast of a ramp event can be classified as a true positive (TP), a false positive (FP), a false negative (FN) or a true negative (TN). Based on these categories, “ramp capture rate” indicates the fraction of actual events that were predicted correctly:

$$\begin{aligned} \text {ramp capture rate }=\frac{\text {TP}}{\text {TP}+\text {FN}}, \end{aligned}$$

while “forecast accuracy” indicates what fraction of predicted events actually occurred:

$$\begin{aligned} \text {forecast accuracy}=\frac{\text {TP}}{\text {TP}+\text {FP}}. \end{aligned}$$

Ramp predictions can be affected by phase errors, meaning that ramp events are predicted hours before or after their actual occurrence. To allow for moderate timing errors, a tolerance time is typically used to link predicted ramp events with actual ones [12, 13]. The tolerance time is a temporal range around the timing of observed ramps. For instance, if the tolerance time is set to 8 h, a predicted ramp event whose timing is up to 8 h earlier or 8 h later than the actual one is still considered to be a correct forecast. This tolerance time is short enough to separate neighboring ramps, but long enough to associate corresponding forecast and observed ramps. When the tolerance time allows two or more forecast ramps to be associated with a single observed ramp, only the ramp whose timing is closer to the observation is taken to be a correct forecast.

4.3 Feature selection

Gabor features were extracted from the forecast pressure fields. As a result of our choice of Gabor parameters, these features are associated with extended, contiguous regions of strong pressure gradient (Figs. 23). Mean sea level pressure (SLP) data are commonly used in the literature for weather pattern classification. However, using SLP in western Canada may introduce extrapolation errors, due to the substantial terrain height exceeding 1000 m above mean sea level (Fig. 4). To avoid these errors, various isobaric and geopotential surfaces were considered alternatives to SLP and tested. These included SLP itself, the 700 hPa geopotential height surface and several WRF co-ordinate levels. Each WRF co-ordinate layer corresponds to a specific ratio of the actual pressure to surface pressure, \(\sigma \), representing the fraction of the total air mass above it (e.g. \(\sigma =1\) represents the terrain surface, while \(\sigma = 0\) is the top of the model atmosphere).

In order to minimize the effects of random initialization, MLP training was performed five times for each choice of vertical coordinate surface. There were no substantial differences among the layers. However, WRF level 9 with \(\sigma = 0.84\), provided overall best results. This level was, therefore, used for all subsequent experiments. Gabor features were extracted based on the pressure on this sigma level.

The Gabor feature vector at the location of each farm was extracted from the gridded pressure data on the 0.84 sigma level. In order to identify the component from the 16-dimensional vector of Gabor features (Fig. 3) most relevant for power prediction, absolute values of Spearman’s rank correlation coefficient between each feature and power generation were calculated. A set of components with relatively high correlation with power generation were chosen, to be added to the input of the Gabor 1 and Gabor 2 models. A similar procedure was used for the other input variables.

Figure 6 shows the correlation between power generation and several input variables, using the absolute value of Spearman’s rank correlation coefficient, for Farm 1. The variables include three Gabor components, selected from the 16-dimensional feature vector, based on their correlation with power generation. Also, shown are the forecast wind speed and direction and recent power generation. Other meteorological variables shown in Fig. 6 are the forecast surface pressure, temperature at 2 m above ground, and the two components of the local grid-wise pressure gradient (meridional and zonal), as represented by the pressure difference between two neighboring grid points.

Fig. 6
figure 6

Absolute value of Spearman’s rank correlation coefficient between observed power generation and various input variables (three Gabor features, forecast wind speed, forecast wind direction and recent power generation \(P(t_0), P(t_0-1)\), forecast surface pressure, forecast 2-m temperature, and meridional, and zonal pressure gradient components), for Farm 1 (color figure online)

Fig. 7
figure 7

An example of a ramp event at wind farm 1 and the corresponding Gabor feature (vector component 16). a time series of power generation and power change signal describing the ramp event.; b pressure field on WRF layer \(\sigma =0.84\) at the time corresponding to the peak magnitude of Gabor feature values (at 20:00, May 10); c pressure profile along the diagonal line indicated in the pressure field during both ramp time and non-ramp time; d Gabor feature (ID: 16) during the same time period

Among all the input variables, forecast wind speed showed the highest correlation with power generation, for almost all prediction horizons. Recent power generation (current and 1 h ago) was well correlated with power generation for prediction horizons of less than 10 h, but the correlation decreased rapidly with increasing prediction horizon. Because the forecast wind direction had a low correlation with power generation, it was not included in the Gabor 1 model. Forecast temperature and pressure also had low correlation with power generation. In addition, unlike the Gabor features, the two local grid-wise pressure gradient components appear to be of little use for forecasting power generation. The three selected Gabor feature components were well correlated with power generation through all prediction horizons. Consequently, they were used as additional input into the Gabor 1 power forecasting model. In summary, the input variables for this model include forecast wind speed, recent power generation and the three selected Gabor feature components, Gab1, Gab2, and Gab3.

An example shown in Fig. 7 illustrates the relationship between a Gabor feature (specifically Gabor vector component 16) and the progression of a ramp event. It is clear that at the time of the sharpest power changes, i.e. the ramp time, the Gabor vector component attained a local maximum.

The association between a Gabor feature (vector component) and ramp events is also shown using Spearman’s rank correlation coefficient in Fig. 8 (the difference in scales between the x-axes of Figs. 6 and 8 is due to their different nature - hourly power prediction vs. horizon interval, respectively). This figure also shows the correlation between the power change magnitude and other variables considered as possible inputs for the Gabor 2 model (forecast wind speed and direction and recent power generation). The forecast wind speed had the highest correlation with the power change magnitude, while the forecast wind direction had a low correlation. The correlation between the power change magnitude and recent power generation decreased with increasing prediction horizon. Among the potential input variables, Gabor features had the highest correlation with the power change magnitude. Consequently, we decided to use forecast wind speed, recent power generation and selected Gabor vector components as inputs to predict the power change magnitude directly, using the Gabor 2 model.

Since the wind speed and pressure gradient are physically related, as expressed in the geostrophic and gradient wind equations, Gabor features were also tested as independent inputs to the MLP model, in addition to the forecast wind speed. The correlation between the 16-dimensional vector of Gabor features and forecast wind speed, wind direction and recent power generation was also evaluated. The highest correlation coefficient, around 0.4, was found between Gabor component 14 and forecast wind speed. However, this value is not large enough to establish that the two variables are strongly correlated. Hence, it appears that Gabor features may be able to contribute independent, new information as inputs to the Gabor 1 and 2 models. The merits of using Gabor features are further demonstrated in Sect. 4.4, which compares models SOA and Gabor 1.

Fig. 8
figure 8

Absolute value of Spearman’s rank correlation coefficient between input variables and power change magnitude, for Farm 1 (color figure online)

4.4 Evaluation of the Gabor 1 and Gabor 2 models

Both SOA and Gabor 1 models used a MLP predictor to make power generation forecasts for each prediction horizon. When dividing the entire dataset into training, validation and testing datasets, one method is to divide the data simply sequentially [12]. For example, one could train the model using data from first half of the year and test it using data from the second half. However, in our case, the pressure field is determined by weather patterns that are specific to the time of year. A possible way to divide datasets in this case is to break the whole dataset into several small periods, e.g. training the data for 3 weeks and testing it for the following 2 weeks [29]. However, this method may introduce too much recent trend information into power prediction. To avoid overfitting the recent trend, and to allow for seasonal patterns in the input variables, the dataset for the entire year was divided into three consecutive, 4-month periods. Training, validation, and testing datasets were extracted sequentially within each component as 50, 20, and 30% of available data points, respectively. The time periods with missing GFS data were removed from the datasets.

Figure 9 shows box plots of the observed and predicted power generation by the SOA forecasting system. The quartiles of the two variables are depicted. Comparing the first and third quartiles (bottom and top of the boxes) of the two variables, it is clear that the SOA forecasting model underestimated power generation for high winds and overestimated it for low winds (also indicated by Bossavy et al. [12]). This phenomenon probably led to smaller ramp magnitude predictions than the actual ones, thereby worsening the ramp prediction results. This issue is further discussed in Sect. 4.5.

Fig. 9
figure 9

Boxplots of predicted and observed (actual) power generation. The bottom and top lines of each box represent the first and third quartiles of the values, and the red line inside the box represents the median value (color figure online)

The difference between models SOA and Gabor 1 lies in additional input variables. All potential input variables, including Gabor features obtained, were considered and selected through the process described in Sect. 4.3. Wind direction was removed from the variable set, due to its low correlation with power generation.

The performance of the two models was evaluated using RMSE of the predicted power, for each prediction horizon, and for each farm. Figure 10 shows the RMSE of models SOA and Gabor 1 for Farm 1. The relatively good performance for prediction horizons of less than 6 h was likely due to persistence and the use of recent power trend, i.e. the inclusion of recent values of power generation as the model input. For longer forecast horizons, the error increased slightly.

Figure 10 also shows that model Gabor 1 had a lower RMSE for most prediction horizons, thereby demonstrating better performance in power prediction than the SOA model. Both models were also tested using data from the other wind farms. For Farm 2, Gabor 1 also exhibited better predictive performance than SOA, while for Farm 3, the RMSEs of the two models were comparable.

The operational choice of parameter values for detecting ramps is case and purpose sensitive. For example, for electric systems with slow-started power generation, such as coal, the ramps occurring within a short time period are of greater concern than for systems with fast-started power generation, such as hydro.

In this study, we have used \(n= 3\) hours in Eq. 1, a value used in the literature [12]. The threshold was set to \(P_\mathrm{th}=15\%\) of the nominal power, and the tolerance time to 8  h [12, 13]. The results of the performance comparison, for various values for the magnitude parameter, are shown in Sect. 4.5.

Fig. 10
figure 10

Comparison of the RMSE of predicted power for SOA and Gabor 1 (in percentage of the nominal power) for Farm 1 (a) and Farm 2 (b)

Table 3 Performance comparison for ramp prediction by the three models (\({\hbox {tolerance time}} = 8\) h) for Farm 1

The ramp prediction performance of models SOA and Gabor 1 is presented in Table 3. Based on the ramp capture rate and forecast accuracy of the two models, Gabor 1 performs poorly compared with the state-of-the-art model (SOA). This holds for most of prediction horizons and for all three farms. In summary, the experiments show that, although Gabor 1 provides more accurate power predictions than SOA (as measured by lower RMSE of predicted power generation), it performs worse for ramp prediction.

4.5 Evaluation of the Gabor 2 model

As we discussed in connection with Eq. 2, converting a power series to a power change signal can be regarded as solving a linear system \({ Ax}=b\), where x represents power generation, and b represents the power change signal. Since the matrix of coefficients A is singular, this linear system has no solution. Hence, the corresponding power generation cannot be obtained given the predicted power change magnitude from the Gabor 2 model. However, the power change magnitude forecast can be used independently to detect ramp events, since ramps can be detected directly from the power change signal (Eq. 1). Moreover, since the SOA forecast system tends to underestimate the magnitude of ramp events, as discussed in Sect. 4.4, it is possible to use the Gabor 2 forecast to complement the SOA ramp forecast.

In what follows, the performance of the Gabor 2 model is tested in terms of ramp capture rate and forecast accuracy (higher is better for both measures). An example is also presented that illustrates how forecasts produced by this model can be used to complement the SOA forecast.

In Tables 3 and 4, the performance of Gabor 2 is compared to the other two models. Table 3 shows individual model comparisons for Farm 1. It is evident that Gabor 2 performed better than SOA and Gabor 1 for both metrics, for all three farms and for all prediction horizons.

Table 4 shows similar results to Table 3, but for a 5-h tolerance time. Since the tolerance time is shorter than that for the cases in Table 3, the values of ramp capture rate and forecast accuracy are lower overall than those in Table 3. Nevertheless, like Table 3, Table 4 also shows that the performance of Gabor 2 is superior to that of SOA and Gabor 1, with respect to ramp capture rate and forecast accuracy. This result applies for all three farms and all prediction horizons.

Table 4 Performance comparison for ramp prediction by the three models (\({\hbox {tolerance time}} = 5\) h) for Farm 1

Operationally, Gabor 2 could be used to complement a state-of-the-art ramp prediction model (SOA), as illustrated in Fig. 11. The black lines represent the observed power generation (solid) and observed power change magnitude (dotted), The red lines (solid and dotted) are corresponding SOA forecasts, with forecast horizons of 13 to 18 h. The main differences are that the predicted power change magnitude (red dots) is not as sharp as observed (black dots), and the predicted power generation following the ramp is higher than observed. It would be difficult to identify a ramp based solely on SOA’s predicted power change magnitude (red dotted line). However, the predicted power change magnitude of Gabor 2 (blue line) is closer to the observed power change series, albeit the peak being lower and broader than actual.

In this example, Gabor 2 provides supplemental information that supports the forecast of a ramp event during this time period.

Fig. 11
figure 11

An example of ramp predictions made by SOA and Gabor 2, for Farm 1, for prediction horizons of 13–18 h ahead. Black solid and dotted lines represent observed power generation and power change magnitude, respectively. Red lines represent corresponding predictions made by SOA. The blue line indicates the power change magnitude predicted by Gabor 2 (color figure online)

5 Conclusions and future work

With the increased penetration of wind energy into electric power grids, the accuracy of wind power forecasting becomes increasingly important. Wind ramps pose significant operational obstacles to wind power integration. As a result, they have attracted much research interest. Analyzing weather patterns associated with ramps can add value to ramp prediction.

In this paper, we have introduced ramp prediction methods using extracted feature vectors from the near-surface pressure field, using the texture extraction technique of Gabor filtering. Two proposed methods, Gabor 1 and Gabor 2 were illustrated and tested against a state-of-the-art model (SOA) and observations, using case studies involving three wind farms located in southern Alberta, Canada.

By testing the correlation of several input variables with power generation, it became evident that certain Gabor features are well correlated with power generation and power ramps. This correlation was weaker than that for the forecast wind, but stronger than the correlation with wind direction, temperature, pressure, and local pressure gradient from NWP output. In order to preclude the possibility that Gabor features provide only redundant information for power prediction, we also tested the correlation between Gabor features and other input variables such as forecast wind speed. The results showed that they are not highly correlated. In view of this outcome, we concluded that Gabor features can potentially add useful, independent information to the ramp forecast process, and so we incorporated them into two ramp forecasting systems.

In the first approach (Gabor 1), we used Gabor features as input to a neural network-based power prediction model. In this model, we removed forecast wind direction as an input variable, due to its low correlation with power generation. Gabor 1 showed an improvement over SOA in power generation forecasting ability, as measured by RMSE. However, its performance in ramp prediction was worse than our SOA, which does not include Gabor features as input.

In the second approach (Gabor 2), we aimed to directly predict the power change signal that defines a wind ramp, i.e. power change magnitude. This variable represents the intensity of ramp events. We also used additional input variables, including Gabor features, to predict the power change magnitude. Ramps were detected by thresholding the predicted time series. Experimental results, based on an entire year of simulated forecasts, have demonstrated the superior performance of this approach, as measured by ramp capture rate and forecast accuracy, in comparison with SOA. In addition, this method is able to provide warnings in cases when wind ramps are missed by conventional methods. Because of the superior performance of this approach for ramp prediction, it can also provide additional information on ramp magnitude and timing to the end-users, significantly enriching data important for daily operation of wind power plants and integration of wind energy in electric power grids.

Since the presented method uses mainly pressure gradient to improve ramp prediction, in future work, we plan to explore the merits of other atmospheric variables in ramp prediction and evaluate the robustness of resulting models under different atmospheric conditions. Methods for estimating the temporal uncertainty of ramp occurrence will also be developed, based on probabilistic wind power generation forecasts.