【问题标题】:Discrepancies in Results from PysolarPysolar 结果的差异
【发布时间】:2013-07-26 10:18:38
【问题描述】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答。不幸的是,我的声誉不足以发布图片,但我确保以正确的格式输入纬度和经度。关于时区,我将 NOAA 上的偏移值设置为零以匹配 solpy。我认为这样做会产生相同的结果。你知道我将如何在我的论点中输入时区信息吗?非常感谢
    • 要使用您在创建自己的 tzinfo 类时需要的时区。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      相关资源
      最近更新 更多