Atomic Aquatics Logbook format

Rainer Mohr mail at divelogs.de
Wed Jan 14 12:14:59 PST 2015


Gentlemen,

Atomic Aquatics provides a (windows) software called "Atomic Logbook" to 
download the dives from the Cobalt and Cobalt 2
Thanks to Jef who sent me an example file, I could write an import for 
divelogs.de and would like to share my findings with you, in case you 
want to write an import for it too...

The software saves its data in an SQlite database at 
C:\ProgramData\AtomicsAquatics\Cobalt-Logbook\Cobalt.db

To get a list of all dives, fire the following SQL:

    SELECT Dive.Id, strftime('%Y-%m-%d',Dive.DiveStartTime) as date,
    strftime('%H:%M',Dive.DiveStartTime) as time, place.Data AS place,
    site.Data AS site, weather.Data AS weather, viz.Data AS viz,
    buddy.Data AS buddy, notes.Data as notes,
    LogPeriod AS samplerate, Temperature, SurfacePressure,
    (SurfHours*60+SurfMinutes)*60 AS si, Units, Segments,
    MaxDepthPressure,
    round((MaxDepthPressure-SurfacePressure)*0.99*0.01,1) AS MaxDepth,
    DiveMinutes
    FROM Dive
    LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
    Items.Value1= List.Id WHERE Items.type=0) place ON Dive.Id =
    place.DiveId
    LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
    Items.Value1= List.Id WHERE Items.type=1) site ON Dive.Id = site.DiveId
    LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
    Items.Value1= List.Id WHERE Items.type=2) weather ON Dive.Id =
    weather.DiveId
    LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
    Items.Value1= List.Id WHERE Items.type=3) viz ON Dive.Id = viz.DiveId
    LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
    Items.Value1= List.Id WHERE Items.type=4) buddy ON Dive.Id =
    buddy.DiveId
    LEFT JOIN (SELECT DiveId, Data FROM List WHERE Type=5) notes ON
    Dive.Id = notes.DiveId


To get all *used* gas mixes (there are always at least three tanks, even 
if not actually used) with start- and endpressure of each tank, fire:

    SELECT max(gaspressure) as startpress, min(gaspressure) as endpress,
    gasmix, tankpressure, tanksize, O2, he
    FROM TrackPoints
    LEFT JOIN GasMixes ON TrackPoints.GasMix = GasMixNumber AND
    TrackPoints.DiveId = GasMixes.DiveId
    WHERE TrackPoints.DiveId = {the_dives_id} AND gaspressure > 0
    GROUP BY GasMix


Here, the Tanksizes are somewhat stupid.
If your tankpressure == 0 then the tanksize is "tenths of a liter", so 
100 will give you a 10 liter tank
If the tankpressure > 0, then the tanksize is cuft with the 
workingpressure "tankpressure", so will need to convert to liters if 
needed in metric.

To get the profile data from a dive fire:

    SELECT
    round((depthpressure-{SurfacePressure_from_dive})*0.99*0.01,1) as
    depth, Temperature, GasPressure, GasMix, O2, He, runtime FROM
    `TrackPoints` WHERE DiveId = {the_dives_id} Order by runtime


if you need any further info, shoot...

Regards,
Rainer






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


More information about the subsurface mailing list