An explanation Professor A A Buhlmann’s ZHL16 AlgorithmBy 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 SpringerVerlag ISBN 3540589708. 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 reallife 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.
Background 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 BSAC88 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 mid1960’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 "Mvalues") 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 ("ongas") 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 "offgassing" It is assumed that tissues ongas and offgas according to the theory of halftimes. 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 "halftime" the pressure of gas in the tissue will be half way to equaling the pressure of the gas outside. After a second halftime, 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 threequarters, of the way to equaling the external gas pressure. After a third halftime, 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 halftimes, 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 ongas again. If the pressure reduces, the tissue will offgas, again following the halftime principle. After six halftimes, the tissue will again be "equilibrated" with its surroundings. As well as differing for each tissue, halftimes will vary for different gasses, since they diffuse at different rates. For real human tissues nitrogen halftimes will vary from a few seconds (blood) to many hours. For helium, halftimes 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 ZHL16 algorithm Buhlmann chose to split the body into 16 "tissues" and give them a range of halftimes, 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 halftimes are simply chosen to give a representative spread of likely values. They do not represent actual tissues, or the actual halftimes for any particular tissue. For this reason the oftenused 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 Mvalue sets (16). When exposed to pressure, each compartment ongasses 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 halftime 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: P_{comp} = P_{begin} + [ P_{gas}  P_{begin} ] x [ 1  2 t_{e}/t_{ht} ] Where: P_{begin }Inert gas pressure in the compartment before the exposure time in bar P_{comp }Inert gas pressure in the compartment after the exposure time in bar P_{gas }Inert gas pressure in the mixture being breathed in bar t_{e }Length of the exposure time in minutes t_{ht }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 (P_{gas}) is 4 x 0.79 = 3.16 bar. Let’s pick a compartment, say number five. The nitrogen halftime for compartment five (t_{ht}) is 27 minutes. The nitrogen partial pressure in compartment five on the surface (P_{begin}) is 0.79, assuming the diver hasn’t already been diving or subject to any altitude changes. The length of the exposure (t_{e}) is ten minutes. Plugging these values into the equation, we get: P_{comp} = 0.79 + [ 3.16  0.79 ] x [ 1  2 10/27] Do the bits in brackets first: P_{comp} = 0.79 + 2.37 x 0.226 Do the multiplication first, then the addition: P_{comp} = 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 halftimes (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  ZHL16A Halftimes, "a" and "b" values for nitrogen and helium
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 halftime. He first derived two factors, which he called "a" and "b" from the halftime (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 t_{ht}^{1/3} b = 1.005  t_{ht}^{1/2} Where t_{ht} is the halftime for the compartment. For example, the halftime 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 halftimes vary for different gasses, so each gas will have it’s own set of halftimes, 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: P_{amb.tol }= (P_{comp}  a) x b Where: P_{comp }is the inert gas pressure in the compartment P_{amb.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: P_{amb.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 "nostop" 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  Halftime 12.5 minutes, a = 0.8618, b = 0.7222 P_{comp} = 3.01 bar P_{amb.tol }= ( 3.01  0.8618 ) x 0.7222 = 1.55 bar (or 5.5 metres depth) Compartment 10  Halftime 146 minutes, a = 0.3798, b = 0.9222 P_{comp} = 1.29 bar P_{amb.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 threecompartment 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 offgas quickly the control shifts to the slower, midrange, 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 offgas. Other compartments may have inert gas pressures lower than the breathing gas and these compartments will still be ongassing. We start the halftime calculations again. The formula is identical taking reductions in pressure (ascents) into account automatically. During the ascent the inert gas partial pressure being breathed (P_{gas}) drops, wheras the pressure in the compartment (P_{begin}) hasn’t caught up yet, so the [ P_{gas}  P_{begin} ] 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 PPN_{2} 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 PPN_{2}, so compartments 3 and 5 will offgas at this decompression stop. The PPN_{2} in compartment 10 however has only reached 0.29 bar. This compartment will continue to ongas at 6 metres depth, although at a slower rate than before because the ambient PPN_{2} is lower than at 30 metres. The ceiling will gradually get shallower as the compartments offgas, 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 P_{amb.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 offgas), 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 ZHL16 model, not to our own bodies. Buhlmann carried out a considerable amount of actual testing to validate the ZHL16 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 "decofriendly" 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, yoyo, reverse and bounce dive profiles Rapid ascents Missed decompression stops Heavy workloads Exercise, or lack of, during decompression Cold Flying after diving Poor physical conditioning Interpulmonary shunts Drug use (including alcohol) Dehydration Age 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 ZHL16B. Further variations to both middle and upper "a" values are used in ZHL16C, 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 ZHL8 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 overpressure (P_{amb.tol}) to a percentage of the calculated value, changing the amount of inert gasses by some factor, using longer halftimes for the offgassing 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 "nodecompression" dive. We begin to ongas immediately we descend. What we call a nodecompression 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 "nodecompression 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 socalled "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 gasphase (bubbles) as well as dissolved gas. Finally, helium is becoming accepted as a more decofriendly 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 