Tec Dive computers and dive plans

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

Obviously there would be certain assumptions just like with the current version of the TTS calculation. I agree it would probably get some people in a lot of trouble.

I suppose the biggest issue is how would it know you turned around, and that pretty much kills the concept.
not that hard to have a "I turned around and will reverse what i did button"
But of course its not that far off base to assume TSS roughly doubles
 
Another question for our deco guru's! :)

Once a critical tissue compartment saturation exceeds the chosen surfacing limit M value we have moved from a No Stop profile to a manditory Decompression profile. (I don't really like the term "no decompression limit" (NDL) because all dives involve decompression, it's just for an NDL dive you don't have to stop to achieve that off-gassing)

At this point, your dive computer swaps from displaying NDL time remaining, to indicating TTS (Time To Surface). My question is what algorythm is used to estimate this value? Obviously at any given moment we know the super saturation of all of the tissue compartments, so we know how far over the limiting saturation they are, but i am wondering what estimate of inert gradient is used to effectively estimate the time it takes to off-gas those tissues back down to below the limit value? In effect (for a constant breathing gas mix), at what depth does it consider the off-gassing to occur? It would i guess make some sense to consider the current ceiling depth as this depth cannot be breached. This also means that as the diver ascends towards that ceiling, off-gassing, and the ceiling rises, the TTS also falls as both the tissue saturation falls but the availabel off-gassing gradients increase?

The algorithm I use in my tissue compartment spreadsheet is to calculate the ceiling at each segment of the dive (dive computers are doing this in real time). A formula is used to calculate the ceiling using GFHi. If the ceiling is negative (which represents above the surface) then it is an NDL dive. To calculate the NDL time a program loop is entered that starts with 1 minute at the current depth, then computes the tissue loadings and another ceiling calculation. 1 minute is added for each iteration of the loop until the ceiling becomes 0. The total minutes accumulated becomes the NDL time at that depth.

If the initial ceiling is greater than 0 indicating below the surface and therefore a deco dive, a calculation is done using GFLo to come up with the first stop depth. Once that depth is reached then the same loop done for NDL dives is done using 1 minute increments until the ceiling equals the next shallower stop depth by the stop depth increment (usually 10 ft or 3 m, but can be set to other distances in my spreadsheet). The total accumulated time to reach the next stop depth is the stop time at the current stop depth. Once the stop time has elapsed the diver can ascend to the next shallower stop. At the new stop the same loop is done using the next shallower stop depth. This cycle continues until the stop depth becomes the surface. You can look at my code (in VBA) in the spreadsheet to see how I did it. Erik Baker's code is also available written in Fortran (Yuk!).
 
At this point, your dive computer swaps from displaying NDL time remaining, to indicating TTS (Time To Surface). My question is what algorythm is used to estimate this value?

On my Perdix, TTS is always displayed in and out of deco. As pointed out by jvogt, I'm pretty sure they're running the deco algorithm every update interval to calculate what the deco schedule is, based upon the present compartment loadings and configured gas. It's the logical thing to do, plus you're just running the stock algorithm instead of some specialized bit of code.

Regardless of whether you're in deco, you're generating an ascent schedule adhering to your GF settings that contains at least one ascent segment to the surface and if deco is required, one or more constant depth segments and ascent segments. You can take the final runtime from this schedule and subtract your current runtime to get TTS. At least that's what I'd do.

For calculating remaining NDL time, I haven't quite figured out yet an elegant solution for this that isn't iteratively adding time to the current depth until the deco limit is found. Perhaps others know more.
 
For calculating remaining NDL time, I haven't quite figured out yet an elegant solution for this that isn't iteratively adding time to the current depth until the deco limit is found. Perhaps others know more.

There is another method for calculating NDL time but there are limits placed on when the calculations can be done. See Erik Baker's paper "Calculating the No-Stop Time". See the attached doc.
 

Attachments

  • deco_no-stop_time.pdf
    18.8 KB · Views: 79
There is another method for calculating NDL time but there are limits placed on when the calculations can be done. See Erik Baker's paper "Calculating the No-Stop Time". See the attached doc.
Perfect, thanks. I should have thought of solving the equation for t. I'm going to ask for a refund on my math degree.
 
Perfect, thanks. I should have thought of solving the equation for t. I'm going to ask for a refund on my math degree.

:D IRL it's a poor fit for Buhlmann as you have to convert a & b into M0 & dM all the time, with all attendant round-offs etc. In terms of coding, it's easier to Keep It Simple Stupid and run the one subroutine in a loop adding a minute on every iteration until you get the ceiling below the surface. Or hit the limit on the number iterations, e.g. 99 because it's all you can show on a 2-digit LCD -- whichever happens first.
 
not that hard to have a "I turned around and will reverse what i did button"
But of course its not that far off base to assume TSS roughly doubles
No

TTS varies with depth and gas loading. Above 50m it may be x1, below it’ll be racking up TTS much faster x2, x3, x4, etc.
 
My NDL calc currently simply looks at the available headroom between current compartment tissue pressure and surfacing limit value for that compartment (also used in the "show GF if i surfaced right now" calc) and looks at the inert gradient (set by the current depth and the tissue loading), and then just does a log calc to work out how many half lives it will take to increase the loading from where it is now, to the limiting value, and as you know the half time for this comparment, it's easy to work out in how many minutes each compartment's ceiling will come down to below the surface, pick the shortest, and that's your NDL at this time and depth.


TTS, it makes sense when the profile is non-stop, to take the depth, divide by the ascent rate, add on 3 min for a safety stop and display that. When the profile transfers into a manditory stop profile, then that's when we need to start looking at choosing sensible off-gassing gradients to be able to estimate a future decompression schedule. It'll be conservative (ie longer than actual) if the TTS does not make any attempt to include off-gassing during the ascent segments and only includes off-gassing during stops
 
No

TTS varies with depth and gas loading. Above 50m it may be x1, below it’ll be racking up TTS much faster x2, x3, x4, etc.

if you spend 30mins to get to where you are and racked up 90mins of deco in the process (at ~75m), then your 30min exit at ~75m back to your deco gas is going to add another 90mins of deco. no its not exact but its not going to be 90mins on the way in and 200 more mins on the way out.
 
but i am wondering what estimate of inert gradient is used to effectively estimate the time it takes to off-gas those tissues back down to below the limit value? In effect (for a constant breathing gas mix), at what depth does it consider the off-gassing to occur? It would i guess make some sense to consider the current ceiling depth as this depth cannot be breached. This also means that as the diver ascends towards that ceiling, off-gassing, and the ceiling rises, the TTS also falls as both the tissue saturation falls but the availabel off-gassing gradients increase?

The actual code is longer than the comment.

/*
Ascend to the ceiling/min stop depth. Stop. Wait a minute, see if we can go up. Repeat until you can go up 3m.
Repeat until surface.
Starts with a stop above the first depth. This is probably bogus as it should be the max depth or from the current
depth. An issue will arise if the current minimum depth is below the current level. Maybe that is a high level check.
*/

Waypoints find_stops(Depth depth)
{
 
https://www.shearwater.com/products/perdix-ai/
http://cavediveflorida.com/Rum_House.htm

Back
Top Bottom