ESG & climate

ESG & carbon tracking — shipping emissions and sustainability reporting

How ESG teams and climate-focused investors use NTHMAP vessel data to estimate shipping emissions and track sustainability claims.

International shipping accounts for ~3% of global CO₂ emissions and is under increasing regulatory pressure: IMO 2020 sulfur cap, EU ETS inclusion (2024), CII ratings, FuelEU Maritime. For ESG teams, investors, and regulators, knowing where vessels are and how fast they're going is the foundational input to emissions estimation.

NTHMAP provides that data.

Emission estimation from vessel data

The underlying formula for vessel CO₂ emissions is straightforward:

emissions_tonnes = distance_nm × fuel_consumption_t_per_nm × CO2_factor

The inputs:

  • Distance — from AIS position history
  • Fuel consumption rate — from vessel specifications (DWT, type, speed)
  • CO₂ factor — ~3.114 tonnes CO₂ per tonne of heavy fuel oil

NTHMAP gives you the position and speed data. Fuel consumption curves are available from Clarksons, EEDI databases, or academic papers (Olmer et al. 2017, Kristensen 2012).

import nthmap

client = nthmap.Client(api_key="ntm_live_...")

# Simple emissions estimation for a single vessel
def estimate_daily_emissions(vessel):
    speed_kts = vessel["speed_knots"] or 0
    dwt = vessel["dwt"] or 100000

    # Rough fuel consumption at speed (tonnes/day)
    # This is VLCC-style — real models are much more sophisticated
    fuel_per_day = 20 + (speed_kts ** 3) * 0.08 * (dwt / 150000)

    co2_per_day = fuel_per_day * 3.114
    return co2_per_day

fleet = client.vessels(types=["Crude Tanker"], min_speed=1)
total_daily_co2 = sum(estimate_daily_emissions(v) for v in fleet)
print(f"Crude tanker fleet daily CO₂: {total_daily_co2:,.0f} tonnes")

This isn't research-grade but it's the right order of magnitude. Real emission models layer in:

  • Vessel-specific EEDI ratings
  • Fuel type (HFO vs MGO vs LNG)
  • Weather/wave conditions
  • Port / approach mode vs open sea mode
  • Engine efficiency age curves

For research-grade modeling, pair NTHMAP positions with the EEDI database and a peer-reviewed emission factor set.

EU ETS compliance support

As of 2024, the EU Emissions Trading System includes shipping. Vessels calling at EU ports must report and pay for emissions on EU voyages. NTHMAP helps non-EU shipping companies:

  1. Identify which of their voyages fall under EU ETS scope (departing or arriving at an EU port)
  2. Estimate the scope 1 emissions for those voyages
  3. Reconcile with their official EU ETS reporting
# Your fleet approaching EU ports
nthmap vessels list --bbox -15,35,35,65 --format json | \
  jq --slurpfile fleet fleet.json '[.[] | select(.mmsi as $m | $fleet[0] | index($m))]'

Cross-check against port call records; emissions follow.

Climate TRACE integration

Climate TRACE is an initiative to measure emissions from observable data. Their shipping estimates use AIS + vessel characteristics — the same inputs NTHMAP exposes via API.

A researcher reproducing or extending Climate TRACE methodology can use NTHMAP as their AIS source rather than subscribing to a commercial AIS feed directly.

CII ratings and the carbon intensity indicator

The IMO's Carbon Intensity Indicator (CII) rates vessels A-E based on their efficiency. Vessels rated D for three consecutive years or E for one year must submit a corrective action plan.

The CII formula:

CII = fuel_consumed / (deadweight × distance)

NTHMAP doesn't have direct fuel consumption data (that's self-reported to IMO), but for any vessel's observable speed and route, you can estimate CII and compare against its rated value.

A commercial application: when chartering a vessel, you care about its CII rating because a D-rated ship might face port restrictions soon. NTHMAP gives you the vessel-specific speed profile:

nthmap vessels track $MMSI --format json

Combine with your own fuel assumptions for an independent CII estimate.

ESG scoring input

Major ESG data providers (MSCI, Sustainalytics, S&P Global) build shipping-sector scores that depend on observable physical operations. For an ESG analyst covering a listed shipping company:

  1. Identify the company's fleet (MMSIs)
  2. Track their physical operations via NTHMAP
  3. Estimate emissions per revenue tonne-mile
  4. Compare against sector baseline
  5. Feed into the ESG score

NTHMAP provides step 2 and 3's input data.

Greenwashing detection

A company claiming "we're running our fleet at slow-steaming speeds to reduce emissions" is making a verifiable claim. NTHMAP data can confirm or contradict it:

# Compute average speed of a specific fleet
fleet_mmsis = [...]  # from a company's annual report or IMO database
speeds = []
for mmsi in fleet_mmsis:
    v = client.vessel(mmsi)
    if v and v.get("speed_knots"):
        speeds.append(v["speed_knots"])

avg_speed = sum(speeds) / len(speeds) if speeds else 0
print(f"Observed fleet avg speed: {avg_speed:.1f} kts")
# Compare against the company's stated "slow steaming" range

For investors skeptical of corporate sustainability claims, NTHMAP is a ground-truth cross-reference.

Marine protected area monitoring

NGOs tracking marine protected areas (MPAs) can use NTHMAP to detect vessel intrusions:

# Vessels inside a specific MPA
nthmap vessels list --bbox $MPA_BBOX --format json

Combined with reference polygons from Protected Planet, you can monitor compliance with shipping lane restrictions.

Sustainability reporting

For a company's annual sustainability report, NTHMAP data can substantiate:

  • "Our fleet operated without incident in 2024"
  • "We avoided conflict zones throughout the year"
  • "Our average fleet speed dropped 12% year-over-year"

Each claim is directly verifiable with NTHMAP historical data (enterprise tier).

Limitations

  • Not a certified emission data source — for official ETS / MRV reporting, use IMO-certified sources
  • Estimation only — observed speed doesn't give you actual fuel burn; that's a model output
  • Limited historical depth on standard tiers — serious emissions research requires enterprise historical archives

Get started

If you're working on shipping ESG analysis, start with the CLI docs and pull a week of vessel data for a specific fleet. Build your emission model on top.

For enterprise-grade historical archives and peer-reviewed-friendly data licenses, email esg@nthmap.com.