目录

Deco engine

MultiDeco test results

Pick a scenario and compare the Dive Kit deco engine against the MultiDeco mobile app, side by side. MultiDeco is a mature planner that many divers trust, and we use it as a second opinion rather than an answer key. Every scenario behind the how Dive Kit compares to MultiDeco write-up is published here in full, so you can check the numbers yourself.

我们与 MultiDeco 移动应用(iOS 和 Android)进行对比——这是许多技术潜水员已在使用的规划工具。此处所有 MultiDeco 数据均来自该移动应用。我们未测试桌面版,因此不对其作任何声明。完全相同的数字并非目标:运行同一模型的两个引擎在主观判断上会有细微差异,因此目标是在关键物理规则上达成一致,并解释每一处差异。为便于对比,Dive Kit 栏在每个场景中均使用整分钟停留模式运行,因为 MultiDeco 同样显示整分钟。气体密度是唯一与温度相关的读数:Dive Kit 按计划中的水温计算密度,本页每个场景均以默认的 15 °C 运行。2.9.0 版本把 Dive Kit 的梯度系数线锚定在你的组织实际到达的深度,而不是其上方的 3 m 停留,从而在每个更浅的停留处收紧这条线。它在两项数值上缩小了差距,在第三项上略微拉大。四个场景的首次停留深了一个 3 m 步距,四个全都朝 MultiDeco 靠拢,另有 22 个没有移动,也没有一个背离。减压总时间在全部 14 个发生变化的场景上都朝 MultiDeco 靠拢。上升至水面时间在六个场景上差距缩小,在八个场景上差距拉大,原因是那八个里有六个 Dive Kit 本来就比 MultiDeco 跑得更长,增加减压时间只会把它推得更远。2.10.0 版本改变了这条线在多深度段潜水中的悬挂位置。它现在挂在整个水底阶段最深的减压天花板上,而不是上升开始那一刻所处的天花板上,因此最后一段比前面某一段更浅的计划,减压时间比 2.9.x 少 1 到 5 分钟,单段计划则没有变化。这让本页两个多深度段场景 A1 和 P1 各自朝 MultiDeco 靠近了一分钟:A1 的上升至水面时间现在与 MultiDeco 的 22 分钟相同,P1 的首次停留现在是 24 m,对应 MultiDeco 的 27 m,相差一个 3 m 步距,而此前两者是一致的。我们在下方公布每个场景的输入参数、MultiDeco 的输出结果和 Dive Kit 的输出结果,且相同场景在我们的自动化测试套件中持续运行,任何使这些数字发生变化的改动都会在测试中显现。

S1

Air 30 m / 23 min, GF 30/70 (salt)

减压区在 1 个减压步长内 氧中毒计时器吻合
在 Dive Kit 中打开此方案

由 Dive Kit 引擎 v2.2.7 生成。该链接加载精确输入参数,应用将还原你在此处看到的表格。更高版本的应用可能使某个数值略有变化;我们会尽力保持这些页面的时效性。

本次潜水

一次潜水 · 两款规划工具

30 m × 23 min · Air

梯度系数
30/70
水域
海水
最后停留
3 m
气体
Air
▸ 各应用的配置方式

MultiDeco

  • 输入水底时间 25 min(含下潜时间)
  • 上升速度 9/6/3 m/min(深段/减压段/水面段)
  • 底部气体按剖面段固定;减压气体单独列出

Dive Kit

  • 水底时间(下潜时间单独计算)
  • 两速率上升 9/3 m/min,在 3 m 切换
  • 剖面与气体列表分开维护;减压气体按 MOD 自动选择

同一次实际潜水,按各工具原生输入方式录入。这就是部分数据分布略有不同而物理规律一致的原因。

指标 MultiDeco Dive Kit Δ 吻合度
减压区起始点 (m) 21 20.7 -0.3 吻合
首次停留 (m) 12 12 0 吻合
上升至水面时间 (min) 22 24 +2 吻合
CNS (%) 6 6 0 偏保守
OTU 18 18 0 偏保守
气体密度 (g/L) 4.8 4.9 +0.1 偏保守

✓ 表示在该指标的文档容差范围内。"≈" 标记有意为之、已作解释的差异(例如停留分布,或 Dive Kit 更保守的氧中毒计时器)。请参见下方共同解释;这从不是错误。

▸ 完整逐停留计划

MultiDeco

深度停留累计时间气体
12 m1 min2821
9 m3 min3121
6 m4 min3521
3 m11 min4621

Dive Kit

深度停留累计时间气体
12 m3'30'21
9 m4'34'21
6 m6'41'21
3 m7'48'21

差异原因

完全吻合。此处差异属于常见的已记录惯例(停留分布和气体密度参考偏移)。请参见共同解释。

差异逐一说明

查看器中每个场景的说明注释均指向以下这些共同解释。

上升速度匹配 我们让 Dive Kit 以和 MultiDeco 相同的上升速度运行,这样比较才公平。决定第一停留位置的深段速度,两款工具都是 9 m/min。

在这些运行中,Dive Kit 与 MultiDeco 以相同的速度上升。决定第一停留落在哪里的是深段上升,也就是从水底升到第一停留的这一段,两款工具都是 9 m/min,所以这部分是同条件比较。在 S 系列和 FS 系列潜水中,MultiDeco 在较浅的停留之间走得比 Dive Kit 略慢(6 m/min),但这不改变第一停留的落点。我们直接验证过:把深段速度对齐之后,第一停留的差距依然不变,所以它来自 Dive Kit 在你上升过程中重算组织的方式,而不是上升得更快或更慢(见 general/stopDistribution)。

减压区起始点 Decozone start is GF-independent by design. On a single-level dive it matches MultiDeco within about one deco step; on a multi-level dive that ends shallow the two read very differently, because they are measured at different moments. That is a definition difference, not a model error.

Dive Kit computes a 'decozone start', the depth where your decompression obligation begins. We use it here as a clean cross-check; it is not shown in the app. It is the deepest depth where a tissue's total inert-gas pressure (nitrogen plus helium) passes the surrounding pressure, and it does not depend on your gradient factors, because gradient factors move the M-value line, not the ambient line. You can see this in the data: S2 (GF 30/70) and S7 (GF 50/80) are the same 45 m / 22 min air dive and both show 32.3 m, even though their first stops differ (21 vs 15 m). On the single-level scenarios Dive Kit lands within about one 3 m step of MultiDeco, at most 3.6 m, on the deepest high-helium CCR dive, C3. The multi-level scenarios split into two groups, and the split says exactly what the difference is. Dive Kit reads the decozone from the tissue state at the END of the bottom phase; MultiDeco appears to read it at the deepest point of the dive. Where the dive ends deep the two agree: W4 finishes on a 40 m level and reads 25.8 m against 25 m. Where it ends shallow they do not, because the shallow level has already off-gassed the fast compartments by the time Dive Kit measures: P1 reads 35 m against 45 m, W1 18.6 m against 50 m, W2 24.4 m against 58 m, W3 17.4 m against 45 m, W7 15.2 m against 21 m, and W5, whose last level is 6 m, 7 m against 28 m. None of this moves a stop. The operational first stop on those same dives is at most one 3 m step apart, 24 m against 27 m on P1 and 18 m against 21 m on W3.

停留分布 Dive Kit's first stop can be shallower than MultiDeco's. The total decompression is close; it just sits at different depths.

MultiDeco lists a short stop at almost every 3 m step from the deepest stop up, often well under a minute. Dive Kit holds fewer, longer stops and skips the deepest ones, so its first listed stop is shallower (S6: 39 vs 48 m; S5: 30 vs 33; FS5: 24 vs 27). Both tools agree on the deepest depth where you owe a stop. They differ on the way up: Dive Kit recomputes all your tissues every second as you climb, the way the computer on your wrist does, so it counts the gas you breathe off during the climb itself. Helium leaves the fast tissues quickly, so on a helium dive the ceiling drops faster than you climb, and there is nothing to stop for in those first few metres. The gap is biggest on deep, high-helium dives (9 m on S6, C3 and A2, 3 m on S5 and FS5) and at most one 3 m step on air and nitrox. The total time to surface stays within a few minutes either way (S6 85 vs 81, S5 48 vs 45, FS5 43 vs 42, A2 55 vs 56), and Dive Kit's leading tissue still reaches the surface exactly at your GF-High, so it never shortcuts your decompression. Compare total time to surface, not the depth of the first stop. The gap narrowed in 2.9.0: Dive Kit now anchors its gradient factor line at the exact depth your tissues reach rather than at the stop above it, which tightens the line at every shallower depth. What that moved, quantity by quantity. First stops stepped one 3 m level deeper on four scenarios, every one of them toward MultiDeco (S6 36 to 39 m, S5 27 to 30, FS5 21 to 24, A3 24 to 27); the other 22 did not move, and none moved away. Total decompression time moved toward MultiDeco on all 14 scenarios where it changed at all, and the remaining 12 stayed where they were. Time to surface is the mixed one: it narrowed on six (A4, A5, A6, FS2, FS5, S7) and widened on eight (S5, S6, FS1, FS4, A1, C1, G1, P1). Widening is what you would expect there. On six of those eight Dive Kit's time to surface already sat above MultiDeco's before the change, so adding decompression time pushed it further out (S5 from 0.3 to 2.3 min above, S6 from 1.6 to 3.6). On A1 the two matched exactly and Dive Kit now runs a minute longer; on C1 Dive Kit sat 0.2 min under and now runs 0.8 over. A dive with a long 6 m last stop is still the axis where Dive Kit holds the 6 m stop shorter (see A4 and A5); since ENGINE_VERSION 18 that still makes A5 finish sooner, while on A4 the extra time at the deeper stops outweighs it.

CNS 计算基准(环境 PPO₂) Dive Kit uses ambient ppO2 for CNS (the NOAA limits with Baker's ambient-pressure method).

CNS oxygen-toxicity % is accumulated against the NOAA exposure limits using the AMBIENT ppO2 (fO2 x absolute pressure), with no alveolar water-vapour subtraction. This is Erik Baker's published method and matches Shearwater, Garmin and Subsurface; it reads slightly higher than a water-vapour-reduced value. It runs ~1-3% higher than MultiDeco on most dives, and noticeably higher when a high-ppO2 deco gas sits right at a steep bracket of the NOAA curve (see S6).

换气上限 Each gas switches at a depth set by its oxygen content (caps 1.4/1.5/1.6 bar). These match MultiDeco's switches within one stop.

Dive Kit caps each gas by its oxygen content: a lean mix (under 28% oxygen) at 1.4 bar, a mid mix (28 to 45%) at 1.5, a rich mix (45% or more) at 1.6. The same cap sets both the switch depth and the hyperoxia warning. MultiDeco caps gases the same way, so at its default 1.4/1.5/1.6 the switches on the single-level scenarios match exactly: Tx21/35 at 57 m, Tx35/25 at 33 m, EAN50 at 21 m and oxygen at 6 m. Until ENGINE_VERSION 18 Dive Kit took the first two one stop shallower (54 and 30 m), because it would not let a gas sit even slightly over its cap; it now counts a gas as breathable while its ppO2 is at most 0.03 bar over the cap, which also keeps the 6 m oxygen stop (1.62 bar in salt) usable in every water type. The multi-level P1 is the exception: Dive Kit takes its Tx35/25 at 33 m and MultiDeco at 27 m.

深度段与天花板 Version 2.10.0 removed the line between the bottom phase and the decompression phase. A dive level placed shallower than the current ceiling is now reached by running the decompression down to it, and a gas change between two levels happens where that gas is safe to breathe.

Before 2.10.0, an ascent between two of your own dive levels was a plain two-stage ascent with no ceiling check, and the decompression phase only started after the last level. A level planned above the current ceiling was therefore reached by flying through every stop owed on the way. Those stops are now woven into the dive: the engine plans that ascent properly, inserting the stops between the two levels and making the gas switches those stops call for, and the level's own gas takes over on arrival. A profile point can sit anywhere, including inside the decompression. Which gas an inter-level leg is breathed on follows one rule in both directions. Going deeper you switch before you descend, at the depth you are already at, because the deeper level's gas is the leaner one and there is no later moment at which it could safely be taken up. Coming shallower you ascend on the gas you are already breathing and switch when you arrive, because the shallower level's gas is the richer one and is only safe once you are shallow. At the same depth you switch in place. The gas switch time is spent where the switch happens, on the gas you are leaving. The W series is built on exactly this: W1 through W6 each place a level shallower than the ceiling standing at the end of the leg before it, and W7 is the control that does not. MultiDeco was captured on six of the seven in September 2026, and it weaves too. On W2, W3 and W5 it inserts the owed stops in front of the level exactly as Dive Kit does, starting at the same 36 m on W2. Where it differs is which gas those stops are breathed on: MultiDeco holds the gas the diver was already on until the level is reached, while Dive Kit takes the next mix up at the depth where that mix first meets its ppO2 cap, which shortens the woven stops and raises the oxygen exposure. The mirror case is W4's descent back to 40 m: Dive Kit swaps off the EANx50 at 21 m before going down, MultiDeco carries it to 40 m and reads 96 % CNS for the dive against Dive Kit's 42 %. W6, the rebreather scenario, weaves in both tools as well, holding its two pre-level stops on the loop at the dive's setpoint rather than switching off it, and Baltic, the third planner captured on W6, weaves there too, holding three pre-level stops on the loop in the same way and starting them one stop deeper. Every other scenario here, the A, S, FS, C, P, G and R series, reaches each level with an ordinary ascent and no table of theirs moves with this change.

气体密度 Gas density is computed at your plan's water temperature, 15 °C by default. Before rounding, Dive Kit reads 2.1 to 4.1 percent above MultiDeco across every scenario MultiDeco has been run on, averaging about 3.

Gas density tells you how hard the gas is to move through your airways. It is a reference reading, not an output of the decompression model. Dive Kit scales the ideal-gas figure by the water temperature in your plan's Environment settings, because a colder gas is denser, and the default is 15 °C (59 °F), the EN/ISO reference the app already uses for its real-gas cylinder tables. Every density figure in these tables is computed at that default, and printed to one decimal place, as the app prints it. Measured against MultiDeco across all 33 scenarios that have a MultiDeco density capture, Dive Kit's unrounded figure reads between 2.1 and 4.1 percent higher, averaging about 3 percent, and it is the higher of the two on every single one. The narrowest gap is A3, 5.3 g/L against 5.2, and the widest is A1, 4.8 against 4.6; the deepest reading in the set is A6 at 8 against 7.7. About half a point of that gap is new in ENGINE_VERSION 18, which converts depth to pressure with the physical water density: salt water at 9.95 m per bar and fresh water at 10.20 read a little more pressure at the same depth than the old 10.0 and 10.3, so every density here rose by 0.2 to 0.9 percent. Part of that spread is simply MultiDeco reporting density to one decimal place. Before version 2.9.0 Dive Kit fixed the reference at 0 °C, which read 7 to 9 percent above MultiDeco, so every figure here is about 5 percent lower than the 2.8.7 tables. The two limits did not move with it: 5.2 g/L for the caution and 6.2 g/L for the critical flag are published figures (Anthony and Mitchell, 2016), not model outputs, so a warmer reading reaches them a little deeper. Five scenarios changed how they are flagged as a result: S4, FS4 and A2 drop from critical to caution, and FS3 and FS5 fall below the caution line entirely. ENGINE_VERSION 18 puts FS3 back over it, at 5.3 g/L, for the fresh-water reason above; FS5, at 5.1, stays under. Temperature affects the density reading and the warning that hangs off it, and nothing else. The Bühlmann model has no temperature term, so not one stop time in these tables moves with it.

耗气量(升) Litres used depend on your breathing rate, so this is not a comparison of the deco math. Rebreather bailout now splits across two rates.

Gas consumption depends entirely on the breathing-rate (SRMV/SAC) settings, which are a user preference and not an output of the decompression model. Dive Kit's figures here use 20 L/min working and 15 L/min deco, so absolute litres differ from a MultiDeco run configured with a different SAC. Match the rates before comparing litres. From version 2.9.0 an open-circuit bailout off a rebreather is charged in two phases instead of one: the leg from the depth you bail out at down to the first deco stop runs at your Working SRMV, because swimming up off the loop is work, and everything from the first stop onward runs at your Deco SRMV. That is MultiDeco's own convention. It raises the bailout gas figure and leaves the schedule untouched. None of the 26 scenarios here carries a bailout cylinder (the three CCR dives are pure loop decompression at a constant setpoint), so the split changes no number in these tables. Also from 2.9.0, the minute the diver spends purging a regulator when the profile changes gas between levels is billed to the cylinder they switch to, at the Working SRMV, instead of being dropped: the tissue model always counted that minute, and now the gas tally does too. Only P1 changes a number here, because it is the only scenario whose levels change cylinder (a travel-gas descent that switches from Tx35/25 to Tx18/45 at 30 m), and its Tx18/45 figure rose by 79 L, from 3985 L to 4064 L, or 3 bar. Every schedule was unchanged. ENGINE_VERSION 18 then moves P1's switch onto Tx35/25 from 30 to 33 m (see P1), and the Tx18/45 figure settles at 4054 L.

CCR 呼吸回路减压 CCR (rebreather) loop deco matches MultiDeco closely. CNS and OTU are near-exact, decozone within a step.

Pure-loop CCR deco (constant setpoint 1.3, no open-circuit switches) holds up well across air, trimix and deep high-helium diluents (C1 to C3): CNS within 1 percentage point (28/27, 38/37, 54/53), OTU within 5 units (73/70, 102/99, 145/140), and time to surface within a minute (20/19, 45/44, 79/78, Dive Kit's rounded up to the next whole minute). Decozone is within one 3 m step except on the deep 80 m high-helium dive C3 (65.6 vs 62, the same wider spread seen on the deep trimix dive S6). The first listed stop is shallower than MultiDeco, the usual stop-distribution effect on a helium diluent (see general/stopDistribution). Gas density runs about 3% higher, the usual water-temperature offset (see general/gasDensity). CCR is also covered by our automated tests.

新增的引擎输入项 2.9.0 版本为引擎新增了三个规划输入项和一个输出项。在这些运行中它们全都保持默认值,因此只有水温会改变已公布的数字。

交叉参考中的每个场景都以新输入项的出厂默认值运行,所以你读到的仍然是此前表格描述的同一次潜水。上升前延迟是在上升起始深度上的一次停留,时长为离底之前真正解决问题所需要的分钟数。这是在深度上真实流逝的时间:组织继续吸收惰性气体,CNS 与 OTU 继续累积,上升至水面的时间也随之增加。它默认为零,因此这里的每个场景都是立即开始上升。应激窗口是在麻烦开始之后、在一段设定时间内或一直到水面所采用的更高耗气率。它只改变气量核算,从不移动任何停留。它默认关闭。水温只服务于气体密度读数,别的什么都不影响,而且每个场景都以 15 °C 的默认值运行(见 general/gasDensity)。第四项新增的是输出而不是输入:引擎现在会报告每个深度段结束时剩余的免减压时间,按计划的 GF-High 读取。MultiDeco 的采集数据中没有对应数值,因此下方的对照表不显示它;它出现在应用内以及引擎的机器可读输出中。

conventions Planners that use the 1 bar = 10 m convention read MOD and switch depths slightly differently; Dive Kit uses 1.01325 bar and physical water density (see Conventions).

Dive Kit converts depth to pressure from the real surface pressure (1.01325 bar at sea level, lower at altitude) with metres per bar derived from water density and g: fresh 10.20, EN 13319 10.00, salt 9.95, Red Sea 9.92. A gas counts as breathable while its PPO₂ is at most 0.03 bar over its cap, and the MOD it reports is the exact depth where the PPO₂ meets the cap. Where a note here quotes a Dive Kit figure next to another planner's, that difference is part of what the two numbers measure. Dive Kit's figures are printed the way the app prints them: run time, time to surface, decompression time and every Run value rounded up to the next whole minute (never shorter than the plan), CNS and OTU to the whole number, gas density to one decimal. The other planners' figures are the ones those planners show.

自行验证

你无需相信我们的一面之词。将这些场景原样输入 Dive Kit 和 MultiDeco 移动应用,与上方数据进行比对。我们在此公布完整数据集:每个场景的输入参数、两款工具的输出结果以及场景专属说明。由于 Dive Kit 栏使用整分钟模式(应用默认设置)运行,两栏均显示整分钟停留时间。

通过场景 ID 关联四个文件。Dive Kit 引擎为专有软件,但此处每条输出均可通过在应用中执行相同潜水来复现。对比建立在数据之上,而非依赖信任。

The full write-up covers how the cross-check is run, where the two planners agree and differ, and a step-by-step trace of the deep-stop difference: see How Dive Kit compares to MultiDeco.

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