Air Traffic Dataset =================== **Implementation status:** Simplified with declared bases (coverage matrix row *Air Traffic Dataset* — gross traffic is a global scalar on every track; data parity impossible by construction). The old register claim "mock + global CAGR, no route resolution" is partly stale: ``traffic_model`` is a real, URL-shareable input with three tracks (``legacy_anchor`` | ``cascade_series`` | ``route_resolved`` — DL-022/DL-045), and the opt-in ``route_resolved`` track routes CORSIA/CGI eligibility through the routes_CORSIA state-pair filter over the synthetic-representative route set and reports per-class flight counts (eq. 10) plus the traffic conservation identities. Since DL-165 every ``LCAResult`` carries ``provenance.trafficBasis`` — the DL-139 §6 five facts (root year, root value, growth rate, COVID treatment, recovery assumption) built from the run's **actual** inputs, plus a verbatim statement of which dataset the track runs on — so "no route resolution" (or its scope) is said by the engine, not remembered by the UI. Gross remains the same global :math:`y(t)` on all tracks (numerically bit-identical, asserted by test). **Source:** ``src/engine/routes.ts:SYNTHETIC_ROUTES``, ``src/engine/routes.ts:SYNTHETIC_AIRCRAFT_TYPES``, ``src/engine/traffic-dataset-provenance.ts`` (DL-165), ``src/engine/traffic-basis-registry.ts`` (DL-139 named bases) **Test evidence:** ``tests/future-aircraft.spec.ts`` (dataset consumers), ``tests/cascade-parity.spec.ts`` (frozen aggregate baseline), ``tests/traffic-dataset-provenance.spec.ts`` (provenance + bit-identity), ``tests/suite-p-adjudication.spec.ts`` (named bases) The synthetic 24-route dataset ------------------------------ CASCADE resolves traffic per route from a licensed Cirium schedule extract. HyFlux cannot and does not reproduce that dataset; instead it ships a transparent synthetic stand-in, ``SYNTHETIC_ROUTES``, used by the route-level Future Aircraft module (:doc:`aircraft`). Every value is a plausible, first-principles choice — distances are plausible great-circle values for the named city pairs (rounded), flight counts are plausible schedule densities — and none is a schedule-database extract. The dataset spans four size classes and three distance bands: .. list-table:: :header-rows: 1 :widths: 22 20 18 40 * - Segment - Routes - Distance band - Eligible classes * - Regional short-haul - 8 - 400–1,000 km - ``regional`` * - Single-aisle medium-haul - 8 - 880–4,800 km - ``singleAisle`` * - Widebody long-haul - 4 - 5,550–11,020 km - ``widebody`` * - Dedicated freighter - 3 - 4,920–6,970 km - ``freighter`` * - Combi (pax + freight) - 1 (AMS–JFK) - 5,850 km - ``widebody``, ``freighter`` Each route record carries: stable id, origin/destination codes, great-circle distance :math:`d^*` (km), the set of eligible size classes, annual flights :math:`n_{in}(rt, 2019)`, and the typical existing-aircraft class. Ten synthetic existing Jet-A aircraft types (40–300 seats; 50.4 t and 68.1 t freighters) complete the dataset. Seat and payload capacities follow the publicly disclosed CASCADE size-class capacities (80 / 180 / 300 seats; 50.4 / 68.1 t freighters — the only public elements of Boeing's reference aircraft, per ``constants.ts:SIZE_CLASSES``). Traffic at this layer is **flat**: :math:`n_{in}(rt,t) = n_{in}(rt,2019)` — no traffic growth is applied at route level; growth lives in the aggregate engine (:doc:`trafficGrowth`). Benchmark panel and governed Cirium snapshots --------------------------------------------- A corridor panel provides gCO₂e/ASK benchmarks for major corridors. Two sources exist, both display/benchmark-only: * the labelled mock set (``src/data/cirium-mock.ts``, sampled from IATA WATS 2024 / ICAO figures :cite:`iata_wats`), and * an optional **governed live Cirium corridor snapshot** (DL-153, ``src/data/cirium-live.ts``): real Cirium airport geometry with engine-derived (Method B) CO₂/ASK. The snapshot file is gitignored (licence gate — ``retentionConfirmed: false`` forbids redistribution, DL-133 §11); builds without it fall back to the mock set. The Sky Emissions product is not in the trial licence, so no value may be described as Cirium-observed emissions, and the scope note travels with every traffic-basis declaration (``CIRIUM_LIVE_SCOPE_NOTE``): a 10-corridor benchmark is never a traffic basis and no engine figure derives from it. Test evidence: ``tests/cirium-live.spec.ts``. Separately, DL-133 §11 defines a **versioned offline route-traffic snapshot schema** with coverage validation and provenance (``src/data/cirium-snapshot.ts``) and a route-level baseline builder that puts HyFlux and CASCADE on the same functional units — corrected flown distance :math:`d^* + 51` nmi, no imputation, schedule-vs-actual basis kept explicit (``src/engine/route-traffic-baseline.ts``, ``tests/suite-g-cirium-baseline.spec.ts``). It ships **no** Cirium data: every export path refuses row-level data until the licence position is explicitly confirmed. Known deviations / limitations ------------------------------ * **Fidelity vs Cirium.** CASCADE's route dataset is proprietary; the synthetic set is order-of-magnitude plausible only. **Data parity must never be claimed** (Phase-0 report §7/§12). * **Aggregation.** The aggregate engine (``cascade.ts``) uses a single global baseline (0.92 GtCO₂ in 2019) with no route, operator or aircraft dimension in the production wedges. The aircraft-type × route flight tensor and its folds exist standalone (``fleet-tensor.ts``, DL-137, ``tests/suite-n-corsia-tensor.spec.ts``) with the existing-aircraft axis honestly lumped; the operator axis exists only in the synthetic CORSIA operator block. Real per-type/operator resolution is licence-blocked (Cirium). * **Flat route traffic in the wedge path.** Route flight counts do not feed growth; growth is modelled in the aggregate engine. On the opt-in ``route_resolved`` track, eq. 10 per-class flight counts :math:`n(rt,t) = n_{2019}(rt)\,y(t)` and the traffic conservation identities are computed and **reported** (DL-165) — reporting only, not a route-level gross substitution. * **Combi handling.** The one dual-eligible route (AMS–JFK) is the only place passenger and freighter classes interact; fleet composition beyond class eligibility is not modelled.