Python 使用PVLIB模拟具有着色损失的系统

Python 使用PVLIB模拟具有着色损失的系统,python,pvlib,Python,Pvlib,我下面是模拟一个简单系统每隔15分钟产生能量的基本示例 然而,我想知道,按照相同的基本示例,如何在系统中引入损失。也就是说,使用以下代码: import pandas as pd import matplotlib.pyplot as plt import pvlib from pvlib.pvsystem import PVSystem from pvlib.location import Location from pvlib.modelchain import basic_chain, M

我下面是模拟一个简单系统每隔15分钟产生能量的基本示例

然而,我想知道,按照相同的基本示例,如何在系统中引入损失。也就是说,使用以下代码:

import pandas as pd
import matplotlib.pyplot as plt
import pvlib
from pvlib.pvsystem import PVSystem
from pvlib.location import Location
from pvlib.modelchain import basic_chain, ModelChain

#%%
naive_times = pd.DatetimeIndex(start='01-30-2017', end='08-02-2017', freq='15min')
coordinates = [(52, 4, 'Amsterdam', 10, 'Etc/GMT-1')]

sandia_modules = pvlib.pvsystem.retrieve_sam('SandiaMod')
sapm_inverters = pvlib.pvsystem.retrieve_sam('cecinverter')

module = sandia_modules['Hanwha_HSL60P6_PA_4_250T__2013_']
inverter = sapm_inverters['ABB__PVI_10_0_I_OUTD_x_US_208_y_208V__CEC_2011_']

temp_air = 20
wind_speed = 0

system = PVSystem(surface_tilt = 13, surface_azimuth = 270, module_parameters = module, modules_per_string = 20, strings_per_inverter = 2, inverter_parameters = inverter)
for latitude, longitude, name, altitude, timezone in coordinates:
    location = Location(latitude, longitude, name=name, altitude=altitude, tz=timezone)
    mc = ModelChain(system, location, orientation_strategy=None)
    mc.run_model(naive_times.tz_localize(timezone))
    ac = mc.ac
    energy = ac*0.001*0.25

    plt.figure()
    energy.plot()
我明白了

我想要的是一个类似的东西,从实际测量中获得:

具体地说,

正如你所看到的,阴影、直流损耗等造成了很多损失

我现在的问题是如何从我的代码示例开始,实现与图像和中的图形相似的绘图


提前谢谢

您的问题是关于直流损耗和阴影,但当前ModelChain与实际系统之间的最大区别在于天气,特别是辐照度,因为连续两天的辐射不相同,这是由于云量变化,而不是静态损耗

readthedocs上的示例:包括在步骤4中应用天气数据。在进一步澄清ModelChain内部结构时,它定义了天气。不幸的是,它不适用于POA(阵列平面)辐照度,这是现场测量的最常见类型。然而,ghi和dhi可以根据POA进行估算,但显然没有实现任何功能

weather : None or DataFrame, default None
    If None, assumes air temperature is 20 C, wind speed is 0
    m/s and irradiation calculated from clear sky data. Column
    names must be 'wind_speed', 'temp_air', 'dni', 'ghi', 'dhi'.
    Do not pass incomplete irradiation data. Use method
    :py:meth:`~pvlib.modelchain.ModelChain.complete_irradiance`
    instead.

readthedoc页面确实提供了一些关于添加不同类型直流损耗的信息,主要是通过特定的物理模型(aoi或光谱)。不幸的是,根据系统及其周围环境的不同,着色非常复杂,而且还没有人创建着色丢失模块

从文档中似乎不太清楚是否缺少天气(例如,在中)。当损失仅占少数%,但完全忽略云量,且环境温度设置为20°C时,使用详细的损失模型有什么意义?我将调查并尝试更新文档。