Как определить проблему кривой выходной мощности PV странной формы из PVlib - PullRequest
0 голосов
/ 17 июня 2019

Моя почасовая мощность при использовании pvlib необычно высока по утрам и низка по вечерам.Кажется, что пик смещен к утру.Это выходная мощность одного случайного дня с соответствующими данными об освещенности (Вт / м2):

  Time  | AC Power [kW] | GHI | DHI | DNI |  
 -------|---------------|-----|-----|-----|

  6:00  |             0 |   4 |   1 |   0 |  
  7:00  |            22 | 161 |  66 | 589 |  
  8:00  |            29 | 390 | 153 | 608 |  
  9:00  |            35 | 592 | 220 | 629 |  
  10:00 |            37 | 754 | 262 | 654 |  
  11:00 |            36 | 830 | 283 | 635 |  
  12:00 |            34 | 874 | 291 | 638 |  
  13:00 |            31 | 894 | 292 | 668 |  
  14:00 |            24 | 828 | 280 | 659 |  
  15:00 |            15 | 695 | 251 | 631 |  
  16:00 |             5 | 514 | 198 | 601 |  
  17:00 |             3 | 299 | 128 | 550 |  
  18:00 |             1 |  74 |  39 | 430 |

Как можно видеть, мощность на самом деле не соответствует данным об освещенности и, похоже, смещена к более ранним временам.Следует отметить, что данные об освещенности моделируются GHI и DHI и рассчитываются DNI.Максимальная мощность переменного тока системы составляет 40 кВт, ограниченная инвертором.

Есть ли у вас какие-либо идеи, почему это происходит?Должен ли я наблюдать за чем-то очевидным?Я попытался изменить декларацию о часовом поясе, которая ничего не изменила.Я также попытался изменить угол наклона от 5 до 45, что странным образом привело к увеличению выходной мощности PV.Это определенно не должно иметь место для этой широты.Спасибо, куча!

Вот код для моей модели PVlib:

'''
TMY_Dataframe creation --> uses function from tmyDataImport Module
'''

tmy_df=ti.tmyData('DHI.csv','Weather.csv',highres=False)



"""
Location declaration
"""
lat_ref=0.20
long_ref=35
tz_ref='Africa/Nairobi'
alt_ref=1155.0

loc=Location(latitude=lat_ref, longitude=long_ref, tz=tz_ref, 
altitude=alt_ref)

"""
PVSystem declaration
"""

cec_modules = pvlib.pvsystem.retrieve_sam('CECMod')
#    sandia_modules = pvlib.pvsystem.retrieve_sam('SandiaMod')
cec_inverters=pvlib.pvsystem.retrieve_sam('cecinverter')

tilt_ref=5
azi_ref=180 #South
alb_ref=None
surf_type_ref='grass'
mod_ref=None
mod_para_ref=cec_modules['Trina_Solar_TSM_325PD14']
mod_p_str_ref=19
str_p_inv_ref=1
inv_ref=None
inv_para_ref=cec_inverters['Fronius_USA__IG_Plus_5_0_1_UNI__240V__240V__CEC_2018_']
rack_ref='open_rack_cell_glassback'
losses_ref=None

pvsyst=PVSystem(surface_tilt=tilt_ref, surface_azimuth=azi_ref, albedo=alb_ref, surface_type=surf_type_ref, 
         module=mod_ref, module_parameters=mod_para_ref, modules_per_string=mod_p_str_ref, strings_per_inverter=str_p_inv_ref, 
         inverter=inv_ref, inverter_parameters=inv_para_ref, racking_model=rack_ref, losses_parameters=losses_ref)


"""
ModelChain declaration
"""

pvsys_ref=pvsyst
loc_ref=loc
orient_strat_ref=None
sky_mod_ref='ineichen'
transp_mod_ref='haydavies'
sol_pos_mod_ref='nrel_numpy'
airm_mod_ref='kastenyoung1989'
dc_mod_ref='cec'
ac_mod_ref=None
aoi_mod_ref='physical'
spec_mod_ref='no_loss'
temp_mod_ref='sapm'
loss_mod_ref='no_loss'

moch=ModelChain(system=pvsys_ref, location=loc_ref, orientation_strategy=orient_strat_ref,
           clearsky_model=sky_mod_ref, transposition_model=transp_mod_ref, solar_position_model=sol_pos_mod_ref,
           airmass_model=airm_mod_ref, dc_model=dc_mod_ref, ac_model=ac_mod_ref, aoi_model=aoi_mod_ref, 
           spectral_model=spec_mod_ref, temp_model=temp_mod_ref, losses_model=loss_mod_ref)


moch.run_model(times=tmy_df.index, weather=tmy_df)

ac_power=moch.ac*8/1000

ac_power = ac_power.reset_index(drop=False)
ac_power = ac_power.rename(columns={0: "PV Power [kW]"})
ac_power.loc[(ac_power['PV Power [kW]'] < 0, 'PV Power [kW]')]=0
ac_power.to_csv('pvPower.csv')

1 Ответ

0 голосов
/ 17 июня 2019

Я решил это = D.Проблема была в файле TMY.Когда я создал метку времени в своей функции tmyData (), я не указал tz = pytz.timezone («Африка / Найроби»), который, по-видимому, устанавливает ее в UTC по умолчанию.Теперь выходная мощность имеет смысл.

Ура Аксель

...