On 04.11.2014, at 11:17, Willem Ferguson <[email protected]> wrote:
> On 04/11/2014 11:10, Robert Helling wrote: >> >> On 04.11.2014, at 08:45, Willem Ferguson <[email protected]> >> 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
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
