This code is an implementation of the Bühlmann algorithm for decompression planning merged with IANTD standards.
The decompression schedules predicted by this program are yet to be thoroughly tested in water.
The author declines all responsability for any direct or indirect damage to objects, persons or animals deriving from the use of this program.
python >= 3.6
numpy >= 1.16
tabulate >= 0.8
bash >= 5.0.3
Usage:
$ python deco_plan.py [-h] [--altitude H_ON_SEA] [--alveolar ALVEOLAR] --depth TDEPTH --time RUNT --fo2 FO2 [FO2 ...] --fhe FHE [FHE ...] [--SAC SAC] [--glow GF_LOW] [--ghigh GF_HI] [--last LAST_DECO] [--debug]
optional arguments:
-h, --help show this help message and exit
--altitude Altitude on sea-level for the dive [m] [default: 0.0]
--alveolar Which water vapor pressure in the lungs to use. ['buhl', 'schrein', 'navy']
--depth Target maximum depth [m]
--time Run time [min] at which you desire to quit the target maximum depth.
--fo2 Fractions of oxygen in breathing gas (one value per tank).
--fhe Fractions of helium in breathing gas (one value per tank).
--SAC Surface air consumption [l/min] [default: 20].
--glow Gradient factor (Low) [default: 0.75].
--ghigh Gradient factor (High) [default: 0.75].
--last Last deco stop [m] [default: 6].
--debug Print Debug Info.
deco_find_tmax.sh
Usage:
$ ./tools/deco_find_tmax.sh -d DEPTH -p TankPressure -s TankVolume -m MinimumSafetyPressure
optional arguments:
-h, --help show this help message and exit
-d Depth [m]
-p Twinset total pressure [bar]
-s Twinset total volume [l]
-m Minimum allowed twinset pressure [bar]
simple_blend_calc.py
Usage:
$ python simple_blend_calc.py [-h] [--init_press P_INIT] [--ifo2 FO2] [--ifhe FHE] --addfo2 AFO2 [AFO2 ...] --addfhe AFHE [AFHE ...] --add_press P_ADD [P_ADD ...]
[--mod MOD] --tdepth TDEPTH
This simple program computes the final mix, M.O.D, E.A.D., and the E.N.D. given a starting blend and the additional gasses.
optional arguments:
-h, --help show this help message and exit
--init_press P_INIT Initial pressure in the tank [bar] (default = 0 bar, empty tank).
--ifo2 FO2 Initial fraction of oxygen in the tank (default = 0.0).
--ifhe FHE Initial fraction of helium in the tank (default = 0.0).
--addfo2 AFO2 [...] Fraction(s) of oxygen in the added gas(es).
--addfhe AFHE [...] Fraction(s) of helium in the added gas(es).
--add_press P_ADD [...] Pressure(s) of the added gas(es)[bar].
--mod MOD User defined ppO2 at maximum operating depth [bar] (default = 1.4 bar).
--tdepth TDEPTH Target depth below surface [m].
Dive at 40 m for 25 min bottom time carrying only air as a gas.
$ python deco_plan.py --depth 40 --time 25 --fo2 0.21 --fhe 0.0
Dive at 40 m for 25 min bottom time carrying air and EAN50.
$ python deco_plan.py --depth 40 --time 25 --fo2 0.21 0.5 --fhe 0.0 0.0
Dive at 40 m for 25 min bottom time carrying air and EAN50 with custom gradient factors.
$ python deco_plan.py --depth 40 --time 25 --fo2 0.21 0.5 --fhe 0.0 0.0 --glow 0.35 --ghigh 0.75
Dive at 40 m for 25 min bottom time carrying air and EAN50 with custom gradient factors at a altitude of 1000 m a.s.l.
$ python deco_plan.py --depth 40 --time 25 --fo2 0.21 0.5 --fhe 0.0 0.0 --glow 0.35 --ghigh 0.75 --altitude 1000
Dive at 50 m for 25 min bottom time carrying 20/45 trimix and EAN50
$ python deco_plan.py --depth 50 --time 25 --fo2 0.20 0.5 --fhe 0.45 0.0
Dive at 50 m for 25 min bottom time carrying 20/45 trimix and EAN50 with last stop at 3 m
$ python deco_plan.py --depth 50 --time 25 --fo2 0.20 0.5 --fhe 0.45 0.0 --last 3