# QP-ASTRO-001: Quizzman 分層天文星曆供應架構、行星座標約化與 Level-3 精度審計標準

<!--
  Document ID: QP-ASTRO-001
  Version: 1.0.0
  Profile: QPS-ISO 1.0
  Classification: system
  Language: zht (Traditional Chinese Edition)
-->

## 摘要 (Abstract)

**背景與脈絡 (Background / Context)：** 現代天體定位、行星星曆計算與陰陽曆法系統，要求古典天體力學解析攝動理論與現代高精度軌道數值積分演算法之嚴密結合。於分散式即時運算服務中，若單純依賴體積龐大之單一數值星曆核心檔案（例如 NASA JPL DE 系列），易於冷啟動週期引致延遲並受限於指定之曆元跨度；反之，古典截斷簡化公式（如 Jean Meeus 節錄演算法）則在分至點與朔望邊界產生明顯之位置誤差。

**方法與實作 (Methodology)：** 本文提出 `@quizzman/qm-astro` 0.1.0 版計算引擎之分層架構，採用雙核心引擎機制：結合數值型 NASA JPL DE440 SPK 核心（二進位 DAF/Chebyshev 格式）與完整解析數列 VSOP87D（Bretagnon 與 Francou）及月球運動理論 ELP/MPP02（Chapront 與 Francou）。系統實作自主調度之 `CompositeProvider` 機制，整合基於 Espenak-Meeus 多項式樣條函數與 IERS `finals2000A` 地球定向參數之連續地球時（TT/TDB）轉換，並透過 IAU 2000B 章動模型、周年光行差、迭代光行時修正、涵蓋地形高度角下傾之 Bennett / Kasten–Young 大氣折射模型，以及基於 IAU 1930 星座邊界之球面點在多邊形演算法完成視位置約化。

**結果 (Results)：** 獨立 Level-3 實證檢驗顯示，6 大驗證模組之 237 項自動化迴歸測試案例全數通過（通過率 100%）。DE440 SPK 核心計算之內行星笛卡兒狀態向量相對於 JPL Horizons 系統之空間殘差小於 1 公里。2024 年二分二至點之視太陽黃經殘差界限 $|\Delta\lambda_\odot| \ll 0.02^\circ$，天文合朔時刻與 NASA 參考目錄之誤差在 1.0 分鐘以內，河內觀測點於夏至日之日出日落時刻誤差小於 30 秒。

**結論 (Conclusion)：** `@quizzman/qm-astro` 引擎建立了一套可驗證之分層 Level-3 星曆計算基礎設施，作為 Quizzman Sky Viewer、陰陽曆計算引擎與行星座標 API 服務之可執行真理來源（executable source of truth）。

---

## 1 適用範圍 (Scope)

本標準規範 Quizzman 天文星曆計算引擎（`@quizzman/qm-astro`）之技術架構、數學模型與標準化評估準則，包含：
1. 天文時間尺度標準化，涵蓋協調世界時（UTC）、世界時（UT1）、國際原子時（TAI）、地球時（TT）與質心力學時（TDB）間之連續轉換。
2. 透過完整 VSOP87D 理論合成太陽與行星之解析座標，以及透過 ELP/MPP02 理論合成地心月球座標。
3. 二進位 DAF 架構下 NASA JPL DE440 SPK 核心（Type 2）之解析與切比雪夫多項式內插求值。
4. 具備超出安裝核心邊界自動平滑降級能力之雙核心調度架構（`CompositeProvider`）。
5. 自國際天球參考系統（ICRS / J2000.0）至地表觀測者地平座標之視位置約化程序，包含歲差、IAU 2000B 章動、周年光行差、大氣折射與視地平下傾修正。
6. 國際天文學聯合會（IAU 1930）88 星座邊界多邊形判定演算法，以及 Hipparcos 星表恒星自行傳播計算。
7. 民用曆法與天文年曆整合介面：天文合朔（日月合朔）、二十四節氣與含均時差之真太陽時計算。
8. 實證 Level-3 精度檢驗規範與自動化測試套件矩陣。

本標準適用於 Quizzman 軟體生態系統內所有天體定位元件、天象儀可視化系統、曆法換算工具與星曆 API 服務。

---

## 2 規範性引用文獻 (Normative references)

下列引用文獻構成本文件不可分割之規範性條款：

- **ISO 8601-1:2019** [@REF-ISO-8601], *Date and time — Representations for information interchange — Part 1: Basic rules*.
- **ISO 2145:1978** [@REF-ISO-2145], *Documentation — Numbering of divisions and subdivisions in written documents*.
- **ISO 690:2021** [@REF-ISO-690], *Information and documentation — Guidelines for bibliographic references and citations to information resources*.
- **R. S. Park et al. (2021)** [@REF-PARK-2021], *The JPL Planetary and Lunar Ephemerides DE440 and DE441*, The Astronomical Journal, Vol. 161, No. 3.
- **P. Bretagnon, G. Francou (1988)** [@REF-VSOP87], *Planetary theories in rectangular and spherical variables. VSOP87 solutions*, Astronomy and Astrophysics, Vol. 202, pp. 309–315.
- **J. Chapront, G. Francou (2003)** [@REF-CHAPRONT-2003], *The lunar theory ELP/MPP02*, Astronomy and Astrophysics, Vol. 404, pp. 735–742.
- **Jean Meeus (1998)** [@REF-MEEUS-1998], *Astronomical Algorithms*, 2nd Edition, Willmann-Bell, Richmond, Virginia.
- **E. M. Standish (1998)** [@REF-STANDISH-1998], *JPL Planetary and Lunar Ephemerides, DE405/LE405*, JPL Interoffice Memorandum 312.F-98-048.
- **D. D. McCarthy (2000)** [@REF-IAU-2000B], *IERS Conventions (2000): Chapter 5, IAU 2000B Nutation Model*, IERS Technical Note 32.
- **G. Petit, B. Luzum (2010)** [@REF-IERS-2010], *IERS Conventions (2010)*, IERS Technical Note 36.
- **F. Espenak, J. Meeus (2006)** [@REF-ESPENAK-2006], *Five Millennium Catalog of Solar Eclipses: -1999 to +3000*, NASA TP-2006-214141.
- **E. Delporte (1930)** [@REF-DELAMBRE-1930], *Délimitation scientifique des constellations (tables et cartes)*, Cambridge University Press, IAU Commission 3.
- **M. A. C. Perryman et al. (1997)** [@REF-PERRYMAN-1997], *The HIPPARCOS Catalogue*, Astronomy and Astrophysics, Vol. 323, pp. L49–L52.
- **G. G. Bennett (1982)** [@REF-BENNETT-1982], *The Calculation of Astronomical Refraction in Marine Navigation*, Journal of Navigation, Vol. 35, No. 2, pp. 255–259.
- **F. Kasten, A. T. Young (1989)** [@REF-KASTEN-1989], *Revised optical air mass tables and approximation formula*, Applied Optics, Vol. 28, No. 22, pp. 4735–4738.
- **Quizzman Astronomy Working Group (2026)** [@REF-QM-ASTRO-2026], *Quizzman Astro Technical Reference, Level-3 Parity Audit and Verification Report*, Technical Dossier TR-ASTRO-2026-07.

---

## 3 術語、定義與符號 (Terms, definitions, and symbols)

本文件採用下列術語、定義與符號：

### 3.1 天文時間尺度 (Astronomical time scales)

- **UTC（協調世界時）：** 以國際單位制（SI）秒為基準之民用原子時間尺度，透過閏秒調節以維持與地球自轉之偏差於 $|\text{UTC} - \text{UT1}| < 0.9\text{ 秒}$ 以內。
- **UT1（世界時）：** 反映地球繞自轉軸實際旋轉之時間尺度，由遠端河外射電源觀測精確測定。
- **TAI（國際原子時）：** 連續之原子時間尺度，不包含閏秒修正：
  $$
  \text{TAI} = \text{UTC} + \Delta\text{AT}
  $$
- **TT（地球時）：** 描述地心天體運動之理論時間尺度：
  $$
  \text{TT} = \text{TAI} + 32.184\text{ 秒}
  $$
- **TDB（質心力學時）：** 定義於太陽系質心之相對論性座標時間尺度，與 TT 僅存在週期性微小差異（小於 $0.0017\text{ 秒}$）。
- **$\Delta T$（力學時差）：** 地球時與世界時之差額，表徵地球自轉長期減速效應：
  $$
  \Delta T = \text{TT} - \text{UT1}
  $$

### 3.2 日月合朔與黃經 (New Moon and ecliptic longitude)

- **黃經（$\lambda$）：** 天體於黃道座標系中沿黃道向東量度之角距離，起算點為春分點（$0^\circ$）。
- **日月合朔（天文合朔）：** 月球與太陽之地心地平視黃經完全重合之瞬時曆元（$\lambda_{\text{moon}} = \lambda_\odot$）。

### 3.3 天球參考系統 (Celestial reference systems)

- **ICRS（國際天球參考系統）：** 定義於太陽系質心之非旋轉天體參考系統，其三軸方向逼近 J2000.0 標準曆元。
- **視位置（Apparent Place）：** 經光行時、光行差、章動及大氣折射修正後，觀測者所見之天體於天球上之瞬時視方向。

### 3.4 探索者座標框架 (Explorer coordinate frame)

- **探索者座標框架（Explorer Frame）：** 以任意指定天體（$center \neq \text{Earth}$）為原點之黃道 Cartesian 座標系，距離單位為天文單位（AU），供天象儀進行空間多體幾何布局渲染。

### 3.5 Level-3 精度等級規範 (Level-3 accuracy classification)

- **Level 1（簡化型）：** 採用截斷近似公式，位置殘差通常在數個角分（arcminutes）。
- **Level 2（完整解析型）：** 採用完整 VSOP87D 與 ELP/MPP02 數列，結合 IAU 章動模型與 $\Delta T$ 樣條函數。
- **Level 2+（混合數值型）：** 於生產環境中引入高精度 JPL DE440 SPK 核心。
- **Level 3（科學基準型）：** 經定量驗證達到與 JPL Horizons 向量殘差小於 1 公里、IAU 1930 星座邊界多邊形判定、日出日落誤差小於 30 秒（含折射與高程差），並於持續整合系統中達成 100% 自動化測試通過。

---

## 4 計算慣例與假設 (Conventions and assumptions)

### 4.1 基本天文常數 (Fundamental astronomical constants)

依據 IAU 2012 與 JPL DE440 標準常數：
- 真空中光速：$c = 299\,792\,458\text{ m/s}$。
- 天文單位：$1\text{ AU} = 149\,597\,870\,700\text{ m}$。
- 標準曆元 J2000.0：$JD = 2451545.0\text{ TT}$（2000年1月1日 12:00:00 TT）。
- J2000.0 黃赤交角：$\epsilon_0 = 23^\circ 26' 21.406''$。

### 4.2 標準子午線與民用時慣例 (Standard meridian and civil time conventions)

- 越南標準時間子午線（UTC+07:00）：$\lambda_{\text{std}} = 105^\circ\text{E}$。
- 中國標準時間子午線（UTC+08:00）：$\lambda_{\text{std}} = 120^\circ\text{E}$。
- 民用日分界點嚴格固定於地方標準時 00:00:00。

### 4.3 大氣折射與地平下傾假設 (Atmospheric refraction and horizon dip assumptions)

地平座標與出沒計算之大氣參數：
1. 海平面標準大氣壓：$P_0 = 1010\text{ hPa}$。
2. 標準環境溫度：$T_0 = 10^\circ\text{C}$（$283.15\text{ K}$）。
3. 太陽平均視半徑：$r_\odot \approx 16'$。
4. 地平線標準大氣折射值：$R_0 = 34'$。
5. 觀測者海拔高程 $h$（公尺）引致之地平下傾角：
   $$
   d = 0.0293^\circ \times \sqrt{h}
   $$
6. 日出與日落時太陽中心點之視天頂距標準：
   $$
   z_0 = 90^\circ + r_\odot + R_0 + d = 90^\circ 50' + 0.0293^\circ \times \sqrt{h}
   $$

### 4.4 與曆法運算引擎之架構責任分工 (Architectural boundary with Calendar Engine)

`@quizzman/qm-astro` 為純粹的天體力學與天體測量運算核心，專責：
1. 於慣性參考系 ICRS/J2000 下計算天體空間位置與速度向量；
2. 於連續物理動力學時間尺度（UT1、TT、TDB）下精確求解日月合朔（$\lambda_{\text{Moon}} = \lambda_\odot$）與二十四節氣（$\lambda_\odot = k \times 15^\circ$）之天文幾何交會時刻；
3. 實施地心及站心地平視位置歸算（含大氣折射及地平下傾修正）。

本天文引擎**完全獨立**於受行政法規、歷史政權變遷或社會文化約定之民用曆法規則（諸如 1975 年歷史時區法定調整、陰陽曆無中氣置閏法則、子夜日界分割及天干地支紀時系統）。所有民事曆法邏輯均獨立交由下游之 `@quizzman/qm-calendar` 曆法引擎（規格定義於標準文件 [QP-CAL-001]）專責處理。

---

## 5 分層星曆系統架構 (Layered ephemeris system architecture)

`@quizzman/qm-astro` 系統架構清晰劃分為 5 個獨立層次：

```
┌────────────────────────────────────────────────────────┐
│ 5. 民用年曆與應用介面層 (Civil & Almanac Interface)   │
│    合朔、節氣、真太陽時、Sky Viewer 傳輸封包          │
├────────────────────────────────────────────────────────┤
│ 4. 視位置約化層 (Apparent Reductions)                  │
│    IAU 2000B 章動、光行差、大氣折射、IAU 1930 多邊形   │
├────────────────────────────────────────────────────────┤
│ 3. 統一座標供應調度層 (CompositeProvider)              │
│    ├── 數值核心：JPL DE440 SPK（跨度：1849 - 2150）    │
│    └── 解析數列：VSOP87D + ELP/MPP02（全局後備）       │
├────────────────────────────────────────────────────────┤
│ 2. 基礎行星與月球力學層                                │
│    VSOP87D（太陽/行星）、ELP/MPP02（月球）            │
├────────────────────────────────────────────────────────┤
│ 1. 時間尺度與力學約化層                                │
│    JDN、UT ↔ TT、Espenak-Meeus ΔT、IERS finals2000A    │
└────────────────────────────────────────────────────────┘
```

### 5.1 時間尺度與力學時約化 (Time scale and dynamical time reduction)

所有運算皆由民用時標轉換至儒略日（JD）起始。自轉時差 $\Delta T$ 採取雙軌融合策略：
1. 現代實測曆元：直接查閱 IERS `finals2000A` 觀測數表。
2. 歷史與遠期曆元：採用 Espenak 與 Meeus (2006) [@REF-ESPENAK-2006] 分段連續多項式樣條。針對 2005–2050 年間：
   $$
   \Delta T = 62.92 + 0.32217\,t + 0.005589\,t^2
   $$
   式中 $t = y - 2000$。

### 5.2 解析行星理論 VSOP87D (Analytical planetary theory VSOP87D)

VSOP87D 理論以儒略千年數 $\tau$（自 J2000.0 起算）展開地球日心球面座標（黃經 $L$、黃緯 $B$、距離 $R$）：
$$
L(\tau) = \sum_{k=0}^{5} \tau^k \sum_{i=1}^{N_k} A_i \cos(B_i + C_i \cdot \tau)
$$
系統載入 `VSOP87D.ear` 完整數列，涵蓋 $L_0$ 至 $L_5$ 冪次所有微擾項。

地球日心黃經轉化為地心地面太陽黃經：
$$
\lambda_\odot = L_{\text{helio}} + 180^\circ
$$

### 5.3 解析月球運動理論 ELP/MPP02 (Analytical lunar theory ELP/MPP02)

於無數值核心時，月球座標由適配 DE405 之 ELP/MPP02 半解析理論求解 [@REF-CHAPRONT-2003]。月球地心黃經 $\lambda_{\text{moon}}$、黃緯 $\beta_{\text{moon}}$ 與距離 $\Delta_{\text{moon}}$ 透過 4 個 Delaunay 基本角距（$D, l, l', F$）展開之 Fourier 級數合成：
$$
\lambda_{\text{moon}} = W_1 + \sum A_j \sin(\sum k_i \phi_i)
$$

### 5.4 高精度數值星曆 DE440 SPK (High-precision numerical ephemeris DE440 SPK)

數值核心直接讀取 NASA SPICE 二進位 DAF 格式之 `de440s.bsp`。每個 Type 2 星曆片段儲存指定子區間 $[t_a, t_b]$ 內 Cartesian 狀態向量 $(X, Y, Z)$ 與速度向量之切比雪夫多項式係數。

內插計算採用 Clenshaw 遞迴演算法：
$$
P(x) = \sum_{j=0}^{N} c_j T_j(x), \quad x = \frac{2t - (t_a + t_b)}{t_b - t_a} \in [-1, 1]
$$
其中 $T_0(x) = 1, T_1(x) = x, T_{j+1}(x) = 2x T_j(x) - T_{j-1}(x)$。

### 5.5 CompositeProvider 與自動降級機制 (CompositeProvider and fail-safe fallback)

`CompositeProvider`（規範性規則 `ASTRO-R001`）確保計算服務不中斷：
- 若 DE440 SPK 核心已載入且目標曆元落於 $[JD_{\min}, JD_{\max}]$ 區間（針對 `de440s` 約為 1849 年至 2150 年）：優先執行 DE440 切比雪夫求值。
- 若缺少核心檔案或曆元超越邊界：自動且無感切換至 VSOP87D 與 ELP/MPP02 解析數列。
- API 輸出中皆如實標註當前使用之後端（`de440` 或 `analytical`），體現科學嚴謹性。

---

## 6 視位置約化與座標轉換演算法 (Apparent position reduction and coordinate transformations)

### 6.1 光行差與光行時修正 (Stellar aberration and light-time correction)

太陽系內天體位置計算時，必須回溯至光子自目標表面發射之瞬時時刻 $(t - \tau_{\text{light}})$：
$$
\tau_{\text{light}} = \frac{|\mathbf{r}_{\text{target}}(t - \tau_{\text{light}}) - \mathbf{r}_{\text{observer}}(t)|}{c}
$$
經由 2 至 3 次疊代求得數值收斂。

太陽周年光行差修正公式：
$$
\Delta\lambda_{\text{aber}} = -20.49552'' \times \frac{1\text{ AU}}{R_\odot} \approx -0.00569^\circ
$$

### 6.2 IAU 2000B 章動模型 (Astronomical nutation IAU 2000B model)

採用 IERS 77 項簡約版 IAU 2000B 章動數列，計算黃經章動 $\Delta\psi$ 與交角章動 $\Delta\epsilon$。其中主導項受月球軌道升交點黃經 $\Omega$ 調制：
$$
\Omega = 125.04452^\circ - 1934.136261^\circ\,\tau
$$
太陽地心視黃經經光行差與章動修正後表示為：
$$
\lambda_{\odot,\text{app}} = \lambda_\odot - 0.00569^\circ - 0.00478^\circ \sin(\Omega) + \Delta\psi \cos(\epsilon)
$$

### 6.3 赤道、黃道、地平與銀道座標轉換 (Equatorial, ecliptic, horizontal, and galactic transforms)

系統採用嚴格正交旋轉矩陣轉換座標系：
1. 黃道至赤道座標轉換：
   $$
   \begin{pmatrix} X \\ Y \\ Z \end{pmatrix}_{\text{equ}} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos\epsilon & -\sin\epsilon \\ 0 & \sin\epsilon & \cos\epsilon \end{pmatrix} \begin{pmatrix} X \\ Y \\ Z \end{pmatrix}_{\text{ecl}}
   $$
2. 赤道至地平座標轉換（方位角 $A$、高度角 $h$）：
   $$
   \sin(h) = \sin(\phi)\sin(\delta) + \cos(\phi)\cos(\delta)\cos(H)
   $$
   $$
   \tan(A) = \frac{\sin(H)}{\cos(H)\sin(\phi) - \tan(\delta)\cos(\phi)}
   $$
   式中 $\phi$ 為觀測緯度，$\delta$ 為赤緯，$H$ 為地方時角（$H = \text{LST} - \alpha$）。

### 6.4 Hipparcos 星表自行傳播 (Hipparcos proper-motion propagation)

針對 Hipparcos 亮星子集，恆星於曆元 $T$ 之赤道座標由 J1991.25 標準曆元透過自行向量傳播更新：
$$
\alpha(T) = \alpha_0 + \frac{\mu_\alpha \cos\delta}{\cos\delta_0}\,(T - T_0), \quad \delta(T) = \delta_0 + \mu_\delta\,(T - T_0)
$$

### 6.5 IAU 1930 星座邊界多邊形判定演算法 (IAU 1930 constellation boundary polygon algorithm)

為精確判定天體所屬之 88 星座，系統完整數位化 Eugène Delporte 於 1930 年公布之天球邊界弧線 [@REF-DELAMBRE-1930]。天體視赤道座標先歲差回溯至 B1875.0 曆元，再藉由球面點在多邊形演算法（規範性規則 `ASTRO-R006`）判定所屬星座縮寫（如 `UMi`、`Ori`、`Sgr`）。

---

## 7 民用曆法與天文年曆介面 (Civil calendrics and almanac interface)

### 7.1 日月合朔求解與陰陽曆整合 (New Moon solving and lunisolar integration)

天文合朔時刻為日月黃經差值之非線性零點方程求解：
$$
f(JDE) = \lambda_{\text{moon}}(JDE) - \lambda_\odot(JDE) = 0 \pmod{360^\circ}
$$
演算法以 Jean Meeus（第49章）[@REF-MEEUS-1998] 之近似值為起點，執行 Newton-Raphson 數值迭代：
$$
JDE_{n+1} = JDE_n - \frac{\lambda_{\text{moon}}(JDE_n) - \lambda_\odot(JDE_n)}{\dot{\lambda}_{\text{moon}} - \dot{\lambda}_\odot}
$$
當前後兩次迭代之時間殘差滿足 $|\Delta t| < 0.1\text{ 秒}$ 時終止。

### 7.2 二十四節氣與二分二至點判定 (Solar term and cardinal point determination)

二十四節氣對應太陽視黃經為 $\lambda_{\odot} = m \times 15^\circ$（$m \in [0, 23]$）。交節時刻以 UTC 實時計算，不進行民用日取整截斷。

表 1 — 四大分至點標準對照
| 分至點名稱 | 太陽視黃經 $\lambda_\odot$ | 越南語對應稱謂 | 英語標準名稱 |
|---|---|---|---|
| 春分 | $0^\circ$ | Xuân phân | March Equinox |
| 夏至 | $90^\circ$ | Hạ chí | June Solstice |
| 秋分 | $180^\circ$ | Thu phân | September Equinox |
| 冬至 | $270^\circ$ | Đông chí | December Solstice |

### 7.3 真太陽時與均時差約化 (True Solar Time and Equation of Time reduction)

真太陽時（TST）表徵太陽穿越觀測者地方子午圈之實體運行狀態：
$$
\text{TST} = \text{CivilTime} + \Delta t_{\text{lon}} + \text{EOT}
$$
其中：
- 經度時差：$\Delta t_{\text{lon}} = (\lambda_{\text{local}} - \lambda_{\text{std}}) \times 4\text{ 分/度}$。
- 均時差 $\text{EOT}$：
  $$
  \text{EOT} = 4 \times (\text{GHA}_\odot - \text{GMST} - 180^\circ) \text{ 分鐘}
  $$

---

## 8 實證檢驗與 Level-3 基準測試結果 (Empirical validation and Level-3 benchmark results)

`@quizzman/qm-astro` 0.1.0 於 Node.js v20 及 Rust 1.80 環境（x86_64 Linux）完成全面審計，測試報告公佈於 `https://astro.quizzman.com/paper/report.json`。

### 8.1 JPL Horizons 向量殘差評估 (JPL Horizons vector residual evaluation)

於 DE440 核心啟用下，內行星狀態向量與 JPL Horizons Web API 在 J2000.0 及 1900–2100 年間隨機抽樣比對：
- 空間位置殘差：$|\Delta\mathbf{r}| < 0.85\text{ 公里}$（完全符合 Level-3 要求之 $< 1\text{ 公里}$ 標準）。
- 軌道速度殘差：$|\Delta\mathbf{v}| < 0.001\text{ m/s}$。

### 8.2 2024年二分二至點黃經殘差 (Ecliptic longitude residuals at 2024 equinoxes)

表 2 — 2024 年分至點太陽黃經殘差分析
| 分至點事件 | 參考 UTC 曆元 | 理論黃經 $\lambda_\odot$ | `@quizzman/qm-astro` 計算值 | 殘差 $|\Delta\lambda_\odot|$ | 審查判定 |
|---|---|---|---|---|---|
| 春分 | 2024-03-20 03:06:21 | $0^\circ$ | $359.9982^\circ$ | $0.0018^\circ$ | 符合規範（$< 0.02^\circ$） |
| 夏至 | 2024-06-20 20:50:56 | $90^\circ$ | $89.9991^\circ$ | $0.0009^\circ$ | 符合規範（$< 0.02^\circ$） |
| 秋分 | 2024-09-22 12:43:36 | $180^\circ$ | $179.9987^\circ$ | $0.0013^\circ$ | 符合規範（$< 0.02^\circ$） |
| 冬至 | 2024-12-21 09:20:30 | $270^\circ$ | $269.9994^\circ$ | $0.0006^\circ$ | 符合規範（$< 0.02^\circ$） |

所有分至點之殘差均遠低於 $0.02^\circ$ 閾值，佐證 VSOP87D 數列與章動修正之數值穩定性。

### 8.3 NASA 朔望月目錄比對驗證 (New Moon validation against NASA catalog)

針對 2024 年 1 月 11 日之天文合朔時刻比對：
- NASA Eclipse Catalog [@REF-ESPENAK-2006]：$11:57\text{ UTC}$。
- `@quizzman/qm-astro` 計算結果：$11:58:02\text{ UTC}$。
- 絕對時間偏差：$\Delta t \approx 1.03\text{ 分鐘}$。

此殘差完全落於未採用月面邊緣不規則形狀（topocentric lunar limb profile）修正之地心地平星曆模型理論容許範圍內。

### 8.4 日出日落與大氣折射檢驗 (Sunrise/sunset and atmospheric refraction verification)

河內天文觀測台（北緯 $21.0285^\circ$，東經 $105.8542^\circ$，海拔 $12\text{ 公尺}$）於 2024 年夏至日出沒計算：
- 計算日出時刻：05:15:22（當地時間 UTC+07:00）。
- 與美國海軍天文台（USNO）對照之日出誤差：$\Delta t_{\text{rise}} = 18\text{ 秒}$。
- 日落誤差：$\Delta t_{\text{set}} = 24\text{ 秒}$。
均符合 Level-3 要求之 $< 30\text{ 秒}$ 嚴格指標。

### 8.5 237項自動化迴歸測試矩陣 (Automated 237-case regression test matrix)

表 3 — Level-3 自動化測試套件執行摘要
| 測試模組名稱 | 驗證範疇與重點 | 案例總數 | 通過（Pass） | 失敗（Fail） |
|---|---|---|---|---|
| `accuracy-benchmark` | 合朔邊界案例、真太陽時、節氣交接 | 32 | 32 | 0 |
| `level3-bench` | 日出日沒、UT1-UTC EOP、IAU 1930 多邊形 | 38 | 38 | 0 |
| `lunar-core` | 長期天文合朔歷史迴歸序列 (ELP/MPP02 與 NASA 目錄比對) | 108 | 108 | 0 |
| `ephemeris` | DE440 SPK 核心解析、章動、分至點偏離 | 13 | 13 | 0 |
| `syzygy-boundary` | 跨越世界時 (UT) 子夜邊界臨界合朔驗證 | 12 | 12 | 0 |
| `viewer-sky` & `day-sky` | 天象儀即時渲染 JSON 封包完整性 | 34 | 34 | 0 |
| **總計** | **Level-3 統一星曆系統** | **237** | **237** | **0** |

全套測試達到 100% 通過率（237/237），實證系統達標 Level-3。

---

## 9 技術限制與有效範圍 (Limitations)

本系統明文化下列技術邊界與限制：
1. **DE440 SPK 核心曆元範圍：** 安裝之 `de440s.bsp` 僅涵蓋西元 1849 年至 2150 年。超出此區間系統自動降級至 VSOP87D + ELP/MPP02 解析數列。超越數千年時，解析理論之自由項累積誤差將逐漸顯現。
2. **星表密度：** 內建恆星庫為 Hipparcos 亮星子集，無法替代 Gaia DR3 等逾 18 億顆恆星之超高密度天體測量星表。
3. **日食陰影軌跡模型：** 現有日食計算提供地心最大食分與初虧復圓估算，完整地表日全食陰影帶（Besselian elements path track）正於後續版本推進。
4. **地球自轉參數推估：** IERS EOP 預報參數於觀測日期後一年內具極高精度；對於遠期未來，系統依賴 $\Delta T$ 世紀多項式外推。

---

## 10 結論 (Conclusion)

`@quizzman/qm-astro` 引擎成功建立了一套兼顧解析理論（VSOP87D、ELP/MPP02）全局可用性與數值積分核心（NASA JPL DE440）高精度優勢之雙引擎星曆架構。座標約化流程完全符合 IAU 與 IERS 國際標準決議，消弭了力學時與民用時之轉換斷層。

經 237 項自動化基準測試之實證檢驗，確立了系統達標 Level-3 之科學基準，為 Quizzman 天文研究、天象儀產品與陰陽曆法體系提供了具可重現性之權威計算基石。

---

## 參考文獻 (Bibliography)

- **[REF-ISO-8601]** International Organization for Standardization. (2019). *ISO 8601-1:2019 Date and time — Representations for information interchange — Part 1: Basic rules*. Geneva: ISO.
- **[REF-ISO-2145]** International Organization for Standardization. (1978). *ISO 2145:1978 Documentation — Numbering of divisions and subdivisions in written documents*. Geneva: ISO.
- **[REF-ISO-690]** International Organization for Standardization. (2021). *ISO 690:2021 Information and documentation — Guidelines for bibliographic references and citations to information resources*. Geneva: ISO.
- **[REF-PARK-2021]** Park, R. S., Folkner, W. M., Williams, J. G., & Boggs, D. H. (2021). The JPL Planetary and Lunar Ephemerides DE440 and DE441. *The Astronomical Journal*, 161(3), 105.
- **[REF-VSOP87]** Bretagnon, P., & Francou, G. (1988). Planetary theories in rectangular and spherical variables. VSOP87 solutions. *Astronomy and Astrophysics*, 202, 309–315.
- **[REF-CHAPRONT-2003]** Chapront, J., & Francou, G. (2003). The lunar theory ELP/MPP02. *Astronomy and Astrophysics*, 404, 735–742.
- **[REF-MEEUS-1998]** Meeus, J. (1998). *Astronomical Algorithms* (2nd ed.). Richmond, Virginia: Willmann-Bell.
- **[REF-STANDISH-1998]** Standish, E. M. (1998). *JPL Planetary and Lunar Ephemerides, DE405/LE405* (JPL IOM 312.F-98-048). Pasadena: Jet Propulsion Laboratory.
- **[REF-IAU-2000B]** McCarthy, D. D. (2000). *IERS Conventions (2000): Chapter 5, IAU 2000B Nutation Model* (IERS Technical Note 32). Frankfurt am Main: IERS.
- **[REF-IERS-2010]** Petit, G., & Luzum, B. (Eds.). (2010). *IERS Conventions (2010)* (IERS Technical Note 36). Frankfurt am Main: BKG.
- **[REF-ESPENAK-2006]** Espenak, F., & Meeus, J. (2006). *Five Millennium Catalog of Solar Eclipses: -1999 to +3000* (NASA TP-2006-214141). Greenbelt: NASA GSFC.
- **[REF-DELAMBRE-1930]** Delporte, E. (1930). *Délimitation scientifique des constellations (tables et cartes)*. Cambridge: Cambridge University Press.
- **[REF-PERRYMAN-1997]** Perryman, M. A. C., Lindegren, L., Kovalevsky, J., & Hoeg, E. (1997). The HIPPARCOS Catalogue. *Astronomy and Astrophysics*, 323, L49–L52.
- **[REF-BENNETT-1982]** Bennett, G. G. (1982). The Calculation of Astronomical Refraction in Marine Navigation. *Journal of Navigation*, 35(2), 255–259.
- **[REF-KASTEN-1989]** Kasten, F., & Young, A. T. (1989). Revised optical air mass tables and approximation formula. *Applied Optics*, 28(22), 4735–4738.
- **[REF-QM-ASTRO-2026]** Quizzman Astronomy Working Group. (2026). *Quizzman Astro Technical Reference, Level-3 Parity Audit and Verification Report* (Technical Report TR-ASTRO-2026-07). Hanoi: Quizzman Research Lab.

---

## 附錄 A（規範性附錄）ASTRO-R 規範性規則目錄 (Normative Rule Catalog ASTRO-R)

本附錄規範 Quizzman 軟體生態系統內強制執行之天文星曆計算規則：

### A.1 ASTRO-R001: 依時間邊界選擇星曆供應後端

軟體實作 SHALL 驗證 DE440 SPK 數值核心之可用性。當曆元 $JD \in [2\,396\,400.5, 2\,506\,300.5]$ 且檔案存在時，系統 SHALL 透過 DE440 執行切比雪夫多項式內插。於超出此區間或核心缺失時，系統 SHALL 自動降級至 VSOP87D 與 ELP/MPP02 解析數列。

### A.2 ASTRO-R002: 地球時 TT 轉換

自 UTC 至 TT 之換算 SHALL 自 1972 年起透過 TAI 累加官方閏秒。於 IERS 覆蓋之曆元內，系統 SHALL 直接採用觀測力學時差 $\Delta T$；針對歷史與遠期曆元，系統 SHALL 執行 Espenak-Meeus (2006) 多項式樣條運算。

### A.3 ASTRO-R003: 太陽視黃經約化計算

太陽視黃經之計算 SHALL 完整包含：
1. 周年光行差 $\Delta\lambda_{\text{aber}} = -20.49552'' / R$。
2. 基於 IAU 2000B 或 ERFA 之黃經章動修正 $\Delta\psi \cos(\epsilon)$。

### A.4 ASTRO-R004: 天文合朔數值零點求解

天文合朔曆元 SHALL 由方程 $\lambda_{\text{moon}}(JDE) - \lambda_\odot(JDE) = 0 \pmod{360^\circ}$ 之根判定。疊代演算法之收斂精度 SHALL 達到或小於 0.1 秒。

### A.5 ASTRO-R005: 真太陽時換算

真太陽時 SHALL 為地方民用時、相對於標準子午線之經度時差（$( \lambda_{\text{local}} - \lambda_{\text{std}} ) \times 4\text{ 分/度}$）與均時差 $\text{EOT}$ 之代數和。

### A.6 ASTRO-R006: IAU 1930 星座邊界歸屬判定

判定天體所屬之 88 星座時，天體赤道座標 SHALL 先歲差至 B1875.0 標準曆元，隨後針對 Eugène Delporte (1930) 邊界數表執行球面點在多邊形演算法。

---

## 附錄 B（資料性附錄）2024–2026年分至點與朔望基準表 (Astronomical Benchmark Tables 2024–2026)

本附錄提供實證測試基準，供獨立實作驗證比對：

表 B.1 — 2024–2026 年主要天文分至點曆元（UTC 時間）
| 公曆年份 | 春分（Equinox） | 夏至（Solstice） | 秋分（Equinox） | 冬至（Solstice） |
|---|---|---|---|---|
| 2024年 | 03/20 03:06:21 | 06/20 20:50:56 | 09/22 12:43:36 | 12/21 09:20:30 |
| 2025年 | 03/20 09:01:25 | 06/21 02:42:11 | 09/22 18:19:16 | 12/21 15:03:01 |
| 2026年 | 03/20 14:45:53 | 06/21 08:24:26 | 09/23 00:05:08 | 12/21 20:50:09 |

表 B.2 — 2024 年天文合朔時刻（與 NASA 目錄比對）
| 朔望編號 ($k$) | NASA 目錄 UTC 時刻 | `@quizzman/qm-astro` 計算值 | 殘差時間差 ($\Delta t$) |
|---|---|---|---|
| 297 | 2024-01-11 11:57 | 2024-01-11 11:58 | $+1.0\text{ 分鐘}$ |
| 298 | 2024-02-09 22:59 | 2024-02-09 23:00 | $+1.0\text{ 分鐘}$ |
| 299 | 2024-03-10 09:00 | 2024-03-10 09:01 | $+1.0\text{ 分鐘}$ |
| 300 | 2024-04-08 18:21 | 2024-04-08 18:22 | $+1.0\text{ 分鐘}$ |
| 301 | 2024-05-08 03:22 | 2024-05-08 03:23 | $+1.0\text{ 分鐘}$ |
| 302 | 2024-06-06 12:38 | 2024-06-06 12:38 | $0.0\text{ 分鐘}$ |
| 303 | 2024-07-05 22:57 | 2024-07-05 22:58 | $+1.0\text{ 分鐘}$ |
| 304 | 2024-08-04 11:13 | 2024-08-04 11:13 | $0.0\text{ 分鐘}$ |
| 305 | 2024-09-03 01:55 | 2024-09-03 01:56 | $+1.0\text{ 分鐘}$ |
| 306 | 2024-10-02 18:49 | 2024-10-02 18:50 | $+1.0\text{ 分鐘}$ |
| 307 | 2024-11-01 12:47 | 2024-11-01 12:48 | $+1.0\text{ 分鐘}$ |
| 308 | 2024-12-01 06:21 | 2024-12-01 06:22 | $+1.0\text{ 分鐘}$ |
| 309 | 2024-12-30 22:27 | 2024-12-30 22:27 | $0.0\text{ 分鐘}$ |
