Perdix vs Subsurface deco/NDL calculations

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!

That's NDL time ("NDT" in MacDive). It's too bad Subsurface doesn't show a graph like that, it would have been easier to correlate.
So, err, what does that graph show? How does one use it?
I'm always curious if there are super useful things that we aren't doing...
 
I think it's down to Subsurface having to stair-step depth changes and the granularity of displayed times. When I am gradually descending, the subsurface-calculated NDL is greater than that of the dive computer, sometimes more than 10 minutes greater. When I am at a consistent depth, the calculated value is within a minute of the DC's value. When I am ascending, the calculated value is shorter than the DC reports.

The consistency in NDLs when depth is consistent suggests agreement with the fundamental algorithm (half-times, # of compartments, etc.). The general direction of difference is what I would expect with subsurface being forced to operate on stale depth information. In the OP's case, the time in question is during an ascent section.
NDL numbers from dive computers are (politely put) random garbage. If you dive with multiple dive computers you can get into these fun situations where on your first dive of the day half way through the dive DC 1 shows 50 min NDL and DC 2 shows 5. And on the second dive at 80ft DC 1 shows 2 minutes and DC 2 shows 15. So, err, yeah. Whatever.
Subsurface implements plain Bühlmann - you can look at the code. Dive computers all take short cuts to reduce the amount of calculation they need to do during the dive.
 
So, err, what does that graph show? How does one use it?
It's a tissue heat map.

It expresses the 16 tissue compartments and their state of on and off gassing and at what percentage in regards to Buhlmanns model. Blues, purple and black are "on gassing", green's, yellows, reds and white express "off gassing". Top to bottom is fast tissues to slow tissues.

NDL numbers from dive computers are (politely put) random garbage. If you dive with multiple dive computers you can get into these fun situations where on your first dive of the day half way through the dive DC 1 shows 50 min NDL and DC 2 shows 5. And on the second dive at 80ft DC 1 shows 2 minutes and DC 2 shows 15.

They're not "Random Garbage", at all. You seem to be overlooking the fact different computers use different decompression models such as RGBM, and even those running the same decompression model may be running a different "Low" gradients.
 
It's a tissue heat map.

It expresses the 16 tissue compartments and their state of on and off gassing and at what percentage in regards to Buhlmanns model. Blues, purple and black are "on gassing", green's, yellows, reds and white express "off gassing". Top to bottom is fast tissues to slow tissues.



They're not "Random Garbage", at all. You seem to be overlooking the fact different computers use different decompression models such as RGBM, and even those running the same decompression model may be running a different "Low" gradients.
Ah, yeah, the 16 tissue heatmap Subsurface has (it's in one of the posts above). I thought there was some graph of NDL times and was confused. My mistake.

As for the NDL times, let's just agree that you and I disagree. I typically dive with way too many dive computers (occupational hazard) including multiple models that claim to use the same deco model, the same parameters, etc. They still display vastly different things.
 
So, err, what does that graph show? How does one use it?
The graph I mentioned is the green line in the MacDive screenshot, which shows the reported NDL time at each point in the dive -- zero at the bottom, 99/infinite at the top of the graph.

However, what would be even nicer is a SurfGF graph, I think. :)
 
The graph I mentioned is the green line in the MacDive screenshot, which shows the reported NDL time at each point in the dive -- zero at the bottom, 99/infinite at the top of the graph.

However, what would be even nicer is a SurfGF graph, I think. :)

Ahh, now I get it. That NDL line of course adds to the profile clutter in the graph, but it shouldn't be hard to add. But then of course you add another option (surface GF) which makes this more complicated... which one do you want? And if we add one, will someone else say "but I prefer the NDL one"... this is always the crux with these things... everyone has their own preferred 'thing' and if you do all of them, what you get is a mess :confused:
 
Ahh, now I get it. That NDL line of course adds to the profile clutter in the graph, but it shouldn't be hard to add. But then of course you add another option (surface GF) which makes this more complicated... which one do you want? And if we add one, will someone else say "but I prefer the NDL one"... this is always the crux with these things... everyone has their own preferred 'thing' and if you do all of them, what you get is a mess :confused:

I really like how you can pick and choose some stuff with the toggles.. it can be a mess, but doesn't have to be.
 
However, what would be even nicer is a SurfGF graph, I think. :)
Agree.

One thing I noticed is your sac rate of 13.2l/min. I was wondering if this was an against the current dive for you?
I am thinking this was a nitrox 32% gas?
 
The Buhlman algorithm specifies some things but leaves some things unspecified which can lead to differences in implementation.

Gradient factors aren't part of buhlmans algorithm but are a common way to adjust the conservatism of it. How the gf low and gf high are blended can lead to some differences.

I'd recommend looking at Why is Bühlmann not like Bühlmann – The Theoretical Diver to get a better idea of areas that things can diverge

Subsurface isn't using data that is all that "stale" when it's doing it's calculations - calculating the ceilings and Ndl etc with data at 5 second intervals is very similar to calculating it with real time data at 1 second intervals - the amount of tissue loading that happens in a couple of seconds is very small.

Some things Subsurface can do better than a dive computer is it can take advantage of the fact that it's not running on a small (likely 32 bit) embedded processor and can make full use of more precise data types that would be less efficient on an embedded device.

Between the shearwater and Subsurface, I'd trust subsurface's calculations since I've looked over their code a lot and can see what decisions they've made in how they calculate things. They aren't doing anything fishy in there. If they have a lower NDL it's likely because that's what a reasonable interpretation of the Buhlman algorithm would give you then.

I'm assuming that Subsurface and the shearwater both have the same information (starting surface pressure, salinity, previous dives tissue loading, etc?)
 
the amount of tissue loading that happens in a couple of seconds is very small
No disagreement there. (In my dives, the NDL estimates agree when depth is consistent, so similar tissue loading estimates seem a given.)

It's primarily when depth is changing that I see the NDLs diverge, and the depth change during an interval can be significant. The default logging interval is 10 seconds, BTW. [Edit: I just noticed the OP said 5 second intervals, but I think the point still stands.]

I speculate there is simply a slight difference in "current" depth (that for which the NDL is computed) between the implementations. Comparisons during significant depth changes are therefore a bit meaningless.
 
https://www.shearwater.com/products/swift/

Back
Top Bottom