如何使用pysolar获得太阳天顶角?

时间:2017-07-21 12:53:34

标签: python python-3.x solar

我正在使用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

谁能告诉我我做错了什么?

1 个答案:

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