Introduction to Bühlmann ZH-L16C decompression planning
The Bühlmann ZH-L16C planner estimates what happens to nitrogen during one idealised scuba dive. Enter maximum depth, bottom time, breathing-gas oxygen, gradient factors, altitude and water type. The calculator then reports a no-decompression limit, any required staged stops, oxygen partial pressure, maximum operating depth and the loading of all sixteen modelled tissue compartments.
ZH-L16C is a dissolved-gas model. Its compartments are mathematical time constants, not literal organs, and each has a different nitrogen half-time and tolerated supersaturation line. Gradient factors reduce the model’s raw limits: the low value mainly influences the first stop, while the high value governs the surfacing margin and much of the shallow-stop time.
The calculation assumes a square profile and a fully desaturated, altitude-acclimatised diver. A real computer follows actual depth continuously; this page does not know about cold, exertion, health, buoyancy mistakes or individual susceptibility to decompression sickness. Use the result to study the model, not to authorise a dive.
How to use the scuba profile and gradient-factor inputs
Maximum depth may be entered in metres or feet; feet are converted at 0.3048 m per foot. Bottom time is the elapsed time from leaving the surface until the final ascent begins. The whole interval is treated as time at maximum depth, so a gradual descent receives no multi-level credit.
Oxygen fraction is entered as a percentage: 21 for air or, for example, 32 for EAN32. The remainder is treated as nitrogen. More oxygen generally reduces nitrogen loading, but it also raises oxygen partial pressure and makes the gas unsuitable below its maximum operating depth.
Gradient factor low must not exceed gradient factor high. A setting of 100/100 applies the raw ZH-L16C limits; 30/85 adds a commonly used but not universally appropriate margin. Altitude changes surface pressure, and water type changes pressure gained per metre. Altitude calculations assume full acclimatisation before the dive.
Choose Calculate ascent plan to create the verdict, schedule, profile chart and tissue table. The copy, download and permalink controls become available after a valid calculation. Reset restores the 30 m, 22-minute air example.
Formulas for ZH-L16C pressure and tissue loading
The ZH-L16C formulas begin with surface pressure. For altitude h in metres, the planner uses the International Standard Atmosphere troposphere relation:
Ambient pressure adds hydrostatic pressure. Salt water uses 0.1 bar per metre; fresh water uses 33/34 of that value:
Water vapour is removed before ambient pressure is multiplied by the nitrogen fraction:
At constant depth, each compartment approaches alveolar nitrogen pressure exponentially through the Haldane equation:
During travel, inspired pressure changes continuously. The Schreiner equation models that change, and the implementation evaluates ascent travel in three-second increments:
Bühlmann’s a and b coefficients define the M-value line. The calculator itself uses the published ZH-L16C coefficient table:
A gradient factor moves the permitted tissue pressure toward ambient pressure. Solving that condition gives the tolerated ambient pressure for each compartment; the highest value establishes the ceiling:
For a decompression ascent, the selected gradient factor is interpolated from the low setting at the first stop to the high setting at the surface:
Oxygen is checked separately through Dalton’s law. The maximum operating depth is the depth at which the chosen oxygen limit is reached:
The sixteen nitrogen half-times are 5.0, 8.0, 12.5, 18.5, 27.0, 38.3, 54.3, 77.0, 109.0, 146.0, 187.0, 239.0, 305.0, 390.0, 498.0 and 635.0 minutes. Stops are arranged at 3 m intervals and held in whole-minute increments.
Worked example: 30 m for 22 minutes on air
This worked example uses the form defaults: 30 m in salt water at sea level, 22 minutes on air and gradient factors 30/85. Ambient pressure at the bottom is 1.01325 + 30 × 0.1 = 4.01325 bar. Oxygen partial pressure is therefore about 0.84 bar, while alveolar nitrogen pressure is (4.01325 − 0.0627) × 0.79 = 3.12093 bar.
For the 5-minute compartment, the rate constant is ln 2 ÷ 5, or about 0.13863 min⁻¹. Applying the constant-depth equation for 22 minutes raises that compartment from its initial sea-level nitrogen pressure toward the bottom inspired pressure. The selected low gradient factor then produces a ceiling that rounds to the next 3 m stop interval.
With these defaults, the live output identifies a decompression exposure and builds the ascent one stage at a time. Compare that result with a shorter bottom time or EAN32 to see how nitrogen loading falls. Then inspect oxygen partial pressure: richer nitrox may lengthen the no-stop limit, but it cannot safely be used without respecting its MOD.
Interpreting decompression ceilings, stops and tissue percentages
The result badge distinguishes a no-stop profile from one requiring staged decompression under the selected settings. A no-stop result includes remaining no-stop time and, for dives of at least 10 m, a conventional three-minute safety stop at 5 m. A decompression result lists only stops that require a hold; deeper 3 m stages may clear during travel.
The first stop and total stop time are model outputs, not promises of safety. The profile chart shows depth against runtime, while the tissue table reports each compartment’s nitrogen pressure, raw surfacing M-value, gradient-factor-adjusted limit and percentage of that adjusted limit. The compartment closest to its limit is the leading compartment.
Oxygen warnings are independent of decompression status. A low nitrogen obligation does not make an excessive ppO₂ acceptable. The planner warns above 1.4 bar and again above 1.6 bar, but exposure duration, workload and training still matter.
Comparison of ZH-L16C no-stop limits with US Navy Revision 7
This comparison shows why model names and settings belong beside every no-stop number. The Bühlmann columns assume air, sea level, salt water and a 9 m/min ascent; the Navy column comes from Revision 7 Table 9-7.
The models are close at some depths and materially different at others because they use different algorithms, evidence and rounding rules. Gradient factors reduce the Bühlmann limits further. None of these columns predicts an individual diver’s outcome with certainty.
Assumptions and limitations of this decompression estimate
The principal limitation is the square-profile assumption. The calculator treats the entire bottom time as maximum-depth exposure, starts all compartments in equilibrium with surface air and models only one nitrogen–oxygen gas. It provides no repetitive-dive, surface-interval, residual-nitrogen, helium, gas-switch or oxygen-decompression calculation.
The model cannot account for cold, exertion, dehydration, age, body composition, a patent foramen ovale, bubble formation or illness. It also cannot know whether the diver has enough gas, buoyancy control, redundancy or team support to complete a stop. Decompression sickness remains possible after profiles that a model accepts.
Numerically, travel is integrated in 0.05-minute steps, stops use 3 m intervals and hold times round to whole minutes. Inputs above 100 m, 360 minutes or 4,500 m altitude are rejected. These limits prevent extreme extrapolation; they do not define a safe operating range.
- Single dive: start fully desaturated and acclimatised to the entered altitude.
- Nitrogen only: do not use this page for trimix, heliox or gas switching.
- Education only: use trained procedures and validated planning equipment for real dives.
Common questions about ZH-L16C planning
Which decompression model does this planner use?
The planner uses the sixteen nitrogen compartments and published coefficients of Bühlmann ZH-L16C, together with Haldane and Schreiner gas loading and gradient factors.
What do gradient factor low and high change?
Gradient factor low mainly affects the depth of the first stop. Gradient factor high controls the permitted surfacing margin and therefore strongly affects shallow-stop duration.
How is the no-decompression limit calculated?
The planner searches for the longest square-profile bottom time from which an ascent at 9 metres per minute remains inside the selected gradient-factor limits.
Why can the result differ from agency or Navy tables?
Tables and computers can use different models, coefficients, ascent assumptions, rounding rules and safety margins. Agreement between two outputs does not validate either one for a particular diver.
Does the planner handle altitude, repetitive dives or helium?
Altitude is included for a fully acclimatised diver. Repetitive dives, residual nitrogen, surface intervals, helium and gas switches are not modelled.
Can I dive the generated schedule?
No. The output is an educational estimate, not a validated dive plan. Use appropriate training, a certified dive computer and a proven planning tool.
Sources for the Bühlmann coefficients and diving constants
The implementation and comparison values draw on the following primary and technical references:
If this educational implementation conflicts with an authoritative source or a correctly configured certified computer, do not rely on this page.