简体   繁体   中英

How to determine issue of weirdly shaped hourly PV power output curve from PVlib

My hourly pv power using pvlib is unusually high in the mornings and low in the evenings. It seems like the peak is shifted towards the morning. This is one random day's output power with corresponding irradiance data (W/m2):

  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 |

As can be seen, the power does not really match the irradiance data and seems to be shifted to earlier times. It has to be mentioned that the irradiance data is simulated GHI and DHI and calculated DNI. The maximum AC output of the system is 40 kW, limited by the inverter.

Do you have any idea why this happens? Do I oversee something obvious? I have tried to change the timezone declaration which didn't change anything. I also tried to change the inclination angle from 5 to 45 which weirdly resulted in higher PV output powers. This should definitely not be the case for this latitude. Thanks, heaps!

Here is the code for my PVlib model:

'''
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')

I solved it =D. The problem was in the TMY file. When I created the timestamp in my tmyData() function, I did not specify tz=pytz.timezone('Africa/Nairobi'), which apparently sets it to UTC by default. Now, the power output makes sense.

Cheers Axel

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM