jump to navigation

Decompression December 3, 2008

Posted by Chris Sullivan in Technical Diving.
Tags: , , , , , , , , , , , , , , , , , , , , , , , ,

I’ve put in a lot of posts about dive computers, throwing in terms like Haldanian, Buhlmann, compartments, gradient factors and so on, and have probably left a lot of people behind. Thanks to Wikipedia, The Rubicon Foundation, DAN, the Internet in general, IANTD and even PADI I’ve been able to educate myself a lot on these subjects over the past couple of years, to the point where I can rattle this stuff off and leave even my instructors behind. Fortunately they’re still a lot more skilled than I under water.

So rather than try and write another treatise on decompression algorithms, I’m going to give a few pointers and hints to any like-minded person who wants to understand this stuff a little better. Most recreational divers never delve into these issues, nor do they have to. Their table or computer tells them how long they can stay at a particular depth, and as long as they obey the instructions (and hopefully keep generally fit, avoid dehydration and excessive alcohol) they will not get bent. For technical diving, where obligatory decompression is required, we need to understand the whole subject in somewhat more depth.

First, let’s talk about your standard decompression tables. The US Navy tables that most of us old geezers learned on were based on work by a bunch of people throughout diving history, but are basically a refinement of the work done by Haldane at the turn of the 20th century. The tables themselves were developed by the United States Navy Experimental Diving Unit, and were successively refined over the years (and still are). Various versions, some based on newer theory and and experimental data (i.e. sending humans into the water to see if they get bent or have a lot of bubbles in their bloodstream), have been developed by DSAT (for PADI), and other organizations, including the famous and respected but apparently little used DCIEM tables from the Canadian Armed Forces.

J.S. Haldane developed a theory of decompression that is still predominant. The decompression schedules he came up with are mostly too aggressive to be considered safe today, but the theory, supported by experiments on animals (mostly goats), was his most important contribution. It proposed a half-time model that assumes that the rate of absorption or off-gassing of Nitrogen (or any other inert gas like Helium) is proportional to the difference in pressure between the surroundings (“ambient presssure”), and the body. This means that at any constant ambient pressure, after a period of time, half of the difference in pressure will be made up, then after that same period of time again, another half of the difference is made up, and so on. It turns out that this is a nice, easy calculation for a computer to make. Because different parts of the body absorb Nitrogen at different rates, Haldane invented theoretical “tissue compartments” that cover a range of possible absorption rates, but don’t necessarily correspond to a specific part of the body, but by using enough of these compartments, a reasonably workable model of the body can be calculated. From there decompression calculation is simply a matter of making sure that the pressure in the body doesn’t exceed the ambient pressure by too much, by making decompression stops if necessary. The exact amount of overpressure that is allowed and the best half-times for each compartment have been the subject of much study over the years.

Some of that was done by Robert Workman of the US Navy Experimental Diving Unit, and a lot more by Albert Bühlmann in the eighties. In particular, Bühlmann developed a set of half-times and pressure maxima (called M-Values) in a 16 tissue compartment model that have gained wide acceptance for use in decompression software and dive computers. There are also tables that are derived from his work.

Eric Baker added a refinement to make the Bühlmann calculations even more conservative by introducing “Gradient Factors“. These increase both the time and depth of stops, and are simple to implement in software. The Shearwater Pursuit computer, among others, allows the specification of Gradient Factors to make your dive more conservative. Mr. Baker is a big fan of “deep stops” (you can probably guess that I’m a big fan also), which are short decompression stops at greater than usual depths to allow compartments with shorter half-times to off-gas a bit. Many divers I know make guesses at when to do these, and let their computers figure out the rest.

Then came the bubble models. The ones I’ve heard about are the Variable Permeability Model (VPM) and the Reduced Gradient Bubble Model (RGBM). I don’t know a lot about these yet, save for the fact that they try to model the behaviour of a bubble inside the tissue compartments, and come to some different conclusions about the appropriate decompression schedule.

As I’ve mentioned before, I’m somewhat biased against RGBM, not for its performance, which I know little about, but for its opacity. The algorithm appears to be proprietary to, and a secret of, Mr. Bruce Wienke, so I’m choosing to ignore it in favour of well-regarded and openly published calculations of other models.

My mission now is to understand the bubble models better, and maybe have a crack at writing some code to implement Bühlmann with Gradient factors for my own amusement. It would be nice to be able to design my own planning software, although I imagine as usual I’ll run out of time for projects like that. I’d rather be diving anyway.



1. deepstop - February 2, 2009

I should add to my conclusions in the second paragraph that you can do everything right and still get bent. Doing everything the way you should makes the probability of getting bent low, but not zero.


2. Keith O - October 10, 2009

I think we are out of the same mould – more keen than good and a tad diletant iro deco theory. My reading, like yours has just scratched the surface and even with 3 years of maths at varsity – I have difficulty in following some of the derivations of some of the more complicated algorithms. It obviously wasn’t meant for lesser mortals such as we.
A quick correction – Workman is credited as first defining M-values for the US Navy, Buhlman determined a and b coefficients as limiters in his ZH-L16 model.

There are essentially 3 classes of model:

1. Dissovled gas models
2. Free gas models
3. Probabalistic models

As you pointed out Haldane kicked it all off when he antagonised a whole bunch of goats around the turn of the century – his dissolved gas model formed the basis of most deco theory right up until Workman and Buhlman. However, Dissolved gas models can be broken into two further groups, the parrallel and the serial models. As you have pointed out Workman and Buhlman championed the parrallel model with compartments and half-times and still predominate the dive tables market to this day. However, the serial model as proposed by Kidd and Stubbs from DCIEM, which considered that only blood comes into direct contact with inert gases is highly rated along side Dr Tom Hennessy who use a similar model to produce the BSAC 88 tables. However, I am not aware of any dive computer manufacturer using either model.

The second major grouping is the Free gas models such as VPM(Varying permeability model) from Yount and Hoffman and RGBM(Reduced gradient bubble model) from Bruce Weinke. Weinke admits that his model is derived from VPM but diverges regarding the permeability of gas microneuclei under pressure. Also since he sold it to Suunto – he has made it proprietary unlike Maeken and Baker (V-planner) who took Yount’s work and published their tables and programs all over the place. What is common in the body of work is the preference for deep stops to reduce bubble creation unlike Haldanean which prescribes maximising pressure gradients to enhance off-gassing. Both VPM and RGBM have gained traction in Tech diving circles with IANTD using VPM and NAUI Tech going RGBM.
V-planner is being widely used in the tech community irrespective of the organisation the divers belong to.

The final class is the Probabalistic model which introduced binomial probabality into the mix. This model seeks to predict DCS based on it’s prevalence across all models. It has been used on top of many models to give certainty factors to empirical data collected over the years. Its good to know for example that by using the US Navy tables you have a 1.3% probability of getting DCS and that its 90% accurate. Good to know when your diving 500kms from the nearest hyperbaric chamber.

Hence all models have added concervatism knobs or switches such as prescribed ascent rates, safety stops or surface interval rules. In some models and computers you can select your own levels of conservatism e.g. in Buhlman based computers deciding to go with 80% of limits etc.

But for the bulk of us diving with PADI, NAUI or SSI – the no-stop tables are what we learnt and then forgot once we bought our first computer. PADI thinks they invented diving and hence if you do your DM with them and read the Encyclopedia of Recreational Diving – they only consider DSAT’s view of the world.

Another approach to Deco modelling are the hybrid models. Where people have attempted to take the best bits of a number of theories and blend them into something. a system called Departure is available which appears to use 3 separate models in one program. The truth is that no models are true to their maths. All have been modified through gathering empirical evidence. If the model yields an unacceptable level of DCS through trials its limits or deco profile is modified. Hence the similarities in all tables and computers.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: