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

Linus Torvalds torvalds at linux-foundation.org
Fri Feb 8 03:34:54 PST 2013


On Fri, Feb 8, 2013 at 9:51 PM, Robert C. Helling <helling at lmu.de> wrote:
>
> I did some more googling for this question. It's not easy to find a good
> answer as it seems to be the standard in aviation to meassure pressure in
> feet.

Indeed.

> What I found (also regarding what to expect in an emergency)
>
> http://rgl.faa.gov/Regulatory_and_Guidance_Library/rgFAR.nsf/0/fed94f31539484ab852566720051aa5d!OpenDocument&ExpandSection=2#_Section2
>
> And the table in
> http://www.theairlinepilots.com/forum/viewtopic.php?t=505&sid=7c0f1f60624502d74507f9eb045ab589
>
> Given we hard code the height as something (8000ft) we could equally well
> hard code 753mbar.

Hmm. I verified that the table there is fairly close to the barometric
formula, but not exactly the same. It would be interesting to see the
formula that was used for it.

> Furthermore, I learned that what the cabin pressurization really seems to do
> is to maintain a maximum pressure difference to the outside (wher if course
> it is much colder than 15degC).

Interesting. In the end, all the numbers are pretty much made up
anyway, though. It's not like hardcoding the 753 from the table is
really any better than calculating the value from 12000 feet from the
barometric formula, when the starting point (12000 feet) is arbitrary
anyway.

>> As to protecting against pressure drop - it's clear that nobody really
>> does the catastrophic pressure thing. You can't. If you're actually
>> flying at 33000 feet, and get complete loss of pressure in the main
>> cabin, you'll *never* get Buhlmann to give you an acceptable pressure
>> by waiting at sea-level, because your pN2 will never go below 0.78. No
>> matter how long you wait.
>
> Not neccessarily. With the Buehlmann a and b factors (leave out gradient
> factors for the moment) there is a tolerance for an over pressure (partial
> pressure of inert gas can be higher than ambient pressure).

Right. But the point is, there's a limit to how much that tolerance
can be. Especially if we use gradient factors to make the tolerance
calculations more conservative (which we'd absolutely do).

And maybe catastrophic pressure loss could still be within that limit,
but looking at the Suunto times, for example, and comparing them to
our Buhlmann calculations (with our default gradient factors), it
looked like the suunto times *could* be fairly close to that with a
limit around 61% of surface pressure.

Which would be around 13000 feet of pressure or so. Of course, they
don't actually use Buhlmann at all (some proprietary RGBM variant),
and they probably have different gradient factor equivalents anyway
(since they are very conservative indeed), so the "13000 ft" thing is
quite possibly not very close. I doubt we'll ever know..

> For example you
> can do saturation diving (i.e. an infinitely long dive) at almost 10depth
> and ascend without deco obligation, as this pressure drop is within
> tolerance.

Right. And this tolerance is exactly what we calculate, using the
exact same math. So we're just extending the deco logic, using the
same pressure difference tolerance logic.

The "you can come up from infinitely long dives at 20ft" is due to the
same tissue tolerance as "you can fly after an infinitely long stay at
surface level". They are both roughly a 33% pressure drop, after all,
well within tolerances.. No?

>> All actual deco calculations are done at sealevel, using normal air.
>> No deco calculations at all for lower pressure. Because the whole
>> point is, we are *not* in the plane until *after* the no-fly time.
>
>
> That is not exactly what happens. In your patch it says
>
> +               if (tolerance < flight_pressure)
> +                       break;
>
> And in the calculation of "tolerance" we use the gradient factor at the
> tolerated depth (or better ambient pressure) not the one where we currently
> are. And that is up at 8000ft. That is implicit in the three line formula in
> deco.c.

Ahh. Ok. So we do actually interpolate upwards in deco.c. I admit to
not knowing the code all that well (except for just the mechanical
task of tracking exactly where the gradient factors were used).

> If you want to check for yourself: Play around with GF_low. If we would
> really only be at the surface pressure (for the calculation) the results
> should be independent of GF_low (and only depend of GF_high). If what I
> claim is correct, lowering GF_low (i.e. making it more conservative at
> depth) will _shorten_ the nofly time (as we are extrapolating outside the
> GF_low -- GF_high pressure interval).

It does indeed vary with GF_low, but not the way you say. Lowering
GF_low makes the no-fly time longer. I just tested with my last dive -
with the default GFlow of 0.30, I get a no-fly of 11:05, with a GFlow
of 0.20 I get 13:00. Which is what you'd expect from "more
conservative value", no?

But yeah, I do not understand how the gradient factors work. I've seen
the emails fly past, but I really don't understand it.

> Well, except that the end condtion is about being allowed to go up 8000ft
> above sea level and this is where an ambient pressure outside the interval
> comes in.

Don't we have pretty much very similar issue with diving at high
altitudes, though? Sure, not to the same degree, but extrapolating
upwards in the pressure column should be largely independent of the
absolute surface pressure, or it wouldn't work for altitude diving
either. I don't see how the math would really be any different,
although at some point the difference in size of the pressure
difference could make it fundamentally different..

>> Which is exactly why I wanted feedback - can I convince somebody
>> *else* who knows what they are doing that it is correct?
>
> At least you did not convice me.

Oh well. I was hoping to, but getting feedback is why the email was sent..

          Linus


More information about the subsurface mailing list