On 23 Nov. 2017 8:31 am, "Robert Helling" <[email protected]> wrote:

Hi Rick and others,

It looks like we cross-posted with your email and my comment on your pull
request.


I am trying to understand what is wrong with the ceiling in my threaded
planner branch when using VPM-B (Buehlmann appears to work ok). I have to
admit I do not really understand how the interaction between the deco
information for the profile and and the planner is supposed to work there:
There is a clear discrepancy between what the planner computes (which
cannot be totally off since the tests pass) and the shown ceiling. But when
I save the planned dive, in the usual log it looks about right.

So I looked at profile.c, and in calculcate_deco_information(), I tried to
remove the in_planner() exceptions for VPMB (see attached patch).




This makes also the plotted ceiling in the planner look good. Unfortunately
only approximately. And there are cases, when the planned dive breaks
through the ceiling of the profile (resulting in the profile turning red).
So it seems, the profile is guessing some deco parameters and gets this
almost right but only almost.

I haven't tested it, but it looks like the patch would work in making the
ceiling is treated the same inside and outside the planner. From limited
testing last night (/ this morning depending on your timezone) I thought
the ceiling calculated outside the planner changed compared to master and
4.7.4, but that testing is very limited, and I haven't managee to build the
google maps plugin myself and flicking through the divelist gets stuck.

The first problem with not treating the in-planner case as special is that
the ceiling doesn't exactly match (and I don't think ever will, no matter
how much effort we put into the out-of-planner vpm ceiling), which is less
than ideal when we should be able to borrow the variables from the planner.
The second issue with this approach is that it comes with a performance
penalty (maybe this will be less of an issue with the threaded code) as the
cva calculation is iterative in order to calculate deco time.


Unfortunately, I did not follow the recent improvements to the vpmb profile
ceiling really closely. Does anybody (probably Rick) which deco parameters
we were using form the planner in the profile? Is it just deco_time? Then
there might be some way to „leak“ that value from the planner to the
profile.

We also need first_ceiling_pressure. That is within struct deco_state so
should ne available.

As a random guess (and not having looked at your threaded code), could it
be things are getting lost/reset between iterations?

I hope to have a chance this weekend to look at the code.

Cheers?

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

Reply via email to