Как получить солнечный зенитный угол, используя pysolar?
Я использую модуль pysolar, чтобы получить Solar Zenith Angle
, Я проверял данные солнечного калькулятора NOAA. Я думал, есть ли способ добавить часовой пояс в get_altitude
метод. Я рассчитал SZA
без использования какого-либо часового пояса, но он слишком сильно отличается от того, что показывает калькулятор NOAA. Код ниже для Dubai
, Часовой пояс: Asia/Dubai
,
from pysolar.solar import *
import datetime
dobj = datetime.datetime(2017,7,20,7,0)
sza = float(90)-get_altitude(25.0657, 55.17128, dobj)
print (sza)
Выход: 93.11938274977194
, Но NOAA показывает, что SZA в 7 утра должно быть 132.88884
,
Может кто-нибудь сказать мне, что я делаю не так?
1 ответ
Дубай находится в часовом поясе UTC+4, поэтому нам нужно настроить время Дубая на время UTC. Часовой пояс по умолчанию - часовой пояс вашего компьютера, в зависимости от вашего местоположения и настроек.
Таким образом, я получаю результат 73,9 со следующими кодами. Считается, что утром вы ожидаете, что солнце близко к горизонту.
dobj = datetime.datetime(2017,7,20,7,tzinfo=datetime.timezone.utc) - datetime.timedelta(hours=4)
sza = float(90) - get_altitude(25.0657, 55.17128, dobj)
print ("timezone = UTC+4,",sza)