Subsurface calculates SAC rate based on tanks that have been used on the dive and will ignore other tanks listed in equipment. Until I realized this I thought my consumption which I had worked hard to reduce on that dive had improved. This could have been dangerous had I not questioned it.
As a sidemount diver I switch tanks regularly during a dive and don't record the run time and pressure when the switch happens. It's not typical to do so. I also don't have a gas pressure integrated dive computer.
I can work around this either by declaring my tank to be 200 cu ft, by declaring a working pressure of 474 bar, or by inserting at least one tank switch.
I understand that the current method is a clean solution but I'm not sure it's practical. A user could get into trouble if they trusted the SAC rate without knowing that the second tank wasn't included.
Solutions might be:
1. List all tanks with start/end pressure on the Info page and list their individual SAC rates. Display a total (i.e. effective) SAC rate. This gives the user the most conservative SAC rate but also allows them to mentally remove a tank (like Argon) that isn't used for breathing. Show effective SAC on the graph.
2. List all tanks with pressures on the info page and note tanks that were not explicitly used. SAC rate on graph would remain as is.
3. Warn the user somehow that a tank in the equipment list appears to be used but isn't explicitly used.
Thoughts?
On Tue, Apr 5, 2016 at 8:32 AM, John Van Ostrand john@vanostrand.com wrote:
- List all tanks with start/end pressure on the Info page and list their
individual SAC rates. Display a total (i.e. effective) SAC rate. This gives the user the most conservative SAC rate but also allows them to mentally remove a tank (like Argon) that isn't used for breathing. Show effective SAC on the graph.
We should do this.
I think we need to stop hiding the tanks entirely. We do it much too eagerly, and it's been deadly. It's also caused bugs, because subsurface actually ends up silently internally using some of the tanks that aren't shown.
Mind sending me an xml file with your dive just as a test-case, I'll take a look.
Linus
On Tue, Apr 5, 2016 at 1:45 PM, Linus Torvalds torvalds@linux-foundation.org wrote:
Mind sending me an xml file with your dive just as a test-case, I'll take a look.
Ok, thanks, that shows that the failure mode wasn't quite the one I expected - but yes, the "Info" window shows you with a SAC rate of 0.25 (very impressive!) while the "stats" page shows you with a SAC rate of 0.50 (rather more believable).
Looking at it all, I'm not *quite* sure how to handle it. One the one hand, the 0.25 SAC rate is clearly completely bogus, because it is calculated as if you had only used the first cylinder, while the actual "stats" page just looks at your overall SAC-rate using your total gases used. So the "info" side is clearly wrong.
At the same time, the info side is *meant* to show the per-cylinder gas use, and without gas switches, it basically has an impossible job.
I suspect the only option for us is to simply have a special case, and notice that
(a) you had a gas that clearly was used
(b) you didn't have a gas switch event *to* that gas
and as a result just say that "we cannot give you per-cylinder SAC rates".
Let me see how trivial that is to do. It doesn't sound hard, it just sounds _tedious_.
Linus
On Tue, Apr 5, 2016 at 2:34 PM, Linus Torvalds torvalds@linux-foundation.org wrote:
Let me see how trivial that is to do. It doesn't sound hard, it just sounds _tedious_.
Ok, patch sent. It wasn't so bad, I think.
Side note for John: you should use the subsurface mailing list for these kinds of issues, I only now noticed that this came in on the libdivecomputer list.
Linus