Metodologia do motor astronomico

Cadeia completa de calculo: como uma data e uma localizacao viram coordenadas equatoriais aparentes, altura no horizonte e horarios de nascer. Cada camada documentada com paper de origem e tolerancia.

Visao geral da pipeline

O motor processa uma consulta em 9 estagios sequenciais, cada um com fonte cientifica explicita. Os estagios sao independentes (camadas), permitindo trocar implementacao de um sem afetar os outros.

1. Sanitizacao de inputs              [ObserverModel]
2. Escalas de tempo (UTC→UT1→TAI→TT→TDB) [TimeScaleService + Espenak-Meeus]
3. Efemerides Sol e Lua (geocentricas)    [VSOP87D + ELP-2000/82B]
4. Nutacao + aberracao anual              [IAU 1980 ou IAU 2000A]
5. Conversao ecliptica → equatorial       [Coordinates::eclipticToEquatorial]
6. Paralaxe topocentrica                  [TopocentricTransformer + WGS84]
7. Refracao atmosferica                   [Bennett, Saemundsson ou None]
8. Eventos do dia (rise/set/transit)      [RiseSetTransitSolver]
9. Predicoes auxiliares                   [Phases, eclipses, super luas, libracao]

1. Sanitizacao e validacao de inputs

Todo parametro de entrada tem limites cientificamente justificados. Valores fora de range sao rejeitados com erro 400 ou substituidos por default seguro, conforme a politica de cada campo.

Campo Limite Justificativa
Latitude −90 a +90 graus Definicao geometrica (polo a polo)
Longitude −180 a +180 graus Definicao geometrica
Altitude observador −430 a +9000 metros Mar Morto −430m ate Everest 8849m. ICAO ISA atmosfera padrao
Pressao atmosferica 0 a 1100 hPa ICAO ISA superficie 1013.25 hPa, recordes ate ~1083 hPa
Temperatura −100 a +70 °C Vostok −89.2 °C (1983), Lut +70.7 °C (2005)
Humidade relativa 0 a 100 % Definicao termodinamica
Refracao no horizonte 0 a 1.5 graus Padrao IAU 0.5667°, maximo plausivel ~1.5°
ΔT manual −100 a +200 segundos Janela 1900-2100, Espenak-Meeus 2006
UT1−UTC −0.9 a +0.9 segundos IERS Conventions 2010, limite antes de leap second
TAI−UTC 10 a 50 segundos Atual 37s (desde 2017), historico desde 1972
Step de eventos 60 a 3600 segundos Compromisso entre precisao e tempo de calculo
Datetime range 4000 BC a 3000 AD Janela teorica de Espenak-Meeus + ELP + VSOP

2. Escalas de tempo

Astronomia usa varias escalas de tempo distintas, e confundi-las gera erros de minutos. O motor mantem todas explicitas e converte conforme o estagio:

  • UTC (Coordinated Universal Time): o que aparece no relogio. Define-se via TAI menos leap seconds.
  • UT1: tempo atrelado a rotacao real da Terra. UT1 − UTC publicado pela IERS, varia ~0.9s.
  • TAI (International Atomic Time): tempo atomico, sem leap seconds. TAI − UTC = 37 segundos em 2026.
  • TT (Terrestrial Time): TAI + 32.184 segundos. Uniforme, escala primaria para efemerides.
  • TDB (Barycentric Dynamical Time): TT corrigido por efeitos relativisticos (envelope de ~1.7 ms).

A diferenca ΔT = TT − UT1 nao e previsivel matematicamente porque depende da rotacao real da Terra (afetada por mares, terremotos, El Niño). Usamos o polinomio Espenak-Meeus 2006:

// Para 2026:
ΔT = 75.07 segundos
UT1 − UTC = 0 segundos (caso default; IERS atualiza)
TAI − UTC = 37 segundos
TT − UTC = TAI − UTC + 32.184 = 69.184 segundos

Fonte: Espenak F., Meeus J., Five Millennium Canon of Solar Eclipses: -1999 to +3000, NASA Technical Publication 2006-214141 (2006). Polinomio em 9 ramos historicos cobrindo 4000 BC a 3000 AD.

3. Efemerides geocentricas

3.1 Lua: ELP-2000/82B (Chapront-Touzé & Chapront)

A teoria ELP-2000/82B (Ephemeride Lunaire Parisienne) foi desenvolvida por Michelle Chapront-Touzé e Jean Chapront no Bureau des Longitudes (Observatoire de Paris) nos anos 80, e e a teoria analitica de mais alta precisao para a Lua.

Total de 36 series, agrupadas por origem fisica:

SeriesConteudoTamanho
ELP1-3 Problema principal (Sol-Terra-Lua) ~1500 termos
ELP4-6 Perturbacoes da figura da Terra ~50 termos
ELP7-9 Figura da Terra × t (variacao secular) ~10 termos
ELP10-21 Perturbacoes planetarias (tabelas 1 e 2) ~13000 termos
ELP22-27 Efeitos de mare (×t⁰ e ×t¹) ~10 termos
ELP28-30 Perturbacoes da figura da Lua ~30 termos
ELP31-33 Termos relativisticos ~30 termos
ELP34-36 Planetario × excentricidade solar × t² ~50 termos

Total bruto: ~37.872 termos. Apos truncagem em 0.0001 arcsec (lon/lat) e 0.001 km (distancia), preservamos 8467 termos, suficientes para reproduzir Meeus 47.a com erro < 0.02 arcsec.

Inclui correcao de ajuste DE200/LE200 (que liga ELP analitico as efemerides numericas DE da JPL), argumentos de Delaunay completos (D, ℓ′, ℓ, F) e longitudes medias planetarias para 8 planetas.

Fontes:

  • Chapront-Touzé M., Chapront J. (1983). The lunar ephemeris ELP-2000. Astronomy & Astrophysics, 124, 50-62.
  • Chapront-Touzé M., Chapront J. (1988). ELP-2000/82B and the dynamical reference system. Astronomy & Astrophysics, 190, 342-352.
  • Codigo Fortran original: IMCCE Bureau des Longitudes, MCJCGF.9601 (elp82b_1.f).

3.2 Sol: VSOP87D (Bretagnon & Francou)

A teoria VSOP87 (Variations Seculaires des Orbites Planetaires) e da mesma equipe (Bretagnon e Francou, IMCCE/Bureau des Longitudes). VSOP87D e a variante que retorna coordenadas eclipticas heliocentricas no equinocio da data, ideal para conversao geocentrica.

Calculamos a posicao heliocentrica da Terra (longitude L, latitude B, distancia R) e invertemos para Sol geocentrico:

L_Sol_geo = L_Terra_helio + 180°
B_Sol_geo = -B_Terra_helio
R_Sol_geo = R_Terra_helio

Truncagem atual (Sun Lite): 35 termos para L, 7 para B, 16 para R = 58 termos totais. Precisao tipica ~3 arcsec na longitude do Sol. Equivalente ao Meeus Cap. 25.

Fonte: Bretagnon P., Francou G. (1988). Planetary theories in rectangular and spherical variables: VSOP87 solution. Astronomy & Astrophysics, 202, 309-315. Catalogo VizieR VI/81.

3.3 Frames IAU 2006 (opt-in)

Para uso cientifico avancado, o motor implementa a teoria IAU 2006 P03 (Capitaine, Wallace & Chapront 2003) para precessao e a matriz de Frame Bias B (IERS Conventions 2010, Eq. 5.18) para a transformacao entre ICRS e o equador medio J2000.0.

A cadeia completa NPB (Nutacao x Precessao x Bias) esta em core/astro/frames/NPBChain.php e permite:

// ICRS (J2000 inertial) -> equador verdadeiro de data
$M = NPBChain::icrsToTrueOfDate($tTt, $deltaPsiArcsec, $deltaEpsArcsec, $epsADeg);
$radec_apparent = NPBChain::transformIcrsToTrueOfDate(...)

Inclui obliquidade media IAU 2006 (Capitaine et al. 2003 Eq. 39), polinomios de zeta_A, z_A, theta_A para precessao em torno do equador equatorial. Validado em test_phase12_iau2006_frames.php (21/21 passes, incluindo ortogonalidade da matriz de precessao, round-trip ICRS <-> of-date e magnitude da precessao em 26 anos).

4. Correcoes aparentes

4.1 Nutacao

O eixo de rotacao da Terra oscila em escala curta (~18.6 anos) por causa do torque gravitacional Lua-Sol. A serie IAU 1980 (66 termos, Meeus Tabela 22.A) entrega precisao < 0.001″ em Δψ e Δε, e e o default. Para precisao de microsegundos de arco em pesquisa avancada, oferecemos a serie completa IAU 2000A (1365 termos, IERS Conventions 2010).

4.2 Aberracao anual

A velocidade orbital da Terra (~30 km/s) desloca a posicao aparente das estrelas em ate 20.5 arcsec. Para a Lua, o efeito e menor (a Lua se move com a Terra), mas nao zero. Aplicamos:

Δλ = -20.4898 / 3600 / R_AU × cos(β)
(Meeus Eq. 23.1, simplificada para a Lua)

4.3 Conversao ecliptica → equatorial

Aplicada com a obliquidade verdadeira ε = ε₀ + Δε:

α (RA)  = atan2(sin(λ) cos(ε) − tan(β) sin(ε), cos(λ))
δ (Dec) = asin(sin(β) cos(ε) + cos(β) sin(ε) sin(λ))
(Meeus Eq. 13.3 e 13.4)

5. Paralaxe topocentrica

A Lua esta a apenas 60 raios terrestres de distancia, entao sua posicao aparente muda ate 1 grau conforme o observador na Terra (paralaxe horizontal lunar). Para o Sol, e somente ~8.8 arcsec.

O motor calcula coordenadas topocentricas tratando o observador como ponto na superficie do elipsoide WGS84 (mais preciso que aproximar a Terra como esfera):

e² = 2f − f² (excentricidade ao quadrado)
N = a / sqrt(1 − e² sin²(φ))
x_obs = (N + h) cos(φ) cos(L_solar)
y_obs = (N + h) cos(φ) sin(L_solar)
z_obs = (N(1 − e²) + h) sin(φ)
(WGS84: a=6378137 m, f=1/298.257223563)

O vetor topocentrico e subtraido do vetor geocentrico do corpo, com correcao para o tempo sideral local. Resultado: RA, Dec, distancia e altura/azimute reais para o observador.

6. Refracao atmosferica

A atmosfera curva os raios de luz, levantando objetos proximos ao horizonte em ate 35 arcmin (efeito que faz o Sol parecer maior e mais alto no nascer/por). O motor oferece tres modelos:

ModeloRangeCaracteristicas
Bennett 1982 (default) −0.9° a +90° Formula classica, simples, boa para observacao visual
Saemundsson 1986 −2° a +90° Inversa de Bennett (apparent → true), mais precisa em baixa altitude
None (astrometrico) Sem refracao. Usado para validacao contra catalogos estelares

Cada modelo aceita pressao (hPa) e temperatura (°C) como inputs para ajustar a refracao real do dia.

Fonte: Bennett G.G. (1982). The calculation of astronomical refraction in marine navigation. Journal of Navigation, 35(2), 255-259. Saemundsson Th. (1986). Sky & Telescope, 72, 70.

7. Eventos do dia (rise / set / transit)

A Lua tem paralaxe horizontal de ~1 grau e move-se rapido no ceu (~13°/dia), entao a formula simples cos(H) = -tan(φ)tan(δ) erra ate 15 minutos no horario de nascer/por. Usamos abordagem mais robusta:

  1. Threshold de horizonte dinamico considerando: modo do disco (centro ou limbo superior), mergulho do horizonte (0.0293·√altitude_m), refracao no horizonte (0.5667° default), paralaxe horizontal lunar.
  2. Scan adaptativo da altura aparente em passos de 5 min (configuravel) ao longo do dia local.
  3. Bisseccao para refinar ate erro < 1 segundo nos cruzamentos de zero do altitude − threshold.
  4. Busca ternaria para o transito (maximo de altura).

Resultado: horarios de nascer, transito (culminacao) e por com precisao tipica ±5 segundos no zenite e ±30 segundos perto do horizonte. Suficiente para uso amador, observacional e didatico.

8. Predicoes auxiliares

O motor calcula tambem (sempre que aplicavel):

  • Fases principais: Lua Nova, Quarto Crescente, Cheia, Quarto Minguante. Bisseccao de elongacao Sol-Lua.
  • Apsides: perigeu e apogeu lunar via mes anomalistico (27.55 dias).
  • Eclipses solares e lunares: detecao heuristica via proximidade da Lua aos nodos + distancia Terra-Lua-Sol.
  • Super Luas e Microluas: classificacao por distancia em syzygy (≤360.000 km super, ≥405.000 km micro).
  • Lua Azul / Negra: contagem de fases por mes calendario.
  • Lunar Standstill: maximo da declinacao lunar (ciclo de 18.6 anos).
  • Libracao optica: fracao do disco lunar visivel (em primeira ordem, Meeus Cap. 53).
  • Magnitude aparente: formula de Allen 1976 (com fase angle).
  • Velocidade orbital: vis-viva (preciso para distancia instantanea).
  • Light-time: distancia Terra-Lua dividido por velocidade da luz (~1.3 segundos).

9. Calendarios multiculturais

Em paralelo a saida cientifica, o motor converte a data para 5 calendarios: Gregoriano, Juliano, Hijri (islamico), Hebraico, Chines. Util para professores de historia, religiao comparada, antropologia e estudos culturais.

Referencias rapidas

Bibliografia completa em /laboratorio/fontes. Glossario de termos em /laboratorio/glossario. Validacao numerica em /laboratorio/precisao. Versionamento do motor em /laboratorio/changelog.