This is a 2D diagram, not a flattened 3D scene: a finite-difference advection-diffusion grid models the engine wake in "age since emission" (horizontal) × "vertical spread from centerline" (vertical) coordinates. Every 0.3 s of simulated time the whole field diffuses (turbulent mixing spreads the plume, growing width ∝ √t), decays (ice crystals sublimate, τ ≈ 4 s), and ages one column to the right, while a fresh Gaussian pulse of ice nuclei is injected at the source column whenever conditions allow.
C(age+1, y) = decay·diffuse(C(age, y))
diffuse: C[y] += α·(C[y+1] − 2C[y] + C[y−1]), α = D·Δt/Δy²
source(y) = sootIndex · exp(−y²/2σ²), only if T_outside < −40°C
SAF does not change tailpipe CO₂ — burning 1 kg of fuel always releases ≈3.16 kg CO₂ at the engine, fixed by combustion chemistry. What changes is the lifecycle (well-to-wake) footprint:
LifecycleFactor = (1-blend)·89 + blend·SAF_factor [gCO2e/MJ]
Energy = fuelBurned(kg) × 43 MJ/kg
Lifecycle CO2 = Energy × LifecycleFactor / 1000 [kg]
- HEFA (TRL 9) ≈ 24 gCO₂e/MJ, soot index 0.30 → ~73% lower lifecycle footprint.
- Fischer-Tropsch PtL (TRL 6-7) ≈ 9 gCO₂e/MJ, soot index 0.10 → ~90% lower.
- Alcohol-to-Jet (TRL 7-8) ≈ 40 gCO₂e/MJ, soot index 0.50 → ~55% lower.
The altitude gauge on the left of the wake diagram plots the ISA lapse rate T(km) = 15 − 6.5·alt and marks the −40°C isotherm (≈8.46 km): above it, a contrail can nucleate, and a cleaner-burning (lower soot index) SAF blend injects a thinner source pulse, visibly shrinking the diffused plume even at identical altitude.