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
