Как я могу рассчитать данные POA освещенности для фотоэлектрической системы с одной осью слежения?
Я хотел бы использовать библиотеку pvlib для расчета данных POA освещенности для одноосной системы отслеживания.
Из документации видно, что это возможно, создав класс pvlib.tracking.SingleAxisTracker (с соответствующими метаданными), а затем вызвав метод get_irradiance.
Я сделал так как так:
HSAT = SingleAxisTracker(axis_tilt=0,
axis_azimuth=167.5,
max_angle=50,
backtrack=True,
gcr=0.387)
Затем я использую метод get_irradiance экземпляра HSAT экземпляра SingleAxisTracker, который я только что создал, ожидая, что он будет использовать метаданные, которые я только что ввел, для вычисления данных 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 только для систем с фиксированным наклоном.
Нужно ли мне предоставлять данные о down_tilt из системы HSAT? Я предполагал, что pvlib моделирует систему HSAT и будет генерировать для меня значения surface_tilt, основываясь на аргументах, представленных в экземпляре класса SingleAxisTracker. Но, похоже, это не то, что происходит.
Поэтому мой вопрос: требуется ли pvlib угол трекера в качестве входных данных для расчета данных POA для систем одноосевого трекера, или он может моделировать сам угол трекера на основе метаданных, таких как axis_tilt, max_angle и backtrack?
2 ответа
Может ли он моделировать сам угол трекера, основываясь на таких метаданных, как
axis_tilt
,max_angle
, а такжеbacktrack
?
pvlib-х ModelChain
сделаю это. См. Документацию PV Power Forecast для примера использования ModelChain
с SingleAxisTracker
,
Оказывается, 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