Power prediction is important not only for the smooth and economic operation of a combined cycle power plant (CCPP) but also to avoid technical issues such as power outages. In this work, we propose to utilize machine learning algorithms to predict the hourly-based electrical power generated by a CCPP. For this, the generated power is considered a function of four fundamental parameters which are relative humidity, atmospheric pressure, ambient temperature, and exhaust vacuum. The measurements of these parameters and their yielded output power are used to train and test the machine learning models. The dataset for the proposed research is gathered over a period of six years and taken from a standard and publicly available machine learning repository. The utilized machine algorithms are -nearest neighbors (KNN), gradient-boosted regression tree (GBRT), linear regression (LR), artificial neural network (ANN), and deep neural network (DNN). We report state-of-the-art performance where GBRT outperforms not only the utilized algorithms but also all the previous methods on the given CCPP dataset. It achieves the minimum values of root mean square error (RMSE) of 2.58 and absolute error (AE) of 1.85.

1. Introduction

The accurate prediction of power generated by a plant helps in reducing various related issues such as power outages, economic, and technical difficulties [1, 2]. In particular, an inaccurate prediction results in the rise of per unit cost of electric power [3] due to the high fuel consumption. Hence, in this paper, we aim at achieving a precise prediction of electric power of a base load CCPP on full load conditions thus ensuring decreased cost of per unit of electric power [4].

The power of thermodynamic power stations can be calculated using complex mathematical models [5]. These models involve a vast range of assumptions and parameters to reflect the actual uncertainty of the system. However, these mathematical models are time consuming and are based on a deterministic approach [5]. On the other hand, supervised machine learning (ML) algorithms incorporate probabilistic approaches for power prediction instead of mathematical modeling [6]. With the availability of data, the prediction done with the ML approach is far more convenient, scalable, and flexible thus preventing to model the whole the system. It can also be observed in other similar approaches, for instance, predicting groundwater hardness vulnerability [7], estimating soil erosion susceptibility [8], groundwater level prediction [9], and groundwater potential prediction [10]. Our proposed ML algorithms assess historical data of a power plant, operating under a variety of environmental conditions, in order to provide optimized power forecasts in less time [11]. However, being probabilistic in nature, the predictions made by ML algorithms involve errors. Due to this reason, we propose to evaluate several algorithms for the task of power prediction of a CCPP. Furthermore, we also search for the parameters of these algorithms where they give the least error on the current dataset.

The generated electric power of a CCPP unexpectedly fluctuates throughout the whole year due to several parameters, such as ambient temperature, atmospheric pressure, humidity, and exhaust vacuum [12]. Consequently, these parameters directly and indirectly influence the output power [13] of a CCPP. Therefore, power production can be improved and fuel consumption can be reduced by optimally controlling these parameters [14]. The primary focus of this research is to analyze the influence of ambient parameters on output power prediction rather than controlling the parameters. For this purpose, these environmental parameters are used to predict the electric power through various machine learning algorithms [4].

Nonetheless, various probabilistic approaches are previously used for CCPP power prediction including bagging and regression ANN [4, 15]. However, their prediction error is slightly high [16], due to which, this paper proposes the machine learning algorithms for the prediction of electric power of CCPP operated on full load using the previously mentioned four parameters. Gradient-boosted regression tree (GBRT), linear regression (LR), artificial neural network (ANN), and -nearest neighbor (KNN) are used to improve the power prediction. The individual and cumulative effects of each parameter are evaluated on output power prediction using these four machine learning algorithms. These algorithms are compared with the previous research work to find improved results. The best performance among these four machine learning models is analyzed by choosing the least RMSE and AE values.

The rest of the paper is organized as follow: Section 2 outlines the related work. Section 3 introduces the proposed methodology, and the results and discussion are briefly discussed in Section 4. Finally, we conclude the paper in Section 5.

Pourbeik et al. [17] proposed the basic working of a combined cycle power plant (CCPP). The main parts of the power plant are gas turbine, steam turbine, heat recovery steam generator (HRGS), and electric generator. In the gas turbine, compressed high-pressure air combined with fuel inside the combustion chamber, which makes hot pressurized air to strike the turbine blades and shaft coupled with electric generator for power generation. Due to the usage of gas turbine, the temperature of residual exhaust air is still high, and thus, it is used as an input of the heat recovery steam generator (HRSG). After that, hot air converts water into steam which rotates the steam turbine and power is generated by using both gas and steam turbines. The overall efficiency of CCPP is about 55 percent. Tfekci [4] presented to forecast the hourly based electrical power of a combined cycle power plant (CCPP) operated on base load for full load conditions. The benefit of operating in full load is to escalate the turnover of available hours. Several machine learning regression algorithms used for increasing the performance of predicting models and compared with their output results in the form of RMSE to find the best results. Firstly, it fetched the best subset that contained all input features. Secondly, it identified the best regression algorithm among the other fifteen algorithms. As a result, the bagging algorithm with the REPtree [4] algorithm to observed the best method applied to the best subset with a minimum RMSE of 3.787 and absolute error (AE) of 2.818. Yeom and Kwak [18] presented the Takai-Sugeno-Kang- (TSK-) based extreme learning machine (ELM) for power estimation. This algorithm is designed by an efficient approach to generate automatic fuzzy if then rules. It has mainly two steps. Firstly, the initial matrix of random partitions generated, and cluster centers are calculated for random clustering. These centers are used to decide the nearer part of fuzzy rules. Secondly, least square estimate (LSE) used to estimating the linear parameters of the TSK fuzzy type. The results depict that the TSK ELM method showed less RMSE of 3.93 as compared to ordinary ELM as shown in Table 1.

Lorencin et al. [16] proposed a genetic algorithm (GA) approach to a multilayer perceptron (MLP) design in order to predict of the CCPP electrical power output. A heuristic algorithm to increase the regression performance of MLP compared to those available in the literature. The GA was applied by using crossover procedures and processes based on mutation. These methods are implemented in 50 different generations for the design of 20 different chromosomes. Using Bland-Altman (BA) analysis, MLP configurations, which are devised with GA implementation, are validated. Five hidden layers of MLP, 25, 80, 65, 75, and 80 nodes using GA, respectively, are built. -fold cross-validation is performed to assess average performance of the abovementioned MLP. The RMSE value obtained with the abovementioned MLP is 4.305, which is considerably less than the MLP provided in the existing literature, but still greater than numerous complicated algorithms, such as star and tree-based algorithms. Bandić et al. [22] described the random forest algorithm for estimating the output power of a CCPP at full load. The analysis is conducted between twofold where in the first fold all the features are utilized, whereas in the second fold only three features are used. Random forest, random tree, and adaptive neurofussy inference system (ANFIS) algorithms are used for power prediction. Performance evaluated by taking RMSE, absolute error (AE), and correlation of predicted model. After applying all algorithms, the best result is obtained by the random forest. Results acquired on all features showed RMSE of 3.0271 MW, where 90 percent of the data used for training while the remaining 10 percent used for testing. Elfaki and Ahmed [12] presented the regression artificial neural network (ANN) to estimate the electric power of the CCPP. A total of seven experiments are performed on the ANN model. Each time the performance of the ANN model is different due to random initial weights and bias. It perceived that the performance improved by increasing the number of data records of available features, and performance oscillates when new features are added into the dataset. Consequently, higher number of training records led to increased performance. After that, correlations among features and then between features and output parameters are calculated. Two training functions are applied to the same datasets and performance is observed. In this study, Bayesian regularization showed better performance than the Levenberg-Marquardt method. Moreover, the output result is compared with original result, and it is almost the same with a minimal value of standard deviation. The error between the original and output results also the least. Şen et al. [13] described the vital role of input features to estimate the output power of CCPP. There are four input features used in CCPP, namely, ambient temperature, pressure, humidity, and vacuum. One main feature among all others is the ambient temperature, which causes significant variation in the performance of CCPP. Depending on the environmental conditions, the temperature also deviates between 8°C to 23°C. The efficiency of CCPP observed at 8°C is 42.7% and generated power is 227.7 MW. On the other hand, at 23°C temperature, the observed efficiency of 43.3% and generated power of 197.3 MW are recorded. This happens when the inlet air temperature of the gas turbine increases, which in turn decreases the amount of oxygen in the air per unit volume. Due to less amount of oxygen, the burning rate becomes lower in the combustion chamber. It has a negative influence on the output power of the gas turbine. Thus, combustion will be higher when the amount of oxygen is high. Therefore, for maximum power generation, a proper cooling system should be installed on the inlet side, which could reduce the temperature of air. Rashid et al. [23] proposed a novel approach of swarm optimization-based feed-forward neural network that used to design the predicting model. All input variables of the plant are used as an input of the feed-forward neural network. Particle swarm optimization (PSO) is a learning algorithm. Performance is analyzed by using mean square error (MSE). PSO trained feed-forward neural network which depicted favorable results for power estimation. MSE of the training dataset is observed to be 1.019-04; on the other hand, for the testing dataset, MSE is 0.0055. Burkov [24] presented an accurate and reliable way of estimating the hourly electrical power of a combined cycle power plant. For designing, the local and global predictive models, many algorithms are used in this paper, such as additive regression, -means clustering, feed-forward ANN, KNN, and conventional multivariate regression. The model’s performance is analyzed by using a mean relative error (MRE%) and mean absolute error (MAE). Among all the mentioned algorithms, KNN results are found more efficient and reliable, with a relative error of less than 1. Han [25] proposed the computational intelligence algorithm like tree architecture of fuzzy neural networks that are used for power prediction. It has a benefit of selecting the minimum rules by opting neurons as nodes and significant inputs as leaves. There are two primary optimization method genetic algorithm (GA) and random signal-based learning (RSA) for prediction. GA optimized the binary structure of the networks by opting for the leaves and nodes as binary. RSA further refines the binary connection in the interval. 70% of data is used for training and 30% used for testing. Performance is accessed by using RMSE. The result of GA for testing data depicts RMSE of 3.31. Most recently, the so-called transparent open-box machine learning algorithm is used by [21] to achieve an RMSE of 2.89% on the dataset. However, some of the records from the UCI CCPP dataset are removed to achieve this reduced RMSE.

3. Proposed Methodology for Power Prediction of Combined Cycle Power Plants Using Machine Learning (ML) Algorithms

This section explains the methodology of power prediction using machine learning algorithms. The main steps in this research are feature extraction of the collected data from sensors, performance evaluation of the ML algorithms, and performance parameter calculation. The prime goal is to find the algorithm that predicts the power of a CCPP with least error. For this purpose, four ML algorithms are evaluated which are gradient-boosted regression tree (GBRT), -nearest neighbor (KNN), linear regression (LR), and artificial neural networks (ANN). The prediction is done by taking four parameters related to the CCPP, which are ambient inlet air temperature, atmospheric pressure, relative humidity, and vacuum (gas turbine exhaust pressure) are used. Results are predicted using Rapid Miner [26] which is a machine learning and data mining software suite. Figure 1 depicts the proposed architecture for the prediction of CCPP power using ML algorithms.

3.1. Dataset

Table 2 depicts a part of the whole dataset where the complete dataset comprises of 9568 records gathered from an operational CCPP over a period of 6 years. This dataset is taken from the UCI machine learning repository [4, 19].

3.2. Feature Extraction

The features acquired from the sensors data are measurements per unit time, mean, variance, standard deviation cross-correlation, autocorrelation, maximum value, and minimum value.

3.2.1. Measurements per Unit Time

The hourly based data (averaged) is obtained from various sensors installed outside the plant which record ambient variables every second. The values of these variables are used without being normalized.

3.2.2. Mean Value

There are four features and the mean value of each feature is given in the dataset of CCPP. Total number of samples is 9568.

where represents the total number of samples of one feature and is the sensor output at sample [27].

3.2.3. Variance

It is used to measure the spread of data points among themselves and from the mean. Consequently, it is calculated as the average of the squared distances from each point to the mean.

3.2.4. Standard Deviation

It finds the spread in the sensors data around the mean value.

where gives the total number of records, represents the current sensor output, and shows the mean value of a particular feature [27]. Table 3 shows the extracted feature details of the dataset.

3.2.5. Correlation

Correlation is a relationship of one feature with another feature. Table 4 shows that increase or decrease in the values of one feature tends to be paired with relative increment or decrement in the values of another.

3.3. Algorithms

In this paper, four ML algorithms are evaluated for power prediction, which are gradient-boosted regression tree, -nearest neighbor, artificial neural network, and linear regression. A brief explanation of each algorithm is given in the following.

3.3.1. Linear Regression (LR)

Linear regression [28, 29] is used to predict the dependent variable (CCPP's power in this case) () based on the four independent variable (, , , and ). Figure 2 shows the flow chart of the LR algorithm while its mathematical model [24] is given below.

are the five initial weights where they are assigned values between 0.5 and 2.5:

where is the predicted value. where is the cost function. It should be minimized in order to achieve maximum prediction accuracy. is the actual value.

Equation (6) shows the gradient descent function where gives the total number of sample in the dataset, denotes the learning rate whose value ranges between 0 and 0.5. For every value of repeat, the abovementioned equation until convergence is obtained [30].

3.3.2. Gradient-Boosted Regression Tree

In gradient-boosted regression [3133] () are used as input parameters of CCPP and () as the output power. Figure 3 represents the tree structure of gradient-boosted regression. Learning rate value is set as 0.1, and numbers of trees are varied for power prediction. In each tree, the depth is 20. For power prediction of CCPP, the “quantile function” is used as a distribution function. is learning rate used to scale the tree and gradually improve the tree performance; its value is between 0 and 1. This whole process is continued until approaches to a minimum or stable value [30].

3.3.3. Artificial Neural Network

The ANN [3436] is found to be a very useful Algorithm in machine learning [36]. ANN is an information management model that is similar to the function of biological nerves of the human brain. In Figure 4, there are 4 input parameters and one output which is the produced electric power by the CCPP. In this scenario, the ANN has two hidden layers where each layer comprises of 100 neurons. The learning rate is 0.01. The Momentum value is set as 0.9 where in ANN, the momentum simply adds a fraction of the previous weight update to the current one. This prevents local maxima and provides smoothly optimized results. Following are the steps required to train the ANN. (1)Initialize the weights arbitrarily: (2)Calculate the sum of inputs and weights products: (3)Analyze the activation (Sigmoid) function response: (4)Take the input from the training data of (input, actual output) and enter it to the neural network. After that, calculate the error: (5)Calculate the weight updates according to the following delta rule: (6)Adjust the weights as (7)Repeat steps 2–5 until the error is in an acceptable range [34]

3.3.4. -Nearest Neighbor

KNN [3639] stores all available scenarios and predict the numerical value based on a similarity measure such as the Euclidean distance [39] which is calculated between two points and as

For KNN, in the first step, find the neighbor values which are near to the new feature whose value is anonymous. This nearness is found in terms of Euclidean distance between new data point and every data point present in the training set. For optimal results, must be selected as an odd number [39]. Figure 5 depicts an example of 3-nearest neighbors where a new test sample will be labeled according to the label of the 3 nearest samples having shortest distance from the new sample [40].

3.4. Performance Metrics

For performance evaluation of the models, root mean square error (RMSE) and absolute error (AE) are used.

where and are the actual and predicted output values of the CCPP plant, is the total number of records [41].

4. Result Analysis

This section outlines the detailed results by discussing the influence of various parameters of the utilized algorithms on the predicted power. The experiments are performed in a systematic manner as outlined in the following: (1)As a first step, we show the effect of feature selection on the predicted power achieved by each algorithm. For this, the default parameters of each algorithm are used as set in the Rapid Miner software [26]. This is helpful to find the features that have a significant effect of the generated power. In addition to that, a reduced features set will also make the rest of the analysis convenient and efficient by reducing the time taken in training a machine learning model(2)The effect of the most crucial parameters of the respective algorithms on the predicted power is presented in terms of both RMSE and AE. Furthermore, for the training and testing of each algorithm, the dataset is split randomly into 90-10 and 80-20 where the larger number represents the percentage of dataset used for training the algorithm while the smaller is the percentage of the dataset used to test the trained algorithm. In the subsequent discussion we use 9 : 1 and 8 : 2 for the respective splits(3)With the best values of the parameters for each algorithm, the actual and predicted powers for randomly selected samples from the dataset are shown(4)Finally, the best results achieved by all the algorithms in terms of RMSE and AE are discussed along with the best results reported by the previous works on the same dataset

4.1. Effect of Features Selection on Predicted Power

In order to examine the effect of each of the input features, i.e., temperature (TEMP), vacuum (VAC), pressure (PRE), and humidity (HUM), on the predicted power, the experiments are performed by making their 15 combinations. Each of these combinations are then used to train and test each of the five algorithms for power prediction. Since, the dataset is randomly split between the training and test sets, the experiments for each of the combinations are performed 10 times. The average RMSE and AE over all the 10 runs achieved by each of the algorithms are presented in Table 5.

Columns 12 and 13 of the table are used to rank the feature combinations from worst to best. Column 12 is the average of all RMSE values achieved by all the five algorithms for a given feature combination. For instance, the mean RMSE for HUM (16.53, row 1, column 12) is calculated as the average of RMSEs achieved by LR (15.66), GBRT (17.31), KNN (18.19), ANN (15.86), and DNN (15.64). The average AE for each of the combinations is calculated in a similar manner. It should be noted that the features combinations are ranked in a descending manner with respect to their average RMSE and AE (columns 12 and 13). For instance, the highest RMSE and AE averaged over all the five algorithms is for humidity (HUM). It is noticeable that the presence of TEMP has a significant effect on the performance of all the algorithms.

Similarly, using the rest of the three features, i.e., HUM, VAC, and PRE without TEMP give high RMSE and AE values regardless of the utilized algorithm. The least RMSE of 2.63 is achieved by GBRT on the combination of TEMP-VAC-PRE whose mean RMSE and AE values are second best (column 12 and 13, second to last row). Hence, it can safely be concluded that the usage of only these three features is enough to perform the rest of the analysis. However, the complete set of the input features achieves the least RMSE and AE (column 12 and 13, last row) due to which dropping just a single feature in the name of achieving efficiency is not technically convincing. Therefore, in the subsequent experiments, all the four features are used.

4.2. Performance Evaluation of ML Algorithms Based on their Important Parameters
4.2.1. -Nearest Neighbor (KNN)

The most important parameter of the -nearest neighbor algorithm is the value of as explained in Section 3.3.4. We empirically select the values of from the set of odd number ranging from 3 to 17. For training and testing, the algorithm uses two phases where in the first phase, we use 90% of the dataset as training data and 10% as test data. Similarly, in phase two, 80% is used for training and 20% of the data is used as the test set. Figure 6 shows the effect of various values of for both the settings. The minimum RMSE value of 3.28 is achieved at for 9 : 1 split, while at the same of , the least RMSE of 3.51 is achieved when the algorithm evaluated on 8 : 2 split.

Similarly, Figure 6 shows the absolute error (AE) at various values of for both the settings of data split. The minimum value of AE is found to be 2.374 at for 9 : 1, while at the same value of , the least AE of 2.49 is achieved at 8 : 2.

4.2.2. Gradient-Boosted Regression Tree (GBRT)

The GBRT algorithm is used to predict the output power where the RMSE values are analyzed by varying the number of trees from 50 to 400, as shown in Figure 7. For 9 : 1 split, the minimum RMSE value of 2.581 is achieved for 550 trees. However, there is no significant drop of RMSE from 2.61 achieved at 200 trees to 2.581 achieved at 550 trees. Hence, on the current dataset, for 9 : 1 split, 200 trees are advised for GBRT in order to optimize the usage of computational resources. Furthermore, for 8 : 2 split, the RMSE values are higher than those of 9 : 1. Figure 7 shows a similar trend in the values of AE for various values of trees and for both the settings of dataset split. The least AE for 9 : 1 split is achieved at 550 trees; however, after 250 trees, the drop is not significant and hence recommended for efficient usage of computational resources on the current dataset. Similarly, the AE values for 8 : 2 split are higher than those of 9 : 1 split.

4.2.3. Artificial Neural Network (ANN)

The ANN algorithm of Rapid Miner is used for power prediction on the current dataset. We evaluate the number of training cycles while keeping all other parameters to the default values such as those of the hidden layers and the number of activation functions per layer. Figure 8 shows the achieved RMSE values for various numbers of training cycles for both 9 : 1 and 8 : 2 splits. The least RMSE value of 4.022 is achieved when the training is performed for 150 cycles with 9 : 1 dataset split. For the 8 : 2 split, the minimum RMSE of 4.085 is achieved at 550 training cycles; however the second best RMSE of 4.088 is achieved on 100 training cycles which is comparably acceptable than 4.085 achieved at 550cycles.

In Figure 8, the value of AE are depicted for various training cycles for power prediction. The minimum value of absolute error (AE) at 9 : 1 is observed as 3.15 at 500 training cycles. Using 8 : 2 data split, the minimum AE is 3.222 at 500 training cycles.

4.2.4. Deep Neural Network (DNN)

We also use the deep neural network algorithm provided in the Rapid Miner suite which is a variant of the neural network. The default parameters are used while the number of training epochs are varied to observe the effect on the achieved RMSE and AE. Consequently, for 9 : 1 data split, the least RMSE of 3.441 is achieved on 450 epochs. However, the second best RMSE of 3.445 is obtained on 300 epochs and hence recommended for on the current dataset. For the data split of 8 : 2, all the RMSE values are higher than 9 : 1 split. Nontheless, the least achieved RMSE of 3.592 for 8 : 2 split is achieved on 500 epochs. The values of RMSE for both the data splits on various epochs are shown in Figure 9.

Similarly, in Figure 9, AE is shown for both the settings of data split and all the empirically selected values of epochs. The minimum value of AE, using 9 : 1 split, is found to be 2.625 on 450 training epochs. At 8 : 2 split, the minimum AE value is 2.694 achieved on 500 training epochs. To summarize, we show a comparison of all the five algorithms in Table 6 in terms of RMSE and AE for both the settings of data split. The results achieved by each of the algorithms on the current dataset are shown where the value of in KNN is 3, the number of trees for GBRT is 100, number of training cycles for ANN is 100, and the number of training epochs for DNN is also 100. It can clearly be observed that GBRT outperforms the rest of the algorithms by achieving the least RMSE and AE on the current dataset.

4.2.5. Comparison of Actual and Predicted Powers for each ML Algorithm

In order to demonstrate the prediction results achieved by each algorithm, we randomly select 20 samples from the test dataset such that the actual power value is known for each of them. We then provide the input features of these 20 samples to the trained models of each of the algorithms for power prediction. It should be noted that the models are trained with the best parameters of the respective algorithms as found in the previous section. The actual power values along with the predicted values achieved by each algorithm are shown in Figure 10. The samples where the absolute difference of the actual and predicted power values are greater than 2 MW are highlighted and shown for each algorithm. It can be observed that GBRT achieves power predictions closer to the actual values and the samples where the difference is greater than 2 MW are comparatively less than other algorithms. Hence, it can be concluded that GBRT gives better power predictions than other algorithms.

4.2.6. Performance Comparison with the Literature

Table 7 shows our results in comparison on the previous methods proposed for CCPP power prediction on the same dataset. We clearly achieve superior performance from all those methods using GBRT where the number of tree is 450 and the size of the training set is 90% of the whole dataset. The achieved RMSE and AE values are 2.58 and 3.51, respectively. Similarly, our achieved RMSE and AE values on KNN and DNN are also better than those methods. Hence, at the moment, we can convincingly say that on the current dataset our results are the best.

5. Conclusion and Future Work

We perform power prediction of a CCPP on hourly basis using machine learning paradigm. In this regard, we use a publicly available dataset that is collected over a period of 6 years such that the power plant is operating on full load. The dataset measures output power as a function of four input parameters which are temperature, humidity, pressure, and vacuum. We evaluate five machine learning algorithms, namely, -Nearest Neighbors, Linear Regression, Gradient-boosted Regression Tree, Artificial Neural Network, and Deep Neural Network of the Rapid Miner software suite. Keeping the default parameters, we evaluate the most crucial parameters of each algorithm to find the best of them that achieves minimum RMSE and AE. We also evaluate the effect of training set size and number of features on the achieved results. Consequently, GBRT outperforms the rest of the algorithm by achieving the least RMSE and AE with 450 trees while training on 90% of the dataset. Interestingly, it also exceeds in performance from all the previously proposed methods on the same datasetby achieving the least RMSE and AE.

In future, the output power can be controlled by changing the value of the parameters. Moreover, by incorporating these parameters as well as increasing the number of input parameters, the power prediction of different types of power plants can be done by using more advance machine learning algorithms.

Data Availability

The data that support the findings of this study are all briefly introduced, and all information is available in the manuscript.


The authors carried out the research as a part of employment at COMSATS University Islamabad, Attock Campus, UET Peshawar, UoT Nowshera, KPK.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.


The second author (Hafeez Anwar) is supported by the Ernst Mach Follow-up grant awarded by the Austrian Agency for International Cooperation in Education and Research (OeAD).