Shearwater's bulhman implementation assumptions

Please register or login

Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

Benefits of registering include

  • Ability to post and comment on topics and discussions.
  • A Free photo gallery to share your dive photos with the world.
  • You can make this box go away

Joining is quick and easy. Log in or Register now!

Etmutt

Contributor
Scuba Instructor
Divemaster
Messages
148
Reaction score
101
Location
middle east
# of dives
I'm a Fish!
Hello all,

I've been following this thread on which @int tries to implement bulhmann for an hypothetical apple watch app.

One seems quite clear : while bulhmann model underlying principles are public, but it allows for a number of assumptions and a range of different implementations.

Is shearwater "bulhman type" algorithm public or is it considered a trade secret?
 
One seems quite clear : while bulhmann model underlying principles are public, but it allows for a number of assumptions and a range of different implementations.
The range isn't that wide. All the major implementations are fairly close, just not identical out to the last decimal place.
Is shearwater "bulhman type" algorithm public or is it considered a trade secret?
I am sure there are proprietary details, but in the main, the algorithm is well known.
 
It's actually @int who is coding the watch app. Straight Buhlmann is quite straightforward, and "assumptions" are tied to the environment (salinity, altitude) or behavior (ascent/descent rates). Pretty well nailed down. Biggest variable is the choice of coefficients and compartments, but that is typically specified (e.g., ZHL-16C).

Buhlmann+GF is where it starts diverging from straightforward. How to anchor the GFlow end of the line? How to handle Helium? One interesting writeup explores this.

On the flip side, if the answers are close, what does it matter? This is the whole "sharp black line through a gray fuzzy area" thing. Hopefully your choice of GF (conservatism) will obviate such discrepancies.
 
On the flip side, if the answers are close, what does it matter? This is the whole "sharp black line through a gray fuzzy area" thing. Hopefully your choice of GF (conservatism) will obviate such discrepancies.
The "sharp black line through a gray fuzzy area" thing comes up often on SB. :wink: ( think it is the main thing driving the what-defines-a-tech-diver thread)
 
Hey

I do understand that overall influence is limited but from my (limited) understanding some choices are not trivial.

As you were saying GF implementation isn't so straight forward. As well, M values for Helium aren't to be found (by me at least:wink:), whichgoes well beyond United impact. You could also mention the m values type themselves: are we talking bulhmann or workman's? You could also mention thewater vapor effect..

I do understand that those parameters mostly impact the algorithm marginally; but my question really is to know if shearwaters algo is open or considered trade secret.
 
The prose description of shearwaters algo is public. The source code(actual implementation, with all those little details) is secret.

I could be wrong, but I don't know of any current DC whose source code is open, and without the source there will always be details that matter that aren't known.

But then, drinking one more glass of water before you dive probably changes your actual DCS risk as much as some of those fiddly details. And how active you are at the bottom and stops probably has a bigger effect than all those details combined. The "sharp black line through a gray fuzzy area" thing.

I guess I should be asking why you want to know. I just realized you are a way more experienced diver than I am.

I probably have a reputation here for being all about those little details, but it is mostly academic/philosophical. From that perspective, all those details mater and are FUN to obsess about!

But if you are just trying to dive safe. You probably know more than me. All the current computers are almost equal, and your energy is better spent on diver behavior. And, the readability and user interface of the DC are probably more important than the algorithmic details.
 
Hey

For the why (beside the obsession over little details which I do like as well😁):

- part of the appeal of bulhmann based computer (shearwater, ratio, Heinrichs W., and all other) is that they base themselves over open, verified and tested, algorithm.

- the second part of the appeal of bulhmann based computers is that their algorithm is shared between brands. Theoretically, you could dive an OSTC and a shearwater together with same results, which is neat while team diving, but anybody can tell you it rarely matches exactly😕

While one may disagree with the 2 points above, they are definitely a part of the narrative that draws people to bulhmann computer.
Shearwater is (and for good reasons in my experience) the market leader in this range of computer. I, and others, would consider them as an authority on bulhmann implementation. So this thread is to call on them to check how open the algo truly is, and to satisfy my curiosity over the choices they made😅
 
I compared my Teric to Subsurface (whose code is freely available), looking at the freshwater NDL planner for 60 ft and 100 ft, as well as a trimix to 200 ft on 18/45 for 15 mins descent+bottom time. The agreement to within 1 minute in the several comparisons tells me:
They clearly use water vapor, and that value is pretty close to 1.9 ffw.​
They use ZHL-16C coefficients for nitrogen (also specified in the manual) and ZHL-16B coefficients for helium (because there is no ver. C for helium).​
Helium is handled via a weighted average of N2 & He M-values based on the current tissue loading.​
NDL time is defined by a nonzero ceiling, meaning that on/off-gassing during ascent is ignored.​
Assumed rates of 60 & 30 fpm (descent & ascent); This is also specified in the SW manual.​

You could also mention the m values type themselves: are we talking bulhmann or workman's?
Bulhmann/Workman coefficients are equivalent and can easily be converted to the other. Attached is a commonly available source for those coefficients.

While reverse-engineered tuning parameters and algorithm choices are hardly authoritative, they're close enough to give me confidence in Shearwater's implementation.
 

Attachments

  • mvalues.pdf
    134.2 KB · Views: 57
Theoretically, you could dive an OSTC and a shearwater together with same results, which is neat while team diving, but anybody can tell you it rarely matches exactly
LOL, I have two Terics on my right arm, and they NEVER match exactly. (The one nearer my elbow always clears deco before the one on my wrist. I've seen variations up to 30 seconds, just by being 3 inches deeper.) Variations between manufacturers' implementations are either "close enough" or people adjust the conservatism to make them "close enough".
 

Back
Top Bottom