Validering af kraftmodeller ved efemeridetilpasning — metode og validerede residualer
Kshanas fulde kraftmotor (src/precise_od.rs) tilpasset til ægte præcisionsbaneprodukter fra rumfartsagenturer, med ærlige, citérbare residualer stemplet med commit-hash. Dette er valideringsregistreringen for køreplanens milepæl P4 ("Præcis astrodynamik: gravitation af høj orden, SRP (solstrålingstryk), validering mod agenturdatasæt").
Hvad et valideret residual betyder her#
Et residual rapporteres kun, når alt det følgende gælder (udformning docs/design/2026-06-09-precise-astrodynamics-design.md):
- Kraftmodellen omfatter enhver perturbation, der har betydning ved den ønskede nøjagtighed: EGM2008 (Earth Gravitational Model 2008) geopotentiale af høj grad (afkortet ved en angivet grad/orden, d/o), faste + oceaniske + atmosfæriske tidevand (
src/tides.rs, IERS (International Earth Rotation and Reference Systems Service) Conventions 2010 kap. 6), tredjelegemer Sol/Måne, kanonkugle-SRP med konisk skygge + estimeretC_R, luftmodstand (kun LEO (lav jordbane)), Schwarzschild- + Lense–Thirring-led fra den generelle relativitetsteori (GR) (src/forces.rs). - Estimatoren er en ægte Gauss–Newton batch-mindste kvadraters metode med en variationel tilstandsovergangsmatrix (krydstjekket mod endelig differens over hele buen til < 1e-6), observationsvægtning med
1/σ²og n-sigma-redigering af outliers. - Referencesystemer/tid bruger ægte IERS finals2000A-parametre for jordorientering (EOP) (UT1 (Universal Time 1, tid for jordens rotation)−UTC (Coordinated Universal Time), polbevægelse;
src/eop.rs) gennem den validerede IAU-kæde (International Astronomical Union) 2006/2000A CIO (Celestial Intermediate Origin) (src/cio.rs). SP3-GPS-tid (Standard Product 3, formatet til præcise baner) (Global Positioning System) → TT (Terrestrial Time) via den faste forskydning på 51,184 s (timescales::gps_to_tt). - Residualer rapporteres i RTN (radial/langs-/tværsporet) og 3-D, med og uden empiriske accelerationer, ved siden af det rå overlap (uden tilpasning).
- Hvert tal er reproducerbart (åben-data CI-port (continuous integration)) og citérbart (commit-hash + datasætreference + fixture-SHA-256 (SHA: Secure Hash Algorithm)).
Metode, pr. datasæt#
- Fortolk den præcise SP3-bane; for den valgte satellit tages hver ITRF-positionsbestemmelse (International Terrestrial Reference Frame).
- Konvertér SP3 GPS-epoken → TT; slå
(UT1, xₚ, yₚ)op i finals2000A ved den epoke. - Roter hver ITRF-positionsbestemmelse til GCRS (Geocentric Celestial Reference System) gennem CIO-kæden med disse EOP — de inertiale positionsobservationer. Dynamikken bruger de samme EOP til geopotentialets jordfaste rotation, så observationer og kræfter deler ét referencesystem.
- Initialisér epoketilstanden (position = første positionsbestemmelse; hastighed = 2. ordens endelig differens) og tilpas
[r, v, C_R]i batch (niveau 1), derefter desuden de 9 empiriske RTN-accelerationer med cyklus pr. omløb (CPR) (niveau 2, med forhåndsbegrænsning). - Rapportér RTN + 3-D RMS (root mean square) efter tilpasning for begge niveauer og det rå overlap.
Resultater#
Galileo i medium jordbane — GREEN (< 5 m tærskel)#
- Datasæt: endelig multi-GNSS-bane fra ESA/ESOC (ESA: European Space Agency; ESOC: European Space Operations Centre) (GNSS: global navigation satellite system)
ESA0MGNFIN, ITRF, 5-minutters sampling, satellit E11 (GSAT0101, Galileo In-Orbit Validation (IOV), nominel MEO (medium jordbane)), 2022-01-01. - Åben kilde (uden login): spejl hos ESA Navigation Office,
navigation-office.esa.int/products/gnss-products/2190/. EOP: IERSdatacenter.iers.org/data/9/finals2000A.all. - Valideringscommit:
66da3ff(tests/agency_galileo.rs). - Fixtures (SHA-256): SP3
e7297f4c…d3a24a3; EOP6b781d36…cb2ed00f(tests/fixtures/agency/NOTICE.md).
| Kør | Bue | d/o | n_obs | 3-D RMS | RTN (R, T, N) | C_R |
Noter |
|---|---|---|---|---|---|---|---|
CI-fixture, niveau 1 (kraft + C_R) |
8 t | 12 | 97 | 0,133 m | 0,105, 0,067, 0,047 m | 1.174 | råt overlap 78,7 km |
| CI-fixture, niveau 2 (+ empirisk CPR) | 8 t | 12 | 97 | 0,070 m | 0,048, 0,044, 0,027 m | — | halverer residualet |
| Afvikling af hele buen, niveau 1 (før rettelsen†) | 24 t | 12 | 289 | 0,611 m | 0,276, 0,381, 0,390 m | 1.244 | workflow_dispatch |
CI-fixture-tallene ovenfor blev genoptaget i 0,36 efter S2-rettelsen af lufttidevand (xval/s2-air-tide-fix/): Galileo niveau 1 flyttede sig 0,132 → 0,133 m (C_R 1,1744 → 1,1743), Swarm-A's N-komponenter med 1–2 mm; tallene for afvikling af hele buen blev ikke kørt igen. † Før rettelsen: tallet for afvikling af hele buen blev optaget før 0,36-rettelsen S2 af lufttidevand og er ikke kørt igen på den rettede kode (de fulde døgnprodukter hentes af dispatch-workflowet og var ikke tilgængelige i den session, der lavede rettelsen). På CI-fixtures flyttede rettelsen Galileos 3-D RMS med under 1 mm og Swarm-A's komponenter med 1–2 mm, så en ændring af samme størrelsesorden forventes; den næste workflow_dispatch-kørsel optager den igen.
MEO-feltet er gravitationsmæssigt konvergeret ved grad 8 (niveau 1-resultatet for 8 t er identisk ved d/o 8, 10 og 12 på millimeteren), så CI-fixturens afkortning ved d/o 12 er ubetydelig; dispatch-jobbet kører den fulde d/o 70. Tilpasningen på 8 t når 13 cm med ren kraft og 7 cm med det empiriske niveau; den fulde bue på 24 t (mere SRP-/formørkelsespåvirkning, længere dynamisk spændvidde) giver 61 cm — alt sammen langt inden for tærsklen på 5 m.
Swarm-A i LEO — GREEN (< 5 m tærskel)#
- Datasæt: ESA Swarm Level-2 reduceret-dynamisk præcis videnskabelig bane
SW_OPER_SP3ACOM_2_(RDOD_AR, GPS-afledt, ITRF / IGb14, ~2 cm, behandlet af Delft University of Technology), satellit Swarm-A (SP3-idL47, ~430 km LEO), 2022-01-01. - Åben kilde (uden login): ESA Swarm-distributionsserver
https://swarm-diss.eo.esa.int/→Level2daily/Latest_baselines/POD/RD/Sat_A/(åben under ESA Data Policy). EOP: den samme IERSfinals2000A2022-001-serie. - Valideringscommit:
ceea70a(tests/agency_swarm.rs). - Fixture (SHA-256): SP3
6cd84b78…acb733e(tests/fixtures/agency/NOTICE.md).
En LEO-bue føjer atmosfærisk luftmodstand til kraftmodellen. Fordi tæthedsmodellen er en statisk stykkevis eksponentiel, tilpasses banen i to niveauer: et dynamisk niveau (kun epoketilstanden estimeres; C_R fastholdt på 1, da luftmodstand dominerer i LEO, og SRP kun dårligt lader sig adskille over en kort bue), og et reduceret-dynamisk niveau, der tilføjer de empiriske accelerationer med cyklus pr. omløb, som bærer den ikke-modellerede luftmodstand — den operationelt meningsfulde LEO-bane.
| Kør | Bue | d/o | n_obs | 3-D RMS | RTN (R, T, N) | Noter |
|---|---|---|---|---|---|---|
CI-fixture, dynamisk (C_R=1) |
3 t | 70 | 181 | 2,687 m | 0,925, 2,522, 0,045 m | residual ≈ ren langs sporet (luftmodstand) |
| CI-fixture, reduceret-dynamisk (+empirisk) | 3 t | 70 | 181 | 0,098 m | 0,026, 0,092, 0,025 m | det empiriske absorberer luftmodstanden |
Den dynamiske tilpasning klarer tærsklen på 5 m, og residualet ligger næsten udelukkende langs sporet — luftmodstandens lærebogssignatur ved ~430 km. Det empiriske niveau absorberer denne fejl langs sporet (2,52 → 0,09 m) og giver en reduceret-dynamisk tilpasning på ~10 cm mod ESA's egen bane på ~2 cm. Kørslen af hele døgnet med fuld grad er det ignorerede swarm_full_arc_dispatch (distributionsserveren leverer produktet gennem sin filbrowser-session, så grundlæggeren henter dagens SP3 og peger KSHANA_SWARM_SP3 på den). NRLMSISE-00 (NRLMSISE: Naval Research Laboratory Mass Spectrometer and Incoherent Scatter Radar Extended atmosfæremodel) med rumvejrsdrivere er den noterede opgradering, der ville stramme det dynamiske niveau yderligere.
LRO måne — valideret, over tærsklen på 5 m (ærligt) (P4 W4b)#
- Datasæt: den ægte rekonstruerede bane for NASA/JPL (NASA: National Aeronautics and Space Administration; JPL: Jet Propulsion Laboratory) Lunar Reconnaissance Orbiter (LRO; NAIF (Navigation and Ancillary Information Facility) −85) fra JPL Horizons, geometriske månecentrerede tilstandsvektorer i ICRF (International Celestial Reference Frame), 2022-01-01, ~98 km højde, 1-minuts sampling (241 epoker, 4 t, ~2 omløb). Brug af Horizons' tekstvektorer kræver ingen SPK/SPICE-læser (SPK: planetarisk efemeridekerne; SPICE: Spacecraft, Planet, Instrument, C-matrix, Events).
- Gravitation: GRGM660PRIM-feltet fra GRAIL (Gravity Recovery and Interior Laboratory) (NASA Goddard Space Flight Center, grad 660), afkortet til d/o 150 og tilpasset ved d/o 100, evalueret i det månefaste hovedaksesystem.
- Åben kilde (uden login): Horizons API (application programming interface)
ssd.jpl.nasa.gov/api/horizons.api; gravitation via ICGEM (International Centre for Global Earth Models)icgem.gfz-potsdam.de. - Valideringscommit:
4fb82bb(tests/agency_lro.rs). - Fixtures (SHA-256): LRO
574e3518…d100f0; GRGM0ff04184…f029977ae(tests/fixtures/agency/NOTICE.md).
Dette er månecentreret dynamik — en særskilt kraftmodel (src/lunar_od.rs): GRGM-feltet i det månefaste system (IAU 2015-orienteringen for gennemsnitlig jord src/lunar_frame.rs sammensat med den faste DE421-forskydning (Development Ephemeris 421) fra gennemsnitlig jord til hovedakser (ME→PA)), plus Jorden (den dominerende perturbation i månebaner) og Solen som tredjelegemer, tilpasset gennem den samme generiske præcise Gauss–Newton-estimator, som jorddatasættene bruger (traitet precise_od::ForceModel).
| Kør | Bue | d/o | n_obs | 3-D RMS | RTN (R, T, N) | Noter |
|---|---|---|---|---|---|---|
| CI-fixture, dynamisk (kun tilstand) | 4 t | 100 | 241 | 12,05 m | 2,91, 10,11, 5,88 m | råt overlap 39,9 m |
| CI-fixture, reduceret-dynamisk (+empirisk 1+2/omløb) | 4 t | 100 | 241 | 6,67 m | 3,41, 4,58, 3,44 m | 1- og 2-pr.-omløb empiriske absorberer det langs sporet |
Rettelse i 0,36: indtil 0,36 blev DE421 ME→PA-forskydningen anvendt i den forkerte retning (og med den forkerte Euler-rækkefølge), hvilket placerede det analytiske PA-system omkring 208″ fra PA i stedet for på det. Den er nu transskriberet, som SPICE definerer den (kontrolleret mod pxform('MOON_ME','MOON_PA') til 2.6e-16 rad, tests/lunar_me_pa_offset_spice_oracle.rs; docs/design/evidence/fut05b-me-pa-offset-sign/). Tallene ovenfor er efter rettelsen; før den var de 53,8 m rå, 12,6 m dynamisk (3,07, 10,19, 6,81 m) og 6,65 m reduceret-dynamisk (3,49, 4,56, 3,35 m).
Disse residualer ligger over tærsklen på 5 m, som Galileo (0,13 m) og Swarm-A (0,10 m) klarer, og rapporteres ærligt.
Hvad der faktisk sætter gulvet — en krydsvalidering på DE-niveau (og en rettelse)
Vi antog, at den begrænsende faktor var troværdigheden af den analytiske månes orientering og efemeride (IAU's librationsserie, nøjagtig til titals buesekunder i forhold til JPL's numerisk integrerede DE (Development Ephemeris) MOON_PA, og Montenbruck–Gill-efemeriden for Jorden/Solen, ~0,3° i forhold til en DE/SPICE-kerne). For at teste det direkte bytter krydsvalideringskassen xval/anise-lunar-od, som er udelukket fra workspace, kun de to input ud med input på DE-niveau — DE440-orienteringen (Development Ephemeris 440) af månens hovedakser (moon_pa_de440_200625.bpc) og DE440-efemeriden (de440s.bsp), læst gennem ANISE (Attitude, Navigation, Instrument, Spacecraft, Ephemeris — en ren Rust-læser af SPICE-kerner) — og kører den samme estimator igen (commit ae96a29, kerne-SHA-256 c1c7fee… / 60cd55a…):
| Niveau | analytisk | DE-grade |
|---|---|---|
| råt overlap | 53,8 m | 41,5 m |
| dynamisk | 12,6 m | 12,0 m |
| reduceret-dynamisk (1+2/omløb) | 6,65 m | 6,67 m |
Note for 0,36: det meste af gevinsten i det dynamiske niveau nedenfor skyldtes forskydningsfejlen, ikke input på DE-niveau. Med ME→PA-forskydningen rettet giver den analytiske stak 39,9 m rå, 12,05 m dynamisk og 6,67 m reduceret-dynamisk mod 41,5, 12,0 og 6,67 m på DE-niveau: den analytiske tilpasning og tilpasningen på DE-niveau stemmer nu overens på hvert niveau. Aflæsningen på 0,30 i tabellen nedenfor følger heraf og er bevaret, som den blev skrevet.
Hypotesen er kun halvt rigtig, og hovedpåstanden måtte rettes. Orientering og efemeride på DE-niveau forbedrer faktisk det rå overlap (53,8 → 41,5 m) og den dynamiske tilpasning (12,6 → 12,0 m) — så fejlen i den analytiske orientering/efemeride er reel og begrænser de niveauer. Men de lader det reducerede-dynamiske residual i det væsentlige uændret (6,65 → 6,67 m): det empiriske niveau med 1+2 pr. omløb absorberede allerede fejlen i orientering/efemeride, så det operationelle gulv på ~6,6 m sættes af noget andet — et residual, som basen med cyklus pr. omløb ikke kan absorbere, og som referencesystemer på DE-niveau ikke fjerner. Den mest sammenhængende forklaring er ikke-modellerede ikke-gravitationelle kræfter på LRO (termisk genudstråling, afgasning) over den korte bue på 4 t; feltets grad er udelukket (identisk ved d/o 100 og 150), og integratortolerance er udelukket (identisk ved atol 1e-6 mod 1e-9). Den konstruktive følge: Kshanas slanke, kernefri analytiske månestak matcher allerede troværdigheden på DE-niveau for den reducerede-dynamiske (operationelle) månebane — standarden med rene koefficienter efterlader intet på bordet der. At nå under 5 m ville kræve modellering af LRO's ikke-gravitationelle kræfter (en rumfartøjsspecifik box-wing-/termisk model og en længere tilpasning over flere buer), ikke bedre referencesystemer.
Ærlighedskontrakt#
- Den "grønne" tærskel på < 5 m er nået for Galileo MEO (0,13 m dynamisk) og Swarm-A LEO (2,69 m dynamisk / 0,10 m reduceret-dynamisk). LRO måne offentliggøres som den er, med 12,05 m dynamisk / 6,67 m reduceret-dynamisk (1+2 pr. omløb empirisk) — over tærsklen (0,36, efter rettelsen af ME→PA-forskydningen; 12,6 / 6,65 m før den). En krydsvalidering på DE-niveau (ovenfor) testede og rettede påstanden om den begrænsende faktor: gulvet for det reducerede-dynamiske niveau er ikke den analytiske orientering/efemeride (DE440-kernerne lader det uændret på 6,67 m), så det lukkes ikke af bedre referencesystemer, men ved at modellere LRO's ikke-gravitationelle dynamik — den ærlige, opdaterede vej til meterniveau.
- For LEO rapporteres det dynamiske niveau (kun tilstand, statisk tæthed) og det reducerede-dynamiske niveau (med empiriske accelerationer) altid hver for sig, så læseren kan se, hvad de empiriske led absorberer; det reducerede-dynamiske niveau er den operationelle bane. Den samme adskillelse gælder for de empiriske niveauer og niveauerne med ren kraft i MEO.
- Hvert residual bærer sin commit-hash, datasætreference og fixture-kontrolsum ovenfor.
- Datasæt valideret mod ægte reference fra agenturer: 3 af 3 (Galileo MEO, Swarm-A LEO, LRO måne). Når tærsklen på < 5 m: 2 af 3 (Galileo ✓, Swarm-A ✓; LRO ved 6,67 m, ærligt talt over den).