Base Calculations — Fuel Burn, Energy & Emissions ================================================= **Implementation status:** All 16 *Fuel Burn, Energy and Emissions* equations are mapped (DL-132 — the per-leg intensities :math:`\varepsilon = e/rtk` and :math:`ei = g/rtk` live in ``src/engine/payload.ts``), and the page's 8 declared inputs / 10 declared outputs are loaded and computed (*Base Calculations* graded Exact at DL-132). Not upgraded further because the production ``computeLCA`` path runs the aggregate wedge form with a network-level intensity index, and the SET per-type fuel-burn coefficients are EUROCONTROL-licensed and not embedded — the piecewise form runs on class-level placeholders (``src/engine/fuel-burn-full.ts``, standalone; no numeric parity claim). **Source:** ``src/engine/cascade.ts:computeLCA`` (aggregate), ``src/engine/futureAircraft.ts:fleetEnergy`` (route-level), ``src/engine/payload.ts`` (per-leg intensities) **Test evidence:** ``tests/cascade-parity.spec.ts``, ``tests/future-aircraft.spec.ts``, ``tests/suite-e-payload-fleet.spec.ts`` (E.6), ``tests/suite-m-operations-fuelburn.spec.ts`` HyFlux computes emissions in two layers that share one identity: life-cycle emissions are energy consumption times the carrier's carbon intensity. Aggregate engine ---------------- The aggregate engine works on a global emissions pool. Gross BAU emissions at year :math:`y` compound the 2019 baseline (0.92 GtCO₂) by traffic growth (:doc:`trafficGrowth`), and net emissions subtract four wedges — aircraft, operations, energy, offsets/removals — each in GtCO₂: .. math:: G_{net}(y) = \max\!\big(0,\; G_{gross}(y) - \Delta_{ac}(y) - \Delta_{ops}(y) - \Delta_{en}(y) - \Delta_{off}(y)\big) with each wedge expressed as gross times its reduction fraction (e.g. :math:`\Delta_{ac} = G_{gross} \cdot (r_{ac}/100) \cdot \text{adoption}(y) \cdot s_{newfleet}(y)`), except the offsets wedge, which in constrained mode is a physical quantity (:doc:`carbonOffsetsRemovals`). Baseline anchors: ``BASELINE_2019_GT = 0.92``, ``BASELINE_2050_GT = 2.82`` (legacy frozen anchor). Energy backing the pool is recoverable through the Jet-A1 anchor CI: :math:`E_{BAU}\,[\mathrm{EJ}] = G_{gross} \times 1000 / 89` (:doc:`energyDemand`). Route-level module ------------------ At route level the module evaluates, per route :math:`rt`, carrier :math:`c` and year :math:`t`: .. math:: e(c, rt, t) = \sum_{ac} n(ac, rt, t)\; e^*_{ac}(d), \qquad d = d^* + 51\ \mathrm{km} .. math:: E_c(t) = \sum_{rt} e(c, rt, t), \qquad G_c(t) = E^{adj}_c(t)\; CI_c(t) where :math:`n` is the assigned flight count (conserved exactly, :doc:`aircraft`), :math:`e^*_{ac}(d)` is the per-flight tank-to-wake energy from the interpolated reference table rescaled by the aircraft's efficiency delta, :math:`E^{adj}` applies the battery loss multiplier for electricity only, and :math:`CI_c(t)` comes from a pluggable carbon-intensity provider so the module stays decoupled from the aggregate engine. Known deviations / limitations ------------------------------ * CASCADE's per-route piecewise fuel-burn model (SET aircraft performance models, cf. CASCADE *Fuel Burn, Energy & Emissions*, eq. SET-fuel-burn) is **not** implemented; HyFlux uses interpolated synthetic range-energy tables instead (:doc:`aircraft`). * The aggregate layer has no payload-capacity resolution (ASK/RTK/RPTK per route); payload capacities exist only as class constants. * Emissions are WTW CO₂e only; non-CO₂ effects are a display scope (``scope: 'nonco2'``), not a modelled wedge.