Diving Log to Subsurface

49 views
Skip to first unread message

João Ventura

unread,
Apr 6, 2026, 9:17:36 AM (13 days ago) Apr 6
to Subsurface Divelog
Hi everyone,

After many years having to boot into Windows just to use the Diving Log 6 application, I've decided to switch over to Subsurface, and I couldn't be happier..

The one problem I found was that the UDDF export out of Diving Log is missing a lot of information on the dive profile (no water temperature or heart rate). And Subsurface doesn't support a direct import of the Diving Log XML. So I decided to create a small tool to convert the XML export out of Diving Log to the SSRF that can be directly imported into Subsurface.

It is a Python script that can be found in https://github.com/jcnventura/divinglog2subsurface

It uses stdin and stdout so you run it as:
  ./divinglog2subsurface.py < Logbook.xml > output.ssrf

Some notes. This was used to export my ~400 dives out of Diving Log. I've only done open-circuit and have only one tank pressure sensor. For those with multiple tank pressure sensors, the script will need to be improved to process that data.

I hope it is useful to others,

João Ventura

PS: Except of course, that I'll still need to boot into Windows since that's the only Subsurface that seems to support the IrDA dive export out of my Galileo Sol....

Miika Turkia

unread,
Apr 6, 2026, 3:27:37 PM (13 days ago) Apr 6
to subsurfac...@googlegroups.com, Subsurface Divelog
Did you ever try to import DivingLog’s XML directly to subsurface? We do support that format, but the import xslt has not been touched in years. I would not be surprised if some change in divinglog side would have rendered the import inoperable. And it does not support heart rate, so your tool is superior in that sense.

Miika

On 6. Apr 2026, at 16.17, João Ventura <jo...@venturas.org> wrote:

Hi everyone,
--
You received this message because you are subscribed to the Google Groups "Subsurface Divelog" group.
To unsubscribe from this group and stop receiving emails from it, send an email to subsurface-dive...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/subsurface-divelog/0b05a019-f1c9-410e-8c3d-bc9c1a3f9b02n%40googlegroups.com.

João Ventura

unread,
Apr 6, 2026, 7:48:33 PM (12 days ago) Apr 6
to Subsurface Divelog
Hi Miika,

I confess that I did not consider that Subsurface might support the Diving Log 6 native XML export directly. I've tested it now, and indeed it does a pretty good job.
It imported all my dives and kept the profile information pretty well.
Of course, it does not support the heart rate nor the RBT information that is part of the Diving Log export. One difference that I noticed is that the Diving Log export starts the profile at 0:04 seconds, which Subsurface then imports directly. However, when asking Diving Log to export that same profile to UDDF, it sets that first sample to 0:00. My tool takes that into account, and subtracts that initial delay from all sample timestamps as well.

I could try to come up with an improved XSLT of my own, but I've never tried to compile the program myself. Since my personal computer uses Ubuntu Linux, I'm using the snap package and I don't think I'll be able to test it simply by replacing the XSLT somewhere in the Subsurface files.

I guess one simple option to not have to learn how to compile it is to run the XSLT transformation directly, and then import the modified file into Subsurface to test. Does anyone here have experience in that setup?

João

Michael Keller

unread,
Apr 6, 2026, 8:11:19 PM (12 days ago) Apr 6
to subsurfac...@googlegroups.com
Hi João.


On 07/04/2026 11:36, João Ventura wrote:
> I guess one simple option to not have to learn how to compile it is to
> run the XSLT transformation directly, and then import the modified
> file into Subsurface to test. Does anyone here have experience in that
> setup?

Building Subsurface in linux is fairly easy, the instructions are here:
https://github.com/subsurface/subsurface/blob/master/INSTALL.md#building-the-development-version-of-subsurface-under-linux

And yes, you will have to rebuild Subsurface after editing the XSLT.


Ngā mihi

  Michael Keller

Miika Turkia

unread,
Apr 6, 2026, 11:11:56 PM (12 days ago) Apr 6
to subsurfac...@googlegroups.com, Subsurface Divelog
You can use xsltproc to test without compiling. Just give the xslt to use and original xml as parameters. Divinglog log does not require any parameters/variables so should be as easy as that.

On 7. Apr 2026, at 2.48, João Ventura <jo...@venturas.org> wrote:

Hi Miika,
Reply all
Reply to author
Forward
0 new messages