Emissions & CII
CO₂ to commercial consequence.
Five regulatory regimes now turn the same exhaust stream into financial obligation. The question isn’t which one to track — it’s whether your data is good enough to see where each regime stands before the year-end number locks in.
Three stages
Read noon reports + BDN → Compute all five regimes → Forecast + escalate- Read — daily noon reports (distance, fuel by grade, cargo on board) plus Bunker Delivery Notes (quantity, grade, sulphur).
- Compute — each regime independently: CII attained, EEOI per voyage, EU ETS allowance demand, FuelEU GHG intensity, IMO DCS fuel totals.
- Forecast — project every metric to year-end using linear trend or planned-voyage profile, then escalate when a rating or obligation is heading outside acceptable range.
The five regimes
| Regime | Enforced by | What’s measured | Consequence |
|---|---|---|---|
| CII | IMO | Annual CO₂ per transport work | A–E rating; D×3 or E×1 triggers SEEMP III |
| EEOI | IMO | CO₂ per cargo-tonne-mile, per voyage | Operational benchmark |
| EU ETS | European Commission | CO₂ on EU-touching voyages | Allowance purchase obligation |
| FuelEU Maritime | European Commission | GHG intensity well-to-wake | Penalty per gram above target |
| IMO DCS | IMO | Annual fuel consumption report | Compliance reporting |
The five regimes share the same source data but slice it differently. A vessel can be A-rated on CII while failing FuelEU on its fuel mix; it can be EU ETS-compliant while its DCS data has integrity gaps. The pipeline computes all five every refresh — they don’t reduce to a single number.
CII — the centerpiece
The IMO Carbon Intensity Indicator is the most operationally consequential regime. Two calculations drive the result:
CII_attained = total_CO2 (g) / (Capacity × total_Distance_nm)
CO2_i = mass_fuel_i × CF_fuelCarbon factors by fuel grade:
| Fuel | CF (gCO₂/g fuel) |
|---|---|
| HSFO | 3.114 |
| VLSFO | 3.151 |
| MGO | 3.206 |
| LNG (combustion) | 2.750 |
Rating bands (ratio = CII_attained / CII_required):
| Rating | Ratio |
|---|---|
| A | ≤ 0.86 |
| B | 0.86 – 0.94 |
| C | 0.94 – 1.06 |
| D | 1.06 – 1.18 |
| E | > 1.18 |
Worked example — MV OCEAN
82,000 DWT container vessel, end-of-April review (4 months into operating year):
| Metric | Value |
|---|---|
| YTD CO₂ | 14,820 t |
| YTD distance | 38,400 nm |
| CII attained (YTD) | ratio 1.12 → D-band |
| Linear year-end forecast | ratio 1.16 → D-band, close to E |
| Operational forecast (planned voyages) | ratio 1.18 → E-band threshold |
| EU ETS YTD obligation | 4,180 EUAs (~€352k at €84/EUA) |
| EU ETS year-end forecast | |
| FuelEU GHG intensity YTD | 86.8 gCO₂eq/MJ vs target 89.3 — currently compliant |
Verdict: HIGH-CRITICAL on CII trajectory. Three action candidates:
- Slow-steaming — reducing average speed by 1 knot reduces CO₂ per nm meaningfully.
- Bunker mix shift — LNG dual-fuel if available; VLSFO-to-MGO net carbon impact is marginal.
- Engineering efficiency — hull cleaning and propeller polishing reduce required power for the same speed.
Under the hood
CII implementation — attained calculation and rating lookup
def cii_attained(voyages, vessel_type, dwt): """CII attained = total CO2 / (capacity * total distance).""" total_co2 = 0.0 total_distance_nm = 0.0
for v in voyages: for fuel_type, mass_t in v["fuel_consumed"].items(): cf = CARBON_FACTORS[fuel_type] # gCO2 / g fuel total_co2 += mass_t * 1_000_000 * cf # to grams total_distance_nm += v["distance_nm"]
capacity = dwt if vessel_type != "passenger" else gt return total_co2 / (capacity * total_distance_nm)
def cii_rating(attained, required): ratio = attained / required if ratio <= 0.86: return "A" if ratio <= 0.94: return "B" if ratio <= 1.06: return "C" if ratio <= 1.18: return "D" return "E"Year-end forecast — two methods
Method 1 — Linear projection
CII_forecast = CII_attained(t) + trend_recent × (T − t)where trend_recent is the rate of change over the last 3 months and T is year-end.
Method 2 — Operational profile
When the voyage plan for the rest of the year is known, the analyzer projects emissions using planned distance and fuel consumption per leg. More accurate when the operational pattern is stable.
The forecast is reported as a confidence range — a vessel currently at C-band with a forecast trending toward D has time to act if surfaced at mid-year.
EEOI and EU ETS formulas
EEOI (Energy Efficiency Operational Indicator):
EEOI = sum(CO2_i) / sum(cargo_i × Distance_i)EEOI uses cargo-tonne-miles rather than capacity-miles — a vessel running below capacity on backhauls shows high EEOI relative to CII, useful signal that the operational pattern is the issue rather than the engineering.
EU ETS scope:
| Voyage type | CO₂ scope |
|---|---|
| Intra-EU | 100% |
| EU ↔ non-EU (one end EU) | 50% |
| Extra-EU (both ends non-EU) | 0% |
Phase-in: 40% obligation in 2024, 70% in 2025, 100% from 2026.
FuelEU Maritime:
GHG_intensity = sum(GHG_i_wtw) / sum(Energy_i)Compared against a reducing annual target. Non-compliance penalised per gram of GHG above target multiplied by total energy consumed. ISCC-certified biofuels reduce GHG intensity proportionally to their share of energy mix.
Fleet rating dashboard — sample output
Vessel Type DWT CII attained Required Ratio RatingPOSUN Bulker 52,000 5.18 5.34 0.97 CAQUILA Tanker 115,000 3.65 3.74 0.98 COCEAN Container 82,000 8.42 7.95 1.06 DNEXUS Tanker 58,000 4.21 4.45 0.95 CThe reviewer scans for vessels approaching D / E — those need active management for the rest of the year. Vessels of the same type consistently above CII required points to a fleet-wide operational issue, not a vessel-by-vessel problem.
Escalation triggers
| Trigger | Severity |
|---|---|
| CII rating projecting E with ≥ 6 months remaining | CRITICAL |
| CII rating projecting D for third consecutive year | CRITICAL |
| FuelEU intensity above target by mid-year | HIGH |
| EU ETS obligation forecast variance > 25% from plan | HIGH |
| IMO DCS data integrity gaps in submitted reports | HIGH |
What the senior review contains
The reviewer reads nine sections in order: headline ratings (CII and forecast, EU ETS YTD and forecast, FuelEU margin) → CII trajectory with band projections → per-voyage EEOI → EU ETS obligation and financial impact → FuelEU intensity vs target → IMO DCS data quality → operational change candidates (slow-steaming, bunker shift, hull cleaning) → recommendations → escalation decision.