Wind Resource Assessment & Wind Farm Design
From wind data to megawatt-hours. Learn wind resource measurement (met masts, LiDAR), wind shear and the power law, the Weibull distribution and mean power density, power curves and the Betz limit, annual energy production (AEP) and capacity factor, P50/P90 estimates, wake effects and turbine spacing, offshore wind, and grid integration — with Python integrating a Weibull distribution over a power curve.
Wind power output scales with the cube of wind speed, so a site with 10% higher mean wind produces about 30% more energy. Careful resource assessment decides whether a wind farm is bankable.
Wind farm design then places turbines to capture the most energy while limiting wake losses, respecting terrain, noise and grid constraints.
An analogy
Wind speed statistics are like the rainfall record for a water-harvesting project: the average isn't enough — you need to know how often strong winds blow, because those few windy hours produce most of the energy.
Measuring the wind
At least one year of on-site data at hub height from met masts (cup anemometers, vanes) or remote sensing (LiDAR/SoDAR), correlated with long-term reference data (MCP — measure-correlate-predict). Wind speed increases with height (shear); roughness and terrain matter.
Statistics and energy
Wind speeds follow roughly a Weibull distribution (k ≈ 2 is the Rayleigh case). Because P ∝ v³, energy is concentrated in the high-wind tail. AEP combines the distribution with the turbine's certified power curve (IEC 61400-12), corrected for air density. Uncertainty yields P50 (median) and P90 (exceeded 90% of years) values used by lenders.
Layout and wakes
Wind farm design considerations:
- Wakes: downstream turbines see reduced wind and more turbulence (Jensen/Park, Gaussian wake models)
- Spacing: typically 3–5 D across and 7–10 D along the prevailing wind
- Array losses 5–15% onshore, up to 15–20% for dense offshore arrays
- Constraints: terrain, noise and shadow flicker limits, access roads, grid connection
- Optimisation tools: WAsP, WindPRO, OpenWind, FLORIS
Offshore, repowering and grid
Offshore wind has stronger, steadier winds and larger turbines (15+ MW, 230 m rotors) on monopiles, jackets or floating platforms; costs are higher but capacity factors reach 45–55%. Repowering old sites with fewer, larger turbines multiplies output. Grid integration needs forecasting, reactive power control, fault ride-through and, increasingly, hybrid wind–solar–storage plants (common in India's tenders).
Formulas
- Power in wind:
P = ½·ρ·A·v³ - Turbine power:
P = ½·ρ·A·v³·C_p, C_p ≤ 16/27 = 0.593 - Weibull pdf:
f(v) = (k/c)(v/c)^(k−1)·e^(−(v/c)^k) - Mean speed:
v̄ = c·Γ(1 + 1/k) - AEP:
AEP = 8760·∫P(v)f(v)dv - Shear:
v₂ = v₁·(h₂/h₁)^α
Worked example: Cube law
Given: Wind 6 → 7 m/s
Find: Power increase.
- (7/6)³
Answer: +59%
Worked example: Hub-height speed
Given: v₁₀ = 5 m/s, α = 0.14, hub 120 m
Find: v₁₂₀.
- 5 × 12^0.14
Answer: 7.1 m/s
Worked example: Capacity factor
Given: 2 MW turbine, 5500 MWh/yr
Find: CF.
- 5500/(2 × 8760)
Answer: 31.4%
Weibull AEP for a 2 MW turbine
import math
# Wind resource: Weibull distribution and annual energy of a 2 MW turbine
k, c = 2.0, 7.5 # Weibull shape, scale (m/s)
rho, D = 1.225, 100.0
A = math.pi * D * D / 4
mean_v = c * math.gamma(1 + 1 / k)
print(f"mean wind speed {mean_v:.2f} m/s")
def power(v): # simplified power curve: cut-in 3, rated 12 m/s -> 2 MW, cut-out 25
if v < 3 or v > 25: return 0.0
if v >= 12: return 2000.0
return min(2000.0, 0.5 * rho * A * v**3 * 0.45 / 1000)
def pdf(v):
return (k / c) * (v / c) ** (k - 1) * math.exp(-(v / c) ** k)
dv = 0.1
aep = sum(power(i * dv) * pdf(i * dv) * dv for i in range(1, 300)) * 8760 / 1000 # MWh
print(f"annual energy production {aep:.0f} MWh, capacity factor {aep/(2*8760)*100:.1f}%")
print(f"Betz limit power at 10 m/s: {0.5*rho*A*1000*16/27/1e6:.2f} MW (vs 0.5*rho*A*v^3 = {0.5*rho*A*1000/1e6:.2f} MW)")
# mean wind speed 6.65 m/s
# annual energy production 7017 MWh, capacity factor 40.1%
# Betz limit power at 10 m/s: 2.85 MW (vs 0.5*rho*A*v^3 = 4.81 MW)A large 100 m rotor on a 2 MW generator (low specific power) reaches rated power early, giving a high 40% capacity factor at a 6.65 m/s mean site. No turbine can capture more than 59.3% of the wind's power (Betz). Real AEP estimates subtract wake, availability, electrical and other losses (typically 10–20%).
Common mistakes
- Wrong: Using mean wind speed in P = ½ρAv³. — Right: Integrate over the distribution (mean of v³ > (mean v)³).
- Wrong: Short measurement periods. — Right: At least a year plus long-term correction.
- Wrong: Ignoring wake losses. — Right: Model wakes; space turbines along prevailing wind.
Applications
- Onshore wind farms: Tamil Nadu, Gujarat, Karnataka wind corridors.
- Offshore wind: Gujarat and Tamil Nadu coast plans; North Sea projects.
- Hybrid parks: Wind–solar–storage for round-the-clock power.
- Repowering: Replacing older small turbines.
Key takeaways
- P = ½ρAv³C_p, C_p ≤ 0.593.
- Integrate Weibull × power curve for AEP.
- Shear and wakes shape layout.
- Report P50/P90 with losses.
Going further
- Wake steering: Yawing upstream turbines to deflect wakes.
- CFD for complex terrain: RANS/LES flow modelling.
- Floating offshore wind: Spar, semi-submersible and TLP platforms.