Tłumaczenie maszynowe, niezweryfikowane przez osobę, dla której polski jest językiem ojczystym. Wzorcem jest wersja angielska.

OrbityEdytuj na GitHubieŹródło: docs/AGENCY-ORBIT-VALIDATION.md

Walidacja modelu sił przez dopasowanie efemeryd — metodologia i sprawdzone względem wzorca residua

Pełny silnik sił Kshana (src/precise_od.rs) dopasowany do rzeczywistych agencyjnych produktów precyzyjnych orbit, z uczciwymi, cytowalnymi residuami opatrzonymi skrótem commita. To jest zapis walidacji dla kamienia milowego P4 planu rozwoju („Precyzyjna astrodynamika: grawitacja wysokiego stopnia, SRP (ciśnienie promieniowania słonecznego), walidacja względem zbiorów danych agencji”).

Co tutaj oznacza residuum sprawdzone względem wzorca#

Residuum jest podawane tylko wtedy, gdy spełnione są wszystkie poniższe warunki (projekt docs/design/2026-06-09-precise-astrodynamics-design.md):

  1. Model sił obejmuje każde zaburzenie, które ma znaczenie przy docelowej dokładności: geopotencjał wysokiego stopnia EGM2008 (Earth Gravitational Model 2008) (obcięty przy podanym stopniu i rzędzie, d/o), pływy stałe, oceaniczne i atmosferyczne (src/tides.rs, IERS (International Earth Rotation and Reference Systems Service) Conventions 2010 Ch. 6), trzecie ciała Słońce/Księżyc, SRP typu kula armatnia ze stożkowym cieniem i szacowanym C_R, opór (tylko LEO (low Earth orbit)), człony ogólnej teorii względności (GR) Schwarzschilda i Lense'a–Thirringa (src/forces.rs).
  2. Estymator to rzeczywista wsadowa metoda najmniejszych kwadratów Gaussa–Newtona z wariacyjną macierzą przejścia stanu (sprawdzoną krzyżowo względem różnicy skończonej na całym łuku do < 1e-6), ważeniem obserwacji 1/σ² i edycją wartości odstających n-sigma.
  3. Układy i czas wykorzystują rzeczywiste parametry orientacji Ziemi (EOP) IERS finals2000A (UT1 (Universal Time 1, czas obrotu Ziemi)−UTC (Coordinated Universal Time), ruch bieguna; src/eop.rs) w sprawdzonym względem wzorca łańcuchu IAU (International Astronomical Union) 2006/2000A CIO (Celestial Intermediate Origin) (src/cio.rs). Czas GPS (Global Positioning System) w SP3 (Standard Product 3, format precyzyjnych orbit) → TT (Terrestrial Time) przez stałe przesunięcie 51,184 s (timescales::gps_to_tt).
  4. Residua są podawane w RTN (radialnie/wzdłuż toru/poprzecznie) i w 3D, z przyspieszeniami empirycznymi i bez nich, obok surowego (bez dopasowania) nakładania.
  5. Każda liczba jest odtwarzalna (bramka CI (ciągłej integracji) na otwartych danych) i cytowalna (skrót commita + odwołanie do zbioru danych + SHA-256 fixture'a (SHA: Secure Hash Algorithm)).

Metoda, dla każdego zbioru danych#

  1. Sparsuj precyzyjną orbitę SP3; dla wybranego satelity weź każdą pozycję w ITRF (International Terrestrial Reference Frame).
  2. Przelicz epokę GPS w SP3 → TT; wyznacz (UT1, xₚ, yₚ) z finals2000A dla tej epoki.
  3. Obróć każdą pozycję ITRF do GCRS (Geocentric Celestial Reference System) przez łańcuch CIO z tymi EOP — to są inercyjne obserwacje pozycji. Dynamika używa tych samych EOP do obrotu geopotencjału związanego z Ziemią, więc obserwacje i siły dzielą jeden układ odniesienia.
  4. Zainicjuj stan epoki (pozycja = pierwsza pozycja; prędkość = różnica skończona 2. rzędu) i dopasuj wsadowo [r, v, C_R] (Tier 1), a następnie dodatkowo 9 empirycznych przyspieszeń RTN o jednym cyklu na obieg (CPR) (Tier 2, z ograniczeniem a priori).
  5. Podaj RMS (root mean square) po dopasowaniu w RTN i 3D dla obu poziomów oraz surowe nakładanie.

Wyniki#

Galileo, średnia orbita okołoziemska — GREEN (próg < 5 m)#

  • Zbiór danych: końcowa orbita multi-GNSS (GNSS: globalny system nawigacji satelitarnej) ESA/ESOC (ESA: European Space Agency; ESOC: European Space Operations Centre) ESA0MGNFIN, ITRF, próbkowanie co 5 min, satelita E11 (GSAT0101, Galileo In-Orbit Validation (IOV), nominalna MEO (średnia orbita okołoziemska)), 2022-01-01.
  • Otwarte źródło (bez logowania): serwer lustrzany ESA Navigation Office, navigation-office.esa.int/products/gnss-products/2190/. EOP: IERS datacenter.iers.org/data/9/finals2000A.all.
  • Commit walidacji: 66da3ff (tests/agency_galileo.rs).
  • Fixture'y (SHA-256): SP3 e7297f4c…d3a24a3; EOP 6b781d36…cb2ed00f (tests/fixtures/agency/NOTICE.md).
Uruchom Łuk d/o n_obs RMS 3D RTN (R, T, N) C_R Uwagi
Fixture CI, Tier 1 (siły + C_R) 8 h 12 97 0,133 m 0,105, 0,067, 0,047 m 1.174 surowe nakładanie 78,7 km
Fixture CI, Tier 2 (+ empiryczne CPR) 8 h 12 97 0,070 m 0,048, 0,044, 0,027 m — zmniejsza residuum o połowę
Wysyłka pełnego łuku, Tier 1 (przed poprawką†) 24 h 12 289 0,611 m 0,276, 0,381, 0,390 m 1.244 workflow_dispatch

Liczby z fixture'ów CI powyżej zostały zapisane ponownie w 0,36 po poprawce atmosferycznych pływów S2 (xval/s2-air-tide-fix/): Tier 1 dla Galileo zmienił się z 0,132 → 0,133 m (C_R 1,1744 → 1,1743), składowe N dla Swarm-A o 1–2 mm; wartości z wysyłki pełnego łuku nie zostały uruchomione ponownie. † Przed poprawką: wartość z wysyłki pełnego łuku zapisano przed poprawką pływów atmosferycznych S2 z 0,36 i nie uruchomiono jej ponownie na poprawionym kodzie (produkty z całych dób pobiera przepływ pracy wysyłki, nie były dostępne w sesji, która wprowadziła poprawkę). Na fixture'ach CI poprawka zmieniła RMS 3D dla Galileo o mniej niż 1 mm, a składowe Swarm-A o 1–2 mm, więc spodziewana jest zmiana tego samego rzędu; następne uruchomienie workflow_dispatch zapisze ją ponownie.

Pole MEO jest zbieżne grawitacyjnie przy stopniu 8 (wynik Tier-1 dla 8 h jest identyczny co do milimetra przy d/o 8, 10 i 12), więc obcięcie fixture'a CI do d/o 12 jest pomijalne; zadanie wysyłki uruchamia pełne d/o 70. Dopasowanie 8 h osiąga 13 cm przy samych siłach i 7 cm z poziomem empirycznym; pełny łuk 24 h (więcej obciążenia SRP/zaćmieniami, dłuższy zakres dynamiczny) daje 61 cm — wszystko znacznie poniżej progu 5 m.

Swarm-A LEO — GREEN (próg < 5 m)#

  • Zbiór danych: precyzyjna orbita naukowa ESA Swarm Level-2 o zredukowanej dynamice SW_OPER_SP3ACOM_2_ (RDOD_AR, wyprowadzona z GPS, ITRF / IGb14, ~2 cm, przetwarzanie Delft University of Technology), satelita Swarm-A (identyfikator SP3 L47, ~430 km, LEO), 2022-01-01.
  • Otwarte źródło (bez logowania): serwer udostępniania ESA Swarm https://swarm-diss.eo.esa.int/ → Level2daily/Latest_baselines/POD/RD/Sat_A/ (otwarte na mocy ESA Data Policy). EOP: ta sama seria IERS finals2000A 2022-001.
  • Commit walidacji: ceea70a (tests/agency_swarm.rs).
  • Fixture (SHA-256): SP3 6cd84b78…acb733e (tests/fixtures/agency/NOTICE.md).

Łuk LEO dodaje do modelu sił opór atmosferyczny. Ponieważ model gęstości jest statyczny, odcinkowo wykładniczy, orbita jest dopasowywana w dwóch poziomach: poziom dynamiczny (szacowany jest tylko stan epoki; C_R utrzymane na 1, bo na LEO dominuje opór, a SRP jest słabo rozdzielalne na krótkim łuku) oraz poziom o zredukowanej dynamice, który dodaje empiryczne przyspieszenia o jednym cyklu na obieg, przenoszące niezamodelowany opór — operacyjnie znacząca orbita LEO.

Uruchom Łuk d/o n_obs RMS 3D RTN (R, T, N) Uwagi
Fixture CI, dynamiczny (C_R=1) 3 h 70 181 2,687 m 0,925, 2,522, 0,045 m residuum ≈ czysto wzdłuż toru (opór)
Fixture CI, o zredukowanej dynamice (+empiryczne) 3 h 70 181 0,098 m 0,026, 0,092, 0,025 m człon empiryczny pochłania opór

Dopasowanie dynamiczne mieści się w progu 5 m, a residuum leży niemal w całości wzdłuż toru — podręcznikowy ślad oporu na wysokości ~430 km. Poziom empiryczny pochłania ten błąd wzdłuż toru (2,52 → 0,09 m), dając dopasowanie o zredukowanej dynamice rzędu ~10 cm względem własnej orbity ESA o dokładności ~2 cm. Przebieg całodobowy, pełnego stopnia, to ignorowane swarm_full_arc_dispatch (serwer udostępniania podaje produkt przez sesję przeglądarki plików, więc założyciel pobiera SP3 danej doby i wskazuje go w KSHANA_SWARM_SP3). NRLMSISE-00 (NRLMSISE: Naval Research Laboratory Mass Spectrometer and Incoherent Scatter Radar Extended atmosphere model) ze sterowaniem pogodą kosmiczną to wskazane ulepszenie, które jeszcze bardziej poprawiłoby poziom dynamiczny.

LRO, Księżyc — sprawdzone względem wzorca, powyżej progu 5 m (uczciwie) (P4 W4b)#

  • Zbiór danych: rzeczywista zrekonstruowana trajektoria Lunar Reconnaissance Orbiter NASA/JPL (NASA: National Aeronautics and Space Administration; JPL: Jet Propulsion Laboratory) (LRO; NAIF (Navigation and Ancillary Information Facility) −85) z JPL Horizons, geometryczne wektory stanu względem środka Księżyca w ICRF (International Celestial Reference Frame), 2022-01-01, wysokość ~98 km, próbkowanie co 1 minutę (241 epok, 4 h, ~2 obiegi). Użycie tekstowych wektorów Horizons nie wymaga czytnika SPK/SPICE (SPK: jądro efemeryd planetarnych; SPICE: Spacecraft, Planet, Instrument, C-matrix, Events).
  • Grawitacja: pole GRGM660PRIM z GRAIL (Gravity Recovery and Interior Laboratory) (NASA Goddard Space Flight Center, stopień 660), obcięte do d/o 150 i dopasowywane przy d/o 100, obliczane w związanym z Księżycem układzie osi głównych.
  • Otwarte źródło (bez logowania): API (application programming interface) Horizons ssd.jpl.nasa.gov/api/horizons.api; grawitacja przez ICGEM (International Centre for Global Earth Models) icgem.gfz-potsdam.de.
  • Commit walidacji: 4fb82bb (tests/agency_lro.rs).
  • Fixture'y (SHA-256): LRO 574e3518…d100f0; GRGM 0ff04184…f029977ae (tests/fixtures/agency/NOTICE.md).

To jest dynamika względem środka Księżyca — odrębny model sił (src/lunar_od.rs): pole GRGM w układzie związanym z Księżycem (orientacja IAU 2015 średniej osi Ziemi src/lunar_frame.rs złożona ze stałym przesunięciem DE421 (Development Ephemeris 421) od średniej osi Ziemi do osi głównych (ME→PA)), a także trzecie ciała Ziemia (dominujące zaburzenie orbity księżycowej) i Słońce, dopasowane przez ten sam ogólny precyzyjny estymator Gaussa–Newtona, którego używają zbiory danych dla Ziemi (cecha precise_od::ForceModel).

Uruchom Łuk d/o n_obs RMS 3D RTN (R, T, N) Uwagi
Fixture CI, dynamiczny (tylko stan) 4 h 100 241 12,05 m 2,91, 10,11, 5,88 m surowe nakładanie 39,9 m
Fixture CI, o zredukowanej dynamice (+empiryczne 1+2/obieg) 4 h 100 241 6,67 m 3,41, 4,58, 3,44 m człony empiryczne 1 i 2 na obieg pochłaniają błąd wzdłuż toru

Poprawka 0,36: do 0,36 przesunięcie DE421 ME→PA było stosowane w złym kierunku (i z błędną kolejnością kątów Eulera), przez co analityczny układ PA leżał około 208″ od PA zamiast na nim. Teraz jest przepisane tak, jak definiuje je SPICE (sprawdzone względem pxform('MOON_ME','MOON_PA') do 2.6e-16 rad, tests/lunar_me_pa_offset_spice_oracle.rs; docs/design/evidence/fut05b-me-pa-offset-sign/). Powyższe wartości są po poprawce; przed nią było 53,8 m surowo, 12,6 m dynamicznie (3,07, 10,19, 6,81 m) i 6,65 m przy zredukowanej dynamice (3,49, 4,56, 3,35 m).

Te residua są powyżej progu 5 m, który Galileo (0,13 m) i Swarm-A (0,10 m) spełniają, i są podawane uczciwie.

Co faktycznie wyznacza dolną granicę — walidacja krzyżowa klasy DE (i korekta)

Postawiliśmy hipotezę, że czynnikiem ograniczającym jest wierność analitycznej orientacji Księżyca i efemeryd (szereg libracji IAU, dokładny do kilkudziesięciu sekund łuku w porównaniu z numerycznie całkowanym MOON_PA JPL DE (Development Ephemeris), oraz efemerydy Ziemi/Słońca Montenbrucka–Gilla, ~0,3° względem jądra DE/SPICE). Aby to sprawdzić bezpośrednio, wyłączony z przestrzeni roboczej crate walidacji krzyżowej xval/anise-lunar-od podmienia tylko te dwa dane wejściowe na dane klasy DE — orientację osi głównych Księżyca DE440 (Development Ephemeris 440) (moon_pa_de440_200625.bpc) i efemerydy DE440 (de440s.bsp), odczytywane przez ANISE (Attitude, Navigation, Instrument, Spacecraft, Ephemeris — czytnik jąder SPICE napisany w czystym Ruście) — i ponownie uruchamia ten sam estymator (commit ae96a29, SHA-256 jąder c1c7fee… / 60cd55a…):

Poziom analityczny DE-grade
surowe nakładanie 53,8 m 41,5 m
dynamiczny 12,6 m 12,0 m
o zredukowanej dynamice (1+2/obieg) 6,65 m 6,67 m

Uwaga 0,36: większość poniższego zysku na poziomie dynamicznym wynikała z błędu przesunięcia, a nie z danych klasy DE. Po poprawieniu przesunięcia ME→PA stos analityczny daje 39,9 m surowo, 12,05 m dynamicznie i 6,67 m przy zredukowanej dynamice, wobec 41,5, 12,0 i 6,67 m dla klasy DE: dopasowanie analityczne i klasy DE zgadzają się teraz na każdym poziomie. Odczyt 0,30 z poniższej tabeli z tego wynika, pozostawiony tak, jak został napisany.

Hipoteza jest trafna tylko w połowie, a główne twierdzenie wymagało korekty. Orientacja i efemerydy klasy DE poprawiają surowe nakładanie (53,8 → 41,5 m) i dopasowanie dynamiczne (12,6 → 12,0 m) — więc błąd analitycznej orientacji i efemeryd jest rzeczywisty i ogranicza te poziomy. Ale residuum o zredukowanej dynamice pozostawiają w istocie bez zmian (6,65 → 6,67 m): empiryczny poziom 1+2 na obieg już pochłaniał błąd orientacji i efemeryd, więc operacyjną dolną granicę ~6,6 m wyznacza coś innego — residuum, którego baza cykli na obieg nie potrafi pochłonąć, a układy klasy DE nie usuwają. Najbardziej spójnym wyjaśnieniem są niezamodelowane negrawitacyjne siły działające na LRO (ponowne promieniowanie cieplne, odgazowanie) na krótkim łuku 4 h; stopień pola jest wykluczony (identyczne przy d/o 100 i 150) i tolerancja całkowania jest wykluczona (identyczne przy atol 1e-6 wobec 1e-9). Konstruktywny wniosek: szczupły, pozbawiony jąder analityczny stos księżycowy Kshana już dorównuje wiernością klasie DE dla księżycowej orbity o zredukowanej dynamice (operacyjnej) — domyślne podejście oparte wyłącznie na współczynnikach niczego tu nie zostawia na stole. Przekroczenie 5 m wymagałoby zamodelowania negrawitacyjnych sił LRO (modelu skrzydeł-skrzynki i cieplnego specyficznego dla statku oraz dłuższego dopasowania wielołukowego), a nie lepszych układów odniesienia.

Zobowiązanie do uczciwości#

  • „Zielony” próg < 5 m jest osiągnięty dla Galileo MEO (0,13 m dynamicznie) i Swarm-A LEO (2,69 m dynamicznie / 0,10 m przy zredukowanej dynamice). LRO, Księżyc, jest publikowany w stanie, w jakim jest: 12,05 m dynamicznie / 6,67 m przy zredukowanej dynamice (1+2 empiryczne na obieg) — powyżej progu (0,36, po poprawce przesunięcia ME→PA; 12,6 / 6,65 m przed nią). Walidacja krzyżowa klasy DE (powyżej) sprawdziła i poprawiła twierdzenie o czynniku ograniczającym: dolna granica przy zredukowanej dynamice nie wynika z analitycznej orientacji i efemeryd (jądra DE440 zostawiają ją bez zmian na poziomie 6,67 m), więc nie zamyka jej lepsze odwzorowanie układów, lecz zamodelowanie negrawitacyjnej dynamiki LRO — uczciwa, zaktualizowana droga do poziomu metra.
  • Dla LEO poziomy dynamiczny (tylko stan, statyczna gęstość) i o zredukowanej dynamice (z przyspieszeniami empirycznymi) są zawsze podawane osobno, aby czytelnik widział, co pochłaniają człony empiryczne; poziom o zredukowanej dynamice jest orbitą operacyjną. To samo rozdzielenie obowiązuje dla poziomów MEO: empirycznego i samych sił.
  • Każde residuum niesie powyżej swój skrót commita, odwołanie do zbioru danych i sumę kontrolną fixture'a.
  • Zbiory danych sprawdzone względem rzeczywistej prawdy agencji: 3 z 3 (Galileo MEO, Swarm-A LEO, LRO, Księżyc). Spełniające próg < 5 m: 2 z 3 (Galileo ✓, Swarm-A ✓; LRO przy 6,67 m, uczciwie powyżej niego).