PyEphem:Sun的AlwaysUpError发生在不应发生这种情况的位置

时间:2017-07-03 18:39:51

标签: python pyephem

import ephem
rwth = ephem.Observer()
rwth.lat = '50.8'
rwth.long = '6.1'
rwth.horizon = '-18'
rwth.next_setting(ephem.Sun())

这将导致错误

  

Traceback(最近一次调用最后一次):文件“”,第1行,in      文件   “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ephem/init.py”   第498行,在next_setting中       return self._riset_helper(body,start,use_center,False,False)文件   “/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ephem/init.py”   第470行,在_riset_helper中       d1 = visit_antitransit()文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ephem/init.py”,   第418行,在visit_antitransit中       %(body.name,d))ephem.AlwaysUpError:'太阳'仍然在2017/7/3 23:39:58以上的地平线

然而,在这个位置,太阳绝对应该达到天文暮光(-18度对应)。你知道问题是什么吗?

1 个答案:

答案 0 :(得分:0)

在这个日期(7月初)的那个纬度,太阳从未达到-18°高度,因为北纬50.8°太靠近北极圈。在冬至本身 - 每年6月21日左右 - 太阳位于北纬23.5°,如果我们考虑后果,就意味着:

  • 北极的一名观察员会看到太阳整天在地平线以上23.5°处绕天空。
  • 90° - 23.5°= 66.5°的观察者会看到太阳在地平线上度过一整天,沿着它的圆周形成一个圆圈。
  • 观察者必须处于90° - 23.5° - 18°= 48.5°纬度或甚至更远的南方,以便太阳下降到足以让他们观察被定义为天文黄昏的黑暗水平。

尽管目前的日期是昼夜平分点后的几天,但是太阳还没有从最北纬度的地方撤退到足以开始将天文学双重带到你所询问的位置。 PyEphem的答案在这里看起来是正确的。