Hora, UTC, fecha juliana, época TLE: ¿cómo se relacionan cuantitativamente?

Estoy tratando de comprender la relación (cuantitativamente) entre JulianDate, UTC y la época de Two Line Elements. Es un tema profundo, especialmente si incluyes la relatividad, y un tema extenso: hay mucha historia. Pero aquí lo que necesito es solo una comprensión básica de cómo estas tres cosas se relacionan cuantitativamente, en la tierra, más/menos dentro de unos años, con una precisión de milisegundos.

A grandes rasgos entiendo que el UTC aumenta 1 segundo cada segundo , con las reglas habituales de horas, minutos, días, años, años bisiestos y segundos bisiestos .

No entiendo JulianDate . Eso enlaza con un artículo largo que establece muchos hechos, pero después de leer, todavía no entiendo qué es cuantitativamente. Si alineo UTC contra el día juliano, ¿son paralelos (excepto los años/segundos bisiestos de UTC)? ¿Hay algún mapeo que pueda entender o tengo que usar un programa de computadora o un sitio web o alguna otra caja negra para convertir entre los dos?

Aquí hay dos ejemplos de situaciones en las que me siento perdido. Imprimo información adicional para asegurarme de que entiendo algunas cosas; las preguntas están en negrita :

Ejemplo 1 - tiempo en mi computadora y en Skyfield :

from skyfield.api import now, JulianDate, load
import time
def test():
    a, b =  now(), time.gmtime()   # check the times
    print a.tt_tuple()
    print time.asctime(b)
test()

(2016.0, 1.0, 31.0, 11, 45, 28.927114605903625)
Sun Jan 31 11:44:20 2016

Ambos se derivan de la hora del sistema de mi computadora (¡creo!) que está actualizada. Hay una diferencia de unos 69 segundos. ¿Qué es eso?

Ejemplo 2 época TLE :

from skyfield.api import now, JulianDate, load
import math

data = load('de421.bsp')
earth = data['earth']

TLE = """
1 25544U 98067A   16031.25992506  .00006019  00000-0  97324-4 0  9994
2 25544  51.6430  25.8646 0006733  62.5910  66.7566 15.54344726983528
"""

ISS = earth.satellite(TLE)

print ISS._sgp4_satellite.satnum, "  NORAD satellite number of ISS in the TLE"
print ISS._sgp4_satellite.epoch,  "  The epoch of the TLE"

frac = 0.25992506                 #  fraction of day in the epoch of the TLE"

print round((((frac*24.-6.)*60.-14.)*60.-17.)*1E+06), "  the microseconds of the epoch"

print ISS._sgp4_satellite.mo*(180./math.pi),    "  TLE Mean Anomaly - of ISS *at* epoch?"

print JulianDate(utc=(2016, 1, 31, 6, 14, 17.525184)).tt,  "  What is this number??"

producción:

25544   NORAD satellite number of ISS in the TLE
2016-01-31 06:14:17.525184   The epoch of the TLE
525184.0   the microseconds of the epoch
66.7566   TLE Mean Anomaly - of ISS *at* epoch?
2457418.76071   What is this number??

¿Cuál es el significado exacto del último número y cómo puedo convertir el valor de esta época a UTC (si quisiera)?

Respuestas (2)

JulianDate básicamente cuenta la cantidad de días desde el 1 de enero de 4713 a. C. a las 12:00 UTC en el calendario juliano. Sin embargo, eso es un poco difícil de entender ya que es hace mucho tiempo, usa un calendario diferente y debe tener en cuenta la transición de BC a AD.

Así que usamos Reduced JulianDate, que es otro estándar oficial, relacionado por JD reducido = JD 2400000 . Esto cuenta el número de días desde el 16 de noviembre de 1858 a las 12:00 TT (hora terrestre) en el calendario gregoriano (habitual).

Entonces podemos agregar 45,5 días para llegar al 1 de enero de 1859 a las 00:00 UTC. Podemos agregar 51499 días más para llegar al 1 de enero de 2000 00:00 (Tiempo Terrestre), el comienzo de un nuevo ciclo de 400 años.

Ahora podemos calcular:

JD = 2451544.5 + 365 Y + 0.25 Y 0.01 Y + 0.0025 Y + A + D + 1 24 H + 1 1440 METRO + 1 86400 S

Dónde:

  • Y es el año gregoriano actual menos 2000
  • X es la función suelo, el entero mayor menor que X .
  • D da el número del día actual. Esto es 1 el 1 de enero, 32 el 1 de febrero, etc.
  • H es la hora actual en Tiempo Terrestre.
  • METRO es el minuto actual en el Tiempo Terrestre.
  • S es el segundo actual en Tiempo Terrestre, incluyendo milisegundos, etc.
  • A es un factor de corrección. Si el año es bisiesto, es -1, en caso contrario es cero.

Esta es solo una fórmula que funciona. Hay muchas otras fórmulas que funcionarían, pero elegí esta porque era la más fácil de explicar.

La diferencia de 69 segundos se debe a la diferencia entre el Tiempo Terrestre y el UTC, actualmente 68.184 segundos. Esto se debe a una diferencia de 36 segundos en segundos bisiestos y un desfase histórico de 32,184 segundos.

Hmm... dame un poco de tiempo para digerir esto. Entonces, ¿JD siempre aumenta de manera suave y continua en 1/86400 cada segundo ? Estoy viendo lo que parece ser el coeficiente frente a Y (365.2425) y la cantidad de días entre, digamos , cualquier año y Jan 1 00:00:00 el siguiente, que deberían ser días completos (excepto los segundos intercalares), y no veo cómo puede ser suave. 365366
@uhoh Tenga en cuenta los corchetes de piso alrededor de las partes con Y. (La función de piso es el entero más grande más pequeño que la entrada). Sí, JD siempre aumenta de forma suave y continua en 1/86400 cada segundo, a excepción de los segundos bisiestos, que existen en UTC pero no en TT.
Está bien, podría ser bueno agregar que los corchetes también []significan floor()en la respuesta. Ahora puedo entender que, por ejemplo, [0.01Y]está ahí para compensar el 29 de febrero que falta cada año que termina en '00
@uhoh Eso es correcto. Lo agregué a la respuesta.
La segunda parte sobre la época del elemento de dos líneas del satélite: creo que es Julian Day, pero no estoy seguro. Si puede agregar un poco sobre eso, puedo marcar esto como respondido (estaré fuera de línea ahora, regresaré en 0.5D) Esta es una gran ayuda, ¡gracias!
Bien, ¡gracias por tu ayuda! He desglosado la pregunta TLE por separado .
Sin embargo, la corrección entre TT y UTC aquí solo tiene una precisión de milisegundos, ¿verdad?

A menudo tengo que ir a leer la guía de fechas y horas de Skyfield para mantener todo en orden, pero, brevemente:

  • Una fecha juliana es simplemente una forma rival de nombrar momentos, que es más simple que nuestro sistema habitual de fecha y hora. Normalmente, para especificar una fecha y hora se requieren seis números diferentes (año, mes, día, hora, minuto y segundo) y comparar dos fechas requiere una gran cantidad de matemáticas, donde te encuentras tomando prestados 31 días de algunos meses pero 30 de otros, y tener que llevar el día bisiesto en la cabeza si quieres que las matemáticas funcionen. No es así con las fechas julianas: simplemente asignan un número de coma flotante simple a cada fecha más hora en nuestro calendario, y son mucho más fáciles de hacer matemáticas.

  • La pregunta de si te gustan los nombres de fecha y hora para los momentos, o si te gustan los números de fecha juliana para los momentos, está completamente separada de la cuestión de las escalas de tiempo : la pregunta, dado un momento dado, de "¿qué hora es?" Ya sea que use el nombre "2457418.5" o el nombre "31 de enero de 2016 00:00:00.0" (los dos son exactamente equivalentes) para un momento dado, eso aún deja la pregunta "¿pero cómo nos ponemos de acuerdo sobre cuándo fue ese momento? ”

  • Una escala de tiempo es un sistema para asignar nombres a momentos en el tiempo. UT1, UTC, TAI, TT y TDB tienen una respuesta diferente para "¿Cuál es el mejor nombre para AHORA MISMO?" Ya sea que exprese TT como una fecha juliana porque le gustan los números grandes que facilitan las matemáticas, o como una fecha más tiempo porque los números grandes no significan mucho para usted, simplemente está expresando de dos maneras diferentes la respuesta a la pregunta "¿Cómo llama TT a este momento en particular?"

Quizás se pregunte por qué tendríamos tantos nombres diferentes (porque en realidad hay varios más además de los cinco básicos que mencioné anteriormente) exactamente para el mismo momento. Brevemente:

UT1: porque nos preguntamos dónde están el Sol y las estrellas sobre nuestras cabezas.

UTC: porque queremos que nuestros relojes laterales estén sincronizados con el amanecer y el atardecer, pero es difícil explicar a los relojes de todos que los segundos deben acelerarse y ralentizarse para seguir al sol, así que mantengamos los segundos con una duración constante y añadir un segundo bisiesto cuando empecemos a atrasarnos.

TAI: solo olvídate del sol. Los relojes atómicos necesitan segundos que marchen en línea recta sin cálculos de salto nunca.

TT — ¡gran idea, gente de TAI! Solo que los astrónomos ya tenían esa idea, hace años, y ya habían comenzado a hacer cálculos contra un reloj imaginario que no se ralentizaba con la rotación más lenta de la Tierra, por lo que es mejor que mantengan una escala de tiempo paralela con TAI pero que permanezca más de 30 segundos. diferentes para que no tengan que reescribir todas sus matemáticas y tablas.

TDB, pero si está interesado en el reloj celestial del Sistema Solar, ¡todos esos otros relojes son inútiles! Porque cualquier reloj basado en la Tierra se acelerará y se ralentizará a medida que la Tierra se acelere y desacelere cada año, porque: la relatividad. Si vas a estudiar los movimientos de los planetas, tienes que usar un reloj imaginario que está estacionario en el medio del Sistema Solar, no los locos relojes de Mickey Mouse que llevamos en la Tierra que aceleran TANTO con nuestra revolución orbital COMO con nuestra rotación diaria.

Nuevamente, consulte la documentación de Skyfield vinculada anteriormente y la circular 179 de USNO para obtener una descripción más técnica de estos conceptos.

¡Gracias! Esto es muy útil y, por supuesto, también lo es la página en la documentación de Skyfield. Pero en este momento solo quiero concentrarme en usar los números correctamente y no necesariamente en comprender el panorama general. Por supuesto que quiero, pero lo primero es lo primero. He desglosado la pregunta TLE por separado.