|
![]() |
![]() |
A dialog box requiring you to agree to the terms of DPlan's License & Disclaimer will appear when you first start the program, and anytime you return to the program after a period of inactivity. We're really just trying to communicate a few simple points:
This isn't merely the routine legalistic butt-covering we've all come to expect from software licenses... it's very important to understand what DPlan or any other modeling software can and can not do for you. Please take the time to read the complete agreement and all the documentation before using DPlan.
topDPlan is fully functional decompression software, based primarily on models published by Albert A. Bühlmann M.D, and includes the following features:
DPlan requires PalmOS 2.0 or later to run, and we recommend you use a device with a 20MHz or faster CPU and rechargeable batteries. Please see the Getting Picayune section for more information on compatibility and performance.
topDownload the Zip file containing DPlan from GUE's web site. Extract the two .prc files (you can skip MathLib if you already have it installed). If you're running a recent version of the desktop software, you can just double-click the .prc files to mark them for installation, then HotSync. Otherwise, consult the instructions that came with your device.
up top![]() |
![]() |
DPlan provides three menus that are accessed by tapping the menu icon in the lower-left corner of the silk-screened part of the display. Alternately, recent versions of PalmOS also allow you to access menus by tapping the title area of the application.
Record accesses features that allow you to save and manipulate multiple dive missions.
Edit is a standard PalmOS menu that is helpful when
entering text.
![]() |
Options allows you to configure various features of the program, and to access information about the program.
As with all Palm applications, Shortcuts are provided to reduce the number of taps necessary to activate all commonly used menu options. Users familiar with Graffiti will find this to be a time saver, but new users can still access all available features through the menus themselves.
Many of the modal (i.e. popup) windows throughout the program contain what Palm refers to as "tip text". This is indicated by the presence of an "i" icon in the upper-right corner of the title bar. When you're getting started with DPlan, check the tip text for hints and other information about each form.
Again, please read the documentation, but don't be afraid to just go play with the interface. Palm applications are supposed to be designed with a relatively consistent interface, and should be relatively intuitive to their intended user base without lengthy discussion. We hope we've succeeded with DPlan.
![]() |
Your Registration Key will be provided by GUE when you purchase DPlan. It is linked to your HotSync ID. Registering is required for the software to work and to allow you access to upgrades.
To enter your Registration Key go to Menu, Options, Registration, and enter it in the designated space. Pressing the "i" icon will open a window with tips on entering the Key.
Tapping the Help button displays information helpful to GUE in diagnosing problems, should you encounter any while using DPlan. Information displayed includes the operating system of your handheld and a hexadecimal representation of your HotSync id.
From the main register window tap Register to record your change, then tap the You're Welcome button to complete the action. You may also hit Cancel to exit without recording any changes.
Prior to obtaining your Key through GUE, you may review DPlan's features, but you will not be able to perform dive planning.
up top![]() |
Tap the menu icon, then select Options and Mixes to define the Dive Mixes. For each selected depth, enter the gas mix you would like to use for that depth. You may select up to 8 depth/mix combinations. This list of gases will populate the pulldowns on the dive entry screen, and is referenced if you have Autopick enabled in the preferences (see Preferences).
The default settings match the current GUE gas recommendations at the time of this release of DPlan. When you are done entering or modifying mixes, press OK. Your changes will be recorded and you will go back to the previous screen. To reset to the defaults tap the Defaults button. Pressing Cancel will take you back to the previous screen without recording any changes.
Please see the tip text (tap the "i" icon) for detailed information about how to format a mix entry.
![]() |
![]() |
Tap the menu icon, then select Options and Deco Sets to see a list of sets of decompression mixes that may be selected later when planning a dive. Additional Deco Sets can be added with the New button, up to a maximum of 8 deco sets. Select an existing Deco Set and tap Edit to see the details or edit its values, or tap Delete to remove it from the list. Defaults will return the list of Deco Sets to its original setup.
While editing or creating a new Deco Set, enter up to 5 depth/mix
pairs indicating when in the decompression to switch to each deco mix.
Depths need to be multiples of the standard stop depths (10ft/3m), and
the format of the mix string is the same as for the dive mixes.
![]() |
Tap the menu icon, then select Options and Deco Tuning. Pressing the small "i" button on the top of the Deco Tuning window will bring up a screen with tips on using Deco Tuning and on the meaning of some of your choices. Use the up or down button or use the scroll arrows to move up or down through the Tips. Press Done to return to Deco Tuning.
Select imperial or metric to choose the system of measure to be used during planning. To set the Gradient Factor Percentages highlight the current value for GF % Low or GF % High and enter a new value. To set the altitude use the pull down menus by utilizing the down arrow, selecting one of the available settings, or enter your own value. Note that a blank field is equivalent to zero.
Use the pulldown to select a value for Descent type. Choose either Immediate or Continuous. By selecting Immediate you will no longer be able to enter a Descent Rate. If your Descent type is Continuous you may change the value of the Descent Rate by highlighting the current value and entering your new rate. To enter a value for your Ascent Rate, highlight the current value and enter you own value. To save your Deco Tuning settings press OK or press Cancel to exit without recording changes. To reset to the program defaults press the Defaults button. A window will pop up asking you to confirm that you want to revert to the defaults. Press OK to confirm or Cancel to retain your current settings. Either action will return you to the previous screen.
![]() |
Tap the menu icon, then select Options and Preferences. Pressing the small "i" button on the top of the Preferences window will bring up a screen with tips on setting Preferences and on the meaning of some of your choices. Use the up or down button or use the scroll arrows to move up or down through the Tips. Press Done to return to Preferences.
Use the pulldown to choose whether you would like to have Autopick Mixes Enabled or Disabled. Use the pulldown to choose whether you would like to have Range Plan Enabled or Disabled. Choose a final stop value of either 10 or 20 feet by using its pulldown. If you are using the metric scale your choices will be either 3 or 6 meters. You can modify the Dive SAC rate or the Deco SAC rate by highlighting the current value and then entering your own value. To save your Preference settings press OK, or press Cancel to exit without recording changes.
To reset to the program defaults press the Defaults button. A window will pop up asking you to confirm that you want to revert to the defaults. Press OK to confirm or Cancel to keep your settings. Either action will return you to the previous screen.
up top![]() |
A Mission is a series of one or more dives. On your first use of DPlan you will be in a New Mission. Subsequently, when you enter DPlan you will see your last Mission. Your Mission is initially untitled.
Pull-down menus appear for Depth, Time, and Mix for segment #1. The
segment number indicates the portion of the multilevel dive that you are
currently planning. You may enter the Depth, Time, or Mix by using the
pulldowns or by entering your own value. If Range Plan was enabled in
the Preferences, and you leave either the Time or the Depth field blank,
you will be prompted for a Range Plan for that field (see Range Planning,
below).
![]() |
![]() |
When selecting Depth via the pulldown, when Autopick is enabled, the Mix for that segment will be automatically selected from the list of mixes you entered in the Dive Mixes form (the standard GUE mixes by default). You may override the Autopicked mix by using the Mix pull-down or by entering your own value manually. If no mix is appropriate to the selected depth, or if you enter a mix manually (via Graffiti or the keyboard), Autopick won't do anything.
Enter your expected dive Time by using either the pulldown menu values or
entering your own value.
![]() |
![]() |
You can enable the deco set that applies to your dive by accessing the Deco Set pull downs in the bottom right hand corner of the screen. On the initial opening of DPlan, the default deco gas is the active back gas. You can then choose an appropriate deco mix using the pull downs accessed through the small arrow to the left of the sets. You can modify the deco sets through the preferences menu.
The Add button allows you to add additional segments to your dive. For an example of this feature see the Examples of Planned Dives section below. The Del button will remove the last segment added.
![]() |
Now you can press the Plan button to compute your deco. A Processing window will open and display the progress of computing the deco calculation. This window will close when it is completed and your deco plan will be displayed.
If the dive requires more than 9 stops including your bottom time, the
additional stops can be accessed through the scroll bar on the right or
through the handheld's scroll buttons. If you have entered a gas that will
cause you to exceed the PO2 limits you will be alerted with an Exclamation
point next to the offending PO2.
You can access further information about your dive by pressing the Report button (see below). Press Redo Deco to modify your dive parameters on the Mission Planning screen. Press Add Dive to plan a repetitive dive.
up top![]() |
The Dive Report window provides a summary of key information regarding the dive. You cannot alter information on this screen. Tapping the "i" icon will provide information on the data displayed in the Dive Report. Tap Done to return to the Dive Report window.
Under Times you will find a summary of the total bottom time, total deco time and total dive time. All times are in minutes.
Beneath Dive Max there is a display of the highest PO2 reached during the dive, excluding the decompression portion of the dive. The highest END (Equivalent Narcosis Depth) of the dive is also displayed. This value assumes that both oxygen and nitrogen are similarly narcotic.
Deco Max will indicate these values for the decompression portion of the dive. The value for Stop is the "deepest possible stop", the point in the ascent where the leading compartment begins off-gassing.
In the two sections above, PO2s are in units of atmospheres absolute (ata) and END and Stop are displayed in feet or meters of salt water. If the inspired PO2 exceeds 1.4ata or if the END exceeds 100ft at any point during the dive, an exclamation point will appear in the report to indicate the violation. Similarly, violations are reported in the deco portion of the dive above a PO2 of 1.6ata or an END of 120ft.
Under Params you will find the display of the Gradient Factors (GF) you established in the Deco Tuning. These are the GF percentages used when planning this dive.
Gas Used shows a summary of each gas used during the dive, including deco gas. These are based on the SAC rates you established in the Preferences. These are displayed in units of cu-ft/min or liters/min.
Tap OK to return to the Mission Planning window.
up top![]() |
![]() |
After planning your initial dive, tap the Add Dive
button to plan a repetitive dive. In the upper right hand menu bar, you
will see the dive number of the current dive, with a pull down menu that
will allow you to select between the dives within this mission. The Mission
Name is displayed in the upper left. The SI (Surface Interval) is to the
right of Mission Name. Enter the value in minutes for SI by using the
pull-down menu values or entering your own value. The rest of the screen
is the same as the Mission Planning screen you used to enter the initial
dive. You may have a maximum of eight dives per mission.
![]() |
The segments in each dive may be used for planning multilevel dives. Each segment can have a different depth and time, and gas mixture. This might be used when there are points of interest at different depths or when the profile of the dive environment requires depth changes during the dive, for example, in a cave system where the depth changes in different sections of the cave.
When planning a dive, you may add segments to or delete segments from
the end of the list by tapping the Add or
Del buttons.
![]() |
![]() |
Range Plans allow you to view multiple planned dive times or depths for a particular dive. If when planning a dive you omit the value for Time, and then tap Plan, the Time Range Plan window will open. Similarly, omitting the value for Depth, and then tapping Plan, will open the Depth Range Plan window. A range plan can be computed for a multilevel dive just as easily as a square profile dive, as long as only one depth or time value varies.
From the Range Plan window, tapping the "i" icon will provide information on the use of Range Plan. Tap Done to return to the Range Plan window.
If you are performing a Depth Range Plan, you will be Prompted for Low and High values for Depth, as well as an Interval. All of these fields are measured in feet or meters, depending on the unit selection you made in Deco Tuning. You may select from the pull-down menu values or enter your own value. Low represents the shallowest depth. High represents the deepest depth in your range. Interval represents the number of feet or meters to use as spacing increments in the Range Plan report.
![]() |
If you are performing a Time Range Plan, you will be prompted for Low and High values for Time, as well as an Interval. All of these fields are measured in minutes. You may select from the pull-down menu values or enter your own value. Low represents the shortest dive time. High represents the longest dive time in your range. Interval represents the number of minutes to use as spacing increments in the Range Plan report.
For both Time and Depth Range Planning, the Interval must result in 9 or fewer
equally spaced spans, otherwise you will receive an error message. Tapping
OK will compute the Range Plan, while Cancel
will return to the dive entry screen.
![]() |
![]() |
The calculation will result in the opening of a Range Planning Processing window with a display of the progress, showing the range being calculated and the total number of spans to calculate. When complete, the window will close and you will see the deco plan for the first Range. At the bottom left of the screen, you will see a display of the Range number you are viewing and the number calculated. You may use the pulldown menu to select the next Range Plan to view.
Tapping Redo Deco will return you to the Mission Planning window. Tapping Report will open the Report window for the Range you are viewing. Tapping the Summary Icon will reveal a Deco Summary for the entire range of dive plans.
up top![]() |
When you are done planning your mission, you may save it for future reference by tapping the menu icon, and selecting Save Mission. Enter a Name for your mission in the Save Mission window that opens, and press OK to save or Cancel to return to the previous window without saving the mission.
Since your handheld will always return you to your last point in DPlan when
you return to DPlan, you do not need to save the mission unless you want to
plan other missions or want to re-use the mission in the future. "Untitled" is
a reserved word. You may not use it as your Mission Name when saving a
mission.
![]() |
![]() |
To load a saved mission, tap the menu icon and select Load Mission. (If your current mission hasn't been saved, you'll be prompted to avoid losing the information.) Highlight one of your saved missions. From this screen you may Rename the mission, Delete it, or Load it into DPlan. You may also press New to begin a New Mission.
If you select Rename, the Save Mission window will open, with the old name of the mission highlighted. You may enter your new name, and press OK to save with the new name or Cancel to return to the previous window without renaming the mission.
If you select Delete, you will be asked to confirm your intent to delete the mission. Press OK to delete or Cancel to return to the previous window without deleting the mission.
If you select Load, the saved mission will be loaded into DPlan and you will be placed in the Deco Plan window.
If you select New from this form (or from the menu on the main screen), a new mission will be created. Tuning values for a new mission are inherited from the current mission, so if you consistenly dive with tuning different than the defaults you won't have to re-enter that information each time. (Imagine how annoying that would be for our Metric friends!)
up topMany of the points discussed in this section revolve around fine details of DPlan's implementation of published decompression algorithms. It's probably more information than you need to know directly -- if you take it all too seriously, it might suggest a level of precision in the algorithm that simply does not exist in the physical reality of decompression diving. Nevertheless, this information may help facilitate understanding what the numbers really mean, and is presented to that end.
Some of the discussion assumes fairly deep understanding of deco algorithms. If you're having trouble with these points, read the enclosed papers by Erik Baker that go into exquisite detail.
up topDPlan is compatible with devices running PalmOS 2.0 and later. We recommend using a 20MHz or faster CPU. Palm's Hardware Comparison Matrix contains additional information on which models come with which CPUs.
DPlan uses more CPU than most PalmOS applications. As a result, it's logical to anticipate that using DPlan frequently will tend to run through batteries on your Palm a little faster than you may be accustomed to. The solution is simple enough: Use rechargeable batteries. Many of the high-end models come with Lithium-Ion batteries and recharge in the cradle, and this seems to be the best overall approach.
up topDPlan divides the dives into three phases: bottom time, initial ascent, and decompression. In each phase, the underlying algorithm computes fractional times that would be a little confusing if they were to be presented directly, so DPlan (like most decompression software) rounds these values to whole minutes as described below. Let's begin by examining a single-level dive, using all the default tuning parameters, the profile of which is presented in the screen shots below.
![]() |
DPlan defaults to a "continuous" descent at 99 ft/min, which means that it applies the Shreiner equation to compute compartment loading that occurs over the 1.5 min it takes to descend. This descent time is included in the bottom time, and DPlan then uses the standard Haldane equation to compute 38.5 min at a constant depth of 150 ft.
Alternately, if the user would have opted for an "immediate" descent, the Shreiner equation would not have been applied and the full 40.0 min would have been computed at 150 -- the effect of this would generally be to increase compartment loading somewhat.
![]() |
Next, DPlan computes the ascent to the first decompression stop. This isn't quite as simple as computing the "ceiling", since the compartments would continue to ongas and offgas during the ascent, which can shift the ceiling either up or down depending on the particulars of the dive. Thus, DPlan ascends at a default of 33 ft/min in increments of 10 ft, looking for the first deco stop. When it decides on 80 ft, the effect is that a continuous ascent of 2.1 min will have occurred, with the Shreiner equation being used to compute compartment pressure.
This 2.1 min is not explicitly shown in the profile displayed by DPlan. It is, however, included in the deco time that appears in the Report.
DPlan's deco calcs are based around run time. As such, the first deco stop is fractional, rounded up in length to make the run time at the end of the first stop be a whole number of minutes. So, in this example, the 80 ft stop is actually 0.9 min long.
Subsequent deco stops are in whole minutes, and never less than a minute.
The time for the ascent to the surface from the last deco stop, which in this case takes 0.3 min, is not explicitly shown in the profile displayed by DPlan. It is, however, included in the deco time that appears in the Report.
![]() |
The same principles apply to the bottom time of a multilevel dive as are described above for a single-level bottom time. In the example on the right, the descent to 80ft at 99ft/min takes 0.8 min, so we actually spend only 14.2 min during our first constant depth at 80ft. Next, the descent from 80ft to 100ft at 99ft/min takes 0.2 min, and therefore the time at a constant depth of 100ft is 59.8 min. The ascent from 100ft to 80ft at 33ft/min takes 0.6 min, and therefore we spend 14.4 min at a constant depth of 80ft.
Again, as with the single-level dive, if the user had opted for an "immediate" descent, the full 15min would have been spent during the first stint at 80ft, and the full 60min would have been spent at 100ft. However, there is no such thing as an immediate ascent, so some of the second stint at 80ft will go to the travel time from 100ft up to 80ft regardless of this setting.
DPlan will display a warning if you enter times too short to accomodate the travel time necessary to reach that level.
Time flies like an arrow. Fruit flies like a banana.
up topAll pressure calculations in DPlan are done in units of either fsw or msw. Those really are pressure units, not distance units. Too many folks think they're interchangeable with feet and meters, but they're really operating in a whole different realm.
DPlan implements ZHL-16B, with the "1b" values for the first compartment. The "1" values are generally regarded as too fast except perhaps for extreme bounce dives. The fastest compartment isn't likely to play a significant role for most technical dive profiles, anyway, so this is largely a moot point.
Dry air is assumed to have 79% N2.
DPlan uses a respiratory quotient of 0.9, because it falls in the middle of commonly used values ranging from 0.7 to 1.0. This results in a reduction of alveolar pressure by 1.848fsw (0.567msw) from ambient pressure. (Bühlmann was somewhat less conservative with a value of 1.0).
DPlan computes compartment off-gassing during a surface interval using a simple Haldane (constant-depth) formula. It's no different than a segment of the dive, except that it's 79% N2 breathed at the surface pressure (as defined below in the Altitude section).
There is definitely more to conducting repetitive dives than the dissolved gas models can explain. Bubble models like VPM and RGBM may do a better job with this, but it's still pretty early to tell. Clearly in repetitive diving it becomes even more important than usual to avoid pushing the M-values during the ascent (by doing deep stops) and to slow the ascent (especially the final ascent to the surface) -- not only on the repet dive, but on the dive beforehand! In any event, you really ought to have a good long talk with your instructor about repetitive diving. There's more to it than meets the eye.
When the altitude is 0, DPlan assumes a surface pressure of either 33fsw or 10msw. At higher altitudes, it uses the following formula:
/* calc_barometric_pressure ** ** Purpose: This sub calculates barometric pressure at altitude based on the ** publication "U.S. Standard Atmosphere, 1976", U.S. Government Printing ** Office, Washington, D.C. The source for this code is a Fortran 90 program ** written by Ralph L. Carmichael (retired NASA researcher) and endorsed by ** the National Geophysical Data Center of the National Oceanic and ** Atmospheric Administration. It is available for download free from ** Public Domain Aeronautical Software at: http://www.pdas.com/atmos.htm */ double calc_barometric_pressure(Altitude, useMetric) double Altitude; int useMetric; { double Radius_of_Earth, Acceleration_of_Gravity; double Molecular_weight_of_Air, Gas_Constant_R; double Temp_at_Sea_Level, Temp_Gradient; double Pressure_at_Sea_Level_Fsw, Pressure_at_Sea_Level_Msw; double Pressure_at_Sea_Level, GMR_Factor; double Altitude_Feet, Altitude_Meters; double Altitude_Kilometers, Geopotential_Altitude; double Temp_at_Geopotential_Altitude; double Barometric_Pressure; Radius_of_Earth = 6369.0; /* kilometers */ Acceleration_of_Gravity = 9.80665; /* meters/second^2 */ Molecular_weight_of_Air = 28.9644; /* mols */ Gas_Constant_R = 8.31432; /* Joules/mol*deg Kelvin */ Temp_at_Sea_Level = 288.15; /* degrees Kelvin */ Pressure_at_Sea_Level_Fsw = 33.0; /* fsw based on 101325 Pa */ /* at sea level (Standard Atmosphere) */ Pressure_at_Sea_Level_Msw = 10.0; /* msw based on 100000 Pa */ /* at sea level (European System) */ Temp_Gradient = -6.5; /* Change in Temp deg Kelvin with */ /* change in geopotential altitude, */ /* valid for first layer of atmosphere */ /* up to 11 kilometers or 36,000 feet */ GMR_Factor = Acceleration_of_Gravity * Molecular_weight_of_Air / Gas_Constant_R; if (useMetric) { Altitude_Meters = Altitude; Altitude_Kilometers = Altitude_Meters / 1000.0; Pressure_at_Sea_Level = Pressure_at_Sea_Level_Msw; } else { Altitude_Feet = Altitude; Altitude_Kilometers = Altitude_Feet / 3280.839895; Pressure_at_Sea_Level = Pressure_at_Sea_Level_Fsw; } Geopotential_Altitude = (Altitude_Kilometers * Radius_of_Earth) / (Altitude_Kilometers + Radius_of_Earth); Temp_at_Geopotential_Altitude = Temp_at_Sea_Level + Temp_Gradient * Geopotential_Altitude; Barometric_Pressure = Pressure_at_Sea_Level * exp(log(Temp_at_Sea_Level / Temp_at_Geopotential_Altitude) * GMR_Factor / Temp_Gradient); return Barometric_Pressure; }
If you really want to go nuts, 10msw absolute is not really the standard atmospheric pressure. It's close enough, though, certainly given the day-to-day fluctuations this algorithm completely ignores. How many of you measure the precise atmospheric pressure before each dive? None of you? Good. You definitely have better things to do.
Credit: The code was translated into C from a FORTRAN subroutine used in one of Erik Baker's programs. He lifted it from the URL listed in the comments.
up topThere's probably more. Just go play. DPlan warns you if you try to violate any limits.
max depth = 500 fsw (150 msw)up top
max levels in a multilevel dive = 7
max time on a bottom level = 300min
max number of missions = 40
max dives per mission = 8
max plans in a range dive = 9
max surface interval = 720min
min surface interval = 30min
max PO2 without a warning = 1.4ata dive, 1.6ata deco
min PO2 without a warning = 0.16ata
max END without a warning = 100fsw dive, 120fsw deco
max mixes presented in gas use report = 6
max decosets = 8
max gas switches in a deco set = 5
Copyright © 2001 Global Underwater Explorers.
All rights reserved.