Skip to content

Dive planner and decompression calculation program written in python

License

Notifications You must be signed in to change notification settings

ThomasChiroux/dipplanner

Repository files navigation

dipplanner Quick Start

Warning

This software is provided free of charge for experienced divers to evaluate diving profiles. This software is highly experimental, it probably contains bugs and should not be relied upon for actual dives. Use it at your own risk.

If you follow dive schedules generated by this software you could suffer decompression sickness, serious injury or possibly death. The author does not warrant that this software accurately reflects Buhlmann's algorithms, or that it will produce safe, reliable, results.

Diving in general is fraught with risk, and decompression diving using mixed gases and rebreathers adds significantly more risk. This software is not intended for uneducated users. This software and the decompression schedules it produces are tools for experienced divers only.

IF YOU DO NOT UNDERSTAND OR DO NOT AGREE TO THIS STATEMENT DO NOT USE THIS SOFTWARE

Description

Model supported

  • Bülhmann ZH-L16A with Gradient Factor

  • Bülhmann ZH-L16B with Gradient Factor

  • Bülhmann ZH-L16C with Gradient Factor

    for each, with 1a or 1b variation (4' or 5' quickest compartment)

Gases

any mix of oxygen, helium and nitrogen is supported, this include:

  • Air
  • Nitrox
  • Oxygen
  • Trimix
  • Heliox
  • ...

Other Features

  • Open Circuit Dives
  • CCR Dives
    • setpoint
    • bailout
  • Tank planification
    • Tank size and pressure
    • Simple or Double Tank
    • gaz consumption rate
    • rules for warning (rules of third, rules in remaining pressure, etc..)
    • automatic (or non automatic) refill of Tank between successive dives
  • Multigaz (multi Tank)
  • Automatic selection of best gaz
  • Multilevel Dives
  • Altitude Dives
  • Successive Dives
  • No Flight Time Calculation
  • CNS Tracking
  • OTU Tracking
  • MOD Calculation
  • END Calculation
  • Adjustable gradient factor and stop depth level

Calculations

The main principe of dipplanner calculation are to be as accurate as possible, using the most precise algorithm.

  • All internal calculation in SI Units
  • Most precise calculations (trying to avoid any approximation):
    • second to second decompression time calculation (adjustable)
    • real water density calculation
    • real gaz pressure calculation in tanks using van der waals
    • real surface pressure calculation (using Antoine equation for ppH2O)
    • ...
  • Every parameter is adjustable

Warning

in result of the "precise" calculations, the planned dives may be shorter than other equivalent dive planification programs.

Users of dipplanner MUST be aware of this difference and adjust the conservatisms to their wishes.

On the other way, with the most precise calculations, dipplanner try to avoid unexpected effects (or worse: unseen effects) of approximations. (approximation effect to conservatism are sometimes counter-intuitive and may in some cases reduce the conservatism without warning)

Get the sources

latest source code (unstable)

please use git to clone the repository :

git clone git://github.com/ThomasChiroux/dipplanner.git

Preparation: virtualvenv

It is recommended (but optional) to setup a virtualvenv before running or installing. In this way, you will not break or change your real environment. So after getting the source, go in the dipplanner directory:

dipplanner needs at least python 3.4 to work.

cd dipplanner
mkdir venv
virtualenv venv
source venv/bin/activate

Installing

Inside the dipplanner source directory, run:

python setup.py install

Using

This version if currently only usable in command line

Run the program

ex:

dipplanner --help

Planning one dive

To plan a dive, you should at least provide one tank and one dive segment. Here is below a sample for a 12l tank with 200b of air and a dive of 25min at 30m

dipplanner -t "airtank;0.21;0.0;12;200;50b" -s "30;25*60;airtank;0.0"

You can provide more than one tank and of course multiple segments (they will be processed in the order you provided it) Deco tanks will be automaticaly choosen if appropriate. Here is below a sample for a trimix dive : bi 12l-cylinder of Tx21/30 and Deco Nx80 (S80), 50m - 20mins:

dipplanner -t "tx;0.21;0.30;24;200;50b" -t "deco;0.8;0.0;12;200;50b" -s "50;20*60;tx;0.0"

Change some parameters of the dive

See

dipplanner --help

output to see all available parameters

You can also read :ref:`dipplanner_cmdline`

Config files

You can provide one or several config files to the program. The config file can overide any default parameter. see config/default_config.cfg for all the details

parameter are changed using this order:

  1. default parameter
  2. parameter set in config files
  3. parameter set in command line

You can also read :ref:`dipplanner_configfile`

Units : SI or Imperial

dipplanner uses only SI unit internally. However a config parameter or a command line parameter can change this behaviour. and use imperial Units

if imperial unit is set in a config file :
all the parameters from this config file and all the config files read after will be considered imperial (including command line parameters) But all the parameter in previous config files will still be considered as SI All the ouput will be done in imperial units
if imperial unit is set in command line :
all the parameter given in command line will be considered imperial, but not the parameters eventually given using config files All the output will be done in imperial units

SI and imperial unit converter uses the following correspondances:

  • bar <--> psi
  • liter <--> cubic feet
  • meter <--> feet

References

Open Source and Licence

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/gpl.html

About

Dive planner and decompression calculation program written in python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages