Похоже, разница в том, что базовая астрономическая библиотека PyEphem всегда измеряет гелиоцентрическую долготу относительно координат J2000, которая к дате, о которой вы спрашиваете, заметно отличается от координат даты, которые используются для определения равноденствия .
Попробуйте выполнить это в качестве шага вычисления:
sun.compute(d3, epoch=d3)
, а затем ищите, когда sun.ra
равно нулю градусов; результат должен быть равноденствием. Я посмотрю, как обновить Справочник PyEphem, чтобы заметить, что гелиоцентрические координаты, похоже, не обращают внимания на параметр epoch=
.