Module: AstroChart::Pure::Moon
- Defined in:
- lib/astro_chart/pure/moon.rb,
lib/astro_chart/pure/moon_elp.rb
Overview
Moon — MIT-safe 純 Ruby 月球位置(零外部依賴)。
只使用公開文獻公式,不參考 Swiss Ephemeris C 原始碼:
- 月球黃經/黃緯/距離:Jean Meeus, "Astronomical Algorithms" 2nd ed.,
Ch. 47(ELP-2000/82 截斷級數:Table 47.A 60 項 + Table 47.B 60 項),
再以公開發表的 ELP-2000/82B 級數(Chapront-Touzé & Chapront
1983/1988, CDS VizieR VI/79)補充(moon_elp.rb):
- 主問題:Meeus 截斷線以下黃經 +197 項(至 0.005")、 黃緯 +221 項(至 0.002")
- 攝動:地球扁率(ELP4/5/8)+ 行星攝動 Table 1/2(ELP10/11/16/17), 取代 Meeus 的 A1/A2/A3 加法捷徑(那些正是這些級數檔的最大列) 補充後截斷誤差 < 0.1"(黃經)/ < 0.05"(黃緯)。 實測 vs JPL Horizons(1972-11 近地點朔望,最惡條件):黃經差 0.12"。
- 視位置 = 幾何位置 + 章動 Δψ(Meeus Ch. 47 慣例;月亮距地近、 光行差以「地心速度」定義對月球不適用,光行時 ~1.3s → ~0.0002°, 在精度預算內忽略)。
- 真(密切)北交點:由月球黃道直角座標 r 與中央差分速度 v 取 角動量 h = r × v,升交點方向 n = ẑ × h = (−h_y, h_x, 0), Ω = atan2(n_y, n_x) = atan2(h_x, −h_y)(標準軌道力學,如 Vallado "Fundamentals of Astrodynamics";黃道座標系)。 與平均交點可差達 ±1.75°,不可混用。
精度註記(2026-07 驗證):TRUE_NODE vs Swiss Ephemeris 全域(1900-2026 每 2 天 dense 掃描)max ≈ 0.018°、mean ≈ 0.0026°。殘差尖峰集中在 「近地點 + 朔望」時刻(誤差被 1/i ≈ 11 倍放大的敏感點),且已用 JPL Horizons 狀態向量獨立仲裁:本實作的密切交點與 Horizons 差 ~0.0006°,SE(內建 Moshier 類 fallback 星曆,月黃經實測差 Horizons 1.75")差 ~0.018° — 即殘差主要是 SE 側的近似誤差,繼續加項無法 收斂(往 SE 誤差擬合反而踩授權線),此為此法的自然底線。
時間尺度慣例:公開 API 一律吃 **JD(UT)**,內部經 Core.jd_tt 換算 TT 後代入級數(月亮 ~13°/day,ΔT ≈ 70s 就是 ~0.01°,不可省)。
公開 API(module_function,皆回傳 Float 度 [0,360)): Moon.apparent_longitude(jd_ut) -> 月球視黃經(幾何 + Δψ) Moon.true_node(jd_ut) -> 真北交點視黃經(密切 Ω + Δψ) Moon.geometric_position(jd_tt) -> [λ_deg, β_deg, Δ_km](幾何,平春分點)
Constant Summary collapse
- NODE_DIFF_STEP_DAYS =
中央差分步長(日)。0.005d ≈ 7.2 分鐘:對 27.3 天週期的軌道, 二階截斷誤差 ~(2π·0.005/27.3)² ~ 1e-6,遠小於交點 0.02° 目標。
0.005- LON_DIST_TERMS =
--- Meeus Table 47.A:黃經 Σl(單位 1e-6 度)與距離 Σr(單位 1e-3 km) --- 各列 [D, M, M', F, l_coeff, r_coeff];含 M 的項需乘 E^|M|(E 見 47.6)。
[ [0, 0, 1, 0, 6_288_774, -20_905_355], [2, 0, -1, 0, 1_274_027, -3_699_111], [2, 0, 0, 0, 658_314, -2_955_968], [0, 0, 2, 0, 213_618, -569_925], [0, 1, 0, 0, -185_116, 48_888], [0, 0, 0, 2, -114_332, -3_149], [2, 0, -2, 0, 58_793, 246_158], [2, -1, -1, 0, 57_066, -152_138], [2, 0, 1, 0, 53_322, -170_733], [2, -1, 0, 0, 45_758, -204_586], [0, 1, -1, 0, -40_923, -129_620], [1, 0, 0, 0, -34_720, 108_743], [0, 1, 1, 0, -30_383, 104_755], [2, 0, 0, -2, 15_327, 10_321], [0, 0, 1, 2, -12_528, 0], [0, 0, 1, -2, 10_980, 79_661], [4, 0, -1, 0, 10_675, -34_782], [0, 0, 3, 0, 10_034, -23_210], [4, 0, -2, 0, 8_548, -21_636], [2, 1, -1, 0, -7_888, 24_208], [2, 1, 0, 0, -6_766, 30_824], [1, 0, -1, 0, -5_163, -8_379], [1, 1, 0, 0, 4_987, -16_675], [2, -1, 1, 0, 4_036, -12_831], [2, 0, 2, 0, 3_994, -10_445], [4, 0, 0, 0, 3_861, -11_650], [2, 0, -3, 0, 3_665, 14_403], [0, 1, -2, 0, -2_689, -7_003], [2, 0, -1, 2, -2_602, 0], [2, -1, -2, 0, 2_390, 10_056], [1, 0, 1, 0, -2_348, 6_322], [2, -2, 0, 0, 2_236, -9_884], [0, 1, 2, 0, -2_120, 5_751], [0, 2, 0, 0, -2_069, 0], [2, -2, -1, 0, 2_048, -4_950], [2, 0, 1, -2, -1_773, 4_130], [2, 0, 0, 2, -1_595, 0], [4, -1, -1, 0, 1_215, -3_958], [0, 0, 2, 2, -1_110, 0], [3, 0, -1, 0, -892, 3_258], [2, 1, 1, 0, -810, 2_616], [4, -1, -2, 0, 759, -1_897], [0, 2, -1, 0, -713, -2_117], [2, 2, -1, 0, -700, 2_354], [2, 1, -2, 0, 691, 0], [2, -1, 0, -2, 596, 0], [4, 0, 1, 0, 549, -1_423], [0, 0, 4, 0, 537, -1_117], [4, -1, 0, 0, 520, -1_571], [1, 0, -2, 0, -487, -1_739], [2, 1, 0, -2, -399, 0], [0, 0, 2, -2, -381, -4_421], [1, 1, 1, 0, 351, 0], [3, 0, -2, 0, -340, 0], [4, 0, -3, 0, 330, 0], [2, -1, 2, 0, 327, 0], [0, 2, 1, 0, -323, 1_165], [1, 1, -1, 0, 299, 0], [2, 0, 3, 0, 294, 0], [2, 0, -1, -2, 0, 8_752] ].freeze
- LAT_TERMS =
--- Meeus Table 47.B:黃緯 Σb(單位 1e-6 度) --- 各列 [D, M, M', F, b_coeff];含 M 的項需乘 E^|M|。
[ [0, 0, 0, 1, 5_128_122], [0, 0, 1, 1, 280_602], [0, 0, 1, -1, 277_693], [2, 0, 0, -1, 173_237], [2, 0, -1, 1, 55_413], [2, 0, -1, -1, 46_271], [2, 0, 0, 1, 32_573], [0, 0, 2, 1, 17_198], [2, 0, 1, -1, 9_266], [0, 0, 2, -1, 8_822], [2, -1, 0, -1, 8_216], [2, 0, -2, -1, 4_324], [2, 0, 1, 1, 4_200], [2, 1, 0, -1, -3_359], [2, -1, -1, 1, 2_463], [2, -1, 0, 1, 2_211], [2, -1, -1, -1, 2_065], [0, 1, -1, -1, -1_870], [4, 0, -1, -1, 1_828], [0, 1, 0, 1, -1_794], [0, 0, 0, 3, -1_749], [0, 1, -1, 1, -1_565], [1, 0, 0, 1, -1_491], [0, 1, 1, 1, -1_475], [0, 1, 1, -1, -1_410], [0, 1, 0, -1, -1_344], [1, 0, 0, -1, -1_335], [0, 0, 3, 1, 1_107], [4, 0, 0, -1, 1_021], [4, 0, -1, 1, 833], [0, 0, 1, -3, 777], [4, 0, -2, 1, 671], [2, 0, 0, -3, 607], [2, 0, 2, -1, 596], [2, -1, 1, -1, 491], [2, 0, -2, 1, -451], [0, 0, 3, -1, 439], [2, 0, 2, 1, 422], [2, 0, -3, -1, 421], [2, 1, -1, 1, -366], [2, 1, 0, 1, -351], [4, 0, 0, 1, 331], [2, -1, 1, 1, 315], [2, -2, 0, -1, 302], [0, 0, 1, 3, -283], [2, 1, 1, -1, -229], [1, 1, 0, -1, 223], [1, 1, 0, 1, 223], [0, 1, -2, -1, -220], [2, 1, -1, -1, -220], [1, 0, 1, 1, -185], [2, -1, -2, -1, 181], [0, 1, 2, 1, -177], [4, 0, -2, -1, 176], [4, -1, -1, -1, 166], [1, 0, 1, -1, -164], [4, 0, 1, -1, 132], [1, 0, -1, -1, -119], [4, -1, 0, -1, 115], [2, -2, 0, 1, 107] ].freeze
- PLANETARY_ARGS =
ELP-2000/82B 級數補充表 — MIT-safe(機器產生,勿手改)。
資料來源:Chapront-Touzé & Chapront, "The lunar ephemeris ELP 2000" (A&A 124, 50, 1983) 與 "ELP 2000-85" (A&A 190, 342, 1988),級數檔 公開於 CDS VizieR VI/79(公開發表的天文數據;檔案格式依 BDL 公開 參考程式 elp82b.f 的 format 1001/1002/1003)。未參考任何 Swiss Ephemeris 原始碼。
動機:真交點由 h = r × v 取向,黃緯誤差被 1/i(≈0.0898 rad) ≈ 11 倍 放大 — Meeus 47.B 截斷底(~4")正是交點 ~0.02° 殘差的來源。 本補充把主問題黃緯截到 0.002"、黃經 0.005",並以完整攝動級數 (地球扁率 + 行星攝動 Table 1/2)取代 Meeus 的 A1/A2/A3 加法捷徑。
單位/慣例:
- coeff 一律 1e-6 度(同 Meeus 表);phase 為度。
- SUPP_*:主問題補充項 [D, M, M', F, coeff],Meeus 截斷線以下、 已剔除 47.A/47.B 既有組合;沿用 Meeus 慣例乘 E^|M|(|M| ≤ 4)。
- PERT_*_ZETA:[iz, iD, iM, iMp, iF, phase, coeff, tpow], arg = phase + iz·ζ + …(ζ = W1 + p·t ≡ Meeus 的 of-date L'); tpow=1 為 Poisson 項(振幅 × T)。來源 ELP4/5/8。
- PERT_*_PLAN1:[Me,V,T,Ma,J,S,U,N, iD, iMp, iF, phase, coeff], 8 個行星平黃經 + D, M', F(無 M)。來源 ELP10/11。
- PERT_*_PLAN2:[Me,V,T,Ma,J,S,U, iD, iM, iMp, iF, phase, coeff], 7 個行星平黃經 + D, M, M', F。來源 ELP16/17。
- 攝動項不乘 E 因子(依 ELP 慣例振幅為常數)。
- 行星 /t Poisson 檔(ELP13-15/19-21)刻意不收:其中純 Delaunay 頻率的項與 Meeus E 因子慣例重複(會雙重計入 e' 長期變化), 其餘獨立內容 < 0.5" 在精度預算內。潮汐/月球扁率/相對論/ 太陽離心率 t² 檔全部 < 0.005",一併略過。
行星平黃經(J2000 慣性系、線性)[base_deg, rate_deg_per_cy]:
[ [252.2509055167, 149472.6746358278], # Mercury [181.9798008472, 58517.8156759861], # Venus [100.4664501639, 35999.3728543889], # Earth [355.4332746278, 19140.2993313444], # Mars [34.3514839222, 3034.9056746139], # Jupiter [50.0774713722, 1222.1137942556], # Saturn [314.0550051139, 428.4669983139], # Uranus [304.3486654861, 218.4862002056], # Neptune ].freeze
- SUPP_LON_TERMS =
主問題補充(ELP1:197 項 ≥ 0.005";ELP2:221 項 ≥ 0.002")
[ [ 2, 0, 1, 2, -275.1], [ 2, 0, -4, 0, 263.4], [ 2, -2, 1, 0, 208.8], [ 0, 1, -3, 0, -185.9], [ 4, 1, -1, 0, -176.5], [ 1, 0, 2, 0, -162.2], [ 1, 0, 0, -2, -162.0], [ 6, 0, -2, 0, 158.8], [ 2, 0, -2, -2, -155.7], [ 1, -1, 0, 0, -154.7], [ 0, 1, 3, 0, -151.6], [ 2, 0, -2, 2, -148.8], [ 2, -1, -3, 0, 132.9], [ 2, 0, 2, -2, -126.1], [ 2, -1, -1, 2, -118.4], [ 0, 0, 0, 4, 116.8], [ 0, 1, 0, 2, 114.8], [ 3, 0, 0, 0, 112.3], [ 6, 0, -1, 0, 109.6], [ 2, -1, 0, 2, -106.2], [ 2, -1, 1, -2, -104.0], [ 4, 1, -2, 0, -99.3], [ 1, 1, -2, 0, 97.1], [ 2, -3, 0, 0, 94.4], [ 0, 0, 3, 2, -91.3], [ 4, -2, -1, 0, 85.8], [ 0, 1, -1, -2, 83.8], [ 4, 0, -1, -2, 83.6], [ 2, -2, -2, 0, 81.7], [ 6, 0, -3, 0, 81.3], [ 2, 1, 2, 0, -80.6], [ 4, 1, 0, 0, -80.3], [ 4, -1, 1, 0, 78.5], [ 3, 1, -1, 0, 76.0], [ 0, 1, 1, 2, 73.2], [ 1, 0, 0, 2, 70.6], [ 3, 0, 0, -2, -70.3], [ 2, 2, -2, 0, -69.4], [ 2, -3, -1, 0, 68.6], [ 3, -1, -1, 0, -64.3], [ 4, 0, 2, 0, 60.7], [ 4, 0, -1, 2, -55.9], [ 0, 2, -2, 0, -53.6], [ 2, 2, 0, 0, -51.6], [ 2, 0, -1, -2, 49.7], [ 2, 1, -3, 0, 49.0], [ 4, 0, -2, 2, -47.2], [ 4, -2, -2, 0, 43.8], [ 4, -2, 0, 0, 42.3], [ 3, 1, 0, 0, 41.6], [ 1, -1, -1, 0, -37.9], [ 1, 0, -3, 0, -35.6], [ 6, 0, 0, 0, 35.0], [ 2, 0, 2, 2, -34.4], [ 1, -1, 1, 0, -33.5], [ 0, 0, 5, 0, 30.8], [ 0, 3, 0, 0, -28.2], [ 4, -1, -3, 0, 27.7], [ 2, -1, 3, 0, 25.9], [ 1, 1, 2, 0, 25.6], [ 2, 0, -3, -2, -25.4], [ 0, 0, 1, 4, 25.3], [ 6, -1, -2, 0, 25.1], [ 4, 0, 0, 2, -23.6], [ 2, 1, 1, -2, 23.5], [ 3, -1, -2, 0, -23.1], [ 0, 1, 1, -2, -23.0], [ 0, 1, -1, 2, -22.4], [ 0, 0, 1, -4, -22.3], [ 2, 0, 4, 0, 21.6], [ 2, 0, 0, -4, -20.9], [ 0, 1, 0, -2, 20.8], [ 2, -1, 1, 2, -20.5], [ 6, -1, -1, 0, 19.8], [ 2, 0, -5, 0, 19.0], [ 2, 1, -1, 2, 18.7], [ 4, 0, 1, -2, -18.3], [ 2, 1, 0, 2, 18.2], [ 3, -1, 0, 0, 18.1], [ 0, 2, 2, 0, -18.1], [ 2, -2, 2, 0, 17.9], [ 2, -2, 0, -2, 17.5], [ 2, -1, -1, -2, -17.0], [ 5, 0, -2, 0, -15.9], [ 0, 0, 3, -2, -15.8], [ 0, 1, -2, -2, 14.3], [ 0, 3, -1, 0, -14.3], [ 4, 1, 1, 0, -14.1], [ 0, 1, -4, 0, -13.1], [ 1, 0, 1, 2, 12.4], [ 3, 0, -3, 0, -12.3], [ 0, 1, 2, 2, 12.1], [ 1, -2, 0, 0, 12.0], [ 3, 1, -2, 0, -11.6], [ 1, 0, 3, 0, -11.3], [ 1, 0, 1, -2, -11.1], [ 0, 1, 4, 0, -11.0], [ 1, 2, 0, 0, -11.0], [ 6, -1, -3, 0, 10.8], [ 1, 1, 0, 2, -10.0], [ 4, 2, -2, 0, -9.8], [ 2, 0, 3, -2, -9.3], [ 2, -3, 1, 0, 9.2], [ 4, -1, 2, 0, 9.1], [ 3, 0, -1, -2, -8.3], [ 2, -1, -4, 0, 8.2], [ 2, -1, 2, -2, -8.0], [ 2, -1, -2, -2, -7.8], [ 4, 1, -3, 0, 7.5], [ 0, 1, 2, -2, 7.4], [ 2, 1, 3, 0, -7.4], [ 0, 0, 4, 2, -7.2], [ 6, -1, 0, 0, 7.0], [ 0, 1, -2, 2, 6.7], [ 4, -2, 1, 0, 6.7], [ 4, 0, 0, -2, -6.6], [ 1, 0, -1, -2, -6.6], [ 2, 2, 0, -2, -6.5], [ 1, 1, -3, 0, 6.4], [ 4, -1, -1, -2, 6.4], [ 4, -1, -1, 2, -6.3], [ 6, 0, 1, 0, 6.3], [ 3, 1, 1, 0, 6.2], [ 4, 0, 3, 0, 6.0], [ 2, -1, -2, 2, -6.0], [ 4, 2, -1, 0, -6.0], [ 2, 0, -1, 4, 5.5], [ 3, -1, 0, -2, -5.4], [ 4, 1, -1, -2, -5.2], [ 2, 1, -4, 0, 5.1], [ 0, 3, 1, 0, -5.0], [ 2, -2, 0, 2, -5.0], [ 4, 0, 1, 2, -4.9], [ 4, -3, -1, 0, 4.8], [ 5, 0, -3, 0, -4.7], [ 2, -2, 1, -2, -4.6], [ 2, 1, 1, 2, 4.5], [ 1, 0, -1, 2, 4.4], [ 2, -2, -1, 2, -4.3], [ 4, -1, -2, 2, -4.3], [ 2, -2, -3, 0, 4.3], [ 0, 2, -3, 0, -4.2], [ 1, -1, 2, 0, -4.1], [ 2, 0, 0, 4, 3.8], [ 6, 0, -4, 0, 3.8], [ 5, 0, -1, 0, -3.8], [ 2, -4, 0, 0, 3.7], [ 2, 2, 1, 0, -3.7], [ 2, 0, 3, 2, -3.7], [ 0, 0, 2, 4, 3.6], [ 1, -1, 0, -2, -3.6], [ 6, 1, -2, 0, -3.6], [ 3, 0, -1, 2, 3.4], [ 3, -2, -1, 0, -3.3], [ 4, -1, 0, 2, -3.1], [ 6, 1, -1, 0, -3.0], [ 2, 0, -4, -2, -3.0], [ 3, 0, 1, -2, -2.9], [ 2, -1, 2, 2, -2.8], [ 2, -3, -2, 0, 2.7], [ 1, 0, -4, 0, -2.7], [ 4, 0, 2, -2, -2.7], [ 4, -3, 0, 0, 2.7], [ 4, 0, -3, 2, -2.6], [ 2, 2, -3, 0, -2.6], [ 3, 1, 0, -2, 2.5], [ 2, 1, 2, -2, 2.5], [ 8, 0, -2, 0, 2.4], [ 2, 0, -1, -4, -2.4], [ 1, 2, 1, 0, -2.4], [ 8, 0, -3, 0, 2.3], [ 6, -2, -2, 0, 2.3], [ 2, -4, -1, 0, 2.3], [ 4, -3, -2, 0, 2.1], [ 6, -2, -1, 0, 2.1], [ 4, -1, 1, -2, -2.0], [ 2, -1, 4, 0, 2.0], [ 5, -1, -2, 0, -1.9], [ 1, 1, 3, 0, 1.9], [ 1, -1, -2, 0, -1.9], [ 4, 1, 2, 0, -1.9], [ 4, -1, 0, -2, 1.9], [ 1, 1, 1, 2, -1.8], [ 2, 2, -1, -2, -1.8], [ 4, 0, -2, -2, 1.8], [ 0, 0, 6, 0, 1.8], [ 0, 1, -3, -2, 1.7], [ 3, 1, -3, 0, -1.7], [ 4, -2, -3, 0, 1.6], [ 2, 0, 5, 0, 1.6], [ 0, 1, 3, 2, 1.5], [ 2, -2, 3, 0, 1.5], [ 1, 0, 2, 2, 1.5], [ 3, -2, 0, 0, 1.4], [ 0, 2, 0, 2, 1.4], [ 6, 0, -2, 2, -1.4], [ 2, 2, -1, 2, 1.4] ].freeze
- SUPP_LAT_TERMS =
[ [ 3, 0, 0, -1, -97.7], [ 4, -1, -1, 1, 94.1], [ 2, 0, -1, -3, 91.4], [ 2, -2, -1, 1, 87.4], [ 0, 1, 2, -1, -86.9], [ 3, 0, -1, -1, -84.8], [ 0, 1, -2, 1, -83.7], [ 2, 0, 1, -3, -80.9], [ 2, -2, -1, -1, 74.6], [ 0, 0, 4, 1, 73.1], [ 2, 0, -3, 1, 70.6], [ 2, 0, -1, 3, -68.0], [ 2, 1, 1, 1, -65.8], [ 4, -1, -2, 1, 59.4], [ 4, 0, 1, 1, 59.1], [ 3, 0, -1, 1, -57.2], [ 4, 1, -1, -1, -47.8], [ 4, -1, 0, 1, 43.9], [ 2, 0, 3, -1, 40.7], [ 2, 0, 0, 3, -40.1], [ 1, 0, -1, 1, 38.7], [ 2, 0, 3, 1, 38.3], [ 2, 2, 0, -1, -37.3], [ 2, 0, -4, -1, 37.2], [ 0, 0, 2, -3, -36.2], [ 2, -1, 2, -1, 35.8], [ 2, -1, 2, 1, 34.4], [ 0, 0, 2, 3, -32.7], [ 0, 2, -1, -1, -31.5], [ 2, 2, -1, 1, -31.5], [ 4, 1, 0, -1, -31.4], [ 1, 0, -2, -1, -30.5], [ 2, 2, -1, -1, -29.3], [ 1, 1, 1, 1, 28.3], [ 0, 2, -1, 1, -26.4], [ 6, 0, -1, -1, 26.1], [ 0, 0, 4, -1, 25.4], [ 2, -1, 0, -3, 24.5], [ 6, 0, -2, -1, 22.5], [ 2, 1, -2, -1, 22.0], [ 1, 0, -2, 1, -21.8], [ 0, 1, -3, -1, -20.8], [ 2, -2, 1, -1, 19.2], [ 2, 0, -2, 3, -18.2], [ 1, 0, 2, 1, -17.7], [ 2, 1, 2, -1, -17.5], [ 4, 0, 0, -3, 17.4], [ 0, 1, 3, 1, -17.2], [ 0, 2, 1, -1, -17.2], [ 2, -1, -2, 1, -17.2], [ 6, 0, -2, 1, 16.6], [ 2, -2, 1, 1, 16.2], [ 0, 2, 0, 1, -15.9], [ 4, -1, 1, -1, 15.8], [ 1, 1, -1, 1, -15.5], [ 0, 2, 1, 1, -15.3], [ 2, -1, -3, -1, 15.3], [ 2, 1, 0, -3, -15.2], [ 2, 1, -2, 1, 15.1], [ 4, -1, -2, -1, 14.6], [ 4, 1, -1, 1, -14.2], [ 3, 0, -2, 1, -13.5], [ 4, 0, 2, -1, 13.4], [ 6, 0, -1, 1, 11.7], [ 3, 0, -2, -1, -10.9], [ 6, 0, 0, -1, 10.2], [ 2, -3, 0, -1, 10.1], [ 1, 0, 2, -1, -10.1], [ 3, 0, 1, -1, -10.0], [ 4, -2, -1, -1, 9.6], [ 1, 1, 1, -1, 9.6], [ 3, 1, 0, -1, 9.5], [ 1, 0, 0, -3, -9.0], [ 6, 0, -3, 1, 8.7], [ 2, 1, 2, 1, -8.7], [ 4, -1, 1, 1, 8.4], [ 2, 0, 1, 3, -8.4], [ 4, 1, -2, 1, -8.2], [ 4, -2, 0, -1, 8.1], [ 3, 0, 0, 1, -7.9], [ 4, 0, 2, 1, 7.9], [ 3, -1, 0, -1, -7.1], [ 4, 1, 0, 1, -7.1], [ 2, 0, -4, 1, 6.9], [ 0, 1, 3, -1, -6.7], [ 4, -2, -1, 1, 6.6], [ 0, 1, -3, 1, -6.6], [ 2, -2, -2, -1, 6.3], [ 4, 0, -3, 1, 6.0], [ 3, 1, -1, 1, 5.8], [ 3, -1, -1, -1, -5.8], [ 2, 0, -2, -3, 5.7], [ 1, -1, 1, -1, -5.6], [ 2, 1, -3, -1, 5.1], [ 1, -1, 0, 1, -5.1], [ 0, 2, 0, -1, -5.0], [ 0, 0, 5, 1, 4.9], [ 4, 1, 1, -1, -4.7], [ 1, 1, -2, 1, 4.7], [ 2, -1, 1, -3, -4.6], [ 2, -3, 0, 1, 4.5], [ 1, 1, -2, -1, 4.4], [ 0, 2, -2, -1, -4.4], [ 6, 0, 0, 1, 4.1], [ 2, 2, 0, 1, -4.1], [ 6, -1, -1, -1, 4.1], [ 3, -1, -1, 1, -3.8], [ 3, 1, 0, 1, 3.8], [ 1, -1, 0, -1, -3.7], [ 3, 1, -1, -1, 3.7], [ 2, 2, -2, -1, -3.5], [ 4, -2, 0, 1, 3.5], [ 1, 0, -3, -1, -3.5], [ 4, -2, -2, 1, 3.4], [ 2, -1, 3, 1, 3.4], [ 2, -1, -1, 3, -3.3], [ 2, 0, 4, 1, 3.3], [ 0, 0, 3, 3, -3.3], [ 0, 1, 0, 3, 3.2], [ 2, 0, -5, -1, 3.1], [ 6, -1, -2, -1, 3.0], [ 2, -3, -1, 1, 2.9], [ 1, -1, -1, -1, 2.9], [ 2, -1, -1, -3, 2.9], [ 2, 0, 4, -1, 2.9], [ 5, 0, -1, -1, -2.9], [ 2, 0, 2, -3, -2.8], [ 1, 1, 2, 1, 2.8], [ 3, 0, 0, -3, -2.8], [ 2, -1, 3, -1, 2.7], [ 6, -1, -2, 1, 2.6], [ 2, -1, 0, 3, -2.6], [ 2, -1, -3, 1, 2.6], [ 0, 1, -1, 3, -2.5], [ 2, -3, -1, -1, 2.5], [ 1, -1, 1, 1, -2.3], [ 4, 0, -3, -1, -2.1], [ 6, -1, -1, 1, 2.1], [ 0, 1, 1, -3, -2.0], [ 6, 0, -3, -1, 2.0], [ 0, 1, 1, 3, 1.9], [ 2, -2, 2, 1, 1.9], [ 4, 0, -4, -1, -1.9], [ 0, 1, -1, -3, 1.9], [ 1, 1, -1, -1, 1.8], [ 3, 0, 1, 1, -1.8], [ 1, 0, 0, 3, 1.8], [ 4, 0, -1, 3, -1.8], [ 0, 1, -4, -1, -1.8], [ 6, -1, 0, -1, 1.8], [ 4, 0, -2, 3, -1.8], [ 6, 0, 1, -1, 1.8], [ 2, 2, 1, -1, -1.7], [ 4, -1, 2, -1, 1.7], [ 0, 0, 0, 5, 1.6], [ 0, 0, 5, -1, 1.6], [ 4, 1, 1, 1, -1.6], [ 0, 1, 4, 1, -1.5], [ 1, 0, -3, 1, -1.5], [ 4, -1, 0, -3, 1.5], [ 4, 0, -1, -3, -1.5], [ 4, 0, 1, -3, -1.5], [ 0, 2, 2, 1, -1.5], [ 0, 2, -2, 1, -1.5], [ 2, -2, 2, -1, 1.5], [ 1, 0, 3, 1, -1.5], [ 2, 1, 3, -1, -1.4], [ 2, 2, -2, 1, -1.4], [ 5, 0, -2, 1, -1.4], [ 5, 0, -2, -1, -1.4], [ 2, 0, 2, 3, -1.3], [ 2, 1, 1, -3, 1.3], [ 4, 0, 3, -1, 1.2], [ 3, 1, 1, -1, 1.2], [ 4, 2, -1, -1, -1.2], [ 2, -1, -4, -1, 1.2], [ 6, -1, -3, 1, 1.2], [ 4, -2, 1, -1, 1.2], [ 4, -1, 2, 1, 1.2], [ 4, 0, -2, -3, -1.1], [ 6, 1, -1, -1, -1.0], [ 1, 0, -1, -3, -1.0], [ 2, 1, -1, -3, -1.0], [ 2, 1, 3, 1, -1.0], [ 3, -1, -2, 1, -0.9], [ 1, 1, 2, -1, 0.9], [ 4, 0, 3, 1, 0.9], [ 3, 0, 2, -1, -0.9], [ 4, 2, -2, 1, -0.8], [ 3, 0, -3, -1, -0.8], [ 3, -1, 1, -1, -0.8], [ 4, 0, 0, 3, -0.8], [ 0, 2, 2, -1, -0.8], [ 3, -1, -2, -1, -0.8], [ 4, 1, 0, -3, -0.8], [ 2, -2, 0, -3, 0.8], [ 4, -2, -2, -1, 0.8], [ 6, -1, 0, 1, 0.8], [ 6, 0, 1, 1, 0.8], [ 2, 1, -4, -1, 0.7], [ 1, 0, -1, 3, 0.7], [ 1, 0, 3, -1, -0.7], [ 0, 0, 1, -5, -0.7], [ 5, 0, -1, 1, -0.7], [ 2, -3, 1, -1, 0.7], [ 3, 1, 1, 1, 0.7], [ 2, -3, 1, 1, 0.7], [ 3, 1, -2, 1, -0.7], [ 6, 1, -2, -1, -0.7], [ 2, -1, -2, 3, -0.7], [ 4, -2, 1, 1, 0.7], [ 5, 0, 0, -1, -0.7], [ 2, 0, -3, 3, 0.6], [ 0, 3, -1, -1, -0.6], [ 1, -2, 0, -1, 0.6], [ 1, -2, 0, 1, 0.6], [ 1, 2, 0, 1, -0.6], [ 2, -1, 1, 3, -0.6], [ 2, 0, 0, -5, -0.6], [ 2, 0, -5, 1, 0.6], [ 4, 1, -2, -1, -0.6] ].freeze
- PERT_LON_ZETA =
地球扁率攝動(ELP4 ≥ 0.01":17 項;ELP5 ≥ 0.003" + ELP8×T:30 項)
[ [ 1, 0, 0, 0, -1, 0.00094, 1962.0, 0], [ 1, 0, 0, 1, -1, 0.00127, 137.0, 0], [ 1, 0, 0, -1, -1, 0.00127, 136.5, 0], [ 1, 0, 0, 0, 1, 0.00071, 100.2, 0], [ 1, 2, 0, 0, -1, 0.00090, 26.8, 0], [ 1, -2, 0, 0, -1, 0.00100, 18.2, 0], [ 1, 2, 0, -1, -1, 0.00042, 17.9, 0], [ 1, 0, 0, -1, 1, 0.00051, 14.0, 0], [ 1, -2, 0, 1, -1, 0.00029, 13.8, 0], [ 1, -2, 0, 0, 1, 0.00076, 13.2, 0], [ 1, 0, 0, 1, 1, 0.00070, 10.7, 0], [ 2, 0, 0, 0, -2, 180.00000, 10.1, 0], [ 1, 0, 0, 2, -1, 0.00126, 9.5, 0], [ 1, 0, 0, -2, -1, 0.00128, 9.1, 0], [ 0, 2, 0, -1, 0, 0.00000, 6.1, 0], [ 1, 0, 0, 0, -3, 180.00086, 4.1, 0], [ 1, 2, 0, 1, -1, 0.00102, 3.4, 0] ].freeze
- PERT_LAT_ZETA =
[ [ 1, 0, 0, 0, 0, 180.00071, 2234.7, 0], [ 1, 0, 0, -1, 0, 0.00075, 126.6, 0], [ 1, 0, 0, 1, 0, 180.00069, 115.5, 0], [ 1, 0, 0, 0, -2, 0.00086, 90.6, 0], [ 1, -2, 0, 0, 0, 0.00072, 82.9, 0], [ 1, 2, 0, -1, 0, 180.00073, 23.2, 0], [ 2, 0, 0, 0, -1, 0.00000, 22.3, 0], [ 1, -2, 0, 1, 0, 0.00071, 20.4, 0], [ 1, 2, 0, 0, 0, 180.00070, 12.9, 0], [ 1, 0, 0, -1, -2, 0.00109, 11.0, 0], [ 1, 0, 0, 2, 0, 180.00066, 6.7, 0], [ 1, 0, 0, -2, 0, 0.00067, 4.8, 0], [ 1, -2, 0, -1, 0, 0.00075, 4.6, 0], [ 1, -2, 1, 0, 0, 0.00072, 3.9, 0], [ 1, 2, 0, 0, -2, 0.00102, 2.8, 0], [ 1, 0, 0, 0, 2, 0.00071, 2.3, 0], [ 1, -2, 0, 2, 0, 0.00066, 1.9, 0], [ 1, -2, -1, 0, 0, 180.00071, 1.6, 0], [ 1, 2, 0, 1, 0, 180.00067, 1.6, 0], [ 1, -2, 0, 1, -2, 0.00065, 1.6, 0], [ 1, -2, 0, 0, -2, 0.00093, 1.6, 0], [ 2, 0, 0, 1, -1, 0.00000, 1.2, 0], [ 1, 0, 0, -1, 2, 0.00062, 1.2, 0], [ 2, 0, 0, -1, -1, 180.00000, 1.2, 0], [ 1, 2, -1, -1, 0, 180.00073, 1.0, 0], [ 1, 0, 0, -2, -2, 0.00116, 1.0, 0], [ 1, -4, 0, 1, 0, 0.00071, 0.9, 0], [ 1, -2, 1, 1, 0, 0.00071, 0.9, 0], [ 1, 2, -1, 0, 0, 180.00070, 0.9, 0], [ 1, 0, 0, 0, 0, 0.00000, 1.0, 1] ].freeze
- PERT_LON_PLAN1 =
行星攝動 Table 1(ELP10 ≥ 0.01":224 項;ELP11 ≥ 0.003":151 項)
[ [ 0, 18, -16, 0, 0, 0, 0, 0, 0, -1, 0, 26.54261, 3958.0], [ 0, 0, 2, 0, -2, 0, 0, 0, 2, -1, 0, 180.11977, 317.5], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 0, 285.98707, 250.3], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 180.00988, 228.2], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, -2, 0, 26.54324, 218.9], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 0, 26.54560, 205.4], [ 0, 3, -3, 0, 0, 0, 0, 0, 2, -1, 0, 179.98144, 178.8], [ 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 0, 1.22890, 177.4], [ 0, 10, -3, 0, 0, 0, 0, 0, 0, -1, 0, 333.30551, 156.5], [ 0, 0, 2, 0, -3, 0, 0, 0, 2, -1, 0, 10.07001, 123.7], [ 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 0, 269.95393, 95.4], [ 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 318.13776, 90.2], [ 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0.20448, 83.8], [ 0, 0, 2, 0, -3, 0, 0, 0, 2, -2, 0, 10.03835, 78.6], [ 0, 0, 2, 0, -2, 0, 0, 0, 2, -2, 0, 0.08642, 68.1], [ 0, 8, -13, 0, 0, 0, 0, 0, 0, 0, 0, 235.75013, 62.9], [ 0, 0, 1, 0, -1, 0, 0, 0, -2, 1, 0, 1.74333, 58.7], [ 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, 0, 359.76487, 54.0], [ 0, 0, 2, 0, -2, 0, 0, 0, 0, 0, 0, 180.43608, 51.3], [ 0, 0, 2, 0, -2, 0, 0, 0, 0, -1, 0, 359.98450, 50.7], [ 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 0, 270.99316, 48.6], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, -1, 0, 284.98776, 47.5], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, 1, 0, 284.98767, 47.4], [ 0, 18, -16, 0, 0, 0, 0, 0, -2, 0, 0, 26.53985, 46.4], [ 0, 0, 1, 0, -1, 0, 0, 0, -2, 0, 0, 1.80280, 45.8], [ 0, 18, -16, 0, 0, 0, 0, 0, -2, -1, 0, 26.54223, 45.7], [ 0, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, 301.00599, 45.6], [ 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, 347.76653, 45.5], [ 0, 18, -16, 0, 0, 0, 0, 0, 2, -1, 0, 26.54301, 45.3], [ 0, 2, -2, 0, 0, 0, 0, 0, -2, 1, 0, 0.31177, 44.7], [ 0, 18, -16, 0, 0, 0, 0, 0, 2, -2, 0, 26.54227, 43.6], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 180.00888, 42.6], [ 0, 0, 1, 0, -1, 0, 0, 0, 0, -1, 0, 1.23582, 39.9], [ 0, 0, 4, -8, 3, 0, 0, 0, 2, -1, 0, 287.11388, 38.8], [ 0, 0, 4, -8, 3, 0, 0, 0, -2, 1, 0, 287.11216, 38.8], [ 0, 2, -2, 0, 0, 0, 0, 0, 2, -1, 0, 359.99762, 37.8], [ 0, 2, -2, 0, 0, 0, 0, 0, -2, 0, 0, 0.36659, 37.3], [ 0, 1, -1, 0, 0, 0, 0, 0, -2, 1, 0, 179.98436, 36.5], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, 1, 0, 180.01511, 35.3], [ 0, 3, -3, 0, 0, 0, 0, 0, 0, -1, 0, 0.12046, 34.8], [ 0, 0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1.11168, 30.5], [ 0, 20, -21, 0, 0, 0, 0, 0, -2, 1, 0, 271.80227, 29.6], [ 0, 26, -29, 0, 0, 0, 0, 0, 0, -1, 0, 75.00074, 29.1], [ 0, 3, -4, 0, 0, 0, 0, 0, 1, -1, 0, 270.34292, 28.9], [ 0, 1, -1, 0, 0, 0, 0, 0, -2, 0, 0, 179.98152, 27.6], [ 0, 0, 2, 0, -3, 0, 0, 0, 0, -1, 0, 190.17970, 26.4], [ 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, 0, 300.13913, 25.5], [ 0, 0, 4, -8, 3, 0, 0, 0, -2, 0, 0, 286.68957, 25.0], [ 0, 0, 4, -8, 3, 0, 0, 0, 2, 0, 0, 286.69269, 25.0], [ 0, 0, 2, 0, -2, 0, 0, 0, -2, 1, 0, 180.86110, 24.8], [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 286.69628, 24.0], [ 0, 0, 2, 0, -2, 0, 0, 0, -2, 0, 0, 180.95918, 23.4], [ 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 0, 344.52995, 23.0], [ 0, 4, -4, 0, 0, 0, 0, 0, 2, -1, 0, 180.00979, 22.9], [ 0, 6, -8, 0, 0, 0, 0, 0, 2, -1, 0, 167.22262, 21.3], [ 0, 3, -3, 0, 0, 0, 0, 0, 2, -2, 0, 0.04167, 20.0], [ 0, 0, 2, 0, -2, 0, 0, 0, 2, 0, 0, 180.13179, 19.1], [ 0, 0, 0, 0, 2, -5, 0, 0, 0, 1, 0, 346.48972, 19.0], [ 0, 0, 0, 0, 2, -5, 0, 0, 0, -1, 0, 346.48704, 19.0], [ 0, 0, 1, 0, -1, 0, 0, 0, 1, 0, 0, 180.70913, 18.6], [ 0, 3, -4, 0, 0, 0, 0, 0, 1, 0, 0, 270.28604, 18.1], [ 0, 0, 1, -2, 0, 0, 0, 0, 0, 1, 0, 313.47920, 17.8], [ 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, -1, 163.72199, 17.7], [ 0, 0, 1, -2, 0, 0, 0, 0, 0, -1, 0, 313.30347, 17.6], [ 0, 2, -3, 0, 0, 0, 0, 0, -2, 1, 0, 271.56625, 17.2], [ 0, 2, -3, 0, 0, 0, 0, 0, 0, -1, 0, 268.69648, 16.8], [ 0, 6, -8, 0, 0, 0, 0, 0, 2, -2, 0, 167.12686, 16.5], [ 0, 0, 2, -2, 0, 0, 0, 0, -2, 1, 0, 358.86873, 16.4], [ 0, 0, 0, 0, 1, 0, 0, 0, -2, 1, 0, 359.80946, 16.0], [ 0, 2, -2, 0, 0, 0, 0, 0, 0, -1, 0, 0.39852, 15.7], [ 0, 2, -3, 0, 0, 0, 0, 0, 0, 1, 0, 268.56875, 15.4], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, -3, 0, 26.54324, 14.9], [ 0, 0, 0, 0, 1, 0, 0, 0, 2, -1, 0, 356.13718, 14.7], [ 0, 5, -6, 0, 0, 0, 0, 0, 2, 0, -2, 272.29577, 14.6], [ 0, 0, 2, 0, -3, 0, 0, 0, 0, 0, 0, 190.43600, 14.4], [ 0, 0, 1, 0, -1, 0, 0, 0, 2, -1, 0, 0.57920, 14.2], [ 0, 2, -2, 0, 0, 0, 0, 0, 0, 1, 0, 0.15681, 14.1], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, 1, 0, 26.54560, 14.0], [ 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, 0, 330.08714, 13.0], [ 0, 3, -4, 0, 0, 0, 0, 0, -2, 1, 0, 270.60642, 13.0], [ 0, 4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 180.07081, 12.9], [ 0, 0, 2, -2, 0, 0, 0, 0, -2, 0, 0, 358.57975, 12.8], [ 0, 0, 1, 0, -2, 0, 0, 0, -2, 1, 0, 305.99416, 12.7], [ 0, 1, -2, 0, 0, 0, 0, 0, 0, 0, 0, 103.71567, 12.4], [ 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 0, 179.09975, 12.1], [ 0, 0, 5, -6, 0, 0, 0, 0, 2, -1, 0, 151.73240, 11.9], [ 0, 20, -20, 0, 0, 0, 0, 0, -1, 1, -1, 194.02829, 11.9], [ 0, 2, -3, 0, 0, 0, 0, 0, -2, 0, 0, 271.38094, 11.7], [ 0, 0, 2, -2, 0, 0, 0, 0, 0, -1, 0, 359.51637, 11.7], [ 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 294.98414, 11.2], [ 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 330.28695, 11.2], [ 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 293.67110, 11.2], [ 0, 3, -4, 0, 0, 0, 0, 0, 0, -1, 0, 271.17391, 11.0], [ 0, 0, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0.43296, 10.8], [ 0, 8, -13, 0, 0, 0, 0, 0, -2, 1, 0, 238.00817, 10.8], [ 0, 8, -13, 0, 0, 0, 0, 0, 0, -1, 0, 233.44625, 10.8], [ 0, 8, -13, 0, 0, 0, 0, 0, 0, 1, 0, 233.44527, 10.8], [ 0, 8, -13, 0, 0, 0, 0, 0, 2, -1, 0, 237.96935, 10.7], [ 0, 0, 1, 0, -2, 0, 0, 0, 0, -1, 0, 301.00167, 10.5], [ 0, 5, -5, 0, 0, 0, 0, 0, 2, -1, 0, 180.07299, 10.4], [ 0, 0, 0, 0, 0, 0, 0, 0, 2, -1, 0, 0.12204, 10.4], [ 0, 3, -4, 0, 0, 0, 0, 0, -2, 0, 0, 270.55741, 10.2], [ 0, 2, -2, 0, 0, 0, 0, 0, 2, 0, 0, 359.98667, 9.9], [ 0, 0, 1, -2, 0, 0, 0, 0, 2, -1, 0, 321.96125, 9.9], [ 0, 0, 1, 0, -2, 0, 0, 0, -2, 0, 0, 306.02804, 9.7], [ 0, 12, -8, 0, 0, 0, 0, 0, -2, 1, 0, 228.50839, 9.7], [ 0, 2, -3, 0, 0, 0, 0, 0, 2, -1, 0, 271.01820, 9.6], [ 0, 0, 2, 0, -2, 0, 0, 0, 0, 1, 0, 180.40927, 9.3], [ 0, 0, 0, 0, 1, 0, 0, 0, -2, 0, 0, 355.13454, 9.2], [ 0, 5, -5, 0, 0, 0, 0, 0, 0, 0, 0, 180.02851, 9.2], [ 0, 0, 6, -8, 0, 0, 0, 0, 2, -1, 0, 302.34346, 9.2], [ 0, 0, 2, -2, 0, 0, 0, 0, 0, 1, 0, 0.07117, 9.1], [ 0, 21, -21, 0, 0, 0, 0, 0, 0, -1, 0, 179.94393, 9.0], [ 0, 3, -7, 4, 0, 0, 0, 0, 0, 0, 0, 148.23103, 9.0], [ 0, 0, 1, -2, 0, 0, 0, 0, -2, 1, 0, 320.91988, 8.9], [ 0, 0, 2, 0, -3, 0, 0, 0, 2, 0, 0, 10.08580, 8.8], [ 0, 0, 1, 0, -1, 0, 0, 0, 2, 0, 0, 0.43396, 8.6], [ 0, 10, -3, 0, 0, 0, 0, 0, 0, -2, 0, 333.10628, 8.6], [ 0, 10, -3, 0, 0, 0, 0, 0, 0, 0, 0, 333.03408, 8.6], [ 0, 3, -3, 0, 0, 0, 0, 0, 2, 0, 0, 179.94277, 8.4], [ 0, 4, -5, 0, 0, 0, 0, 0, 2, -1, 0, 91.39917, 8.2], [ 3, 0, -1, 0, 0, 0, 0, 0, -2, 1, 0, 96.56536, 8.1], [ 0, 3, -4, 0, 0, 0, 0, 0, 0, 1, 0, 271.08666, 8.1], [ 0, 0, 1, 0, -2, 0, 0, 0, 0, 1, 0, 301.49768, 8.0], [ 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 346.26872, 7.9], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, -1, 2, 206.54280, 7.8], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, -1, -2, 206.54280, 7.8], [ 0, 0, 8, -15, 0, 0, 0, 0, 0, 0, 0, 155.30914, 7.3], [ 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 0, 343.21324, 7.2], [ 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, -1, 75.47182, 7.1], [ 0, 15, -13, 0, 0, 0, 0, 0, -2, 1, 0, 26.32315, 7.0], [ 0, 0, 1, -2, 0, 0, 0, 0, 2, 0, 0, 320.19758, 7.0], [ 0, 8, -13, 0, 0, 0, 0, 0, -2, 0, 0, 237.41676, 6.7], [ 0, 8, -13, 0, 0, 0, 0, 0, 2, 0, 0, 237.22280, 6.6], [ 0, 0, 1, 0, -1, 0, 0, 0, 1, -1, 0, 0.69736, 6.5], [ 0, 0, 1, -2, 0, 0, 0, 0, -2, 0, 0, 318.22943, 6.4], [ 0, 0, 1, 0, -3, 0, 0, 0, 0, 0, 0, 304.60699, 6.4], [ 0, 5, -8, 0, 0, 0, 0, 0, 0, 0, 0, 70.23554, 6.4], [ 0, 3, -5, 0, 0, 0, 0, 0, 2, -1, 0, 346.95020, 6.4], [ 0, 5, -6, 0, 0, 0, 0, 0, 2, -1, 0, 271.88133, 6.3], [ 0, 6, -6, 0, 0, 0, 0, 0, 0, 0, 0, 180.02165, 6.3], [ 0, 1, -1, 0, 0, 0, 0, 0, 2, 0, 0, 180.01464, 6.1], [ 0, 2, -3, 0, 0, 0, 0, 0, 2, 0, 0, 269.98647, 6.0], [ 0, 0, 3, 0, -3, 0, 0, 0, 2, -1, 0, 173.71802, 6.0], [ 0, 6, -6, 0, 0, 0, 0, 0, 2, -1, 0, 180.04574, 5.9], [ 0, 18, -16, 0, 0, 0, 0, 0, -2, -2, 0, 26.54274, 5.6], [ 0, 0, 6, -8, 0, 0, 0, 0, 2, -2, 0, 302.35646, 5.6], [ 0, 0, 4, -4, 0, 0, 0, 0, 2, -1, 0, 181.91276, 5.6], [ 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, 0, 300.80387, 5.6], [ 0, 18, -16, 0, 0, 0, 0, 0, 2, 0, 0, 26.54486, 5.4], [ 0, 3, -5, 0, 0, 0, 0, 0, -2, 1, 0, 345.88283, 5.3], [ 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 260.21409, 5.3], [ 0, 0, 2, 0, 0, -2, 0, 0, 2, -1, 0, 180.03353, 5.2], [ 0, 0, 2, 0, -3, 0, 0, 0, -2, 0, 0, 190.20751, 5.1], [ 0, 0, 1, 0, -2, 0, 0, 0, 2, -1, 0, 301.71105, 5.1], [ 0, 0, 3, -7, 0, 0, 0, 0, -1, 2, -1, 144.43917, 5.0], [ 0, 5, -7, 0, 0, 0, 0, 0, 1, 0, -1, 169.26762, 5.0], [ 0, 0, 2, 0, -3, 0, 0, 0, -2, 1, 0, 190.29786, 5.0], [ 0, 0, 2, -4, 0, 0, 0, 0, 0, 1, 0, 298.04083, 4.9], [ 0, 0, 2, -4, 0, 0, 0, 0, 0, -1, 0, 297.82534, 4.8], [ 0, 0, 8, -16, 4, 5, 0, 0, 2, -1, 0, 252.68044, 4.7], [ 0, 0, 5, -6, 0, 0, 0, 0, 2, -2, 0, 331.68291, 4.7], [ 0, 0, 8, -16, 4, 5, 0, 0, -2, 1, 0, 252.68044, 4.7], [ 0, 0, 1, 0, 2, -5, 0, 0, 0, 0, 0, 65.64939, 4.7], [ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 95.38394, 4.7], [ 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, 0, 271.34254, 4.6], [ 0, 0, 2, 0, -1, 0, 0, 0, -2, 0, 0, 264.37885, 4.6], [ 0, 0, 2, 0, -1, 0, 0, 0, 0, 0, 0, 270.16044, 4.4], [ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0.09994, 4.4], [ 0, 7, -7, 0, 0, 0, 0, 0, 0, 0, 0, 179.98587, 4.3], [ 0, 0, 2, 0, -1, 0, 0, 0, -2, 1, 0, 264.83212, 4.3], [ 0, 3, -5, 0, 0, 0, 0, 0, 0, 1, 0, 338.66373, 4.2], [ 0, 3, -3, 0, 0, 0, 0, 0, -2, 0, 0, 2.82174, 4.2], [ 0, 15, -12, 0, 0, 0, 0, 0, -1, 0, 0, 99.70101, 4.1], [ 0, 3, -3, 0, 0, 0, 0, 0, -2, 1, 0, 2.66594, 4.1], [ 0, 3, -5, 0, 0, 0, 0, 0, 0, -1, 0, 338.06720, 4.0], [ 0, 0, 2, 0, -2, 0, 0, 0, 0, -2, 0, 359.98542, 4.0], [ 0, 3, -5, 0, 0, 0, 0, 0, 2, 0, 0, 346.49874, 4.0], [ 0, 6, -8, 0, 0, 0, 0, 0, 0, -1, 0, 347.12979, 4.0], [ 0, 0, 3, -4, 0, 0, 0, 0, -2, 1, 0, 328.67574, 4.0], [ 0, 0, 3, -4, 0, 0, 0, 0, 1, -1, 0, 331.25359, 4.0], [ 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, 0, 182.64615, 4.0], [ 0, 0, 1, 0, -1, 0, 0, 0, -2, -1, 0, 1.96510, 4.0], [ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82.23299, 4.0], [ 0, 0, 0, 0, 2, -5, 0, 0, 2, -1, 0, 178.60854, 3.9], [ 0, 0, 0, 0, 2, -5, 0, 0, -2, 1, 0, 178.71268, 3.9], [ 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, 0, 301.21730, 3.9], [ 0, 0, 2, -2, 0, 0, 0, 0, 2, -1, 0, 0.45156, 3.7], [ 0, 2, -1, 0, 0, 0, 0, 0, -2, 0, 0, 257.09235, 3.7], [ 0, 0, 2, -4, 0, 0, 0, 0, 2, -1, 0, 303.41117, 3.6], [ 0, 7, -7, 0, 0, 0, 0, 0, 2, -1, 0, 180.05152, 3.6], [ 0, 1, -1, 0, 0, 0, 0, 0, 2, -1, 0, 179.87973, 3.6], [ 0, 0, 2, 0, -1, 0, 0, 0, 2, -1, 0, 307.24896, 3.6], [ 0, 0, 2, 0, -4, 0, 0, 0, 2, -1, 0, 19.76044, 3.6], [ 0, 23, -25, 0, 0, 0, 0, 0, -1, 0, 0, 168.18245, 3.5], [ 0, 1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 180.02010, 3.4], [ 0, 0, 2, 0, -2, 0, 0, 0, 4, -2, 0, 180.12877, 3.4], [ 0, 0, 1, 0, 0, -1, 0, 0, -2, 1, 0, 0.68492, 3.4], [ 0, 2, -1, 0, 0, 0, 0, 0, -2, 1, 0, 257.14013, 3.3], [ 0, 3, -4, 0, 0, 0, 0, 0, -1, 0, 0, 90.34969, 3.3], [ 0, 0, 1, 0, -2, 0, 0, 0, 1, 0, -1, 100.53010, 3.3], [ 0, 0, 2, -2, 0, 0, 0, 0, 1, 0, 0, 180.27603, 3.3], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, -2, 0, 284.98930, 3.2], [ 0, 18, -15, 0, 0, 0, 0, 0, -2, -1, 0, 283.60558, 3.2], [ 0, 18, -17, 0, 0, 0, 0, 0, 2, -1, 0, 129.41497, 3.2], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, 2, 0, 284.98981, 3.2], [ 0, 0, 3, -4, 0, 0, 0, 0, -2, 0, 0, 328.29186, 3.1], [ 0, 2, -2, 0, 0, 0, 0, 0, -2, -1, 0, 0.44680, 3.1], [ 0, 0, 2, 0, -3, 1, 0, 0, 2, -2, 0, 181.29764, 3.1], [ 0, 0, 4, -7, 0, 0, 0, 0, 0, 0, 0, 271.44643, 3.1], [ 0, 0, 3, -4, 0, 0, 0, 0, 1, 0, 0, 331.23293, 3.1], [ 0, 0, 3, -8, 3, 0, 0, 0, 0, 0, 0, 29.79747, 3.1], [ 0, 0, 0, 2, 0, 0, 0, 0, 1, 1, -1, 163.74984, 3.0], [ 0, 3, -5, 0, 0, 0, 0, 0, -2, 0, 0, 344.00427, 3.0], [ 0, 0, 1, 0, 0, -2, 0, 0, 0, 0, 0, 285.55600, 3.0], [ 0, 0, 5, -8, 3, 0, 0, 0, 0, 0, 0, 187.28372, 3.0], [ 0, 8, -8, 0, 0, 0, 0, 0, 0, 0, 0, 179.96606, 3.0], [ 0, 0, 0, 2, 0, 0, 0, 0, 1, -1, -1, 163.74686, 3.0], [ 0, 0, 2, -3, 0, 0, 0, 0, -2, 1, 0, 330.92395, 3.0], [ 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 0.88394, 2.9], [ 0, 0, 2, 0, -2, 0, 0, 0, 4, -1, 0, 180.12629, 2.9], [ 0, 24, -24, 0, 0, 0, 0, 0, 2, -3, 0, 179.43126, 2.8], [ 0, 0, 2, -4, 0, 0, 0, 0, -2, 1, 0, 302.55753, 2.8], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, -2, 0, 180.00907, 2.8] ].freeze
- PERT_LAT_PLAN1 =
[ [ 0, 18, -16, 0, 0, 0, 0, 0, 0, -1, 1, 26.54287, 175.1], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, -1, -1, 26.54272, 175.0], [ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 291.98200, 39.1], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, -2, -1, 26.54302, 19.3], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, 0, 1, 26.54416, 18.7], [ 0, 5, -6, 0, 0, 0, 0, 0, 2, 0, -1, 272.30597, 18.5], [ 0, 0, 2, 0, -2, 0, 0, 0, 2, -1, -1, 180.11961, 14.5], [ 0, 0, 2, 0, -2, 0, 0, 0, 2, -1, 1, 180.12138, 14.1], [ 0, 0, 1, 0, -2, 0, 0, 0, 1, 0, 0, 100.50752, 13.8], [ 0, 3, -3, 0, 0, 0, 0, 0, 2, 0, -1, 0.05680, 11.7], [ 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 163.75018, 10.8], [ 0, 5, -7, 0, 0, 0, 0, 0, 1, 0, 0, 169.28198, 10.3], [ 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 75.50853, 9.7], [ 0, 3, -3, 0, 0, 0, 0, 0, 2, -1, -1, 179.98734, 8.6], [ 0, 0, 1, 0, -1, 0, 0, 0, -2, 0, 1, 1.77997, 8.5], [ 0, 3, -3, 0, 0, 0, 0, 0, 2, -1, 1, 179.98167, 8.0], [ 0, 4, -5, 0, 0, 0, 0, 0, 1, 0, 0, 76.51440, 8.0], [ 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 103.33779, 7.6], [ 0, 10, -3, 0, 0, 0, 0, 0, 0, -1, -1, 333.18883, 6.9], [ 0, 10, -3, 0, 0, 0, 0, 0, 0, -1, 1, 333.23168, 6.9], [ 0, 4, -4, 0, 0, 0, 0, 0, 2, 0, -1, 180.03860, 6.6], [ 0, 0, 4, -8, 3, 0, 0, 0, 2, 0, -1, 286.68658, 6.5], [ 0, 0, 4, -8, 3, 0, 0, 0, -2, 0, 1, 286.68417, 6.5], [ 0, 2, -2, 0, 0, 0, 0, 0, -2, 0, 1, 0.36009, 6.3], [ 0, 18, -16, 0, 0, 0, 0, 0, -2, -1, 1, 26.54240, 6.1], [ 0, 0, 2, 0, -2, 0, 0, 0, 2, 0, -1, 0.03123, 6.1], [ 0, 18, -16, 0, 0, 0, 0, 0, 2, -1, -1, 26.54244, 6.1], [ 0, 0, 2, 0, -3, 0, 0, 0, 2, -1, 1, 10.08526, 5.6], [ 0, 1, -1, 0, 0, 0, 0, 0, -2, 0, 1, 179.98525, 5.6], [ 0, 2, -2, 0, 0, 0, 0, 0, 2, 0, -1, 0.00073, 5.5], [ 0, 0, 2, 0, -3, 0, 0, 0, 2, -1, -1, 10.08059, 5.3], [ 0, 0, 1, 0, 0, -2, 0, 0, 1, 0, 0, 113.92221, 4.6], [ 0, 2, -3, 0, 0, 0, 0, 0, 1, 0, 0, 256.57252, 3.9], [ 0, 0, 1, 0, 2, -5, 0, 0, 1, 0, 0, 239.05935, 3.9], [ 0, 0, 1, 0, -1, 0, 0, 0, 2, 0, -1, 0.45426, 3.9], [ 0, 18, -16, 0, 0, 0, 0, 0, -2, 0, -1, 26.54132, 3.9], [ 0, 2, -1, 0, 0, 0, 0, 0, 1, 0, 0, 103.29809, 3.8], [ 0, 18, -16, 0, 0, 0, 0, 0, 2, -2, 1, 26.54238, 3.8], [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 154.18809, 3.6], [ 0, 0, 2, 0, -2, 0, 0, 0, -2, 0, 1, 180.91996, 3.4], [ 0, 18, -16, 0, 0, 0, 0, 0, -2, -1, -1, 26.54252, 3.4], [ 0, 18, -16, 0, 0, 0, 0, 0, 2, -1, 1, 26.54282, 3.3], [ 0, 8, -12, 0, 0, 0, 0, 0, 1, 0, 0, 153.47650, 3.1], [ 0, 3, -4, 0, 0, 0, 0, 0, 1, 0, 0, 256.31567, 2.8], [ 0, 2, -3, 0, 0, 0, 0, 0, -2, 0, 1, 271.40179, 2.7], [ 0, 5, -6, 0, 0, 0, 0, 0, 1, 0, 0, 76.38459, 2.6], [ 0, 0, 1, 0, -1, 0, 0, 0, -2, 1, -1, 1.64413, 2.5], [ 0, 2, -2, 0, 0, 0, 0, 0, 1, 0, 0, 185.88810, 2.5], [ 0, 0, 2, -2, 0, 0, 0, 0, -2, 0, 1, 358.62815, 2.4], [ 0, 3, -2, 0, 0, 0, 0, 0, 1, 0, 0, 103.29245, 2.3], [ 0, 0, 0, 0, 1, 0, 0, 0, -2, 0, 1, 354.87377, 2.3], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 179.99325, 2.3], [ 0, 1, -1, 0, 0, 0, 0, 0, 2, 0, -1, 180.01893, 2.3], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, -1, -1, 285.10406, 2.2], [ 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, -1, 346.14598, 2.2], [ 0, 0, 1, 0, -1, 0, 0, 0, -2, 0, -1, 1.79585, 2.2], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, 1, 1, 285.10433, 2.2], [ 0, 0, 2, 0, -2, 0, 0, 0, 0, -1, -1, 359.95929, 2.2], [ 0, 5, -5, 0, 0, 0, 0, 0, 2, 0, -1, 180.06538, 2.2], [ 0, 0, 1, 0, -1, 0, 0, 0, 1, 0, 0, 96.81286, 2.2], [ 0, 0, 1, 0, 0, 0, 0, 0, 1, -1, 0, 111.95783, 2.2], [ 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 291.85752, 2.2], [ 0, 1, -2, 0, 0, 0, 0, 0, 1, 0, 0, 256.66200, 2.1], [ 0, 0, 1, 0, -1, 0, 0, 0, -2, 1, 1, 1.61873, 2.1], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, -1, 287.22930, 2.1], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, 0, 1, 287.22951, 2.1], [ 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 283.33656, 2.1], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, -1, 1, 284.85089, 2.0], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 179.98778, 2.0], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, -1, -1, 180.00957, 2.0], [ 0, 0, 4, -8, 3, 0, 0, 0, 0, 1, -1, 284.85097, 2.0], [ 0, 3, -4, 0, 0, 0, 0, 0, -2, 0, 1, 270.62094, 1.9], [ 0, 2, -2, 0, 0, 0, 0, 0, -2, 1, -1, 0.29448, 1.9], [ 0, 0, 2, 0, -3, 0, 0, 0, 2, -2, -1, 10.02715, 1.9], [ 0, 0, 2, 0, -2, 0, 0, 0, 0, -1, 1, 359.96504, 1.8], [ 0, 1, -2, 0, 0, 0, 0, 0, -1, 0, 0, 256.60919, 1.8], [ 0, 2, -3, 0, 0, 0, 0, 0, 2, 0, -1, 270.03887, 1.8], [ 0, 2, -2, 0, 0, 0, 0, 0, -2, 0, -1, 0.38835, 1.8], [ 0, 0, 1, 0, -1, 0, 0, 0, 0, -1, -1, 1.26914, 1.8], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, -3, -1, 26.54310, 1.8], [ 0, 0, 1, 0, -2, 0, 0, 0, -2, 0, 1, 305.98316, 1.8], [ 0, 0, 1, -2, 0, 0, 0, 0, 2, 0, -1, 320.08151, 1.8], [ 0, 0, 2, -2, 0, 0, 0, 0, 1, 0, 0, 99.41307, 1.7], [ 0, 8, -13, 0, 0, 0, 0, 0, -2, 0, 1, 237.28901, 1.7], [ 0, 0, 4, -8, 3, 0, 0, 0, 2, -1, 1, 287.11427, 1.7], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, -1, 1, 180.01218, 1.7], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, 1, 1, 180.01228, 1.7], [ 0, 18, -16, 0, 0, 0, 0, 0, 0, 1, 1, 26.54463, 1.7], [ 0, 0, 1, -2, 0, 0, 0, 0, -2, 0, 1, 318.17659, 1.7], [ 0, 0, 2, 0, -2, 0, 0, 0, 2, -2, 1, 0.09559, 1.7], [ 0, 2, -2, 0, 0, 0, 0, 0, 2, -1, 1, 0.01635, 1.7], [ 0, 0, 4, -8, 3, 0, 0, 0, -2, 1, -1, 287.11261, 1.7], [ 0, 8, -13, 0, 0, 0, 0, 0, 2, 0, -1, 237.23099, 1.7], [ 0, 2, -2, 0, 0, 0, 0, 0, -2, 1, 1, 0.26051, 1.6], [ 0, 4, -3, 0, 0, 0, 0, 0, 1, 0, 0, 103.32908, 1.6], [ 0, 0, 2, 0, -2, 0, 0, 0, 2, 0, 1, 180.14886, 1.6], [ 0, 1, -1, 0, 0, 0, 0, 0, -2, 1, -1, 179.98223, 1.6], [ 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, 1, 1.30219, 1.6], [ 0, 1, -1, 0, 0, 0, 0, 0, 0, 1, -1, 180.01282, 1.6], [ 0, 0, 1, 0, -1, 0, 0, 0, 0, 1, 1, 1.09775, 1.5], [ 0, 0, 1, 0, -1, 0, 0, 0, 0, -1, 1, 1.39630, 1.5], [ 0, 3, -3, 0, 0, 0, 0, 0, 0, -1, -1, 0.10566, 1.5], [ 0, 0, 3, 0, -3, 0, 0, 0, 2, 0, -1, 180.13318, 1.4], [ 0, 1, -1, 0, 0, 0, 0, 0, -2, 0, -1, 179.98623, 1.4], [ 0, 0, 2, 0, -3, 0, 0, 0, 2, -2, 1, 10.03367, 1.4], [ 0, 0, 4, -8, 3, 0, 0, 0, -2, 1, 1, 287.10965, 1.4], [ 0, 2, -2, 0, 0, 0, 0, 0, 2, -1, -1, 0.02586, 1.4], [ 0, 2, -1, 0, 0, 0, 0, 0, -1, 0, 0, 283.22744, 1.4], [ 0, 0, 4, -8, 3, 0, 0, 0, 2, -1, -1, 287.11109, 1.4], [ 0, 0, 1, 0, -1, 0, 0, 0, 0, 1, -1, 1.12110, 1.4], [ 0, 26, -29, 0, 0, 0, 0, 0, 0, -1, -1, 74.99747, 1.3], [ 0, 26, -29, 0, 0, 0, 0, 0, 0, -1, 1, 74.99747, 1.3], [ 0, 0, 4, -8, 3, 0, 0, 0, 2, 0, 1, 286.69867, 1.3], [ 0, 3, -3, 0, 0, 0, 0, 0, 0, -1, 1, 0.13793, 1.3], [ 0, 0, 1, 0, 0, -1, 0, 0, 1, 0, 0, 170.12314, 1.3], [ 0, 6, -7, 0, 0, 0, 0, 0, 1, 0, 0, 76.28667, 1.3], [ 0, 20, -21, 0, 0, 0, 0, 0, -2, 1, -1, 271.81875, 1.3], [ 0, 0, 4, -8, 3, 0, 0, 0, -2, 0, -1, 286.69718, 1.3], [ 0, 20, -21, 0, 0, 0, 0, 0, -2, 1, 1, 271.81875, 1.3], [ 0, 0, 1, 0, -3, 0, 0, 0, 1, 0, 0, 110.92166, 1.3], [ 0, 1, -1, 0, 0, 0, 0, 0, -2, 1, 1, 179.98246, 1.3], [ 0, 0, 2, 0, -3, 0, 0, 0, 2, 0, -1, 10.51992, 1.2], [ 0, 6, -6, 0, 0, 0, 0, 0, 2, 0, -1, 180.02696, 1.2], [ 0, 0, 3, -4, 0, 0, 0, 0, 1, 0, 0, 54.83801, 1.2], [ 0, 0, 1, 0, -1, 0, 0, 0, 0, 0, -1, 1.42005, 1.2], [ 0, 3, -6, 0, 0, 0, 0, 0, -1, 0, 0, 239.00808, 1.2], [ 0, 0, 2, 0, -2, 0, 0, 0, -2, 1, -1, 180.80883, 1.1], [ 0, 5, -6, 0, 0, 0, 0, 0, 2, 1, -1, 272.30644, 1.1], [ 0, 0, 2, -2, 0, 0, 0, 0, 2, 0, -1, 0.81383, 1.1], [ 0, 0, 2, 0, -2, 0, 0, 0, -2, 0, -1, 181.01420, 1.1], [ 0, 0, 2, 0, -3, 0, 0, 0, 0, -1, -1, 190.17080, 1.1], [ 0, 5, -4, 0, 0, 0, 0, 0, 1, 0, 0, 103.32621, 1.1], [ 0, 4, -5, 0, 0, 0, 0, 0, -1, 0, 0, 256.53671, 1.0], [ 0, 4, -4, 0, 0, 0, 0, 0, 2, -1, 1, 180.02913, 1.0], [ 0, 0, 1, 0, -2, 0, 0, 0, -1, 0, 0, 100.50673, 1.0], [ 0, 0, 2, 0, -3, 0, 0, 0, 0, -1, 1, 190.17837, 1.0], [ 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, 1, 271.29933, 1.0], [ 0, 6, -8, 0, 0, 0, 0, 0, 2, -1, 1, 167.24129, 1.0], [ 0, 3, -5, 0, 0, 0, 0, 0, 2, 0, -1, 346.40963, 1.0], [ 0, 3, -4, 0, 0, 0, 0, 0, -1, 0, 0, 76.59330, 1.0], [ 0, 0, 1, 0, -2, 0, 0, 0, 2, 0, -1, 305.89091, 0.9], [ 0, 0, 2, 0, -2, 0, 0, 0, -2, 1, 1, 180.76225, 0.9], [ 0, 6, -8, 0, 0, 0, 0, 0, 2, -1, -1, 167.22739, 0.9], [ 0, 1, -3, 0, 0, 0, 0, 0, -1, 0, 0, 165.49094, 0.9], [ 0, 2, -3, 0, 0, 0, 0, 0, 0, 0, -1, 271.41979, 0.9], [ 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0.14435, 0.9], [ 0, 3, -2, 0, 0, 0, 0, 0, -1, 0, 0, 283.17493, 0.9], [ 0, 0, 0, 0, 2, -5, 0, 0, 0, -1, 1, 346.26978, 0.8], [ 0, 3, -4, 0, 0, 0, 0, 0, 1, 0, 1, 270.28991, 0.8], [ 0, 0, 0, 0, 2, -5, 0, 0, 0, 1, -1, 346.27178, 0.8], [ 0, 0, 1, 0, -1, 0, 0, 0, 1, 0, -1, 180.71271, 0.8] ].freeze
- PERT_LON_PLAN2 =
行星攝動 Table 2(ELP16 ≥ 0.01":4 項;ELP17 ≥ 0.003":10 項)
[ [ 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -1, 95.13523, 80.4], [ 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, -1, 95.13453, 17.3], [ 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, -1, 95.13459, 17.2], [ 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 95.13225, 17.1] ].freeze
- PERT_LAT_PLAN2 =
[ [ 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 275.13226, 381.9], [ 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0, 95.13234, 21.5], [ 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 275.13217, 20.1], [ 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 95.13226, 13.4], [ 0, 0, 1, 0, 0, 0, 0, 3, 0, -1, 0, 275.13228, 4.2], [ 0, 0, 1, 0, 0, 0, 0, -1, 0, 1, 0, 95.13224, 3.4], [ 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -2, 95.13510, 2.5], [ 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 0, 275.13220, 2.4], [ 0, 0, 1, 0, 0, 0, 0, 1, 0, 2, 0, 275.13207, 1.2], [ 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, -2, 95.13467, 0.9] ].freeze
Class Method Summary collapse
-
.apparent_longitude(jd_ut) ⇒ Object
--- 月球視黃經(度,[0,360))。引數 **JD(UT)**。 --- 幾何黃經(平春分點 of date)+ 章動 Δψ = 視黃經(真春分點 of date)。.
-
.geometric_position(jd_tt) ⇒ Object
--- 幾何黃道座標(平春分點 of date)。引數 **JD(TT)**。 --- 回傳 [λ_deg(未正規化前先算後 norm360), β_deg, Δ_km]。 Meeus Ch.
-
.pert_sum(t, lp, d, m, mp, f, zeta_terms, plan1_terms, plan2_terms) ⇒ Object
--- ELP 攝動級數求和(單位 1e-6 度)。內部方法。 --- 引數皆為度:lp = ζ(≡ Meeus of-date L')、d/m/mp/f = Delaunay。 zeta_terms: [iz, iD, iM, iMp, iF, phase, coeff, tpow] plan1_terms: [8 行星, iD, iMp, iF, phase, coeff](Table 1 無 M) plan2_terms: [7 行星, iD, iM, iMp, iF, phase, coeff].
-
.rectangular(jd_tt) ⇒ Object
--- 黃道直角座標(平春分點 of date,km)。引數 **JD(TT)**。 ---.
-
.true_node(jd_ut) ⇒ Object
--- 真(密切)北交點視黃經(度,[0,360))。引數 **JD(UT)**。 --- 由 r × v 的角動量向量取升交點方向;速度用 TT 上 ±NODE_DIFF_STEP_DAYS 的中央差分。幾何 Ω(平春分點)+ Δψ = 視位置(真春分點),與 calc_ut 慣例一致。.
Class Method Details
.apparent_longitude(jd_ut) ⇒ Object
--- 月球視黃經(度,[0,360))。引數 **JD(UT)**。 --- 幾何黃經(平春分點 of date)+ 章動 Δψ = 視黃經(真春分點 of date)。
184 185 186 187 188 189 |
# File 'lib/astro_chart/pure/moon.rb', line 184 def apparent_longitude(jd_ut) tt = Core.jd_tt(jd_ut) lam, _beta, _delta = geometric_position(tt) dpsi_deg, = Core.nutation(tt) Core.norm360(lam + dpsi_deg) end |
.geometric_position(jd_tt) ⇒ Object
--- 幾何黃道座標(平春分點 of date)。引數 **JD(TT)**。 --- 回傳 [λ_deg(未正規化前先算後 norm360), β_deg, Δ_km]。 Meeus Ch. 47:λ = L' + Σl/1e6、β = Σb/1e6、Δ = 385000.56 + Σr/1e3。
221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 |
# File 'lib/astro_chart/pure/moon.rb', line 221 def geometric_position(jd_tt) t = (jd_tt - 2_451_545.0) / 36_525.0 # 基本引數(Meeus 47.1–47.5,度) lp = 218.3164477 + 481_267.88123421 * t - 0.0015786 * t * t + t**3 / 538_841.0 - t**4 / 65_194_000.0 d = 297.8501921 + 445_267.1114034 * t - 0.0018819 * t * t + t**3 / 545_868.0 - t**4 / 113_065_000.0 m = 357.5291092 + 35_999.0502909 * t - 0.0001536 * t * t + t**3 / 24_490_000.0 mp = 134.9633964 + 477_198.8675055 * t + 0.0087414 * t * t + t**3 / 69_699.0 - t**4 / 14_712_000.0 f = 93.2720950 + 483_202.0175233 * t - 0.0036539 * t * t - t**3 / 3_526_000.0 + t**4 / 863_310_000.0 # 離心率修正 E(Meeus 47.6) e = 1.0 - 0.002516 * t - 0.0000074 * t * t e2 = e * e d_rad = d * Core::DEG2RAD m_rad = m * Core::DEG2RAD mp_rad = mp * Core::DEG2RAD f_rad = f * Core::DEG2RAD sum_l = 0.0 sum_r = 0.0 LON_DIST_TERMS.each do |cd, cm, cmp, cf, lc, rc| arg = cd * d_rad + cm * m_rad + cmp * mp_rad + cf * f_rad ecc = cm.zero? ? 1.0 : (cm.abs == 1 ? e : e2) sum_l += lc * ecc * Math.sin(arg) sum_r += rc * ecc * Math.cos(arg) end sum_b = 0.0 LAT_TERMS.each do |cd, cm, cmp, cf, bc| arg = cd * d_rad + cm * m_rad + cmp * mp_rad + cf * f_rad ecc = cm.zero? ? 1.0 : (cm.abs == 1 ? e : e2) sum_b += bc * ecc * Math.sin(arg) end # ELP-2000/82 主問題補充項(moon_elp.rb;Meeus 截斷線以下)。 # E 因子沿用 Meeus 慣例推廣為 E^|M|(補充項 |M| 最大 4)。 SUPP_LON_TERMS.each do |cd, cm, cmp, cf, lc| arg = cd * d_rad + cm * m_rad + cmp * mp_rad + cf * f_rad ecc = cm.zero? ? 1.0 : e**cm.abs sum_l += lc * ecc * Math.sin(arg) end SUPP_LAT_TERMS.each do |cd, cm, cmp, cf, bc| arg = cd * d_rad + cm * m_rad + cmp * mp_rad + cf * f_rad ecc = cm.zero? ? 1.0 : e**cm.abs sum_b += bc * ecc * Math.sin(arg) end # 攝動項(moon_elp.rb:地球扁率 ELP4/5/8 + 行星攝動 ELP10/11/16/17)。 # 取代 Meeus 的 A1/A2/A3 加法捷徑 — 那些捷徑正是這些級數檔的最大列 # (A1 = 18V−16T−M'、A2/A3 同理),改用完整級數避免雙重計入。 # ζ = W1 + p·t ≡ Meeus of-date L'(lp);攝動振幅不乘 E 因子。 sum_l += pert_sum(t, lp, d, m, mp, f, PERT_LON_ZETA, PERT_LON_PLAN1, PERT_LON_PLAN2) sum_b += pert_sum(t, lp, d, m, mp, f, PERT_LAT_ZETA, PERT_LAT_PLAN1, PERT_LAT_PLAN2) lam = Core.norm360(lp + sum_l * 1.0e-6) beta = sum_b * 1.0e-6 delta = 385_000.56 + sum_r * 1.0e-3 [lam, beta, delta] end |
.pert_sum(t, lp, d, m, mp, f, zeta_terms, plan1_terms, plan2_terms) ⇒ Object
--- ELP 攝動級數求和(單位 1e-6 度)。內部方法。 --- 引數皆為度:lp = ζ(≡ Meeus of-date L')、d/m/mp/f = Delaunay。 zeta_terms: [iz, iD, iM, iMp, iF, phase, coeff, tpow] plan1_terms: [8 行星, iD, iMp, iF, phase, coeff](Table 1 無 M) plan2_terms: [7 行星, iD, iM, iMp, iF, phase, coeff]
294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 |
# File 'lib/astro_chart/pure/moon.rb', line 294 def pert_sum(t, lp, d, m, mp, f, zeta_terms, plan1_terms, plan2_terms) sum = 0.0 zeta_terms.each do |iz, id_, im, imp, if_, pha, coeff, tpow| arg = pha + iz * lp + id_ * d + im * m + imp * mp + if_ * f x = coeff * Math.sin(arg * Core::DEG2RAD) sum += tpow == 1 ? x * t : x end planet = Array.new(8) do |i| base, rate = PLANETARY_ARGS[i] base + rate * t end plan1_terms.each do |p1, p2, p3, p4, p5, p6, p7, p8, id_, imp, if_, pha, coeff| arg = pha + p1 * planet[0] + p2 * planet[1] + p3 * planet[2] + p4 * planet[3] + p5 * planet[4] + p6 * planet[5] + p7 * planet[6] + p8 * planet[7] + id_ * d + imp * mp + if_ * f sum += coeff * Math.sin(arg * Core::DEG2RAD) end plan2_terms.each do |p1, p2, p3, p4, p5, p6, p7, id_, im, imp, if_, pha, coeff| arg = pha + p1 * planet[0] + p2 * planet[1] + p3 * planet[2] + p4 * planet[3] + p5 * planet[4] + p6 * planet[5] + p7 * planet[6] + id_ * d + im * m + imp * mp + if_ * f sum += coeff * Math.sin(arg * Core::DEG2RAD) end sum end |
.rectangular(jd_tt) ⇒ Object
--- 黃道直角座標(平春分點 of date,km)。引數 **JD(TT)**。 ---
328 329 330 331 332 333 334 335 336 337 338 |
# File 'lib/astro_chart/pure/moon.rb', line 328 def rectangular(jd_tt) lam, beta, delta = geometric_position(jd_tt) lam_rad = lam * Core::DEG2RAD beta_rad = beta * Core::DEG2RAD cb = Math.cos(beta_rad) [ delta * cb * Math.cos(lam_rad), delta * cb * Math.sin(lam_rad), delta * Math.sin(beta_rad) ] end |
.true_node(jd_ut) ⇒ Object
--- 真(密切)北交點視黃經(度,[0,360))。引數 **JD(UT)**。 --- 由 r × v 的角動量向量取升交點方向;速度用 TT 上 ±NODE_DIFF_STEP_DAYS 的中央差分。幾何 Ω(平春分點)+ Δψ = 視位置(真春分點),與 calc_ut 慣例一致。
195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
# File 'lib/astro_chart/pure/moon.rb', line 195 def true_node(jd_ut) tt = Core.jd_tt(jd_ut) r = rectangular(tt) r1 = rectangular(tt - NODE_DIFF_STEP_DAYS) r2 = rectangular(tt + NODE_DIFF_STEP_DAYS) v = [ (r2[0] - r1[0]) / (2.0 * NODE_DIFF_STEP_DAYS), (r2[1] - r1[1]) / (2.0 * NODE_DIFF_STEP_DAYS), (r2[2] - r1[2]) / (2.0 * NODE_DIFF_STEP_DAYS) ] # h = r × v(黃道直角座標,z 軸指向黃道北極) hx = r[1] * v[2] - r[2] * v[1] hy = r[2] * v[0] - r[0] * v[2] hz = r[0] * v[1] - r[1] * v[0] h_norm = Math.sqrt(hx * hx + hy * hy + hz * hz) raise Core::DomainError, "degenerate lunar angular momentum at JD(TT)=#{tt}" if h_norm.zero? # 升交點方向 n = ẑ × h = (−h_y, h_x, 0) → Ω = atan2(h_x, −h_y) omega = Math.atan2(hx, -hy) * Core::RAD2DEG dpsi_deg, = Core.nutation(tt) Core.norm360(omega + dpsi_deg) end |