2

I am using PVlib to generate the PV power output of the PV system. Using, the modelchain, I tried to generate the PV power output. The code used for the PV system is given below:

surface_tilt = 30
surface_azimuth = 180
albedo = 0.2
golden = pvlib.location.Location(meta['latitude'], meta['longitude'], tz='US/Mountain', 
                                     altitude=meta['altitude'], name=meta['Name'].replace('"',''))
print(golden)

# Trying to design a 4 kw detailed solar with inverter and modules 
sandia_modules = pvlib.pvsystem.retrieve_sam('SandiaMod')
cec_inv = pvlib.pvsystem.retrieve_sam('cecinverter')

module = sandia_modules['SunPower_SPR_220__PVL____2006_']
#module = sandia_modules.Canadian_Solar_CS5P_220M___2009_
inv = cec_inv['SMA_America__SB4000TL_US_22__208V__208V__CEC_2018_']

#Making a system 
system = pvlib.pvsystem.PVSystem(module_parameters = module,
                                 inverter_parameters = inv,
                                 surface_tilt = surface_tilt,
                                 surface_azimuth = surface_azimuth,
                                 albedo = albedo,
                                 modules_per_string = 7,
                                 strings_per_inverter = 3)

mc_system = pvlib.modelchain.ModelChain(system, golden)
mc_system.run_model(times = tmy_data.index, weather = tmy_data)

But I do not see the variation in PV power output compared to single module PV generation with codes in the tutorial [https://github.com/pvlib/pvlib-python/blob/master/docs/tutorials/tmy_to_power.ipynb ]. I used the same weather file in both. In the PVsystem of tutorial (with single module), we can see the variation in the PV output enter image description here.

But the in the system that I created, there is not much variation in the PV system output enter image description here.

Specially, at the time of the lower effective solar irradiance, I expected the designed PV output to lower. Am I missing something?

Dharman
  • 30,962
  • 25
  • 85
  • 135
pmunanka
  • 25
  • 3
  • Your link to the tutorial is dead. Make it easy for people to help you. What is your desired output, and how does the actual output differ from that? – mypetlion Jan 15 '19 at 21:50
  • Sorry for the link issue. Here is the updated link : [ https://github.com/pvlib/pvlib-python/blob/master/docs/tutorials/tmy_to_power.ipynb ]. – pmunanka Jan 15 '19 at 23:11
  • The tutorial has single module and single inverter. When I use the system of the tutorial with the TMY3 weather file for golden, CO to run a annual simulation, I can see the variation in the PV output (first image). But, when I build the PV system (with multiple PV modules) and use modelchain for the annual simulation, there is not the variation in the PV system output. Specially, I cannot see the decrease in PV output power during time of less solar irradiance in my system. Should the variation seen in single module be seen in designed 4 kW PV system. – pmunanka Jan 15 '19 at 23:15

1 Answers1

1

You're not seeing the variation you're expecting because ModelChain is not able to find irradiance data in your tmy_data and therefore runs the calculation assuming clear sky values.

My guess is that you're using unprocessed TMY data read directly from the read_tmy3 function. If so, you'll need to rename your GHI, DNI, and DHI columns in your tmy_data. ModelChain.run_model requires columns named ghi, dni, dhi, and optionally temp_air and wind_speed.

Also consider shifting your time index by 30 minutes to account for the difference between the measured hourly intervals and the modeled instantaneous solar position.

Will Holmgren
  • 696
  • 5
  • 12
  • Hi Will, Thanks a lot for your suggestion. It worked like a charm. After renaming the column names in the tmy_data, I could see the variation in the PV power output as desired. I have also considered shifting the time index by 30 minutes as well (as mentioned in the tutorial). – pmunanka Jan 16 '19 at 15:51
  • Hi Will, one more question. The time in the TMY3 data is in hourly in TMY3 file and the output of the modelchain is also in hourly interval. Does PVlib have functionality to produce PV power output in sub-hourly interval (say 15 mins or 30 mins time interval) by doing interpolation or some other methods in the input variables such as ghi, dni etc.? Or do we interpolate the PV power output for PV output in sub-hour interval. I wanted to confirm if PVlib can output in sub-hourly interval. Thanks a lot. – pmunanka Jan 16 '19 at 16:01
  • pvlib does not have any built in functionality to support computing sub-hourly outputs from hourly inputs. I believe there are some papers on the topic but it's not something I'm very familiar with. If you'd like to see the feature added then I suggest making an issue on the github page. – Will Holmgren Jan 16 '19 at 16:45
  • please also mark the answer as accepted so that future readers will see the solution. I also suggest changing the title to something like "using tmy data with ModelChain" – Will Holmgren Jan 16 '19 at 16:46