Использование 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, 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()

я получил Энергетические ценности от моделирования

То, что я хотел бы иметь, похоже на это, полученное из реальных измерений:

Реальные измерения

В деталях,

Реальные измерения в деталях

Как видите, много потерь от затенения, потерь постоянного тока и т. Д.

Мой вопрос теперь состоит в том, как исходить из моего примера кода и добиться сюжета, подобного изображениям на рисунках 2 и 3?

Заранее спасибо!

1 ответ

Ваш вопрос о потерях и затенении постоянного тока, но самое большое различие между вашей текущей ModelChain и реальной системой - это погода, в частности, освещенность, поскольку два дня подряд не идентичны, что связано с изменением облачного покрова, а не статическим потери.

Пример readthedocs: https://pvlib-python.readthedocs.io/en/latest/modelchain.html включает применение данных о погоде на шаге 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 или спектральные). К сожалению, затенение является сложным, в зависимости от системы и ее окружения, и никто не создал модуль потери затенения.

Другие вопросы по тегам