← User Guide

Deco Engine Validation

Dive Tools' Bühlmann ZHL-16C + Gradient Factor engine was cross-checked against three independent, industry-standard references - Subsurface, MultiDeco and Shearwater - across 15 reference dive profiles. Of every tool pair tested, Dive Tools shows the tightest agreement with any independent reference (92% vs Shearwater).

3
independent reference tools
15
reference dive profiles
92%
agreement with Shearwater
(best of any tool pair)

Decompression algorithms are not a single fixed answer - even widely trusted planners disagree with each other, especially on secondary metrics like CNS oxygen toxicity. Rather than claim Dive Tools is "correct", this page shows where it sits relative to the tools technical divers already rely on, with every number open for inspection.

What was tested

15 profiles spanning the full operating range: recreational air, technical trimix to 90 m, multi-level, closed-circuit rebreather (CCR) at fixed setpoint, and a CCR bailout-to-open-circuit scenario. Each profile was run identically in all four tools:

The references: Subsurface (open-source desktop planner), MultiDeco (Erik Baker's commercial planner, the canonical implementation of his Gradient Factor and oxygen-toxicity work), and Shearwater (Perdix dive computer planner - the de-facto technical-diving standard). The only profile not modellable in the Shearwater planner is the multi-level dive; the other 14 - including the CCR bailout, via the Perdix native bailout function - are all run.

Tolerance bands

A check passes when Dive Tools is within: Runtime ±2 min or ±5% · First stop ±3 m (one stop interval) · CNS ±10% · OTU ±15%. Total time-to-surface is reported for context but not graded - the tools define it slightly differently.

How closely the tools agree with each other

The most honest test is not "Dive Tools vs one reference" but how every tool agrees with every other. Below is the pairwise agreement across all shared metrics, within the tolerance bands above.

Tool pairRuntimeFirst stopCNSOTUOverall
Dive Tools - Shearwater12/1413/1312/13-37/40 (92%)
Dive Tools - MultiDeco15/1512/148/1515/1550/59 (85%)
Dive Tools - Subsurface13/1513/148/1515/1549/59 (83%)
Subsurface - MultiDeco14/1512/148/1515/1549/59 (83%)
MultiDeco - Shearwater12/1411/136/13-29/40 (72%)
Subsurface - Shearwater10/1412/136/13-28/40 (70%)

Each cell: profiles in agreement / profiles compared. Shearwater has no OTU and one fewer profile (the multi-level dive is not modellable in its planner).

Dive Tools - Shearwater (92%) is the closest agreement of any pair in the field - closer than Subsurface and MultiDeco are to Shearwater (70% and 72%), and closer than Subsurface and MultiDeco are to each other (83%). Dive Tools sits centrally: on no metric is it the lone tool disagreeing with three agreeing references.

Pass rate against each reference

ReferenceProfilesChecks passedPass rate
Shearwater (Perdix)1438 / 4192.7%
MultiDeco1551 / 6085.0%
Subsurface1550 / 6083.3%
Combined-139 / 16186.3%

Per-profile results

Every profile, every metric, all four tools. Bottom gas, deco gases and bailout gases (with switch depths) are noted on each row. The Dive Tools column is highlighted. "none" = no decompression stop required; "-" = not reported by that tool (Shearwater has no OTU; OTU and the multi-level profile are outside the Shearwater planner).

Runtime (min)

ProfileDTSSMDSW
Air 18 m / 30 min (NDL)32323132
Air 30 m / 25 min51485053
Air 40 m / 30 min · deco EAN50@21m67676871
TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m52515354
TMX 18/45 60 m / 25 min · deco EAN50@21m, O₂@6m82818182
TMX 10/70 90 m / 20 min · deco TMX 21/35@42m, EAN50@21m, O₂@6m141147144132
Multi-level Air 30→18 m736975-
CCR EAN32 30 m / 60 min82818082
CCR TMX 21/35 45 m / 45 min999997101
CCR TMX 18/45 70 m / 30 min127127123128
CCR TMX 10/70 100 m / 25 min224230220224
CCR bailout 70 m / 30 min · bailout TMX 15/55@70m, EAN50@21m, O₂@6m144147145147
GF 30/70 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m52525354
GF 40/85 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m47474748
GF 50/85 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m47464647

First stop (m)

ProfileDTSSMDSW
Air 18 m / 30 min (NDL)nonenonenonenone
Air 30 m / 25 min12121212
Air 40 m / 30 min · deco EAN50@21m18212121
TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m21212421
TMX 18/45 60 m / 25 min · deco EAN50@21m, O₂@6m33303330
TMX 10/70 90 m / 20 min · deco TMX 21/35@42m, EAN50@21m, O₂@6m54546051
Multi-level Air 30→18 m969-
CCR EAN32 30 m / 60 min129129
CCR TMX 21/35 45 m / 45 min21212421
CCR TMX 18/45 70 m / 30 min39394239
CCR TMX 10/70 100 m / 25 min60606660
CCR bailout 70 m / 30 min · bailout TMX 15/55@70m, EAN50@21m, O₂@6m42394239
GF 30/70 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m21212421
GF 40/85 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m18212118
GF 50/85 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m15211815

CNS (%)

ProfileDTSSMDSW
Air 18 m / 30 min (NDL)444-
Air 30 m / 25 min6666
Air 40 m / 30 min · deco EAN50@21m20202121
TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m30433829
TMX 18/45 60 m / 25 min · deco EAN50@21m, O₂@6m51776247
TMX 10/70 90 m / 20 min · deco TMX 21/35@42m, EAN50@21m, O₂@6m8714911174
Multi-level Air 30→18 m788-
CCR EAN32 30 m / 60 min46454446
CCR TMX 21/35 45 m / 45 min55555356
CCR TMX 18/45 70 m / 30 min70716771
CCR TMX 10/70 100 m / 25 min124129121124
CCR bailout 70 m / 30 min · bailout TMX 15/55@70m, EAN50@21m, O₂@6m9114511283
GF 30/70 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m30493829
GF 40/85 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m26413325
GF 50/85 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m26413124

OTU

Shearwater's planner does not report OTU.

ProfileDTSSMDSW
Air 18 m / 30 min (NDL)676-
Air 30 m / 25 min171817-
Air 40 m / 30 min · deco EAN50@21m586060-
TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m676872-
TMX 18/45 60 m / 25 min · deco EAN50@21m, O₂@6m109110112-
TMX 10/70 90 m / 20 min · deco TMX 21/35@42m, EAN50@21m, O₂@6m175189187-
Multi-level Air 30→18 m171817-
CCR EAN32 30 m / 60 min121119117-
CCR TMX 21/35 45 m / 45 min147145141-
CCR TMX 18/45 70 m / 30 min188186178-
CCR TMX 10/70 100 m / 25 min331338319-
CCR bailout 70 m / 30 min · bailout TMX 15/55@70m, EAN50@21m, O₂@6m187193191-
GF 30/70 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m677172-
GF 40/85 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m606364-
GF 50/85 · TMX 21/35 45 m / 25 min · deco EAN50@21m, O₂@6m596261-

DT = Dive Tools, SS = Subsurface, MD = MultiDeco, SW = Shearwater. Gas switch depths in metres. Bottom gas precedes the deco/bailout list.

Where the tools disagree - and why that's expected

Runtime, first-stop depth and OTU agree tightly across all four tools. The visible spread is concentrated in two places, both well understood:

What this is - and what it is not

This is an implementation cross-check: it shows Dive Tools computes the same schedules as established planners under identical settings. It is not a medical guarantee, a physiological safety certification, or a promise that any computed plan is safe for you.

Decompression is inherently uncertain and individual. No algorithm - Bühlmann or otherwise - guarantees you will not be bent. Agreement between tools confirms the maths is implemented correctly; it does not validate the underlying model against your physiology, workload, temperature, or hydration. Always plan conservatively, build in margin, and treat any planner's output as a starting point for judgement, not a contract.

Dive Tools is provided as-is, without warranty of any kind. By using it you accept that the author is not liable for any outcome of using the information it provides. If you find a discrepancy that affects safety, please report it so the fix benefits everyone.