MOD, EAD etc calculations for CCR

Willem Ferguson willemferguson at zoology.up.ac.za
Tue Nov 4 02:48:39 PST 2014


On 04/11/2014 12:27, Robert Helling wrote:
>
> On 04.11.2014, at 11:17, Willem Ferguson 
> <willemferguson at zoology.up.ac.za 
> <mailto:willemferguson at zoology.up.ac.za>> wrote:
>
>> On 04/11/2014 11:10, Robert Helling wrote:
>>>
>>> On 04.11.2014, at 08:45, Willem Ferguson 
>>> <willemferguson at zoology.up.ac.za 
>>> <mailto:willemferguson at zoology.up.ac.za>> wrote:
>>>
>>> Willem,
>>>
>>>> The calculation of MOD, EAD and the like that happens in profile.c 
>>>> does not work for CCR because it is based on the gas mix info 
>>>> associated with individual cylinders. Function gas_mod in dive.h is 
>>>> a case in point. I was starting to mess around with these 
>>>> calculations to use dynamic fo2 values for each point on the dive 
>>>> profile (instead of fixed cylinder-specific fo2 values), but then I 
>>>> saw that this function is used in many places, including 
>>>> extensively in the planner.
>>>
>>> I am not sure exactly what would be the meaning of MOD for a CCR 
>>> given the dynamic O2 content. The only way I think this makes sense 
>>> would be the MOD of the dillutant (since that sets the minimum fO2 
>>> that the CCR can deliver and that determines the depth).
>>>
>> I was thinking that it would be useful that a diver could review a 
>> dive and see at a particular moment, how far he/she was from the MOD, 
>> given the gas composition at that moment in time. Let's the fo2 was 
>> 35% at a particular moment and the diver was 30m deep. The diver 
>> should know that this was pretty close to the MOD for that particular 
>> gas combination. This might for instance affect decision making with 
>> respect to setpoints. Of course the dive computer should provide such 
>> facilities for decision making and/or automatic control during the 
>> dive, but for the review of a dive afterwards, this information might 
>> be useful.
>
> Does the “how close relative to the current mix” really make sense for 
> a CCR? Take for example a set-point of 1.3bar and use as your max pO2 
> for calculating an MOD 1.6. Then the MOD will always be the depth 
> corrspoding to an ambient pressure of
>
> 1.6/1.3 * ambeint_pressure
>
> i.e. with 1.3 and 1.6 bar, your ambient pressure will always be 81% of 
> the ambient pressure of the MOD if I am not mistaken. Is that what you 
> wanted to calculate?
>>
>>> Indeed, gas_mod is used in various places but only the call in 
>>> profile.c is about the current gas, in all other cases the MOD of an 
>>> explicit cylinder is calculated (essentially to find the max depth 
>>> to switch to it). What I would probably do is to leave everything as 
>>> it is and only wrap the call in profile.c with an if(dc.dctype != 
>>> CCR) { and in the else clause make sure the dillutant is used.
>>>
>>> I guess the others EAD, END and EADD should be ok the way they are 
>>> since they use the info from fill_pressures which takes CCR-ness 
>>> into account.
>>>
>>
>> At the moment it gives EAD of 0m throughout the dive and EADD of 
>> current_depth, but I have not looked at that code closely to explain 
>> that. However I note that fhe and fo2 are derived from 
>> cylinder-related data, using get_o2() and get_he().
>>
>
> I am currently knee-deep in debugging the replanting code. Will look 
> into this once I am back.
>
> Best
> Robert
With respect to MOD you are not mistaken, and your argument is perfectly 
valid. Let's drop my dreaming and stick to the present situation.
With respect to EAD and the rest, may I look around that code and send 
you a proposal?
Kind regards,
willen

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.subsurface-divelog.org/pipermail/subsurface/attachments/20141104/04129771/attachment.html>


More information about the subsurface mailing list