Pysolar结果的差异

时间:2013-07-26 10:18:38

标签: python astronomy

我最近下载并安装了PySolar模块,并希望用它来计算太阳位置(方位角和高度)。

我遇到的问题是计算的结果与NOAA太阳能计算器http://www.esrl.noaa.gov/gmd/grad/solcalc/azel.html计算的结果不匹配

例如。使用PySol

>>> import datetime, solar
>>> d = datetime.datetime(2007,12,21,9,0,0,0)
>>> lat = 41.5
>>> long = -111.5
>>> solar.GetAltitude(lat, long, d)
-63.0267096801
>>solar.GetAzimuth(lat, long, d)
-235.44406245

使用NOAA模型海拔高度计算为0.7,方位角计算为237.64。

因此两个值之间存在差异。总结一下:

  • Pysolar计算海拔高度为-63.03,NOAA计算为0.7
  • Pysolar计算方位角为-235.44,NOAA计算方位为237.64

如果您有任何建议我做错了或如何计算给定位置的正确高度和方位角,我们将不胜感激。

2 个答案:

答案 0 :(得分:2)

你的datetime.datetime没有tzinfo值,因此会给你GMT时间,距当地时间约7小时。另一个因素很可能是NOAA使用DMS而不是十进制lat / long,所以你需要记住输入值41,30,0和-111,30,0。

N.B。您可能会发现尝试PyEphrem进行此类计算是有益的,因为我发现文档更清晰。

答案 1 :(得分:-1)

将-111更改为+111,您的结果可能会更好。 向西走是积极的。