decompression
How Decompression Models Work
How a dive computer turns invisible gas into a number you can trust.
May 28, 2025 · 14 min read
Ascent · tissue tension vs depth
What the computer is actually counting
Strap a dive computer to your wrist and it shows you a depth, a time, and a number that says how long you can stay or how long you must wait before coming up. That last number feels like a measurement, like it read something off your body. It didn't. There's no sensor reading the nitrogen in your blood. What the computer is really doing is keeping a ledger, a running tally of how much inert gas (the nitrogen, or helium on trimix, that your body absorbs but doesn't use) it thinks has dissolved into you, based on where you've been and how long you stayed.
A decompression model is exactly that: a bookkeeping system. It is not a map of your real tissue. The most widely used one, Bühlmann ZHL-16C, splits your body into 16 imaginary "compartments" and tracks the gas tension (the pressure of dissolved gas) in each. This article is about what those compartments are, what defines them, and how the model decides the moment it's safe for you to ascend. That last part matters because the ascent is the dangerous part of a dive: come up faster than your tissues can shed their gas and it can bubble out of solution, which is decompression sickness. The model exists to prevent exactly that.
Get comfortable with one idea up front and the rest follows easily: every number the computer shows you is the output of a model, not a reading of reality. The model is good. Knowing it's a model is what lets you use it well instead of obeying it blindly.
Compartments are math, not organs
The first thing students trip over: the "16 compartments" are not 16 body parts. There is no compartment that is your liver, none that is your brain. They don't correspond to real organs at all. They're a mathematical convention: 16 numbers that each load and unload gas at a different speed, chosen to span the range of speeds real tissue covers.
Real tissue does absorb nitrogen at wildly different rates. Blood takes on gas fast because it's flushed with circulation. Fat and joints take it on slowly because little blood reaches them. So instead of trying to model your actual anatomy, which nobody can measure mid-dive, Haldane and everyone after him did something cleverer: they defined a spread of hypothetical compartments, each with one property, a speed. If you cover the full range of plausible speeds, you've bracketed how any real tissue might behave, without ever pretending to know which compartment is "really" your spinal cord.
It still helps to carry a loose mental picture, as long as you hold it loosely. The fast compartments behave like the well-supplied parts of you (blood, brain, spinal cord), places circulation reaches in seconds, so they fill and empty quickly. The slow compartments behave like fat, joints, and bone, where blood barely trickles, so they load and unload over hours. The model isn't claiming compartment 2 is your brain. But "fast = richly supplied with blood, slow = starved of it" is the right instinct for everything that follows.
Half-times: the speed of each compartment
So what is that "speed"? It's the half-time, the single property that defines a compartment.
A half-time is how long a compartment takes to close half the gap between where it is now and where it's heading. Drop to a new depth and the gas pressure your tissues are heading toward jumps up. A compartment with a 10-minute half-time gets halfway there in 10 minutes. In the next 10 it covers half of what's left, now 75%. Another 10, and it's at 87.5%. It keeps halving the gap, never quite arriving, but after about six half-times it's over 98% of the way and we just call it full.
Each half-time closes half the remaining gap
Across ZHL-16C's 16 compartments, the nitrogen half-times run from 4 minutes to 635 minutes. The fast end fills and empties in the time it takes to do a safety stop (a few minutes); the slow end is still quietly loading hours into a dive and still off-gassing (shedding gas) the next day. That split is the whole reason this matters: your fast tissues drive the start of an ascent and short, deep dives, while your slow tissues drive long dives, repetitive days, and how long you should wait before flying (a plane's low cabin pressure pulls gas out of you faster). Helium half-times are roughly 2.65 times faster than the matching nitrogen ones, because helium is a smaller, lighter molecule that diffuses more quickly.
Numbers on a page are one thing; watching them move is another. The widget below is a tissue-loading model you can play with. Drag the depth and bottom time and watch the compartments fill, and notice how the fast ones slam up toward the line almost immediately while the slow ones are still crawling along well after the fast ones have topped out.
Tissue loading by half-time
Inspired nitrogen pressure: 4.0 bar
Fast tissues fill (and later clear) quickly; slow tissues lag. Your ascent has to wait for whichever tissue is closest to its limit — which is the whole reason decompression exists.
M-values: how full is too full
Loading gas isn't the danger. You can dissolve a lot of nitrogen into a tissue and be perfectly fine as long as it stays dissolved. The danger is on the way up. As you ascend, the pressure around you drops, and a tissue that's holding more gas pressure than its surroundings is supersaturated, primed to fizz gas out of solution into bubbles, the same way a soda bottle sits quietly under its cap and fizzes the instant you crack it: the pressure was what kept the gas invisibly dissolved. Bubbles in the wrong place are decompression sickness.
So each compartment needs a limit: the most gas tension it can hold at a given depth before bubbling gets likely. That limit is the M-value. Robert Workman defined it in 1965 at the US Navy's diving unit, and the key insight was that the limit rises with depth: the deeper you are, the more absolute supersaturation a tissue tolerates, because the surrounding pressure is squeezing back. In its simplest form:
M = M₀ + ΔM × depth
M₀ is the limit at the surface and ΔM is how fast the limit climbs as you go deeper. The version baked into Bühlmann's tables uses two coefficients per compartment, usually written a and b (a sets the intercept, b sets the slope), but it's the same straight line dressed up for computation. Crucially, every compartment has its own limit. Fast tissues are allowed to carry proportionally more supersaturation than slow ones before the model calls them risky.
Different tissues, different limits
The ceiling: where all of this becomes one number
Now the payoff. At every instant, the computer has 16 gas tensions and 16 M-value lines. For each compartment it asks: given how loaded this one is, what's the shallowest depth where it would still sit at or below its M-value? Whichever compartment gives the deepest answer wins. In plain terms: every compartment names the shallowest depth it can personally tolerate right now, and the computer obeys the most cautious of those sixteen answers, the deepest one. That's your ceiling, the shallowest depth you're currently allowed to ascend to. The compartment setting it is called the leading or controlling compartment, and it changes over the dive: a fast one leads early in the ascent, a slow one might take over later.
One of sixteen sets your ceiling
Set a dive below, then move the clock forward from the moment you leave the bottom. The diver climbs in stages, holding at each deco stop until the tissues off-gas enough to clear the next one, and the compartment holding you there hands off from a fast tissue to a slower one. That staircase is the shape of a real decompression ascent.
The ceiling · ride it to the surface
—
Set a dive, then move the clock forward from the moment you leave the bottom. Each bar is the inert gas dissolved in one tissue, its saturation, fast tissues on the left and slow ones on the right. The bars fall as you off-gas. The short red tick on each bar is that tissue's limit (its M-value), and the grey line is the pressure around you. A tissue is supersaturated when its gas column rises above that line, and your ceiling is the depth where the controlling tissue's column just reaches its limit. Watch the limit hand off from fast tissues to slow ones as the fast ones drain.
The computer recomputes the whole thing (all 16 loadings, all 16 M-values, the resulting ceiling) every couple of seconds. When the ceiling is at the surface, you have no obligation. When it's at 6 metres, that's your stop. The single "deco at 6 m" number on your wrist is the visible tip of that constant 16-way comparison.
If you want to go deeper on how divers deliberately stay below the raw M-value for margin, that's the job of gradient factors. And if you want the physical story of the bubbles the M-value is trying to prevent, see bubble trouble.
Three things the model is not telling you
The model is good and it's earned its place. But it's quietly making promises it can't fully keep, and a thinking diver knows where those edges are.
The M-value is not a cliff. It's a tuned statistical limit, fitted to dive outcomes, not a physiological line where bubbles switch on. Staying below it does not guarantee you won't get bent (suffer decompression sickness), and a brief excursion above it does not guarantee you will. It's a margin built from population data, not a personal safety switch, which is exactly why we add conservatism on top of it rather than diving right up to the raw number.
The compartments aren't real, so don't reason about "your fat tissue." It's tempting to say "my slow compartments are loaded so my joints are full." The compartment is math. It brackets behaviour; it doesn't locate gas in a body part. Treat the loading bars as the model's confidence, not as a scan.
Your physiology isn't in the model at all. A patent foramen ovale (a small opening between the heart's chambers that roughly one adult in four has), cold, dehydration, hard work, age, sex: none of these appear anywhere in ZHL-16C. The model assumes a generic, well-behaved diver in ideal conditions. Everything that makes you not that diver is risk the algorithm cannot see, which is why two people on the identical profile don't carry identical risk.
The honest summary
A dive computer doesn't measure your nitrogen; it bookkeeps it. Sixteen imaginary compartments, each defined only by a half-time from 4 to 635 minutes, each carrying its own M-value ceiling that rises with depth. Every few seconds the computer reloads all 16 and asks how shallow it can let you go, and the most-loaded compartment writes the ceiling. It's a clean, century-tested piece of accounting. The skill isn't memorising the equations; it's remembering they describe a model: a careful, conservative, deliberately imperfect stand-in for a body it can never actually see. Use it as a sharp tool and a humble one, and it will serve you for thousands of dives.
Keep reading
- Gradient factors: how divers add margin below the M-value
- Bubble trouble: what the M-value is really trying to stop
- Safe ascents: on- and off-gassing in plain language
References
- Baker EC. Understanding M-values. Immersed. 1998;3(3).
- Workman RD. Calculation of Decompression Schedules for Nitrogen-Oxygen and Helium-Oxygen Dives. US Navy Experimental Diving Unit Research Report 6-65, 1965.
- Bühlmann AA. ZH-L16 decompression algorithm. University Hospital Zürich.
- Doolette DJ, Mitchell SJ. Recreational technical diving part 2: decompression from deep dives. Diving and Hyperbaric Medicine. 2013;43(2):96–104.
Tissue compartments and M-values sit under every dive I plan and every tech course I teach. If you want to learn the model with someone who'll show you its edges, not just its outputs, come dive with me.
Common questions
How does a dive computer calculate decompression?
It models your body as 16 imaginary tissue compartments, each loading and unloading inert gas at a different speed. Every few seconds it updates all 16 and checks each against its M-value limit; the most-loaded one sets your ceiling, the shallowest depth you may ascend to.
What is an M-value?
An M-value is the most supersaturation a tissue compartment can carry at a given depth before the model treats bubbling as likely. It rises with depth, and every compartment has its own.
Are the 16 tissue compartments real body tissues?
No. They are a mathematical convention, 16 speeds chosen to bracket how real tissue behaves. Compartment 1 is not your blood and compartment 16 is not your bones; they are stopwatches, not organs.
Share this post