Uwe Ohse / available software / The mosquitotools package

The make-deco-table program

make-deco-table - Create decompression tables




make-deco-table creates a decompression table suitable for dives of `DEPTH' meters and up to `END-MINUTES' minutes of ground time. The program will begin calculations with a ground time of `START-MINUTES' (default: 1), but will not show ground times not needing any decompression steps. `STEP' (default: 1) is the increment to use from `START-MINUTES' to `END-MINUTES.


-a, --ascend-speed=LENGTH
Ascend rate in units per minute. Default is 10meters. You have to append a unit to the number, if the unit isn't meter. A value of 0 is not allowed. The real ascend speed must not be faster than the value given here. Ascend speeds over 10 meters per seconds are likely to be unsafe for medical reasons anyway
-A, --air-pressure-at-surface=PRESSURE
Air pressure at surface.

Append an unit to the number, unless the unit is the default unit 'bar'. Default value: 1 bar.

-d, --descend-speed=LENGTH
Descend rate per minute.

Default is 20. A value of 0 means that the diver reaches the ground instantly.

-D, --desaturation-factor=FACTOR
Desaturation speed factor.

Assume that desaturation halfvalue times are FACTOR times longer as usual. The default FACTOR is 1.00. Values over one create safer tables. Values below one are highly unsafe, so avoid them.

Limit decompression times.

Stop calculation if the time on any decompression step exceeds LIMIT minutes. Default: 300.

Use feet, not meters. For use in backward countries.
-L, --load-margin=NUMBER
Tissue saturation limit in % of allowed maximum.

Try to keep any tissues nitrogen saturation below NUMBER times 100 percent of the allowed maximum value for the current depth. The default is 0.737. The difference between 1 and NUMBER is the safety margin - your safety margin. Lower values create safer tables. The default value leads to tables being a little bit safer than the deco200 table. The use of higher values is not recommended. Few depth gauges are perfect, and even less, if any, divers make no mistakes at all. Even your body may not work as expected, at least at the day of your last trip.

-m, --model=MODEL
Decompression model to use.

The default is zhl16b, which was meant to create dive tables with. Distributed model descriptions include at least 'zhl16a', 'zhl16b', 'zhl16c'. Model description files are expected to be named NAME.model, and are searched for in /package/misc/mosquitotools-0.1.2/data and the current directory, in that order.

-M, --make-dive-profile-input
Create input for the make-dive-profile program.

Use this for tricks like this:

  make-dive-profile `make-deco-table 78 15 15` \\
  | mosquitograph -
-n, --nitrox-fraction=ARG
The fraction of nitrogen in the cylinder.

In other words: Nitrogen partial pressure in gas mix at one bar ambient pressure. Default: 0.78.

Generate dive profile.

The profile will be usable as input for the mosquitograph program:

  make-deco-table 78 15 15 | mosquitograph -
This differs from the --make-dive-profile-input by the different output formats, the data size and the intervals used.
-r, --respiratory-minute-volume=VOLUME
Air usage per minute at sea level (1 bar).

make-deco-table will calculate the gas needed for the dive, not including any reserve, if this option is given. You may append an unit to the number. Knows units are liter (default) and cuft. The default is not to calculate gas usage.

-S, --saturation-factor=FACTOR
Saturation speed factor.

Assume that saturation halfvalue times are FACTOR times as long as usual. The default FACTOR is 1. Values larger 1 should be avoided at all cost. See the --desaturation-factor option for how to slow down desaturation.

-s, --deco-steps=ARRAY
Set decompression depths to use. ARRAY is a list of depths, separated by commas. The program will only consider these decompression depths and will not try any other. For example, `--deco-steps 2,4,6,9,12' will let the program try decompression steps on 2, 4, 6, 9 and 12 meters, but will not allow it to try 15 meters. When used together with the --feet option the depths in the list will be treated as feet. The default list contains 3,6,9,12,15,... meters or 10,20,30,40... feet. The values in the list should be in ascending order. Abuse like `--deco-steps 6,3,9' will create annoying and stupid, but safe, decompression rules. This option was added for version 0.1.1 and replaces the --2-meter-steps, --3-meter-steps, --minimal-deco-depth and --maximal-deco-depth options used before.
-V, --verbose
Be verbose, show a bit more information.
Usage examples.
Where to find related information.
Show limitations.
Show known units.
Show warnings.
Show version: make-deco-table 0.1.2.
Show a list of options or the long help on one. The use with an argument shows the long help text of that option, without an argument it will list all options.
Show longer help texts for all or one option.


Deco table for 36 meter / 60 minutes, 5 minute intervals:
  make-deco-table 36 60 5 5
Include gas need for an RMV of 22 liter per minute:
  make-deco-table -r 22 36 60 5 5
Create a safer table:
  make-deco-table --load-margin 0.70 36 60 5 5
Calculate decompression rules and feed the output directly into mosquitograph, this time for a depth of 40 meters and a ground time of 15 meters:
  make-deco-table --profile 40 15 15 | \\
  mosquitograph --load-ambient-% - | \\
Calculate decompression rules and feed the output directly into make-dive-profile, using a depth of 20 meters and 75 minutes ground time:
  make-dive-profile `make-deco-table \\
    --make-dive-profile-input 40 75 75 ` | \\
    mosquitograph --load-ambient-% - | groffer


Pressure may be given as 1.23unit, with unit being one of:
  bar (default), mbar, hpa, kpa, atm, psi.

Volumes may be given as 1.23unit, with unit being one of:

  liter (default), cuft.

Lengths may be given as 1.23unit, with unit being one of:

  m or meter (default), cm, mm, f or foot, yard.


make-deco-table is suited for constant gas mixes consisting of oxygen and nitrogen only.

make-deco-table only cares about the tissue load with inert gas. It does not, in any way, deal with the problems resulting from high oxygen doses.

make-deco-table does not output decompression stops in feet, but uses meters. This may change in the future. I feel sorry for the people in backwards countries.

make-deco-table has no support at all for more than one dive per day and doesn't print 'no flying times'.

make-deco-table is not well-tested at that moment. I'd check tables generated by it against tables from other sources.


Diving near the limits may be safer than skydiving without parachutes, but that means nothing at all.

This software is still in an early testing stage and may contain serious flaws. Do not bet your life on it: Check it's results against decompression rules from different sources and against common sense!

Note that it's a good idea to include a safety stop even if the decompression table does not indicate the need for a decompression stop.


Copyright (C) 2003 Uwe Ohse.

The software comes with NO WARRANTY, to the extent permitted by law.

For now this package it is subject to the conditions found in http://www.ohse.de/uwe/licenses/UO-GPL-TEST but it will be free software in the future.


Uwe Ohse, uwe@ohse.de.


Please report bugs to mosquitotools@lists.ohse.de


mosquitograph(1) turns dive profiles into pictures. dive-profile(5) describes the dive profile data format. make-dive-profile(1) creates dive profiles.

The mosquitotools have a mailing list. Send an empty mail to mosquitotools-subscribe@bulkmail.ohse.de to subscribe to it.

The mosquitotools homepage is at