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

Robert C. Helling helling at lmu.de
Fri Feb 8 02:51:25 PST 2013

On Fri, 8 Feb 2013, Linus Torvalds wrote:

> On Fri, Feb 8, 2013 at 8:39 PM, Robert C. Helling <helling at lmu.de> wrote:
>> After briefly staring at the patch I can say it looks good to me. But I have
>> two questions:
> And I have answers. Not that everybody necessarily will *agree* with
> them, but hey..
>> 1) It is not clear to me what the reference pressure really should be, I
>> find http://en.wikipedia.org/wiki/Cabin_pressurization not too helpful: When
>> they express it as an altitude, what do they assume about temperature
>> (always 15 degrees or dropping by some amount (0.0065 K) per meter? Also,
>> shall we protect against usual cabin pressure or shall we actually protect
>> against pressure drop in an emergency of the plane (in that case I presume
>> oxygen masks help the average passenger sufficiently against hyoxia but not
>> divers against inert gas forming bubbles at sudden drop of pressure). But I
>> don't know if this makes any relevant difference.
> So we actually wondered about this, and asked the pilot on the plane
> we just came to Sydney from what the *real* pressure in the cabin of
> the plane was.
> The answer was that the poor pilot didn't even know. He basically sets
> the pressure not as a real pressure, but as a "altitude in feet". But
> of course, the actual cabin pressurization doesn't really work in
> altitudes (the real altitude is something totally different), so it
> has to really do this with a pressure sensor and compressor, and in
> the end the only thing it can do is to use the standard pressure
> formula.
> Which Dirk looked up on Wikipedia, and is what we calculate. So I'm
> pretty sure that we do exactly the same calculation as the pressure
> logic in the plane does.
> And it had better be standard temperature, because the temperature in
> the cabin certainly doesn't change.

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. What I found (also regarding what to expect in an emergency)


And the table in 

Given we hard code the height as something (8000ft) we could equally well 
hard code 753mbar.

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).

> 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). 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. I don't know what is the ceiling for a "saturation dive" 
at surface pressure (which is what you are hinting at) but I would expect 
it to be almost 0bar (as you can go from 2bar to 1bar without deco). You 
were asking for possible reasons other computations lead to much longer 
nofly times and I woudl say this is one.

>> 2) I am not sure, the whole gradient factor thing makes any sense at
>> altitude: GF_high is supposed to be applied at the surface (and that's what
>> is in the formulas) but when you extrapolate to even lower pressures, you
>> get effective gradient factors that are even higher (possibly above 100%).
>> To be safe on that side, I would use GF_low=GF_high=whatever to make the
>> depth/ambient pressure dependence of the gradient factor go away. But I have
>> no good intuition about what a reasonable GF at altitude would be.
> Heh. I made the same logical mistake initially, but then corrected
> myself: we are never actually calculating any decompression at any
> lower pressures.
> 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.

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).

> So no, we don't get confused about GF_high at low pressures, because
> we literally only ever use surface pressure, never lower pressures.

> So think of the "no-fly" time as just a surface interval. Which is
> exactly what it is, and it uses the exact same calculation too.

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.

> 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.


Robert C. Helling     Elite Master Course Theoretical and Mathematical Physics
                       Scientific Coordinator
 		      Ludwig Maximilians Universitaet Muenchen, Dept. Physik
print "Just another   Phone: +49 89 2180-4523  Theresienstr. 39, rm. B339
     stupid .sig\n";   http://www.atdotde.de

More information about the subsurface mailing list