N679MS(G550) の飛行時間・燃料モデルを実測較正する。①〜④=FR24実測によるETE較正(JA502Aの扱いの検証を含む)、⑤〜⑨=AOM性能表からの燃料諸元と master 投入案。2026-08-10 〜 08-11。
aircraft=GLF5 & routes=JP-JP
有効 254便 / 41機
ETE 推奨 = 刈り込み(JA502A込み・ロバスト)
cruise_kmh 901 = AOM の KTAS 487.5kt と一致
季節α型式別化 PR #883 マージ済
飛行時間マトリクス 出力済
master 投入 SQL は未適用(レビュー待ち)
JA502Aは「除外」ではなく「含めて刈り込む」のが良い。
ミッション便は残差が100分以上の明確な外れ値として現れ、ロバスト刈り込みが自動で落とす。
結果として cruise_kmh は除外した場合と1km/h差もなく一致し、一方でサンプルが 96→254 に増えて
季節αの精度が大幅に上がる(秋 n=8→49、夏 n=18→51)。除外はミッション便を消す代わりに、正常な115便まで一緒に捨てている。
Flightradar24 公式API flight-summary/light。フィルタは aircraft=GLF5(G550/G-Vを区別せず)×routes=JP-JP(発着とも日本=国内完結)。
収集期間は 2024-08-11 〜 2026-08-10。3年遡ろうとしたがサブスクの提供範囲が直近2年までで弾かれたため、上限いっぱいの2年。
| 区分 | 件数 | 内容 |
|---|---|---|
| API返却 | 666 | 2年・14日刻み・52リクエスト |
| 除外:発着ICAO/時刻の欠落 | 233 | reg も経路も持たない断片。どの用途にも使えない |
| 除外:同一空港 | 173 | 訓練・慣熟・哨戒の出戻り |
| 除外:空港座標なし | 6 | route-map の airports.json に無いICAO |
| 有効レグ | 254 | うち JA502A 158(62%) / その他40機 96 |
モデル式は C510・CJ4 と同一の Model F。ETE = 大圏距離 ÷ cruise_kmh × 60 + base + 羽田/成田加算 + α(季節)×東西成分km÷100。
ロバスト刈り込みは「残差が中央値の3倍、または15分の大きい方」を超える便を落とし、再推定を4回繰り返す。3ケースとも手順は同一で、入力集合と刈り込みの有無だけが違う。
有効254便すべて。塗りつぶしが刈り込みを通った便、白抜きが落ちた便。JA502Aの白抜き点が上方に大きく外れており、これがミッション便。 破線が「含める(刈り込みなし)」の回帰線で、外れ値に引っ張られて全体が上に持ち上がっているのが分かる。
| 機番 | 区間 | 距離 | 実績 | 残差 | 解釈 |
|---|
| ケース | 入力→採用 | cruise_kmh | base | 羽田/成田 | MAE(共通評価82便) |
|---|---|---|---|---|---|
| 含める 刈り込みなし | 254 → 254 | 985 | 36.2分 | +9.3分 | 14.14分 |
| 刈り込み JA502A込み・ロバスト | 254 → 204 | 901 | 22.5分 | +5.1分 | 4.75分 |
| 除外 JA502Aを外す・ロバスト | 96 → 82 | 901 | 21.9分 | +4.5分 | 4.60分 |
共通評価82便=JA502A以外の96便のうち、刈り込み・除外どちらのモデルでも外れ値と判定されなかった便。3ケースを同じ物差しで比べるための評価集合で、どのケースの学習にも偏らない。 「含める」の MAE が3倍に悪化しているのは、ミッション便に引きずられて基準線そのものが歪んでいるため。
cruise_kmh は両者一致し、base も0.6分差。実際に効いてくる差は季節αの決まり方にある。 除外すると秋が n=8、夏が n=18 まで痩せ、誤差棒(±標準誤差)が大きく開く。刈り込みなら 秋49・夏51 まで確保できる。
| 季節 | 含める | 刈り込み | 除外 | サンプル数 刈込 / 除外 |
|---|
3ケースのモデルで代表路線の空中ETEを計算した(分)。刈り込みと除外の差はおおむね1〜3分で実務上ほぼ無視できる。 一方「含める」は短距離ほど過大で、羽田→新潟で+16分、羽田→伊丹で+16分ずれる。
| 路線 | 距離 | 含める 冬/夏 | 刈り込み 冬/夏 | 除外 冬/夏 | 刈込−除外 | |||
|---|---|---|---|---|---|---|---|---|
首都圏加算は羽田・成田絡みに適用。往復で値が違うのは風補正(東西成分)が符号を変えるため。
ここの値は較正モデルそのもの(base 22.5 / 首都圏 +5.1)で計算している。⑨⑩ の値は本番 flight-calc の固定分(20分・首都圏30分=C510実測のハードコード)を使うため、首都圏絡みで数分ずれる(例: 羽田→那覇 冬 154分 vs 157分)。
FR24は燃料を一切返さないため、燃料は時間とは別トラックで性能表から取る(CJ4のときと同じ)。どのPDFを見るかで作業量が大きく変わるので、まず所在を確定させた。
| 資料 | 頁 | 判定 | 内容 |
|---|---|---|---|
G550 Operating Manual.pdfAOM Rev46 / OEM Publications 配下 | 1,610 | 本命 | CHAPTER 05 – PERFORMANCE に Climb / Cruise / Descent / Holding / Alternate / Driftdown が全部そろう。CJ4の CPP と同じ構成 |
G550 Performance Handbook.pdf | 147 | 部分的 | AOM第5章の抜粋。巡航・代替は取れるが Holding と en-route Climb/Descent が無い |
G550 Pilot Training W&B, Peformance Charts.pdf | 63 | 不適 | FlightSafety の訓練ラボ用ハンドアウト。全頁がチャート画像でテキスト層は定型注意書きのみ。内容も上記の抜粋 |
AOM p1192 / PH p113「Twin Engine Cruise: MT=0.85, ISA」。FFは2発合計 lb/h。
この表の KTAS は FL370〜510 で一律 487.5kt = 902.8 km/h で、FR24実測から回帰した cruise_kmh = 901 と0.2%で一致した。
収集した母集団は実運用でM0.85相当を飛んでおり、時間モデルと燃料表が同じ巡航レジームに乗っていることになる。
| ALT | GW80k | GW75k | GW70k | GW65k | GW60k | GW55k | GW50k |
|---|
なぜ FL450 / GW65,000lb を採ったか — CJ4で burn_cruise=1200(FL410高高度巡航)を採ったのと同じ理屈。
この値が効くのはテクラン要否=レンジ判定で、判定が効くのは長距離レグ=高高度巡航の領域。短距離のclimb込み実効値を入れるとテクランを過剰に要求してしまう。
GW65,000lb は長距離レグの巡航中間重量にあたる。ISA偏差はp107注記で ±10℃ごとに FF ∓3.4%。
AOM p1217「Twin Engine Holding: ISA」。運航規程の待機条件は1,500ft・30分だが、 表には1,500ftの行が無いため 0ft と 5,000ft からの内挿になる。CJ4では CPP の HOLDING表 14,000lb/1500ft が規程の値と完全一致していたので、根拠の性質が違う点に注意。
| GW(×1000 lb) | 0 ft | 5,000 ft | → 1,500 ft(内挿) |
|---|
検証: AOM本文の計算例「GW 65,000lb / 20,000ft → FF 1,968 lb/hr・174 KCAS」が表と一致することを確認済み。温度補正は ISA±10℃ごとに FF ∓1%。
条件は無風・ZFW 50,000lb・1,500lbリザーブ込み・Max Range Cruise Mach・FLは最小巡航5分ベース。
burn_alt / alt_kmh はリザーブ1,500lbを差し引いた区間分から出す。国内の代替は近距離が多いので、保守側になる100nm行に合わせた。
| 距離 | FL | 所要 | CAS | 燃料(表) | 区間のみ(−1500) | 速度 | 燃費 |
|---|
| 項目 | 値 | 備考 |
|---|---|---|
| Maximum Ramp Weight | 91,400 lb | — |
| Maximum Takeoff Weight | 91,000 lb | aircraft.max_takeoff_weight |
| Maximum Zero Fuel Weight | 54,500 lb | — |
| Basic Operating Weight (Empty) | 48,300 lb | aircraft.bow / 要注意 OEM一般値でN679MS実機の計量記録ではない |
| Maximum Payload | 6,200 lb | BOW 48,300lb のとき |
| Maximum Landing Weight | 75,300 lb | aircraft.max_landing_weight |
| Maximum Fuel Capacity | 41,700 lb | — |
| Maximum Usable Fuel Capacity | 41,300 lb | aircraft_types.max_fuel_lb |
| Powerplant | BR700-710C4-11 ×2 | 離陸推力 15,385 lb |
aircraft-bew-bow/migrate.sql が「N679MS は値未確定 → NULL のまま(後日投入)」としていた箇所そのもの。本番の現状:aircraft の N679MS は type_code='G550' で登録済みだが重量系は全てNULL。aircraft_types に G550行は無い。
SQLは Desktop\G550飛行時間表\G550_master投入案.sql(未適用)。
| 列 | 値 | 出所 / 根拠 |
|---|---|---|
cruise_kmh | 901 | FR24 実測。AOMの KTAS 487.5kt と0.2%一致 |
burn_cruise_lbph | 2,853 | AOM Twin Engine Cruise M0.85 ISA / FL450 / GW65,000lb |
burn_hold_lbph | 2,089 | AOM Holding ISA / GW55,000lb / 1,500ft内挿 |
burn_alt_lbph | 2,544 | AOM 代替100nm行 (2,560−1,500) ÷ 0:25 |
alt_kmh | 444 | AOM 同 185.2km ÷ 0:25 |
max_fuel_lb | 41,300 | AOM Maximum Usable Fuel Capacity |
seats | 10 | 仮置き 実キャビン仕様の確認待ち |
min_rwy_m | 1,800 | 仮置き C510=1,200 / C25C=1,500 |
ex_ok / ex_may / ex_tech | 1,400 / 1,200 / 1,400 | 仮置き ※tech=ok のため、テクラン経由の各区間に直行OKと同じ基準がかかる(C510・CJ4は tech<ok) |
default_taxi_fuel | 400 | 仮置き C510=85 / C25C=250 |
TYPE_ORDER には G550 を追加しない。これを触らない限り N679MS は「事業機外」の扱い(オーナーFLTの社内登録のみ・代理店ポータル/空きカレンダー/料金計算に出ない)が維持される。諸元だけ入れても事業機化はされない。assessItinerary() に投入案の値を通した結果・PR #883 マージ後)| 路線 | 距離 | ETE冬 | ETE夏 | 区間燃料 | 代替 | 待機 | F_Extra | 判定 |
|---|
全路線 direct_ok。F_Extra が29,000〜36,000lb残るので、国内では ex_* 閾値は実質効かない(G550の航続に対して国内レグが短すぎる)。仮置き値が効いてくるとしたら将来の国際線。
なお min_rwy_m=1800 だと master の154空港のうち40空港が運航不可になる(丘珠・八尾・屋久島・但馬・佐渡・福井 ほか)。
PR #883 のマージ後に生成(型式別αが効いた状態)。CJ4と同じ86空港・同じ形式で出力したので直接比較できる。
出力先は Desktop\G550飛行時間表\、値は空中ETE(taxi除外・BO-BIではない)。
生成は本番と同一の flight-calc.js を Node から require して ete() を全順序ペア×4季で回す方式(7,310ペア)。
| 路線 | 距離 | 冬 | 夏 | 4季平均 | CJ4比 |
|---|---|---|---|---|---|
| 羽田→新千歳 | 820km | 1:21 | 1:26 | 1:24 | −12分 |
| 羽田→関西 | 433km | 1:07 | 0:55 | 1:01 | −9分 |
| 羽田→福岡 | 881km | 1:46 | 1:22 | 1:33 | −18分 |
| 福岡→羽田 | 881km | 1:12 | 1:36 | 1:24 | −10分 |
| 羽田→那覇 | 1555km | 2:37 | 2:04 | 2:20 | −29分 |
| 羽田→石垣 | 1939km | 3:09 | 2:27 | 2:47 | −37分 |
| 羽田→台北桃園 | 2122km | 3:27 | 2:37 | 3:01 | −41分 |
| 羽田→香港 | 2902km | 4:33 | 3:23 | 3:57 | −56分 |
| 羽田→グアム | 2505km | 3:07 | 3:21 | 3:14 | −37分 |
airport_alerts の blocks_quote で対象外のため86空港に含まない(CJ4表と同じ)。ミッション便は残差で機械的に落ちるため、機番で切る必要がない。除外案と比べて cruise は同値、base は0.6分差、 その代わり季節αのサンプルが3倍近くになる。
| 項目 | 状況 | 対処 |
|---|---|---|
| 春のサンプル | 刈り込みでも n=28 と薄い(他季は49〜76) | 当面は許容 収集期間は2年が上限のため増やせない |
| 夏αの符号 | +0.80 と正。上層東風で説明はつくが未検証 | 保留 実運航が始まってから検算 |
| 正データとの突合 | 自社機でないため社内Journey Logに相当する正が無い(C510では平均1.8分一致を確認できた) | 不可 N679MSはFR24に記録ゼロ |
| G-Vとの混在 | ICAO型式コード GLF5 はG550とG-Vを区別しない | 許容 分母確保を優先(ユーザー判断済) |
ALPHA_BY_TYPE に G550 を登録。未登録のあいだ C510 の α にフォールバックしており、夏に最大9分ずれていた(羽田→那覇 133分→124分)。companyapps/sales/reservation の3コピーに同一改修。C510・C25C は全ケース変化なしを実経路で確認済み--remote 必須・ワーカー再デプロイ不要blockFuelC25C と同じ「climb+cruise+descent 積算」モデルが G550 でも組める。単一燃費×ETEで足りなければ着手生データ・スクリプト: C:\Users\fligh\Desktop\G550飛行時間表\(g550-flights.csv / _src\)