Computational audit reveals a 47.7-arcsecond lunar discrepancy stemmed from time-scale conflation in astronomical models, demonstrating the high precision of Swiss Ephemeris algorithms.
要旨(Abstract) 日本語 著者の前2作(DE431三角比較による圧縮実態検証、およびその続編であるDE441移行検証)は、Swiss Ephemerisの`.se1`ファイルとJPL DE431/DE441の直接比較において、月で最大47.7秒角という「Swiss Ephemeris独自の再近似誤差」を報告し、これをDEバージョン間差の1万倍以上、精度主張との47,720倍の乖離として提示した。本論文は、外部の実務者からの技術的レビューを契機に、この核心的な数値が実際にはSwiss Ephemeris側の問題ではなく、著者自身の比較用検証ハーネスにおけるUT(協定世界時)とTDB(太陽系力学時)の時刻系混同に起因する人為的誤差であった可能性が高いことを報告する。続編で使用したスクリプトについては現物を直接確認して当該バグを確定させたが、前作で使用したスクリプトは現存しないため、これについては状況証拠に基づく推定にとどまる。 本論文は、(1) 外部指摘の技術的内容とそれを支持する数値的再現性の検証、(2) 該当バグの発生箇所をソースコードレベルで特定した監査結果、(3) UT→TDB変換を修正した上での再測定、(4) 前2作のうちこのバグの影響を受ける主張と受けない主張の切り分け、を報告する。 再測定の結果、前作が報告した月の最大誤差47.7秒角(2050年9月)は、修正後には3.57秒角まで縮小し、外部指摘の仮説はこの数値についてほぼ完全に裏付けられた。一方で、修正後のデータでは最大誤差の所在が別のエポック(1900年3月、28.09秒角)へ移動しており、これは当初、時刻系混同とは無関係な、DE431-DE441の版間差でも説明できない未解明の残差として報告されていた。 しかし本論文はさらに調査を進め、この1900年付近の残差もまた第二の、より巧妙な時刻系混同バグ——本論文自身の「修正後」検証スクリプトが用いていたSkyfieldの`ts.utc()`が、閏秒の定義が存在しない1972年より前の日付を暗黙に「1972年時点のTAI-UTC=10秒を遡って一定とみなす」形で処理し、真の歴史的UT1とは数十秒規模で乖離していたこと——に起因することを特定した。DE側の時刻構築を`ts.ut1_jd()`(真のUT1として扱う)に修正すると、月の残差は1900年3月の28.09秒角から2.03秒角(発生エポックも2050年9月へ移動)まで縮小し(92.8%減)、他の9天体でも同様に56.4〜92.9%の減少を示した。すなわち本論文が新たに発見したと考えていた「未解明の残差」もまた、時刻系混同という同一のバグ・カテゴリの、異なる現れ方(今回は暦法上の閏秒不在期間の扱い)に過ぎなかったことが判明した。 第二のバグを修正した後もなお残る残差は天体ごとの大きさが大きく異なり(Moon 2.03″、Mercury 0.29″、Venus 0.17″、Sun 0.14″、Mars 0.10″、外惑星0.01〜0.04″)、Sun・Venus・Mars・Jupiter・SaturnについてはDE431-DE441の真の版間差(天体ごとに0.0007″〜0.22″と幅がある)を数倍〜数百倍上回る一方、Uranus・Neptune・Plutoでは逆に真の版間差の方が大きい。追加のダウングレード実験により、Sun・Venus・Mars・外惑星の残差はSwiss Ephemerisが地心黄経を直接フィットせず天体ごとの日心(または重心)位置を独立にフィットし評価時にベクトル減算で地心座標を合成している可能性と整合することを示した。一方Mercury・Moonの残差は、区間幅・次数のレシピを素朴に再現するだけで実際のSwiss Ephemerisの残差を上回る精度が得られてしまうため、この仮説では説明できず、真因は特定できていない。 本論文の目的は前2作の誤りを訂正し、Swiss Ephemerisおよび著者自身の検証ツールの双方について、より正確な精度像を確立することにある。 --- English The author's prior two papers (a triangular DE431 comparison examining the actual nature of Swiss Ephemeris's "compression," and its sequel verifying the DE441 migration) reported, from a direct comparison of Swiss Ephemeris's `.se1` files against JPL DE431/DE441, a maximum lunar error of 47.7 arcseconds attributed to a "re-approximation error unique to Swiss Ephemeris" — presented as more than 10,000 times the true inter-version difference between DE releases, and a 47,720-fold departure from Swiss Ephemeris's own precision claims. Prompted by a technical review from an external practitioner, this paper reports that this core figure was, in all likelihood, not a problem on the Swiss Ephemeris side, but an artifact of a time-scale conflation between UT (Coordinated Universal Time) and TDB (Barycentric Dynamical Time) within the author's own comparison harness. The script used for the sequel survives and was directly confirmed to contain this bug; the script used for the prior paper no longer exists, so this conclusion for that paper rests on circumstantial evidence. This paper reports: (1) the technical content of the external review and a verification of its numerical reproducibility; (2) an audit that pinpoints the location of the bug at the source-code level; (3) a re-measurement after correcting the UT→TDB conversion; and (4) a separation of which claims in the two prior papers are and are not affected by this bug. The re-measurement showed that the maximum lunar error reported by the prior paper (47.7 arcseconds, September 2050) shrank to 3.57 arcseconds after correction — nearly fully confirming the external reviewer's hypothesis for this particular figure. However, in the corrected dataset, the location of the maximum error shifted to a different epoch (March 1900, 28.09 arcseconds), which was initially reported as an unexplained residual unrelated to the time-scale conflation and not accounted for by the true DE431–DE441 version difference. Further investigation in this paper identified that this residual near 1900 was likewise caused by a second, more subtle time-scale conflation bug: Skyfield's `ts.utc()`, used in this paper's own "corrected" verification script, implicitly treats dates before 1972 (when leap-second definitions do not exist) as if the TAI-UTC offset of 10 seconds fixed at 1972 extended constantly into the past, diverging from the true historical UT1 by tens of seconds. Correcting the DE-side time construction to `ts.ut1_jd()` (treating the input as genuine UT1) reduced the lunar residual from 28.09 arcseconds (March 1900) to 2.03 arcseconds (with the maximum-error epoch shifting to September 2050) — a 92.8% reduction — and produced similar reductions of 56.4–92.9% for the other nine bodies. In other words, the "unexplained residual" this paper initially believed it had newly discovered turned out to be merely a different manifestation (in this case, the handling of the pre-leap-second era) of the same category of bug: time-scale conflation. The residual remaining after correcting the second bug varies widely by body (2.03″ for the Moon, 0.29″ for Mercury, 0.17″ for Venus, 0.14″ for the Sun, 0.10″ for Mars, and 0.01–0.04″ for the outer planets). For the Sun, Venus, Mars, Jupiter, and Saturn, this residual exceeds the true DE431–DE441 version difference (which itself ranges from 0.0007″ to 0.22″ depending on the body) by a factor of a few to a few hundred; for Uranus, Neptune, and Pluto, the true version difference is in fact larger than the residual. An additional downgrade experiment showed that the Sun/Venus/Mars/outer-planet residuals are consistent with the possibility that Swiss Ephemeris does not directly fit a target body's geocentric ecliptic longitude, but instead independently fits each body's heliocentric (or barycentric) position and composes the geocentric coordinate at evaluation time via vector subtraction. The Mercury and Moon residuals, however, cannot be explained by this hypothesis — a naive reproduction of the interval-width/order recipe alone already exceeds the precision of Swiss Ephemeris's actual output for these two bodies — and their true cause remains unidentified. The purpose of this paper is to correct the errors of the prior two papers and to establish a more accurate picture of the precision of both Swiss Ephemeris and the author's own verification tools.
No takes yet. Share an insight, caveat, or question.
高史 志賀 (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: