Multi Deco vs Baltic - Matching and use

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!

ZHL-16 was the original work. Nobody actually plans a dive with it.

ZHL-16B was modified specifically to produce fixed deco tables and uses slightly different ‘a’ values which produce slightly more conservative schedules.

ZHL-16C was modified to run in real time on dive computers. The ‘a’ values were modified again to account for the fact that computer use removed the conservatism gained from diving fixed tables on a profile that is mostly shallower than the max depth used from the table.

You simply cannot get B and C to match over a broad range of profiles due to the difference in ‘a’ values. There isn’t even really a point in trying.

What Jeremy said ^^^
C is the most modern version for computer use and B was not intended to be used for live deco - just for making tables.
C is going to be more conservative when creating tables than B and they wont ever match.

Thanks to the both of you. This info helps a lot. Basically re-inforces what I was thinking, which is multideco and C as the best to use.

Thanks :)
 
Yeah looking now again, just on multideco, the difference is major between C and B on the dives I posted above. But add a 50% and it comes down to a difference of 1min. So it really depends on the dive.
 
Jeremy is right in that the a coefficients between the B and C Mo values are different, C being more conservative than B. The Mo (surfacing) values differ in the 5, 6, 7, 8, 9, 10, 11, 12, 14, and 15th tissue compartments. This suggests that profiles whose leading compartment is one of these will exhibit differences in deco and run times. The greater difference will probably be toward the slower compartments because they have the larger half-times compared with the faster compartments.

In regards to programming the same algorithm there are two other issues I can think of that will effect the outcome: rounding and the depth for descents and ascents. Consider this calculation: 2.388 x 4.268 = 10.1919. Rounding this result to 2 decimal places gives 10.19. If I do the rounding first I get 2.39 x 4.27 = 10.2053, truncating to two places gives 10.20, a difference of 0.01. 0.01 is not much but when working with bigger numbers or longer calculations with intermediate results the differences can be bigger, possibly affecting the profiles by minutes.

How to treat descents and ascents is an issue. In my spreadsheet I use the Schreiner equation to calculate each tissue compartment's inert gas load. The equation needs the inspired inert gas pressure at the current depth to calculate the tissue loading for that depth. But, which depth to use; The starting, median, or final depth? In the ss you can select which depth you want. Different computer programs may use different depths or some sophisticated calculation using the different types of depths.
 
I have never used Baltic but multideco desktop and mobile does match my shearwater within about a minute.
 
Perdix definitely runs C

I wonder where they found C numbers for Helium: by the B-vs-C logic you'd expect the separate set, but I have never seen it.
 
I wonder where they found C numbers for Helium: by the B-vs-C logic you'd expect the separate set, but I have never seen it.

Absolutely. Unfortunately, I don't read german...

https://www.amazon.com/dp/3540429794/

But heinrichsweikamp was ever so kind as to publish their source code, so we have this instead...

rom const float buhlmann_ab[4*16] = {
// Data ZH-L16C, from Bühlmann Tauchmedizin 2002, option 1a (4mn)
// a for N2 b for N2 a of He b for He
1.2599, 0.5050, 1.7424, 0.4245,
1.0000, 0.6514, 1.3830, 0.5747,
0.8618, 0.7222, 1.1919, 0.6527,
0.7562, 0.7825, 1.0458, 0.7223,
0.6200, 0.8126, 0.9220, 0.7582,
0.5043, 0.8434, 0.8205, 0.7957,
0.4410, 0.8693, 0.7305, 0.8279,
0.4000, 0.8910, 0.6502, 0.8553,
0.3750, 0.9092, 0.5950, 0.8757,
0.3500, 0.9222, 0.5545, 0.8903,
0.3295, 0.9319, 0.5333, 0.8997,
0.3065, 0.9403, 0.5189, 0.9073,
0.2835, 0.9477, 0.5181, 0.9122,
0.2610, 0.9544, 0.5176, 0.9171,
0.2480, 0.9602, 0.5172, 0.9217,
0.2327, 0.9653, 0.5119, 0.9267
};

rom const float buhlmann_ht[2*16] = {
// Compartiment half-life, in minute
//-- N2 ---- He ----------------------
4.0, 1.51,
8.0, 3.02,
12.5, 4.72,
18.5, 6.99,
27.0, 10.21,
38.3, 14.48,
54.3, 20.53,
77.0, 29.11,
109.0, 41.20,
146.0, 55.19,
187.0, 70.69,
239.0, 90.34,
305.0, 115.29,
390.0, 147.42,
498.0, 188.24,
635.0, 240.03
};

rom const float e2secs[2*16] = {
// result of 1 - 2^(-1/(30sec*HT))
//---- N2 ------------- He ------------
5.75958E-03, 1.51848E-02,
2.88395E-03, 7.62144E-03,
1.84669E-03, 4.88315E-03,
1.24813E-03, 3.29997E-03,
8.55371E-04, 2.26041E-03,
6.03079E-04, 1.59437E-03,
4.25414E-04, 1.12479E-03,
3.00019E-04, 7.93395E-04,
2.11949E-04, 5.60641E-04,
1.58240E-04, 4.18555E-04,
1.23548E-04, 3.26795E-04,
9.66686E-05, 2.55722E-04,
7.57509E-05, 2.00387E-04,
5.92416E-05, 1.56716E-04,
4.63943E-05, 1.22734E-04,
3.63850E-05, 9.62538E-05
//-------------------------------------
};

rom const float e1min[2*16] = {
// Integration constant for 1 minute,
// Ie. 1- 2^(-1/HT)
//----- N2 --------- e 1min He --------
1.59104E-01, 3.68109E-01,
8.29960E-02, 2.05084E-01,
5.39424E-02, 1.36579E-01,
3.67742E-02, 9.44046E-02,
2.53454E-02, 6.56359E-02,
1.79351E-02, 4.67416E-02,
1.26840E-02, 3.31991E-02,
8.96152E-03, 2.35301E-02,
6.33897E-03, 1.66832E-02,
4.73633E-03, 1.24808E-02,
3.69981E-03, 9.75753E-03,
2.89600E-03, 7.64329E-03,
2.27003E-03, 5.99417E-03,
1.77572E-03, 4.69082E-03,
1.39089E-03, 3.67548E-03,
1.09097E-03, 2.88359E-03
//-------------------------------------
};

rom const float e10min[2*16] = {
// The 10 min Value in float notation:
// result of 1 - 2^(-10/ht)
//---- N2 -------------- He -----------
8.23223E-01, 9.89851E-01,
5.79552E-01, 8.99258E-01,
4.25651E-01, 7.69737E-01,
3.12487E-01, 6.29027E-01,
2.26416E-01, 4.92821E-01,
1.65547E-01, 3.80407E-01,
1.19840E-01, 2.86538E-01,
8.60863E-02, 2.11886E-01,
6.16117E-02, 1.54849E-01,
4.63665E-02, 1.18026E-01,
3.63881E-02, 9.34005E-02,
2.85855E-02, 7.38569E-02,
2.24698E-02, 5.83504E-02,
1.76160E-02, 4.59303E-02,
1.38222E-02, 3.61528E-02,
1.08563E-02, 2.84646E-02
//-------------------------------------
};


Bitbucket
 
My two bar is this: I also did my 45 course with someone who used a different deco app than what I was using. We both had different deco times and runtime schedule was close but not the same. We both ran the dive, discussed the outcomes of each and made a decision as a team as to what we felt was the best.

We did not just throw a dart at one. Luckily we were both diving on Shearwater computers so we ran the same dives on the computers and with that info, we were able to make a more informed decision as to what we felt was the most appropriate ascent strategy for our team.

I say this because while the apps might be giving you different times, it is all about being a thinking diver and developing a plan using multiple tools that is the best for the team.

Good luck and let us know how the course goes for you.
 
I would not lose sleep over a few minutes of differences. You did not say what you used for gradient factors and for example choosing those (which to some degree is guesswork) has a stronger influence on runtime than the differences you report. If I run a similar dive through Subsurface with reasonable GF's I get similar times as well:

Screenshot 2020-03-05 at 10.29.49.png


Please note that even though different implementations each claim to be ZHL-16x, this algorithm is not specified to a precision that does not leave some room for interpretation. I blogged about this here: Why is Bühlmann not like Bühlmann – The Theoretical Diver
 
Thanks for all the replies, will get back to some now. Been a super busy week with work and with diving so haven't gotten back here.
 
http://cavediveflorida.com/Rum_House.htm

Back
Top Bottom