目录

Deco engine

How Dive Kit compares to MultiDeco

How Dive Kit's decompression schedules are cross-checked against MultiDeco, where the two engines agree, and the known, documented differences between them.

最后更新 2026年9月29日

本页内容

What it is

Dive Kit’s deco engine is an independent implementation of Bühlmann ZH-L16C, written from the published papers and equations rather than borrowed from another tool. To check an independent implementation, you compare it against something established. So we run the same dives through Dive Kit and through MultiDeco, a mature planner that many divers use and trust, and line the two up scenario by scenario.

MultiDeco is a useful reference because it is well-established and widely used, not because it is a gold standard. It is another model in another tool, with its own conventions, and we do not treat it as ground truth. The comparison is deliberately narrow: it shows Dive Kit loads gas, places stops, and runs the oxygen clocks the way an independent, established implementation does. Matching MultiDeco does not prove a schedule is safe, and we do not claim Dive Kit is more accurate than any other engine.

How the cross-check is run

Dive Kit and MultiDeco are run side by side on the same scenarios, with the same dive profile, gases, and settings matched as closely as the two tools allow. MultiDeco’s output is recorded by hand. Dive Kit’s output is generated automatically from the real engine by a reproducible pipeline. The results are then compared scenario by scenario.

The comparison is honest in one important way: the two tools are run at the same ascent speeds, so the comparison is fair. The deep ascent speed that decides where your first stop lands is 9 m/min in both tools.

The scenario set

The set covers 33 dive profiles, deliberately spread across the situations the engine has to handle:

  • Air, nitrox, and trimix
  • Single-gas and multi-gas dives
  • Multi-level profiles
  • Levels planned shallower than the ceiling, where decompression is owed before the diver arrives
  • Repetitive dives
  • Closed-circuit rebreather (CCR) and open circuit
  • Salt water and fresh water
  • Sea level and altitude
  • 3 m and 6 m last stops
  • Gradient factors (GF) of 20/75, 30/70, 35/75, 40/80, 50/80, and an extreme 50/50 stress case

Where they agree

Across the scenario set:

  • Gas-switch depths match on standard deco gases (EANx50 around 21 m, oxygen around 6 m). Across all switches they match on 27 of the 33 scenarios; the rest are the woven levels and the in-between trimix switches, both described below.
  • The depth where your decompression obligation first begins agrees closely on every single-level dive, within about one stop step. Multi-level dives that end on a shallow level differ by more, for a documented reason: Dive Kit reads this depth from your tissues at the end of the bottom phase, MultiDeco at the deepest point of the dive. On a multi-level dive that ends deep the two agree again. The operational first stop still matches within one stop step on all of them. This quantity has no stop grid, no rounding, and no gradient-factor choice in it, so it is a clean check that the tissue model loads gas the same way. It is not shown in the app.
  • Total time-to-surface agrees within a few minutes on the large majority of dives. The oxygen clocks (central nervous system oxygen toxicity (CNS) and the pulmonary oxygen-toxicity unit count (OTU)) are counted differently, see below: Dive Kit’s CNS reads the same as MultiDeco’s or higher on 31 of the 33 scenarios, and OTU sits within 5 percent on 27.

Dive Kit’s figures in the published comparison are the ones the app shows: run time and time to surface rounded up to the next whole minute, CNS and OTU to the whole number, gas density to one decimal. MultiDeco’s are the ones MultiDeco shows.

When where decompression begins, when you switch gas, and how much total decompression you owe line up this consistently with an independent engine, that is the signal the implementation is correct. The exact per-scenario figures are in the published comparison.

Where they differ, and why

The differences are deliberate, documented conventions, not disagreements about the physics. We report them rather than hide them.

DifferenceDirection vs MultiDecoWhy
First listed stopOften shallower, on deep helium divesDive Kit integrates off-gassing continuously through the ascent, the way a dive computer does. On helium-rich dives the deep ceiling recedes faster than the diver climbs, so Dive Kit does not list the brief, sub-minute deep stops MultiDeco shows. The total decompression is the same; it is just distributed shallower. Compare total time-to-surface, not first-stop depth.
CNS %Same or higher (more conservative)Dive Kit uses ambient PPO₂ for the CNS clock (Baker’s method). The gap shows most where a high-oxygen gas sits on a steep part of the NOAA curve, and it grows where Dive Kit also takes a richer gas earlier: 182 % against 132 % on the widest. The more conservative number is intentional.
Total time at a 6 m last stopShorter (less conservative)Both tools reach 6 m with the same tissue loading. Dive Kit releases the 6 m hold once it projects the leading tissue will surface at or below GF High, where MultiDeco holds the stop longer. This is the one axis where Dive Kit is the less conservative planner. The gap narrowed in 2.9.0, when the gradient factor line moved to the exact ceiling depth: a 40-metre air dive with a 6 m last stop now holds 58 minutes there against MultiDeco’s 61.
In-between trimix gas switchWithin one deco stepDive Kit caps each gas switch by the gas’s O₂%-band PPO₂ (1.4 / 1.5 / 1.6). Intermediate mixes switch within one deco step of MultiDeco; the small residual is stop-grid snapping.
Which gas a level inside the decompression is reached onRicher, earlierBoth tools weave the owed stops in front of a level you planned shallower than your ceiling. Dive Kit takes the next mix up at the depth where that mix first meets its PPO₂ cap, so those woven stops are breathed on the richer gas; MultiDeco holds the gas you were already on until you reach the level. Dive Kit’s woven stops are therefore shorter and its CNS higher. The mirror case is a level you planned deeper: Dive Kit swaps to the leaner mix before descending, MultiDeco carries the richer one down and reads the oxygen exposure that follows. A third planner, the Baltic Deco Planner, was run on the rebreather scenario as a check on that behaviour, and it weaves there too, holding its pre-level stops on the loop and starting them one stop deeper than either of the other two.
An End of profile bailout plan against the loop plan it came fromSame direction, same time to surfaceOn the rebreather scenario both tools make the bailout schedule SHORTER than the loop schedule it branches off, because open-circuit deco gas at 1.6 bar off-gasses faster than a 1.3 setpoint held all the way up. MultiDeco runs 83 minutes against its own 86, Dive Kit 84 against its own 87. Both leave the loop at 21 m onto the EANx50, with one gas switch there and one onto oxygen at 6 m, and both also put bailout CNS above loop CNS and bailout OTU below loop OTU. Both read 43 minutes to surface. Dive Kit holds 16 minutes at 3 m against MultiDeco’s 17, having spent two billed switch minutes on the way, one at 21 m and one at 6 m, where MultiDeco folds its switches into the adjacent stops. Its run time reads a minute longer because Dive Kit rounds run time up to the next whole minute. The Baltic Deco Planner, run on the same scenario, leaves the loop at the same 21 m onto the same EANx50 and takes oxygen at 6 m, and its stops sit within two minutes of both at every depth. It is the one of the three whose bailout does not come out shorter than its loop plan: both read 86 minutes. Bailed out from the bottom instead, at 60 m, it takes the 21/35 and skips the diluent, which is the richest-usable rule again at a second depth.
Gas density reading2.1 to 4.1 % higher before rounding, on every scenarioBoth tools scale the same ideal-gas formula by a reference temperature, and the reading is a reference figure, not a safety boundary. Dive Kit used to fix that reference at 0 °C, which read 7 to 9 percent above MultiDeco. Water temperature is now a setting (Environment, default 15 °C / 59 °F), and the published cross-reference tables are regenerated at that default. Measured there, Dive Kit’s unrounded figure reads 2.1 to 4.1 percent higher across all 33 scenarios that have a MultiDeco density capture, averaging about 3, and it is the higher of the two on every one. Printed to one decimal, as both tools show it, the narrowest gap is 5.3 g/L against 5.2 and the widest 4.8 against 4.6. Part of that spread is MultiDeco reporting density to one decimal place. Set your water temperature to the one MultiDeco is using if you want to compare like for like. The 5.2 and 6.2 g/L limits stay put in either tool, because they are published figures rather than model outputs.
Gas used (litres)DiffersPurely a function of your breathing-rate (SAC / SRMV) setting, a personal preference, not part of the decompression model. Compare the schedule, not the litres, unless the breathing rates match.
A cylinder that runs drySame by default, optionally differentNeither tool switches gas when a cylinder empties: both keep the schedule on it and report the shortfall, and that is Dive Kit’s default, so the cross-reference tables compare like for like. Dive Kit adds an opt-in When a cylinder runs out → Switch gas, which recomputes the rest of the deco on the best gas you still carry. Turn it on and the schedule is no longer comparable to MultiDeco’s, by design.

Why MultiDeco lists more deep stops

This is the difference people notice first, and it looks alarming until you trace it. The obvious guess, that one engine is simply more conservative, turns out to be wrong. One honest limit on what we can say: we can read our engine line by line, but we cannot see MultiDeco’s code. So what follows describes exactly what the Dive Kit engine does, and what we observe in MultiDeco’s output. We do not claim to know how MultiDeco works inside.

Take the most extreme dive in the data, 80 m on 15/55 trimix (15% oxygen, 55% helium). MultiDeco puts its first stop at 48 m. Dive Kit’s first stop is at 39 m, nine metres shallower. That looks like a real disagreement, so we traced the engine step by step to see where the two split.

They agree on where decompression starts. At the bottom, with the tissues fully loaded, Dive Kit’s GF-Low ceiling sits at 45.9 m, which rounds up to a 48 m stop on the 3 m grid. That is exactly MultiDeco’s first stop. Both engines agree on the deepest stop and the ceiling that sets it; there is no disagreement about where you first owe a stop.

They split on the way up, because Dive Kit keeps recalculating as you climb. Dive Kit does not jump from stop to stop. It recomputes all sixteen tissues every second as you ascend, the same way the computer on your wrist does while you move, so it counts the gas you breathe off during the climb itself, not only the gas you breathe off while parked at a stop. Helium leaves your fast tissues quickly, so on a 55%-helium dive the ceiling drops faster than you can climb. By the time you would reach 48, 45 or 42 m, the ceiling is already below you, so there is nothing to stop for. Dive Kit follows the dropping ceiling up without stopping, and only starts holding at 39 m, where the slower tissues take over and the ceiling settles. From 39 m it then holds longer at each stop than MultiDeco does.

So the total decompression is the same. It just sits at different depths. The way to check that nothing was skipped is the surfacing limit, not the total time: Dive Kit’s leading tissue still reaches the surface at exactly your GF-High, the same limit MultiDeco respects, and total time-to-surface comes within a few minutes either way.

The gap is biggest on deep dives with lots of helium, which is what you would expect: the more helium and the deeper the dive, the more gas your fast tissues breathe off on the way up. It is 9 m on the 80 m / 55% dive and on the 80 m rebreather dive running a 60% helium diluent, 6 m on the 70 m / 45% trimix dive, and one 3 m step on the 60 m and 50 m trimix dives and on the air and nitrox dives, which have little or no helium to drive it.

It is not caused by ascent speed. Both tools run at MultiDeco’s deep rate of 9 m/min. Re-running the 80 m dive at 3, 6, 9 and 12 m/min moves the first stop only between 30 and 39 m, and at the matched 9 m/min it is 39 m, still well shallower than MultiDeco’s 48 m. A faster climb lowers the total time but not the first-stop gap; the gap comes from recomputing every second, not from how fast you climb. It is also not a minimum stop time: the engine imposes none above the last stop, and the first stop sits at 39 m either way.

The published comparison

The full cross-reference is published and interactive, not just summarised. The interactive comparison on the Dive Kit website lets you pick any scenario and see its inputs, MultiDeco’s output, and Dive Kit’s output side by side, with a per-scenario note explaining any difference. Every scenario carries a real Dive Kit share link that loads the exact plan, so you can reproduce any schedule yourself. The comparison stands on the data, not on trust.

Behaviour and limits

  • Matching MultiDeco shows the implementation is faithful to the shared Bühlmann model. It does not prove either tool’s schedule is safe to dive.
  • Bühlmann is a model fitted to data, and decompression sickness is probabilistic. No deco model guarantees safety, and a clean cross-reference does not change that.
  • Where the literature is settled, Dive Kit follows it and cites it. Where there is a genuine modelling choice, it makes a defensible one, documents it, and validates the result against an independent reference. The differences above are those documented choices.

本指南部分内容借助 AI 起草,可能存在错误。内容仅供学习参考,不能替代专业培训。请始终在你的认证范围内潜水,并以仪器读数为准。