Hi Rick,

> On 25 Oct 2015, at 02:07, Rick Walsh <[email protected]> wrote:
> 
> Doing VPM-B calculations for dives outside of the planner has not been
> possible because real dive data does not record either:
>       - reference pressure for the Boyle's law compensation (i.e.
> first_stop_pressure), or
>       - deco_time for the vpmb_next_gradient function used to do the CVA
> calculations
> 

This is definitely a step in the right direction. We should be able to use VPM 
also to say something meaningful for existing dives.

> However, we can infer these values to be:
>       - first_stop_pressure is the deepest ceiling in the dive
>       - deco_time is dive time remaining

It is just that I need some more convincing that this is the right thing to do. 
I agree that it gives the correct ceiling for planned dives.

You know, the current ceiling im VPM is a somewhat ill defined concept: It 
depends on the allowed tension but that is determined in the CVA (which makes 
no sense for an existing dive). Forget Boyle compensation for a moment, then 
the CVA determines the tension by integrating the tension over the 
decompression time (and adding a surface bit), calling this the volume of free 
(i.e. in bubbles) gas and comparing this to a critical value.

The integration there does not look like one, since the VPM profiles, the 
tension is a constant during deco (ignoring Boyle), so it’s simply tension 
times deco time.

My concern with taking the deco time of the real dive is that it goes in the 
wrong direction: Imagine starting with a dive that follows exactly a VPM-B 
planned profile. Then, as you write, with your code, you get the allowed 
tension and hence the ceiling as in the planner. But now imagine, the diver 
cuts the deco short. Then your code sees a shorter deco time and for the 
product tension * deco time to stay under a critical limit, the tension can 
actually increase which in turn means the ceiling during the dive goes up 
(towards the surface). This to me sounds counter intuitive.

Also, in the above calculation, only the deco time is supposed to be counted. 
That is is the time in which the there is off-gassing. During the dive, when 
there is on-gassing still going on, taking the remaining dive time is certainly 
wrong.

I would think, that traditional ceilings as for Buehlmann just don’t make sense 
for VPM.

There is still something one could call  a ceiling: You know that when 
planning, you can get a red profile when you add a point above the ceiling, 
i.e. when VPM would compute a first stop deeper than where you currently are. 
In that case, you would say you violated a ceiling. So for a real dive, you 
could define a  ceiling at time t as: Take the dive up to that point, but then 
ascent with the ascent velocity to depth d and then let the VPMB planner plan 
the deco from that point. Find the minimal d for which that planned deco would 
not turn the profile red. If you know what I mean.

One could also try something completely different: After all, VPMB really 
judges a dive based on the free gas volume (computed as the integral as above, 
for real dives the integral is more complicated than a product): Is it above or 
below the critical value. But this is of course a single number for a dive and 
not one per instant of time (like a ceiling). But maybe, with some further 
thought, that could also be turned into something plowable (like for example 
the current bubble volume producing rate).

But right now, some younger members of my family want me to prepare breakfast 
for them. Will write some more later.

TL;DR: I don’t think this patch produces something that is meaningful for real 
dives. I like the code but need more convincing about the philosophy.

Best
Robert

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to