PVsyst's forum

Welcome on PVsyst's forum.
It is currently Thu Apr 18, 2019 8:43 pm

All times are UTC+02:00

Post new topic  Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Mon Jan 28, 2019 8:15 pm 

Joined: Mon Jan 28, 2019 7:13 pm
Posts: 1

I work for a solar company in California that uses PVsyst heavily. We have created an in-house solar production model and are working on implementing a horizons shading calculation into that model. To calculate the diffuse component of horizon shading, we implemented some code that takes in a horizon profile, calculates the area under the profile using an integration, and subtracts that from the visible sky dome.

We've been trying to use PvSyst to validate our approach, but consistently get disagreement, sometimes as large as an order of magnitude. In the case where we run the same horizon through a fixed tilt system with an azimuth of 0 and a tilt of 0 in PVsyst and our model, we get errors of ~.5% and ~5%, respectively. Our python code, in a simplified form, appears below:

(scipy.integrate.quad(np.sin(theta), hrz['azimuth'].iloc[0], hrz['azimuth'].iloc[-1])[0])/(2*math.pi)

Essentially, we've generated a set of azimuths (phi) and altitudes (theta), expressed in radians, that describe our horizon profile. To get the area under the profile, we simply integrate the function sin(theta) between our first horizon azimuth (hrz['azimuth'].iloc[0]) and last (hrz['azimuth'].iloc[-1]). We then divide this area by 2 pi, half the surface area of a sphere, assuming the radii cancel each other out in this situation.

We intentionally chose a large profile. This one corresponds to a site in Colorado with a mountain to its southwest. The mountains are 11 degrees (.2 radians) in height, and so we expected to see a substantial loss.

We are worried that either our formula is off and that we are not fully understanding how PVsyst calculates far shadings. Any insight would be a great help. Thank you!


Joe Hack
Cypress Creek Renewables

PostPosted: Wed Apr 17, 2019 10:58 am 
User avatar

Joined: Mon Apr 16, 2012 7:29 pm
Posts: 1586
The integral for the diffuse involves an incidence factor of each irradiance ray on the receiving surface.
I.e. each "cell" of irradiance should be multiplied by cos(i) (i = incidence angle).

- the effect depends on the plane orientation
- It cannot be approximated by surfaces on the sphere.

Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 2 posts ] 

All times are UTC+02:00

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited