Преобразование секунд с земного времени эпохи J2000 во время UTC

В недавнем вопросе о космических исследованиях упоминалось, что Planet Labs предоставляет общедоступные эфемериды для своих спутников здесь . Я считаю, что это дает очень ценный ресурс для тестирования различных орбитальных пропагаторов.

Однако для выполнения таких тестов важно точно знать, какому времени соответствуют предоставленные эфемериды. Эфемериды от Planet Labs дают эпоху в «секундах с земного времени эпохи J2000». Некоторые из нас в Space Exploration заинтересованы в точном преобразовании такой эпохи во время UTC (то есть с точностью не менее миллисекунды).

Поэтому мне было интересно, есть ли какой-то конкретный алгоритм, который следует применять для выполнения такого преобразования? Насколько я понимаю, достаточно сделать следующее:

  1. Получите земное время эпохи J2000 в UTC, которое кажется 1 января 2000 года в 11:58:55.816 (см. здесь )
  2. Вычислите дату и время, используя эту эпоху (которая находится в UTC) и предоставленные секунды с эпохи J2000 наземного времени (поскольку мы теперь переходим от секунд с эпохи к дате и времени, необходимо учитывать дополнительные секунды)

Будет ли этого достаточно для точного преобразования? Или я пропустил некоторые дополнительные шаги здесь?

FWIW, астроном из Ликской обсерватории Стив Аллен (Steve Allen) имеет много информации о високосных секундах и шкалах времени на своем сайте.
Вот некоторый код Python на Github , который показывает, как анализировать jump-seconds.list, с активной версией, указанной в комментарии под исходным кодом программы.

Ответы (1)

Какое земное время (TT)? Международное бюро мер и весов (BIPM; аббревиатура на французском языке) ежегодно публикует обновления взаимосвязи между TT и Международным атомным временем (TAI; аббревиатура снова на французском языке). Обратите внимание: эти обновления меняют как будущие, так и прошлые отношения между TT и TAI.

К счастью, за исключением астрономов, занимающихся микросекундной астрономией, эти ежегодные поправки представляют собой крошечные нюансы, которыми можно пренебречь. Они находятся в диапазоне нескольких десятков наносекунд. На уровне микросекунд просто используйте тот факт, что TT постоянно опережает TAI на 32,184 секунды:

(1) Т ТТ "=" Т ТАЙ + 32.184 с

Это TAI, который довольно прост. Время GPS также довольно просто, потому что это фиксированное смещение от TAI. Связь между TAI и универсальным скоординированным временем (UTC; аббревиатура такая, какая она есть; она не французская и не английская) не так проста. Вам придется учитывать високосные секунды. Не существует уравнения для связи между TAI и UTC. Вам понадобится таблица високосных секунд:

Т универсальное глобальное время "=" Т ТАЙ прыгнуть ТАЙ ( Т ТАЙ ) или (2) Т ТАЙ "=" Т универсальное глобальное время + прыгнуть универсальное глобальное время ( Т универсальное глобальное время )

Объединение уравнений (1) и (2) дает

(3) Т ТТ "=" Т универсальное глобальное время + прыгнуть универсальное глобальное время ( Т универсальное глобальное время ) + 32.184 с

Чтобы построить таблицу високосных секунд прыгнуть универсальное глобальное время ( Т универсальное глобальное время ) педантично правильно означает отказ от идеи, что каждая минута UTC содержит ровно 60 секунд UTC. Например, время UTC за полсекунды до 00:00 1 января 2017 года UTC было 23:59:60,5 31 декабря 2016 года UTC. Windows, Linux, Android, iOS, OS X: все они делают это неправильно. Эти операционные системы предполагают, что каждая минута состоит ровно из 60 секунд, и выдумывают вещи для високосных секунд. Все они будут полностью соответствовать друг другу, если нынешние тенденции сохранятся, а первая в истории отрицательная дополнительная секунда будет добавлена ​​через пять или шесть лет.

IETF предоставляет таблицу високосных секунд в формате, который относительно легко анализировать. ietf.org/timezones/data/leap-seconds.list Однако он использует секунды с 1900 года по 1 января 00:00:00 для эпохи своих временных меток. Кроме того, хеш-строка SHA-1 в конце файла разбита на 5 групп шестнадцатеричных чисел без ведущих нулей, что немного раздражает.
Большое спасибо за это! В настоящее время я использую таблицу CelesTrak Earth Orientation Parameters, которая удобно предоставляет столбец с дополнительными секундами. Я все еще немного смущен значением Planet Lab «секунд с земного времени эпохи J2000». Я предполагаю, что наиболее разумным было бы думать, что они означают секунды TT с эпохи TT J2000, но можно ли полностью исключить, что они на самом деле означают секунды UTC с эпохи TT J2000? Я думаю, что проще всего было бы просто отправить электронное письмо в Planet Labs, чтобы спросить об этом.
Для справки в будущем я получил подтверждение того, что эпоха для векторов состояния Planet Labs не включает високосные секунды.
@Rafa С введением концепции високосных секунд в 1972 году секунды UTC и секунды TAI по определению идентичны. Для всех практических целей (кроме микросекундной астрономии) секунды TT и секунды TAI также идентичны. Это означает, что вы можете считать секунды TT, секунды TAI и секунды UTC одним и тем же.