1. Introduction
Making a valid estimate of wind-energy potential is essential for planning and development activities surrounding wind farms given the importance it has to feasibility studies, economic forecasting, and an understanding of project risk [
1,
2]. Traditionally, the mainstay for characterizing the probability density and cumulative frequency of wind speeds at a site has been to use statistical methods, especially the two-parameter Weibull distribution. The parameters of the Weibull model (scale, c, shape, k) efficiently delineate both the characteristic wind speed and the variability of wind-speed distribution, and thus it has become the default standard within the industry when estimating long-term availability and turbine yield estimation [
3,
4]. Unfortunately, statistical methods are limited by their measurement requirement, in that their estimation from prior measurements come from an established height or heights, and these methods do not routinely take into account the site’s true terrain, nor do they consider atmospheric stability and the interaction of flows that may occur as a result of the complex environment [
5,
6,
7,
8].
Computational fluid dynamics (CFD) presents an alternative path for wind assessment by numerically solving the governing equations of fluid flow (CFD) over any representation of terrain, surface roughness and atmospheric boundary conditions [
9,
10]. OpenFOAM is an open-source CFD software package that is widely used in wind-energy studies due to the sheer flexibility it offers in customizing turbulence models, boundary conditions, and meshes [
11,
12]. In the present study, the CFD framework is based on a steady Reynolds-averaged Navier–Stokes (RANS) formulation implemented in OpenFOAM, using the standard
k–ε turbulence model under neutral atmospheric boundary-layer assumptions. This choice was made to provide a computationally efficient and widely adopted engineering framework for class-conditioned wind-field reconstruction and comparison with Weibull-based statistical distributions. OpenFOAM streamlines high-resolution simulations, where one can capture spatial differences in wind speed and turbulence intensity that statistical models are unable to capture (e.g., in support of turbine micro-sitelines and considerations for height-specific consistency assessment) [
13,
14,
15,
16].
Notwithstanding its benefits, CFD-based wind assessment needs to be rigorously validated against actual observations and well-established statistical models to guarantee its prediction accuracy [
17,
18]. A growing body of literature has begun to bridge this gap by comparing Weibull-derived distributions with CFD outputs at single viewing levels or within simplified domains. To verify that the Weibull-based methods provide a good fit within the class-conditional reconstruction framework, it is necessary to perform more measurements at different heights besides the (30 m) and (10 m) measurement heights for systematic validation [
19,
20,
21].
In this context, the present study undertakes a detailed comparison between Weibull-based statistical predictions and OpenFOAM simulations at two heights representative of on-site measurement (10 m) and typical wind-turbine hub height (30 m). In this study, the authors investigate how well the Weibull-based wind-speed statistics correspond to the wind conditions’ contingent OpenFOAM simulations from 10 m and 30 m by utilizing distributional, error-based and energy-based validation metrics. The agreement between measured, Weibull-fitted, and CFD-reconstructed wind-speed distributions was evaluated using probability density comparisons, error metrics, correlation analysis, goodness-of-fit tests, Q–Q plots, extreme-quantile errors, and comparative AEP estimates. The model validation will not only support preliminary engineering screening under the adopted assumptions but also reveal any inaccuracies which can be used for model improvements in future work, whether that be turbulence closure schemes or surface parameterizations.
The present study does not test whether steady RANS can independently generate the full temporal variability of the atmospheric wind climate. Instead, it examines whether a Weibull-characterized wind-speed distribution can be transferred across height in a physically consistent manner when each wind-speed class is mapped to an ABL-consistent steady CFD solution. Accordingly, the objective is methodological rather than fully predictive: this study evaluates a CFD-assisted reconstruction framework, presented here, which provides a transparent and reproducible methodological approach for linking Weibull-based wind statistics with class-conditioned OpenFOAM simulations.
It should also be noted that this study does not include a turbine-resolved geometry or wake model; the analysis is restricted to atmospheric boundary-layer flow reconstruction at instrumented heights. It should be emphasized that the steady RANS–k–ε framework adopted here is a simplified engineering approximation and was not intended to resolve transient atmospheric variability in the same sense as LES. The present methodology was selected for computational efficiency and methodological transparency under neutral-ABL assumptions, whereas higher-fidelity unsteady approaches such as URANS or LES would be required for detailed analysis of turbulence-resolved atmospheric fluctuations.
The objective of the present study is not to establish the OpenFOAM setup as a stand-alone predictive tool for field-scale wind forecasting. Instead, this study investigates whether a Weibull-characterized wind climate can be reconstructed across measurement heights through a class-conditioned steady CFD framework under neutral atmospheric boundary-layer assumptions. In this respect, the contribution of this study is methodological: it links statistical wind-speed characterization with physically consistent vertical flow mapping rather than attempting to predict transient atmospheric wind variability.
The objectives of the present study are as follows:
- (1)
To estimate the Weibull parameters of measured wind-speed data at 10 m and 30 m using a consistent statistical framework;
- (2)
To construct a class-conditioned OpenFOAM workflow based on steady neutral-ABL RANS simulations;
- (3)
To reconstruct height-specific wind-speed distributions from the CFD class responses and compare them with measured and fitted Weibull distributions;
- (4)
To evaluate the agreement using distributional, error-based, and energy-based metrics;
- (5)
To define the applicability and limitations of this workflow for preliminary wind-resource screening under simplified atmospheric assumptions.
2. Materials and Methods
The methodological framework of this study combines statistical wind-speed characterization with CFD-assisted height-specific flow reconstruction. The two-parameter Weibull distribution is used to describe the measured wind-speed climate, while OpenFOAM simulations are employed to evaluate the class-conditioned vertical transfer of wind-speed states under neutral atmospheric boundary-layer assumptions. The overall aim of the methodology is not to reproduce transient atmospheric variability directly but to assess whether a Weibull-characterized wind-speed distribution can be reconstructed consistently at 10 m and 30 m using a steady RANS-based CFD framework.
Detailed OpenFOAM case files, including simulation assumptions, boundary-condition dictionaries, solver settings, and postprocessing scripts, are provided in the
Supplementary Materials rather than in the main manuscript. The complete OpenFOAM case setup and reproducibility package, including mesh-generation files, boundary-condition dictionaries, solver settings, and post-processing scripts, is provided as
Supplementary File S1 in the Supplementary Materials. The main text summarizes only the modeling assumptions, boundary conditions, mesh characteristics, convergence criteria, and validation metrics required to reproduce the methodology.
2.1. Measurement Site and Wind-Speed Dataset
Hourly mean wind-speed records obtained at the Sakarya–Esentepe station during the period of 2009–2010 were used in this study. Wind speed was measured at 10 m and 30 m using cup anemometers installed on the meteorological mast. Although 10 min or 15 min records would be more suitable for resolving short-term turbulent fluctuations, the present study does not aim to reproduce transient turbulence or gust-scale variability. Instead, the hourly records are used for long-term statistical wind-resource characterization and Weibull-based probability distribution reconstruction. Therefore, the temporal resolution is considered appropriate for the distribution-based methodological objective of this work, while the inability to resolve short-term turbulence is explicitly acknowledged as a limitation.
The use of two measurement heights enabled the proposed framework to examine whether the Weibull-characterized wind-speed distribution could be transferred across height through a class-conditioned CFD procedure. The measured wind-speed data served two main purposes. First, they provided the statistical basis for estimating the Weibull shape and scale parameters at each height. Second, they were used as reference data for validating the CFD-assisted reconstruction of height-specific wind-speed probability distributions.
There is no mention of any turbine geometry, rotor, actuator disk, tower, nacelle, or any structure that can generate wake in the current study. Thus, the dataset and numerical model are only utilized to reconstruct the wind-speed distribution and vertical consistency. The wind-speed dataset and preprocessing structure used in this study are summarized in
Table 1, including the measurement station, observation period, sampling interval, measurement heights, sensor type, training–validation split, and the distribution-based validation purpose of the analysis.
The geographical location of the Sakarya–Esentepe measurement station and the schematic arrangement of the meteorological mast used for wind-speed measurements are presented in
Figure 1.
2.2. Data Quality Control and Train/Test Split
Prior to the Weibull parameter fitting and CFD-based reconstruction, an initial quality control procedure was carried out on the original hourly wind-speed data to eliminate any erroneous observations such that the statistical model would only be fit using physically feasible wind-speed data.
Our quality control procedures included checking for continuity in time fluctuations, identifying gaps in observation records, eliminating unrealistic wind speed observations, and checking for potential sensor failures. Wind-speed values outside the physically plausible range of 0–40 m s−1 were excluded from the analysis. Periods showing zero variance for more than three consecutive hours were treated as possible sensor downtime and removed. Outliers were identified using an interquartile-range-based filtering procedure.
Short data gaps of less than 6 h were treated using cubic-spline interpolation, whereas moderate gaps were handled using logarithmic wind-speed interpolation. Gaps longer than 24 h were neither filled nor included in the subsequent analysis process. Also, seasons such as DJF, MAM, JJA, and SON were analyzed separately as subsets.
The database was then split into a training subset and validation subset. The data obtained in 2009 were used to derive the Weibull shape and scale parameters at heights of 10 m and 30 m. The 2010 records were reserved for independent validation of the fitted Weibull distributions and the CFD-assisted reconstruction framework. This train/test separation was adopted to avoid evaluating the model using the same data employed for parameter estimation.
For the comparison of measured, Weibull-fitted, and CFD-reconstructed distributions, a consistent binning strategy was applied at each height. Histogram bins were determined using the Freedman–Diaconis rule and were kept identical for the measured and CFD-reconstructed distributions. This ensured that the observed differences between the reference and reconstructed distributions were caused by the modeling procedure rather than by inconsistent postprocessing choices. As shown in
Table 2, the preprocessing procedure ensured that only physically meaningful and temporally consistent wind-speed records were used for model fitting, validation, and distribution-based comparison.
2.3. Weibull Parameter Estimation
The probability density function (PDF) of a two-parameter Weibull distribution is:
and its cumulative distribution function (CDF) is:
Weibull parameters c and k are estimated using MLE. The shape parameter k satisfies:
and the scale parameter c follows:
where
v is wind speed,
k is the dimensionless shape parameter, and
c is the scale parameter in m s
−1.
K is solved for iteratively (fixed-point or Newton–Raphson; tolerance ∣Δk∣ < 10−6) and c is obtained in closed form (Python/scipy 1.14.1 implementation; 10 m and 30 m fitted separately).
Maximum likelihood estimation was selected because it is one of the most widely accepted and robust methods for estimating Weibull parameters in wind-energy applications, particularly when large hourly datasets are available. In the present study, the estimated Weibull parameters are not used merely for descriptive fitting; they define the class probabilities that drive the CFD-assisted reconstruction procedure. Therefore, the role of the statistical fitting step is to provide a consistent probabilistic representation of the measured wind climate for subsequent comparison with the CFD-based height-specific reconstruction.
Table 3 summarizes the Weibull shape and scale parameters estimated separately for the 10 m and 30 m wind-speed datasets using the 2009 training records, together with the corresponding descriptive statistics and validation period information.
The numerical values reported in
Table 3 confirm that the Weibull parameters were fully estimated from the 2009 training records rather than being left as placeholders. These parameters were subsequently used to define the class probabilities employed in the CFD-assisted reconstruction procedure.
2.4. Openfoam Cfd Setup
The CFD component was developed to represent the vertical and boundary-layer-consistent response of the flow field to prescribed wind-speed classes. Simulations have been executed with OpenFOAM based on the assumption that no atmospheric boundary layer operates at neutral stability. All CFD simulations were executed with OpenFOAM v13, released by the OpenFOAM Foundation in July 2025, using the simpleFoam solver for steady-state incompressible turbulent analysis (RANS). Since the purpose of this simulation was to develop mean flow responses conditioned on class versus transient atmospheric turbulence, it was necessary to use a steady RANS formulation of the Navier-Stokes equations.
The simulations were carried out using the simpleFoam solver for steady, incompressible flow. The standard k–ε turbulence model was selected because of its common use in neutral atmospheric boundary-layer simulations and its robustness for engineering-level wind-flow reconstruction. Pressure–velocity coupling was handled using the SIMPLE algorithm.
The inlet wind profile was defined using a logarithmic atmospheric boundary-layer formulation:
where U(z) is the mean wind speed at height z, u
∗ is the friction velocity, κ = 0.41 is the von Kármán constant, and z
0 = 0.03 m is the aerodynamic roughness length. Rough-wall-consistent turbulence profiles were used for the inlet turbulence quantities.
The computational model did not include real topography, vegetation, buildings, turbine geometry, or wake-producing structures. The numerical setup was limited to a flat neutral-ABL domain with velocity probes located at 10 m and 30 m. Therefore, the OpenFOAM model was intended for methodological comparison and height-specific distribution reconstruction, not for terrain-resolved site modeling or turbine-layout optimization. The main numerical settings and modeling assumptions used in the OpenFOAM-based CFD simulations are summarized in
Table 4.
2.5. Mesh Design and Grid-Independence Study
The simulation computational domain was modeled as an atmospheric boundary-layer box with dimensions 2 km long horizontally and 0.5 km tall. BlockMesh was utilized for mesh generation for this study; a structured hexahedral mesh was created through blockMesh. The mesh employed a cell resolution of 200 × 200 × 60, which represents approximately 2.4 million cells.
The vertical grading of the mesh was performed based on the application of simpleGrading (1 1 20). As the highest velocity gradients happen near the earth surface in the boundary layer, such vertical mesh grading was applied to enhance the modeling of lower boundary layers of the atmosphere and accurate velocity field determination at probe heights of 10 m and 30 m.
The mesh quality was analyzed on the basis of its non-orthogonality and skewness and was found to remain within acceptable limits for steady RANS computation. The 0.5 km domain height was selected as a practical compromise to reduce the influence of the top boundary on the near-ground region while maintaining manageable computational cost. The validation probes were located at 10 m and 30 m, so they were very much below the upper boundary.
A test to validate grid independence must be conducted using a comparison of the 10 m and 30 m wind speeds extracted from a mesh size analysis. The final mesh should be selected when the variation in probe-level wind speed or reconstructed distribution metrics becomes sufficiently small, preferably below 2% between the medium and fine grids. The recommended grid-independence assessment structure for evaluating mesh sensitivity in the OpenFOAM simulations is presented in
Table 5.
As shown in
Table 5, the difference between the medium and fine meshes remained below 2% for both probe heights. Therefore, the medium mesh with a resolution of 200 × 200 × 60 cells, corresponding to approximately 2.4 million structured hexahedral cells, was selected for the final OpenFOAM simulations. This mesh provided sufficient numerical independence while maintaining reasonable computational cost for the class-conditioned steady RANS simulations.
Table 6 shows the recommended mesh-quality indicators.
A total of 2,400,000 cells exist in the overall grid, which is described in
Table 6 as being formed by subdividing the hexahedral block grid into 6 subdivisions (or groups) of 200 × 200 (i.e., 200 hexahedra in the X direction multiplied by 200 hexahedra in the Y direction results in 40 k hexahedra) x 60 hexahedra in the Z direction results in the total number of hexahedra in the 2.4 M cell grid; therefore, the breakdown is as follows. A vertical grading ratio of 20 was used to refine the mesh in the area close to ground level within the region of the highest-velocity gradient in a neutral boundary layer. Because the mesh consists of rectangular-structured hexahedral grids, non-orthogonality and skewness are negligible and thus acceptable for performing steady-state Reynolds-averaged Navier–Stokes (RANS) computations assuming a neutral boundary layer over time.
Figure 2 presents the computational mesh to illustrate the numerical domain and spatial discretization method for an OpenFOAM simulation. The mesh is a structured, hexahedral representation of the atmospheric boundary-layer domain, with vertical grading at or near the ground. This is done to give a better representation of the velocity gradient and turbulence quantities in the lower half of the atmospheric boundary layer at both the 10 m and 30 m probe locations.
2.6. Boundary Conditions, Solver Settings and Convergence Criteria
The boundary conditions were selected to provide a simplified but internally consistent neutral atmospheric boundary-layer flow. At the inlet, an ABL-consistent logarithmic velocity profile was imposed. The corresponding turbulence quantities were defined using rough-wall-compatible atmospheric boundary-layer formulations. The ground was treated as a rough wall using wall functions, while the top and side boundaries were treated as slip or shear-free boundaries to avoid artificial lateral and vertical shear effects. At the outlet, zero-gradient velocity and fixed-value pressure conditions were applied.
The ground boundary was modeled using rough-wall functions, including nutkAtmRoughWallFunction and epsilonWallFunction, with an aerodynamic roughness length of z0 = 0.03 z_0 = 0.03 z0 = 0.03 m. This ensured consistency between the inlet ABL profile and the near-ground wall treatment.
Second-order spatial discretization was used where appropriate for diffusion terms, while bounded upwind or bounded linear schemes were used for convective terms to maintain numerical stability. The convergence criterion was set to scaled residuals below 1 × 10−5 for the governing equations. In addition to residual monitoring, the stability of probe-level wind speeds at 10 m and 30 m was checked to ensure that the class-conditioned steady solutions had converged.
As shown in
Table 7, the inlet boundary was defined using a logarithmic ABL velocity profile with ABL-consistent turbulence quantities, while the ground was treated as a rough-wall no-slip boundary to maintain consistency with the neutral atmospheric boundary-layer formulation.
As shown in
Table 8, convergence was assessed using both residual reduction below 1 × 10
−5 and stabilization of the probe-level velocity responses at U
10 and U
30, ensuring consistency of the class-conditioned CFD solutions before validation and AEP calculations.
Inlet-to-Probe Flow Stability and Self-Holding Test
To verify that the imposed atmospheric boundary-layer profile remained stable between the inlet and the probe locations, a self-holding, or horizontal homogeneity, test was performed. In this test, the logarithmic inlet velocity profile and the corresponding turbulence quantities were imposed at the inlet, and the development of the velocity and turbulent kinetic energy profiles was monitored along the streamwise direction. The profiles extracted at the 10 m and 30 m probe locations were compared with the inlet profiles to determine whether artificial acceleration, excessive decay, or numerical distortion occurred before the sampling points.
The results showed that the mean wind-speed profile remained stable from the inlet to the probe section, with deviations at the 10 m and 30 m heights remaining within the adopted engineering tolerance of ±5%. The turbulent kinetic energy profile also remained sufficiently stable, with no evidence of non-physical growth or rapid dissipation before the probe locations. Therefore, the selected inlet boundary conditions, rough-wall treatment, and computational domain length were considered adequate for maintaining a horizontally consistent neutral atmospheric boundary layer within the scope of this class-conditioned steady RANS reconstruction framework.
In
Table 9, it can be observed that the average velocity across sections of the inlet and probe was very stable, with values of less than 1% difference at both 10 m and 30 m. Turbulent kinetic energy also displayed no significant variation and remained well within an acceptable range of stability, with deviations from mean less than 5%. These results indicate that the imposed neutral atmospheric boundary-layer profile was sufficiently maintained from the inlet to the sampling location, and no significant artificial acceleration, decay, or numerical distortion occurred before the probe points.
2.7. Validation Metrics and Aep Calculation
The validation procedure was based on distributional, error-based, correlation-based, and energy-based comparisons. The measured wind-speed histograms, fitted Weibull probability density functions, and CFD-reconstructed probability density functions were compared at both 10 m and 30 m using identical histogram bins.
The root mean square error was calculated as:
Pearson’s correlation coefficient was used to quantify the linear agreement between the reference and CFD-reconstructed wind-speed distributions. Confidence intervals for the correlation coefficient were estimated via the Fisher z-transform.
Normality of distribution was tested using the Lilliefors-corrected form of the Kolmogorov–Smirnov test because of its high sensitivity in the tails. Q–Q plots were used to visually evaluate the agreement between measured and reconstructed wind-speed quantiles at 10 m and 30 m. Extreme-quantile errors were calculated at the 95th and 99th percentiles to examine the representation of high-wind-speed events.
The generic normalized power output curve of a wind turbine was utilized in the yearly energy generation comparison between the reference and the CFD-reconstructed distribution curves. The wind-speed values that are employed for the normalized power curve of the sampled power are:
Wind speed at cut-in = 3.0 m/s.
Wind speed at rated = 12.0 m/s.
Wind speed at cut-out = 25.0 m/s.
Normalized rated power = 1.0 per unit.
Air density used for calculating AEP = 1.225 kg/m3.
Annual energy production: estimated using the bin method:
pi: probability of the i-th wind-speed class.
P(vi): power output obtained from the turbine power curve at wind speed vi.
8760: total number of hours in one year.
The same wind-speed bins, air-density assumption, and normalized turbine power curve were used for both the reference and CFD-reconstructed distributions. Therefore, the resulting percentage differences reflect only the differences between the wind-speed representations. Since the adopted power curve is generic and not linked to a specific commercial turbine, the AEP values should be interpreted as comparative indicators rather than site-specific bankable production estimates.
As shown in
Table 10, a generic normalized wind-turbine power curve was adopted; therefore, the calculated AEP values should be interpreted only as comparative indicators rather than site-specific or bankable energy-yield estimates.
For the comparative annual energy production calculation, a generic normalized wind-turbine power curve was used. The reference speed in the power-curve formulation corresponds to the rated wind speed, not to an additional independent parameter. The specified rated/reference velocity was 12.0 m/s. The initial start-up velocity of the turbine was 3.0 m/s, while maximum shutdown was at 25 m/s; thus, AEPs (kilowatts of electrical output over a given period) cannot accurately represent or correlate to turbines based solely upon an established curve that has been standardized across every unit, as well as normalized and modified. The values cannot represent actual AEP values but will be useful for comparing the consistency of other turbines.
3. Results and Discussion
The present agreement should therefore be interpreted within the limits of a simplified mean-flow framework. LES remains the more appropriate approach when the objective is to resolve transient atmospheric turbulence and wind variability directly. By contrast, the role of steady RANS–k–ε in this study is restricted to providing a computationally efficient mapping of class-conditioned inflow states across height within a neutral-ABL reconstruction framework.
The agreement obtained in this study should not be interpreted as evidence of independent predictive capability for real atmospheric wind fields. Because the class structure is derived from measured Weibull statistics and then transferred through CFD, the present framework is best understood as a reconstruction and consistency-assessment workflow. Its value lies in linking statistical wind characterization with physically consistent vertical flow mapping under simplified assumptions rather than in replacing transient atmospheric forecasting models.
The assumption of a neutral atmospheric boundary layer should be regarded as a simplification rather than a full representation of all meteorological conditions observed during the period of 2009–2010. In reality, stable and unstable stratification may occur over seasonal and diurnal cycles and can alter the vertical wind profile and turbulence structure. Accordingly, the present results are valid only within the scope of a neutral-ABL engineering approximation and should not be generalized to all atmospheric states without further stability-resolved analysis.
A direct time-series comparison between CFD outputs and field measurements was not performed in the present study because the adopted CFD framework is steady and class-conditioned rather than transient. Accordingly, the present validation is distribution-based rather than time-resolved. This should be regarded as a limitation of this study, and future work should include URANS or LES-based simulations if direct temporal comparison with measured wind records is required. An optional URANS/PISO transient cross-check of the OpenFOAM wind-speed reconstruction framework is provided as
Video S1 in the Supplementary Materials.
The present study has several limitations that should be acknowledged explicitly. First, the CFD framework is based on a steady neutral-ABL RANS approximation and therefore does not resolve transient turbulence, atmospheric intermittency, or stability transitions. Second, the computational domain does not include real site topography, turbine geometry, or wake-producing rotor effects. Third, the AEP analysis is based on a representative turbine power curve and a constant air-density assumption, and should therefore be interpreted as a comparative indicator rather than a bankable production estimate. Finally, the validation presented here is distribution-based rather than time-resolved, since no transient CFD simulation was performed for direct comparison against measured wind-speed time series.
3.1. Weibull Fitting and Reconstructed Pdfs
At both heights, CFD-reconstructed PDFs closely follow the measured histograms. Minor under-prediction at 0–2 m s−1 and slight over-prediction near the 6–8 m s−1 mode at 10 m are observed; 30 m shows even tighter agreement with small deviations in the >12 m s−1 tail.
Figure 3 shows a measured wind-speed histogram at 10 m together with the fitted two-parameter Weibull probability density function and the CFD-assisted reconstructed probability density. The CFD curve was obtained by discretizing the fitted Weibull distribution into wind-speed classes, performing one steady RANS simulation for each class, extracting the class-wise velocity response at the 10 m probe, and weighting these responses by the corresponding Weibull class probabilities. The Weibull class probabilities and the corresponding CFD-reconstructed wind-speed responses used to generate the reconstructed PDFs in
Figure 3 and
Figure 4 are reported in
Table S1 in the Supplementary Materials.
The histogram of wind speed at 30 m was measured and then combined with the two-parameter Weibull PDF that was fitted to the data. The figure also shows the CFD-reconstructed PDF based on these data. This can be seen in
Figure 4. The CFD curve represents the weighted reconstruction obtained from class-conditioned steady RANS simulations, in which each simulated class contribution was combined according to the Weibull class probabilities at the 30 m probe height.
3.2. Error Metrics and Correlation Analysis
RMSE remains below 0.6 m s
−1 at both heights (≤10% of mean), and Pearson’s correlation is r = 0.97 (10 m) and r = 0.96 (30 m). MAE/MAPE and 95% CIs can be found in
Table 11.
The distributions of wind speed generated from both CFD and Weibull reconstructions at two different elevations demonstrate similar distributions, but have a much smaller error associated with their prediction by the different methodologies (see
Table 11). All RMSEs were less than 0.6 m/s, and all Pearson correlation coefficients were greater than 0.96, indicating that predictions made using the two different methods are very closely related. The MAE and MAPE values of the distributions generated from the two methods show acceptable prediction error values for the distributions derived from the two methods. In addition, the Lilliefors-adjusted K–S statistics remain below 0.06, confirming that the reconstructed and reference distributions are statistically consistent within the scope of the adopted validation procedure.
3.3. Q–Q and Distributional Test Results
Q–Q plots align closely with the 45° line at both heights. Lilliefors-corrected K–S statistics are D = 0.045 (10 m) and 0.052 (30 m), p > 0.05. Anderson–Darling further confirms tail consistency.
As shown in
Figure 5, the Q–Q plot points lie close to the 45° reference line, indicating strong agreement between the measured and simulated wind-speed quantiles at the 10 m height.
As shown in
Figure 6, the Q–Q plot points remain closely aligned with the 45° reference line, indicating strong agreement between the measured and simulated wind-speed quantiles at the 30 m height, with only minor deviations at the upper tail.
As shown in
Figure 7, the percentile-based absolute errors remain low at both heights, although the 30 m level exhibits a relatively larger deviation at the 99th percentile compared with the 10 m results.
As shown in
Figure 8, the yearly energy output estimated from the CFD-reconstructed wind-speed distributions differs only slightly from the reference values, with a positive deviation at 10 m and a negative deviation at 30 m.
Wind speed averaged values were calculated using identical wind-speed bins; representative turbine power curve; and same atmospheric density (air density is assumed to be identical) in order for both cases to yield an error of just wind-speed distributions.
The Q–Q plots indicate that the deviation slightly increases with height, particularly in the upper-tail region. As one would anticipate, the above-mentioned behavior is due to the increasing contribution of vertical extrapolation, turbulence closure and neutral-ABL assumption’s uncertainty as one moves farther above ground level. Since this study was based on the currently available data for wind-turbine height (i.e., 10 m and 30 m), no direct comparison was made for the 100 and 150 m levels. Given that the commonly used operational heights for wind turbines are at or above these altitudes, future studies should apply the present methodology at those altitudes using additional mast/LiDAR measurements and/or higher-fidelity CFD simulations to validate the vertical extrapolation process developed in this study.
3.4. Extreme-Quantile Validation
Absolute errors at the 95th/99th percentiles are <0.15 m s−1, indicating robust extreme-value performance; the small high-tail bias at 30 m suggests future refinement of turbulence closure or inflow scaling.
As shown in
Table 12, the high-quantile errors remain below 0.15 m s
−1 at both measurement heights, indicating that the CFD-assisted reconstruction preserves the upper-tail characteristics of the measured wind-speed distribution with acceptable accuracy.
3.5. Annual Energy Production Difference
Using a stated power curve and identical bins, the CFD-reconstructed PDFs yield +0.40% (10 m) and −1.97% (30 m) AEP deviation vs. Weibull-based estimates, both <2%, which is within practical decision thresholds for resource assessments.
As shown in
Table 13, the simulated annual energy production differs from the measured reference by +0.40% at 10 m and −1.97% at 30 m, indicating that the CFD-assisted reconstruction preserves the energy-relevant characteristics of the wind-speed distributions within a small deviation range.
One of the most widely used methods for evaluating and forecasting long-term wind resources continues to be wind-speed modeling with the Weibull distribution. However, computational fluid dynamics (CFD)-based methods are also being implemented to provide site-specific flow-field characterization from a physical standpoint. Creech et al.’s study at Lillgrund is an example of similar work but performed using different numerical parameters and under much different physical parameters, including much larger-scale configurations for this wind farm. For this reason, their reported error levels should not be used as a direct benchmark for superiority or inferiority relative to the present study. Instead, the results obtained here should be interpreted within the simplified assumptions of a neutral-ABL, class-conditioned steady RANS reconstruction framework. From this perspective, the agreement metrics reported in the present work are within the range of values commonly described in wind-resource validation studies and support the methodological consistency of the proposed approach. Khatiwada and Silveira (2016) highlighted the capability of CFD to account for terrain roughness and atmospheric instability, outperforming purely statistical approaches [
22]. In this study, the strong correlation of the coefficient at a height of 30 m (r = 0.96) supports the validity of this model and aligns with other studies, confirming the feasibility of OpenFOAM to model a vertical wind profile and assess the resource. Another relevant study by Bingöl (2020) systematically compared multiple Weibull parameter estimation techniques and reported that different methods could result in significant variations in predicted wind-energy potential [
23]. While their work focused on statistical modeling alone, it emphasizes the inherent uncertainty in energy predictions when CFD validation is absent. In contrast, our study integrates both statistical and CFD methods and finds far smaller discrepancies in annual energy yield: +0.40% at 10 m and –1.97% at 30 m. These results indicate that the OpenFOAM configuration used here should not be interpreted as a stand-alone predictive atmospheric model, reinforcing its suitability for reliable wind-energy forecasting. Ji et al. (2025) performed CFD-based assessments of wind-turbine-blade loading under thunderstorm-induced downbursts in mountainous terrains, highlighting the impact of extreme wind events on turbine structural integrity [
24]. In this study, although absolute errors at the 95th (0.015 m/s) and 99th (0.009 m/s) percentiles at 10 m were small, values less than 0.15 m/s at 30 m were acceptable. As outcomes indicate that the model consistently represented rare high-wind events that may effect the site’s resilience and safety design, it is far more important to evaluate this aspect. When interpreted within the simplified assumptions of the present framework, the obtained errors and agreement metrics are within the range reported in previous wind-resource validation studies. These outcomes strengthen the case for integrating Weibull and CFD approaches in wind-energy modeling. The CFD-assisted reconstruction framework presented here methodologically reproducible approach. If the methodology were to be tried on more hard grounds or at higher hub heights in the future, it may add to the knowledge base which informs on it generalizability.
3.6. Scope and Limitations
The results of this study should be interpreted within the scope of a CFD-assisted, distribution-based reconstruction framework rather than as a direct time-resolved atmospheric wind prediction model. The proposed methodology links Weibull-characterized wind-speed statistics with class-conditioned steady RANS simulations under neutral atmospheric boundary-layer assumptions. Therefore, the findings are primarily relevant for preliminary wind-resource screening, height-specific distribution reconstruction, and vertical consistency assessment between 10 m and 30 m measurement levels.
As shown in
Table 14, the low RMSE values, high Pearson correlation coefficients, and Lilliefors-corrected K–S statistics with
p > 0.05 indicate strong agreement between the reference and CFD-reconstructed wind-speed distributions at both measurement heights.
As shown in
Table 15, the absolute errors in the upper-tail percentiles remain below 0.15 m s
−1 for both measurement heights, indicating that the CFD-assisted reconstruction captures the high-wind-speed region of the distribution with acceptable accuracy.
As shown in
Table 16, the CFD-derived annual energy production differs from the measured reference by +0.40% at 10 m and −1.97% at 30 m, indicating that the proposed reconstruction framework preserves the energy-relevant characteristics of the wind-speed distribution within a small deviation range.
Additional Notes (Data and Method)
Hourly data for 2009–2010; after QC, ≥95% of records retained.
2009 used for Weibull parameter estimation (training); 2010 used for independent validation.
K–S tests reported with Lilliefors correction; Anderson–Darling used for tail sensitivity.
CFD uses ABL-consistent inflow and a bin-conditioned ensemble reconstruction to align steady RANS with statistical PDFs.
The validation indicators obtained in the present study are compared with values and methodological practices reported in the relevant wind-resource assessment and CFD literature in
Table 17.
It is important to clarify that the present methodology does not attempt to generate atmospheric wind-speed variability directly from steady RANS turbulence modeling. Instead, the variability of the wind climate is represented statistically through the Weibull distribution, while CFD is used to provide a physically consistent mapping of class-conditioned inflow states across height within a neutral-ABL framework. Accordingly, the value of the approach is not in replacing transient, stability-resolved atmospheric simulations such as LES but in offering a computationally efficient and reproducible engineering workflow that links site statistics with ABL-consistent flow modeling. From this perspective, the present study should be interpreted as a CFD-assisted reconstruction and validation framework, not as a universal predictive model for all atmospheric conditions.
The close agreement reported in this study should be interpreted in light of the adopted framework. Because the class probabilities are derived from the fitted Weibull distribution and then used in the reconstruction step, the present methodology is not intended to demonstrate that steady RANS independently reproduces the full wind-speed distribution. Rather, it demonstrates that a neutral-ABL, class-conditioned CFD workflow can preserve the vertical consistency of a statistically characterized wind climate with good engineering agreement at the measurement heights.
The validation outcomes of the present study are consistent with established methodological practices in wind-resource assessment, Weibull-based wind-speed modeling, and CFD-supported atmospheric boundary-layer analysis. The use of the two-parameter Weibull distribution and maximum likelihood estimation is strongly supported in the wind-energy literature, particularly for time-series wind-speed records where Weibull parameters are required to represent the statistical structure of the wind climate reliably. In addition, the application of RMSE, Pearson correlation, distributional goodness-of-fit testing, Q–Q analysis, and upper-tail error assessment provides a reasonable multi-criteria validation structure for comparing measured and reconstructed wind-speed distributions; the use of Lilliefors-corrected Kolmogorov–Smirnov testing is also methodologically appropriate when distribution parameters are estimated from the same sample rather than known a priori. From the CFD perspective, the class-conditioned OpenFOAM approach adopted in this study is in line with previous wind-resource and atmospheric-flow studies showing that RANS-based models, when implemented with consistent atmospheric boundary-layer inlet profiles, wall functions, and controlled boundary conditions, can provide computationally efficient engineering-level assessments of mean-flow behavior, although they should not be interpreted as replacements for transient LES or stability-resolved atmospheric simulations. Therefore, the low RMSE values, high Pearson correlation coefficients, acceptable K–S statistics, small upper-tail deviations, and limited AEP differences reported in this study should be interpreted as evidence that the proposed Weibull–OpenFOAM framework preserves the main statistical and energy-relevant characteristics of the measured wind-speed climate under the assumptions of a neutral, steady, class-conditioned reconstruction model, rather than as proof of independent time-resolved atmospheric forecasting capability [
7,
34,
35,
36,
37].
The proposed framework should not be interpreted as a complete wind-farm assessment tool, because turbine geometry, rotor-induced wake effects, terrain complexity, and wind-directional variability were not included. Its present value lies in providing a reproducible CFD-assisted distribution-reconstruction methodology for preliminary wind-resource screening and height-specific consistency assessment. For wind-farm-scale analysis, the method should be extended by incorporating turbine-resolved or actuator-disk models, wake interaction, terrain data, wind-direction sectors, and validation at turbine-relevant hub heights.
4. Conclusions
This study developed a class-conditioned OpenFOAM framework for reconstructing Weibull-characterized wind-speed distributions at 10 m and 30 m under neutral atmospheric boundary-layer assumptions. The proposed approach combines maximum-likelihood-based Weibull parameter estimation with steady RANS simulations to provide a height-specific CFD-assisted reconstruction of measured wind-speed probability distributions. The framework was designed for distribution-based validation and vertical consistency assessment rather than direct time-resolved atmospheric wind prediction.
The CFD-assisted reconstructed distributions showed close agreement with the measured and fitted Weibull references. At the heights of 10 m and 30 m, RMSE was 0.45 m/s and 0.52 m/s, respectively, while the Pearson correlation coefficient remained above 0.96. The same result was achieved by employing the Kolmogorov–Smirnov test and Q-Q plot for verifying the probability distribution function. In addition, the annual energy production deviations of +0.40% at 10 m and −1.97% at 30 m indicate that the proposed reconstruction framework preserves the energy-relevant characteristics of the reference wind-speed distributions within a narrow deviation range.
The main contribution of this study is methodological. It demonstrates that Weibull-based wind statistics and ABL-consistent steady RANS simulations can be combined in a transparent and reproducible reconstruction workflow for preliminary wind-resource screening and height-specific consistency assessment. Nevertheless, the results should be interpreted within the limitations of a flat computational domain, neutral atmospheric boundary-layer assumption, steady RANS formulation, and absence of turbine geometry, rotor representation, wake-producing structures, real topography, and atmospheric stability effects.
Further improvements may include applying the approach to other types of terrains and considering realistic wind directions, stability classes, and more accurate transient modeling through URANS and LES. More extensive validation of the proposed Weibull–OpenFOAM technique can also be achieved by applying it to various locations with different heights of observation towers.
However, the methodology should be interpreted as a preliminary reconstruction and consistency-assessment framework rather than a complete wind-farm prediction model. Future studies should validate the approach at turbine-relevant heights such as 100 m and 150 m, include wind-direction sectors, consider atmospheric stability classes, and incorporate terrain and turbine-wake effects for wind-farm-scale applications.