ではダイブコンピューターは何を計算しているのでしょうか? 各コンパートメントの吸収済みの窒素量を計算しています。そしてM値に到達するまでの時間を画面に表示します。これがNDLです。厳密には少し違いますが、最初はこのくらいの理解で充分です。
安全停止の時間も浮上速度も本来はコンパートメントに吸収済みの窒素量と水深から予測モデルを作り計算しなければなりません。残念ながら安全停止時間(通常は3分)も浮上速度も業界団体やメーカーが決めた数値で一律に判断しているだけです。このため守ったからといって安全が保障されているわけではなく誤差があります。また違反した場合でも警告音を慣らすだけで対処方法をダイバーに指示するわけではありません。正確に計算していないのでダイバーに指示が出せないわけです。
コンパートメントの窒素の吸排出でマイクロバブルが発生します。急浮上をしたり、深度を上げたり下げたり(忙しい吸排出)、反復潜水やダイバーの体調によりマイクロバブルが増えることがわかっています。マイクロバブルの増減を論理モデルとして計算に加えたものがバブルモデルというアルゴリズムです。有名なものにRGBMがあります。SunntoとMaresがバブルモデルを採用しており、Scubaproの一部のダイブコンピューターがバブルモデルの理論を取り入れた最新のアルゴリズムを採用しています。RGBMには強制安全停止という考え方があります。急浮上や無茶なダイブプロファイルをえがいた場合、強制的な停止を指示してきます。減圧停止と似たような表示ですが、その意味はまったく違います。結構、正しく指示してくるので、筆者は割と信用しています。レクリエーショナルダイビングのようにマイクロバブルが発生しやすいダイビングスタイルの場合、従来のようにM値を監視するだけではなく、吸排出のスピードや量まで監視しないといけません。バブルモデルは完璧ではないにせよ、ネオホールディングモデルが素通りしてしまう問題を警告してくれます。筆者はレクリエーショナルダイビングではSunntoかMaresのダイブコンピューターを使うことが多いです。