Программный инструментарий НАСА
для расчета траекторий небесных тел

Эфемериды DEххх JPL + интерфейс NAIF SPICE ...

(The draft is in work! Черновик в работе!)
<<< в начало сайта >>>

автор - Полтавский Саша (vasnas)
+38(066) 77-414-78

    Аннотация: Примеры использования инструментария SPICE подразделения NASA NAIF, или MICE в среде MatLab для расчетов траекторий искуственных и естественных космических тел солнечной системы в прошлое и будущее. Проводится сравнительный анализ точности доступного инструментария. В упрощенном виде представлены инструкции по установке и запуску MICE. Приводится множество примеров по практическому использованию.

Полтавский Саша (vasnas).
Ставрополь-Курсавка-Крым. 2012-13 гг.,
e-mail: vasnas@ya.ru; cell: +7 (918) 868-22-68; +38 (066) 77-414-78
Подпись автора (потом намешанным с кровью :-) - Полтавский Александр Алексеевич.

Астропороцессор ZET ->  
Статья 'Луна' -> Статья 'Лунно-солнечный календарь 1427-1433 гг. (еврейский)' ->

С О Д Е Р Ж А Н И Е :

Введение :
 • Сравнение точности инструментария и данных
     - самая подвижная звезда 61 Cygin улетела на 'полнеба'
 - Касания и покрытия небесных тел
    - Луна - Сатурн, 2001 г.
    - Луна - Венеру, 2001 г.
    - Венера - Солнце, 2004 г.
    - Венера - Меркурий, 1737 г.
    - cравнение точности эфемерид НАСА между собой
    - таблица известных соединений
    - сравнение точности SPICE и ZET по Марсу
    - сравнение точности SPICE и ZET по Луне

 • Установка SPICE
 • Расшрение временного диапазона расчетов
 • Что скачать?

 • Системы координат
 • Добавление точки наблюдателя
 • Топоцентрическая система координат
 • Доступ к переменным пула
 • Получение широты и долготы наблюдателя
 • Изменение широты и долготы наблюдателя

 • Подключение звезд
 • 'Неподвижные' звезды (таблица с координатами)

 • Время
   - аналемма солнца
  - формат времени
 • Работа с окнами времени
 • Григорианская реформа календаря 1582 г.
 
Абберация и поправка на скорость света

 • Расчет координат планет и других космических тел
 • Угол между объектами
 • Восходы солнца
 • Равноденствия и солнцестояния, длина сезонов

   Луна:
 • Расчет астрономических новолуний
 • Расчет видимых новолуний и старолуний
 • Не видно луны между ст. и новой, 0°-57° С.Ш., 1970-1989 гг.
 • Яркость Луны (фаза), Солнца и освещенность неба

   Расшифровка дат древних зодиаков:
 • Тестовый пример Курсавского гороскопа 'на сегодня'
 • 'Круглый Дендерский' зодиак
 • Зодиак Христа из книги Эбенезера Сибли (зодиак "AE")

 • Конвертации форматов
 • 61.61° -->   61°36'36"
 •  °  '  "  -->  hh:mm:ss
 • Преобразование массивов

 • Некоторые функции Ерана Офека
 • Константы

 • Источники (литература) ->
 • Форум для обмена мнениями ->

   Полезные ссылки :
 • JPL Ephemeris NASA on-line ->
 • 'Swiss Ephemeris' on-line ->
 • Весь архив телескопа Хаббл ->
 • Данные по затмениям и транзитам (NASA) ->
 • Международная ассоциация времени покрытий ->
 • Полезные ресурсы "время" ->
 • Программа для создания солнечных часов ->
 • delta T 1623-2000 гг ->
 • Differences between time scales ->
   Интересные ссылки :
 • On-line планетарий Google ->
 • Карты планет Солнечной системы, Галактик, Вселенной ->

 • Интересные снимки

 

Введение.

к содержанию    По 3-м условиям (высота луны и солнца + угол между ними), описанным в (CambridgePress.СС3) нужно было вычислить интервалы видимости новолуний , но астропроцессор ZET не давал доступа  ко всем 3-м условиям сразу и, даже с помощью его разработчика, я не смог приспособить программу к расчету. Решил посчитать напрямую из 'швейцарских эфемерид', от которых и отталкивается ZET, но фирменный интерфейс SWISS оказался платным (тестовая страничка).
     Эфемериды это 'опорные точки' траекторий небесных тел в прошлом и будущем, которые с высокой точностью заранее рассчитал суперкомпьютер, а координаты на конкретные моменты между опорными точками досчитывает Ваш персональный компьютер. Популярные 'швейцарские эфемериды' - основаны на эфемеридах НАСА.
    Обратился к сайту НАСА, где нашел on-line интерфейс HORIZONS System для расчета одного небесного тела, а на домене другого подразделения НАСА фирменный бесплатный интерфейс.  Выпускает эфемериды к небесным телам в NASA лаборатория JPL (Jet Propulsion Laboratory).  'Калифорнийский институт технологий' ( caltech.edu ), по контракту с НАСА, выпускает интерфейс SPICE (MatLab) - набор программ для доступа к эфемеридам (то же есть для сред Си и Фортран). Проект ведет подразделение NAIF (NASA's Navigation and Ancillary Information Facility - навигационные и вспомогательные возможности НАСА)

     Имея скудные астрономические познания, я потратил 5 дней на то, чтобы разобраться в англоязычной документации НАСА, написать программу и сделать свой расчет новолуний. Мне будет приятно, если я сэкономлю кому-то эти 5 дней. Получить помощь непосредственно у разработчиков и опытных пользователей можно послав свой вопрос на английском языке на адрес mailman-owner@naif.jpl.nasa.gov.
     В системе SPICE, для нахождения интервалов времени, удовлетворяющим нескольким условиям (расстояние, угол, перекрытие), массив временных интервалов последовательно сужается по условиям, от одной функции поиска событий к другой.

    В далекое прошлое на 32-разрядных процессорах система пока не считает. 4 апреля я обратился в NAIF и этот недостаток к началу мая 2012 в новом выпуске №65 обещали устранить. Потом выпуск был отложен к концу мая, а затем к концу лета, а теперь на 2013 год.


 

Сравнение точности инструментария

к содержанию   С 2008 года я привык к астропроцессору ZET, это очень удобная программа - планетарий. Но программа лишь досчитывает траекторию между опорными точками эфемерид, расчитанных учеными. ZET вычисляет на основе 'швейцарских эфемерид'. Практически сравниваются не программы, а теории и эфемериды. Программа лишь дополнительный источник ошибок.

Переработанные насовские эфемериды продает швейцарская фирма, коммерческое название 'швейцарские эфемериды', видимо, поддерживает бренд дорогих и высокоточных швейцарских часов.

Самая подвижная звезда неба - 61 Cygin (61 Лебедя)

к содержанию     В ZET '61 Cygin' за 1000 лет переместилась на 'пол неба', а в реальности лишь на доли градуса :

Снимок самой подвижной на небе звезды, 61-я Лебедя (61 Cygin) Телескоп Хаббл 2002-10-16 20:35:37
Снимок 61-я Лебедя (61 Cygin) Телескоп
Хаббл 2002-10-16 20:35:37
Сравнение расчета звезды 61 Cygin (61 Лебедя, PPM86047)

 

ZET 9 v.155

PPM расчет от b1950

снимок Habbl

Дата 01.01.1000 16.10.2002 20:35 01.01.1000 26.20.2002 20:35:37 16.10.2002 20:35:37
RA
12:41
21:07:1.74 21:01:1.01 21:05:51.39 21:06:56.24
DEC
-45°20'
38°45'44.39" 37°51'22.01" 38°44'54" 38°44'42.2"
На длительный период ZET считает неверно, а на близкий, даже точнее чем по даным PPM и стандартным
формулам.
PPM+SPICE+Matlab
Расчет движения звезд по небу
Расчет
движения
звезд по
небу
Функция get_star к программе.
Функция
get_star к
программе.
Архив текстового файла ppm_stars_vm3.def - звезды до 3 величины из каталога PPM
Архив файла
ppm_stars_vm3.def
- звезды до 3
величины из
каталога PPM

     Счастливые обладатели программы ZET лет 12 не замечали ошибок в расчете звезд, потому что ошибки расчета малоподвижных звезд не бросаются в глаза, а принципиально программу никто проверить не удосужился. Оказалось, что о какой-либо точности говорить не приходится, звезда 61 Cygin пролетела по небесной сфере 'пол неба', ~90°, всего за ~1000 лет. Разработчик признал ошибку : "22.04.2012 21:36 ... Эта ошибка возникает при использовании для расчёта звёзд Швейцарских эфемерид (...). При использовании формул Меёса такой ошибки не возникает.", но 'свалил' всё на 'швейцарские эфемериды'. У НАСА я не нашел эфемерид для звезд, поскольку движение звезд примитивно и его параметры просто хранятся в звездных каталогах (см. Подключение звезд), движение расчитывается по линейным формулам. Параметры звезды 61 Cygin взяты мною из каталога PPM на эпоху b1950 и рассчитаны по приведенным в starsb.ug формулам на время снимка телескопа Хаббл (см. фото).



Касания и покрытия небесных тел

к содержанию    Касания и покрытия небесных тел, лучший способ сверки времени, они длятся минуты и секунды.
Данные на сайте НАСА http://eclipse.gsfc.nasa.gov/transit/transit.html .
Международная ассоциация времени покрытий http://www.lunar-occultations.com/iota/iotandx.htm

Сравнение SPICE, ZET и наблюдений.


Покрытие Луной Сатурна 3.11.2001 22:05:24 UT, Lat - 54.3045278 Lon - -0.5112778, фотография наблюдения
Наблюдение касания Луны и Сатурна
03.11.2001 г. 22:05:24 UT
Время ZET касания Луны и Сатурна 03.11.2001 г.
Время ZET касания Луны и Сатурна
03.11.2001 г. 21:08 GMT

Saturn just after first contact. It was very difficult to determine the time of first contact precisely because of the turbulence and the best estimate from single frame stepping is 21:04:54 UT. Orwell Park Observatory.
Первый контакт (к источнику)
Через 43 сек. после первого контакта. Saturn about 43 seconds after first contact with only the rings remaining visible.
Через 43 сек.

к содержанию     ZET: как показатель невероятной точности своей программы, разработчик приводит пример покрытия Луной Сатурна (сохраненный скриншот страницы). В реальности Сатурн появился из-за темного лимба Луны только в 03.11.2001 г. в 22:05:24 UT, через час от времени ZET (наблюдение с Lat 54.3045278 (54°18'16.30"N) Lon -0.5112778 (0°30'40.6"W))
     Разработчик, избегая показать скриншот программы, на котором Сатурн за центром Луны, подстроив время программы на ~1 час раньше, сравнивает расстояние Сатурна от центра Луны по высотам и склонениям выданным ZET и системой HORIZONS NASA, пишет: "Отсюда можно определить, что разница в горизонтальных координатах между центрами дисков Луны и Сатурна составляет 18.25', радиус диска Луны 15.72', т.е. центр Сатурна находится на 2.5' дальше от края диска Луны. Радиус диска Сатурна 10". Это соответствует фотографии." (фото слева) - т.е. разработчик ZET уравнял угловые минуты ' с секундами '' ( ' = " , но в минуте 60 секунд, 1' = 60") . На самом деле Сатурн в этот момент в ~7.5 своих диаметров от края Луны - в центре Луны, т.к. 2.5' содержат 150", а диаметр самого Сатурна только 10". Несколько лет никто не замечал, что 1=60 и мне едва удалось убедить самого разработчика в этой умышленной или неумышленной многоходовой подтасовке.

Касание в ZET происходит, но за ~час до реального, а это погрешность неприемлемая.



SPICE, результаты :

Касание MOON с SATURN, наблюдатель 54°18'16.3001" N 0°30'40.6001" WТекст программы соединения Луны и Сатурна 03.11.2001 г.
03.11.2001 21:33.83 - 03.11 22:28.17 (UTC), 21:34.90 - 22:29.24 (TDT)
Покрытие MOON с SATURN, наблюдатель 54°18'16.3001" N 0°30'40.6001" W
03.11.2001 21:35.04 - 03.11 22:26.96 (UTC), 21:36.11 - 22:28.03 (TDT)

Circa 22:06 UT, shortly after Saturn reappeared from behind the dark limb of the Moon. Detail is visible on the lunar surface, in contrast to the photographs taken during the disappearance phase.
Выход из-за Луны (изоб. повернуто)

Барицентр Сатурна (SPICE DE421):
Положение планеты : 6
Место наблюдения: 54.30N 0.51W (54°18'16.3001"N °30'40.6001"W)В момент : 03.11.2001 22:05:24 A.D. юлианский день № JD 2452217.42
ЭКЛИПТИКАЛЬНАЯ сетка координат :
Долгота, ° : 0.00000049 (0°0'0.0017735")
Широта, ° : -1.88182970 (-1°52'54.5869")
Широта (геодез.), ° : -1.88182977 (-1°52'54.5872")
ЭКВАТОРИАЛЬНАЯ сетка координат :
Прямое восх.,HR:MN:SC: 23:58:55.82
Прямое восх., : 0.00000049 (0°0'0.0017462")
Склонение, ° : 20.57593351 (20°34'33.3606")
ГОРИЗОНТАЛЬНАЯ сетка координат :
Азимут, ° : 283.47272126 (283°28'21.7965")
Высота, ° : 34.77169074 (34°46'18.0867")
Высота (геодез.), ° : 34.77169167 (34°46'18.09")

Соединение Луны и Венеры 14.12.2001

к содержанию ZET: Критерий поиска: 0N 42E, Луна.0.Венера % непонятно по каким критериям поискКарта видимости покрытия Луной Венеры 14.12.2001 г.
13.12.2001 5:24(GMT+3)-15.12.2001 0:0(GMT+3)
% взята ~половина углового размера луны
ZET: Критерий поиска: Луна.[0-0.15].Венера
14.12.2001 4:31 (GMT) - 14.12.2001 5:02 (GMT)


SPICE (эфемериды DE421):
Наблюдатель 54°18'16.3001" N 0°30'40.6001" W
Касание  : 14.12.2001 04:27.26 - 05:16.74 (UTC)
Покрытие : 14.12.2001 04:27.83  - 05:16.13  (UTC)

NASA joined the world on June 8, 2004 in viewing a rare celestial event, one not seen by any person now alive. The "Venus transit" -- the apparent crossing of our planetary neighbor in front of the Sun -- was captured from the unique perspective of NASA's Sun-observing TRACE spacecraft. This video of the transit is in the ultraviolet part of the light spectrum.
2004 г. Венера прошла по диску Солнца
Подробнее (Википедия)


Прохождение Венеры по диску Солнца 04.12.1639 г. около Портсмута (Англия), как оно видно в астропроцессоре ZET

Прохождение Венеры по диску Солнца 08.06.2004 г. Лондон, как оно видно в астропроцессоре ZET

к содержанию     Наблюдения прохождений Венеры по диску Солнца
Дата место наблюдения

наблюдения

SPICE (UTC)

примечание

касание

вошла.

появл.

отрыв

касание

вошла.

появл.

отрыв

04.12.1639 53°41′12″.9N, 2°48′54″.3W   15:15     14:57.30 15:15.68 21:36.70 21:55.39 Джереми Хоррокс
06.071761 51°30′09″.9N, 3°37′01″E                 Jan de Munck in Middelburg
1769                    
09.12.1874                    
06.12.1882                    
08.06.2004 Лондон 05:19.9 05:39.6 11:04.1 11:23.5 05:19.99 05:39.72 11:04.17 11:23.54  
06.06.2012                    
??.12.2117                    
??.12.2125                    


Сравнение точности (прохождение Венеры по диску Солнца 8 июня 2008 г., UTC)

Место

наблюдения

SPICE

ZET

касание

вошла.

появл.

отрыв

касание

вошла.

появл.

отрыв

касание

вошла.

появл.

отрыв

Геоцентр 05:13.5 05:32.8 11:06.6 11:25.9 05:13.57 05:32.85 11:06.64 11:25.92 - - - -
Лондон 05:19.9 05:39.6 11:04.1 11:23.5 05:19.99 05:39.72 11:04.17 11:23.54 рис. рис. рис. рис.
Москва 05:18.8 05:38.3 11:02.1 11:21.4 - - - - - - - -
Каир 05:19.7 05:39.0 11:04.6 11:23.6 05:19.82 05:39.09 11:04.68 11:23.66 - - - -

Время наблюдений взято: John Westfall A.L.P.O. Mercury/Venus Transit Coordinator

В астропроцессоре ZET нет доступа к точным расчетам, но в программе, подстроив время, можно графически посмотреть на результаты полученные в SPICE.

Покрытие Венерой Меркурия 29.05.1737 г. Гринвич, как это показывает астропроцессор ZET
Покрытие Венерой Меркурия 29.5.1737 г
Гринвич, как это показывает
астропроцессор ZET

к содержанию     Покрытие Меркурия Венерой 28.05.1737 г., UTC

Место

наблюдения

SPICE

ZET

касание

н.покр..

к.покр

отрыв

касание

н.покрыт..

к.покрыт

отрыв

касание

н.покр..

к.покр

отрыв

Гринвич - 21:52.06 - - 21:44.10 21:46.75 21:51.98 21:54.63 рис. рис. рис. рис.

Обсерватория Гринвич, 51°29' (51.48333...)N 0°0'0" EТекст программы соединения Луны и Сатурна 03.11.2001 г.: В 21:44:00 Джон Бевис отметил, что Меркурий "не ближе чем 1/10 части диаметра Венеры", набежали облака, в 21:52:06 "Венера сияет ярче, Меркурий фактически полностью скрылся за Венерой", опять облака. Примечание: Часы Бевиса спешили на 3 мин 57 сек. (Sky and Telescope, 09.1986, p220-222)

 

 
Покрытие Луной теты Весов (PPM230911). Галилей.
место: Падуя
45°25'0"N 11°53'0"E

SPICE (DE406)

ZET (SWISS)

центры ~ касание касание
Время,19.1.1610 UT 6:05:40 6:35 5:44:40
RA 238°26'41" 238°36'33" 233°10'54"
Θ Lib RA 238°26'41" 238°26'41" 232°55'43"
DEC -16°48'56" -16°52'21" -15°32'52"
Θ Lib DEC -16°44'35" -16°44'35" -15°31'1"


к содержанию     Таблица известных соединений

дата

время

место

описание

Примечание о наблюдателе и наблюдении
05.02.1570 7:47   Венера Юпитер  
03.10.1590 4:55   Венера покрыла Марс, Мёстлин
19.01.1610     покрытие Луной теты Весов (PPM230911) Галилей
04.01.1613 2:08   Юпитер Нептун  
15.08.1623 17:03   Юпитер Уран  
19.09.1702     Юпитер покрыл Нептун  
14.07.1708     Меркурий покрыл Уран  
04.10.1708     Меркурий прошёл перед Юпитером  
28.05.1737     Венера покрыла Меркурий  
29.08.1771     Венера прошла перед Сатурном  
21.07.1793     Меркурий покрыл Уран  
09.12.1808     Меркурий прошёл перед Сатурном  
03.01.1818     Венера прошла перед Юпитером  


к содержанию     Марс '01.01.2000 г. 12:00:00 TDT', место: с. Курсавка, '44.46N 42.51E'.
Параметр

SPICE

ZET 9

Эфемериды DE406 Эфемериды DE421 швейц. эф.
UTC TDT TDB UTC TDT TDB UTC
Долгота экл., ° 327°58'1.075" 327°57'59.0156" 327°57'59.0156" 327°58'1.0743" 327°57'59.0149" 327°57'59.0149" 327°57'47.88"
Широта экл., ° -1°4'7.9653" -1°4'8.0034" -1°4'8.0034" -1°4'7.9655" -1°4'8.0036" -1°4'8.0036" -1°4'4.02"
Широта экл (геодез.), ° -1°4'7.9659" -1°4'8.0039" -1°4'8.0039" -1°4'7.9661" -1°4'8.0042" -1°4'8.0042" -
Азимут, ° 351°16'34.5553" 350°58'16.4865" 350°58'16.4877" 351°16'34.5561" 350°58'16.4872" 350°58'16.4885" 351°20'13.37"
Высота, ° 31°56'39.4527" 31°54'52.6059" 31°54'52.606" 31°56'39.4523" 31°54'52.6055" 31°54'52.6056" 31°56'38.21"
Высота (геодез.), ° 31°56'39.467" 31°54'52.6202" 31°54'52.6203" 31°56'39.4666" 31°54'52.6198" 31°54'52.6199" -
Удаление, А.Е. 1.8496652165239409 1.8496612070034069 1.8496612070079503 1.8496652160563021 1.8496612065357709 1.8496612065403140 1.849669

Вывод: Разница до 4 угловых секунд при расчете на ~12 лет назад.

Марс - эклиптикальная долгота 164 ° , с. Курсавка '44.46N 42.51E'.
разница
дней

SPICE

ZET 9

Эфемериды DE406 Эфемериды DE421 швейц. эф.
~2.5 01.02.1980 01:01:55 UTC 01.02.1980 01:01:55 UTC 30.01.1980 14:55:33 UTC
~0.5 24.09.1970 14:33:24 UTC 24.09.1970 14:33:24 UTC 25.09.1970 05:54:53 UTC

Разница несколько дней по Марсу,при расчете минус ~32 года назад.

 

к содержанию     Moon , location: Astrakhan 46°21'N (46.35) 48°03'E (48.05), time in TDT, J2000.0 r.frame
Параметр

JPL SPICE

SWISS ephemeris

эфемериды DE406 эф. DE422 astro-processor ZET (SWISS) SWISS test p.
1.1.2000 12:00
JD 2451545
1.1.1000 12:00
JD 2086307
1.1.2000 12:00
JD 2451545
1.1.2000 12:00
JD 245154-5
2.1.1000 12:00
JD 2086309
1.1.1000 12:00
JD 2086308
Долгота экл., ° (LON) 222°55'50" 210°57'58"   222°55'29.65" 209°33'31.69" 210°51'22.2"
Широта экл., ° (LAT) 4°24'53" 0°2'1"   4°24'58.01" -0°16'8.23" -0° 8'15.99"
Широта (geodetic.), ° 4°24'55"     - -  
Удаление, А.Е. 0.0027013587129823   0.0027013587215472 0.0026899914975339   0.002644007

Сравнение по Солнцу в 0-1 градусах Овна с 1.1.2000 по 1.1.2010 г. (формула для ZET Солнце.ARI[0-1], с шагом 10 мин)

SPICE (UTC) ZET (GMT)
с 19.03.2000 22:06 по 22.03.2000 02:45
с 20.03.2001 04:18 по 22.03.2001 09:00
с 20.03.2002 10:27 по 22.03.2002 15:11
с 20.03.2003 16:34 по 22.03.2003 21:14
с 19.03.2004 22:41 по 22.03.2004 03:18
с 20.03.2005 04:45 по 22.03.2005 09:30
с 20.03.2006 11:04 по 22.03.2006 15:48
с 20.03.2007 17:11 по 22.03.2007 21:48
с 19.03.2008 23:10 по 22.03.2008 03:50
с 20.03.2009 05:25 по 22.03.2009 10:09

20.03.2000 9:40 (GMT+2) - 21.03.2000 9:40 (GMT+2)
20.03.2001 15:40 (GMT+2) - 21.03.2001 15:40 (GMT+2)
20.03.2002 21:20 (GMT+2) - 21.03.2002 21:20 (GMT+2)
21.03.2003 3:00 (GMT+2) - 22.03.2003 3:00 (GMT+2)
20.03.2004 8:50 (GMT+2) - 21.03.2004 8:50 (GMT+2)
20.03.2005 14:40 (GMT+2) - 21.03.2005 14:40 (GMT+2)
20.03.2006 20:30 (GMT+2) - 21.03.2006 20:30 (GMT+2)
21.03.2007 2:10 (GMT+2) - 22.03.2007 2:10 (GMT+2)
20.03.2008 7:50 (GMT+2) - 21.03.2008 7:50 (GMT+2)
20.03.2009 13:50 (GMT+2) - 21.03.2009 13:50 (GMT+2)

 

 


Сравнение точности эфемерид НАСА между собой

к содержанию     Вот как НАСА оценивает точность своих эфемерид DE421 и уточненных по данным межпланетных миссий DE423 (источник)

DE423 vs. DE421
Разница в километрах в прямом восхождении
Разница в километрах в прямом восхождении (RA) Венеры относительно Земли
между эфемеридами DE421 и DE423
Разница в километрах в склонении (DEC) Венеры относительно Земли между эфемеридами DE421 и DE423
Разница в километрах в склонении (DEC) Венеры относительно Земли между эфемеридами DE421 и DE423
Разница в километрах в расстоянии (DIST) Венеры относительно Земли между эфемеридами DE421 и DE423Разница в километрах в расстоянии (DIST) Венеры относительно Земли между
эфемеридами DE421 и DE423
Разница в метрах в расстоянии (DIST) Венеры относительно Земли между
Разница в метрах в расстоянии (DIST) Венеры относительно Земли между
эфемеридами DE421 и DE423
Ковариантность в километрах в прямом восхождении (RA) Меркурия относительно Земли, между эфемеридами DE421 и DE423Ковариантность в километрах в прямом восхождении (RA) Меркурия
относительно Земли, между эфемеридами DE421 и DE423
Ковариантность в километрах в склонении (DEC) Меркурия относительно Земли, между эфемеридами DE421 и DE423
Ковариантность в километрах в склонении (DEC) Меркурия относительно Земли,
между эфемеридами DE421 и DE423
   

 

Установка SPICE

к содержанию     Здесь рассматривается версия SPICE для MatLab. После подключения библиотек SPICE написанных на С и подключения файлов эфемерид и др. , SPICE используется в Matlab вызовом функций. MatLab можно найти в "торрентах" (несколько Гб)

Что скачать?

к содержанию     Интерфейс SPICE для MatLab: http://naif.jpl.nasa.gov/naif/toolkit_MATLAB.html Набор распаковывается, пути поиска к нему добавляются в переменные окружения MatLab, в командной строке >> addpath('c:\путь\mice\src\mice\'), >> addpath('c:\путь\mice\lib\' ), setenv MATLABPATH путь/mice/src/mice/ или в меню File->Set path. Проверим: ' >> which mice' должен вывести путь к файлу mice.mex*, если что-то не так ' 'mice' not found' или >> cspice_tkvrsn('toolkit'), выдаст версию продукта.
     В файлах SpiceGF.h, gfdist.c, gfposc.c, gfoclt.c, gfrfov.c, gfrr.c, gfsep.c, gfsntc.c, gfsubc, gftfov.c, zzgflong.c и др. исходного пакета константа погрешности расчетов SPICE_GF_CNVTOL установлена 1.e-6, что ограничивает расчеты в диапазоне десятилетий. В пакете для Windows x86 + Matlab я изменил значение на 10.e-4 и, с помощью инженера НАСА Эдварда Райта, перекомпилировал пакет. Измененными файлами необходимо перезаписать оригинальные (их копии сохраните).

Перечень необходимых для работы таблиц эфемерид и "ядер" :

имя файла (скачать)

интервал времени

описание

de421.bsp 29.07.1899-09.10.2053 г. эфемериды планет (4+1) с.с и их барицентров (рекоменд. при расчетах с Луной)
de422.bsp* -3000 ... 3000 г. эфемериды планет (4+1) с.с и их барицентров (2011 г. выпуска)
de408.bsp 26.5.10020ВС ... 21.5.10009 Солнце, Меркурий, Венера, Земля, Луна, Марс и барицентры планет с.с.
de406.bsp 01.01.3001BC ... 01.05.3000 Солнце, Меркурий, Венера, Земля, Луна, Марс и барицентры планет с.с.
de423.bsp 16.12.1799 ... 01.02.2200 Солнце, Меркурий, Венера, Земля, Луна, Марс и барицентры планет с.с.
sat351.bsp ~1900-2049 Сатурн со спутниками ...
jup230l.bsp ~1900-2099 Юпитер со спутниками ...
jup291.bsp ~1900-2099 Юпитер, Земля, Солнце ...
nep085.bsp ~1900-2099 Нептун со спутниками ...
plu021.bsp ~1965-2049 Плутон со спутниками ...
ura095.bsp ~1900-2099 Уран со спутниками ...
codes_300ast_20061020.bsp
~1800-2200 астероиды
pcomets_v1_ieee.bsp ~1810-2189 кометы (описание)
Hipparcos, Tycho2, PPM - звездные каталоги (см. подключение звезд)
earth_720101_070426.bpc 10.01.1972-26.04.2007 система координат Земли ITRF93
earth_assoc_itrf93.tf - заставляет вместо IAU_EARTH использовать более точную ITRF93
pck00010.tpc - таблица планетных констант Земли (ориентация, форма, размер)
naif0010.tls 01.07.1972-01.07.2012 обновляется 1-2 раза в году, поправкой времени, 'скачковой' секундой
ppm_stars_vm3.def на эпоху J2000.0 избранные звезды и малоподвижные звезды до 3 величины из каталога PPM
my_sites.tpc как я укажу мой файл мест (на Земле, город Астрахань и т.д.)
my_frames.tf как я укажу мой файл локальных систем координат (к местам на Земле)
RSSD0002.tf ? система координат ECLIPDATE с учетом прецессии и др.

     * - этот файл был испорчен на сайте НАСА, по моей просьбе 12.05.2012 г. его заменили.
     Светлые строки - файлы для основных расчетов.
     Если ошибка ссылки на закачку, значит файлы перемещены, ищите отсюда : ftp://naif.jpl.nasa.gov/pub/naif/generic_kernels/      (старые версии эфемерид)

     Барицентры планет, например, 3 - барицентр Земли, это точки и не подходят для операций с поверхностями планет (соединения, покрытия, светимость) и их ориентацией в пространстве. Поэтому для планет нужно скачать эфемериды с этими параметрами, например, 399 - геоид Земли. Программа brief.exe, входящая в набор для MatLab показывает в командной строке параметры бинарных (не текстовых) файлов данных (эфемерид и др.) системы SPICE. Например, '> brief de421.bsp' , выдает:

BRIEF -- Version 3.0.0, January 14, 2008 -- Toolkit Version N0064
Summary for: de421.bsp
Bodies: MERCURY BARYCENTER (1) SATURN BARYCENTER (6) MERCURY (199)
VENUS BARYCENTER (2) URANUS BARYCENTER (7) VENUS (299)
EARTH BARYCENTER (3) NEPTUNE BARYCENTER (8) MOON (301)
MARS BARYCENTER (4) PLUTO BARYCENTER (9) EARTH (399)
JUPITER BARYCENTER (5) SUN (10) MARS (499)
Start of Interval (ET) End of Interval (ET)
----------------------------- -----------------------------
1899 JUL 29 00:00:00.000 2053 OCT 09 00:00:00.000

Это таблицы эфемерид для основных тел солнечной системы с их кодами для времени 29.07.1899 ... 09.10.2053.

Проверка файлов на целостность '>spy -cl -start lsk.spy check integrity de421.bsp', выдаст если файл нормальный (справка):
Structure Inspection of SPK File de421.bsp
==================================================================
No error diagnostics and no warnings generated for SPK file de421.bsp
==================================================================
где lsk.spy обычный текстовый файл в котором прописан путь к файлу секундных поправок, всего 1 строка 'load путь\naif0009.tls';

Подключение файла данных в программе функцией cspice_furnsh( 'путь\имя_файла' ); . Данные загружаются в память последовательно и ищутся по порядку загрузки (о дублированных). Для облегчения кода программы набор данных описывается в пользовательском файле (любое имя) и вместо каждого файла загружается он.
Например, файл standart.tm содержит описание необходимого набора и пути к его файлам:

\begindata
PATH_VALUES = ( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data' ,
                              'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\DE' )
PATH_SYMBOLS = ( 'PATH', 'PATHDE' )
KERNELS_TO_LOAD = ( '$PATH\my_frames.tf',
                                      '$PATH\my_sites.tpc',
                                      '$PATH\my_stars.def',
                                      '$PATHDE\de406.bsp',
                                      '$PATHDE\pck00010.tpc',
                                      '$PATHDE\naif0010.tls' )
\begintext
здесь комментарий

Загружается в программе cspice_furnsh( 'путь\standart.tm' );      

Типы текстовых файлов данных системы SPICE:
 • Spacecraft Clock kernels (SCLK) - параметры часов космического корабля
 • Leapseconds kernel (LSK) - файл временных поправок
 • Physical Constants kernels (PCK) - Ядро физических констант (обычно текстовый файл)
 • Instrument parameter kernels (IK) - Ппараметры инструмента (космического корабля, наземной станции и т.п.)
 • Frame definition kernels (FK) - Ядро определения систем координат
 • Some E-kernels (EK, although EKs are now rarely used)
 • Meta-kernels (MK, also called "furnsh kernels")
Типы бинарных файлов:
 • SP-kernels (SPK)
 • Binary-style (just a few) PC-kernels (PCK)
 • C-kernels (CK)
 • Some spacecraft Events kernels (EK/ESP) - Параметры некоторых событий коспических кораблей


 

Системы координат.

Системы координат
Системы координат : J2000, ECLIPJ2000, CALACTIC, FK4, TOPO
С. к. : J2000, ECLIPJ2000, CALACTIC, FK4, TOPO
Координаты Солнца в системе координат FK4 в течении года от весеннего равноденствия до весеннего равноденствия
Изменение координат Солнца в FK, 01.01.2000 - 01.01.2001
На графике видно, что если бы Земля не вращалась вокруг
своей оси, Солнце бы делало вокруг наблюдателя на
поверхности Земли, например находящегося на северном
полюсе, 1 оборот в год, т.к. Земля наклонена на ~23.5° к
плоскости своей орбиты, то угол между Солнцем и осью Земли
колеблется в этих пределах.
Долгота и широта Солнца с с.к. FK4 в моменты весенних равноденствий 1970-2012 гг.
Изменение долготы и широты Солнца в с.к. FK4
в моменты весенних равноденствий 1970-2012 гг.,
проявляются нутация и прецессия.

к содержанию    'FK4' (фундаментальный каталог 4) - система координат неподвижна относительно звездно прецессия не учитывается, привязана к центру или топоточке Земли на момент B1950.0 ~совмещена с ECLIPJ2000, но потом не вращается с геоидом, как ECLIPJ2000, J2000 и TOPO.

     'ECLIPJ2000' - эклиптикальная С.К., широта из плоскости орбиты Земли (эклиптики), долгота 0 в точке весеннего равноденствия, т.к. С.К. вращается относительно звезд (С.К. FK4+прецессия) по долготе с периодом ~ 25 765 лет в плоскости орбиты Земли. Начало в центре Земли.

     'J2000' - экваториальная с. к. - , RA и DEC от экватора Земли. Начало в центре Земли. Можно представить эту систему координат горизонатальной системой координат 'TOPO', которая смещена в сфере на широту и долготу наблюдателя.

     'TOPO'- горизонтальная с.к., высота над горизонтом и азимут. Начало в точке наблюдения.

Относительно других объектов, например, Марса от экватора и IAU вектора от J2000 с.к -'MARSIAU', и т.д.

     Фиксированные к телам IAU модели вращения поставляются в PCK файлах, для Земли низкой точности 'IAU_EARTH' (всегда доступна) и высокой 'ITRF93', только на сравнительно близкие промежутки времени (нужны PCK файлы и подключение), для Марса 'IAU_MARS' и т.д.

    'IAU_EARTH' и 'ITRF93' переключаются через алиас 'EARTH_FIXED' в файле my_frames.tk :

KPL/FK
\begintext
Вызывайте систему координат 'EARTH_FIXED'
Вставьте эту строку ниже вместо 'IAU_EARTH' чтобы вызывалась 'ITRF93':
TKFRAME_EARTH_FIXED_RELATIVE = 'ITRF93'
\begindata\
TKFRAME_EARTH_FIXED_SPEC = 'MATRIX'
TKFRAME_EARTH_FIXED_MATRIX =
( 1 0 0
  0 1 0
  0 0 1 )

Галактическая система координат в плоскости Галактики

Галактическая Система II координат 'GALACTIC' в плоскости галактики (центр Солнце, начало координат галактический центр). На B1950 RA = 12ч 49м (192°,25) DEC = +27,4°.

В файле my_sites.tpc, мною введены точки наблюдения : 'DYN', 'KURSAVKA' , 'ASTRAKHAN' , 'CAIRO', 'ISTANBUL', 'LONDON'.
'DYN' - зарезервировано мною для точки и С.К. с динамически именяющимися координатами.

Названия систем координат получаются добавлением '_TOPO', они описаны в my_frames.tk

Прецессия и нутация земной оси.

Прецессия и нутация земной оси. полный цикл земной прецессии составляет около 25 765 лет. Основной период нутации равен 18,6 года — периоду оборота линии узлов. Соответствующие главные члены Н. равны + 9,21'' cos Омега (Н. в наклоне) и — 17,23” sin Омега (Н. по долготе), где Омега — средняя долгота восходящего узла орбиты Луны на эклиптике.
Цикл прецессии ~ 25 765 лет,
нутации равен ~18,6 г. , периоду
оборота линии узлов. Соответствующие
главные члены Н. равны + 9,21'' cos
Омега (Н. в наклоне) и — 17,23” sin
Омега (Н. по долготе), где Омега ср.
долгота восх. узла орбиты Луны на
эклиптике.

Классы систем координат :

1. Внутренние, инерционные с.к.. Не вращаются относительно звездного окружения. К ним можно приложить законы ньютоновского движения.

2. Прикрепленные к телу) с.к. Необходимо сначала загрузить PCK файл в котором находятся параметры самого тела.

3. CK - относятся те с.к. ориентация которых соотносится к другим с.к. поддерживаемыми SPICE C-kernel. ... C-kernels использует таймер космического аппарата 'ticks'. ...

4. Фиксированные с.к. к другой с.к. с определенным смещением. Текстовые файлы - Text Kernel (TK) с.к.

5. Динамические с.к. Смещение относительно другой с.к. описывается формулами.

      Главный источник земной нутации приливные силы Луны, которые постепенно изменяют направление и таким образом
расшатывают земную ось. Этот компонент нутации имеет 18.6 летний цикл (6798 дней), за который узлы лунной орбиты делают оборот вокруг Земли. Нутация достигает ∓ 17″ по долготе и 9″ уклона. 183 дневный период (0.5 года), имеет амплитуду ∓ 1.3″ и 0.6″ соответственно. (Wikipedia) Пример расчета нутации - открыть (Ерана О. Офек).

 

 

Прецессия и динамический фрейм её учитывающий.

Динамический фрейм всегда привязан к базовому и определяется вращением вокруг осей бозового фрейма с течением времени.

Терминология:

Прямое восхождение — астрономический эквивалент земной долготы во второй экваториальной системе. И прямое восхождение, и долгота измеряют угол «восток-запад» вдоль экватора; обе меры берут отсчёт от нулевого пункта на экваторе. Начало отсчёта долготы на Земле — нулевой меридиан; начало отсчёта прямого восхождения на небе — точка весеннего равноденствия.
Склонение (δ) угол от плоскости небесного экватора, + к северу, - к югу.


 

Как добавить точку наблюдения?

my_sites.def

\begindata
SITES = ( 'KURSAVKA', 'ASTRAKHAN')
KURSAVKA_CENTER = 399
KURSAVKA_FRAME = 'EARTH_FIXED'
KURSAVKA_IDCODE = 399201
KURSAVKA_LATLON = ( 44.4572417 42.5145250 0.4 )
KURSAVKA_BOUNDS = ( @3000ВС-01-01-00:00:00.000,
                                            @3000-01-01-00:00:00.000 )
ASTRAKHAN_CENTER = 399
ASTRAKHAN_FRAME = 'EARTH_FIXED'
ASTRAKHAN_IDCODE = 399210
ASTRAKHAN_LATLON = ( 46.3 48 -0.02 )
ASTRAKHAN_BOUNDS = ( @1000-01-01-00:00:00.000,
@2100-01-01-00:00:00.000 )
\begintext
Координаты села Курсавка:
44°27'26.0701 N, 42°30'52.2900 E- это место где я провел детство.

к содержанию    Необходимо приготовить текстовый файл с параметрами, где :
SITES = ('<имя1>','<имя2>', ... '<имяN>') - имена точек;
<имя>_CENTER - NAIF ID тела, к которому соотносится;
<имя>_FRAME - прикреплена к системе координат, для Земли должно быть 'IAU_EARTH', но в примере 'EARTH_FIXED', потому что переопределена строками :
TKFRAME_EARTH_FIXED_RELATIVE = 'IAU_EARTH'
TKFRAME_EARTH_FIXED_SPEC = 'MATRIX'
TKFRAME_EARTH_FIXED_MATRIX = ( 1 0 0
0 1 0
0 0 1 )

в текстовом файле my_frames.tf, для того, чтобы при необходимости переопределить на более точную модель :
TKFRAME_EARTH_FIXED_RELATIVE = 'ITRF93'. (в файле my_frames.tf определены эти же имена для SPICE, но уже в качестве начал систем их топоцентрических координат.)
<имя>_IDCODE - свой уникальный код, начинающийся с кода тела прикрепления;
<имя>_XYZ    - позиция относительно центра Земли или если подключить таблицу геоидов Земли pck00009.tpc то в виде :
<имя>_LATLON = (широта долгота высота), градусы десятичные, высота в метрах;
<имя>_DXYZ    - ускорение метры в год, для неподвижных точек не указывается;
<имя>_EPOCH   - эпоха фиксации в TDB , для неподвижных точек не требуется;
<имя>_BOUNDS - границы времени действия;

     Программой pinpoint.exe преобразуем в бинарный файл, в командной строке (я ввел в pinpoint.bat и запускал уже его):
>> pinpoint -def my_sites.def -pck pck00008.tpc -spk my_sites.bsp
Полученный my_sites.bsp подключаем cspice_furnsh( 'путь\my_sites.bsp' );

Текст файла данных my_frames.tf
my_frames.tf
Установка места и горизонтальной системы координат на геоиде Земли - set_observer.m
set_observer.m
Получение координат текущего или запрашиваемого в справочнике места и горизонтальной системы координат на геоиде Земли - get_observer.mget_observer.m

     Для того, чтобы динамически изменять место и привязанную к нему топоцентрическую горизонтальную систему координат можно воспользоваться скриптами :


 

Топоцентрическая система координат

к содержанию     Дает возможность вовлечь в расчеты местные направления: 'верх', 'север', 'запад', 'горизонт' и т.д.
Координаты пересчитываем: lon=-lon, lat=lat-90. Например, Астрахань: 48°03'00"E -> -48, 46°21'00"N -> -43.24; (высота не используется поскольку система координат это ориентирование осей, а высота над поверхностью Земли вводится в точку наблюдателя (см. выше)
Создадим файл фреймов my_frames.tf и запишем в него:

\begindata
NAIF_BODY_NAME += 'ASTRAKHAN'
NAIF_BODY_CODE += 399210
FRAME_ASTRAKHAN_TOPO = 1399210
FRAME_1399210_NAME = 'ASTRAKHAN_TOPO'
FRAME_1399210_CLASS = 4
FRAME_1399210_CLASS_ID = 1399210
FRAME_1399210_CENTER = 399210
OBJECT_399210_FRAME = 'ASTRAKHAN_TOPO'
TKFRAME_ASTRAKHAN_TOPO_RELATIVE = 'EARTH_FIXED'
TKFRAME_ASTRAKHAN_TOPO_SPEC = 'ANGLES'
TKFRAME_ASTRAKHAN_TOPO_UNITS = 'DEGREES'
TKFRAME_ASTRAKHAN_TOPO_AXES = ( 3, 2, 3)
TKFRAME_ASTRAKHAN_TOPO_ANGLES = ( -48, -43.24, 180.0000000000000 )
\begintext

где код, например, 399210 еще не зарезервирован никаким объектом SPICE. Подключаем этот файл в программе так же, как и эфемериды.



 

Доступ к переменным пула

к содержанию В обычный текстовый файл поместим в текстовом виде переменные, которые зарузим cspice_furnsh( 'путь\my_stars.def' );

Присвоение значений переменной
имя_пер. = 1.234 DP
имя_пер. = 1234 INT
имя_пер. = 'FORBIN' STR
имя_пер. = ( 1.234 , 45.678 , 901234.5 ) VEC DP
имя_пер. = ( 1234 , 456 , 789 ) VEC INT
имя_пер. = ( 'FORBIN', 'FALKEN', 'ROBUR' ) VEC STR
имя_пер. = @31-JAN-2003-12:34:56.798 TIME VAL
имя_пер. = ( @01-DEC-2004, @15-MAR-2004 ) TIME VEC

[values, found] = cspice_gcpool( name, start, room ); % доступ к srt
[values, found] = cspice_gdpool( name, start, room ); % доступ к DP
[values, found] = cspice_gipool( name, start, room );  % доступ к integer
[string, found] = cspice_stpool( item, nth, contin );        % доступ к string
где start = номер в массиве, room - кол-во возвращаемых данных. found=1, если найдена.

cspice_clpool;  % очистить пул данных
cspice_lmpool; % данные хранятся в массиве вместо внешнего файла.
cspice_pcpool; % вставки STR прямо в пул данных
cspice_pdpool; % вставки double precision ...
cspice_pipool;  % вставки integer ...

[kvars, found] = cspice_gnpool( name, start, room );  % загрузка в массив даным из пула ПО ИМЕНИ ...

count = cspice_ktotal( kind ) % количество загруженных файлов, kind: 'ALL', 'SPK', 'CK', 'PCK', 'EK', 'TEXT', 'META'

[ filtyp, source, handle, found] = cspice_kinfo( file) % получение информации о файле по его имени
[ file, filtyp, source, handle, found ] = cspice_kdata( which, 'spk'); % загрузка данных о SPK в пуле, загруженным № which


     cspice_pdpool('TKFRAME_DYN_TOPO_ANGLES',[-lon; -90 + lat; 180]); % вставка координат в топоцентрическую сист.коорд.

values1 = cspice_bodvcd( 399, 'RADII', 3); % получить радиусы Земли - 3 значения
values1 = cspice_bodvrd( 'EARTH', 'RADII', 3)


 

Получение широты и долготы наблюдателя

Внутреннее
представление координат
Внутренее представление координат в SPICE - Система координат J2000

к содержанию   1 вариант:  Из разницы углов местной и геоцентрической систем координат:
observer= 'N30_E40_TOPO'; % топоцентрическая система координат
et=0; % et=момент времени, cspice_dpr - градусов в радиане
[lat,z,lon]=cspice_m2eul( cspice_pxform('IAU_EARTH', observer, et ), 2,1,3) ;
lat = lat * cspice_dpr; % вн. представление широты наблюдателя
lon = lon * cspice_dpr; % вн/ представление долготы наблюдателя
if lat < - 90; sslat='S'; else sslat='N'; end % строка знака долготы
if lon > 0; sslon='W'; else sslon='E'; end % строка знака широты
pnlat = 90 - abs(lat); % абс/ значение широты наблюдателя
pnlon = 180 - abs(lon); % абс. значение долготы наблюдателя
fprintf( 'Место наблюдения : %s, %2.2f%s %2.2f%s %s%s%s %s%s%s\n', ...
   observer, pnlat, sslat, pnlon, sslon, '(', angl2minsec(pnlat), sslat, angl2minsec(pnlon), sslon,')');

Выдает :

Место наблюдения : N30_E40, 30.00N 40.00E (30°0'2.558e-011"N 39°59'60"E)

       2 вариант: Из параметров заданной системы координат.
[val, found] = cspice_gdpool( ''TKFRAME_',obsrvr, '_TOPO_ANGLES'', 2, 1 ); lat=90+val;
[val, found] = cspice_gdpool( ''TKFRAME_',obsrvr, '_TOPO_ANGLES'', 1, 1 ); lon= - val;




Изменение широты и долготы наблюдателя

к содержанию     Для того, чтобы получать данные из разных широт или долгот наблюдателя с каким-то шагом пропишем в my_frames.tf топоцентрическую систему координат с именем, например, DYN и в my_sites.def точку на геоиде DYN, как для обычных. Затем из программы будем изменять широту и долготу:

observer = 'DYN'; frame = strcat(observer,'_TOPO'); % frame = 'DYN_TOPO'
lat=30; lon=40; alt=0.0; % водим параметры строкой
cspice_lmpool(strcat('TKFRAME_' , obsrvr , '_TOPO_ANGLES = (', num2str(-lon), ' , ', num2str(-90 + lat), ', 180.0000000000000)') );
cspice_lmpool(strcat('DYN_LATLON = (', num2str(lat), ' , ', num2str(lon), ' , ', num2str(alt), ' )' )); % загрузили их в соотв. объекты

cspice_pdpool(strcat( 'TKFRAME_' , obsrvr , '_TOPO_ANGLES') , [-lon; -90 + lat; 180]); % или числами



'Подключение' звезд.

к содержанию    Нужную звезду можно идентифицировать по различным каталогам на портале Asteroseismic Modeling Portal. Уточнить положение звезды можно по, привязанным к координатам, снимкам телескопа Хаббл.

архив - rar:  ppm_stars_vm3.def - звезды до 3 величины из каталога PPM для загрузки в SPICE
ppm_stars_vm3.def
звезды до 3 величины
из каталога PPM
для загрузки в SPICE
ppm_stars_vm5.def - звезды до 5 величины из каталога PPM для выборки для загрузки в SPICE
ppm_stars_vm5.def
звезды до 5 величины
из каталога PPM
для выборки

     Прямого доступа к оригинальным звездным каталогам в SPICE нет. Современные звездные каталоги ( ftp://naif.jpl.nasa.gov/pub/naif/generic_kernels/stars/ - 'Гиппарх', 'Тихо Браге', PPM) НАСА 'прицепило' функциями к SPICE еще в 1996 году, но только в версии ФОРТРАН. Я сконвертировал PPM каталог в текстовый kernel - загрузить (<= 3 зв.в.) для обычной загрузки в SPICE, весь каталог загрузить не получится из-за перегрузки имен в среде SPICE. В этот kernel можно добавить необходимые звезды из файла со звездами до 5 величины.

    Mожно получить данные любых других звезд из этих каталогов и рассчитать их положение в RA и DEC на нужный момент. Для начала нужно скачать звездный каталог. Я использовал Positions and Proper Motions Star Catalogue (скачать с NAIF) - каталог позиций и собственных движений звезд, потомок SAO Star Catalog эпохи J1950. Распаковал и утилитой >> tobin.exe ppm.xdb ppm.bdb , сконвертировал в совместимый формат.

     Программой starsb.exe по инструкции из звездного каталога генерирует набор звезд упрощенного типа для работы в SPICE: prompt> starsb 'имя_командного_файла'

Командный файл, пример:         Формирование набора звезд для работы в SPICE

\begindata
STARSB_MASTER_FILE = 'ppm.bdb'
STARSB_OUTPUT_FILE = 'ppm_vm50.dbk'
STARSB_ETCAL_TIME = '2000-JAN-1 12:00:00'
STARSB_WESTRA = 0.0
STARSB_EASTRA = 360.0
STARSB_STHDEC = -90.0
STARSB_NTHDEC = 90.0
STARSB_VMMAX = 5.0
\begintext
все звезды <= 5 видимой величины

Описание команд:

STARSB_MASTER_FILE = 'имя входного каталога'
STARSB_OUTPUT_FILE = 'имя выходного каталога'
STARSB_ETCAL_TIME = 'на какое время рассчитывать звезды, UT>'
STARSB_WESTRA = наибольшее западное прямое восхождение, °
STARSB_EASTRA = наибольшее восточное прямое восхождение, °
STARSB_STHDEC = наибольшее южное склонение, °
STARSB_NTHDEC = наибольшее северное склонение, °
STARSB_VMMAX = масимальная звездная магнитуда

 
Содержимое звездного каталога типа SPICE 1

Имя

Тип

Описание

RA DP J2000 прямое восхождение в начальную эпоху, °
RA_SIGMA DP погрешность J2000 RA в н.эп., °
RA_EPOCH DP нач. эпоха, годы с B1950 ( Besselian Date 1950.0 )
RA_PM DP собственное движение в RA, ° в год
RA_PM_SIGMA DP погрешность собственного движения в RA, ° в год
DEC DP J2000 склонение в н.эп., °
DEC_SIGMA DP погрешность J2000 DEC в н.эп., °
DEC_EPOCH DP эпоха, годы с B1950 ( Besselian Date 1950.0 )
DEC_PM DP собственное движение в DEC, ° в год
DEC_PM_SIGMA DP погрешность собственного движения в DEC, ° в год
CATALOG_NUMBER INT номер звезды в каталоге
SPECTRAL_TYPE CH4 четыре символа спектрального типа звезды
VISUAL_MAGNITUDE DP видимая величина

* темными строками содержимое каталога расширенного типа
B1950.0 - the equinox and mean equator of 1949 Dec 31st 22:09 UT
Тропический год , за начало которого принимают момент времени, когда
средняя долгота Солнца, уменьшенная на постоянный коэффициент аберрации
(20,496''), в точности равна 280°. Начало Б. г. приходится на один и тот же
момент времени для любого пункта Земли. Продолжительность Б. г. равна
продолжительности тропического и в сутках может быть выражена формулой
T0 = 365,24219879 — 0,00000614Т, где Т — число столетий, прошедших с 1900.
J2000.0 - the equinox and mean equator of 2000 Jan 1st 12:00 UT

     Определим квадрат в 6 ° RA-DEC, расположенный в центре небесного экватора, с самым западным RA в 357 °:
STARSB_WESTRA = 357.0
STARSB_EASTRA = 3.0
STARSB_STHDEC = -3.0
STARSB_NTHDEC = 3.0

     Определим 5 ° RA-DEC квадрат с самым западным RA 10 °, самым восточным RA 15 °, самым южным склонением в 45 °: STARSB_WESTRA = 10.0
STARSB_EASTRA = 15.0
STARSB_STHDEC = 45.0
STARSB_NTHDEC = 50.0

     Все RA [0, 360] и DEC [-90,90] в градусах относительно инерциальной системы J2000.

В интерактивной утилите Inspekt.exe наберем команду вызова пакетного файла 'Inspekt> start my_ppm.bat'.
Содержимое my_ppm.bat :

 

 


LOAD LEAPSECONDS naif0009.tls;
LOAD EK my_ppm.dbk;
SAVE TO my_ppm.txt;
SET FORMAT DELIMITED;
SET DEFAULT FLOATING FORMAT ############.###########################;
SELECT CATALOG_NUMBER, DEC, DEC_SIGMA, RA, RA_SIGMA, VISUAL_MAGNITUDE FROM PPM_2000_JAN_01 WHERE CATALOG_NUMBER > 0;

EXIT;

Получим текстовый каталог звезд на эпоху J2000.0, который можно импортировать в файл Excel (разделитель - tab). В программе можно теперь использовать параметры звезд введенные вручную.

Чтобы получить данные расширенного типа и досчитать положение движущихся звезд в программе, используем данные мастер-каталога ppm.bdb, экспортируя его (файл Excel - ppm_vm5.xlsb),

LOAD LEAPSECONDS naif0009.tls;
LOAD EK ppm.bdb;
SAVE TO ppm_vm5.txt;
SET FORMAT DELIMITED;
SET DEFAULT FLOATING FORMAT ############.###########################;
SELECT CATALOG_NUMBER, DEC, DEC_EPOCH, DEC_PM, DEC_PM_SIGMA, DEC_SIGMA, DM_NUMBER, PARLAX, RA, RA_EPOCH, RA_PM, RA_PM_SIGMA, RA_SIGMA, SPECTRAL_TYPE, VISUAL_MAGNITUDE FROM PPM WHERE VISUAL_MAGNITUDE =< 5;
EXIT;

 

к содержанию     'Неподвижные' звезды по степени уменьшения неподвижности.

PPM

 

DEC

RA

V

Примечание (координаты на J2000.0 взяты см.)

86047 61 Cygin     4.84 Самая подвижная звезда на небе J2000 RA 21 06 54.6 DEC +38 44 45
400076 Alnitak -1,9425 85,18958 1,8 Левая звезда пояса Ориона.
348537   -56,7335 306,4117 1,9  
60323   45,28032 310,3579 1,3  
53742   49,31354 206,8878 1,9  
327928   -46,9585 332,0558 1,7  
148916   6,349893 81,28287 1,6  
91373   23,46529 31,79035 2  
12597   60,7168 14,17649 1,6  
336856   -59,5098 125,6292 1,9  
251718   -26,3933 107,0979 1,9  
33769   55,95996 193,5047 1,8  
357200   -69,719 138,3059 1,7  
46127   49,86173 51,08014 1,8  
17705   61,7522 165,9356 1,8  
335149 Canopus -52,6961 95,98746 -0,7  
94361   28,61068 81,57259 1,6  
312662   -47,3367 122,3833 1,8  
296488   -37,1033 263,4022 1,6  
269078   -26,2957 283,8161 2  
122774   16,40003 99,42736 1,9  
47925 Capella 46,00723 79,17065 0,1  
297655   -34,3825 276,0436 1,8  
341305   -59,6885 191,9313 1,3  
362330   -69,0271 252,1655 1,9  
130442 alf Boo 19,22192 213,9332 0  
172188   9,874996 326,046 0,7  
48617   44,94744 89,88346 1,9  
81558 Vega 38,77732 279,2305 0 DEC +38 47 01.291, RA 18 36 56.3364, alf Lyr, 3 Lyr.
127140   11,96707 152,0971 1,3  
341058   -57,1092 187,7909 1,6  
97924   28,02715 116,3407 1,1  
168779   8,860283 297,6868 0,8  
72938   31,89072 113,6533 1,9  
120061   16,51333 68,97905 0,8  
192393   -8,65933 141,8971 2  
323186   -42,9978 264,3296 1,9  
251347   -28,9721 104,6564 1,5  
217099   -17,9559 95,67497 2  
149643 alf Ori 7,406855 88,79251 0,4 Semi-regular pulsating Star: alf Ori
337198   -54,7072 131,1751 2  
331199 alf Eri -57,236 24,42549 0,5 ACHERNAR
153068 Procyon 5,247656 114,838 0,4  
209214   -17,9873 10,89306 2  
274426   -29,6191 344,406 1,2  
227262   -11,1607 201,299 1  
175945   -1,20191 84,05334 1,7  
360515   -60,3726 210,957 0,6  
359410   -63,0988 186,6509 1,3  
184482   -2,97547 34,83662 2  
187839 Rigel -8,20164 78,63445 0,1  
217626 Sirius -16,6867 101,2978 -1,5 DEC -16 42 58.017, RA 06 45 08.9173, Dog Star
431   89,26444 37,89261 2  
360911 alf Cen A -60,8545 220,0556 0  
265579   -26,4315 247,3521 0,9  
89441 Sirrah 29,09347 2,094481 2 FK5 1, α Andromedae
25054 Caph 59,15267722 2,281568343 2.3 FK5 1, Variable Star of delta Sct type, * bet Cas

"Неподвижные" звезды <=3 зв. величины отсортированные по возрастанию подвижности



Время.

Первая в мире аналемма солнца сфотографированная в 1978-79 гг в Новой Англии Денисом Сикко
Аналемма: фото солнца в одно и то же
время дня в течении года - видимый
полдень не 12:00 UTC. (взято)

к содержанию    Время это 4-тое, более важное чем 'XYZ', измерение, потому что оно оказывает влияние на все три пространственных измерения. Какой смысл добиваться правильности расчета координат, при неправильно определенном времени?! Все расчеты SPICE ведутся в равномерном 'эфемеридном времени' (без скачковых секунд) - Ephemeris Time (ET), которое имеет внутреннее представление в секундах от эпохи 'J2000.0'. В это же представление перед вычислениями переводятся UTC, JD и другие системы представления времени.

Программа расчета аналеммы солнца
Расчетная аналемма солнца в Курсавке в течении 2000 г. в 12:00 UTC

    Аналемма солнца
к содержанию    Изначально время дня определяли по солнцу, полднем (12:00) считался момент наивысшего положение солнца над горизонтом, когда азимут = 0°. Этот момент наступает неравномерно в равномерном времени UT. Суточное вращение Земли ~ равномерно, но из-за эксентриситета своей орбиты, Земля летит то быстрее к перигелию ~ 3 января, то медленее к афелию ~ 4 июля. За счет доворота или недоворота вокруг своей оси движением по орбите , видимый солнечный полдень, день ото дня, то чуть запаздывает к сидерическому звездному времени, то опережает его. День ото дня может быть короче до ~20 сек или длиннее до ~30 сек, а полдень наступает раньше на ~ 14 минут в '06.02.???? 12:00 UTC' и через 16 мин после '03.11.???? 12:00 UTC'. Если cфотографировать солнце в одно и то же время, например, в '12:00 UTC', то получится аналемма (греч. ανάλημμα, «основа, фундамент») от рисунка - поправки на солнечных часах (анимационные графики).

Амалемма солнца

     LST (Local Solar Time) - местное солнечное время, передает видимую высоту солнца на небосводе. Местное солнечное время отличается от планетоцентрического и не привязано к UTC, на экваторе восход ~6:00:00, полдень = 12:00, закат ~18:00. час М.С.В., например, на Марсе час будет длится ~62 мин UTC.

Солнце в равноденствие и солнцестояние на экваторе
Дата крест DEC RA восход заход h max
21 марта В.Р. 0◦00' 00:00 E. W 90◦-φ
22 июня Л.С.С. 23◦26' 06:00 N.E. NW 90◦-φ + ε
23 сентября О.Р. 0◦00' 12:00 E. W 90◦-φ
22 декабря З.С.С. -23◦26' 18:00 S.W. SW 90◦-φ - ε

[hr,min,sec,time,ampm] = cspice_et2lst (et, body, lon, type);




     С изобретением хронометров, для передачи времени суток, человечество, расчитывает по уравнению времени 'среднее солнце', которое движется по небу равномерно в течении года и суток, положение которого отличается от видимого из-за эллиптичности земной орбиты и ее наклона к экватору и совпадает с центром истинного Солнца только в моменты осеннего и весеннего равноденствий.

     UTC - универсальное координированное время, Coordinated Universal Time синхронизировано по частоте с атомным временем TAI (TDT), но уводится (координируется) 'скачковыми' секундами за 'звездной' полночью 00:00:00 UT. Из-за неравномерности вращения Земли равномерное UTC уходит от астрономического времени UT (обновленное GMT) секунды которого переменны, потому что они определенная часть суток и года, определенных по прохождению звезд.

Среднее местное солнечное время и истинное или видимое солнечное время.

    Чтобы разница между их 00:00:00 не накапливалась более 0.9 сек UTC изредка согласовывают скачковыми секундами, см. файл поправок времени naif0010.tls. Когда разница накапливается до 0.7 с, IERS объявляет в IERS Bulletin C (Leap Second Announcements) о поправке, что будет внесена после последнего 'нормального' UTC времени 31.12 или 30.06 (см. табл.)

вместо поправка + поправка -
31.12 23:59:58
31.12 23:59:59
01.01 00:00:00
31.12 23:59:57
31.12 23:59:58
01.01 00:00:00
31.12 23:59:59
31.12 23:59:60
01.01 00:00:00


 

 


System Description UT1 UTC TT TAI GPS
UT1 Mean Solar Time UT1 UTC = UT1 - DUT1 TT = UT1 + 32.184 s + LS - DUT1 TAI = UT1 - DUT1 + LS GPS = UT1 - DUT1 + LS - 19 s
UTC Civil Time UT1 = UTC + DUT1 UTC TT = UTC + 32.184 s + LS TAI = UTC + LS GPS = UTC + LS - 19 s
TT Terrestrial (Ephemeris) Time UT1 = TT - 32.184 s - LS + DUT1 UTC = TT - 32.184 s - LS TT TAI = TT - 32.184 s GPS = TT - 51.184 s
TAI Atomic Time UT1 = TAI + DUT1 - LS UTC = TAI - LS TT = TAI + 32.184 s TAI GPS = TAI - 19 s
GPS GPS Time UT1 = GPS + DUT1 - LS + 19 s UTC = GPS - LS + 19 s TT = GPS + 51.184 s TAI = GPS + 19 s GPS
LS = TAI - UTC = Leap Seconds from http://maia.usno.navy.mil/ser7/tai-utc.dat     DUT1 = UT1 - UTC from http://maia.usno.navy.mil/ser7/ser7.dat

 

    UTC       GPS               TAI                    TT (TDT)
 ----+---------+-----------------+------------------------+-----
     |         |                 |                     ET 1984.0
     |<--34s Leap Seconds------->|<----32.184S fixed----->|
     |         |                 |                        |
     |<--15s-->|<----19s-------->|                        |
     |              fixed                                 |
     |                                                    |
                                                          |
 -----+----- DeltaT = 32.184 s + (TAI-UTC) - (UT1-UTC) ---+-----
     UT1 (UT)  66.65750 s          34 s     -0.47350 s TT (TDT)

UTC удерживается ±0.9s относительно UT1 'скачковыми' секундами Разница между GPS и TAI и TDT - константа.

    UT - усредненное солнечное время, неравномерное, без скачковых секунд. Истинные солнечные полдни усредняются за год. Секунды, часть 24 часов неравномерных суток.
     UT0 (GMT) - устанавливалось в одной обсерватории (Greenwich), поэтому включало эффект 'гуляния' ~10...20 м в 400-500 дней земной оси. UT0 = UT1 + tan(lat) * (x * sin(long) + y * cos(long)), где x и y смещения полюса в " опубликованные в бюллетене А, IERS и должны быть конвертированы во время 1 сек = 15 ", а lat и long координаты наблюдателя.
    UT1
- устанавливается многими обсерваториями, поэтому эффект 'гуляния' полюсов исключен.
    UT2
- UT1 поправленное на сезонные вариации вращения Земли. Сегодня, говоря UT, обычно имеют ввиду UT2.
UT2 = UT1 + 0.022 * sin(2*π*t) - 0.012 * cos(2*π*t) - 0.006 * sin(4*π*t) + 0.007 * cos(4*π*t), где t = 2000.0 + (MJD - 51544.03) / 365.2422
     GMST - Средне звездное время по Гринвичу (Greenwich Mean Sidereal Time) sec GMST = 365.25/366.25 sec UT1 second. День начинается в точке В.Р.Д. на Г.М. Час GMST = углу от средней позиции точки ♈, В.Р.Д., пренебрегая нутацией.
Это может показаться странным, но GMST может быть связано с UT1 по формуле GMST (в сек на UT1=0) = 24110.54841 + 8640184.812866 * T + 0.093104 * T^2 - 0.0000062 * T^3, где T юлианские века на J2000.0 UT1, T = d / 36525, d = JD - 2451545.0
    LMST - Local Mean Sidereal Time. LMST = GMST + (долгота наблюдателя/(360°/24), в часах)
     LST - Local Sidereal Time. Hour Angle = LST - Right Ascension
    GAST - Greenwich Apparent Sidereal Time. GAST = GMST + (уравнение равноденствий (времени))

    При расчетах в UTC на будущее невозможно предсказать, когда будет внесена поправка, примерно до следующей поправки время может соответствовать UTC, а после предполагаемой поправки нет. Время UTC с 58.999 ... по 59.999 ... секунду в момент поправки UTC на секунду назад не существующее в природе. А с 59.999 ... по 60.999 ... секунду UTC в период поправки на секунду вперед существует, например, '2012-06-30 23:59:60 UTC'

Подстройка UTC под UT
  TAI-UTC ET/TDT-UT UT-UTC
1972-01-01 +10.00 +42.23 -0.05
1972-07-01 +11.00 +42.80 +0.38
1973-01-01 +12.00 +43.37 +0.81
1973-07-01   -"- +43.93 +0.25
1974-01-01 +13.00 +44.49 +0.69
1974-07-01   -"- +44.99 +0.19
1975-01-01 +14.00 +45.48 +0.70
1975-07-01   -"- +45.97 +0.21
1976-01-01 +15.00 +46.46 +0.72
1976-07-01   -"- +46.99 +0.19
1977-01-01 +16.00 +47.52 +0.66
1977-07-01   -"- +48.03 +0.15
1978-01-01 +17.00 +48.53 +0.65
1978-07-01   -"- +49.06 +0.12
1979-01-01 +18.00 +49.59 +0.59
1979-07-01   -"- +50.07 +0.11
1980-01-01 +19.00 +50.54 +0.64
1980-07-01   -"- +50.96 +0.22
1981-01-01   -"- +51.38 -0.20
1981-07-01 +20.00 +51.78 +0.40
1982-01-01   -"- +52.17 +0.01
1982-07-01 +21.00 +52.57 +0.61
1983-01-01   -"- +52.96 +0.22
1983-07-01 +22.00 +53.38 +0.80
1984-01-01   -"- +53.79 +0.39
1984-07-01   -"- +54.07 +0.11
1985-01-01   -"- +54.34 -0.16
1985-07-01 +23.00 +54.61 +0.57
1986-01-01   -"- +54.87 +0.31
1986-07-01   -"- +55.10 +0.08
1987-01-01   -"- +55.32 -0.14
1987-07-01   -"- +55.57 -0.39
1988-01-01 +24.00 +55.82 +0.36
1988-07-01   -"- +56.06 +0.12
1989-01-01   -"- +56.30 -0.12
1989-07-01   -"- +56.58 -0.40
1990-01-01 +25.00 +56.86 +0.32
1990-07-01   -"- +57.22 -0.04
1991-01-01 +26.00 +57.57 +0.61
1991-07-01   -"- +57.94 +0.24
1992-01-01   -"- +58.31 -0.13
1992-07-01 +27.00 +58.72 +0.46
1993-01-01   -"- +59.12 +0.06
1993-07-01 +28.00 +59.5 +0.7
1994-01-01   -"- +59.9 +0.3
1994-07-01 +29.00 +60.3 +0.9
1995-01-01   -"- +60.7 +0.5
1995-07-01   -"- +61.1 +0.1
1996-01-01 +30.00 +61.63 +0.55
1996-07-01   -"- +62.0 +0.2
1997-01-01   -"- +62.4 -0.2
1997-07-01 +31.00 +62.8 +0.4
1998-01-01   -"- +63.3 -0.1
1998-07-01   -"- +63.7 -0.5
1999-01-01 +32.00 +64.1 +0.1

TDT = TAI+32.184s ==>
UT-UTC = TAI-UTC - (TDT-UT) + 32.184s
взято ->

     TAI (атомное время) и TDT синхронны, TDT привязано к TAI, но TDT - TAI = 32.184 сек. До 1985 года JPL's Orbit Determination Program (ODP) и другие программы, CRS записи, использовали другое значение 32.1843817 сек., его можно изменить в файле поправок времени naif0010.tls. Так же JPL'S Optical Navigation Program (ONP) не использует периодическое изменение (K sin E) между TDB-TDT, установка K =0 решает проблему.

     ET - 'Эфемеридное время' (Ephemeris Time) равномерная шкала, общее название TDB и TDT. 
  TDB
- барицентрическое динамическое время (Barycentric Dynamical Time) используется для описания движения тел, относительно барицентра Солнечной системы. TDT - земное динамическое время (Terrestrial Dynamical Time) используется при описании движения объектов около Земли.

     TDB и TDT подобны и равны по внутренней частоте, но не синхронны, по разному в разное время года, из-за релявисткого эффекта, т.к. движутся относительно друг друга. TDB - TDT = K * sin (E), где К константа, а E аномалия экцентриситета земной орбиты. TDB - TDT = ~ 0.000030 сек (при исключении малопериодных флуктуаций), т.е. TDB - TDT = периодическая функция с величиной ~ 0.001658 сек и периодом = сидерическому году. E = M + EB sin (M), где EB эксцнтриситет, а M (mean) средняя аномалия гелиоцентрической орбиты барицентра Земля-Луна. M = M0 + M1*t, где t эпоха TDB, в сек от J2000. Константы хранятся в пуле: DELTET/K = 1.657D-3, DELTET/EB = 1.671D-2, DELTET/M = ( 6.239996D0 1.99096871D-7 )

     TAI, TDT, TBT - равномерная секундная ± от J2000.0 шкала, никакого отношения к годам, месяца, дням, часам не имеющая. Только, ради удобства восприятия и сравнения с планетным земным временем - UTC, может вводиться и выводиться, 15.10.1582 12:00:00.000, подобно ему. Условно считается, что 'дне ET' 86400 секунд, хотя начало его суток 00:00 ET за соответствующий огромный период сместится по суткам шкалы времени UTC , полдень, которой скачковыми секундами, вставляемыми через месяцы и годы, привязывается к истинному солнечному полдню места.

    Julian Date - система юлианских дней - равномерная шкала, подобно 'ефемеридному времени', что без скачковых секунд, не имеет скачковых дней, что позволяет вычислять количество дней между датами. Существует 2 типа JD - Julian Ephemeris Date (JED) и Julian Date UTC (JDUTC). JED = cspice_j2000 + et/cspice_spd; Дробная часть JDUTC равна 0 в '12:00:00 UTC'. Префикс JD зависит от контекста, лучше использовать JDUTC, JDTDB, или JDTDT.

 

Формат времени

к содержанию     Время вводится строкой через функцию :

ephemeris_time=cspice_str2et('1582-10-04 12:00 ');% по умолч. UTC-0

et1 = cspice_str2et ( '01-30-0100 BC' ); % до нашей эры
et2 = cspice_str2et ( '01-30-0100 AD' ); % после нашей эры

et=cspice_str2et('1582-10-04 12:00 UTC+2');% с местным часовым поясом
et=cspice_str2et('1582-10-04 12:00 UTC+2:30');% с местным часовым

   01.01.2000 г. 12:00 ТDT
= 01.01.2000 г. 11:58:55.816 UTC
= 01.01.2000 г. 11:59:27.816 TAI   (International Atomic Time)
TDT = TAI + 32.184; % Начало в 01.01.1958 00:00:00 Гринвич
JD 2451545.0            % юлианский день

Вывод ET по маске маркеров формата:
calendar_date = cspice_timout( ephemeris_time , 'DD.MM.YYYY ERA HR:MN:SC.#### ::RND::MCAL::UTC' );
, где ERA нужно для вывода эры B.C. или A.D., когда с минусом в формат не умещаются годы, например, -2999 даст ****
::MCAL - юлианско-григореанский смешанный календарь, т.е. ephemeris_time + cspiсe_spd (секунд в день) выдаст уже '15.10.1582 12:00:00.000', а не юлианский день '05.10.1582 12:00'
1995-18T % 18 день 1995 года, время 00:00

 

Другие маркеры формата:
'::GCAL' - Григореанский календарь
'::JCAL' - Юлианский календарь
'::MCAL' до 15.10.1582 как Юлианский, после Г.
'::RND' - значение последнего округляется
'::TDB' - барицентра с.с. динамическое время
'::TDT' - земное динамическое время
'::UTC' - универсальное земное время
'::UTC±h:m' - UTC ± добавка
'DOY' - день года
'ERA' - выдается 'B.C.' или 'A.D.'
'JULIAND' - номер юлианского дня
'SP1950' - сек. после 1950 г.
'SP2000' - сек. после 2000 г.
'Weekday' или 'wkd' и т.п.- д. недели
Константы времени:

cspice_spd
cspice_jyear
cspice_tyear
cspice_clight
cspice_b1900
cspice_b1950
cspice_j1900
cspice_j1950
cspice_j2000
cspice_j2100

TDB секунд в J дне = 86400
31557600 = 365.25 * 86400 сек. в юл. году
31557000 сек. в троп.году от ~в.р.д. до сл.
скорость света в вакууме (km/sec)
юлианская дата Беселевой 1900.0. (TDB)
юлианская дата Беселевой 1950.0. (TDB)
юл. д. 31.12.1899 12:00:00 (01.1900 0.5) (TDB)
юлианская дата 01.01.1950 00:00:00 (TDB)
юлианская дата 01.01.2000 12:00:00 (TDB)
юлианская дата 01.01.2100 12:00:00 (ET)

 

 

 

 

 

 

маркер описание
'TAI' International Atomic Time
'TDB' Barycentric Dynamical Time
'TDT' Terrestrial Dynamical Time
'ET' Ephemeris time = TDB
'JDTDB' Julian Date relative to TDB
'JDTDT' Julian Date relative to TDT
'JED' Julian Ephemeris date = JDTDB
Разница между TDB и UTC в интервале 1965-2020 гг. Регулирование UTC началось в 1972 году. С момента составления графика (2012 г.) в будущее UTC тоже не регулируемо.
Разница = TDB-UTC сек. в 1965-2020 гг
Регулирование UTC началось в 1972 г.
С момента сост. графика (2012 г.) в
будущее UTC тоже не регулируемо.
Фигура : Разница = TDB - UTC в 1965-2020 гг.      Программа : Фигура : Разница = TDB - UTC в 1965-2020 гг.

Конвертация между различными временными шкалами [unitim] = cspice_unitim( epoch, insys, outsys ) (см. табл.) :

Разница между TDB и UTC
delta = cspice_deltet( epoch, eptype ), где eptype 'UTC' или 'ET' TDB. Практически на графике отображено содержимое файла 'скачковых' секунд naif0010.tls
До 01.07.1972г. UTC = TDB + 41.183942417938496 сек.

Конвертер дат (SSD JPL NASA)
Конвертер даты в юлианский день (французское косм. институт).
Конвертер даты <-> юлианский день USNO ->

     SCLK - Часы космического корабля - Spacecraft Clock (SCLK) служат для внутренней координации и проставки штампов времени на записях (фото, датчики и т.п.) Для станции Galileo p/rrrrrrrr:mm:t:e, где p - номер части временной шкалы, r - rim counts, m - minor frame, t - real time interrupt, e - mod eight count. Для перевода внутреннего времени в UTC или ET нужно загрузить функцией cspice_furnsh файл коэффициентов - 'spacecraft clock coefficients'.

 
Переход с юлианского на григорианский календарь (Википедия)
Последний день
юлианского кал.
Первый день
григорианского к.
Государства и территории
4 октября 1582 15 октября 1582 Испания,Италия,Португалия,Речь Посполитая
9 декабря 1582 20 декабря 1582 Франция, Лотарингия
2 сентября 1752 14 сентября 1752 2 Великобритания и колонии
31 января 1918 14 февраля 1918 Советская Россия, Эстония
17 сентября 1928 1 октября 1928 Египет

Григорианская реформа календаря 1582 г.

к содержанию      В 1582 году по указу папы Григория XIII календарь Западной Католической церкви совершил скачок, оторвавшись от исходного юлианского календаря (старого стиля) на -10 дней. Это была знаменитая григорианская реформа календаря 1582 года. Бало еще три скачка по -1 дню - в 1700, 1800 и 1900 годах, после чего разница между старым и новым стилем достигла своего современного значения 13 дней. В разных странах календарь изменяли в разное время, см. неполную таблицу.

 • Полезные ресурсы по теме 'время' ->


 

Работа с функциями окон времени.

к содержанию    В SPICE массив расмерностью 2n Х 1 т.е. [1;2;   3;4 ...   9;8] это n окон времени, с n= начало n+1 = конец интервала.

Функции временных окон SPICE

кратко

синтаксис

описание

WNCARD [card] = cspice_wncard(wd) количество окон времени
WNSUMD [ meas, avg, stddev, shrtst, lngst ] = cspice_wnsumd( wd ) статистика
WNVALD [wd_f] = cspice_wnvald(wd_i) приведение окон в послед. временной порядок
WNCOND [wd_f] = cspice_wncond( left, right, wd) отъем от границ
WNDIFD [c] = cspice_wndifd( a, b ) отъем интервалов b от интервалов a
WNEXPD [wd_f] = cspice_wnexpd( left, right, wd) расширение границ
WNFETD [left, right] = cspice_wnfetd(wd, n)

доставание эл. массива по парам, начало - конец

WNFILD [wd_f] = cspice_wnfild( sml, wd) █░░█ += █░░█            █░░█ + ██ = ████
WNFLTD [wd_f] = cspice_wnfltd( sml, wd) █░░█ += █░░█            █░░█ + ██ = ░░░░
WNELMD boolean = cspice_wnelmd( point, wd ) входит ли точка в один из интервалов?
WNINCD boolean = cspice_wnincd( left, right, wd ) входит ли интервал в один из интервалов?
WNUNID [c] = cspice_wnunid( a, b ) объединение интервалов
WNRELD boolean = cspice_wnreld( a, `op`, b )

'op' - "=", "<>", "<=", "<", ">=" , ">"

WNINSD [wd] = cspice_wninsd( left, right, [wd_i] ) ░██░░██░░░ wd_i           % вставка интервала
░░██████░░ left, right 
░███████░░ wd
WNCOMD [result] = cspice_wncomd( left, right, wd) ░██░░██░ wd                  % XOR
██████░░ left, right 
█░░██░░░ result
WNINTD [c] = cspice_wnintd( a, b ); ░██░░██░ a                     % пересечение
██░███░░ b
░█░░░█░░ ct
WNEXTD [wd_f] = cspice_wnextd( side, wd)
или wd = ( reshape( wd, 2, [] ) ' ); wd = wd(:,1);
или wd = ( reshape( wd, 2, [] ) ' ); wd = wd(:,2);
░██░░██░
ᅠ▏ᅠᅠᅠᅠ▏      side = 'l'
     ▕ᅠ     ▕    side = 'r'

st_win=(reshape(st_win,[],2)); % преобразование последовательных окон времени в 2 колонки 1) начало 2) конец
st_win= st_win (:,1); % отбор 1-ой колонки



Абберация и поправка на скорость света (разница между видимым и реальным положением).

к содержанию     Поправки на абберацию (смещение видимого положения объекта из-за призмы планетарного воздуха) и скорость света необходимы для того, чтобы разделить понятия видимого положение объекта и его реальных координат между небесными телами в прошлом и настоящем. Атмосфера приподнимает объекты над горизонтом, свет доносит до нас прошлые координаты объекта. Чтобы выяснить где на самом деле физически, а не визуально, находится объект учитывают эти поправки. В SPICE учтены следующие виды поправок:

следующие значения поправок к случаям, когда фотон излучен объектом в эпоху скорректированную по времени света ET-LT и прибыл к наблюдателю в эпоху ET:
'NONE' без коррекции, дает геометрическую позицию объекта относительно наблюдателя
'LT' поправка на 'планетарную абберацию', использует ньютоновские постулаты. Позиция тела на момент фиксации фотонов по временной шкале ET. В расчетах используется одна иттерация (грубо и быстро).
'LT+S' Коррекция скорости света и 'звездной абберации' по ньютоновским постулатам. По сравнению с 'LT', учтено относительное ускорение наблюдателя относительно барицентра солнечной системы. Результат - видимое расположение объекта, так как его видит на небе наблюдатель.
'CN' Сведенная ньютоновская поправка на скорость света, вычисляется с 3-мя иттерациями (дольше, чем с вычисления 1 иттерацией). Точность существенно не улучшает, потому что игнорирование эффекта относительности дают бОльшие ошибки.
'CN+S' Сведенная ньютоновская поправка на скорость света + коррекция на 'звездную абберацию'
следующие значения поправок для радаров и т.п., когда фотон излучен из места наблюдения в эпоху ET и прибыл в место цели в эпоху скорректированную по скорости света ET+LT:
'XLT' "Передача" : коррекция скорости света по ньютоновским постулатам, дает позицию цели на момент фиксации фотонов излученных наблюдателем в эпоху ET.
'XLT+S' То же + поправка на 'звездную абберацию'. 'XLT' но с учетом ускорения наблюдателя относительно барицентра солнечной системы. Вычисленная позиция дает направление излучения фотона из места наблюдения, чтобы он мог достичь целевого объекта.
'XCN' Сведенная ньютоновская поправка на скорость света + коррекция на 'звездную абберацию'.
'XCN+S' 'XCN' + поправка на 'звездную абберацию'.


























Ни специальные ни общие эфекты относительности ни учитываются.(?)

 

Расчет координат планет и других космических тел.

к содержанию     Из скрипта MatLab:

Программа : расчет координат планет и др. тел солнечной системы
программа
расчета координат
планет и др. тел
солнечной системы

target = 'Mars'; % Расчитываем координаты Марса, или любого другого небесного тела, на которое есть эфемериды

et = cspice_str2et( '2000-01-01, 12:00 TDT' ); % момент времени. TDT - земное динамическое время
TFMT='DD.MM.YYYY HR:MN:SC ERA::RND::TDT'; TFMTH='HR:MN:SC.## ::RND::TDT' ; % вывод в том же TDT

abcorr = 'LT+S'; % видимые положения планет, поправка на скорость света и аберацию

Выдает:
Положение планеты : Mars
Место наблюдения : KURSAVKA 44.46 N
В момент : 01.01.2000 12:00:00 A.D.

Удаление,А.Е. : 1.8496612070034069
Световое расстояние : 15.38 минут

ГОРИЗОНТАЛЬНАЯ сетка координат :
Азимут, ° : 350.97124624 (350°58'16.4865")
Высота, ° : 31.91461275 (31°54'52.6059")
Высота (геодез.), ° : 31.91461672 (31°54'52.6202")

ЭКВАТОРИАЛЬНАЯ сетка координат :
Прямое восх.,HR:MN:SC: 22:02:04.92
Прямое восх., : 330.52051055 (330°31'13.838")
Склонение, ° : -13.18324275 (-13°10'59.6739")

ЭКЛИПТИКАЛЬНАЯ сетка координат :
Долгота, ° : 327.96639323 (327°57'59.0156")
Широта, ° : -1.06888982 (-1°4'8.0034")
Широта (геодез.), ° : -1.06888998 (-1°4'8.0039")

frame='KURSAVKA_TOPO'; % ГОРИЗОНТАЛЬНАЯ сетка координат
observer='KURSAVKA'; % 44.46 N 42.51 E
[pos, lt] = cspice_spkpos ( target, et, frame, abcorr, observer); % поз. планеты в картезианских коорд.
[r, lon, lat] = cspice_reclat(pos); % картезианские координаты в высотные
r = cspice_convrt( r, 'km' , 'au'); % Удаление в астрономических единицах
lon =cspice_convrt(lon,'radians','degrees'); az=-(-180+lon); % Азимут из долготы
lat=cspice_convrt(lat,'radians','degrees'); % Высота над горизонтом

frame='J2000'; % ЭКВАТОРИАЛЬНАЯ сетка координат
[pos, lt] = cspice_spkpos ( target, et, frame, abcorr, observer); % поз. планеты в картезианских коорд.
[r, ra, lat] = cspice_recrad(pos); % картезианские координаты в радиальные небесной сферы
r = cspice_convrt( r, 'km' , 'au'); % картезианские координаты в высотные
ra =cspice_convrt(ra,'radians','degrees'); lat=cspice_convrt(lat,'radians','degrees');
rah=cspice_timout((ra/15) * (cspice_spd/24)+ (cspice_spd/2) , TFMTH); % прямое восхождение в часах

frame='ECLIPJ2000'; % ЭКЛИПТИКАЛЬНАЯ сетка координат
[pos, lt] = cspice_spkpos ( target, et, frame, abcorr, observer); % позиция планеты
[r, ra, lat] = cspice_recrad(pos); % картезианские координаты в радиальные небесной сферы
r = cspice_convrt( r, 'km' , 'au'); ra =cspice_convrt(ra,'radians','degrees'); lat=cspice_convrt(lat,'radians','degrees');
disp(strcat( sprintf( 'Долгота, ° : % 12.8f\n', ra ), ' (', angl2minsec(ra), ')')); % пример вывода
disp(strcat( sprintf( 'Широта, ° : % 12.8f\n', lat ), ' (', angl2minsec(lat), ')'));

cspice_kclear



Угол между планетами

к содержанию    Программа:

%Расчет окон времени из периода, когда угол между Солнцем и Луной > 10.6 °
MAXWIN = 1000; TIMFMT = 'DD.MM.YYYY HR:MN:SC.###### (TDB) ::TDB ::RND';
cspice_furnsh( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\standard.tm' );
et = cspice_str2et( { '2012-01-01', '2012-03-01'} ); cnfine = cspice_wninsd( et(1), et(2) );
step = 6.*cspice_spd; % поиск с шагом 6 дней (в секундах) ???
adjust = 0.; refval =10.6 * cspice_rpd;
moon_10_sun = cspice_gfsep( 'MOON', 'POINT', 'NULL', 'SUN', 'POINT', 'NULL', 'LT+S', '399201', '>', refval, adjust, step, MAXWIN, cnfine );
cspice_kclear

Вывод:

С : 01.01.2012 00:01:06.183909 (TDB) до: 22.01.2012 13:32:49.723791 (TDB)
С : 24.01.2012 02:08:03.029038 (TDB) до: 21.02.2012 01:51:40.762491 (TDB)
С : 22.02.2012 19:26:02.729530 (TDB) до: 01.03.2012 00:01:06.185387 (TDB)

 

Восходы солнца

к содержанию    Программа :

cspice_furnsh( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\standard.tm' );
cspice_furnsh( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\earth_070425_370426_predict.bpc' );
cspice_furnsh( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\earth_topo_050714.tf' );
MAXWIN = 200000; MAXIVL = MAXWIN / 2; TIMFMT = 'YYYY MON DD HR:MN:SC.###### UTC+3::RND::UTC+3'; TIMLEN = 35;
cnfine = cspice_wninsd ( cspice_str2et ( '2012-06-20' ), cspice_str2et ( '2012-06-23' ) );
crdsys = 'LATITUDINAL';coord = 'LATITUDE'; relate = '>'; refval = 0. * cspice_rpd; % больше 0 градусов над горизонтом
abcorr = 'LT+S'; % учитывая световой путь и звездную абберацию
step = cspice_spd / 24.0; adjust = 0.0;
result = cspice_gfposc ( 'SUN', 'ASTRAKHAN_TOPO', abcorr, 'ASTRAKHAN', crdsys, coord, relate, refval, adjust, step, MAXIVL, cnfine );
for i = 1 : cspice_wncard( result ) ; [ start, finish ] = cspice_wnfetd ( result, i );
% рассчитаем локальное солнечное время
[ hr, min, sec, time, ampm] = cspice_et2lst( start, 399, 48 * cspice_rpd, 'PLANETOGRAPHIC');
begstr = cspice_timout ( start, TIMFMT ); endstr = cspice_timout ( finish, TIMFMT ); % эфемеридное время в строку ET->UTC+3
fprintf ( 'восх.-%s л.с.в.-%s зах.%s\n', begstr,time, endstr ); end ; cspice_kclear; % вывод

Выдает:

Восходы и заходы солнца в Астрахани (46.3°N; 48°E):
восх.-20.03.2012 05:55:36.373441 UTC+3 л.с.в.-05:59:53 зах.20.03.2012 17:55:56.893157 UTC+3
восх.-21.03.2012 05:53:37.929410 UTC+3 л.с.в.-05:58:13 зах.21.03.2012 17:57:20.012095 UTC+3
восх.-22.03.2012 05:51:39.453011 UTC+3 л.с.в.-05:56:32 зах.22.03.2012 17:58:42.967990 UTC+3
восх.-23.03.2012 05:49:40.972818 UTC+3 л.с.в.-05:54:52 зах.23.03.2012 18:00:05.766318 UTC+3


 

Равноденствия и солнцестояния, длина сезонов

Знак Границы
зодиака,°
Границы* в
созвездиях,°
1 Овен 0-30 26-51
2 Телец 30-60 51-89
3 Близнецы 60-90 89-118
4 Рак 90-120 118-142
5 Лев 120-150 142-174
6 Дева 150-180 174-215
7 Весы 180-210 215-236
8 Скорпион 210-240 236-267
9 Стрелец 240-270 267-301
10 Козерог 270-300 301-329
11 Водолей 300-330 329-346
12 Рыбы 330-360 346-26

к содержанию    В момент истинного равноденствие угол между наклоном земной оси и Солнцем = 90° (солнце слева, Земля движется 'вперед') и день везде на Земле 'равен ночи' (+- полсуток/360 по поверхности, от момента астрономического равноденствия). В момент летнего солнцестояния угол между Солнцем и наклоном земной оси = 0° (Земля наклонена к Солнцу). Принято считать, что моменты креста Солнца = 0°, 90°, 180°, 270° долготы Солнца по зодиаку.

В (Альмагест) описано, что во времена Гиппарха, (БСЭ) около 180 - 190 до н. э., Никея, - 125 до н. э., Родос, от В.Р.Д. до Л.С.С 94.5 дней, от Л.С.С. до О.Р.Д. 92.5 дня и что во времена Птоломея (БСЭ) 2 в.н.э. эти значения практически не изменились, из чего Птоломей сделал вывод, что длины сезонов неизменны. Было бы интересно по длинам сезонов рассчитать время Гиппарха и Птоломея (в конце мая выйдет новый пакет SPICE с которым это станет возможно)

программа вычисления равноденствий, солнцестояний и длин сезоновequinoxes_solstices_seasons.m

Сегодня это такие даты креста солнца:

Весеннее равноденствие: 20.03.2012 09:28:21, до л.с.с.  92.76 дней
Летнее солнцестояние    : 21.06.2012 03:38:11, до о.р.д. 93.65 дней
Осеннее равноденствие : 22.09.2012 19:16:36, до з.с.с.  89.84 дней
Зимнее солнцестояние   : 21.12.2012 15:33:23, до в.р.д.  88.99 дней

 

 

Расчет астрономических моментов новолуний

к содержанию     Программа:

cspice_furnsh( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\standard.tm' ); % эфемериды DE406
MAXWIN = 20000; MAXIVL = MAXWIN / 2; TIMFMT = 'DD.MM.YYYY HR:MN:SC ::RND::MCAL::UTC'; TIMLEN = 35;
st_win = cspice_wninsd ( cspice_str2et ( '1970-01-01 UTC' ), cspice_str2et ( '1971-05-01 UTC' ) ); % окно времени поиска

Эксцентриситет лунной орбиты
Эксцентриситет лунной орбиты  /

step = cspice_spd*14 ; % 14 дней менее 1/2 цикла
adjust = 0.0; refval = 0; abcorr = 'LT'; % учитывать скорость света
% угловое расстояние между центрами двух тел, наблюдатель на геоиде
observer='DYN' %топографическая точка на геоиде
res_sep = cspice_gfsep('SUN','POINT','NULL','MOON','POINT','NULL',abcorr ,observer,'LOCMIN',refval, adjust,step,MAXWIN,st_win);
% расстояние между 2-мя телам. Наблюдатель на Луне
observer='MOON';
res_dist = cspice_gfdist( 'SUN', abcorr, observer , 'LOCMIN', refval, adjust, step, MAXWIN, st_win);
fprintf ( '\n\n\nМежду луной и солнцем минимальные: \n' );
    for i=1:numel(res_sep)/2;  fprintf ( 'Угол: %s, Расстояние: %s\n', cspice_timout( res_sep(i*2-1), TIMFMT ), ...
       cspice_timout( res_dist(i*2-1), TIMFMT ));  end; cspice_kclear;

Между луной и солнцем минимальные:
Угол: 07.01.1970 20:58:09, Расстояние: 07.01.1970 15:38:42
Угол: 06.02.1970 07:32:35, Расстояние: 05.02.1970 03:32:39
Угол: 07.03.1970 17:37:49, Расстояние: 05.03.1970 20:23:22
Угол: 06.04.1970 03:43:45, Расстояние: 03.04.1970 23:21:12

Тогда, когда угловое расстояние между солнцем и луной = 0 (наблюдатель в центре Земли) наступает момент астрономического новолуния, расстояние между Солнцем и Луной минимальные, это должно произойти примерно в одно время, а здесь разница часы и сутки! Из-за эксцентриситета лунной орбиты.

Сравнение геоцентрического расчета с другим

другой. новолуния (скачать zip 1.4 Mb )

мой расчет: локальные минимумы

юлианский д. дата время угол расстояние
2299142.40083 16.09.1582 21:37:11.550 16.09.1582 21:34:06 20.09.1582 01:36:26
2299172.13691 26.10.1582 15:17:09.015 26.10.1582 15:45:06 29.10.1582 05:43:15
2299201.91581 25.11.1582 09:58:45.725 25.11.1582 10:26:38 26.11.1582 18:59:46
2299231.67464 25.12.1582 04:11:28.564 25.12.1582 04:08:38 25.12.1582 02:21:22

     На сайте http://www.moshier.net/ опубликована таблица новолуний, рассчитанная по этим же эфемеридам. DE406. Сравним с расчетом по моему скрипту на период григореанской реформы (формат времени TDT)

     Разница, видимо, оттого, что в другом расчете новолуние топоцентрицеское с того бока земли с которого Луна и Солнце уже соеденились, до того как это будет видно с "центра Земли".


 

Расчет видимых новолуний и старолуний

к содержанию     Программа (скачать):

% (I.Bromberg.AHC) приводит из (CambridgePress.СС3) условия нового месяца, адапрированные им к Иерусалиму:
% 1. Центр солнечного диска > 4.5° под горизонтом;
% 2. Высота луны над горизонтом > 4.1°;
% 3. Угол зрения между центрами солнца и луны > 10.6° (геоцентрический);

clear all % очищаем среду МатЛаб от предыдущих, возможных, остатков в памяти после прерываний
cspice_furnsh
( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\standard.tm' );

MAXWIN = 200000; MAXIVL = MAXWIN / 2; TIMFMT = 'DD.MM.YYYY HR:MN ::RND::UTC+3'; TIMLEN = 35;
result = cspice_wninsd ( cspice_str2et ( '2012-01-01' ), cspice_str2et ( '2012-05-01' ) );
abcorr = 'LT+S'; % видимые положения планет

% интервал поиска нужно "вручную" выставить так, чтобы старолуние попало в интервал, а заканчивался он новолунием
et1=cspice_str2et ( '1972-04-01' ); et2=cspice_str2et ( '1972-05-01' ); st_win = cspice_wninsd (et1 ,et2 );

observer = 'DYN'; frame = strcat(observer,'_TOPO'); crdsys = 'LATITUDINAL'; coord = 'LATITUDE';
lat=30; lon=40; alt=0.0; % вводим координаты наблюдателя
itt=2; % иттераций
result_sum_new=cell(1,itt); result_sum_old=cell(1,itt); % массивы для результатов

% для размера массива результатов "астрономические новолуния" минимумы угла между луной и солнцем, наблюдатель в горизонтальной местной системе координат
step = cspice_spd*14;
moon_o_n = cspice_gfsep('Moon','POINT','NULL','Sun','POINT','NULL','LT', observer, 'LOCMIN',0,0,step,MAXWIN,st_win);
a=zeros(cspice_wncard( moon_o_n ),1); moon_o_n=horzcat((1:numel(moon_o_n)/2)',a,a, moon_o_n(1:2:numel(moon_o_n)),a,a,a,a,a);
moon_o_n_sum = zeros(itt*a,11); moon_o_n_surf= zeros(0); % массивы для итогов

for f=1:itt; % иттерация широты
% загрузка координат наблюдателя в систему координат
cspice_pdpool('TKFRAME_DYN_TOPO_ANGLES',[-lon; -90 + lat; 180]);
cspice_lmpool(strcat('DYN_LATLON = (', num2str(lat), ',', num2str(lon), ',', num2str(alt), ' )' ));

result = st_win; step = cspice_spd/2 ; refval = 10.6 * cspice_rpd; % Луна с солнцем не ближе 10.6 градусов
result = cspice_gfsep('MOON','POINT','NULL','SUN','POINT','NULL','LT+S',observer,'>',refval,adjust,step,MAXWIN,result);

step = cspice_spd/2 ; relate = '<'; refval = -4.5 * cspice_rpd; % Солнце менее 4.5 градусов под горизонтом
result = cspice_gfposc ( 'SUN', frame, abcorr, observer, crdsys, coord, relate, refval, adjust, step, MAXIVL, result);

step = cspice_spd*14 ; relate = '>'; refval = 4.1 * cspice_rpd; % Луна > 4.1 градуса над горизонтом
result = cspice_gfposc ( 'MOON', frame, abcorr, observer, crdsys,coord,relate,refval,adjust,step,MAXIVL,result);

% обработка результата для этой широты, к а.н. привязать старолуния и новолуния и записать
jj=1; n = cspice_wncard( result )-1;
for ii=1:n;
[ st_1, fin_1 ] = cspice_wnfetd ( result, ii ); % output1 = cspice_timout( [st_1,fin_1], TIMFMT );
[ st_2, fin_2 ] = cspice_wnfetd ( result, ii+1 ); % output2 = cspice_timout( [st_2,fin_2], TIMFMT );
if (( moon_o_n(jj,4) - st_1) > 0) ... % is end of old moon before conj. (конец старолуния перед а. новолунием) ?
&& (( moon_o_n(jj,4) - st_2) < 0) % is start new moon after conj. (начало новолуния после а. новолуния) ?
moon_o_n(jj,2)= st_1; moon_o_n(jj,3)= fin_1; moon_o_n(jj,5)= st_2; moon_o_n(jj,6)= fin_2;
moon_o_n(jj,7)= abs((moon_o_n(jj,3)- moon_o_n(jj,2))/60);
moon_o_n(jj,8)= abs((moon_o_n(jj,6)- moon_o_n(jj,5))/60); % продолжительность видимого новолуния
moon_o_n(jj,9)= abs((moon_o_n(jj,6)- moon_o_n(jj,2))/3600); % не видно луны между с.л. и н.л.
moon_o_n(jj,10)=lat; moon_o_n(jj,11)=lon; % широта и долгота
jj=jj+1; % следующее а. новолуние

if jj>numel(moon_o_n(:,1)); moon_o_n_sum = vertcat(moon_o_n_sum, moon_o_n); break ;end % аккумулирование данных в общий массив
end; end; lat=lat+1; step = cspice_spd*14;
moon_o_n = cspice_gfsep('Moon','POINT','NULL','Sun','POINT','NULL','LT', observer, 'LOCMIN',0,0,step,MAXWIN,st_win);
a=zeros(cspice_wncard( moon_o_n ),1);
moon_o_n=horzcat((1:numel(moon_o_n)/2)',a,a, moon_o_n(1:2:numel(moon_o_n)),a,a,a,a,a);
end

cspice_kclear


 

Не видно луны между старым и новым месяцем с 0° по 57° С.Ш. (часов) 1970-1989 годы

 

к содержанию   Часы невидимости луны
между старолунием и новолунием (воскресенья)
от 0° до 57° северной широты 1970-1989 гг. (в часах)
Часы невидимости луны между старолунием и новолунием (воскресенья) от 0 до 59 северной широты 1970-1989 годы

к содержанию    Расчетные условия определения новолуния (аналогично я определял старолуния) взяты из (I.Bromberg.AHC) и (CambridgePress.СС3) :


1. Центр солнечного диска > 4.5° под горизонтом;
2. Высота луны над горизонтом > 4.1°;
3. Угол зрения между центрами солнца и луны > 10.6° (геоцентрический);
(адаптировано к Иерусалиму)

Видно, что выше 50° широты лунный календарь становится нестабилен и его невозможно использовать.
Расчетные условия из (I.Bromberg.AHC). (скачать программу и данные формата MatLab и Excel)

Луны не видно между старолунием и новолунием в среднем (в часах) с 0 до 59 градусов С.Ш., 1970-1989 гг.
Луны не видно между соединением и новолунием, 1970-1989 гг., от 0 до 59 С.Ш.
Не видно луны между соединением и новолунием
Луны не видно между соединением с солнцем и новолунием, 1970-1989 гг., с 0 до 59 северной широты
Видно 19-летний лунный цикл. Когда луна на закате солнца выше эклиптики, она
становится видна скорее после коньюнкции.

 

 

     Интересны средние значения, с 47° широты резкий скачок минимальных значений больше 2 суток и чуть выше средние значения - более 4 дней ... еще выше, выше широты Москвы лунный календарь не имеет смысла ... не потому ли большинство древних столиц примерно на этой широте - "разделяй и властвуй" - две системы календарей лунная и солнечная ...

 

 

 

   


 

Яркость Луны (фаза), Солнца и освещенность неба

Мой анализ наблюдений Израильского общества новолуния. Таблица Excelк содержанию  Израильское Общество Новой Луны (Israeli New Moon Society), возглавляемое доктором Роем Хоффманом, публикует на своем сайте, таблицу видимости нового месяца. Я проанализировал эту таблицу и нашел, что есть много наблюдений, где солнце, вовремя обнаружения нового месяца, над горизонтом. По условиям CC3 это невозможно - солнце должно быть под горизонтом на 4.6°. Свой вопрос я направил доктору Рою.

Ограничение видимости звезд из-за освещенности неба - Limiting Magnitude Calculations.

(Перейти) Форма подсчета ограничения видимой величины звездЭтот скрипт я содрал с k3pgp.org/star.htm и перевел его в Matlab + SPICE. В скрипте был свой расчет положений планет, я заменил его на SPICE, больше никаких изменений не делал (правильность не гарантирую, возможно, из-за ручной конвертации могла закрастся ошибка - сверяйте с оригиналом)

Выходные параметры :
Процент освещенной поверхности Луны, % - ill_frac
Коеффициент затухания [V mag per airmass], - K
Затухание [V magnitudes], - D
Магнитуда наблюдаемой луны, V Mag, - magmn
Магнитуда наблюдаемого солнца,V Mag, magsn
Общая яркость неба в точке, NanoLamberts - Bnl
Общая яркость неба в точке, V Mag per arcsec2 - Bmag
Яркость неба в точке от света луны, NanoLamberts - BmnlСам расчет. Расчет ограничения видимости звезд по магнитудеРасчет ограничения видимости звезд по магнитуде.
Яркость неба в точке от света луны, V Mag per arcsec2 - Bmmag
Ограничение на видимость звезд, V Mag - limmag
+/- ошибка ограничения на видимость звезд - magerr
Удаление луны, ° rhomn
Удаление солнца, ° - rhosn


Другие примеры:

к содержанию    Поворот 3х3 матриц одной системы координат к другой.
% Прямое восхождение и склонение полюса Земли в системе координат J2000
% Выдает массив отклонений одной системы координат от другой в заданные в et моменты
mat = cspice_pxform( 'IAU_EARTH', 'J2000', et );
pole = mat(:,3,:); % Отделяем "полюс" - ось Z (В MatLab используется 1-базированная индексация)
[radius, ra, dec] = cspice_recrad( pole ); % конвертирует прямоугольные координаты в RA и Dec
r2d = cspice_dpr; ra = ra * r2d; dec = dec * r2d; % радианы в градусы
output = [ et; ra; dec ]; % всё в один массив

Преобразование координат на поверхности Земли в относительно J2000 + ускорения
% Определяем геодезические координаты: долгота, широта, высота (Астрахань)
lon = 48 * cspice_rpd; lat = 46.33 * cspice_rpd; alt = -0.002;
utc = 'January 1, 1990'; et = cspice_str2et( utc ); % задаем время
abc = cspice_bodvrd( 'EARTH', 'RADII', 3 ); equatr = abc(1); polar = abc(3); % получаем ширину Земли в экваторе и в полюсах
f = ( equatr - polar ) / equatr; % фактор сплющивания Земли
estate = cspice_georec( lon, lat, alt, equatr, f); % прямогольная координата на Земле
estate = [ estate; [0.; 0.; 0.] ]; % расширяем массив для значений ускорения
xform = cspice_sxform( 'IAU_EARTH', 'J2000', et ); % получаем матрицу преобр. из "IAU_EARTH" в "J2000" в момент 'et'.
jstate = xform * estate;
jstate(1:3) ); % прямоугольные координаты в J2000
jstate(4:6) ); % прямоугольные ускорения в J2000


Получение координат Марса как его видно из Астрахани, относительно системы координат J2000
cspice_furnsh
( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\standard.tm' ); % загрузим эфемериды
target = 'Mars'; epoch = '2000 JAN 01, 12:00 UTC'; frame = 'J2000'; abcorr = 'LT+S'; observer = '399201'; % загрузим данные
et = cspice_str2et( epoch ); % преобразуем дату в эфемеридное время. Дата - начало J2000
[ state, ltime ] = cspice_spkezr( target, et, frame, abcorr, observer); state=state(1:3,1); % расчет состояния планеты Марс
[radius, ra, dec] = cspice_recrad( state ); % конвертирует прямоугольные координаты в RA и Dec
radius = cspice_convrt( radius, 'km' , 'au'); ra = cspice_convrt( ra, 'radians' , 'degrees'); dec = cspice_convrt( dec, 'radians' , 'degrees');
utc_epoch = cspice_et2utc( et, 'C', 3 );

disp('Координата из функции cspice_spkezr( target, et, frame, abcorr, observer);')
txt = sprintf( 'Положение планеты : %s', target); disp( txt )
disp(strcat(sprintf( 'Как он наблюдается с : %s', observer ), ' (Астрахань - 399201)'));
txt = sprintf( 'Относительног с. к. : %s', frame ); disp( txt )
txt = sprintf( 'В момент : %s', epoch ); disp( txt )
txt = sprintf( ' : i.e. %s', utc_epoch ); disp( txt )
txt = sprintf( ['Удаление,А.Е.(recrad): %12.16f'], radius ); disp( txt )
disp(strcat( sprintf( ['Прямое в.,° (recrad): %12.16f'], ra ), ' (', angl2minsec(ra), ')'));
disp(strcat( sprintf( ['Склонение,° (recrad): %12.16f'], dec ), ' (', angl2minsec(dec), ')'));

[radius, lon, lat] = cspice_reclat(state);
lon = cspice_convrt( lon, 'radians' , 'degrees'); lat = cspice_convrt( lat, 'radians' , 'degrees');
disp(strcat( sprintf( ['Долгота,° (reclat): % 12.8f'], lon ), ' (', angl2minsec(lon), ')'));
disp(strcat( sprintf( ['Широта, ° (reclat): % 12.8f'], lat ), ' (', angl2minsec(lat), ')'));

% [radius, lon, lat] = cspice_reclat(state);
% % Convert the cylindrical to rectangular.
% [rectan] = cspice_latrec(radius, lon, lat);
% state=(rectan-state) ./ state; % Calculate the relative error against the original position
% abc = cspice_bodvrd( 'EARTH', 'RADII', 3 ); equatr = abc(1); polar = abc(3); % получаем ширину Земли в экваторе и в полюсах
% f = ( equatr - polar ) / equatr; % фактор сплющивания Земли
% [ lon, lat, alt ] = cspice_recpgr( '399', rectan, equatr, f);
% alt = cspice_convrt( alt, 'km' , 'au');
% lon = cspice_convrt( lon, 'radians' , 'degrees'); lat = cspice_convrt( lat, 'radians' , 'degrees');
% disp(strcat( sprintf( ['Удаление, А.Е. : % 12.8f'], alt )));
% disp(strcat( sprintf( ['Долгота,° : % 12.8f'], lon ), ' (', angl2minsec(lon), ')'));
% disp(strcat( sprintf( ['Широта, ° : % 12.8f'], lat ), ' (', angl2minsec(lat), ')'));


[r, lat, lon] = cspice_recsph(state);
r = cspice_convrt( r, 'km' , 'au');
lon = cspice_convrt( lon, 'radians' , 'degrees'); lat = cspice_convrt( lat, 'radians' , 'degrees');
disp(sprintf( ['Удаление,А.Е.(recsph): %12.16f'], r));
disp(strcat( sprintf( ['Долгота,° (recsph): % 12.8f'], lon ), ' (', angl2minsec(lon), ')'));
disp(strcat( sprintf( ['Широта, ° (recsph): % 12.8f'], lat ), ' (', angl2minsec(lat), ')'));
cspice_kclear

Выдает:

Координата из функции cspice_spkezr( target, et, frame, abcorr, observer);
Положение планеты : Mars
Как он наблюдается с : 399201 (Астрахань - 399201)
Относительног с. к. : J2000
В момент : 2000 JAN 01, 12:00 UTC
: i.e. 2000 JAN 01 12:00:00.000
Удаление,А.Е.(recrad): 1.8496661424999512
Прямое в.,° (recrad): 330.5209624403544200 (330°31'15.4648") На 3 градуса расходится с ZET 9!
Склонение,° (recrad): -13.1830600446387630 (-13°10'59.0162")
Долгота,° (reclat): -29.47903756 (-29°28'44.5352")
Широта, ° (reclat): -13.18306004 (-13°10'59.0162")
Удаление,А.Е.(recsph): 1.8496661424999512
Долгота,° (recsph): -29.47903756 (-29°28'44.5352")
Широта, ° (recsph): 103.18306004 (103°10'59.0162")


 

Расшифровка дат древних зодиаков

Тестовый пример Курсавского гороскопа 'на сегодня' Список зодиаков ->
Круглый Дендерский древний зодиак (Египет)  
Зодиак Фальконетто (Мантуя)  

к содержанию   Тестовый пример Курсавского гороскопа 'на сегодня'.
    Пример программы для поиска даты зодиака, составленного в Курсавке 25.04.2012 2:30 UTC+3, при поиске Пример рабочей программы для поиска даты зодиака, составленного в Курсавке на 25.04.2012 2:30 UTC+3 с 1970 г. по 2020 г. нашел событие +- 1.5 дня, 23.04.2012 07:27 ... 26.04.2012 06:42 UTC. Такую 'неточность' можно объяснить тем, что при составлении гороскопа долготы планет огрублялись до созвездия. Система координат ECLIPJ2000 для расчета древних зодиаков не подходит из-за прецессии, достигающей больше градуса в столетие, нужно использовать FK4.

 


Круглый Дендерский древний зодиак (Египет)

Разбивка зон зодиака в созвездиях
Знак Границы
зодиака,°
Границы* в
созвездиях,°
Границы** в
созвездиях,°
1 Овен ARI 0-30 31-56 26-51
2 Телец TAU 30-60 56-92 51-89
3 Близнецы GEM 60-90 92-118 89-118
4 Рак CNC 90-120 118-137 118-142
5 Лев LEO 120-150 137-172 142-174
6 Дева VIR 150-180 172-215 174-215
7 Весы LIB 180-210 215-236 215-236
8 Скорпион SCO 210-240 236-266 236-267
9 Стрелец SGR 240-270 266-296 267-301
10 Козерог CAP 270-300 296-326 301-329
11 Водолей AQR 300-330 326-349 329-346
12 Рыбы PSC 330-360 349-31 346-26

* ФиН исп. сейчас см. Египетские, русские итал. зодиаки. Приложение
** ФиН использовали с 2002 года по 17.11.2007 г.

Дендерский круглый зодика (Египет)
Подробно о его расшифровке в книге
"Новая хронология Египта" ->

      Имеем разбивку зон зодиака в созвездиях (см. табл.). Имеем уже подготовленную ФиН расшифровку 'Дендерского круглого' зодиака:

1. Луна в Весах
2. Солнце в Рыбах
3. Меркурий в Водолее или Рыбах
4. Сатурн в Деве или Весах
5. Марс в Козероге
6. Венера в Овне или Рыбах
7. Юпитер в Раке или Близнецах

 

 

Моя программа для SPICE в MatLab.


cspice_furnsh( 'd:\Documents and Settings\user\Мои документы\MATLAB\astro\mice\data\standard.tm' );
TIMFMT = 'DD.MM.YYYY HR:MN ::RND::MCAL::UTC'; TIMLEN = 35; % выводимый формат времени. Внимание, UTC+?!
et1=cspice_str2et ( '0000-01-01' ); et2=cspice_str2et ( '2008-01-01' ); res = cspice_wninsd (et1 ,et2 ); % исследуемый интервал
abcr = 'LT+S'; % учитывать оберацию и скорость света, хотя это излишне
obsrvr='CAIRO' ; % место записи/наблюдения Каир
crds = 'CYLINDRICAL' ; crd = 'LONGITUDE' ; adj = 0.0; st = cspice_spd; MAXWIN = 20000; MAXIVL = MAXWIN / 2;

по старой разбивке (в программе по новой) :

params = {
'JUPITER BARYCENTER', ( 89-5), (142+5), 30; % Юпитер в Раке или Близнецах
'SATURN BARYCENTER', (174-5), (236+5), 30; % Сатурн в Деве или Весах
'VENUS', (346-5), (359.99999999), 5; % Венера в Овне или Рыбах
'VENUS', (0), ( 51+5), 5; % Венера в Овне или Рыбах
'MARS', (301-5), (329+5), 2; % Марс в Козероге
'MERCURY', (329-5), (359.99999999), 1; % Меркурий в Водолее или Рыбах
'MERCURY', (0), ( 26+5), 1; % Меркурий в Водолее или Рыбах
'SUN', (346-5), (359.99999999), 1/3; % Солнце в Рыбах
'SUN', (0), ( 26+5), 1/3; % Солнце в Рыбах
'MOON', (215-5), (236+5), 1/12; % Луна в Весах
};

... текст программы ...

% решение/output для ECLIPJ2000 т.е. без учета прецессии:
% с 07.03.-963 08:01 по 09.03.-963 11:46 UTC
% с 07.03.-583 22:59 по 08.03.-583 12:12 UTC
% с 22.03. 331 22:39 по 22.03. 331 22:39 UTC
% с 31.03.1185 02:49 по 31.03.1185 02:49 UTC

% решение/output для FK4 по старой разбивке (более ранние даты здесь не представлены):
% с 07.03.-963 12:35 UTC (14:50:57 LST) по 09.03.-963 15:14 UTC (17:30:54 LST)
% с 07.03.-583 19:06 UTC (21:19:58 LST) по 08.03.-583 15:48 UTC (18:02:29 LST)
% с 18.03.-583 02:03 UTC (04:20:16 LST) по 18.03.-583 02:03 UTC (04:20:16 LST)
% с 13.03. 568 09:04 UTC (11:11:56 LST) по 13.03. 568 09:04 UTC (11:11:56 LST)

Результат по новой разбивке:
с 16.02.2969 B.C. 21:06 UTC (23:34:37 LST) по 16.02.2969 B.C. 21:06 UTC (23:34:37 LST)
с 24.02.2115 B.C. 19:37 UTC (21:59:34 LST) по 24.02.2115 B.C. 19:37 UTC (21:59:34 LST)
с 27.02.1438 B.C. 20:20 UTC (22:37:47 LST) по 02.03.1438 B.C. 08:37 UTC (10:55:02 LST)
с 10.03.1438 B.C. 11:33 UTC (13:52:45 LST) по 10.03.1438 B.C. 11:33 UTC (13:52:45 LST)
с 07.03. 964 B.C. 12:35 UTC (14:50:57 LST) по 09.03. 964 B.C. 15:14 UTC (17:30:54 LST)
с 07.03. 584 B.C. 19:06 UTC (21:19:58 LST) по 08.03. 584 B.C. 15:48 UTC (18:02:29 LST)
с 18.03. 584 B.C. 02:03 UTC (04:20:16 LST) по 18.03. 584 B.C. 02:03 UTC (04:20:16 LST)
с 17.03. 128 A.D. 00:10 UTC (02:22:25 LST) по 17.03. 128 A.D. 00:10 UTC (02:22:25 LST)
с 13.03. 568 A.D. 09:04 UTC (11:11:56 LST) по 13.03. 568 A.D. 09:04 UTC (11:11:56 LST)
с 29.03. 568 A.D. 04:32 UTC (06:45:23 LST) по 31.03. 568 A.D. 09:06 UTC (11:20:50 LST)

Решение ФиН : утро 20 марта 1185 г.н.э. см. http://www.chronologia.org/xpon3/17_04.html

Для ECLIPJ2000 у меня было близкое решение 31.03.1185 г.н.э., получается ФиН могли не учесть прецессию земной оси.

 

 

 

Зодиак Фальконетто (Мантуя)

Расшифровка зодиаков, к содержанию     Разбивка зон зодиака в созвездиях

Расшифровка гороскопа Фальконетто (см. Г.В.Носовский, А.Т.Фоменко
Египетские, русские и итальянские зодиаки. Исследования 2005-2008 годов. Глава 3. Итальянские средневековые зодиаки
):

Солнце (Гидра); Луна (женщина на облаке с раком в руке); Юпитер (Геркулес); Сатурн (человек в черном); Венера (красивая женщина на переднем плане) - в Раке

Марс и Меркурий (двое мужчин на заднем плане, в отдалении) были не в Раке, а где-то в других созвездиях.

Планета Lon,экл. созв. созв.
Солнце 116 2.9 Рак/Близ.
Луна 141.1 3.9 Лев/Рак
Сатурн 132,9 3,6 Рак
Юпитер 116,1 2,9 Рак/Близ.
Марс 168.1 4.8 Лев
Венера 124.6 3.2 Рак
Меркурий 141.5 3.9 Лев/Рак

Желательно - сильное сближение Юпитера с Солнцем.

     Положения планет, рассчитанная ФиН - полночь по Гринвичу 3-4 июля старого стиля 1741 года (JD 2357142,5). Долгота планет на эклиптике J2000 в градусах, а также положения планет по шкале созвездий и названия созвездий


Моя программа для SPICE в MatLab

Зодиак Фальконетто, фрагмент - Стрелец

 

 

 

 

 


 

 

 

 


 


 


 

Гороскоп Рождества Христа из книги Эбенезера Сибли (зодиак "AE") - расшифровка
(см. Г.В.Носовский, А.Т.Фоменко Египетские, русские и итальянские зодиаки. Исследования 2005-2008 годов. Глава 2. Русские и европейские зодиаки)

Расшифровка зодиаков, к содержанию     

В древней книге астролога Сибли был напечатан гороскоп рождения Христа, на котором написана его дата 25 декабря 45 года (по юлианскому календарю), полночь, т.е. 23 декабря 45 г. по григореанскому календарю.

В книге Фин рисунок гороскопа очень плохого качества, я привожу опубликованный в Википедии.

Трактовка ФиН расположения планет в созвездиях
долгота по эклиптике J2000
Планета в знаке границы
созвезд.
+- допуск
3/4 сосед. созвездия
Lon Lon Lon Lon
Юпитер Весы 215 239 182,75 259,25
Сатурн Близнец 92 118 65 132,25
Венера Козерог 296 326 273,5 343,25
Марс Рыбы 349 31 331,75 49,75
Меркурий Стрелец 266 296 245,75 318,5
Солнце Стрелец 266 296 245,75 318,5
Луна Телец 56 92 37,25 111,5

Решения в правой колонке.

 

моя трактовка расположения планет в созвездиях
долгота по эклиптике J2000
Планета в знаке границы
созвезд.
+- допуск
3/4 сосед. созвездия
Lon Lon Lon Lon
Юпитер Весы 215 236    
Сатурн Близнец 92 118    
Венера Водолей 326 349    
Марс Овен 31 56    
Меркурий Козерог 296 326    
Солнце Козерог 296 326    
Луна Телец 56 92    

Я задал программе свою расстановку планет, такую, какой увидел ее на гороскопе и получил единственное решение по Юлианскому календарю:

с 25.12. 1 B.C. 01:21 UTC (03:39:50 LST) по
  27.12. 1 B.C. 22:35 UTC (00:52:26 LST)

расчет допусков к гороскопу Сибли AE
расчет допусков
к гороскопу Сибли AE
Программа : расчет координат планет и др. тел солнечной системы
программа расчета
гороскопа Сибли AE

Гороскоп Рождества Христова из книги Сибли
рис. взят с http://en.wikipedia.org/wiki/Ebenezer_Sibly

Результат для строгих условий по ФиН, допуск +- 5°:
с 12.12. 855 B.C. 13:53 UTC (16:27:00 LST) по 12.12. 855 B.C. 13:53 UTC (16:27:00 LST)
с 25.12. 914 A.D. 07:32 UTC (09:41:51 LST) по 25.12. 914 A.D. 07:32 UTC (09:41:51 LST)
с 29.12. 914 A.D. 16:42 UTC (18:48:59 LST) по 30.12. 914 A.D. 05:18 UTC (07:25:08 LST)

Результат для нестрогих условий по ФиН, допуск +-5° + 3/4 соседнего созвездия:
Результат:
... ... ...
с 02.01. 237 B.C. 00:15 UTC (02:32:29 LST) по 07.01. 237 B.C. 16:37 UTC (18:51:47 LST)
с 23.11. 1 B.C. 14:06 UTC (16:38:55 LST) по 23.11. 1 B.C. 14:06 UTC (16:38:55 LST)
с 26.11. 1 B.C. 06:18 UTC (08:50:07 LST) по 01.12. 1 B.C. 14:11 UTC (16:41:30 LST)
с 20.12. 1 B.C. 23:21 UTC (01:42:16 LST) по 20.12. 1 B.C. 23:21 UTC (01:42:16 LST)
с 23.12. 1 B.C. 15:03 UTC (17:22:09 LST) по 27.12. 1 B.C. 03:08 UTC (05:25:25 LST)
с 23.12. 60 A.D. 06:39 UTC (08:57:49 LST) по 25.12. 60 A.D. 15:29 UTC (17:46:52 LST)
с 19.11. 617 A.D. 10:03 UTC (12:31:15 LST) по 21.11. 617 A.D. 08:09 UTC (10:36:53 LST)
с 13.12. 617 A.D. 01:15 UTC (03:34:05 LST) по 18.12. 617 A.D. 15:23 UTC (17:38:32 LST)
с 03.01. 678 A.D. 01:20 UTC (03:28:02 LST) по 03.01. 678 A.D. 01:20 UTC (03:28:02 LST)
с 05.01. 678 A.D. 11:24 UTC (13:30:23 LST) по 12.01. 678 A.D. 06:06 UTC (08:10:06 LST)
с 30.11. 914 A.D. 21:46 UTC (00:07:20 LST) по 07.12. 914 A.D. 10:43 UTC (13:01:20 LST)
с 28.12. 914 A.D. 04:02 UTC (06:10:01 LST) по 03.01. 915 A.D. 16:15 UTC (18:20:34 LST)
с 17.12.1151 A.D. 01:47 UTC (03:57:49 LST) по 17.12.1151 A.D. 01:47 UTC (03:57:49 LST)
19.12.1151 23:33 UTC (01:42:28 LST) по 25.12.1151 A.D. 11:03 UTC (13:09:49 LST)
с 20.01.1295 A.D. 15:41 UTC (17:37:21 LST) по 20.01.1295 A.D. 15:41 UTC (17:37:21 LST)
с 23.01.1295 A.D. 12:02 UTC (13:57:51 LST) по 24.01.1295 A.D. 09:43 UTC (11:39:06 LST)
с 18.12.1531 A.D. 20:43 UTC (22:49:04 LST) по 24.12.1531 A.D. 10:50 UTC (12:54:05 LST)
с 15.01.1532 A.D. 03:12 UTC (05:07:17 LST) по 20.01.1532 A.D. 23:28 UTC (01:22:35 LST)
с 23.01.1592 A.D. 10:33 UTC (12:28:04 LST) по 27.01.1592 A.D. 08:46 UTC (10:40:36 LST)

 

Считаю, что гороскоп Сибли Рождества Христова был расчетным, а не зарисованным с неба.


 

Конвертации форматов.

к содержанию  Меры измерений y = cspice_convrt( x, 'из', 'в');

Расстояние

Углы

Время

'METERS'
'KM'
'CM'
'MM'
'FEET'
'INCHES'
'YARDS'
'STATUTE_MILES'
'NAUTICAL_MILES'
'AU'
'PARSECS'
'LIGHTSECS'
'LIGHTYEARS', юл.
'RADIANS'
'DEGREES'
'ARCMINUTES'
'ARCSECONDS'
'HOURANGLE'
'MINUTEANGLE'
'SECONDANGLE'
'SECONDS'
'MINUTES'
'HOURS'
'DAYS'
'JULIAN_YEARS'('YEARS')
'TROPICAL_YEARS'

к содержанию     Моя функция перевода углов из десятичной системы в десятично-шестидесятеричную. Моя функция перевода углов из десятичной системы в десятично-шестидесятеричную.
% Целая часть десятичная, а остальное в шестидесятеричной системе.
function anstr = angl2minsec (an, prec, varargin)
if nargin == 1 ; sprec='0'; else; sprec=int2str(prec); end
if an<0 ; s_sign='-'; else s_sign=' '; end
an1=fix(an); an2=abs(rem(an,1)); an2=an2*0.6; an3=rem(an2*100,1)*100;
an2=fix(an2*100); an3=an3*0.6; anstr=sprintf('%s%s°%s''%s"', s_sign, int2str(an1), int2str(an2), num2str(an3, strcat('%2.',sprec,'f')));
return

 Перевод угла 0-360 в часы 0-24
к содержанию     rah=cspice_timout((ra/15)* (cspice_spd/24) + (cspice_spd/2), ...
         'HR:MN:SC.## ::RND::TDT' );
Констранта cspice_spd содержит в себе ровно день в секундах TDT (не UT). В примере угол переводится в часы и + 12 часов.

Преобразование массивов

к содержанию    st_win=(reshape(st_win,2,[])'); % преобразование окон времени в 2 колонки 1) начало события 2) конец события
       st_win= st_win (:,1); % выбор одной колонки, там где колонки равны, например, равноденствие


 

Некоторые функции Ерана Офека

к содержанию   Оригинал: http://wise-obs.tau.ac.il/~eran/matlab.html (или выборочно здесь)

Функции

Функция

Описание

constellation (dat) по R.A. , Dec. на опр. эпоху выдает созвездие в котором находится точка
eq2gal взаимная конвертация экваториальных и галактических координат
pm_vector вектор движения (m) по собственному движению, паралаксу и радиальному ускорению
refraction оценка атмосферной рефракции
sunlight светимость Солнца на заданное время и позицию
moonlight светимость Луны в люксах, на данное время и позицию
skylight освещенность неба Солнцем и Луной в люксах
moon_sky_brightness освещенность неба луной, by taking into acount the distance from the moon and zenith distance (V mag).

 

Константы

к содержанию      Земля
  Наименование Данные или или
  Перигелий 147 098 074 км 0,9832898912 а. е. ~ 3 января
  Афелий 152 097 701 км 1,0167103335 а. е. ~ 4 июля
  Сидерический период обращения 365,256366 дней 365 дн. 6 ч. 9 мин. 10 сек.  
  Звёздные сутки 23:56:4.091    
  Полярное сжатие 0,0033528    
  Полярный радиус 6 356,8 км    
  Средний радиус 6 371,0 км    
  Окружность большого круга 40009,88 км    

Константы времени :

cspice_spd
cspice_jyear
cspice_tyear
cspice_clight
cspice_b1900
cspice_b1950
cspice_j1900
cspice_j1950
cspice_j2000
cspice_j2100

TDB секунд в J дне = 86400
31557600 = 365.25 * 86400 сек. в юл. году
31557000 сек. в троп.году от ~в.р.д. до сл.
скорость света в вакууме (km/sec)
юлианская дата Беселевой 1900.0. (TDB)
юлианская дата Беселевой 1950.0. (TDB)
юл. д. 31.12.1899 12:00:00 (01.1900 0.5) (TDB)
юлианская дата 01.01.1950 00:00:00 (TDB)
юлианская дата 01.01.2000 12:00:00 (TDB)
юлианская дата 01.01.2100 12:00:00 (ET)

 




к содержанию
    Интересные снимки
Катастрофа в дальней галактике остановила процесс рождения звезд!
Взрыв галактического ядра

Снимок вселенной
Снимок вселенной телескопом космического аппарата "Планк".
В центре, горизонтально, расположена наша галактика "Млечный путь"

Топ-100 Хаббл и другие телескопы


http://www.biguniverse.ru/posts/news/plank-delaet-poputnyie-otkryitiya

 

Источники (литература) >>>