Products Environment and mobility

WLTP

Worldwide harmonised light vehicles test procedure

Vehicle CO₂ for every option combination, interpolated as the regulation says.

WLTP type approval fixes the CO₂ and fuel consumption figures a manufacturer declares. GraphAtlas applies the interpolation method across a vehicle family, so every configuration of mass, drag and tyres gets its own figure, and it keeps test results and calculation on one record.

Try the calculation Request a walkthrough

Regime
UN GTR No. 15 and Regulation (EU) 2017/1151
Set by
  • United Nations Economic Commission for Europe
  • European Commission and the European Supervisory Authorities
Built for
  • Homologation engineers
  • Powertrain and vehicle line teams
  • Technical services
Version
1.7
The test cycle of the WLTP, and the line that the CO2 of every vehicle of a family lies on between its two test vehiclesAbove, the target speed of the class 3b vehicle at every second of the WLTC, from 0 to 1800 seconds, in the phases Low, Medium, High and Extra High. The top speed is 131.3 kilometres an hour. Under it, the CO2 of vehicle L, 120.92 grams a kilometre, and of vehicle H, 136.69, with a straight line between them. The example vehicle is 53.11 per cent of the way from L to H, which gives it 129.30 grams a kilometre, and every configuration that the family is sold in is a tick on the energy axis, all of them on the line. A tag says that the parameters are prescribed.CLASS 3B CYCLELOWMEDIUMHIGHEXTRAHIGH131.3 KM/H1,800 SPRESCRIBEDCO2 BETWEEN VEHICLE L AND HL 120.92H 136.69129.30 G/KM15.77 G/KMENERGY DEMAND OF THE CYCLEENGINEWLTP V1.7SET BYUNECE, EUDATASAMPLERECEIPT9948ea69 The test cycle of the WLTP, and the line that the CO2 of every vehicle of a family lies on between its two test vehiclesAbove, the target speed of the class 3b vehicle at every second of the WLTC, from 0 to 1800 seconds, in the phases Low, Medium, High and Extra High. The top speed is 131.3 kilometres an hour. Under it, the CO2 of vehicle L, 120.92 grams a kilometre, and of vehicle H, 136.69, with a straight line between them. The example vehicle is 53.11 per cent of the way from L to H, which gives it 129.30 grams a kilometre, and every configuration that the family is sold in is a tick on the energy axis, all of them on the line. A tag says that the parameters are prescribed.CLASS 3B CYCLELOWMEDIUMHIGHEXTRAHIGH131.3 KM/H1,800 SPRESCRIBEDCO2 FROM L TO HL 120.92H 136.69129.30 G/KM15.77 G/KMENERGY DEMANDENGINEV1.7DATASAMPLERECEIPT9948ea69

Try it

Run it on sample data

Choose options and tyres for one car. See its road load, its energy demand on the real cycle and the CO₂ that the interpolation gives it. Then move the CO₂ of the high vehicle until the range rule objects.

Fig. 1 CO₂ of an illustrative vehicle family, interpolated between a low and a high test vehicle on the class 3b cycle

Verifying receipt

The vehicle

Options fitted

Tyre rolling resistance class

Classes B, C and E are sold with this family. There is no class D for these tyres.

kg
Added to the test mass. Below zero for a vehicle lighter than vehicle L.

Test mass 1,536 kg. Drag area 0.032 m² above vehicle L. Tyres 8.4 kg per tonne.

The test vehicles

g/km
Over the whole cycle. The CO2 of each phase moves with it.

Vehicle L has no options and emits 120.92 g/km. Vehicle H has every option and was tested at 136.69 g/km.

Declared CO₂

129 g/km

Interpolated to 129.30 g/km, then rounded. This vehicle is 53% of the way from L to H in cycle energy demand.

Range rule

Allowed

H emits 15.77 g/km more than L. The rule needs between 5 and 27.34 g/km.

Where the vehicle sits on the line

120125130135140120125130135140CO₂, g/kmCycle energy demand, Wh/km192 configurations on saleLH129.30 g/km
The line runs from vehicle L to vehicle H. The dotted ends are the 3 g/km that an approved extension may add. Each tick under the axis is one configuration that the family is sold in, and all of them lie on the line.
Energy
L 122.883, this vehicle 131.425, H 138.965 Wh/km
CO₂
120.92 + (131.425 − 122.883) ÷ (138.965 − 122.883) × (136.69 − 120.92) = 129.30

CO₂ by phase

CO₂ of vehicles L and H and the interpolated figure for this vehicle, for each phase and for the whole cycle
PhaseDistance kmEnergy Wh/kmL g/kmThis vehicle g/kmH g/kmDeclaredPosition
Low589 s3.09114.4131.20140.09146.8514057%
Medium433 s4.76125.1120.49128.86135.5812955%
High455 s7.16118.1103.57111.11117.8911153%
Extra high323 s8.25153.0132.36141.34149.8214151%
Whole cycle23.27131.4120.92129.30136.6912953%

Road load

Road load coefficients and test mass of the refitted vehicle L, this vehicle and vehicle H
Vehiclef0f1f2Mass
L, refitted98.480.34100.025751,460
This vehicle114.720.34100.027131,536
H131.400.34100.028551,580

Road load is the force that the road and the air put against the car at a steady speed v, in newtons: f0 + f1 v + f2 v², with v in km/h. Mass is in kg. Test mass times rolling resistance puts this vehicle 49% of the way from L to H, which moves f0. Drag area puts it 49% of the way, which moves f2. The term f1 is that of H for all three, because the curve of L was refitted to it.

The cycle and the seconds that count

050100LowMediumHighExtra high06001,2001,800 skm/h
The line is dark in the 1,312 of 1,800 seconds in which this vehicle needs driving force. Energy is counted in those seconds only. The rest are braking, coasting or an idle at the same speed.

Receipt9948ea69 41e46cd9 … 06f828ea

Choose a different car. The engine runs in this page and nothing leaves it.

Inputs and outputs

What goes in. What comes out

The plate runs a slice of the engine. This is the whole shape of it.

What goes in

Test vehicles L and H
The road load coefficients, test mass, tyre rolling resistance and measured CO₂ of the two vehicles at the ends of the family, for each phase and for the whole cycle.
An individual vehicle
Its test mass, the rolling resistance class of its tyres and the difference in drag area against vehicle L.
The cycle
The target speed for each second of the class 3b cycle, in four phases.

What comes out

Road load
The coefficients of the individual vehicle, with the refitted curve of vehicle L that they move away from.
Energy demand
For vehicles L and H and the individual vehicle, in each phase and over the whole cycle.
CO₂
Interpolated for each phase and for the cycle, with its position between L and H, and the figure to declare in whole g/km.
Range check
Whether the two test vehicles are far enough apart and not too far, and whether a vehicle beyond the line could be an extension.
Receipt
A hash of the rules, the cycle, both test vehicles, the individual vehicle and every figure worked out. Anyone can recompute it.

What the plate covers

In the plate above

  • The class 3b speed trace as the regulation prints it, second by second.
  • The road load of an individual vehicle, with the least squares refit of vehicle L.
  • The energy demand of three vehicles on that trace, counting only positive force.
  • Interpolation in each phase and over the cycle, with the rounding of the regulation.
  • The range rule and its extension of 3 g/km.
  • Every combination of options and tyres that the family is sold in.

In the licensed engine, not the plate

  • Hybrid and electric vehicles, and every cycle other than class 3b.
  • Road load matrix families, and the extra vehicle M.
  • Fuel consumption, and the corrections for temperature and for regenerating systems.
  • Measuring road load. The coefficients here are illustrative.
  • Later amendments of the regulation.

Clause map

Every rule has an address

Each row names the clause, the function that carries it and the statements that check it. A test opens each file and confirms the function exists.

Rules of the regulation, the code that carries each one and the statements that check it
Reference Rule Carried by Checked by
Sub-Annex 1, paragraphs 3.3.2 and 3.4, Tables A1/7, A1/9, A1/11, A1/12 and A1/13 A class 3b cycle gives a target speed for each second of four phases that last 589, 433, 455 and 323 seconds. Table A1/13 prints the sum of the speeds for each phase and for the cycle, so that an implementation can check its copy. WLTC_CLASS_3B src/kernel/wltp.ts Tested WL-04
Sub-Annex 4, paragraph 4.2.2.1 and Table A4/1 An individual vehicle takes the class value of its tyres, which for C1 tyres is 5.9, 7.1, 8.4, 9.8, 11.3 or 12.9 kg per tonne for classes A, B, C, E, F and G. There is no class D. TYRE_CLASS_RRC src/kernel/wltp.ts Tested WL-10
Sub-Annex 7, paragraph 3.2.3.2.2.4 The curve of vehicle L is refitted by least squares over the reference speeds from 20 to 130 km/h, with the linear coefficient of vehicle H. An individual vehicle has the first coefficient of H less the step to the refitted L, scaled by how far its mass times rolling resistance lies below that of H. The second coefficient moves with drag area. individualRoadLoad src/kernel/wltp.ts Tested WL-05 Tested WL-06
Sub-Annex 7, paragraph 5 Energy demand over a cycle or a phase is the sum, over its one second periods, of the driving force times the distance. The force is the road load plus 1.03 times the mass times the acceleration. A period with force at or below zero counts for nothing. cycleEnergy src/kernel/wltp.ts Tested WL-03
Sub-Annex 7, paragraph 3.2.3.2.4 CO₂ of an individual vehicle is that of vehicle L plus the share of the way that its energy demand lies from L to H, times the difference in CO₂. interpolateCo2 src/kernel/wltp.ts Proved WL-01 Proved WL-02
Sub-Annex 7, paragraphs 3.2.3.2.3 and 3.2.3.2.4 The energy demand is worked out for vehicle L, vehicle H and the individual vehicle, and CO₂ is interpolated on it for every phase and for the whole cycle. evaluateIndividual src/kernel/wltp.ts Tested WL-07
Sub-Annex 6, paragraph 1.2.3.2 The method may be used only if H emits at least 5 g/km more than L, and no more than the lower of 30 g/km and 20 per cent of its own CO₂. interpolationRange src/kernel/wltp.ts Tested WL-08
Sub-Annex 6, paragraph 1.2.3.2, the extension At the maker’s request and with approval, the line may run up to 3 g/km above H and below L, but only within the boundaries of the range above. extensionCheck src/kernel/wltp.ts Tested WL-08
Sub-Annex 7, Table A7/1, step 2 The value for the whole cycle is the phase values weighted by the distance driven in each phase. combinedCo2 src/kernel/wltp.ts Tested WL-09
Sub-Annex 7, Table A7/1, step 9 The CO₂ of the test vehicles is carried to two decimal places. testVehicleCo2 src/kernel/wltp.ts Tested WL-09
Sub-Annex 7, Table A7/1, step 10 The CO₂ of an individual vehicle is stated in whole g/km, to the nearest, for each phase and for the cycle. declaredCo2 src/kernel/wltp.ts Tested WL-09

Verification

What we claim, and how it is checked

Every statement is registered, and each says which level of assurance it has earned. The ladder is explained on the verification page.

Proved

True for every input.

  • WL-01

    For every vehicle inside the family, the interpolated CO2 lies between the CO2 of the low vehicle and the CO2 of the high vehicle.

    3 checks, decided by Z3 5.3.3.0 (WebAssembly) and rerun from the emitted file by Z3 5.3.3 (native) and cvc5 1.4.2 (native, nl-cov). 2 broken variants are refuted. proofs/smt2/WL-01.smt2

  • WL-02

    Inside the family, a vehicle that demands more energy never gets a lower interpolated CO2, provided the high vehicle emits at least as much as the low one.

    1 check, decided by Z3 5.3.3.0 (WebAssembly) and rerun from the emitted file by Z3 5.3.3 (native) and cvc5 1.4.2 (native, nl-cov). 1 broken variant is refuted. proofs/smt2/WL-02.smt2

Tested

True on every input we tried.

  • WL-03

    Energy demand over a cycle is the sum of force times distance over its one second periods, counting only positive force. It equals force times distance at a steady speed and rises with every road load coefficient and with test mass.

    tests/kernel/wltp.test.ts

  • WL-04

    The class 3b trace has 1,801 speeds in phases of 589, 433, 455 and 323 seconds, and its sums over each phase and over the whole cycle reproduce the checksums that the regulation prints in Table A1/13.

    tests/kernel/wltp.test.ts

  • WL-05

    An individual vehicle with the mass, tyres and drag of vehicle H has the road load of H. One with those of vehicle L has the refitted road load of L. In between, the first coefficient moves in proportion to test mass times rolling resistance and the second in proportion to drag area.

    tests/kernel/wltp.test.ts

Show the other 5 Show fewer
  • WL-06

    The curve of vehicle L is refitted, over the reference speeds from 20 to 130 km/h, by least squares with the linear coefficient of vehicle H, and a curve that already has that coefficient is not moved.

    tests/kernel/wltp.test.ts

  • WL-07

    An individual vehicle that has the parameters of vehicle H or of vehicle L is given the CO2 of that vehicle, in every phase and over the cycle, and one between them is given a figure between theirs.

    tests/kernel/wltp.test.ts

  • WL-08

    The method is allowed when vehicle H emits at least 5 g/km more than vehicle L and no more than the lower of 30 g/km and 20 per cent of its own CO2. The line may be extended by 3 g/km at either end, and no further than the largest difference.

    tests/kernel/wltp.test.ts

  • WL-09

    The CO2 for the whole cycle weights the phases by their driven distance. The CO2 of the test vehicles is carried to two decimal places, and an individual vehicle is declared to the nearest whole g/km, for each phase and for the cycle.

    tests/kernel/wltp.test.ts

  • WL-10

    An individual vehicle takes the class value of its tyres from Table A4/1 for C1 tyres, which are 5.9, 7.1, 8.4, 9.8, 11.3 and 12.9 kg per tonne for classes A, B, C, E, F and G. There is no class D.

    tests/kernel/wltp.test.ts

Read the verification statement

Use it

The same call, anywhere

This sample is written from the input the plate starts with, so the code and the numbers cannot drift apart.

Call
import {
  WLTC_CLASS_3B,
  evaluateIndividual,
  wltpReceiptPayload,
} from '@graphatlas/kernel/wltp';
import { receipt } from '@graphatlas/kernel/receipt';

// The two test vehicles as the laboratory measured them. Road load is in N, N per km/h and N per (km/h)
// squared, mass is in kg, rolling resistance in kg per tonne and CO2 in g/km, for each phase and for the cycle.
const low = {
  f0: 99.2,
  f1: 0.318,
  f2: 0.0259,
  mass: 1460,
  rollingResistance: 6.8,
  phaseCo2: [131.2, 120.49, 103.57, 132.36],
  cycleCo2: 120.92,
};
const high = {
  f0: 131.4,
  f1: 0.341,
  f2: 0.02855,
  mass: 1580,
  rollingResistance: 10.1,
  phaseCo2: [146.85, 135.58, 117.89, 149.82],
  cycleCo2: 136.69,
};

// The difference in drag area between the two, in square metres.
const family = { cycle: WLTC_CLASS_3B, low, high, dragAreaLH: 0.065 };

// One vehicle from the order book: roof rails, panoramic roof, tow bar, and tyres of class C.
const vehicle = { mass: 1536, rollingResistance: 8.4, dragArea: 0.032 };

const result = evaluateIndividual(family, vehicle);
const hash = await receipt(wltpReceiptPayload(family, vehicle, result));
Returns
const out = {
  declared: 129,
  co2: 129.2962,
  position: 0.5311,
  phases: [140, 129, 111, 141],
  range: { span: 15.77, maximum: 27.338, verdict: 'ok' },
  receipt: '9948ea6941e46cd93386e040815bfaaed9d7a701174887e9e81788bb06f828ea',
};

The call and the numbers come from the engine that built this page, run on the same input as the plate above. The family is illustrative and has 1,801 speeds in its cycle. The position is the share of the way from vehicle L to vehicle H. Values are rounded to four places for display. The receipt hashes the unrounded numbers.

Runs on

  • Browser
  • Edge
  • Node.js
  • Python
  • JVM
  • .NET
  • Excel
  • Command line
  • Container

Green surfaces are measured on every build of this site. Each must return the same receipt, bit for bit. The others are packaged targets that the build does not measure. How the platform works

Changes

When the rule moves, so does the engine

Publications that touch this regime, and the release that answered each.

  1. UNECE Final text

    Amendment to UN GTR No. 15 on the interpolation method

    Shipped as WLTP 1.7, 8 days later

Open the full feed

The next step

Bring us
one book

A scoping call, a sample book and a parallel run on your data. Most teams have the first reconciled number inside two weeks, and a receipt for it on the day.

Book a demo Work out a price