DPlan - Waypoints

Dive Waypoints are entered in the following formats:

flag
Depth
Depth Time
Depth Time FO2
Depth Time FO2 FHe
Depth Time FO2 FHe flag
' comment

Each waypoint is 1-5 items separated by spaces. One waypoint per line. Blank lines are ignored. Users are limited to 50 waypoints per batch. Depths are in feet. Times are in minutes. There is no time limit, although very long decompression times may cause program abort.

If Time is set to -1 ( or omitted ) from any waypoint, the program will attempt to calculate a sensible time for that stage. This is generally the no-deco time to the next stage. If the next stage is to conclude the dive, then the program will generate the no-deco time for that depth, assuming it is possible. This might do exactly what you hoped, like calculate the no-deco time for the depth, or it might do something you didn't expect at all. If that happens, it will be pretty obvious. Or it may simply fail to calculate anything at all. There's an old programming adage: Garbage in - Garbage out.

Gas mixtures are specified as decimal values between 0.00 and 1.00. Gas values are optional. If no gas values are given, the program begins with the default values specified in Equipment. If just one gas is given, Nitrox is assumed, fHe = 0.00. If two gases are given, Trimix ( or Heliox ) is assumed. Gas mixes are carried over from one waypoint to the next.

At times the program will change the gas mix itself, overriding whatever the point might have inherited from its predecessor. An obvious example is deco gas switches. Rebreather modeling is also done this way, with the rebreather routine calculating new gas mixes at every point based on the Equipment settings.

PO2 at any stage in a dive is limited from 0.12 to 1.65 Atm. PO2s outside this range will cause an immediate program abort. The minimum FO2 is 0.05. There are no enforced limits on helium or nitrogen - so you can narc yourself to heaven.

By default, all waypoints in a series are assembled into a single multi-level dive. To create repetitive dives, insert a waypoint with a depth of 0 and a time for a surface interval. If the surface interval time is omitted or set 'auto', the program will generate a minimum useful surface interval for you. Surface intervals default to air, but may also use gas mixes, to simulate very bad days.

To reinitialize the algorithm between dives, as for creating dive tables, insert a waypoint of 'reset'. To stop the program from reading more input, insert a flag of 'end'.

Manual gas switches may be inserted with zero-time waypoints if desired. Gas switches are assumed to be at the end of an ascent or the beginning of a descent. See Decompression.

Rebreathers have a few extra options. To simulate open-circuit bailout on a rebreather dive, insert a waypoint of 'ocb'. See Equipment below for details. To override the O2 setpoint of a CCR, add the new setpoint as a fifth waypoint item. You can put 0.00 0.00 for the gas mix, the CCR ignores this and calculates its own gas mix. The new value will hold for the current segment of the dive only, then revert to the default values.

Comments may be inserted by placing a single quote at the beginning of a line. Any line may be commented-out.

Some Waypoint examples:

  • reset - resets Dive Profile, clears all previous gas loads ( New Day )
  • ocb - switches rebreather to Open-circuit bailout
  • end - stops further input
  • 100 - calculates time, inherits mix from previous point
  • 100 auto - calculates time, inherits mix from previous point
  • 100 20 - inherits mix from previous point, or defaults
  • 100 20 0.32 - Nitrox 32
  • 100 20 0.32 0.00 - Nitrox 32, the hard way
  • 190 20 0.15 0.45 - Trimix 15/45
  • 190 20 0.00 1.00 - Heliox
  • 30 10 0.80 - 10 minute deco stop on Nitrox 80
  • 30 0 0.80 - zero-time gas switch to Nitrox 80
  • 30 auto 0.80 - calculated deco stop
  • 0 - surface interval, program will calculate appropriate time
  • 0 auto - surface interval, program will calculate appropriate time
  • 0 60 - surface interval, 60 minutes
  • 0 30 1.00 - breathing pure O2 because you feel bad after a dive
  • 'comment - a comment
  • '100 20 - a trashed input line

A Profile example:

140 20
0 90
80 25 0.32

The default set of waypoints ( at right ) is as follows:

  • Line 1: A 20 minute dive to 140 feet on air.
  • Line 2: A 90 minute surface interval.
  • Line 3: A 25 minute dive to 80 feet on 32% nitrox.

The program will automatically supply any needed surface points. This generates the following output for the two dives:

Initialize : Altitude = 0 ft, FO2/FHe = 0.21 / 0.00

stage      depth   time  time   FO2/FHe    PO2   PN2   Vol   note:
-----      -----   ----  ----  ---------  ----  ----  -----  -----
Descent to   140    3.3     3  0.21/0.00  1.10  4.14    3.8
Waypoint     140   20.0    23  0.21/0.00  1.10  4.14   73.4  DC= 22'
Norm Stop     20    4.0    30  0.21/0.00  0.34  1.27    4.5  PR=2.14
Norm Stop     10    7.0    38  0.21/0.00  0.27  1.03    7.3  PR=2.04
Surface        0    0.0    39  0.21/0.00  0.21  0.79    0.0  PR=2.00

        Total Run Time  = 39 minutes
        Pulmonary O2    = 25 OTUs
        CNS O2 single   = 9.0%
        CNS O2 24hour   = 8.5%
        END             = 140 ft (N2 only)

        Total Gas       =  92 cubic feet

Srfc Intvl     0   90.0   129  0.21/0.00  0.21  0.79    0.0

Repetitive dive:

stage      depth   time  time   FO2/FHe    PO2   PN2   Vol   note:
-----      -----   ----  ----  ---------  ----  ----  -----  -----
Descent to    80    2.3     2  0.32/0.00  1.10  2.33    0.7
Waypoint      80   25.0    27  0.32/0.00  1.10  2.33   59.9  DC=  0'
Safety Stop   15    5.0    34  0.32/0.00  0.47  0.99    5.1  PR=1.43
Surface        0    0.0    35  0.21/0.00  0.21  0.79    0.0  PR=1.64

        Total Run Time  = 35 minutes
        Pulmonary O2    = 30 OTUs
        CNS O2 single   = 10.9%
        CNS O2 24hour   = 18.7%
        END             = 140 ft (N2 only)

        Total Gas       =  68 cubic feet

In addition to the dive profiles, all other relevant input parameters are echoed back in a single header section, similar to the following:

D-Plan 1.0

Program Settings:

    Buehlmann ZH-L16B 1990 (1b)

    Open-Circuit: SAC = 0.70 cfm
    Salt water: 33 ft/Atm
    Sea Level ( 1.000 ATA )

    Descent Rate:   30 fpm ( depth: 0-60 ft )
                    60 fpm ( depth: 60+  ft )
    Ascent Rate:    30 fpm ( depth: 0-60 ft )
                    60 fpm ( depth: 60+  ft )

    Deco Stops from 10 ft at 10 ft intervals

    PH2O = 0.0618 Atm ; PCO2 = 0.0526 Atm ; RQ = 0.85

Dive Waypoints: 
 
     Initialize  Depth  Time   FO2   FHe  Equipment
     Waypoint     140     20  0.21  0.00  Open-circuit 
     Srfc Intvl     0     90  0.21  0.00  Open-circuit 
     Waypoint      80     25  0.32  0.00  Open-circuit 
     Waypoint      15      5  0.32  0.00  Open-circuit 

Results generated 0000-00-00 00:00 PM

This would equate to a single day of diving, with the second dive calculated as repetitive after the first.

140 20
reset
80 25 0.32

This profile substitutes a reset for the surface interval. This will cause the second dive to be calculated independently of the first, not repetitive. This is not the same as two consecutive days, in this case, the first dive has no effect whatsoever on the second. To make a multi-day profile, insert very long surface intervals between the days:

  • 12 hours = 720 minutes
  • 13 hours = 780 minutes
  • 14 hours = 840 minutes
  • 15 hours = 900 minutes
  • 16 hours = 960 minutes
  • 17 hours = 1020 minutes
  • 18 hours = 1080 minutes
  • 19 hours = 1140 minutes
  • 20 hours = 1200 minutes
  • 21 hours = 1260 minutes
  • 22 hours = 1320 minutes
  • 23 hours = 1380 minutes
  • 24 hours = 1440 minutes
  • 48 hours = 2880 minutes
  • 72 hours = 4320 minutes

Longer surface intervals are possible, but it really doesn't matter after 3 days.


towing bit
A huge towing bit in use on a turn-of-the-century tugboat. Notice the smaller deck cleat and the steam-powered capstan in the foreground.

Printed from njscuba.net