1

我最近下载并安装了 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

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

4

2 回答 2

2

您的 datetime.datetime 没有 tzinfo 值,因此将为您提供 GMT 时间,该时间比本地时间大约 7 小时。另一个因素很可能是 NOAA 使用 DMS 而不是十进制纬度/经度,因此您需要记住输入 41,30,0 和 -111,30,0 的值。

注意:您可能会发现尝试PyEphrem进行此类计算很有启发性,因为我发现文档更清晰。

于 2013-07-26T10:50:47.157 回答
-1

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

于 2013-09-09T18:42:54.040 回答