You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PVLib中结合地平线计算晴空辐照度及相关建模问题

山区光伏系统辐照度模拟相关问题

我在山区部署了光伏系统,周边高山会遮挡地平线。分别用PVLib、带/不带地平线参数的PVGIS模拟晴空辐照度后,发现二者差异显著,现提出以下问题:

  1. 调用Location.get_clearsky()函数时,能否考虑Location的地平线信息?
  2. 若不可行,PVLib中是否有其他方法考虑地平线的影响?
  3. 若仍不可行,能否仅使用PVGIS输出的带地平线的晴空GHI数据,运行采用pvwatts交直流模型的ModelChain(无DNI和DHI数据)?

附:模拟代码

# Location
locationValley = Location(latitude=46.179, longitude=7.602, altitude=1431, tz='Europe/Zurich', name='Valley')

# Weather
datetime = pd.date_range(start='2022-01-01', end='2022-01-02', freq='5min', tz=locationValley.tz, inclusive='left')
csPowerValley = locationValley.get_clearsky(datetime)  # ineichen with climatology table by default

# ModelChain
array1 = Array(
        mount=FixedMount(surface_tilt=30, surface_azimuth=241, racking_model = 'open_rack'),
        module_parameters={'pdc0': 55, 'gamma_pdc' : -0.004},
        module_type = 'glass_polymer',
        modules_per_string = 445, # 445 modules for 1 string or 89 modules for 5 strings is the same
        strings = 1,
        temperature_model_parameters=pvlib.temperature.TEMPERATURE_MODEL_PARAMETERS['sapm']['open_rack_glass_polymer'],
    )
system = PVSystem(arrays=[array1], inverter_parameters={'pdc0': 24475, 'eta_inv_nom': 0.96})
modelChain = ModelChain(system, locationValley, clearsky_model = 'ineichen', aoi_model='no_loss', spectral_model="no_loss")

modelChain.run_model(csPowerValley)

问题解答

1. Location.get_clearsky()是否支持地平线信息?

不能。Location.get_clearsky()底层调用的是晴空辐照度模型(默认Ineichen),这类模型计算的是无遮挡条件下的理想晴空辐照度,不会读取或应用Location对象中的地平线遮挡信息。

2. PVLib中考虑地平线影响的替代方法

有两种常用方式:

  • 手动计算遮挡后辐照度:先通过pvlib.solarposition.get_solarposition()计算太阳高度角/方位角,再结合自定义的地平线数据(比如每个方位的遮挡高度角),判断太阳是否被遮挡。对于被遮挡时段,直接将对应的DNI设为0,GHI和DHI则根据遮挡比例做相应扣减。
  • 使用pvlib.irradiance.get_total_irradiance()的horizon_band参数:如果能提供地平线的方位-高度角数据,可以通过该参数在计算斜面辐照度时考虑遮挡。不过需要注意,这个参数主要是过滤掉低于地平线的太阳辐射,需要提前整理好地平线的轮廓数据。

3. 仅用PVGIS的GHI数据运行Pvwatts模型的ModelChain?

可以,但需要注意两点:

  • 初始化ModelChain时要指定irradiance_model='pvwatts',避免ModelChain尝试拆分GHI为DNI和DHI,这样模型会直接用输入的GHI计算直流功率。
  • 温度模型需要环境温度数据,如果没有的话,要么用默认值,要么从其他渠道补充,否则会影响功率计算的准确性。

内容的提问来源于stack exchange,提问作者Maxime Charrière

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:07:19