On 07.11.2014, at 10:29, Willem Ferguson <[email protected]> 
wrote:

Willem,

> 1) Please could you send the mail with the two patches to me privately? I 
> appeared in my email system but was gone two minutes later. It's not in the 
> junk folder. I suspect my finger trouble.
> 

done. You could find those in the mailing list archive as well

http://lists.subsurface-divelog.org/pipermail/subsurface/2014-November/thread.html

> 2) I have the cylinder pressure calculations working correctly as far as I 
> can see. Will do a few cross checks over the week end. Important: I want to 
> confirm with you that changing the return value of explicit_first_cylinder() 
> is the way to go for correct deco calculations. Does the second patch in your 
> last mail affect this at all because I saw some code affecting deco? The 
> over-printed cylinder contents on the left of the profile widget is because 
> of the return value of explicit_first_cylinder(): Subsurface sees that as a 
> cylinder change to cylinder 1  right at the start of the profile, printing 
> the labels for both cylinders 0 and 

Not quite I would say. For the deco calculation you have to know what gas (in 
particular: which cylinder) you are breathing from at the moment. In the data 
from dive computers (as well as in the xml), this is, however, not how that 
data is represented. There you find only the gas change events that tell you 
that the gas changes. The latest gas change of course determines the gas used 
at later times but that possibly does not tell you which is the current gas 
before the first gas change event. For that reason, some dive computers spit 
out a gas change event at the beginning of the dive. Others silently assume, 
that dives always start with gas zero. This is the information that 
explicit_first_cylinder() returns: Which cylinder number is used before the 
first gas change event. It has no effect after the first gas change.

Now, in the CCR case, things are a bit more complicated as there is not _the_ 
current cylinder, there are two, diluent and oxygen. For the purpose of deco 
calculation (and anything that is related to what gas is the diver currently 
breathing), I would still argue that the “current” cylinder should be the 
diluent as we have to know the diluent for fill_pressures to determine the 
breathing gas. 

To compute gas use (and on a related matter: tank pressures) of course both are 
in use but behave very differently: O2 is (to zeroth approximation) used at a 
constant rate irrespective of depth. So you could, if you wanted, interpolate 
values (in effect linearly in time). Diluent is used on descents and use is 
thus complicated so, in a first go, I would not attempt to interpolate it in 
any way.

So, what shall we do? I would keep the concept of one current cylinder (and 
explicit_first_cylinder determines that lacking previous gas change events as 
above) and in the CCR gas let that be the diluent and not O2. This lets 
deco/ceiling calculations work as for OC (assuming fill_pressures is used) as 
well as the partial pressure graphs. I would only change the gas use 
calculations to use the current cylinder as is only for OC and do that 
differently (now with two gases and adopted interpolation rules) for CCR.

What do you think?

Best
Robert



-- 
.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oO
Robert C. Helling     Elite Master Course Theoretical and Mathematical Physics
                      Scientific Coordinator
                      Ludwig Maximilians Universitaet Muenchen, Dept. Physik
                      Phone: +49 89 2180-4523  Theresienstr. 39, rm. B339
                      http://www.atdotde.de

Enhance your privacy, use cryptography! My PGP keys have fingerprints
A9D1 A01D 13A5 31FA 6515  BB44 0820 367C 36BC 0C1D    and
DCED 37B6 251C 7861 270D  5613 95C7 9D32 9A8D 9B8F




Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

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

Reply via email to