我正在使用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显示上午7点的SZA应为132.88884
。
谁能告诉我我做错了什么?
答案 0 :(得分:0)
迪拜的时区为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)