-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
Common questions and answers about the Decompression Calculator.
- General Questions
- Usage Questions
- Technical Questions
- Algorithm Questions
- Safety Questions
- Troubleshooting
The Decompression Calculator is an educational web application that calculates decompression dive profiles using the Bühlmann ZHL-16C algorithm with gradient factors. It helps users understand decompression theory and dive planning.
No. This application is for educational purposes only. Never use it to plan real dives. Always use:
- Certified dive computers
- Proper dive planning procedures
- Professional dive planning software
- Guidance from certified instructors
Yes, the calculator is completely free and open-source.
The calculator supports:
- ✅ Chrome/Edge (latest 2 versions)
- ✅ Firefox (latest 2 versions)
- ✅ Safari (latest 2 versions)
- ✅ Mobile browsers (iOS Safari, Chrome Mobile)
Currently, the calculator requires an internet connection. Offline support is planned for future releases.
Diver information is optionally stored on the server with encryption. All dive calculations are performed client-side in your browser. You can delete your data at any time.
- Navigate to the Calculator page
- Enter depth (meters)
- Enter bottom time (minutes)
- Select gas mix (Air, Nitrox, etc.)
- Adjust gradient factors if desired
- Click "Calculate"
See the User Guide for detailed instructions.
Gradient Factors (GF) are percentages that modify the Bühlmann algorithm to make it more or less conservative:
- GF Low: Applied at first decompression stop (e.g., 30%)
- GF High: Applied at surface (e.g., 70%)
Lower values = more conservative = longer decompression time.
See Algorithm Details for more information.
- Switch to "Advanced Mode"
- Click "Add Segment" for each depth level
- Enter depth and duration for each segment
- Select gas mixes
- Calculate
See User Guide - Multi-Level Dives.
- Air (21% O₂)
- Nitrox (EAN32, EAN36, custom)
- Trimix (custom O₂/He/N₂ ratios)
- Oxygen (100% O₂ for deco)
Click the language switcher in the top-right corner to toggle between English and French.
Yes! Click the "Export PDF" button to generate a printable dive plan including:
- Dive parameters
- Profile chart
- Decompression schedule
- Safety warnings
- Click "Diver Info" in the navigation
- Enter your information
- Click "Save"
Your information is encrypted and stored locally or on the server (depending on configuration).
The calculator uses the Bühlmann ZHL-16C algorithm with gradient factors. This is the same algorithm used in many modern dive computers.
The calculations are mathematically accurate implementations of the Bühlmann ZHL-16C algorithm. However:
- Individual physiology varies
- Environmental factors matter
- This is for education only
- Always use certified equipment for real dives
The Bühlmann algorithm models 16 theoretical tissue compartments with different nitrogen half-times ranging from 4 minutes (fast tissues) to 635 minutes (slow tissues).
Yes! Navigate to "Decompression Models" to compare:
- Bühlmann ZHL-16C
- RGBM (Reduced Gradient Bubble Model)
- VPM-B (Varying Permeability Model)
- US Navy Tables
Yes! The "Repetitive Dives" feature allows you to:
- Plan multiple dives
- Calculate surface intervals
- Track tissue desaturation
- Account for residual nitrogen
The calculator supports depths up to 100 meters. However, recreational diving limits are typically 40 meters, and technical diving requires specialized training.
Currently, the calculator uses metric units (meters, minutes). Imperial unit support is planned for future releases.
The Bühlmann ZHL-16C is a decompression algorithm developed by Dr. Albert Bühlmann. It models inert gas absorption and elimination in 16 tissue compartments to calculate safe ascent profiles.
M-values (Maximum values) represent the maximum inert gas pressure a tissue compartment can tolerate at a given ambient pressure before decompression sickness risk becomes unacceptable.
Gradient factors reduce M-values to create more conservative profiles:
Adjusted M-value = M-value × Gradient Factor
For example, with GF 70%, the adjusted M-value is 70% of the original.
The Schreiner equation calculates tissue loading at constant depth:
P_tissue = P_inspired + (P_initial - P_inspired) × e^(-k×t)
Where:
- k = ln(2) / half-time
- t = time at depth
The Haldane equation calculates tissue loading during depth changes:
P_tissue = P_i0 + R × (t - 1/k) - (P_i0 - P_initial - R/k) × e^(-k×t)
Where R is the rate of pressure change.
The ceiling is the shallowest depth where tissue pressure equals the adjusted M-value. Ascending above the ceiling increases DCS risk.
NDL is the maximum time you can spend at a depth without requiring decompression stops. It's calculated by determining when the fastest tissue reaches its M-value limit.
This calculator is educational and:
- Not certified by diving organizations
- Doesn't account for individual physiology
- Doesn't consider environmental factors
- Lacks real-time monitoring
- Has no liability or warranty
Always use certified dive computers and proper training.
The calculator provides warnings for:
- High PPO₂: Oxygen toxicity risk
- Low PPO₂: Hypoxia risk
- High END: Nitrogen narcosis risk
- Excessive Deco: Very long decompression time
- MOD Exceeded: Depth exceeds gas maximum operating depth
Oxygen becomes toxic at high partial pressures:
- Working limit: 1.4 bar PPO₂
- Decompression limit: 1.6 bar PPO₂
- Symptoms: Convulsions, vision problems, nausea
The calculator warns when PPO₂ exceeds safe limits.
Nitrogen has narcotic effects at depth, similar to alcohol intoxication. The calculator calculates Equivalent Narcotic Depth (END) and warns when it exceeds 30 meters.
DCS occurs when dissolved gases form bubbles during ascent. Symptoms include:
- Joint pain ("the bends")
- Neurological symptoms
- Breathing difficulties
- Skin rashes
Proper decompression procedures reduce DCS risk.
This is a medical emergency:
- Call emergency services immediately
- Administer 100% oxygen if available
- Keep the diver lying down
- Do not attempt recompression without medical supervision
- Transport to hyperbaric chamber
Emergency Numbers:
- DAN (Divers Alert Network): +1-919-684-9111
- Local emergency: 911 (US) / 112 (EU)
Try these steps:
- Refresh the page (Ctrl+F5 or Cmd+Shift+R)
- Clear browser cache
- Try a different browser
- Check your internet connection
- Disable browser extensions
Verify:
- Input parameters are correct
- Units are as expected (meters, minutes)
- Gas mix percentages sum to 100%
- Gradient factors are reasonable (30/70 is standard)
If issues persist, report a bug.
Solutions:
- Ensure JavaScript is enabled
- Update your browser
- Try a different browser
- Check browser console for errors (F12)
Check:
- Browser allows local storage
- Not in private/incognito mode
- Sufficient storage space
- Backend API is accessible (if using server storage)
Try:
- Allow pop-ups for the site
- Update your browser
- Try a different browser
- Check browser console for errors
Solutions:
- Refresh the page
- Clear browser cache
- Check that JavaScript is enabled
Tips:
- Use landscape orientation for better layout
- Ensure stable internet connection
- Update your mobile browser
- Try desktop version if issues persist
Check:
- Internet connection is stable
- Backend server is running
- CORS is properly configured
- Rate limits not exceeded
- Check browser console for errors
We welcome feature requests! Please:
- Check existing issues first
- Open a new issue with detailed description
- Explain the use case
- Be patient - we're a small team
Check the project roadmap for planned features and timelines.
Yes! See the Contributing Guide for how to get involved.
- 📖 User Guide - Comprehensive usage guide
- 🔧 Troubleshooting - Detailed problem-solving
- 💬 GitHub Discussions - Community support
- 🐛 GitHub Issues - Bug reports
- Check if it's already reported
- Open a new issue on GitHub
- Include:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Browser and version
- Screenshots if applicable
- Check existing feature requests
- Open a new issue with "Feature Request" label
- Describe the feature and use case
- Explain why it would be valuable
Yes! Join discussions on GitHub Discussions to:
- Ask questions
- Share dive plans
- Discuss features
- Help other users
Recommended Resources:
- Bühlmann Algorithm Wikipedia
- Shearwater Gradient Factors
- DAN Decompression Theory
- Technical diving courses (TDI, IANTD, etc.)
For recreational diving:
- Open Water Diver (basic)
- Advanced Open Water (deeper dives)
- Nitrox certification (for enriched air)
For technical diving:
- Technical Diver certification
- Trimix certification (for helium mixes)
- Decompression Procedures course
- "Deco for Divers" by Mark Powell
- "The Physiology and Medicine of Diving" by Bennett and Elliott
- "Technical Diving in Depth" by Bruce Partridge
- Bühlmann's original works (advanced)
This is an open-source project created for educational purposes. See the GitHub repository for contributors.
Yes! The project is open-source and available on GitHub.
- ⭐ Star the repository
- 🐛 Report bugs
- 💡 Suggest features
- 🔧 Contribute code
- 📖 Improve documentation
- 💬 Help other users
See the LICENSE file in the repository.
If your question isn't answered here:
- Check the User Guide
- Search GitHub Issues
- Ask in GitHub Discussions
- Open a new issue
Next: Troubleshooting - Detailed problem-solving guide
Previous: Security Best Practices - Security guidelines