Как я могу рассчитать данные 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

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