Pysolar结果的差异

问题描述 投票:1回答:2

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

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

python astronomy
2个回答
2
投票

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

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


-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.