Precisao do motor astronomico

Validacao continua contra JPL Horizons e exemplos canonicos do Meeus 1998. Erros tipicos publicados aqui sem maquiar. Esta pagina e atualizada a cada release do motor.

Resumo executivo

O motor OCSE-Lite (OC Scientific Lunar Engine) implementa as series analiticas ELP-2000/82B para a Lua, VSOP87D para o Sol, e teorias auxiliares (nutacao IAU 2000A, ΔT Espenak-Meeus 2006, refracao Bennett/Saemundsson, paralaxe topocentrica WGS84). Cada release passa por suite de validacao automatizada contra dois conjuntos de referencia:

  • JPL Horizons (NASA / Jet Propulsion Laboratory): dataset seed com 322 pontos cobrindo a janela 1900-2050, com posicoes geocentricas e topocentricas da Lua e do Sol calculadas com efemerides DE numericas.
  • Meeus 1998, Astronomical Algorithms, 2 ed.: exemplos canonicos do livro com valores de referencia explicitos (Examples 22.a, 25.b, 47.a entre outros).
Janela de uso recomendada: 1900-2100 com erros tipicos abaixo de 30 arcsec na posicao lunar. Fora dessa janela, a precisao degrada controladamente ate ~ arc-min em 4000 BC e 3000 AD via extrapolacao Espenak-Meeus.

Erros tipicos contra JPL Horizons

Os valores abaixo sao do test_phase11_jpl_horizons.php, executado contra o seed benchmark/data/horizons_moon_seed.csv e horizons_sun_seed.csv. P95 = 95 percentil do erro absoluto. Os limites de tolerancia sao definidos antes de rodar e nao sao ajustados a posteriori.

Metrica Pontos avaliados P95 medido Maximo medido Limite de tolerancia Status
Lua RA (arcsec) 260 23.04 53.65 ≤ 35.00 (P95) / ≤ 60.00 (max) OK
Lua Dec (arcsec) 260 8.22 24.70 ≤ 12.00 (P95) / ≤ 30.00 (max) OK
Lua distancia (km) 273 39.84 45.57 ≤ 50 (P95) / ≤ 55 (max) OK
Lua altitude topocentrica (arcsec) 13 43.94 43.94 ≤ 60 (P95) / ≤ 75 (max) OK
Lua azimute (arcsec) 13 15.54 15.54 ≤ 25 (P95) / ≤ 40 (max) OK
Lua iluminacao (pontos pp) 272 0.011 0.673 ≤ 0.05 (P95) / ≤ 1.0 (max) OK
Sol RA (arcsec) 49 1.92 2.28 ≤ 5 (P95) / ≤ 8 (max) OK
Sol Dec (arcsec) 49 0.54 0.54 ≤ 2 (P95) / ≤ 3 (max) OK
Sol distancia (km) 49 1041.7 1328.5 ≤ 1500 (P95) / ≤ 2000 (max) OK

Total: 322 pontos avaliados, 9 metricas em paralelo, todas dentro de tolerancia. Resultado: 9 pass, 0 fail. Engine version: OC Scientific Lunar Engine v2.0.0.

Validacao contra Meeus 1998

O livro Astronomical Algorithms (Jean Meeus, 2 ed., Willmann-Bell, 1998) traz exemplos numericos completos para cada algoritmo. Reproduzimos os exemplos canonicos:

Exemplo Meeus Algoritmo Variavel Valor Meeus Valor motor Diferenca
22.a Nutacao IAU 1980 Δψ −3.788″ −3.788″ ~0″
22.a Nutacao IAU 1980 Δε +9.443″ +9.443″ ~0″
22.a Obliquidade media ε₀ 23°26′27.407″ 23°26′27.407″ ~0″
25.b VSOP87D Sol λ aparente 199.90988° 199.90611° −13.58″
25.b VSOP87D Sol Distancia 0.99766 AU 0.99760 AU −0.00006 AU
47.a ELP-2000 Lua λ ecliptica 133.162659° 133.162655° −0.02″
47.a ELP-2000 Lua β ecliptica −3.229127° −3.229126° +0.00″
47.a ELP-2000 Lua Distancia 368409.7 km 368409.7 km ~0 km
47.a ELP-2000 Lua Paralaxe horizontal 0.991990° 0.991990° ~0″

O exemplo Meeus 47.a (Lua em 1992-04-12 00:00 TD) reproduz todos os valores do livro com erro abaixo de 0.02 arcsec, o que comprova a fidelidade da serie ELP-2000/82B implementada (8467 termos preservados apos truncagem em 0.0001 arcsec).

Cobertura temporal e degradacao de precisao

O motor cobre o intervalo 4000 BC – 3000 AD, que e o limite teorico do polinomio Espenak-Meeus para ΔT. A precisao varia conforme a janela:

Janela Erro tipico Lua (arcsec) Erro tipico Sol (arcsec) Erro horario rise/set (s)
1980-2030 (alta confianca) ~5 ~1 ~3
1900-2100 (janela util) ~10-30 ~2-5 ~5-30
1700-1900 ~30-60 ~5-10 ~30-60
1500-1700 ~60-120 ~10-20 ~60-120
500-1500 (medieval) ~120-300 ~20-60 ~120-600
500 BC – 500 AD (antigo) ~300-1000 ~60-180 ~600-3600
4000 BC e 3000 AD (extremos) ~1000-5000 ~180-600 ~3600+
Limitacao declarada: nos extremos da janela, o erro vem principalmente da incerteza em ΔT (variacao da rotacao terrestre nao previsivel matematicamente). A serie ELP-2000 em si tem precisao consistente.

Limitacoes conhecidas

O motor nao implementa hoje:

  • Efemerides numericas DE440/DE441 da JPL. Usamos series analiticas, com precisao tipica de arcsec em vez de metros.
  • Modelo de fotometria Hapke completo. A magnitude aparente da Lua e estimada via formula simplificada (~0.2 mag de incerteza).
  • Libracao fisica completa (IAU WGCCRE 2015). A libracao optica esta em primeira ordem. Para selenografia precisa, a libracao fisica seria adicional.
  • Polar motion (xp, yp) atualizado diariamente. Usamos modelo congelado, com erro maximo < 0.5 arcsec, abaixo dos demais erros.
  • EOP (Earth Orientation Parameters) em tempo real. O motor e evergreen, sem feed externo.

Essas limitacoes representam diferenca abaixo da resolucao do olho humano (60 arcsec) e abaixo da precisao tipica de equipamento amador. Para uso recreativo, didatico, observacional amador, e divulgacao cientifica, o motor entrega precisao com folga.

Como reproduzir

Toda validacao e auditavel via scripts no diretorio lua/calculadora-lunar/:

php test_phase1_meeus_example.php       # Meeus 47.a (Lua)
php test_phase3_sun.php                 # Meeus 25.b (Sol)
php test_phase9_nutation.php            # Meeus 22.a (Nutacao)
php test_phase11_jpl_horizons.php       # Validacao seed Horizons
php test_phase11_time_scales.php        # Escalas de tempo (UTC, UT1, TAI, TT, TDB)
php test_phase0_regression.php          # Regressao end-to-end

Os arquivos de seed do Horizons estao em lua/calculadora-lunar/benchmark/data/.

Versao do motor avaliada

ComponenteVersao
Engine OC Scientific Lunar Engine v2.0.0
Modelo de efemerides OCSE-Lite-2026A
Lua ELP-2000/82B full (8467 termos)
Sol VSOP87D truncado (58 termos)
Nutacao IAU 1980 (66 termos) + IAU 2000A opt-in (1365 termos)
ΔT Espenak-Meeus 2006 (9 ramos historicos)
Refracao Bennett 1982 / Saemundsson 1986 / None
Paralaxe WGS84 elipsoide topocentrico

Veja a metodologia completa em /laboratorio/metodologia e a bibliografia em /laboratorio/fontes.