[PATCH 2/2] Add initial rudimentary no-fly time calculation

Dirk Hohndel dirk at hohndel.org
Fri Feb 8 01:18:10 PST 2013


Linus Torvalds <torvalds at linux-foundation.org> writes:

> From: Linus Torvalds <torvalds at linux-foundation.org>
> Date: Fri, 8 Feb 2013 17:49:51 +1100
> Subject: [PATCH 2/2] Add initial rudimentary no-fly time calculation
>
> NOTE NOTE NOTE! The numbers are interesting, and the math uses the exact
> same Bühlmann algorithm that we use for diving, and that has been tested
> at altitude - it's what people use for diving in mountain lakes after
> all. So we can explain where these numbers come from.

So while I sat next to Linus when he wrote that and we actually jointly
thought about how to do this and how to get this right (let's not go
into why we started working on this code sitting in the airport waiting
area on Lord Howe Island...) - I'm rather hesitant to put this in for
3.0. I'd rather wait for 3.1 for a number of reasons

a) this needs to have a preference switch and default to off with a
major disclaimer when turning it on - that means even more new strings
(and this already brings one string "NoFly" that Linus "they should all
learn English" Torvalds forgot to mark for translation...)

b) I really want people to try this with their dives and make sure that
the results even make sense. We tried them on our dives and were
surprised by some of the results. For example after four deep trimix
dives the NoFly was something like one hour. I can explain this by
having done insanely long (think "friends don't let friends dive Suunto
computers") shallow deco time on 80% O2. Still, it's a very surprising
result and certainly wasn't what our dive computers showed us.

c) I want especially Robert (and Jan and a few others) to look at the
logic that we used here and make sure that we (well, Linus' code) isn't
getting this wrong.

So yes, I will apply this (or whatever updates we get by then) right
after 3.0 in order to go into 3.1, but I don't want to apply it now.

> But at the same time, this fixes the constants involved:
>
>  - We assume the minimum pressurization level is 12000 ft.
>
>    This is very conservative, since airlines generally pressurize their
>    cabins to about 8000 ft, and sometimes as low as 5000.  But small
>    planes can have lower cabin pressure, and obviously really small
>    planes may be entirely unpressurized.
>
>    We could easily make this configurable, this already calculates the
>    flight pressure from the given altitude, we just happen to fix that
>    altitude to 12000 ft.
>
>  - We fix the gradient factors to 30/75 (which is also the default for
>    diving).  We can't just let the user specify this willy-nilly,
>    because that can cause the decompression calculations to never reach
>    the required pressure tolerance.
>
> Anyway, if you trust Bühlmann enough to dive with it, you should believe
> that these no-fly times make some sense.  But maybe there's something
> wrong with the calculations, so you should trust your dive computer
> (which will almost certainly give *much* longer times - it's clear that
> they add just tons of unexplained padding to this whole thing, and the
> PADI 24-hour rule seems to be totally made up, probably more to do with
> lawsuits than with any actual deco calculations).

This is why I want the people here who have spent more time thinking
through the deco algorithms to really take a close look.

And I'd love for everyone to apply this in a branch and play with it
with the dives you have in your log... do the times seem reasonable?

/D


More information about the subsurface mailing list