• Welcome to ScubaBoard


  1. Welcome to ScubaBoard, the world's largest scuba diving community. Registration is not required to read the forums, but we encourage you to join. Joining has its benefits and enables you to participate in the discussions.

    Benefits of registering include

    • Ability to post and comment on topics and discussions.
    • A Free photo gallery to share your dive photos with the world.
    • You can make this box go away

    Joining is quick and easy. Login or Register now by clicking on the button

Ceiling/Deco obligation in recreational diving

Discussion in 'Basic Scuba' started by nick73, Aug 29, 2017.

  1. Lorenzoid

    Lorenzoid ScubaBoard Supporter Staff Member ScubaBoard Supporter

    # of Dives: I just don't log dives
    Location: Atlanta, USA
    9,819
    6,499
    Probably, but how do you know for certain? The firmware is proprietary. There could be intermediate values that are calculated and stored for potential use in some later calculation that we would never know about. Who knows what kinds of things a proprietary algorithm like Suunto's might calculate for whatever reason.
     
  2. scubadada

    scubadada Diver Staff Member ScubaBoard Supporter

    # of Dives: 1,000 - 2,499
    Location: Philadelphia and Boynton Beach
    14,293
    10,690
    I have a little over 1000 dives on my current primary computer and am quite familiar with it. On many occasions, I have started my ascent at a NDL of 0, but not yet in deco. On most occasions, I have stayed out of deco on the ascent. Occasionally, I have tipped over into deco on the ascent and have always attributed this to a bit too much time at depth and/or a slow ascent. If instead, I hurried the ascent and arrived at 10 ft well before I was supposed to, I wonder if I would be given a stop (the equivalent of exceeding the GF hi)? I don't plan on trying this one out myself.
     
  3. stuartv

    stuartv Seeking the Light ScubaBoard Supporter

    # of Dives: 200 - 499
    Location: Manassas, VA
    9,689
    5,496
    Orrrr... you could listen to me and to what DevonDiver said in his last post and recognize that you are taking as evidence the fact that when you have a deco obligation, your computer always shows you a a ceiling and when you don't have a deco obligation it doesn't show you a ceiling to mean that when you don't have a deco obligation it must mean that you don't have a ceiling.

    That is not valid logic.

    Every computer shows you a ceiling when you have a deco obligation. And they all (I presume) do not show you a ceiling when you don't have a deco obligation. You are (wrongly) taking that as evidence that when you don't have a deco obligation that means you don't have a ceiling. Again, that is not valid logic.

    You are taking "ceiling" to be synonymous with deco obligation. If you wish to define it that way, then your statement is correct. But, I don't think your definition of the term exactly matches common industry usage among deco theorists or deco algorithm implementers (e.g. the Subsurface application). However, I would welcome one of the real deco theory experts on here to correct me if I am wrong.
     
    Josh_caves, RayfromTX and Lorenzoid like this.
  4. Lorenzoid

    Lorenzoid ScubaBoard Supporter Staff Member ScubaBoard Supporter

    # of Dives: I just don't log dives
    Location: Atlanta, USA
    9,819
    6,499
    Witness as an example Suunto displaying a "ceiling" due solely to a too-rapid ascent, not due to any deco obligation. Straight from Suunto's manual.

    I'm still with you on this one.
     
    RayfromTX likes this.
  5. KenGordon

    KenGordon Rebreather Pilot

    3,846
    2,631
    One of the reasons I did not buy an OSTC but a Perdix (and I can tell you pains me to follow standard SB advice) was because when I read the code it was mostly in assembler and the processor was extremely low end. I have worked on stuff with really little 8 bit processors and know even byte is sacred.

    To figure out whether an ascent is possible at a given rate would require calculating the tissue saturations following such an ascent. That is a little bit of maths, some multiplies, adds, divides and some power stuff. Compare that to some multiples and adds to maintain the current tissue saturation. It will double the work required to check for a ceiling.

    All the mono display dive computers with coin batteries are severely resource constrained. To keep a decent battery life they will probably wake up on a timer once a second, check the depth, update the tissues, maybe recalculate the NDL/TTS, update the screen and go back to sleep.

    Using a projected ascent will consume cycles, code and volatile storage.and to what benefit?

    Putting yourself in the programmer's shoes what would you do?

    For sure Erik Baker's GF fortran gives stops as soon as you have a ceiling.
     
    RayfromTX likes this.
  6. Lorenzoid

    Lorenzoid ScubaBoard Supporter Staff Member ScubaBoard Supporter

    # of Dives: I just don't log dives
    Location: Atlanta, USA
    9,819
    6,499
    I'm getting out of my depth here, but I would think that a calculation once per second or so would consume very little battery power compared with things like the screen, and memory capacity can't really be at that much of a premium with today's technology, can it? However, unlike others in this thread, I admittedly have never read any dive computer source code, and I sure don't see myself devoting the time to do so. Ken makes a persuasive argument.
     
  7. stuartv

    stuartv Seeking the Light ScubaBoard Supporter

    # of Dives: 200 - 499
    Location: Manassas, VA
    9,689
    5,496
    Without getting too tedious (or maybe it's too late)... First, Baker's code does not do real-time calculations. It is for calculating deco stops based on a well-defined complete dive plan that you feed into it.

    Second, here are some excerpts from Baker's code. I am only quoting the comments, so as to avoid expecting anyone to actually read the Fortran code.

    Code:
    C===============================================================================
    C PERFORM A SEPARATE "PROJECTED ASCENT" OUTSIDE OF THE MAIN PROGRAM TO MAKE
    C SURE THAT AN INCREASE IN GAS LOADINGS DURING ASCENT TO THE FIRST STOP WILL
    C NOT CAUSE A VIOLATION OF THE DECO CEILING. IF SO, ADJUST THE FIRST STOP
    C DEEPER BASED ON STEP SIZE UNTIL A SAFE ASCENT CAN BE MADE.
    C Note: this situation is a possibility when ascending from extremely deep
    C dives or due to an unusual gas mix selection.
    C CHECK AGAIN TO MAKE SURE THAT ADJUSTED FIRST STOP WILL NOT BE BELOW THE
    C DECO ZONE.
    C===============================================================================
    
    The Note in the preceding code comments would seem to suggest that this comment is not relevant for sport diving. But, keep in mind that this code is not used for real-time calculations and it assumes the diver always makes their ascent (or descent) at a perfect, fixed rate. The actual rate used is read in along with the dive profile that is being used as the basis for calculating the ascent profile. The code does allow for different ascent rates to be used at different depths.

    Code:
    C===============================================================================
    C Note: The Schreiner equation is applied when calculating the uptake or
    C elimination of compartment gases during linear ascents or descents at a
    C constant rate. For ascents, a negative number for rate must be used.
    C==============================================================================
    
    Code:
    C===============================================================================
    C SUBROUTINE GAS_LOADINGS_ASCENT_DESCENT
    C Purpose: This subprogram applies the Schreiner equation to update the
    C gas loadings (partial pressures of helium and nitrogen) in the half-time
    C compartments due to a linear ascent or descent segment at a constant rate.
    C===============================================================================
    
    Code:
    C===============================================================================
    C SUBROUTINE PROJECTED_ASCENT
    C Purpose: This subprogram performs a simulated ascent outside of the main
    C program to ensure that a deco ceiling will not be violated due to unusual
    C gas loading during ascent (on-gassing). If the deco ceiling is violated,
    C the stop depth will be adjusted deeper by the step size until a safe
    C ascent can be made.
    C==============================================================================
    
    Hopefully, this serves to illustrate that, even though Baker's code is not what you would use for realtime on-the-fly deco calculations, even Baker recognized (in his code) that ceilings should be calculated to include the fact that ascents take some time and are, thus, based on a specific ascent rate.

    And that an ascent could result in a ceiling being revised downward (i.e. deeper) - even a ceiling that was 0.

    Thus, having a deco stop of 0 feet - i.e. an NDL dive - could result in a mandatory stop being imposed because of a too-fast (or too-slow) ascent. Too slow results in more on-gassing than the algorithm was expecting. Too fast results in getting to a shallow depth sooner than the algorithm was expecting. Either one could mean that you have to do a mandatory stop before you get to the surface - even though your computer's NDL was not at zero when you began your ascent. I.e. you could have a ceiling that you never get to, and so your computer doesn't show you as being in deco - unless you ascend too fast and get to the depth of the ceiling before the computer was expecting you to.
     
    scubadada likes this.
  8. Brian Robinson

    Brian Robinson Registered

    # of Dives: 0 - 24
    Location: Cape Coral Florida
    60
    12
    I/we just did our first dives in excess of 70 feet and we did a 3 minute safety stop at 15 feet and my Suunto Zoop was recommending this stop for 3 minutes. This is a good habit I presume for this depth.
     
  9. scubadada

    scubadada Diver Staff Member ScubaBoard Supporter

    # of Dives: 1,000 - 2,499
    Location: Philadelphia and Boynton Beach
    14,293
    10,690
    Thanks @stuartv, I think you answered by question posed in post #32
     
    stuartv likes this.
  10. gfaith

    gfaith Solo Diver

    # of Dives: 100 - 199
    Location: Desert SE of NM
    444
    168
    A 3 minute SS at 15 feet are always a good idea.

    @Lorenzoid Having recently exceeded the ascent rate (about 63ft/min) on a 100 foot dive I can confirm a mandatory stop was accessed on my Viper/Air. It was only a 1 minute stop @ 20 feet no problem, and it does not affect the recommended 3 minute SS.

    edit: changed ft/sec to ft/min .. duh
     
    Last edited: Sep 6, 2017

Share This Page