3、风电出力特性与发电量测算
做风储项目投资,最核心的问题是什么?
说白了就一个——这台风电机组,一年到底能发多少度电?
我见过太多项目,前期测算时拍脑袋给个等效小时数,结果运营期一算,差了20%以上。嗯,今天我们就来把这个账算清楚。
3.1 风速概率分布:威布尔分布
风是随机的,但随机中也有规律。我个人习惯用威布尔分布来描述风速的概率特征。为什么是它?因为两个参数就能把大多数风场的风速特性描述清楚。
威布尔分布的概率密度函数长这样:
f(v) = (k/c) * (v/c)^(k-1) * exp[-(v/c)^k]
其中:
- v —— 风速(m/s)
- k —— 形状参数,一般在1.5~3之间
- c —— 尺度参数,与平均风速有关
我在内蒙古一个项目上遇到过,当地测风塔数据只有半年,k值怎么取都拿不准。后来我建议用相邻气象站10年数据做参考,才把k值定在2.1。你想想看,如果k值差0.3,年发电量能差出8%~10%。
关键经验:k值越大,风速越集中;k值越小,风速越分散。中国北方平原风场k值通常在2.0~2.5,南方山地风场可能低至1.6~1.8。
3.2 风机功率曲线
有了风速分布,下一步就是看风机怎么把风变成电。每台风机都有厂家提供的功率曲线,它告诉你:给定风速下,风机能输出多少功率。
典型的功率曲线有三个关键点:
- 切入风速(通常3~4 m/s)—— 风机开始发电
- 额定风速(通常10~12 m/s)—— 达到额定功率
- 切出风速(通常25 m/s)—— 为了保护风机,停机
举个例子,一台4MW风机的功率曲线简化数据:
| 风速 (m/s) | 功率 (kW) |
|---|---|
| 3 | 80 |
| 4 | 250 |
| 6 | 900 |
| 8 | 1800 |
| 10 | 3000 |
| 12 | 4000 |
| 14 | 4000 |
| 25 | 0 |
避坑指南:我曾经见过一个项目,直接用厂家给的理想功率曲线做测算,结果实际发电量低了15%。为什么?因为忽略了空气密度修正。高原地区空气稀薄,同样风速下功率会下降。记得乘上密度修正系数。
3.3 年等效满负荷小时数计算
好了,前面两个东西准备好了,现在算年等效满负荷小时数。公式其实很简单:
年发电量 = Σ [ f(v_i) * P(v_i) * 8760 ]
其中:
- f(v_i) —— 风速v_i出现的概率(威布尔分布)
- P(v_i) —— 风速v_i对应的功率(功率曲线)
- 8760 —— 一年的小时数
然后:
等效满负荷小时数 = 年发电量 / 额定功率
我一般用Python写个脚本,把风速从0到25 m/s按0.5 m/s步长离散化,然后累加。代码大概长这样:
import numpy as np
# 威布尔参数
k = 2.1
c = 7.5
# 功率曲线数据(简化)
wind_speeds = np.array([3,4,6,8,10,12,14,25])
powers = np.array([80,250,900,1800,3000,4000,4000,0])
# 插值到0.5m/s步长
v = np.arange(0, 25.5, 0.5)
p = np.interp(v, wind_speeds, powers)
# 威布尔概率密度
f = (k/c) * (v/c)**(k-1) * np.exp(-(v/c)**k)
# 年发电量 (kWh)
annual_energy = np.sum(f * p * 8760)
# 等效满负荷小时数
equiv_hours = annual_energy / 4000
print(f"年发电量: {annual_energy:.0f} kWh")
print(f"等效满负荷小时数: {equiv_hours:.0f} h")
注意:这个计算假设风机可用率100%。实际项目中,还要考虑检修、电网限电、湍流强度等因素。我一般会在理论值基础上打9折,作为保守估算。
3.4 知识体系总览
下面这张图,把整个逻辑串起来了:
你看,整个流程其实就三步:风速分布 → 功率曲线 → 积分求和。但每一步都有坑,每一步都需要结合项目实际情况做调整。
我个人习惯,在拿到一个新项目时,先花一周时间把测风数据吃透,把威布尔参数定准。这一步做扎实了,后面的测算才有意义。否则,再漂亮的财务模型也是空中楼阁。