Strojový překlad, nekontrolovaný rodilým mluvčím. Referenční je anglická verze.

Oběžné dráhyUpravit na GitHubuZdroj: docs/SOLAR-SYSTEM.md

Sluneční soustava a určování polohy u jiných těles

Dva druhy scénářů pracují za hranicí systému Země–Měsíc:

  • solar-system hlásí každé těleso katalogu v jedné epoše: polohu a rychlost, fyzikální konstanty, světelný čas a vzdálenost od tělesa pozorovatele a dráhovou stopu.
  • body-pnt umísťuje navigačního uživatele (oběžnici nebo povrchový lander) kolem libovolného tělesa katalogu jiného než Slunce a Země, s místní navigační konstelací a nepovinnou vzdáleností z hlubokého vesmíru od Země.

Druh constellation-design používá tentýž katalog ke stavbě konstelací kolem kteréhokoli z těchto těles (CONSTELLATION-DESIGN.md).

Kód: src/body.rs (katalog a jeho konstanty), src/ephem.rs (analytické efemeridy), src/ephem_provider.rs (AnalyticSolarSystem, poskytovatel, který čtou oba druhy), src/solar_system.rs a src/body_pnt.rs (druhy) a src/radiometric.rs (světelný čas, obousměrná vzdálenost a Shapirovo zpoždění). Testy: tests/solar_system_horizons_reference.rs a jednotkové testy každého modulu.

Katalog#

Osmnáct těles: Slunce, osm planet, Pluto, Měsíc, Phobos, Deimos, čtyři Galileiho měsíce (Io, Europa, Ganymed, Callisto) a Titan. Názvy se porovnávají bez ohledu na velikost písmen. U každého nese src/body.rs gravitační parametr GM, rovníkový a objemový střední poloměr, druhou zonální harmonickou J2 a její referenční poloměr, je-li publikován, a model pólu a nultého poledníku Mezinárodní astronomické unie (IAU) (siderická perioda rotace, záporná pro retrográdní rotátor). Každá hodnota cituje svůj zdroj v kódu.

Odkud se berou polohy#

Tělesa Model Popisek
Merkur až Saturn a Země, z tabulky 1 (1800 n. l. až 2050 n. l.) Keplerovské elementy Jet Propulsion Laboratory (JPL) od Standishe a Williamse, https://ssd.jpl.nasa.gov/planets/approx_pos.html VALIDATED
Všech osm planet z tabulek 2a/2b (3000 př. n. l. až 3000 n. l.) dlouhorozsahové elementy téže stránky VALIDATED
Uran a Neptun z tabulky 1 jako výše MODELLED
Pluto řádek tabulky 1 z roku 1992 (pouze 1800 n. l. až 2050 n. l.; současná stránka jej odstranila a neuvádí žádnou chybu) MODELLED
Měsíc lunární řada Montenbrucka a Gilla, s rozdělením barycentra Země–Měsíc MODELLED
Phobos, Deimos, Galileiho měsíce, Titan střední elementy JPL s rotačním modelem IAU MODELLED

table = "auto" (výchozí) bere tabulku 1 uvnitř 1800 n. l. až 2050 n. l. a tabulky 2a/2b mimo ni; table1 a table2 vynutí jednu z nich. Pluto mimo svou tabulku je chyba, nikoli extrapolace. Epocha je datum a čas ISO 8601 v koordinovaném světovém čase (UTC), převedený přes pozemský čas (TT) s přestupnými sekundami na barycentrický dynamický čas (TDB), nebo juliánské datum TDB zadané přímo pomocí epoch_jd_tdb.

Orákulem je JPL Horizons (https://ssd.jpl.nasa.gov/horizons/, Development Ephemeris DE441), s dotazovanými vektory uloženými v tests/fixtures/solar_system/. Řádek planety je VALIDATED, pokud zůstává do dvojnásobku vlastní nominální chyby stránky Standishe. Změřeno pomocí cargo test --test solar_system_horizons_reference -- --nocapture:

  • Tabulka 1, Merkur až Saturn a barycentrum Země–Měsíc, 12 epoch od 1800 do 2049: nejhorší 1,87 násobku nominální chyby (vzdálenost Saturnu).
  • Tabulky 2a/2b, všech osm planet, 15 epoch od asi 1000 př. n. l. do 2500 n. l.: nejhorší 1,71 násobku (vzdálenost Marsu).
  • Uran a Neptun z tabulky 1 překračují údaje stránky vůči DE441: 2,04 a 5,16 násobku nominální chyby délky. Jsou zafixovány pod šestinásobkem a zůstávají MODELLED.
  • Pluto: do 39,2 obloukových vteřin v délce a 1.14e9 m ve vzdálenosti.
  • Měsíce, nejhorší úhel viděný z planety v letech 2000 až 2040: Phobos 5,65 stupně, Deimos 0,38, Io 0,40, Europa 1,63, Ganymed 0,22, Callisto 0,27, Titan 3,31. Geocentrický Měsíc: 0,046 stupně.
  • Rychlosti planet: nejhorší relativní chyba 3.72e-3 rychlosti (MODELLED).

Měsíc a sedm měsíců jiných planet jsou změřeny se zafixovanými prahy, ale neexistuje publikovaná mez, proti níž by je bylo možné ověřit, takže jsou MODELLED.

Analytické efemeridy nepotřebují soubor jádra. Jádro JPL Development Ephemeris (polohy třídy DE) čtou pouze samostatné křížově validační crate v xval/, přes tentýž trait EphemerisProvider; hlavní crate na nich nezávisí.

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

Vstupy: epoch (výchozí 2026-01-01T00:00:00) nebo epoch_jd_tdb; bodies (výchozí všech osmnáct); observer (výchozí Země); track_points na oběžnou dráhu (8 až 2000, výchozí 120); table; a libovolný počet [[links]], každý přijímaný v epoše.

Pro každé těleso výsledek uvádí jeho třídu a mateřské těleso, identifikátor NASA Navigation and Ancillary Information Facility (NAIF), heliocentrickou polohu a rychlost v mezinárodní nebeské referenční soustavě (ICRF, rovníková J2000) v metrech a metrech za sekundu, ekliptikální délku, šířku a vzdálenost, polohu vzhledem k mateřskému tělesu, oběžnou dobu, výše uvedené konstanty, pól a nultý poledník v epoše, nominální chybu Standishe, pokud existuje, jeho označení a řetězec metody a dráhovou stopu po jednom oběhu (heliocentrickou pro planetu, vztaženou k mateřskému tělesu pro měsíc; jediný bod pro Slunce). Spoj od pozorovatele a každý další spoj dávají:

  • newtonovský jednosměrný světelný čas, řešený radiometrickým řešičem světelného času s pevným bodem, s vysílačem v jeho zpožděné poloze, a odpovídající jednosměrnou vzdálenost;
  • obousměrný světelný čas a vzdálenost;
  • Shapirovo zpoždění Slunce, uváděné zvlášť a nepřičítané;
  • úhel odlehlosti od Slunce.

Světelný čas je VALIDATED vůči jednosměrnému světelnému času, který uvádí Horizons: Mars a Jupiter ke středu Země ve čtyřech epochách od 2000 do 2040, nejhorší chyba 0,070 s pro Mars proti prahu 0,207 s a 1,31 s pro Jupiter proti 4,04 s. Práh je dvojnásobek součtu chyb vzdáleností podle Standishe pro cíl a barycentrum Země–Měsíc, dělený rychlostí světla: světelný čas nemůže být lepší než polohy. Je to newtonovský geometrický světelný čas, nikoli relativistická nebo plazmaticky korigovaná pozorovatelná.

Přibalený scenarios/solar-system-tour.toml hlásí všech osmnáct těles v 2026-09-28T00:00:00 se stopami o 180 bodech a přidává spoje Mars–Jupiter (jednosměrně 2193,539 s), Saturn–Země (4212,176 s) a Europa–Jupiter (2,218 s).

body-pnt#

Uživatel navigován kolem tělesa zvoleného jménem (kterékoli těleso katalogu kromě Slunce a Země, které druh odmítá) pomocí dvou druhů měření:

  • jednosměrné pseudovzdálenosti z navigační konstelace typu Walker delta kolem tělesa (planes krát sats_per_plane, mezirovinné fázování phasing_f), létané jako dvoutělesové oběžné dráhy se sekulárním driftem J2 daného tělesa; hodiny uživatele jsou neznámé, takže tyto řádky nesou sloupec odchylky hodin;
  • volitelně obousměrná vzdálenost od středu Země ([earth_link]), která nepotřebuje hodiny uživatele a uvádí se jako jednosměrná vzdálenost s vlastním šumem. Směr a vzdálenost Země pocházejí z analytických efemerid v každé epoše.

Přímá viditelnost je zablokována, prochází-li uvnitř středního poloměru tělesa (test tětivy druhu mars-pnt), a povrchový uživatel potřebuje také elevační masku. V každé epoše běh vytvoří geometrický faktor a faktor zhoršení přesnosti v poloze (GDOP, PDOP) samotné konstelace, formální jednosigmovou nejistotu polohy s řádkem Země a bez něj a řešení polohy Gaussovou–Newtonovou metodou nejmenších čtverců se seedem pro každou variantu, takže zpráva ukazuje, co spoj z hlubokého vesmíru přidává.

Tabulka Pole Výchozí hodnota
nejvyšší úroveň body Mars
epoch / epoch_jd_tdb 2027-02-19T00:00:00, opozice Marsu
duration_s, step_s 86 400 s, 600 s
seed 1
table auto
[user] kind orbiter (nebo surface)
oběžnice: altitude_km, inclination_deg, raan_deg, u0_deg, eccentricity 400 km, 75 stupňů, 0, 0, 0
povrch: lat_deg, lon_deg, height_m 0, 0, 0
[constellation] planes, sats_per_plane, phasing_f 3, 4, 1
altitude_km tři střední poloměry
inclination_deg 60 stupňů
sigma_range_m 1 m
mask_deg (povrchový uživatel) 10 stupňů
[earth_link] enabled, sigma_range_m true, 1 m

raan_deg je rektascenze výstupného uzlu v rovníkové soustavě tělesa a u0_deg argument šířky v epoše.

Dva přibalené scénáře, tak jak běží s kshana 0,36 (přenositelná matematika, na každé platformě stejná):

scenarios/mars-orbit-pnt.toml scenarios/europa-surface-pnt.toml
Uživatel oběžnice, 300 km, 93 stupňů povrch, 20 stupňů s. š., 60 stupňů v. d.
Relé 12 ve 10 000 km, 60 stupňů 12 ve 4500 km, 55 stupňů, maska 10 stupňů
Rozsah jeden sol, 296 epoch 306 822 s, 171 epoch
Světelný čas ze Země, jednosměrně / tam a zpět 338,3 s / 676,6 s 2182,9 s / 4365,8 s
Země v dohledu 0,811 epoch 0.439
Dostupnost, pouze relé / se vzdáleností od Země 1.000 / 1.000 0.480 / 0.713
Střední PDOP 1.375 5.360
Efektivní chyba řešení, pouze relé / se vzdáleností od Země 1,883 m / 1,629 m 112,742 m / 86,499 m
Střední formální sigma, pouze relé / se vzdáleností od Země 1,375 m / 1,304 m 5,360 m / 4,239 m

(RMS: efektivní hodnota.) Jedna epocha Europy (t = 16 200 s) leží na hraně dostupnosti, kde poslední bit vypočteného poloměru rozhoduje, zda se její řešení se vzdáleností od Země provede. Před 0,36 o tom rozhodovala matematická knihovna hostitele, takže tentýž scénář vypsal pro dvě hodnoty „se vzdáleností od Země“ 0,719 a 86,147 m na Linuxu x86-64 a 0,725 a 85,800 m na macOS arm64. Od 0,36 se každá transcendentní funkce počítá přenositelnou matematickou knihovnou, epocha se na každé platformě rozhodne stejně (nativně i ve WebAssembly vzniknou stejné bajty) a hodnoty jsou 0,713 a 86,499 m (docs/revisions/STUDIO15-portable-math-rebaseline.md). Kolem Europy vzdálenost od Země zvyšuje dostupnost z 0,480 na 0,713 epoch. Tam, kde Země nikdy nevystoupí nad okraj kotouče, spoj nic nepřidá: lander na 89,5 stupně j. š. na Měsíci pod slupkou relé o 12 družicích a 5000 km má Zemi v dohledu v 0 ze 145 epoch a jeho chyby jsou s tímto spojem i bez něj stejné.

MODELLED. Oběžné dráhy relé ignorují třetí tělesa (přitažlivost Jupiteru na relé kolem Europy není modelována), šum je gaussovský na uvedených úrovních a model měření je okamžitý, nikoli zpožděný o světelný čas. Co se kontroluje: perioda relé proti třetímu Keplerovu zákonu pro dané těleso, oběžnice udržující svůj poloměr a lander na povrchu, vzdálenost od Země, která formální nejistotu nikdy nezhorší, seedem řízené chyby řešení souhlasící s formální sigmou (efektivní hodnota chyby ku sigmě v [0,6, 1,5]) a deterministický běh. Nic z toho nejsou navigační data mise.

Druh ephemeris#

Navzdory názvu je ephemeris druh pro družici Země: jedna družice, ze dvouřádkové sady elementů (TLE) přes propagátor Simplified General Perturbations 4 (SGP4) nebo z analytické oběžné dráhy, na časové mřížce. V každém kroku vydává setrvačný stav (polohu a rychlost) v soustavě true equator, mean equinox (TEME) a v geocentrické nebeské referenční soustavě (GCRS), polohu vázanou k Zemi, podsatelitní bod ve World Geodetic System 1984 (WGS 84) a pro nepovinnou pozemní stanici azimut, elevaci, vzdálenost a rychlost změny vzdálenosti. eop_finals2000a přijímá text souboru finals2000A Mezinárodní služby rotace Země a referenčních systémů (IERS) pro UT1−UTC a pohyb pólu v každé epoše. Kód: 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

Nemodelováno#

  • Relativistické členy světelného času nad rámec zvlášť uváděného Shapirova zpoždění a sluneční plazmatické zpoždění.
  • Polohy lepší než přesnost podle Standishe a středních elementů uvedená výše; v hlavním crate není čtečka jádra.
  • Poruchy od třetích těles u relé body-pnt a na drahách constellation-design.
  • Terén na jakémkoli tělese: těleso je jeho střední koule.
  • Exporty pro interoperabilitu: CZML, KML a GeoJSON popisují polohy vzhledem k Zemi, takže scénáře solar-system a body-pnt žádný neexportují (INTEROP.md).

Reference#

  • E. M. Standish a 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 a E. Gill, Satellite Orbits: Models, Methods and Applications, Springer, 2000, §3.3.2.
  • B. A. Archinal a kol., „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/.