Base Calculations — Fuel Burn, Energy & Emissions#

Implementation status: All 16 Fuel Burn, Energy and Emissions equations are mapped (DL-132 — the per-leg intensities \(\varepsilon = e/rtk\) and \(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 \(y\) compound the 2019 baseline (0.92 GtCO₂) by traffic growth (Traffic Growth), and net emissions subtract four wedges — aircraft, operations, energy, offsets/removals — each in GtCO₂:

\[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. \(\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 (Carbon Offsets & Removals). 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: \(E_{BAU}\,[\mathrm{EJ}] = G_{gross} \times 1000 / 89\) (Energy Demand).

Route-level module#

At route level the module evaluates, per route \(rt\), carrier \(c\) and year \(t\):

\[e(c, rt, t) = \sum_{ac} n(ac, rt, t)\; e^*_{ac}(d), \qquad d = d^* + 51\ \mathrm{km}\]
\[E_c(t) = \sum_{rt} e(c, rt, t), \qquad G_c(t) = E^{adj}_c(t)\; CI_c(t)\]

where \(n\) is the assigned flight count (conserved exactly, Aircraft — Fleet Renewal & Future Aircraft), \(e^*_{ac}(d)\) is the per-flight tank-to-wake energy from the interpolated reference table rescaled by the aircraft’s efficiency delta, \(E^{adj}\) applies the battery loss multiplier for electricity only, and \(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 (Aircraft — Fleet Renewal & Future 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.