Annexes 1


An explanation Professor A A Buhlmannís ZH-L16 Algorithm

By Paul Chapman

The following is a summary of the decompression algorithm described by Dr A A Buhlmann in the fourth edition of his book "Tauchmedizin" (diving medicine) published in 1995 (only in German). The book contains a considerable amount of other information and is published by Springer-Verlag ISBN 3-540-58970-8. Rumor has it that at the time of writing (November 1999) an English translation is being prepared for publishing, so hopefully, in due course, this document will become redundant.

The algorithm is simply a "recipe" for modeling the behavior of inert gasses, which diffuse in and out of our body tissues when breathed under varying pressures. The intention is that if the recipe models the actual processes in our bodies accurately enough, it can be used to plan dives (and other pressure exposures) with a view to avoiding decompression sickness. Itís important to realize that the model is entirely arbitrary in the sense that it in no way represents the actual physical processes which are taking place, it simply attempt to model the real-life results mathematically. This article is intended mainly as a description of the algorithm, not as a complete description of decompression physiology and therefore mentions only physiology principles relevant to the algorithm.



Scottish scientist John Scott Haldane is generally considered the founding father of modern decompression theory. In the last century Haldane experimented on goats in an attempt to find a solution to the problem of "caisson disease", experienced by men working in pressurized bridge and tunnel construction areas. Research suggested that gasses, breathed under pressure by the workers, were diffusing into the bodyís tissues and when these gasses came out, in the form of bubbles in the body, the workers got caisson disease, or what we now call decompression sickness, or "the bends". Haldaneís work led him to consider the body as a group of tissues in parallel. This meant the tissues were all exposed simultaneously to the breathing gasses at ambient pressure, but able to react to them in their own individual ways. No gas transfer from one tissue to another was considered. This principle is still in use and is the basis of many, but not all, current decompression models. The model used in the production of the British Sub Aqua Club BSAC-88 dive tables, for example, used a single block of "tissue" along which gas diffused, while the Canadian DCIEM model uses a range of tissues, but arranged in series - only the first of a range of tissues is exposed to the ambient pressure and gas diffusion takes place from one tissue to the next. Haldane also noticed that the body could tolerate a certain amount of excess gas with no apparent ill effects. Caisson workers pressurized at two atmospheres (10 metres/33 feet) experienced no problems, no matter how long they worked. These two ideas, gas traveling though the body tissues and the theory of a "tolerable overpressure" formed the basis of Haldaneís work. The tricky bit was to model exactly how the gas moved through the body and exactly what amount of overpressure was acceptable and Haldane actually achieved this with considerable success. Others developed Haldaneís ideas over the years. In the mid-1960ís US Navy Medical Corps Captain Robert Workman refined the idea of allowable overpressure in tissues, discounting oxygen and considering only inert gasses in the breathing mix, such as nitrogen and helium. Workmanís maximum allowable overpressure values (what he called "M-values") were more complex than Haldaneís, varying with depth and with tissue type. At around the same time Professor Albert Buhlmann was working on similar research at the University Hospital in Zurich. Buhlmannís research spanned over 30 years and was published as a book, Dekompression - Dekompressionskrankheit in 1983. This book, published in English in 1984, made fairly comprehensive instructions on how to calculate decompression available to a wide audience for the first time and therefore Buhlmannís work became the basis for many dive tables, computers and desktop decompression programs. Three other editions were published, the last in 1995, on which this document is based.


Basic Ideas

Due to differences in perfusion (blood flow), diffusion (rate of gas flow from one place to another) and other factors, the inert gasses we breathe are dissolved into our different body tissues at different speeds. Tissues with high rates of diffusion, which have a good blood supply, build up a gas load more quickly. The blood itself, major organs, and central nervous system fall under this heading and we call them "fast" tissues. Other tissues build up a gas load more slowly. Progressively slower tissues include muscle, skin, fat and bone. Many tissues, through good blood supply, are exposed almost immediately to higher inert gas pressures, while others have to wait for gas to reach them by diffusion from other surrounding tissues. In this sense the body tissues are both serial and parallel. Although a fast tissue will build up a higher inert gas load ("on-gas") more quickly when the pressure increases, it will also be able to get rid of that gas load more quickly than a slower tissue when the pressure drops, a process we call "off-gassing" It is assumed that tissues on-gas and off-gas according to the theory of half-times. Many natural phenomena are described this way, including radioactive decay. The idea is that when a tissue is exposed to a higher inert gas pressure, gas will flow into that tissue. After the "half-time" the pressure of gas in the tissue will be half way to equaling the pressure of the gas outside. After a second half-time, the gas pressure in the tissue will have risen by half of the remaining difference (i.e. by a further quarter), making it 75%, or three-quarters, of the way to equaling the external gas pressure. After a third half-time, the rise is 12.5% (87.5% total) and so on. By this method the pressure in the tissue never quite reaches the same level as the surrounding gas, but after 6 half-times, itís close enough and we say the tissue is "saturated". At this point gas will diffuse into the tissue at the same rate that it diffuses out and the tissue experiences no further overall change in gas load. If the pressure then increases (the diver goes deeper), the tissue will begin to on-gas again. If the pressure reduces, the tissue will off-gas, again following the half-time principle. After six half-times, the tissue will again be "equilibrated" with its surroundings. As well as differing for each tissue, half-times will vary for different gasses, since they diffuse at different rates. For real human tissues nitrogen half-times will vary from a few seconds (blood) to many hours. For helium, half-times are thought to be about 2.65 times faster than nitrogen, since helium diffuses more quickly.

If pressure is reduced by too much on a tissue, the gas will be unable to follow the diffusion route, via the bloodstream, back to the lungs and will form bubbles in the actual tissue, leading to many of the symptoms that we know as decompression sickness. So how much pressure reduction is too much? Itís been shown by experimentation that faster tissues like blood can tolerate a greater drop in pressure than slower tissues, without bubble formation. One of the challenges to Buhlmann in formulating his algorithm was to quantify this difference in a mathematical formula that could be used to help calculate decompression profiles. Weíll look at his solution in a moment.

For his ZH-L16 algorithm Buhlmann chose to split the body into 16 "tissues" and give them a range of half-times, from minutes, through to several hours. Itís important to remember that these are not representing any specific real tissues in the body and the half-times are simply chosen to give a representative spread of likely values. They do not represent actual tissues, or the actual half-times for any particular tissue. For this reason the often-used description of the 16 sections as "tissues" is confusing and they will be referred to in future as "compartments". Buhlmann named his algorithm from Zurich (ZH), limits (L) and the number of M-value sets (16).

When exposed to pressure, each compartment on-gasses according to itís given half time, so at any point we can calculate how much inert gas pressure exists in each compartment. Thereís a standard mathematical form for half-time calculation, Buhlmann made some additions to it to make a complete before/after formula for the inert gas pressure in any given compartment after any given exposure time. Hereís the formula as published in Tauchmedizin, the names of the constants have been changed to make them more understandable in English, but the formulaís the same:

Pcomp = Pbegin + [ Pgas - Pbegin ] x [ 1 - 2 -te/tht ]


Pbegin Inert gas pressure in the compartment before the exposure time in bar

Pcomp Inert gas pressure in the compartment after the exposure time in bar

Pgas Inert gas pressure in the mixture being breathed in bar

te Length of the exposure time in minutes

tht Half time of the compartment

Hereís an example: A diver descends from the surface to 30 metres on air and waits there ten minutes. The partial pressure of nitrogen in the breathing gas (Pgas) is 4 x 0.79 = 3.16 bar. Letís pick a compartment, say number five. The nitrogen half-time for compartment five (tht) is 27 minutes. The nitrogen partial pressure in compartment five on the surface (Pbegin) is 0.79, assuming the diver hasnít already been diving or subject to any altitude changes. The length of the exposure (te) is ten minutes. Plugging these values into the equation, we get:

Pcomp = 0.79 + [ 3.16 - 0.79 ] x [ 1 - 2 -10/27]

Do the bits in brackets first:

Pcomp = 0.79 + 2.37 x 0.226

Do the multiplication first, then the addition:

Pcomp = 1.33

So the partial pressure of nitrogen in compartment five of our diver would be 1.33 bar. In reality, the diver couldnít have made an instantaneous descent to 30 metres and would have been taking on gas during the descent as well. We could average the pressure during the descent and repeat the above calculation to get an idea of the extra gas, or simply repeat the calculation many times at short intervals during the descent, a computer makes this easy.

You can repeat this calculation, of course, for all the other compartments, you just need to know the half-times (see table 1), again a computer is the ideal tool for this job. The beauty of the equation is its versatility. Absolute pressure (not depth) is used everywhere, as is the actual partial pressure of the inert gas being breathed, so we can ascend or descend to/from any pressure, breathe any gas, change gasses, go flying after diving, stay on the surface, do a repetitive dive or anything we can think of.

Table 1 - ZH-L16A Half-times, "a" and "b" values for nitrogen and helium


Half-time N2

N2 a Value

N2 b Value

Half-time He

He a Value

He b Value

















































































































Now we know the inert gas pressure in any given compartment at any time, we need to know the depth (or actually the pressure) that we can ascend to safely. We already mentioned that this would vary for each compartment, with faster compartments tolerating a greater pressure drop than slower ones. Buhlmann decided that the amount of pressure drop that a certain compartment could tolerate without bubble formation could be mathematically linked to itís half-time. He first derived two factors, which he called "a" and "b" from the half-time (so each compartment has itís own pair of a and b values), then he used these factors to calculate the pressure that we could ascend to. The a and b modifiers are obtained from the following formulae:

a = 2 x tht-1/3

b = 1.005 - tht-1/2

Where tht is the half-time for the compartment. For example, the half-time for compartment 5 is 27 minutes, so a = 2 x 27-1/3 = 0.6667 and b = 1.005 - 27-1/2 = 0.8125

Remember that the half-times vary for different gasses, so each gas will have itís own set of half-times, a and b values (see table 1)

Now we know a and b, we can use a formula to calculate the pressure that we can ascend to for each compartment. Hereís the formula Buhlmann chose to use:

Pamb.tol = (Pcomp - a) x b


Pcomp is the inert gas pressure in the compartment

Pamb.tol is the pressure you could drop to

a and b are the a and b values for that compartment and the gas in question

Using the example above, we found that a exposure for ten minutes to 4 bar pressure (30 metres depth), led to a nitrogen pressure of 1.33 bar in compartment 5 and the a and b values for compartment 5 were 0.6667 and 0.8125 respectively. Plugging these into the above formula (donít forget to do the subtraction in brackets first) gives:

Pamb.tol = ( 1.33 - 0.6667 ) x 0.8125 = 0.54 bar

Pressure at sea level is taken to be 1 bar and the above equation shows us that we can actually ascend to a pressure lower than that (i.e. above the surface). In other wordís, according to the model, after 10 minutes at 30 metres (4 bar) we could ascend straight to the surface with no bubble formation in compartment 5 assuming we were breathing air. This is a "no-stop" dive, as weíd expect from looking at our dive tables!

If we tried our 30 metre exposure for 50 minutes, weíd find the nitrogen partial pressure in compartment five was 2.5 bar (from the first equation) and our pressure could drop to 1.49 bar. This pressure is just under 5 metres depth, so this is the maximum depth that compartment 5 would allow us to ascend to after 50 minutes at 30 metres.

Using the same depth and time, if we repeat this method for all the other compartments, weíll find different values, for example:

Compartment 3 - Half-time 12.5 minutes, a = 0.8618, b = 0.7222

Pcomp = 3.01 bar

Pamb.tol = ( 3.01 - 0.8618 ) x 0.7222 = 1.55 bar (or 5.5 metres depth)

Compartment 10 - Half-time 146 minutes, a = 0.3798, b = 0.9222

Pcomp = 1.29 bar

Pamb.tol = ( 1.29 - 0.3798 ) x 0.9222 = 0.84 bar (still above the surface)

Once weíve repeated this for each compartment, we cannot ascend any shallower than the deepest of the tolerated depths. In our three-compartment example, this is 5.5 metres. This is called our "decompression ceiling" and the compartment concerned (compartment 3) is said to "control" the decompression at this point. In general, faster compartments will control short, shallow dives. Long shallow dives and short, deep dives will see a shift towards the middle compartments as controllers while long, deep dives will be controlled by the slower compartments. The controlling compartment will often shift during a decompression. For example, a short deep exposure may see the initial ceiling limited by the faster compartments, but as these off-gas quickly the control shifts to the slower, mid-range, compartments. As you can imagine, calculating the gas loads for a sequence of several dives of differing depths and durations is quite involved. Although the maths is actually straightforward, as weíve seen, the number of calculations and constant shifting of the controlling compartment and itís associated decompression ceiling make it a great job for a computer.

If we were actually planning a decompression for our 30metre, 50 minute dive, we could ascend right up to the 5.5 metre ceiling, but itís more usual to choose a convenient interval for decompression stops, say every 3 metres, then youíd ascend to the nearest multiple of 3 metres thatís below the decompression ceiling. In this example thatís 6 metres. At this point the inert gas pressure in the more highly loaded compartments will be above the inert gas pressure in the breathing mix and those compartments will start to off-gas. Other compartments may have inert gas pressures lower than the breathing gas and these compartments will still be on-gassing. We start the half-time calculations again. The formula is identical taking reductions in pressure (ascents) into account automatically. During the ascent the inert gas partial pressure being breathed (Pgas) drops, wheras the pressure in the compartment (Pbegin) hasnít caught up yet, so the [ Pgas - Pbegin ] part of the equation becomes negative. Donít forget the driving force for the gas diffusion (in the model, at least) is the difference between the inert gas pressure in the compartment and the ambient partial pressure of the inert gas. At 6 metres the PPN2 in air is 1.26 bar. In our example, the nitrogen pressure in compartments 3 and 5 was 3.01 bar and 1.33 bar respectively. These are both higher than the 1.26 bar ambient PPN2, so compartments 3 and 5 will off-gas at this decompression stop. The PPN2 in compartment 10 however has only reached 0.29 bar. This compartment will continue to on-gas at 6 metres depth, although at a slower rate than before because the ambient PPN2 is lower than at 30 metres. The ceiling will gradually get shallower as the compartments off-gas, eventually reaching our chosen next stop depth (3 metres). At this point we ascend to this depth and start the process again, until we reach a point where the Pamb.tol for all compartments is less than, or equal to, one and we can reach the surface.

Thatís all there is to it. Calculations can continue while youíre on the surface (compartments continue to off-gas), so we can allow for a surface interval between dives and when we go down for our next dive some compartments may still be partially loaded. This loading will automatically be added to any additional gas gained during the dive, adjusting the decompression accordingly. Flying or ascending to altitude is just a matter of "ascending" through the atmosphere. The calculations are the same, itís just that the pressure changes may take thousands of metres of air as opposed to just a few metres of water. If we know the cabin pressure in an airliner (say 8000 feet/2400 metres) we can use this as our ceiling and carry on calculating until we can reach itÖthis is our "time to fly". The formulas use inert gas partial pressure throughout, so diving with nitrox is automatically accommodated. Likewise trimix (oxygen, nitrogen and helium mixes) and alternative decompression gasses (usually with lower proportions of inert gas) can all be accommodated within the same basic algorithm as long as we know the half times and the a and b values for the gasses. Where multiple inert gasses are used, an intermediate set of a and b values are calculated based on the gas proportions.


Modifications for the real world

Take note that all the above is to be read in the context of referring to the ZH-L16 model, not to our own bodies. Buhlmann carried out a considerable amount of actual testing to validate the ZH-L16 algorithm, but only using nitrogen as the inert gas. The half times for helium were derived from those for nitrogen, based on the speculative idea that the relative diffusivity of the gases was all that mattered. Since the a and b values are further derived from the half times, these also fall under the heading of "educated guesswork". Sadly Buhlmann died before he was able to put his theoretical figures for helium to any extensive tests. It appears that Buhlmannís values for helium may be rather too conservative and for years the result has been that people have assumed that decompressions from helium would be longer than from nitrogen, simply because that was what the formula told us. In fact helium is generally a much more "deco-friendly" gas than nitrogen, being less soluble in our tissues. The rapidly diffusing gas is more prone to bubble formation, requiring control of ascent rates and decompression stops that start deeper than nitrogen. The payback is shorter shallow stops and a reduced overall time for decompression.

A huge number of factors affect inert gas absorption, elimination and our susceptibility to decompression sickness. Some of these factors we know, some we guess at and some, no doubt, remain to be discovered. Among the first two categories are:

Repetitive, yo-yo, reverse and bounce dive profiles

Rapid ascents

Missed decompression stops

Heavy workloads

Exercise, or lack of, during decompression


Flying after diving

Poor physical conditioning

Inter-pulmonary shunts

Drug use (including alcohol)



In an attempt to address some of these factors, Buhlmann suggested and made several modifications to his algorithms. For dive table production, the "a" values were altered to be a little more conservative, principally in the middle compartments, resulting in a variation of the algorithm called ZH-L16B. Further variations to both middle and upper "a" values are used in ZH-L16C, intended for use in dive computers, where the exact depth and time tracking removed some of the natural conservatism associated with table use. Attempts to include the effects of some of the other predisposing factors mentioned above led to the ZH-L8 ADT "adaptive" algorithm, implemented on the latest Aladdin dive computers.

Dive computers and planning programs for personal computers, typically implement these modifications and/or variations of their own in an attempt to make the dive profiles they generate more realistic, or more usually, just "more conservative". Modifications include planning dives deep and/or longer than actual, further tweaking of the a and b values, limiting compartment over-pressure (Pamb.tol) to a percentage of the calculated value, changing the amount of inert gasses by some factor, using longer half-times for the off-gassing phase of the profile, adding more compartments and any number of other factors and combinations of factors.

Itís interesting to note that the model clearly tells us that thereís no such thing as a "no-decompression" dive. We begin to on-gas immediately we descend. What we call a no-decompression dive is really one where the ceiling is still above the surface. As the dive goes on and the ceiling reaches the surface, we can factor in the ascent rate and gain a few more minutes "no-decompression time".


Modern Ideas

The reality is that we will never get truly accurate decompression tables or computers. The chaotic nature of our own physiology means a certain amount of conservatism will be required. The best we can generally hope for are ones that work most of the time, for most people. It is highly likely that current tables are much too conservative for some individuals, while being overly liberal for others. As our knowledge of decompression physiology improves, this holds out the hope of tables, or more likely computer programs, tailored to some extent for the individual. Organisations such as the Woodville Karst Plain Project, with a large database of extreme dive exposures, and knowledgeable and committed team members, have achieved great advances in this area.

From Doppler studies, we now know that bubbles form in divers after most dives. Although causing no noticeable symptoms, gas elimination from these so-called "silent bubbles" occurs differently from gas dissolved in the blood. A reduction in ambient pressure will cause these bubbles to grow regardless of inert gas diffusion. Buhlmannís algorithm assumes all gas is being eliminated in the dissolved phase (i.e. dissolved in the tissues) and does not take these factors into account. Bubble mechanics formulae such as Bruce Weinkeís Reduced Gradient Bubble Model attempt to model gas elimination in the gas-phase (bubbles) as well as dissolved gas.

Finally, helium is becoming accepted as a more deco-friendly gas than nitrogen. As well as the benefits of narcosis reduction, further experimentation holds out the possibility of faster decompressions than were previously thought possible and will probably include the use of helium in decompression gasses as well as bottom mixes. Helium is expensive, which has limited itís use in sport diving, however rebreathers may eventually become reliable and simple enough for the average scuba diver to take advantage of helium mixtures economically and safely.

My thanks to the members of the Woodville Karst Plain Project for providing both valuable information and the inspiration to learn more and do it right.





Updated July 1, 2002 3:50 PM by Vlad Pambucol