How to edit gas-change events?

147 views
Skip to first unread message

Michael Werle

unread,
Feb 2, 2020, 8:45:11 PM2/2/20
to Subsurface Divelog
Using a Shearwater AI, 2x Al80 sidemount (AIR), 1x Al40 (EANx), 2x transmitters, and Subsurface 4.9.3.

TL;DR: Is it possible to edit the gas-change events to specify which tank(s) I'm switching between (without editing the XML)?

----

My "standard" sidemount setup is 2x Al80 tanks each of which has a transmitter for my Shearwater.  For normal sidemount dives Subsurface doesn't add any gas-change / tank-switch events, but tracks the pressure of each tank and it's good enough (for me).

Recently I did an intro to deco course which means also carrying a deco tank (without a transmitter; no point since the Shearwater can only manage 2).

I configured my Shearwater with the 2 gases (AIR and deco) and do a gas switch (both physically and on the computer) when I switch from either sidemount tank to my deco tank.

After syncing to Subsurface it obviously only knows about 2 tanks - the ones with the transmitters. Although it will randomly(?) decide one of them is an EANx tank or just air. As in, I've had dives after which both main tanks show up as AIR (as they should be) and others where Subsurface decides one of them is EANx. Not that big an issue - can edit afterwards.

Anyway, I edit the dive data adding the 3rd tank and giving it the proper air mixture.  But Subsurface doesn't pick up on this new information to adjust the gas switches to that tank correctly. I have not found a way to edit the gas switch events to edit the source/target tanks.

Ideally after adding tanks, Subsurface should re-parse the dive log and adjust any gas-change events.  For the sidemount cylinders, it's fairly obvious when a tank-switch has occurred (pressure in one starts dropping, the other stays more or less the same) So SS could add "gas-switch" events automatically.  For the deco cylinder(s), there's the gas-switch event in the computer, so Subsurface could select the tank out of the list of tanks with the matching gas mixture.

Finally, it would be great if there's a way to manually edit the gas-change events to select the before/after tanks if Subsurface gets it wrong.

Currently it seems one can only delete events and create new events, but not edit existing ones.


Willem Ferguson

unread,
Feb 3, 2020, 5:21:22 AM2/3/20
to subsurfac...@googlegroups.com
--

Your explanation is quite complex. I am a technical sidemount diver myself and I have never had issues. BUT, I do not have sensors on my cylinders.

You define your different cylinders on the Shearwater before the dive. On download, Subsurface should capture the three cylinders and download the dive with little or no effort on your part. There are two issues:

1) If Subsurface (or the Shearwater for that matter) has any problem in differentiating between the two sidemount cylinders containing the same gas then my workaround is to set the EAN percentage with a 1% difference. In real life the two cylinders are unlikely to have exactly the same mix anyway, so, for instance, if my cyl1 measures EAN31.5 and cyl2 measures EAN31.7 then I set cyl1 as EAN31 and cyl2 as EAN32. Provided you defined the deco cylnder on the Shearwater, the deco cylinder should be picked up and correctly represented in the dive profile. Ensure that you select the initial cylinder for the dive on the Shearwater. As long as all the cylinder definitions for each of the three cylinders are correctly entered on the Shearwater, all cylinder data (including cylinder changes) should b correctly downloaded.

2) For those cylinders without gas pressure data (i.e. no sensor) one needs to enter gas pressure data into the cylinder table in the Equipment tab of Subsurface. Subsurface cannot estimate the pressures of cylinders that have no sensors. Being without sensors, I write my start and end cylinder pressures on a slate immediately before and after each dive and enter these into the Cylinder table afterwards.

Now, if you entered the incorrect data into the Shearwater that is a different story because Subsurface gets erroneous data from the Shearwater and you need to manually correct these within Subsurface (e.g. entering the two sidemount gases as a single large cylinder or as a twinset). That means deleting gas change events on the dive profile and placing gas change events at the correct time marks. Of course this assumes you actually have the "correct" information.

I hope this helps, because I  am not sure of the exact nature of your problem.

Kind regards,

willem






This message and attachments are subject to a disclaimer.
Please refer to http://upnet.up.ac.za/services/it/documentation/docs/004167.pdf 
for full details.

Michael Werle

unread,
Feb 3, 2020, 6:10:18 AM2/3/20
to Subsurface Divelog
On Monday, 3 February 2020 19:21:22 UTC+9, Willem Ferguson wrote:
You define your different cylinders on the Shearwater before the dive. On download, Subsurface should capture the three cylinders and download the dive with little or no effort on your part.

Thanks. I'm guessing from your explanation that you manually switch mixes on your Shearwater every time you switch sidemount tanks?
 
I don't define each sidemount cylinder as a separate mix (there's no way to define cylinders in the Shearwater, only different mixes) as they are the same (AIR), and I certainly won't bother to do a manual "gas switch" every time I switch between my sidemount cylinders - part of the reason I bought the sensors was to automate this!  I'd like to dive, not fiddle with the computer(s).

So as far as Shearwater configuration is concerned there are two sensors (T1 and T2) which operate automatically, and 2 mixes (Air and EANx) which I have to switch between manually.  Subsurface obviously treats the two sensors as 2 cylinders, and then usually (haven't had that many deco dives) seems to assign the deco mix to one of those (which is a perfectly valid assumption given the available data even though it's incorrect).


What I would like is a way to edit the gas-switch events in Subsurface to tell it which cylinders I actually switched between instead of the ones it guessed at during the download.  I guess I could delete the events and create new ones, but then there's no easy way to get them to be at the correct time (I tried manually adding gas-switch events for the sidemount cylinders and decided it wasn't worth it).


Jef Driesen

unread,
Feb 3, 2020, 8:46:38 AM2/3/20
to subsurfac...@googlegroups.com, Michael Werle
On 2020-02-03 11:10, Michael Werle wrote:
> So as far as Shearwater configuration is concerned there are two
> sensors
> (T1 and T2) which operate automatically, and 2 mixes (Air and EANx)
> which I
> have to switch between manually. Subsurface obviously treats the two
> sensors as 2 cylinders, and then usually (haven't had that many deco
> dives)
> seems to assign the deco mix to one of those (which is a perfectly
> valid
> assumption given the available data even though it's incorrect).

Almost correct. When both gas mixes and tank sensors are available,
subsurface assumes the i-th gas mix corresponds to the i-th tank sensor.
For the most simple cases (which are also the most common cases, for
example recreational diving with just a single tank), that assumption is
usually correct and produces the expected result. But there are also
several scenario's where it's plain wrong. And that's exactly what
happens in your case.

You have three cylinders, with two gas mixes (Air and EANx), and two
sensors (T1 and T2):

Cylinder 1: Air, sensor T1
Cylinder 2: Air, sensor T2
Cylinder 3: EANx, no sensor

But unfortunately the Shearwater dive computers don't record these
relationships. They just give us two gas mixes and two tank sensors.
Because there is no link between the two, libdivecomputer will set
DC_GASMIX_UNKNOWN for the tank sensors to indicate this.

Regarding the side mount diving: Unlike most other dive computers, the
Shearwaters can report pressure data from both sensors simultaneously.
That means there are no tank switch events present in the sample data to
indicate a switch between tanks in a sidemount configuration. Using some
heuristics based on changes in the tank pressure is certainly possible,
but maybe also not 100% reliable. The fact that you are not breathing
from a tank, does not necessary means the tank pressure remains constant
(e.g. inflating a BCD or drysuit, buddy breathing, small leaks,
fluctuations in the sensor readings, changes in temperature, etc can all
result in pressure changes). So you probably need some small threshold
there.

For example in your scenario above, subsurface could analyze the Air and
EANx segments in your dive, and notice that both T1 and T2 show changes
during the Air segments, but not during the EANx segments. And it could
use that info to automatically create two Air cylinders, one for each
tank sensors. But of course that's a bit more complicated then the
current assumption (which doesn't need to look at the sample data at
all).


BTW, do you mind sending me the libdivecomputer log file of a complete
download of your Shearwater? Since this is one of those less common
scenario's, it would be nice to have some real world data for testing
libdivecomputer. Simply create a new (disposable) logbook file, download
your dives as usual, but with the "Save libdivecomputer logfile"
checkbox enabled. Afterwards, email me the log file and discard the
logbook file (it's only needed to force a full download without messing
up your real logbook).


Jef

Michael Werle

unread,
Feb 3, 2020, 10:23:55 PM2/3/20
to Subsurface Divelog
On Monday, 3 February 2020 22:46:38 UTC+9, Jef Driesen wrote:
Almost correct. When both gas mixes and tank sensors are available,
subsurface assumes the i-th gas mix corresponds to the i-th tank sensor.


Hi Jef,

Thanks for the more detailed explanation of how it works internally.

Many thanks for your time,

 - Micha.

Michael Werle

unread,
Feb 3, 2020, 10:24:44 PM2/3/20
to Subsurface Divelog


On Tuesday, 4 February 2020 12:23:55 UTC+9, Michael Werle wrote:
On Monday, 3 February 2020 22:46:38 UTC+9, Jef Driesen wrote:
Almost correct. When both gas mixes and tank sensors are available,
subsurface assumes the i-th gas mix corresponds to the i-th tank sensor.

Thanks for the more detailed explanation of how it works internally.

... and I'll get that log file for you when I get home.
Reply all
Reply to author
Forward
0 new messages