Read the Horizons pages the missing moons are written in, and give triaxial bodies their mean radius

The pages of the moons this branch is about to add state their size and spin in forms the ETL
did not read. Charon's gives "Radius (km, IAU2015) = 606", which none of the radius patterns
matched, so it would have come out at radius 0. Phoebe's gives "Rotational period = 9h 16.438 m",
which the hours-or-days pattern read as 9 hours flat instead of 9.274. Pluto's and the moons' GMs
are now read too ("GM (planet) km^3/s^2 = 869.326" on Pluto's page, "GM (km^3/s^2) = 106.10" on
Charon's), for placing a pair's barycentre.

Miranda and Ariel, like Phobos and Deimos already, give three semi-axes, "240x234.2x232.9". The
first figure was taken as the radius, which is the longest axis. A triaxial body now gets the
radius of the sphere of its volume, the cube root of the product, which is how the IAU states a
mean radius. That changes two bodies already shipped: Phobos 13.1 -> 11.06 km (IAU 11.08) and
Deimos 7.8 -> 6.20 km (IAU 6.2). Nothing else in bodies.json moves.

The page parsers move from tools/etl/lib/horizons.ts to src/app/shared/astro/horizons-page.ts,
as the mean-element parsers did, so the unit suite runs their tests; the ETL imports them. A
small body's command ("1;" for Ceres) is now URL-encoded: sent raw, the semicolon made Horizons
refuse the request ("one or more query parameter was not recognized").

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-24 20:41:22 +02:00
co-authored by Claude Opus 5.5
parent 2e5daa0f97
commit cdc0cf4678
4 changed files with 170 additions and 79 deletions
+2 -2
View File
@@ -302,7 +302,7 @@
"systemStarId": 0,
"name": "Phobos",
"kind": "moon",
"radiusKm": 13.1,
"radiusKm": 11.058402868477721,
"orbit": {
"semiMajorAxisAu": 0.00006267468885838895,
"eccentricity": 0.0151,
@@ -330,7 +330,7 @@
"systemStarId": 0,
"name": "Deimos",
"kind": "moon",
"radiusKm": 7.8,
"radiusKm": 6.203050874487247,
"orbit": {
"semiMajorAxisAu": 0.00015680704471417322,
"eccentricity": 0.0002,