Я пытаюсь рассчитать восходы и закаты с помощью pyephem, но алгоритм никогда не сходится для полярных регионов?
обратите внимание на приведенный ниже пример кода. он повторяет весь год с шагом 10 минут, запрашивая следующий восход и закат. pyephem всегда возвращает сообщение об ошибке AlwaysUpError или NeverUpError, но ведь солнце обязательно должно всходить и садиться хотя бы раз в году?
import ephem
from datetime import datetime, timedelta
obs = ephem.Observer()
obs.lat = '89:30'
obs.long = '0'
start = datetime(2011, 1, 1)
end = datetime(2012, 1, 1)
step = timedelta(minutes=10)
sun = ephem.Sun()
timestamp = start
while timestamp < end:
obs.date = timestamp
try:
print obs.next_rising(sun)
except (ephem.AlwaysUpError, ephem.NeverUpError):
pass
try:
print obs.next_setting(sun)
except (ephem.AlwaysUpError, ephem.NeverUpError):
pass
try:
print obs.previous_rising(sun)
except (ephem.AlwaysUpError, ephem.NeverUpError):
pass
try:
print obs.previous_setting(sun)
except (ephem.AlwaysUpError, ephem.NeverUpError):
pass
timestamp += step
либо я неправильно использую API, либо ошибка в pyephem, либо я неправильно понимаю что-то фундаментальное. любая помощь?