使用ModelChain和阵列平面(POA)作为天气输入

时间:2018-08-15 17:25:43

标签: python pvlib

我真的很喜欢pvlib中ModelChain的概念。但是,我希望能够使用ModelChain来将给定系统(多个模块和逆变器)的直流和交流输出建模为阵列辐照度平面作为weather输入,而不是输入GHI,DNI和DHI分量(我没有测量值),然后指定一个换位模型作为ModelChain的一部分。这可能吗?

这是我的系统设计

`system=pvlib.pvsystem.PVSystem(surface_tilt=22.5,
                        surface_azimuth=180,
                        modules_per_string=30,
                        strings_per_inverter=100,
                module_parameters=cec_modules['Yingli_Energy__China__YL300P_35b'],                        inverter_parameters=cec_inverters['SMA_America__SC800CP_US_360V__CEC_2012_'])`

以下是我的天气数据示例:

`weather.loc['2018-07-01 10:00:00':'2018-07-01 12:00:00'].head()
Out[420]: 
                            poa_global  temp_air  wind_speed
Timestamp                                                   
2018-07-01 10:00:00-07:00  1031.487152  41.69515     0.77450
2018-07-01 10:05:00-07:00  1031.917903  41.62194     0.82462
2018-07-01 10:10:00-07:00  1033.182229  46.01999     0.54983
2018-07-01 10:15:00-07:00  1031.597900  38.67440     0.95819
2018-07-01 10:20:00-07:00  1031.660918  39.16293     0.86196`

这是我理想地对ModelChain进行的操作:

`mc=pvlib.modelchain.ModelChain(system,location,
                               aoi_model='physical',
                               transposition_model='None',
                               dc_model='singlediode',
                               ac_model='snlinverter',
                               spectral_model='no_loss',
                               losses_model='pvwatts')`

`mc.run_model(times=weather.index,weather=weather)`

2 个答案:

答案 0 :(得分:0)

当前无法将Module用于阵列天气输入平面。我建议您在pvlib问题跟踪器上发出功能请求。但是,您可以检查ModelChain.run_model源代码并将POA后步骤复制到您自己的函数中,该函数接受ModelChain.run_model对象作为输入。有关背景,请参见Demystifying ModelChain internals

答案 1 :(得分:0)

此功能是在 pvlib 0.8.0 中添加的(检查 pvlib.__version__ 以查看您安装的版本)。

在此处查看文档页面:https://pvlib-python.readthedocs.io/en/stable/generated/pvlib.modelchain.ModelChain.run_model_from_poa.html