There is an interesting discussion over at ScubaBoard how the non-decompression limit (NDL) is affected by the settings for gradient factors (GFlow and GFhigh), in particular which of the two is relevant. My initial reaction was: It’s clearly GFlow, as that sets the depth of the first stop and the criterion for NDL is that the (theoretical) first stop is at a depth of 0.

Others argued that it must be GFhigh as that applies, by definition, at the surface.

And indeed, in this limit (of the first stop is at the surface) the idea of gradient factors degenerates: In that limit, the rate of change of effective gradient factor as a function of depth diverges. So, like in the last post, there is an interesting point that involves taking limits.

What I had in mind is the implementation in Subsurface: As you can see, as long as there has not been a stop yet (because the ceiling is still above the surface), the effective gradient factor is GFlow. So, in a no decompression dive, you would think, you never see anything else.

But to show that in the recreational mode in the planner turned out so be quite hard: I had to play a lot with the parameters to find a dive where GFlow has any influence on the total dive time of a recreational dive (defined as a dive without mandatory stops and without running out of gas). Eventually I found one: For an air dive to 20m (with an ascent rate of 20m/min for the last segment, see below why this is important), you get a maximal run time of 49min with GF settings 20/100 while you can stay for 50min with GF settings of 100/100. But changing GFhigh has much stronger influence:

What did I miss? In the end, it’s the fine-print of the definition of “first stop depth” that I already talked about in an earlier post: The problem is that for real world dives there is no clear distinction between ascent and stop. So you need to come up with some definition which depth one wants to use to actually anchor GFlow. Subsurface uses the lowest ceiling encountered during the dive so far. But in particular for dives with very little (or none at all) deco obligation that is not exactly what others might consider the first stop depth. The difference is that the diver first need to get to that depth of the ceiling before the ceiling actually becomes a stop depth. And during that ascent, there is already off-gassing going on which can eliminate the ceiling during the time it takes the diver to get there.

As an example, you could have a first ceiling (which as I explained above is determined by GFlow) at say 1m of depth. But then, in this last meter of water, the effective gradient factor has to vary from GFlow to GFhigh. Given that we are talking about dives that are only marginally deco dives, it is likely that this first ceiling comes form a very fast tissue so it is likely that much of it goes away during the short time of ascent to that depth. Then, to find the NDL, the remaining question is if there is ceiling left below the surface. But then the GFlow is already anchored at 1m so for the surface it’s really GFhigh (and GFlow is no longer relevant as there is no ceiling left at 1m where it applies).

So the challenge to find a dive where GFlow makes any difference at all for the NDL was to produce a dive where there is something left of the initial ceiling at the time when the diver gets there in the marginal case of staying a little bit shorter not occurring any stops at all. So the dive must not be too deep (otherwise the ascent takes too long and there is a lot of on the way off-gassing). That’s why I had to increase the ascent rate.

So the upshot is: It is almost entirely GFhigh that sets the difference between a non-stop dive and a decompression stop dive. But if you stay a little bit longer the depth of your first stop (and also the duration) depends a lot on GFlow.

I should not end without pointing out that once more this discussion is quite academic: Gradient factors were invented for dives that have significant deco obligation to force deeper stops. Here, we are in the limit of recreational no-stop diving. So we are really not in the realm of gradient factors. And this manifests itself in the degeneracy of the model in the case of the ceiling being exactly at the surface that determines the NDL. But it was interesting anyway.

The definition of “first stop” and when to apply GF low seems very open to interpretation and varies widely between vendors. As a baseline for experimentation on four simulators I took a borderline no-stop dive to 20m, 1 minute descent time, 19 minutes bottom time

GF 80/80

ostc planner : no stops

gap diveplanner : no stops

pastodeco : no stops

mvplan : no stops

Rerunning the simulation with GF 30/80

ostc planner : no stops

gap diveplanner : no stops

pastodeco : 1min at 6m et 1min at 3m

mvplan : 2min at 6m et 1min at 3m

So it seems like both OSTC planner and GAP diveplanner fall into the “GF low only applies to deco dives” camp.

One or two minutes of deco are really almost nothing and could well be explained by details of the implementation (as I explained in https://thetheoreticaldiver.org/wordpress/index.php/2017/11/02/why-is-buhlmann-not-like-buhlmann/ ). I would not lose much sleep over it.

The same pattern of results holds for much lower values of GF low: neither OSTC planner nor GAP diveplanner ever produce stops.

This seems to well beyond what can be explained by rounding and is much more into the domain of different interpretations of a corner case of the algorithm.

I was faced with this exact dilemma during the implementation of own diving computer and although at first blush it seems reasonable enough to just not worry about the discrepancy, at the end of the day the code had to implement one approach or the other and I just can’t help feeling uncomfortable with an arbitrary choice.

The GF method, calls for the first stop to be set by the GF Lo dimension. The problem for NDL dives, where they want to preserve the “traditional NDL values” right up to deco time, is that GF Lo also creates an early onset of unwanted stops. A fudge to get around this in NDL mode, is to ignore the GF Lo so only GF Hi has any an influence on NDL.

The problem though, is all NDL dives eventually become decompression dives. So you need a transition from NDL GF mode to Deco GF mode. Take a look at the dive log of a computer that does this, and you will see as the deco begins, the transition to initial stops will come on with rush. Rather quickly the plan has gone from no deco, to 2 or 3 levels of required deco with extra minutes of deco time needed. However, that blended approach, is not proportional to the underlying needs of decompression, and not respecting the divers wishes per his GF settings.

Others might argue that GF Lo creating early stops in NDL mode, is doing exactly what has been asked of it – to lower the maximum saturation pressures accordingly and insert early stops.

That’s the compromise when trying to use GF in NDL mode. Some programs will go to the trouble to try to silently blend that transition into the ascent (those that “look” to show no GF Lo influence). Other programs just let the user make his own NDL GF settings whatever they find appropriate.

Ross,

what I tried to say in my post is exactly that even if you ” just let the user make his own NDL GF settings whatever they find appropriate” it turns out that the influence of GFlow on the NDL is almost not there.

BTW, an easy regularisation is to say that the minimal depth to apply GFlow something like 0.1m. That resolves the singularity in the formula and automatically makes sure that GFhigh is responsible for the NDL. And obviously yields a smooth transition.

I have found that another, related, problem occurs if the diver redescends after the last deco stop without ending the dive. The resolution in my case was to reset Plow (the latched first stop pressure) as soon as the deco obligation clears.