Statistical wind speed distribution are used to compute energy output from a wind turbine.
The well known weibull distribution is mostly used to fit data.
Anemometer data to create a wind distribution that will fit more precisely your own data.
Note
Look at WMO recommendation on how to measure winds. WMO recommends 10 min averages data points.
Averaging periods shorter than a few minutes do not sufficiently smooth the usually occurring natural turbulent fluctuations of wind
Wind stats can generate a wind distribution from your data using a Kernel Density Estimator (KDE). Wind speed distribution is scaled with vertical wind log profile if anemometer height & wind turbine height are different.
from wind_stats import WindDistribution WindDistribution.from_data(data, roughness_length, measurement_height, height)
Wind stats uses scipy under the hood, so if another statistical distribution fits your need you can create it. Just create a WindDistribution with any continuous distribution in scipy.
scipy
WindDistribution
https://docs.scipy.org/doc/scipy/reference/stats.html#continuous-distributions
In [1]: from scipy.stats import rayleigh In [2]: from wind_stats import WindDistribution In [3]: wind_distribution = WindDistribution(rayleigh(1, 5)) In [4]: wind_distribution Out[4]: <WindDistribution>(type: rayleigh, mean: 7.2666 m/s)
In [5]: from matplotlib import pyplot as plt In [6]: import numpy as np In [7]: x = np.linspace(1, 25) In [8]: y = wind_distribution.pdf(x) In [9]: plt.plot(x, y) Out[9]: [<matplotlib.lines.Line2D at 0x7fd8ff43bc70>]
Todo
Wind Distribution user guide under construction.