Maik
Maik

Reputation: 209

How to calculate solar radiation on vertical (house) walls?

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

Answers (1)

Prune
Prune

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

Related Questions