GHI 分解为 DNI 与 DHI:Erbs 1982 扩散比模型与光伏应用

许多光伏工程师在做项目发电量测算时,拿到的气象数据只有一个字段:GHI(全球水平辐照度)。然而,无论是倾斜面板的辐照计算、聚光型太阳能(CSP)的法向直射辐照评估,还是双面组件背面的增益建模,都无一例外地需要 DNI(直接法向辐照)和 DHI(扩散水平辐照)这两个分量。如果数据源只给了 GHI,工程师要么放弃这批历史数据,要么自己动手把辐射"拆开"——而这件事远比想象中复杂。
辐射分解的难点在于,GHI、DNI 和 DHI 之间并不是简单的线性关系,而是深度依赖云量、大气散射和太阳高度角的非线性耦合。直接测量 DNI 需要追日式直射表,造价高昂,长序列站点稀少;大多数气象站只安装了总辐射表。因此,如何从容易获取的 GHI 推算出可用的 DNI 和 DHI,成为太阳能资源评估领域数十年来持续关注的工程问题。
1982 年,威斯康星大学的 Erbs、Klein 和 Duffie 在期刊 Solar Energy 上发表了一篇至今仍被广泛引用的经典论文,系统地提出了基于"晴空指数 kt"的扩散比分段模型。这套方法逻辑清晰、参数稳定,成为后续几十年辐射分解研究的基准参照,也是 pvlib 等主流光伏建模工具内置模型的理论起点。本文将逐层拆解这篇论文的核心方法,并结合运梦气象 API 的工程实践,帮助读者理解如何在真实项目中高效使用辐射分量数据。
关键要点
- Erbs 模型用晴空指数 kt(GHI 与大气外辐照之比)作为单一预测变量,通过分段函数估算扩散比 kd(DHI/GHI),方法简洁且物理意义明确
- 逐小时关系分三段:kt ≤ 0.22 时扩散比接近 1(以扩散为主);过渡区使用二次多项式平滑连接;kt > 0.8 时 kd 约为 0.165(晴天直射主导)
- DNI 通过几何关系 DNI = (GHI − DHI) / cos(θz) 反算,θz 为太阳天顶角,这一步对 CSP 设计和双面组件背面增益建模至关重要
- 该模型在中纬度、平原气候下表现良好,但高纬度、高原和沙漠干旱区需重新标定系数,直接套用误差可能超过工程容忍范围
- 运梦气象 API 在 era5 和 ger 数据源中直接提供 rsds(GHI 等效)、dni、dhi 字段,无需应用层手工分解,显著降低集成复杂度
背景与定位
Erbs 1982 这篇论文的诞生背景,是 20 世纪 70 年代末至 80 年代初全球能源危机之后太阳能研究的集体提速。彼时,研究者们迫切需要一种能将稀缺的辐射分量观测数据最大程度利用起来的方法,同时又能为那些只有 GHI 记录的大量气象站"补全"缺失的 DNI 和 DHI 信息。作者 Daniel G. Erbs、Sanford A. Klein 和 John A. Duffie 均来自威斯康星大学麦迪逊分校太阳能实验室,Klein 和 Duffie 更是 Solar Engineering of Thermal Processes 教材的作者,在太阳能热工程领域具有奠基性地位。
论文发表于 Solar Energy(Volume 28, Issue 4, 1982, pp. 293–302),DOI 为 10.1016/0038-092X(82)90302-4。Solar Energy 是国际太阳能学会(ISES)的官方期刊,在可再生能源领域具有很高的学术权威性。这篇文章同时给出了逐小时、逐日和月均三种时间尺度的分解关系,覆盖了从设备设计到资源评估的不同精度需求,实用性极强。
对于当前的新能源工程实践,这篇论文的意义不仅在于模型本身,更在于它确立了一套用物理可解释变量(晴空指数)驱动辐射分解的范式。后续出现的 Perez 模型、DISC 模型、BRL 模型等,虽然在精度和适用范围上各有改进,但都沿用了这一基本框架。理解 Erbs 模型,是读懂光伏资源评估领域方法论演进脉络的必要起点。
方法 / 它做了什么
Erbs 模型的核心变量是晴空指数 kt,定义为地面实测 GHI 与同时刻大气层外水平辐照度(GHI_extraterrestrial,简称 GHI_et)之比:
kt = GHI / GHI_et
GHI_et 可以精确计算——它只依赖地球公转轨道和太阳几何,与云层和大气无关。kt 的值域在 0 到约 1 之间(极少超过 1):kt 接近 0 表示天空完全被云遮蔽,辐射几乎全部以扩散形式到达地面;kt 接近 0.8 以上表示晴空无云,直射辐射占据主导。这个物理直觉是整个模型的根基。
基于对多个气象站逐小时实测数据的统计回归,论文给出了逐小时扩散比 kd(= DHI/GHI)关于 kt 的分段函数:
- 当 kt ≤ 0.22 时:kd ≈ 1.0 − 0.09 × kt(近似线性,扩散接近全部辐射)
- 当 0.22 < kt ≤ 0.80 时:kd = 0.9511 − 0.1604·kt + 4.388·kt² − 16.638·kt³ + 12.336·kt⁴(多项式平滑过渡)
- 当 kt > 0.80 时:kd ≈ 0.165(扩散分量趋于常数下限,约占 GHI 的 16.5%)
这三段函数首尾相接,保证了 kd 关于 kt 的单调递减趋势,物理上对应"云越少、直射占比越高、扩散占比越低"的基本规律。第一段的线性近似捕捉了阴天条件下扩散比接近 1 的特征;中间的多项式段处理了过渡天气的复杂变化;第三段的常数下限则反映了晴天条件下即使大气中仍有气溶胶和分子散射,也会有一个不可消除的扩散本底。
获得 DHI 之后,DNI 通过以下几何关系反算:
DNI = (GHI − DHI) / cos(θz)
其中 θz 是太阳天顶角,可由时间、经纬度精确计算。这个公式来自辐射分量的基本几何定义:GHI = DNI × cos(θz) + DHI,变形即得 DNI。需要特别注意的是,当太阳高度角很低(θz 接近 90°)时,cos(θz) 趋近于零,DNI 的计算误差会被急剧放大,实际使用时通常设置一个最低太阳高度角阈值(如 5°~10°)以避免数值爆炸。
论文还分别给出了日均和月均尺度的分解关系,系数与逐小时版本有所不同,因为时间平均会改变 kt 的统计分布特征。对于月度资源评估和年发电量估算,使用月均关系可以减少逐小时误差的随机波动,在数据不完整时更为稳健。这种多时间尺度的设计体现了作者对实际工程需求的深刻理解:不同应用场景对时间分辨率的需求差异很大,一刀切的方法会在某些场景下牺牲不必要的精度或引入不必要的误差。
关键结论
- 晴空指数 kt 是估算扩散比 kd 的有效单变量预测因子,逐小时分段函数在训练数据集上表现出良好的统计稳健性,验证了"大气透明度决定辐射分配"这一物理假设的合理性
- kt ≤ 0.22 的阴天条件下,kd ≈ 1.0 − 0.09·kt,扩散辐射几乎等于 GHI,直射分量可忽略不计
- kt > 0.80 的晴天条件下,kd 趋近常数值约 0.165,即约 16.5% 的 GHI 仍以扩散形式到达地面,来自大气分子散射和气溶胶
- DNI 通过 (GHI − DHI) / cos(θz) 反算,低太阳高度角时数值不稳定,需设置最小仰角截断
- 工程实践中,模型在高纬度、高原和极端干旱地区直接套用往往误差偏大,业界经验是针对当地气候重新标定系数以保证工程精度
上述第 1~4 条的关系式与数字以原文为准——论文的逐小时分段系数源自美国四个站点(纬度约 31°~42°N)的实测回归。第 5 条不属于 1982 年原文的直接结论,而是后续大量对比研究与工程实践反复验证的业界经验,本文将其单独标注以免与原文论断混淆。
对新能源 / 运梦平台的意义
对光伏系统的直接影响体现在三个层面。首先是固定倾斜面板的辐照计算:太阳电池板通常不是水平安装的,要计算倾斜面接收的辐照度,必须把 GHI 分解为 DNI 和 DHI,再分别用几何模型折算到倾斜面上,最后合并。如果略过分解步骤直接用 GHI 乘以倾斜角修正系数,在多云气候区误差可能超过 10%,直接影响可研报告的可信度。其次是双面组件的背面增益:双面 PERC 和 TOPCon 组件的背面主要接收地面反射辐照(其大小由地面反照率 albedo 与到达地面的总辐照共同决定,并叠加部分天空漫射),因此地面反照率与总反射辐照是计算双面增益系数(BG)的关键前提,而正面侧仍需准确的 DNI/DHI 分量来折算倾斜面入射辐照;BG 的误差直接传导到 25 年全生命周期发电量测算。第三是 CSP(聚光太阳能):CSP 系统只能利用 DNI,其装机规模、集热场面积和储热容量的选型全部以逐时 DNI 序列为输入,DNI 误差 5% 对应的发电量偏差可能超过投资回报率的容忍边界。
对风电和电网的间接意义同样不可忽视。高比例可再生能源电网中,太阳能的出力波动是净负荷曲线(net load)的主要扰动源之一。准确的辐射分量数据有助于提高超短期光功率预测的精度,进而优化储能调度和备用容量配置。运梦平台面向能源电力客户提供的气象数据服务,底层辐射数据的质量直接决定了上层电力预测产品的可信度。
运梦气象 API 的工程实现选择了一条更直接的路径:在 era5 和 ger 数据源中,平台在数据处理管线阶段已经完成了辐射分解,API 响应中直接提供 rsds(相当于 GHI)、dni(直接法向辐照)和 dhi(扩散水平辐照)三个独立字段。这意味着用户无需在应用层实现 Erbs 模型或任何其他分解算法,也无需处理低太阳高度角的数值不稳定问题,可以直接用这三个字段驱动下游的倾斜面辐照计算、双面增益模型或 CSP 系统仿真。对于需要历史再分析数据的项目,使用 dataSourceId: "era5";对于需要短期预报数据的场景,使用 dataSourceId: "ger"(德国气象局预报)。
理解 Erbs 模型的物理逻辑,有助于工程师在使用 API 数据时建立正确的质量直觉。例如,当 ERA5 数据中某小时的 kt 值很高(晴天),但 DHI/GHI 比值却异常偏高时,这往往提示该时段可能存在薄卷云或高原气溶胶的影响,需要结合云量字段或站点验证数据进行二次核查。数据驱动的工程实践,不能绕过对底层物理的基本理解。
在运梦气象 API 上手
运梦气象 API 的辐射字段(rsds、dni、dhi)在 era5 数据源下来自 ERA5 再分析产品,时间覆盖从 1940 年至近实时,空间分辨率约 31 km,逐小时输出。这对于光伏项目可研阶段的长序列资源评估非常实用:可以直接获取 20~30 年的逐时三分量辐射序列,无需任何分解计算。对于运营阶段的短期预报需求,切换到 dataSourceId: "ger" 即可获取德国气象局的 DNI/DHI 预报数据,时效覆盖未来数天,同样无需应用层分解。
以下是使用 downloadSync 接口获取某光伏电站所在坐标点逐时辐射三分量数据的 JSON 请求示例:
{
"dataSourceId": "era5",
"lat": 32.06,
"lon": 118.78,
"stime": "2023-01-01 00:00",
"etime": "2023-12-31 23:00",
"fields": ["rsds", "dni", "dhi", "tas"],
"timezone": "8"
}
返回数据中,rsds 为全球水平辐照(W/m²,逐小时平均),dni 为直接法向辐照(W/m²),dhi 为扩散水平辐照(W/m²),tas 为近地面气温(°C,平台已做后处理转换),可用于组件温度修正。拿到这四个字段,配合组件参数和安装角度,即可完成从气象输入到直流发电量的全链路计算,无需额外的辐射分解步骤。
常见问题
Q:我已经有 GHI 数据,是否还需要自己实现 Erbs 模型来得到 DNI 和 DHI?
如果使用运梦气象 API 的 era5 或 ger 数据源,不需要。API 直接提供 dni 和 dhi 字段,平台已在数据处理阶段完成分解。如果你使用的是其他只提供 GHI 的数据源,则需要自行实现分解模型,Erbs 模型或 pvlib 内置的 erbs 函数是合理的起点。
Q:Erbs 模型在中国西部高原地区可靠吗? 可靠性存疑。Erbs 1982 模型的训练数据来自北美和欧洲中纬度平原站点,高原地区大气光学路径短、气溶胶组分特殊,kt 与 kd 的统计关系与平原有系统性偏差。论文作者本人也在局限性章节中指出了高纬度和特殊气候区需要重新标定的问题。对于西藏、青海等高原项目,建议使用已经过本地化验证的辐射数据(如 ERA5 经过海拔订正的版本),或参考专门针对高原气候的改进模型。
Q:DNI 在日出日落附近为何会出现异常大值? 这是太阳高度角过低时 cos(θz) 趋近于零导致的数值不稳定。即使 GHI 和 DHI 的差值很小,除以一个极小的 cos(θz) 也会产生极大的 DNI 估算值,这在物理上毫无意义。工程实践中通常设置太阳高度角下限(如 5° 或 10°),低于阈值的时段强制将 DNI 置为 0 或 NaN。运梦 API 内部已处理此边界条件,用户无需额外过滤。
Q:逐日和月均分解关系与逐小时关系有什么区别? 三种时间尺度的分段函数系数不同,不能混用。逐小时关系精度最高但噪声也最大;日均关系平滑了日内波动,适合日发电量估算;月均关系最稳健,适合年发电量和资源等级评估。在数据质量较差或时间分辨率不足的情况下,使用更粗时间尺度的关系往往能得到更稳定的结果。运梦 API 提供逐小时辐射序列,可在应用层按需聚合为日均或月均,再选用对应时间尺度的分解关系,以匹配不同精度需求。
Q:pvlib 中的 Erbs 模型与原论文完全一致吗?
基本一致,pvlib 的 pvlib.irradiance.erbs() 函数实现了原论文的逐小时分段关系,并在内部处理了低太阳高度角截断。但 pvlib 的实现会随版本迭代有细微调整,使用前建议查阅当前版本的 API 文档和 changelog,确认与你项目需要的分解精度相匹配。
引用与原文
Erbs, D. G., Klein, S. A., & Duffie, J. A. (1982). Estimation of the diffuse radiation fraction for hourly, daily and monthly-average global radiation. Solar Energy, 28(4), 293–302. DOI: doi.org/10.1016/0038-092X(82)90302-4