Hello developers,

I was wondering about differences between the deco stops calculated by
my OSTC 2N and by subsurface for a while. After recently studying the
Bühlmann model and looking at different implementations I found a few
lines in subsurface which are irritating to me:

In the current "core/deco.c" lines 39-41 read:
struct buehlmann_config {
double satmult; // safety at inert gas accumulation as percentage of effect (more than 100). double desatmult; //! safety at inert gas depletion as percentage of effect (less than 100).

Then, lines 49-51 state:
struct buehlmann_config buehlmann_config = {
        .satmult = 1.0,
        .desatmult = 1.01,

Obviously a value of 1.01 is not < 100 %

As the code is based on the DR5 I went to check the defaults there. In
the repository https://bitbucket.org/heinrichsweikamp/dr5_code/ in
"src/others/limits_and_standards.h" it says on lines 228 and 234:
#define RESETVALUE_percent_desaturation_multiplier      100.0
#define RESETVALUE_percent_saturation_multiplier        101.0

Thus it seems to me these two values have been interchanged by
mistake.

On most OSTCs these values are adjustable, so in the long run it
would be great to allow the same in subsurface. Yet, on the OSTC 2
(old as well as the newer models running on hwOS) the defaults are
char_I_saturation_multiplier = 110;
char_I_desaturation_multiplier = 90;
so it would be nice to incorporate these as new defaults.

By the way - the OSTC code also uses the 1a Variant of ZH-L16C, i.e.
the one with the first compartment having a 4min halftime instead of
the 5min (1b) one as on the DR5.

Best regards from Germany
Stefan

_______________________________________________
subsurface mailing list
subsurface@subsurface-divelog.org
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to