Skip to main content
ExplainerDive TechExplainer· 6 min read· in Travel

The Bühlmann ZHL-16C Algorithm: How Dive Computers Calculate No-Decompression Limits

The mathematical model powering modern dive computers relies on 16 theoretical tissue compartments to prevent decompression sickness, but customizable safety buffers mean the exact same algorithm can produce vastly different ascent profiles.

By Kabir Mehra

Technical Divers 40%Recreational Agencies 35%Clinical Researchers 25%
Technical Divers
Advocate for manual control over decompression profiles using Gradient Factors to force deeper stops.
Recreational Agencies
Prioritize conservative, automated safety margins to protect infrequent vacation divers from decompression sickness.
Clinical Researchers
Rely on empirical man-trials rather than purely theoretical models to determine safe ascent profiles.

Perspectives this story doesn't cover

  • Commercial Dive Operators
  • Hyperbaric Medicine Physicians

Summary

  • The Bühlmann ZHL-16C algorithm calculates decompression limits using 16 theoretical tissue compartments.
  • Gradient Factors allow divers to customize the algorithm's safety margins by artificially lowering the maximum tolerated gas pressure.
  • Dive computer manufacturers implement the same core mathematics but apply vastly different default safety buffers.
  • Recent clinical data challenges the technical diving practice of using low Gradient Factors to force deep decompression stops.

One diver surfaces after a 40-minute descent to a wreck, their wrist computer clearing them for immediate ascent. Their dive buddy, floating right beside them on the exact same profile, stares at a screen demanding a mandatory 15-minute decompression stop at 20 feet. To the first diver, the algorithm is a flexible tool that safely maximizes bottom time by trusting modern dissolved-gas models. To the second, who manually dialed in conservative gradient factors, that same underlying mathematics is a baseline that requires strict safety buffers to prevent micro-bubble formation in slow tissues. Both are relying on the exact same Bühlmann ZHL-16C algorithm, yet they are experiencing two entirely different realities in the water.

In the oppressive silence of a deep dive, the human body undergoes an invisible but relentless physics experiment. As ambient pressure increases, inert gases—primarily nitrogen—dissolve into the bloodstream and tissues. During ascent, as that pressure drops, those gases must safely exit the body. If the pressure drops too rapidly, the nitrogen comes out of solution and forms bubbles, leading to decompression sickness. Managing that ascent is the primary job of a dive computer, and for the vast majority of technical and recreational divers today, the mathematical engine making those life-or-death decisions is the Bühlmann ZHL-16C.

Originally developed in the 1960s by Dr. Albert A. Bühlmann, a Swiss physician specializing in respiratory physiology at the University of Zurich, the model was designed to simulate how the human body absorbs and releases inert gas. The 'ZH' in the name stands for Zurich, the 'L' denotes the linear nature of the oversaturation limits, and the '16' represents the number of theoretical tissue compartments the algorithm tracks.[2]

These 16 compartments do not correspond to specific organs, but rather to mathematical half-times ranging from 4 minutes to 635 minutes. Fast tissues, like the blood and brain, absorb and release nitrogen quickly. Slow tissues, like cartilage and bone, take hours to saturate and just as long to clear. The algorithm continuously calculates the nitrogen pressure in all 16 compartments simultaneously, comparing them against a maximum tolerated supersaturation limit known as the M-value.[2]

The algorithm tracks 16 theoretical tissue compartments, ranging from fast-absorbing blood to slow-absorbing bone.

The M-value is the absolute threshold. If the nitrogen pressure in any of the 16 compartments exceeds its specific M-value during an ascent, the model predicts that bubbles will form. Therefore, the computer dictates a decompression stop, holding the diver at a specific depth until the gas pressure drops back into the safe zone. For decades, diving right up to the M-value was considered acceptable, but modern physiological understanding has shifted.[2]

"Decompression algorithms are not a single fixed answer - even widely trusted planners disagree with each other," notes the validation documentation from Dive Tools, an independent decompression engine testing platform. The realization that diving to the absolute mathematical limit carried unacceptable risks for many led to the most significant evolution in the Bühlmann model's history: the introduction of Gradient Factors (GF) by engineer Erik Baker in 1998.[4]

Gradient Factors allow divers to artificially lower the M-value, creating a customizable safety buffer. They are expressed as a pair of percentages, such as 30/70. The first number, GF Low, dictates the maximum allowed saturation when the first deep decompression stop occurs. A GF Low of 30 means the diver will be halted when their leading tissue reaches just 30 percent of its theoretical limit, forcing them to stop deeper and earlier.[2]

Gradient Factors allow divers to artificially lower the M-value, creating a customizable safety buffer.

The second number, GF High, controls the safety margin upon surfacing. A GF High of 70 means the diver will not be allowed to break the surface until all 16 tissue compartments have dropped below 70 percent of their maximum M-value. By adjusting these two numbers, a diver can radically alter the shape of their ascent, prioritizing deep stops to control micro-bubbles or extending shallow stops to ensure slow tissues are thoroughly off-gassed.[2]

Gradient Factors artificially lower the maximum tolerated gas pressure, forcing deeper and longer decompression stops.

This flexibility is why two divers on the same wreck can have entirely different decompression obligations. Dive computer manufacturers implement the ZHL-16C mathematics identically, but they diverge wildly on the default Gradient Factors they ship from the factory. A brand catering to recreational vacationers might lock the algorithm behind a highly conservative preset, while a technical computer allows the user to manually input any GF pair they desire.[5]

The US Navy Experimental Diving Unit (NEDU) has extensively tested commercial off-the-shelf algorithms against their own rigorous man-trials. In a validation study published by the National Center for Biotechnology Information, researchers found that the base algorithm required tweaking to match military safety standards. "ZHL-16C could be adjusted to pass all of the tests with GF-Hi <= 70 and GF-Lo >= 55," the researchers concluded.[1]

Despite the NEDU's findings, the technical diving community often favors a GF Low of 30, believing that deeper stops prevent the initial formation of bubbles. However, recent clinical studies have challenged this practice, suggesting that stopping too deep for too long actually continues to saturate the slow tissues with nitrogen, paradoxically increasing the overall risk of decompression sickness by the time the diver reaches the surface.[1]

This debate has led to a schism in how manufacturers approach the algorithm. Some have historically favored proprietary bubble models that automatically mandate deep stops, but have recently integrated the Bühlmann 16 GF algorithm into newer models to satisfy market demand. Others, like Dive Gear Express, offer firmware upgrades that replace the Bühlmann model entirely with the DCIEM algorithm, a different mathematical approach based on serial tissue compartments rather than parallel ones.[3]

By adjusting Gradient Factors, technical divers can manually override the algorithm's factory safety margins.

When Dive Tools cross-checked their own ZHL-16C engine against industry standards, they found a 90 percent agreement rate with Shearwater's implementation across 15 complex dive profiles, including multi-level and closed-circuit rebreather scenarios. This high level of parity confirms that the core mathematics of the Zurich model remain robust and universally understood by software engineers.[4]

Yet, the precision of the math masks the fundamental uncertainty of the biology. The 16 compartments are theoretical constructs, not biological realities. The algorithm does not know if the diver is dehydrated, cold, fatigued, or older—all factors that significantly alter how the human body actually processes dissolved gases under pressure.[5]

The Bühlmann ZHL-16C endures not because it is a perfect biological mirror, but because it is a transparent, predictable framework. Unlike proprietary black-box algorithms, its open mathematics allow divers to understand exactly why their computer is demanding a stop. The algorithm provides the data, but the diver, through their choice of Gradient Factors and their understanding of their own physiology, dictates the final margin of safety.[5]

Definitions

M-value
The maximum theoretical limit of nitrogen supersaturation a specific tissue compartment can tolerate before bubbles begin to form.
Tissue Compartment
A mathematical construct used by the algorithm to simulate how different parts of the body (from fast-absorbing blood to slow-absorbing bone) process inert gases.
Half-time
The amount of time it takes for a specific theoretical tissue compartment to become 50 percent saturated with inert gas at a given pressure.
Decompression Stop
A mandatory pause at a specific depth during ascent, allowing the body to safely off-gas dissolved nitrogen before the surrounding pressure drops further.
Dissolved Gas Model
An algorithm that assumes nitrogen remains dissolved in the tissues as long as the pressure difference stays below a certain threshold, as opposed to bubble models that assume micro-bubbles always form.

Sources

Source coverage

5 outlets

3 viewpoints surfaced

Technical Divers 40%Recreational Agencies 35%Clinical Researchers 25%
  1. [1]PMCClinical Researchers

    Validation of algorithms used in commercial off-the-shelf dive computer

    Read on PMC
  2. [2]Dive-Logs

    Bühlmann ZH-L16C Algorithm Explained — How Dive Computers Calculate Deco

    Read on Dive-Logs
  3. [3]Dive Gear ExpressRecreational Agencies

    Upgrade to DCIEM Deco Algorithm for Shearwater Research

    Read on Dive Gear Express
  4. [4]Dive ToolsTechnical Divers

    Deco Engine Validation

    Read on Dive Tools
  5. [5]Factlen Editorial Team

    Synthesis by Factlen editorial team

    Read on Factlen Editorial Team

Comments

Stay informed

Every angle. Every day.

Get Travel stories with full source coverage and perspective breakdowns delivered to your inbox.