气象大数据

风向切变(veer)对大叶轮风机出力与载荷的影响

· 南京运梦科技算法团队 · 评审 算法负责人

风向切变(veer)对大叶轮风机出力与载荷的影响 封面

风资源工程师对"风速切变"(wind shear,风速随高度变化)大多耳熟能详,外推轮毂风速时都会算一个切变指数 α。但还有一个同样源自近地层、却长期被忽视的兄弟现象——风向切变(wind veer):风的来向也会随高度变化。在北半球的稳定夜间边界层里,风向常随高度"顺时针顺转"(veer),从叶根到叶尖可以转过几度到十几度甚至更多。对一台扫风直径还不到 100m 的老机型,这点方向差异无伤大雅;可对当下动辄 170m、200m 乃至更大叶轮的机型,叶尖和叶根之间隔着上百米高差,它们迎接的根本是两股方向不同的风。这时风机的偏航系统只能对准一个方向,扫风面上必然有一部分叶片在"斜着吃风"——出力被削、疲劳载荷被放大。本文面向风电工程师,把 veer 的成因、它对大叶轮出力与载荷的物理机制,以及怎样用多高度风数据把它量化进资源评估与功率预测讲清楚。

关键要点

  • veer 是风向随高度的变化,shear 是风速随高度的变化:两者都源自近地层与科氏力、地表摩擦的相互作用,但 veer 影响的是来流"方向",对大叶轮的危害随扫风直径增大而被显著放大。
  • 稳定夜间边界层是 veer 的高发期:夜间地表辐射冷却、湍流混合减弱,埃克曼螺旋(Ekman spiral)效应凸显,北半球风向常随高度顺转;白天对流混合旺盛时 veer 通常很小。
  • veer 直接削弱"转子等效风速":当叶尖与叶根来流不同向时,垂直于扫风面的有效来流分量按方向偏差的余弦缩小,等效于功率曲线整体右移、同等风速下出力下降。
  • veer 放大叶片疲劳载荷:每转一圈叶片都在变化的攻角与相对风速中扫过,引入 1P/3P 频率的周期性载荷波动,长期累积加速叶根与主轴的疲劳消耗。
  • IEC 61400-12-1:2017(第 2 版)已把 veer 写进功率特性验收:通过"转子等效风速"(REWS)承认整个扫风面的风廓线——包括风向廓线——都会影响出力,单点轮毂风速不再够用。
  • 运梦平台可一套代码量化 veer:历史用 ERA5(dataSourceId="era5",提供 10m 与 100m 两个高度的风分量),预报用德国气象局数据(dataSourceId="ger",覆盖未来约 7 天),由两高度风向之差直接算出 veer 角度。

veer 与 shear:同根不同向

近地层风廓线由三种力的平衡塑造:气压梯度力、科氏力和地表摩擦力。地面附近摩擦最强,风速被拖慢、风向偏离地转风;随高度上升摩擦减弱,风速回升(这就是 shear,风速切变),风向也逐步向地转风方向旋转(这就是 veer,风向切变)。这套随高度同时改变风速大小与方向的结构,理想化后就是经典的埃克曼螺旋(Ekman spiral)——在北半球,风向随高度增加而顺时针顺转。

工程上习惯把两者分开记账:

  • **shear(风速切变)**用切变指数 α 刻画,v(z)=v(zᵣ)·(z/zᵣ)^α,决定的是叶尖比叶根"风更大"多少;这部分在轮毂风速外推、Weibull 拟合里已被反复讨论(见《风切变与威布尔分布:轮毂高度风速外推实战》)。
  • **veer(风向切变)**用单位高度的风向变化率(°/m,或扫风面上下缘的总方向差 Δφ)刻画,决定的是叶尖比叶根"风偏了多少度"。

两者的稳定度依赖高度一致:白天对流边界层湍流混合强,上下层动量充分交换,风向被"搅匀",veer 小、α 也小;夜间稳定边界层抑制混合,上下层近乎"解耦",埃克曼螺旋显形,veer 显著增大、α 也陡增。所以 veer 大的时段,往往就是 shear 也大的时段——夜间、清晨、冬季、内陆平原。这种相关性意味着:只算 shear 而忽略 veer,会系统性地低估大叶轮在这些时段的出力损失与载荷。

为什么大叶轮对 veer 特别敏感

关键在于扫风面的垂直跨度。veer 是"每米转多少度"的量,扫风面越高、上下缘高差越大,叶尖与叶根之间累计的方向差就越大。

举个量级感:假设 veer 为 0.05 °/m(夜间稳定层结下并不罕见)。

  • 一台叶轮直径 90m、轮毂高 80m 的老机型,扫风面从约 35m 到 125m,跨度 90m,上下缘总方向差约 4.5°;
  • 一台叶轮直径 180m、轮毂高 110m 的大叶轮机型,扫风面从约 20m 到 200m,跨度 180m,上下缘总方向差约 9°,叶尖叶根来流相差近一个机型偏航对准的允许误差。

而风机的偏航系统只能整机对准一个方向——通常是机舱风向标(约在轮毂高度)测到的来向。于是扫风面上只有轮毂附近的叶片段恰好正对来流,越往上、往下,叶片越是在"斜着吃风"。偏航对准了平均方向,却对不准整个廓线,这是 veer 在大叶轮上无法回避的结构性矛盾。

机制一:veer 怎样削弱出力

风机出力由垂直穿过扫风面的来流功率决定。当来流方向与扫风面法线(即偏航对准方向)有偏差角 θ 时,垂直于扫风面的有效风速分量按 cos θ 缩小,而功率近似与有效风速的三次方相关,所以这一段叶片贡献的功率近似按 cos³θ 衰减。

veer 的特点是 θ 沿高度连续变化:轮毂高度处 θ≈0(偏航对准),越往叶尖、叶根 θ 越大。把整个扫风面按高度分层、对各层的有效来流加权积分,得到的就是 IEC 61400-12-1:2017(第 2 版)引入的转子等效风速(Rotor Equivalent Wind Speed, REWS)——它不再用轮毂单点风速,而是把扫风面各高度的风速、风向廓线都积分进来,作为驱动功率曲线的"等效"风速。

veer 越大,REWS 相对轮毂风速的折损越明显,效果等价于功率曲线整体右移:同样的轮毂风速,实发功率比厂家标称曲线(多在低 veer、低 shear 的标准条件下测得)偏低。如果资源评估和功率预测里只用轮毂单点风速查标称曲线,就会在 veer 大的夜间系统性高估发电量。这类系统偏差比随机噪声更危险——它不会在长期平均中相互抵消,而是持续地把电量估高。

机制二:veer 怎样放大疲劳载荷

出力损失只是 veer 的一面,对大叶轮机型,疲劳载荷的放大往往是更受关注的另一面

风机叶片是旋转的。在存在 veer(以及 shear)的廓线里,叶片每转一圈,叶尖就要从"扫风面顶部的来流方向"扫到"底部的来流方向",再转回去。这意味着叶片各截面的攻角与相对风速在一圈之内周期性变化,引入以转速为基频的 1P 载荷(每转一次的周期波动),三叶片机型在轮毂与传动链上则叠加出 3P 载荷。veer 越大,扫风面上下缘的来流方向差越大,这种周期性气动力不平衡越强。

后果有三层:

  1. 叶根挥舞/摆振弯矩波动加大——直接作用在叶根连接、变桨轴承上;
  2. 不平衡载荷传到轮毂与主轴——表现为偏航力矩、俯仰力矩的周期分量,长期啃食主轴承与偏航系统;
  3. 疲劳寿命消耗加速——疲劳损伤对载荷幅值高度非线性(雨流计数 + S-N 曲线下,幅值小幅增大就显著缩短寿命),veer 引入的周期载荷会实打实压缩设计寿命。

正因如此,IEC 61400-12-1 第 2 版把风切变与风向切变一并纳入功率特性测量的环境描述,承认整个扫风面的风廓线都影响机组表现;而在载荷与认证侧,veer 也是大叶轮机型设计载荷工况里不可忽略的输入。换句话说,veer 不只是"少发了几度电",更是"多耗了多少寿命"。

怎样把 veer 量化进工程实践

veer 的量化并不复杂,核心是拿到两个(或更多)不同高度的风向,作差得到方向变化,再换算成单位高度的 veer 率或扫风面上下缘总方向差。

  • 测风塔:多层风向标/超声风速仪可直接给出风向廓线,是最可信的来源,但塔高常达不到现代轮毂高度,且只代表单点。
  • 激光雷达(LiDAR):可扫到整个扫风面高度的风速、风向廓线,是实测 veer 的利器,但成本高、多用于短期测量活动。
  • 再分析 / 数值预报数据:提供 10m 与 100m(或更多层)风分量,可逐时反算 veer,覆盖长序列与未来时段,适合做气候态统计与预测,且一套代码历史、预报通用

工程上的典型用法:先用长序列数据统计目标机位 veer 的逐月逐时气候态(中位数、P90),识别出 veer 高发的时段(多为夜间、冬季);再把这些时段与 SCADA 实发功率、载荷数据叠加,验证 veer 与出力折损、载荷上升的对应关系;最后在功率预测模型里把 veer(或 veer 代理特征)作为输入变量,让模型学会"高 veer 时段要把标称功率打个折"。对资源评估,则应把 REWS 思路下的 veer 折损并入 P50/P90 的不确定度,而不是默认轮毂单点风速无误差。

在运梦气象 API 上量化 veer

运梦气象 API 的 downloadSync 接口对外暴露 10m(uas/vas)与 100m(u100/v100)两个高度的风分量,正好可以作差算出这两高度间的 veer——这是一个跨越大叶轮扫风面主要高度区间的方向差,足以作为 veer 强弱的工程代理。历史回测用 ERA5(dataSourceId="era5",覆盖 1950 年至今的长序列),预报用德国气象局数据(dataSourceId="ger",覆盖未来约 7 天),字段口径一致,外推与统计代码一套复用。响应是统一 JSON envelope,用 resp.json() 解析后按时间序列各字段数组下标对齐。

import os, requests
import numpy as np

API = "https://console.yun-meng.top/api/energy-weather/search/weather/action/downloadSync"
TOKEN = os.environ["YUNMENG_TOKEN"]

payload = {
    "dataSourceId": "era5",            # 历史用 ERA5;预报改 "ger"(德国气象局,未来约 7 天)
    "lat": 41.8, "lon": 109.9,
    "stime": "2023-01-01 00:00",
    "etime": "2023-12-31 23:00",
    "timezone": "8",                   # 必填,东八区
    "fields": ["uas", "vas", "u100", "v100"],
}
r = requests.post(API, headers={"Authorization": f"Bearer {TOKEN}"},
                  json=payload, timeout=600)
r.raise_for_status()
result = r.json()                       # 统一 envelope,无 CSV/NetCDF、无 format 参数
if not result.get("success"):
    raise RuntimeError(result.get("msg", "查询失败"))
data = result["data"]

u10,  v10  = np.asarray(data["uas"],  float), np.asarray(data["vas"],  float)
u100, v100 = np.asarray(data["u100"], float), np.asarray(data["v100"], float)

# 气象风向(来向):dir = (270 - atan2(v, u)) mod 360
def wdir(u, v):
    return (270.0 - np.degrees(np.arctan2(v, u))) % 360.0

d10, d100 = wdir(u10, v10), wdir(u100, v100)

# veer = 100m 与 10m 风向之差,规整到 (-180, 180],正值=随高度顺转(北半球典型)
veer = (d100 - d10 + 180.0) % 360.0 - 180.0

# 只统计有效风速时段,避开静风导致风向无意义
ws10  = np.hypot(u10,  v10)
ws100 = np.hypot(u100, v100)
mask  = (ws10 > 1.0) & (ws100 > 1.0)
veer_eff = veer[mask]

print(f"10m→100m 风向切变 veer: 中位数={np.median(veer_eff):+.1f}°, "
      f"P90={np.percentile(veer_eff, 90):+.1f}° (正值=顺转)")
print(f"|veer|>10° 时段占比={np.mean(np.abs(veer_eff) > 10):.1%} "
      f"(多落在夜间/冬季,对大叶轮出力与载荷影响最大)")

把每条记录的小时与月份取出,对 veer_eff 做"逐月×逐时"分组统计,就能画出 veer 的气候态热力图——通常会清晰看到夜间、冬季的 veer 显著大于白天、夏季。再把高 veer 时段与 SCADA 出力对齐,就能定量校核标称功率曲线在这些时段的折损。预报场景只需把 dataSourceId 换成 "ger",由德国气象局预报提供未来约 7 天的多高度风分量,veer 计算代码完全复用。需要说明:ERA5 与德国气象局数据给的是两个标准高度间的方向差,是 veer 的工程代理;若要精细刻画整个扫风面的风向廓线,仍建议以测风塔或激光雷达实测为准,再用长序列数据做气候态外延与预测。

落地:veer 该进哪三个环节

对风电从业者,把 veer 纳入工作流,主要影响三个环节的质量:

  • 机型选型与微观选址:大叶轮机型在 veer 高发场址(内陆平原、夜间稳定层结频繁的地区)面临更大的出力折损与载荷压力,选型时应把当地 veer 气候态作为一项额外的环境约束,而非只看年均风速。
  • 功率曲线核对与功率预测:标称功率曲线多在低 veer 标准条件下测得,REWS 思路提醒我们高 veer 时段要对标称功率打折;把 veer(或两高度风向差代理)作为特征喂进短期功率预测模型,能直接降低夜间时段的预测偏差,对应"两个细则"考核里的偏差电量。
  • 资源评估的不确定度合成:veer 引起的 REWS 折损是系统性的,应并入 P50/P90 的不确定度,避免默认轮毂单点风速即代表整个扫风面。

落到运梦平台的能力上:历史用 ERA5(dataSourceId="era5",1950 年至今)反算各场址、各时段的 veer 气候态,把夜间与季节变化吃进去;预报用德国气象局数据(dataSourceId="ger",未来约 7 天)做同口径的 veer 滚动预测,一套外推与统计代码两处复用,无需维护两套换名规则。veer 是个长期被 shear 抢了风头的现象,但在叶轮越做越大的今天,把它从"被忽略"提升到"被量化",往往就是把大叶轮机型的电量估准、把载荷管住的那块短板。