我想使用pvlib库来计算单轴跟踪系统的辐照度POA数据。
通过创建pvlib.tracking.SingleAxisTracker类(使用适当的元数据),然后调用get_irradiance方法,从文档中可以看出这是可能的。
我这样做了:
HSAT = SingleAxisTracker(axis_tilt=0,
axis_azimuth=167.5,
max_angle=50,
backtrack=True,
gcr=0.387)
然后我使用我刚刚创建的SingleAxisTracker的HSAT实例的get_irradiance方法,期望它使用我刚输入的元数据来计算此水平单轴跟踪系统的POA数据:
hsat_poa = HSAT.get_irradiance(surface_tilt=0,
surface_azimuth=167.5,
solar_zenith=sz,
solar_azimuth=sa,
dni=dni,
ghi=ghi,
dhi=dhi,
airmass=None,
model='haydavies')
然而,当我去绘制hsat_poa时,我得到了固定倾斜系统的POA数据。
当我查看源代码时,我注意到SingleAxisTracker.get_irradiance方法最终调用了location.total_irrad()方法,该方法仅返回固定倾斜系统的POA数据。
我是否需要从HSAT系统提供我的down surface_tilt数据?我假设pvlib为HSAT系统建模,并根据SingleAxisTracker类实例化中提供的参数为我生成surface_tilt值。但似乎并非发生了什么。
所以我的问题是pvlib是否需要将跟踪器角度作为输入来计算单轴跟踪器系统的POA数据,还是可以根据像axis_tilt,max_angle和backtrack这样的元数据对跟踪器角度进行建模?
答案 0 :(得分:0)
结果是pvlib.tracking.singleaxis()是缺失的链接。
这将决定单轴跟踪系统的旋转角度。
tracker_data = pvlib.tracking.singleaxis(solar_position['apparent_zenith'],
solar_position['azimuth'],
axis_tilt=MOUNTING_TILT,
axis_azimuth=MOUNTING_AZIMUTH,
max_angle=MAX_ANGLE,
backtrack=True,
gcr=MOUNTING_GCR)
然后使用tracker_data
,如下所示:
hsat_poa_model_tracker = HSAT.get_irradiance(surface_tilt=tracker_data['surface_tilt'],
surface_azimuth=tracker_data['surface_azimuth'],
solar_zenith=solar_position['apparent_zenith'],
solar_azimuth=solar_position['azimuth'],
dni=dni,
ghi=ghi,
dhi=dhi,
airmass=None,
model='haydavies')
将计算单轴跟踪器的POA数据。
在这个jupyter笔记本中找到答案: http://nbviewer.jupyter.org/github/pvlib/pvlib-python/blob/master/docs/tutorials/tracking.ipynb
答案 1 :(得分:0)
是否可以根据元数据对跟踪器角度进行建模
axis_tilt
,max_angle
和backtrack
?
pvlib的ModelChain
会这样做。有关将ModelChain
与SingleAxisTracker
一起使用的示例,请参阅PV Power Forecast文档。