Release date: 2026-07-25
Public upgrade path: 5.2.1 to 5.2.2
Moira 5.2.2 is an astronomy-correction and catalog-provenance patch release. It repairs the coordinate-frame construction of the true lunar node, makes the output equinox of analytical mean points explicit, and publishes the current Proper25-backed asteroid-family catalog with complete overlap visibility.
The true lunar node is the intersection between the Moon’s instantaneous geocentric osculating orbital plane and the true ecliptic plane of date. Earlier releases constructed the orbital-plane normal from ICRF/J2000 state vectors but intersected it with an ecliptic pole expressed in the true frame of date. Rotating the resulting intersection afterward could not repair that mixed-frame construction.
true_node(...) now:
r x v;At independently solved northbound zero-latitude crossings, the corrected node longitude agrees with the Moon’s geometric ecliptic longitude to better than 0.001 arcsecond. The shipped Swiss Ephemeris fixture is retained only as secondary corroboration, not as the governing derivation.
mean describes the averaged lunar orbital solution; it does not by itself
select a mean coordinate frame. Moira now keeps those two policies separate:
mean_node(jd_ut, nutation=True)
mean_lilith(jd_ut, nutation=True)
With the default nutation=True, both results are expressed in the true
ecliptic and equinox of date, matching Moira’s default planetary, chart,
transit, synastry, batch, and draconic longitudes. Callers requiring the raw
mean-equinox product can request nutation=False.
The mean node now reuses Moira’s admitted IERS 2003 lunar fundamental
argument. Its raw mean-frame result was validated against ERFA faom03, and
its true-frame result is derived by adding Moira’s IAU 2000A nutation in
longitude. The default frame correction varies with epoch and can approach
about 19 arcseconds in magnitude.
Chart reduction responses now report nutation and
frame="true_ecliptic_and_equinox_of_date" for node products. Mean-node and
mean-Lilith stage sequences expose the analytical solution and nutation
conversion rather than hiding the frame policy.
The bundled asteroid-family layer now uses:
ast.nesvorny.families V2.0 only for the Hilda and Jupiter
Trojan populations explicitly excluded by Proper25.The normalized catalog contains:
Nested and overlapping HCM classifications are no longer flattened into one exclusive family. Compatibility surfaces retain a deterministic display-primary family, while complete memberships remain available to grouping, resonance, and REST consumers.
moira/data/asteroid_families.metadata.json records source URLs, archive and
tree hashes, exclusions, aliases, normalization semantics, counts, and the
final CSV hash. New build and refresh scripts reproduce the catalog and
annotate the unified asteroid catalog without altering BSP kernels.
The release exercises:
No NumPy, SciPy, Swiss Ephemeris, jplephem, or other runtime dependency is introduced. Asteroid-family membership remains catalog evidence, not a claim that every listed body is genetically related, and absent membership means only that a body is absent from the admitted source catalogs.