Как рассчитать солнечное излучение на вертикальные (домовые) стены?

Я хочу рассчитать солнечное излучение на стенах, которые ориентированы на север, юг и т. Д. У меня есть солнечное излучение для местоположения, и я попробовал следующее уравнение:

S_module = S_incident * (math.cos(alpha)*math.sin(beta)*math.cos(psi-theta) + math.sin(alpha)*math.cos(beta))

с

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]

это для 2019-6-21 6h часовой пояс = UTC

Я попробовал пакет Python pysolar, и приведенное выше уравнение было найдено здесь: ">https://www.pveducation.org/pvcdrom/properties-of-sunlight/arbitrary-orientation-and-tilt

Моя проблема в том, что я не получил правильных результатов, например. для вышеуказанных свойств результат равен -495 [Вт]. Этого не могло быть, потому что утром должно быть хотя бы небольшое положительное значение радиации.

Спасибо за любые подсказки!


person Maik    schedule 24.06.2019    source источник


Ответы (1)


Прочтите документы: триггерные функции работают в радианах; вы накормили его градусами. Ваша стена в 90 радиан не соответствует действительности. :-)

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

Выход:

0.9630361043608977 -0.26937234768510715
-0.4480736161291701 0.8939966636005579

Это явно не те значения, которые вы ожидали.

Преобразование с коэффициентом math.pi / 180.

person Prune    schedule 24.06.2019