Physics of diving · jrowing.com

Decompression Models Compared

Bühlmann ZHL-16C, RGBM, VPM-B, and the legacy USN tables — what the algorithms actually disagree about, and why it matters at depth.

0 m —— —— 10 m —— —— 20 m —— —— 40 m —— —— 60 m
Important safety disclaimer. This page and the simulator below are produced for educational purposes only. The models implemented here are simplified approximations of published algorithms — they are useful for developing intuition about how different decompression theories behave, but they have not been validated against clinical data or dive-computer implementations and must not be used for actual dive planning. Decompression sickness (DCS) can cause permanent injury or death. Always plan dives using a properly certified dive computer or validated planning software, follow the training guidance of a recognised agency (PADI, BSAC, SSI, TDI, IANTD), and never dive beyond your training or certification level. The author accepts no responsibility for decisions made on the basis of information presented here.

Why do dive computers disagree?

Put two divers in the water with different computers after an identical dive profile and you may surface to find their deco obligations differing by ten minutes or more — different first-stop depths, different shallow-stop durations, different total ascent times. This isn't a calibration error. It reflects genuinely different theories about what happens to dissolved and free gas in the body during ascent.

Decompression science rests on a disarmingly simple observation made by John Scott Haldane in 1908: nitrogen dissolves into body tissues under pressure and must be allowed to come back out slowly enough that bubbles do not form. The argument that has continued ever since is about how bubbles form, whether preventing them entirely is even possible, and which tissues matter most. The models below represent roughly a century of increasingly sophisticated attempts to answer those questions.

What follows is a physicist's tour of the four main families of decompression algorithm in recreational and technical diving, followed by an interactive simulator that lets you compare their deco obligations under identical conditions.

Four families, four philosophies

Bühlmann ZHL-16C
+ Gradient Factors
Dissolved-gas model. Tracks N₂ in 16 tissue compartments. Gradient factors add a configurable safety margin above the original M-values.
RGBM
Reduced Gradient Bubble Model
Hybrid dissolved/bubble model (Wienke, 1990). Penalises fast compartments and carries a bubble-memory term across surface intervals.
VPM-B
Varying Permeability Model
Full bubble-mechanics model (Yount & Hoffman). Tracks critical bubble nuclei radii. Tends to prescribe deeper, shorter stops vs. Bühlmann's long shallow stops.
USN Tables
Haldanean / legacy
Original dissolved-gas approach. No gradient factors, no bubble correction, full washout assumed at surface. The most permissive — and historically associated with elevated DCS rates on repetitive dives.

The dissolved-gas foundation: Bühlmann ZHL-16C

Albert Bühlmann at the University of Zurich spent decades refining Haldane's original two-tissue model into the 16-compartment system that most modern dive computers are ultimately descended from. Each compartment has a characteristic half-time — from 4 minutes (fast, representing blood-rich tissues like brain and spinal cord) to 635 minutes (slow, representing joints and fatty tissue). Nitrogen uptake and elimination in each compartment follows a simple exponential law:

Schreiner equation: P(t) = Pi + (P0 − Pi) · e−kt, where k = ln2 / t½

Each compartment is allowed to carry a maximum nitrogen partial pressure — its M-value — defined by two coefficients a and b specific to that compartment. The ceiling is the shallowest depth at which any compartment exceeds its M-value.

The weakness of raw Bühlmann is that the original M-values were derived from experimental dives and arguably sit close to the edge of clinical safety. Gradient factors, introduced by Erik Baker in the 1990s, address this by scaling the M-values down. GF Low controls how conservatively the first stop depth is set; GF High controls how much supersaturation is permitted at the surface. A GF of 45/85 is a common conservative recreational setting. GF 100/100 is the unmodified algorithm.

Adding bubbles: RGBM

Bruce Wienke's Reduced Gradient Bubble Model, adopted by Suunto dive computers, keeps the dissolved-gas compartment structure but adds a correction term that reduces the effective M-values based on the depth and duration of the dive. The underlying idea is that bubble nuclei — microscopic gas pockets that exist in tissue even at rest — grow during ascent and are harder to suppress on long, deep dives. Crucially, RGBM does not reset this bubble memory fully at the surface: a short surface interval leaves persistent nuclei that make the second dive more dangerous than the first even after tissues have partially off-gassed. This is physically correct and is one of the clearest practical differences between RGBM and Bühlmann.

Bubble mechanics: VPM-B

The Varying Permeability Model, developed by David Yount and David Hoffman at the University of Hawaii, abandons the dissolved-gas framework for the ascent phase entirely. Instead of asking "how much nitrogen is dissolved?", VPM asks "what is the critical radius below which a bubble nucleus will collapse rather than grow?" The answer depends on the tension in the bubble wall — modelled as a surface with varying permeability. VPM-B tends to prescribe a deeper first stop than Bühlmann but allows a faster ascent through the shallows, because it determines that shallow stops do less work than the dissolved-gas model predicts. Technical divers often report that VPM-B profiles feel smoother physiologically, though the evidence base is limited.

The legacy baseline: USN tables

The original US Navy tables and their descendants use M-values without any gradient-factor modification or bubble correction. They assume that nitrogen washout during a surface interval is governed entirely by tissue half-times — no bubble persistence. On single, short recreational dives they perform reasonably well. On multi-dive days they are known to underestimate risk: the bubble nuclei generated on dive one are simply not accounted for. This is partly why the DCS incidence data collected from military and commercial diving using USN procedures exceeded what Haldane's theory predicted.

Key differences at a glance

PropertyBühlmann + GFRGBMVPM-BUSN
FrameworkDissolved gasDissolved + bubbleBubble mechanicsDissolved gas
First stopGF-dependentDeeper (bubble penalty)DeepestShallowest
Shallow stopsLong (GF-dependent)ModerateShorterLong
Repetitive divesTissue half-times onlyBubble memory persistsIncreased nucleationHalf-times only (no bubble)
GF equivalentGF Lo / GF HiBuilt-in (~GF 75/85)No GF (nucleation offset)GF 100/100
Used byMost modern computersSuunto, some MaresShearwater (optional)Legacy tables, some military
Interactive simulator

Compare the models yourself

Adjust depth, time, gradient factors, and surface interval. Enable a second dive to see how bubble memory and residual nitrogen diverge across the models.

Dive 1
Dive 1 profile
40 m
30 min
Shared parameters
21%
9 m/min
Bühlmann gradient factors
45%
85%
45/85 = conservative recreational · 100/100 = raw Bühlmann · 30/70 = technical conservative
Active models
Decompression stops
Total decompression time
Residual tissue loading carried into dive 2 (% of M-value)
Enable dive 2 to see residual nitrogen carried across the surface interval.
Simulation notes: all models use ZHL-16C tissue half-times and a/b coefficients with Schreiner-equation integration. RGBM applies Wienke-style bubble-nucleation M-value reductions, larger on fast compartments, with an exponentially decaying bubble-memory term across the surface interval. VPM-B applies a critical-radius nucleation offset, largest on fast compartments, independent of GFs. USN uses unmodified Haldanean M-values with full surface washout assumed. These are physically-motivated approximations — not validated implementations of the published algorithms. Results are indicative only and must not be used for dive planning.

What to look for in the simulator

Gradient factors and first stop depth. With GF Low set conservatively (say 30–45%), Bühlmann places its first stop deep — you can see the profile stairstepping far from the surface. Raising GF Low toward 100% pushes the first stop shallower until, at GF 100/100, it reproduces the original Bühlmann ceiling with no safety margin. GF High controls how much supersaturation is allowed as you approach the surface: lowering it lengthens shallow stops significantly.

RGBM versus Bühlmann on a single dive. On short, shallow dives the two models often agree closely, because the bubble-nucleation penalty is small. Increase depth and bottom time and RGBM's effective M-value reductions grow: you will see its first stop appear deeper and its total deco time lengthen relative to Bühlmann. This is the intended behaviour — RGBM is conservative precisely because it penalises the conditions that generate more bubble nuclei.

VPM-B and deep first stops. VPM-B often places its first stop deeper than both Bühlmann and RGBM, but compensates with shorter stops in the 6–9 m range. The total deco time may be similar but the profile shape is characteristically different: less time spent hanging at 3–6 m.

Repetitive diving and bubble memory. Enable dive 2, set a short surface interval (under 60 minutes), and compare RGBM against Bühlmann on the second dive. Bühlmann's deco obligation on dive 2 is governed entirely by the residual tissue loadings from dive 1 — you can see these in the tissue-loading chart. RGBM adds a bubble-memory penalty on top of this that does not wash out with the nitrogen: even if the tissues are partially clear, the algorithm treats the second dive as more dangerous. This is arguably the most physically important difference between the two approaches for recreational divers who do multiple dives in a day.

A note on the USN baseline. The USN model consistently requires the least decompression. It is tempting to interpret this as "safer" — it means less time hanging in the water — but the logic is inverted. Less deco means less margin. The historical DCS incident data from military and commercial dive programmes using USN procedures is part of why both bubble models and gradient factors were developed in the first place.

The underlying equations

All four models agree on tissue loading during the bottom phase, because they all use the same exponential saturation equation. The disagreement is entirely in how they define the maximum permissible supersaturation during ascent.

In Bühlmann, the ceiling for compartment i at ambient pressure Pamb is determined by the M-value line: Pi = ai + Pamb / bi. The gradient factor scales this: the permitted tissue tension becomes GF·ai + Pamb / bi, which is always below the M-value. The ceiling is the shallowest depth at which all 16 compartments satisfy this inequality.

RGBM modifies ai by multiplying it by a bubble factor BF < 1 that is a function of the dive's depth–time product. The effect is identical to applying a lower GF Low — but the value of BF is determined by the algorithm, not the diver.

VPM-B replaces the M-value constraint with a condition on the critical bubble radius rc: a bubble nucleus survives ascent if the gas tension exceeds the pressure required to collapse a bubble of radius rc. In practice this produces a compartment-specific offset to the permissible supersaturation that is largest for fast compartments — hence the deeper first stop.

The tissue loading chart in the simulator shows, for each ZHL-16C compartment, what fraction of its M-value is occupied after the bottom phase. Red bars indicate compartments close to saturation — typically the fastest compartments (4–27 minute half-times) on short deep dives, and the slower ones (100–300 minute half-times) on very long dives.

If you want to go deeper

  • Bühlmann, A.A. (1984). Decompression–Decompression Sickness. Springer. The primary source for ZHL-16 tissue parameters and M-values.
  • Baker, E.C. (1998). Understanding M-values. Immersed Vol.3 No.3. The original gradient-factor paper — freely available online and highly readable.
  • Wienke, B.R. (1990). Reduced gradient bubble model. International Journal of Biomedical Computing, 26(4), 237–256. The RGBM source paper.
  • Yount, D.E. & Hoffman, D.C. (1986). On the use of a bubble formation model to calculate diving tables. Aviation, Space, and Environmental Medicine, 57(2), 149–156. VPM original publication.
  • Mitchell, S.J. & Doolette, D.J. (2009). Selective vulnerability of the inner ear to decompression sickness in divers with right-to-left shunts: the role of tissue gas supersaturation. Journal of Applied Physiology, 106(1), 298–301. On bubble formation in real tissues.
  • Pollock, N.W. (ed.) (2011). Diving and Hyperbaric Medicine — Selected Proceedings. Divers Alert Network. Accessible collection covering decompression theory and accident analysis.