Kerem Özdemir

CBAM embedded emissions

Case study · esg-toolkit

A single embedded emissions figure hides the one thing an abatement decision needs.

Running here
CBAM embedded emissionsOpen full size

Twenty figures across four processes. Resolving recomputes the embedded emissions of each and closes on the reconciliation.

Problem

Embedded emissions for anything made in stages are a chain traced backwards, crude steel carrying pig iron and pig iron carrying coke and sintered ore, and the finished figure cannot say whether the carbon came out of the coke oven or the blast furnace, which is what an abatement decision turns on; attribute by the immediate supplier and coke, reached down two paths, is counted twice.

Method

Processes are resolved in dependency order by a depth first walk with a visiting set, every entry is keyed by the process that released the emissions rather than by the intermediate it arrived through, so a shared input accumulates into one entry, and direct and indirect are carried as a pair the whole way down and never summed.

What it does

Four processes with every figure editable, activity level, attributed direct emissions, electricity and the quantity of each precursor consumed, and resolving prints the specific embedded emissions of each process direct and indirect side by side, a bar per releasing process, and the reconciliation of the attribution against the figure it attributes.

What it refuses to do

It refuses a precursor whose emissions nobody stated, because an input with no source process inside the installation needs supplier data or a default value from the current implementing act, and a button on the page empties that field so the refusal can be seen.

It refuses to merge direct and indirect into a total, because that is how they are reported to the authority, the certificate calculation does not treat them alike, and a number that collapses them loses what nothing downstream can recover.

It refuses to iterate a cycle: where two processes each name the other as a precursor the chain has no bottom, so the instrument prints the loop by name and stops.

In closing

A declaration needs one number and this produces it, and the rest of the page exists because that number tells a declarant what to report and an engineer nothing at all about where to spend.