Solsystemet og positionering omkring andre legemer
To scenarietyper virker ud over Jord-Måne-systemet:
solar-systemrapporterer hvert legeme i kataloget ved én epoke: position og hastighed, fysiske konstanter, lystid og afstand fra et observatørlegeme samt et banespor.body-pntplacerer en navigationsbruger (en orbiter eller en landingsfarkost på overfladen) omkring ethvert katalogiseret legeme bortset fra Solen og Jorden, med en lokal navigationskonstellation og en valgfri dybderumsafstand fra Jorden.
Typen constellation-design bruger det samme katalog til at bygge konstellationer omkring ethvert af disse legemer (CONSTELLATION-DESIGN.md).
Kode: src/body.rs (kataloget og dets konstanter), src/ephem.rs (de analytiske efemerider), src/ephem_provider.rs (AnalyticSolarSystem, den udbyder, begge typer læser), src/solar_system.rs og src/body_pnt.rs (typerne) og src/radiometric.rs (lystid, tovejsafstand og Shapiro-forsinkelsen). Tests: tests/solar_system_horizons_reference.rs og enhedstestene for hvert modul.
Kataloget#
Atten legemer: Solen, de otte planeter, Pluto, Månen, Phobos, Deimos, de fire galilæiske måner (Io, Europa, Ganymedes, Callisto) og Titan. Navne matches uden hensyn til store og små bogstaver. For hvert legeme indeholder src/body.rs gravitationsparameteren GM, ækvatorial- og volumetrisk middelradius, den anden zonale harmoniske J2 og dens referenceradius, hvor en er publiceret, og den internationale astronomiske unions (IAU) model for pol og nulmeridian (siderisk rotationsperiode, negativ for en retrograd rotator). Hver værdi angiver sin kilde i koden.
Hvor positionerne kommer fra#
| Legemer | Model | Mærkat |
|---|---|---|
| Merkur til Saturn og Jorden, fra tabel 1 (1800 e.Kr. til 2050 e.Kr.) | Jet Propulsion Laboratorys (JPL) kepler-elementer af Standish og Williams, https://ssd.jpl.nasa.gov/planets/approx_pos.html | VALIDATED |
| Alle otte planeter fra tabel 2a/2b (3000 f.Kr. til 3000 e.Kr.) | den samme sides elementer for lange tidsrum | VALIDATED |
| Uranus og Neptun fra tabel 1 | som ovenfor | MODELLED |
| Pluto | rækken i tabel 1 fra 1992 (kun 1800 e.Kr. til 2050 e.Kr.; den nuværende side har fjernet den og angiver ingen fejl) | MODELLED |
| Månen | Montenbruck og Gills månerække, der opdeler Jord-Måne-barycentret | MODELLED |
| Phobos, Deimos, de galilæiske måner, Titan | JPL's middelelementer med IAU's rotationsmodel | MODELLED |
table = "auto" (standarden) tager tabel 1 inden for 1800 e.Kr. til 2050 e.Kr. og tabel 2a/2b uden for; table1 og table2 gennemtvinger én. Pluto uden for sin tabel er en fejl, ikke en ekstrapolation. Epoken er en ISO 8601-dato og -tid i Coordinated Universal Time (UTC), omregnet via Terrestrial Time (TT) med skudsekunderne til Barycentric Dynamical Time (TDB), eller en juliansk TDB-dato angivet direkte med epoch_jd_tdb.
Den uafhængige reference er JPL Horizons (https://ssd.jpl.nasa.gov/horizons/, Development Ephemeris DE441), med de forespurgte vektorer indskrevet under tests/fixtures/solar_system/. En planetrække er VALIDATED, hvor den holder sig inden for det dobbelte af Standish-sidens egen nominelle fejl. Målt af cargo test --test solar_system_horizons_reference -- --nocapture:
- Tabel 1, Merkur til Saturn og Jord-Måne-barycentret, 12 epoker fra 1800 til 2049: værst 1,87 gange den nominelle fejl (Saturns afstand).
- Tabel 2a/2b, alle otte planeter, 15 epoker fra omkring 1000 f.Kr. til 2500 e.Kr.: værst 1,71 gange (Mars' afstand).
- Uranus og Neptun fra tabel 1 overskrider sidens tal mod DE441: 2,04 og 5,16 gange den nominelle længdegradsfejl. De er fastholdt under seks gange og forbliver MODELLED.
- Pluto: inden for 39,2 buesekunder i længdegrad og 1.14e9 m i afstand.
- Måner, værste vinkel set fra planeten over 2000 til 2040: Phobos 5,65 grader, Deimos 0,38, Io 0,40, Europa 1,63, Ganymedes 0,22, Callisto 0,27, Titan 3,31. Den geocentriske Måne: 0,046 grader.
- Planeternes hastigheder: værste relative fejl 3.72e-3 af farten (MODELLED).
Månen og de syv måner er målt med fastholdte tærskler, men der findes ingen publiceret grænse at validere dem mod, så de er MODELLED.
De analytiske efemerider behøver ingen kernefil. En JPL Development Ephemeris-kerne (positioner af DE-klasse) læses kun af de separate krydsvalideringscrates under xval/, gennem den samme trait EphemerisProvider; hovedcraten afhænger ikke af dem.
solar-system#
kind = "solar-system"
epoch = "2030-01-01T00:00:00"
bodies = ["Earth", "Moon", "Mars", "Jupiter", "Europa"]
observer = "Mars"
[[links]]
from = "Europa"
to = "Earth"
Solar system at 2030-01-01T00:00:00 (JD 2462502.50080 TDB), 5 bodies, observer Mars
Standish Table 1 (1800 AD to 2050 AD)
Earth 0.9833 au lon 100.18 deg light time 1038.1 s [VALIDATED]
Moon 0.9815 au lon 100.28 deg light time 1037.8 s [MODELLED]
Mars 1.3814 au lon 337.83 deg observer [VALIDATED]
Jupiter 5.4235 au lon 222.19 deg light time 3068.4 s [VALIDATED]
Europa 5.4194 au lon 222.17 deg light time 3066.6 s [MODELLED]
link Europa -> Earth: one-way 2993.281 s, two-way 5986.612 s, Shapiro 33.7 us, Sun 50.0 deg
Input: epoch (standard 2026-01-01T00:00:00) eller epoch_jd_tdb; bodies (standard alle atten); observer (standard Jorden); track_points pr. bane (8 til 2000, standard 120); table; og et vilkårligt antal [[links]], hver modtaget ved epoken.
Pr. legeme giver resultatet dets klasse og forælder, NASA Navigation and Ancillary Information Facility (NAIF)-identifikatoren, den heliocentriske position og hastighed i International Celestial Reference Frame (ICRF, ækvatorial J2000) i meter og meter pr. sekund, den ekliptiske længdegrad, breddegrad og afstand, positionen i forhold til forælderen, omløbstiden, konstanterne ovenfor, polen og nulmeridianen ved epoken, Standish' nominelle fejl, hvor en findes, dens etiket og metodestreng samt et banespor over én omdrejning (heliocentrisk for en planet, centreret på forælderen for en måne; ét enkelt punkt for Solen). Forbindelsen fra observatøren og hver ekstra forbindelse giver:
- den newtonske envejs-lystid, løst af den radiometriske fikspunkts-lystidsløser med senderen ved sin retarderede position, og den tilsvarende envejsafstand;
- tovejs-lystiden og -afstanden;
- Solens Shapiro-forsinkelse, rapporteret separat og ikke lagt til;
- vinklen til Solen.
Lystiden er VALIDATED mod den envejs-lystid, Horizons rapporterer: Mars og Jupiter til Jordens centrum ved fire epoker fra 2000 til 2040, værste fejl 0,070 s for Mars mod en tærskel på 0,207 s og 1,31 s for Jupiter mod 4,04 s. Tærsklen er det dobbelte af summen af Standish-afstandsfejlene for målet og Jord-Måne-barycentret, divideret med lysets hastighed: lystiden kan ikke blive bedre end positionerne. Det er den newtonske geometriske lystid, ikke en relativistisk eller plasmakorrigeret observabel.
Den medfølgende scenarios/solar-system-tour.toml rapporterer alle atten legemer ved 2026-09-28T00:00:00 med spor på 180 punkter og tilføjer forbindelserne Mars til Jupiter (envejs 2193,539 s), Saturn til Jorden (4212,176 s) og Europa til Jupiter (2,218 s).
body-pnt#
En bruger navigerer omkring et legeme valgt ved navn (ethvert katalogiseret legeme undtagen Solen og Jorden, som typen afviser) med to slags målinger:
- envejs-pseudoafstande fra en Walker-delta-navigationskonstellation omkring legemet (
planesgangesats_per_plane, inter-plan-faseforskydningphasing_f), fløjet som tolegemebaner med legemets egen sekulære drift fraJ2; brugerens ur er ukendt, så disse rækker har en kolonne for urbias; - eventuelt en tovejsafstand fra Jordens centrum (
[earth_link]), som ikke behøver noget brugerur og rapporteres som en envejsafstand med sin egen støj. Jordens retning og afstand kommer fra den analytiske efemeride ved hver epoke.
En sigtelinje er blokeret, når den passerer inden for legemets middelradius (korde-testen for typen mars-pnt), og en overfladebruger har også brug for elevationsmasken. Ved hver epoke danner kørslen den geometriske og positionelle præcisionsfortynding (GDOP, PDOP) for konstellationen alene, den formelle én-sigma-positionsusikkerhed med og uden Jord-rækken og en seedet Gauss-Newton-mindste-kvadraters positionsbestemmelse begge veje, så rapporten viser, hvad dybderumsforbindelsen tilfører.
| Tabel | Felt | Standard |
|---|---|---|
| øverste niveau | body |
Mars |
epoch / epoch_jd_tdb |
2027-02-19T00:00:00, en Mars-opposition | |
duration_s, step_s |
86.400 s, 600 s | |
seed |
1 | |
table |
auto |
|
[user] |
kind |
orbiter (eller surface) |
orbiter: altitude_km, inclination_deg, raan_deg, u0_deg, eccentricity |
400 km, 75 grader, 0, 0, 0 | |
overflade: lat_deg, lon_deg, height_m |
0, 0, 0 | |
[constellation] |
planes, sats_per_plane, phasing_f |
3, 4, 1 |
altitude_km |
tre middelradier | |
inclination_deg |
60 grader | |
sigma_range_m |
1 m | |
mask_deg (overfladebruger) |
10 grader | |
[earth_link] |
enabled, sigma_range_m |
sand, 1 m |
raan_deg er den rette opstigning af den opstigende knude i legemets ækvatorialsystem og u0_deg breddeargumentet ved epoken.
De to medfølgende scenarier, som de kører med kshana 0,36 (portabel matematik, den samme på alle platforme):
scenarios/mars-orbit-pnt.toml |
scenarios/europa-surface-pnt.toml |
|
|---|---|---|
| Bruger | orbiter, 300 km, 93 grader | overflade, 20 grader N, 60 grader Ø |
| Relæer | 12 ved 10.000 km, 60 grader | 12 ved 4500 km, 55 grader, maske på 10 grader |
| Tidsrum | ét sol, 296 epoker | 306.822 s, 171 epoker |
| Jordens lystid, envejs / rundtur | 338,3 s / 676,6 s | 2182,9 s / 4365,8 s |
| Jorden i sigte | 0,811 af epokerne | 0.439 |
| Tilgængelighed, kun relæer / med Jord-afstanden | 1.000 / 1.000 | 0.480 / 0.713 |
| Median-PDOP | 1.375 | 5.360 |
| RMS af positionsfejl, kun relæer / med Jord-afstanden | 1,883 m / 1,629 m | 112,742 m / 86,499 m |
| Median af formel sigma, kun relæer / med Jord-afstanden | 1,375 m / 1,304 m | 5,360 m / 4,239 m |
(RMS: rodmiddelkvadrat.) Én Europa-epoke (t = 16.200 s) ligger på tilgængelighedens kant, hvor den sidste bit af en beregnet radius afgør, om dens positionsbestemmelse med Jord-afstand lykkes. Før 0,36 afgjorde værtens matematikbibliotek det, så det samme scenarie udskrev 0,719 og 86,147 m på Linux x86-64 og 0,725 og 85,800 m på macOS arm64 for de to tal "med Jord-afstanden". Siden 0,36 beregnes hver transcendent funktion af det portable matematikbibliotek, epoken afgøres på én måde på alle platforme (native og WebAssembly giver de samme bytes), og tallene er 0,713 og 86,499 m (docs/revisions/STUDIO15-portable-math-rebaseline.md). Omkring Europa løfter Jord-afstanden tilgængeligheden fra 0,480 til 0,713 af epokerne. Hvor Jorden aldrig klarer randen, tilfører forbindelsen intet: en landingsfarkost ved 89,5 grader S på Månen under en relæskal med 12 satellitter på 5000 km har Jorden i sigte ved 0 af 145 epoker, og dens fejl er de samme med og uden forbindelsen.
MODELLED. Relæbanerne ser bort fra tredjelegemer (Jupiters træk i relæer omkring Europa er ikke modelleret), støjen er gaussisk på de angivne niveauer, og målemodellen er øjeblikkelig, ikke lystidsforsinket. Hvad der kontrolleres: relæets omløbstid mod Keplers tredje lov for legemet, en orbiter, der holder sin radius, og en landingsfarkost på overfladen, at Jord-afstanden aldrig forværrer den formelle usikkerhed, at de seedede positionsfejl stemmer med den formelle sigma (rodmiddelkvadrat af fejl over sigma i [0,6, 1,5]) og en deterministisk kørsel. Intet af dette er en missions navigationsdata.
Typen ephemeris#
På trods af navnet er ephemeris en jordsatellittype: én satellit, fra et to-linjers elementsæt (TLE) gennem propagatoren Simplified General Perturbations 4 (SGP4) eller fra en analytisk bane, over et tidsgitter. Ved hvert trin udsender den den inertiale tilstand (position og hastighed) i rammen true equator, mean equinox (TEME) og i Geocentric Celestial Reference System (GCRS), den jordfaste position, World Geodetic System 1984 (WGS 84)-undersatellitpunktet og, for en valgfri jordstation, azimut, elevation, afstand og afstandsrate. eop_finals2000a tager teksten fra en International Earth Rotation and Reference Systems Service (IERS)-fil finals2000A for UT1−UTC og polbevægelse pr. epoke. Kode: src/ephemeris.rs.
$ kshana scenarios/ephemeris.toml
scenario 0d4dd01b3160 | sgp4 (TLE) | 559 samples | alt 419–434 km | |lat| ≤ 51.8° | speed 7653–7661 m/s | max el 25.7° peak Doppler 34.3 kHz
Ikke modelleret#
- Relativistiske lystidsled ud over den separat rapporterede Shapiro-forsinkelse og den solare plasmaforsinkelse.
- Positioner bedre end den Standish- og middelelementnøjagtighed, der er angivet ovenfor; der er ingen kerneindlæser i hovedcraten.
- Tredjelegemeforstyrrelser på relæer i
body-pntog på baner iconstellation-design. - Terræn på ethvert legeme: et legeme er sin middelkugle.
- Interoperabilitetseksport: CZML, KML og GeoJSON beskriver positioner omkring Jorden, så scenarierne
solar-systemogbody-pnteksporterer ingen (INTEROP.md).
Referencer#
- E. M. Standish og J. G. Williams, "Keplerian Elements for Approximate Positions of the Major Planets," JPL Solar System Dynamics, https://ssd.jpl.nasa.gov/planets/approx_pos.html.
- O. Montenbruck og E. Gill, Satellite Orbits: Models, Methods and Applications, Springer, 2000, §3.3.2.
- B. A. Archinal et al., "Report of the IAU Working Group on Cartographic Coordinates and Rotational Elements: 2015," Celestial Mechanics and Dynamical Astronomy 130, 2018.
- JPL Horizons, https://ssd.jpl.nasa.gov/horizons/.