Я видел, как здесь упоминалось , что SPICE можно использовать для расчета восхода и захода солнца. Как?
Согласно официальной документации , SPICE используется для расчета:
Я знаю, что восход и закат можно рассчитать по координатам Солнца и уравнению восхода солнца .
Мне было интересно, есть ли у SPICE специальный алгоритм для этой цели?
Я не эксперт SPICE, но вот несколько возможных решений (если, конечно, вы не хотите попробовать методы Skyfield Almanac !)
этот ответ ссылается на этот комментарий , ссылается на учебные пособия SPICE, обновленные 11 декабря 2019 г., ссылается на подсистему SPICE Geometry Finder (GF) презентации из 69 слайдов; Поиск времени наступления заданных геометрических условий на январь 2020 года.
GF предоставляет два основных типа API для поиска событий.
В вашем случае вы бы указали положение на теле, а затем искали время, когда высота была 0 или 0+/- маленькая.
https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/spkcpo_c.html
Примеры
Численные результаты, показанные для этих примеров, могут различаться на разных платформах.
Результаты зависят от ядра SPICE, используемого в качестве входных данных, компилятора и вспомогательных библиотек, а также от конкретной арифметической реализации машины .
Вычислите кажущийся солнечный азимут и возвышение, как видно из заданной точки поверхности на земле.
В этом примере мы будем использовать местоположение станции DSN
DSS-14 в качестве точки поверхности.
Мы выполним вычисление солнечного азимута и высоты двумя способами:
Использование ядра кадра станции для спецификации
топоцентрической системы отсчета с центром в DSS-14.
Поточное вычисление преобразования из привязанной к земле и центрированной по земле системы отсчета ITRF93 в топоцентрическую систему отсчета с центром в DSS-14.
Обратите внимание, что результаты двух вычислений будут немного отличаться. Есть три источника различий:
Положение станции зависит от времени из-за движения тектонических плит, и эпохи положений станций, используемые для определения осей топоцентрической системы отсчета, в этих двух случаях различны. Это приводит к различной ориентации осей кадра относительно кадра ITRF93.
В этих двух вычислениях используются разные радиусы Земли; это приводит к вычислению различных геодезических широт станции. Это различие также влияет на ориентацию топоцентрического кадра относительно ITRF93.
Движение станции между ET и эпохой, в которой указан кадр DSS-14_TOPO, вносит очень небольшой сдвиг --- порядка 10 см --- в вектор положения станции-солнца, выраженный в кадре ITRF93.
и там еще много чего.
Найдите азимут и высоту видимого положения Луны, как видно со станции DSN DSS-13, выполнив следующие шаги:
- Найти вектор видимого положения Луны относительно станции DSN DSS-13 в топоцентрической системе отсчета DSS-13_TOPO в эпоху ET. Используйте коррекции светового времени и звездной аберрации.
Для этого шага вам потребуется загрузить SPK-файл станции, содержащий векторы положения геоцентрической станции, а также ядро кадра, задающее топоцентрические опорные кадры с центром на соответствующих станциях DSN. (Также потребуются другие ядра; вы должны выбрать их.)
Преобразуйте вектор положения в широтные координаты. Используйте подпрограмму spiceypy.reclat для этого вычисления.
Вычислите азимут и высоту Луны следующим образом: азимут является отрицательным значением топоцентрической долготы и лежит в диапазоне 0-360 градусов; высота равна топоцентрической широте. Отобразите результаты в градусах.
ооо
ооо