Reputation: 209
I want to calculate the solar radiation on walls which are oriented towards north, south ect. I have the solar radiation for the location and I have tried the following equation:
S_module = S_incident * (math.cos(alpha)*math.sin(beta)*math.cos(psi-theta) + math.sin(alpha)*math.cos(beta))
with
alpha = 24.86 #sun elevation angle
theta = 81.58 #sun azimuth angle
beta = 90 #wall tilt angle (vertical module beta=90)
psi = 135 #surface orientation: psi=0 == facing north, psi=180 == facing south; is the azimuth angle that the module faces
S_incident = 663 [W]
this is for 2019-6-21 6h timezone=utc
I tried the python package pysolar and the equation above was found here: https://www.pveducation.org/pvcdrom/properties-of-sunlight/arbitrary-orientation-and-tilt
My problem is that I did not get correct results, e.g. for the above properties the result is -495 [W]. This could not be true because in the morning there must be at least a small positive value for the radiation.
Thanks for any hints!
Upvotes: 0
Views: 1071
Reputation: 77860
Read the docs: trig functions work in radians; you fed it degrees. Your 90-radian wall doesn't match reality. :-)
import math
alpha = 24.86 #sun elevation angle
theta = 81.58 #sun azimuth angle
beta = 90 #wall tilt angle (vertical module beta=90)
psi = 135 #surface orientation: psi=0 == facing north, psi=180 == facing south; is the azimuth angle that the module faces
S_incident = 663 # Watts
S_module = S_incident * (math.cos(alpha)*math.sin(beta)*math.cos(psi-theta) +
math.sin(alpha)*math.cos(beta))
print(math.cos(alpha), math.sin(alpha))
print(math.cos(beta), math.sin(beta))
Output:
0.9630361043608977 -0.26937234768510715
-0.4480736161291701 0.8939966636005579
These are obviously not the values you expected.
Convert with the factor math.pi / 180
.
Upvotes: 1