Bühlmann vs. DSAT: A Practical Guide to Dive Computer Algorithms
Update on Nov. 5, 2025, 11:53 a.m.
A dive computer is the most critical piece of safety equipment a scuba diver owns. Beyond tracking depth and time, its primary function is to execute a complex mathematical equation—a decompression model—to protect the diver from Decompression Sickness (DCS).
However, not all dive computers calculate this risk in the same way. Different manufacturers and even different models offer various algorithms, each based on a distinct philosophy for managing physiological risk. Among the most common and debated are the decompression models derived from Bühlmann and DSAT.
This article provides a technical breakdown of these two foundational algorithm philosophies, their practical implications for divers, and how they are implemented in modern computers.
The Physiological Problem: Decompression Sickness
To understand any algorithm, one must first understand the problem it solves: Decompression Sickness (DCS).
As a diver descends, the ambient pressure increases. Per Henry’s Law, this increased pressure forces inert gases (primarily nitrogen) from the breathing gas to dissolve into the body’s blood and tissues. This on-gassing process is generally harmless during the descent and bottom phase of the dive.
The danger arises during ascent. As ambient pressure decreases, the dissolved nitrogen must come back out of solution and be transported by the blood to the lungs, where it is exhaled. If the ascent is too rapid, the pressure reduction outpaces the body’s ability to eliminate the gas. This can cause the nitrogen to form bubbles directly in the tissues or bloodstream—a phenomenon analogous to opening a shaken bottle of soda. These bubbles can cause DCS, a serious condition with symptoms ranging from joint pain and skin rashes to neurological damage and death.
A dive computer’s algorithm is a mathematical attempt to model this “silent” nitrogen uptake and release.
What is a Decompression Algorithm?
No computer can perfectly mirror human physiology. Instead, it uses a decompression model to estimate the theoretical gas loading in the body.
These models are based on the work of John Scott Haldane, who conceptualized the body as a series of theoretical “tissue compartments.” These compartments do not correspond to specific anatomical parts but rather represent tissues that absorb (on-gas) and release (off-gas) nitrogen at different rates.
- Fast Tissues (e.g., blood) saturate and desaturate quickly.
- Slow Tissues (e.g., dense connective tissue, bone) saturate and desaturate very slowly.
The algorithm continuously calculates the theoretical nitrogen pressure in each of these compartments based on the diver’s current depth and time. Its goal is to provide a “No-Decompression Limit” (NDL)—the amount of time a diver can stay at a given depth before a direct ascent to the surface is no longer considered safe, requiring mandatory decompression stops.
The fundamental difference between algorithms lies in how they define “safe”—specifically, how much theoretical gas loading (supersaturation) they permit in each compartment before and during ascent. This has led to two dominant “families” or philosophies: DSAT and Bühlmann.
Pillar 1: The DSAT (Spencer/Powell) Model
The DSAT (Diving Science and Technology) model is one of the most widely used in recreational diving. Its origins are linked to the work of Dr. Raymond Powell and Dr. Michael Spencer, and it formed the empirical basis for the PADI Recreational Dive Planner (RDP) tables.
- Philosophy: The DSAT model is heavily based on empirical data from thousands of real-world, no-decompression, recreational dive profiles.
- Basis: The research sought to find the limits (depth and time) at which divers could dive without showing symptoms of DCS.
- Practical Result: Because it was developed by and for the recreational, no-stop diving community, the DSAT algorithm is often considered well-suited and “liberal” (i.e., providing longer NDLs) for standard, single, or multi-day recreational profiles.
The Pelagic DSAT algorithm, found in computers like the Oceanic OCi, is a direct implementation of this philosophy. It is optimized for the type of diving most recreational divers do.
Pillar 2: The Bühlmann (ZHL-16) Model
The Bühlmann model, named after its creator, Swiss physician Dr. Albert A. Bühlmann, is a purely theoretical and mathematical model. The most common version is the ZHL-16 (Zürich-Limmat-Haldanian, 16 compartments) algorithm.
- Philosophy: Unlike DSAT, Bühlmann’s model was not limited to recreational no-stop data. It was designed as a comprehensive, physics-based model to calculate decompression schedules for all types of diving, including deep, long, altitude, and technical decompression dives.
- Basis: It is based on calculating the theoretical maximum tolerable supersaturation (M-value) for each of the 16 tissue compartments.
- Practical Result: The Bühlmann model is generally considered more conservative than DSAT. For the same dive profile, it will typically yield shorter NDLs and, if decompression is required, longer or deeper stops.
The Pelagic Z+ algorithm is an implementation based on the Bühlmann ZHL-16C dataset, designed to provide a more conservative profile for divers who prefer a larger safety margin or are conducting more demanding dives.
The Technical Difference: M-Values vs. Gradient Factors
The “conservative vs. liberal” description is an oversimplification. The real difference lies in how these models manage the ascent.
-
M-Values (The “Ceiling”): Bühlmann’s original model defined an “M-value” for each tissue compartment. This is the “Maximum” tolerable pressure of dissolved nitrogen in that tissue at a given depth. As long as the tissue pressure stays below this M-value, bubble formation is considered unlikely. The ascent profile is calculated to keep all 16 tissues below their respective M-value “ceilings.”
-
Gradient Factors (GF) (The “Adjustable Ceiling”): The M-value line is a fixed limit. In reality, divers wanted to control how close they got to that limit. This led to the modern implementation of Bühlmann models: Gradient Factors (GF).
Gradient Factors allow the diver to set their own conservatism. It is expressed as two numbers, e.g., GF 30/85:
- GF Low (30%): This is the “deep stop” setting. It tells the computer to start the decompression (or “slow down” the NDL calculation) when the tissue pressures reach 30% of the M-value. This forces earlier, deeper stops to manage fast tissues.
- GF High (85%): This is the “shallow stop” / surfacing setting. It dictates the diver’s tissue loading upon surfacing, allowing it to be no more than 85% of the M-value. This manages the slow tissues.
A diver setting GF 30/85 is demanding a very conservative dive, while a diver setting GF 80/85 would be more aggressive (though still more conservative than the original Bühlmann 100/100).
While a standard recreational computer’s “Pelagic Z+” mode may not allow the user to manually adjust the GF values, its “conservative” nature is achieved by implementing a pre-set, conservative Gradient Factor (e.g., GF 40/85) under the hood, whereas the Pelagic DSAT model adheres more closely to its empirically-derived NDLs.
Case Study: Algorithm Choice on the Oceanic OCi
The existence of these two distinct philosophies is why some advanced dive computers, such as the Oceanic OCi, feature Dual Algorithm™ technology.
This feature gives the user direct control over the decompression model. A diver can choose:
1. Pelagic DSAT: For typical recreational profiles, potentially yielding longer bottom times.
2. Pelagic Z+: For a more conservative profile, suitable for repetitive diving, deeper dives, cold water, or for divers who simply prefer a larger, mathematically-derived safety margin.
This choice is not trivial. An algorithm is the “brain” of the computer, and switching between them can have significant effects on decompression obligations, especially on repetitive dives.

Beyond the Core Algorithm: Other Critical Factors
The decompression model is central, but it interacts with other functions and settings that a diver must manage.
- Gas Mixture (Nitrox): Using Enriched Air Nitrox (EANx) means breathing gas with less nitrogen (and more oxygen). The computer’s algorithm (both DSAT and Bühlmann) accounts for this, resulting in a lower nitrogen uptake and thus longer NDLs. Advanced computers, like the OCi, can manage multiple gas mixes (e.g., a bottom gas and a high-oxygen decompression gas), allowing the algorithm to optimize off-gassing during ascent.
- Air Integration: A computer’s ability to be “Wireless Air Integrated” (as listed for the OCi, though requiring a separate transmitter) links the algorithm to gas supply. It allows the computer to calculate not just NDL, but also “Gas Time Remaining” (GTR) based on current breathing rate, providing a more practical limit to the dive.
- Environmental Adjustments: All reliable algorithms must account for the environment.
- Altitude: Diving at altitude (e.g., a mountain lake) means starting with lower atmospheric pressure. All models must be “altitude-aware” to adjust their calculations, as surfacing at altitude is more physiologically stressful than at sea level.
- Water Type: Selecting “Salt” vs. “Fresh” water ensures the pressure sensor provides an accurate depth reading, which is the foundational input for all algorithmic calculations.

Conclusion
There is no single “best” or “safest” dive computer algorithm. Both the DSAT and Bühlmann families of decompression models have been used to conduct millions of safe dives.
The DSAT (e.g., Pelagic DSAT) model is an empirically-based, proven model optimized for recreational, no-stop diving.
The Bühlmann (e.g., Pelagic Z+) model is a more conservative, mathematically-derived model that is highly versatile and forms the basis for most modern technical diving calculations via Gradient Factors.
The choice of algorithm depends on the type of diving planned, personal risk tolerance, and physiological factors. The most critical component is not the algorithm itself, but the diver’s understanding of the tool they are using and their commitment to diving well within its limits.