Air and water temperature

Jef Driesen jefdriesen at
Fri Nov 11 02:46:30 PST 2011

On 11/10/2011 12:35 AM, Linus Torvalds wrote:
> On Wed, Nov 9, 2011 at 2:31 AM, Alexandre Belloni
> <alexandre.belloni at>  wrote:
>> I've made a quick patch that will consider the first temperature reading
>> as the air temperature. Is this a safe assumption with all the dive
>> computers ?
> Nope. Not a safe assumption.
> This would be best done as some kind of libdivecomputer thing, where
> it would give us the air temperature from computers that support it
> (and in the case of Suunto use the first temperature reading).
> Because at least the Uemis that Dirk has definitely gives water
> temperatures in the very first samples (ie also gives temperatures
> with 0.1 degC resolution, and doesn't need to wait for five minutes to
> read the temperature like Suunto's do ;)
> Jef? Ideas?

I agree with Linus that this is best done at the libdivecomputer level, where we 
know best how each model stores this kind of information.

Adding extra fields such as temperature, begin/end pressure for each tank, etc 
is already on the (long) todo list. I haven't decided exactly on which fields to 
add, but the idea is to add only those fields that are available (or can be 
calculated from profile data) on a wide range of dive computers AND that are 
useful for a general purpose logbook application (e.g. like subsurface, which is 
not tied to a particular brand of dive computer). This means there won't be 
support for very device specific fields like personal adjustment factors, 
decompression settings, etc. This kind of information just varies too wildly to 
cover with a common api.

Even simply fields that appear quite generic can already be quite tricky. For 
example some dive computers store ascent rates as a simple value (eg. m/min), 
others as an index into a table (e.g. 0-5, 6-10, 11-15, 15+), or even just some 
fuzzy indication (e.g. slow/fast). This makes it very hard to define a single 
ascent rate representation. And there are many more examples like this.

But I don't think this type of info is that important too have, because fields 
like ascent rate, tissue loading, etc can easily be calculated from the profile 
data. These calculated values may not match exactly with what you would get from 
the dive computer, but I'm not convinced that is very important. I would prefer 
to concentrate on those fields that really matters, like divetime, maxdepth, 
gasmixes, tank pressures, etc.


More information about the subsurface mailing list