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