Professional Dive Planning Tool - Plan your dives safely with French MN90 decompression tables on any device! ๐ฑ๐ป
- Real-time dive planning with instant feedback
- Autonomy calculations (bottom time vs. air consumption)
- Safety pressure management and gas reserve tracking
- Decompression requirements based on MN90 French tables
- Multi-level dive profiles with stop simulations
- Beautiful dive profiles with color-coded decompression stops
- ๐ Bottom time (orange)
- ๐ต 15m stops (cyan)
- ๐ข 12m stops (green)
- ๐ฃ 9m stops (purple)
- ๐ด 6m stops (red/pink)
- ๐ก 3m stops (yellow)
- Live graphing with Chart.js
- DTR (Decompression Time Remaining) display
- Autonomy trends showing consumption patterns
- MN90 tables viewer with dynamic columns
- โ Desktop - Full-featured split-view interface
- โ Tablet - Optimized vertical layout
- โ Mobile - Touch-friendly controls (handles, sliders)
- โ Drag-to-resize panels on all devices
- โ Touch-optimized sliders (28px handles on mobile)
Calculate how long you can stay underwater based on:
- Depth (6-65m)
- Bottom time
- Gas mixture (AIR, Nitrox, Custom)
- Initial pressure
- Consumption rate
- Safety pressure margin
Features:
- Real-time validation warnings
- PPOโ (Partial Pressure of Oxygen) calculation
- Optimal dive curves showing maximum possible bottom time
- Autonomy trends chart
- Margin of optimization analysis
Browse official MN90 decompression tables with:
- Depth selection (6-65m)
- Bottom time lookup
- Dynamic decompression stops (P15, P12, P9, P6, P3)
- Group letter assignment
- Colored dive profile visualization with palier zones
- DTR calculation
- User's selected dive highlighted in summary
Fine-tune your dive planning:
- Gas mix parameters
- PPOโ limits
- Safety thresholds
- Consumption profiles
Simply open mn90_mobile_compact_improved.html in any modern web browser:
# On macOS
open mn90_mobile_compact_improved.html
# On Linux
xdg-open mn90_mobile_compact_improved.html
# On Windows
start mn90_mobile_compact_improved.html
# Using Python 3
python3 -m http.server 8000
# Using Node.js
npx http-server
# Using PHP
php -S localhost:8000
Then open: http://localhost:8000/mn90_mobile_compact_improved.html
-
Set your dive parameters:
- Adjust depth with the depth slider (6-65m)
- Set bottom time (how long you want to stay at depth)
- Choose your gas mixture (AIR, Nitrox, Custom)
- Set initial bottle pressure
- Adjust consumption rate
-
View results:
- ๐ Real-time autonomy calculation
โ ๏ธ Validation warnings (if safety exceeded)- ๐ Consumption trend chart
- ๐ก Optimization margin (if you can dive longer safely)
-
Optimize:
- The "optimal dive curves" (dashed lines) show maximum possible bottom time
- Compare with your planned dive (solid lines)
- Select depth: Use the depth slider (6-65m)
- Set bottom time: Choose your desired time at depth
- View profile:
- ๐จ Colored dive profile with palier zones
- ๐ MN90 table for selected depth
- ๐ Your selected dive highlighted
- Check decompression:
- ๐บ DTR (Decompression Time Remaining)
- ๐งฎ Palier requirements (15m, 12m, 9m, 6m, 3m)
- ๐ Group letter assignment
Configure defaults for all calculations and gas mixtures.
- All panel separators (โ) are draggable
- Works with mouse or touch
- Panels maintain minimum size constraints
- Charts auto-update when resized
- Sliders: 28px touch targets on mobile (vs 18px on desktop)
- All controls have generous spacing
- Full touch support for all interactions
- < 768px: Tablet/Mobile layout (vertical stacking)
- < 480px: Small phone optimization
- > 1024px: Full desktop experience
| Component | Technology |
|---|---|
| Frontend | HTML5 + Vanilla JavaScript |
| Charting | Chart.js 3.x |
| Data | MN90 French Decompression Tables (410+ entries) |
| Styling | CSS3 (Flexbox, Grid, Media Queries) |
| Storage | LocalStorage for settings (no server needed!) |
| Compatibility | All modern browsers (Chrome, Firefox, Safari, Edge) |
All decompression data based on the French MN90 Standard tables:
- โ 29 depths (6m to 65m)
- โ Multiple bottom times per depth
- โ Decompression stops at 15m, 12m, 9m, 6m, 3m
- โ Group letter assignments (A-P, *)
- โ 410+ dive profiles
Background: #1a2332 (Dark Navy)
Primary: #00d4d4 (Cyan) โ Dive planning color
Accent: #06b6d4 (Bright Cyan) โ Highlights
Success: #2d8b8b (Teal)
Warning: #f59e0b (Amber)
Danger: #ef4444 (Red)
Palier Colors:
P15: #06b6d4 (Cyan)
P12: #22c55e (Green)
P9: #a855f7 (Purple)
P6: #f43f5e (Red)
P3: #fbbf24 (Yellow)
Edit inside <script> section:
// Initial values
const initialDepth = 20; // meters
const initialTime = 20; // minutes
const initialConsumption = 23; // L/min
const initialBottlePressure = 210; // bar
const safetyPressure = 50; // bar reserve
Modify the gas mix definitions:
- AIR: 21% Oโ, 79% Nโ (standard)
- NITROX: Customizable Oโ percentage
- CUSTOM: Define your own mix
- โ Follow your certification agency's guidelines
- โ Consult official tables and dive computers
- โ Never dive alone
- โ Plan conservative dives with margin
- โ Follow your training and experience limits
- โ Check with qualified instructors
This tool does NOT replace professional dive training or certification!
| Browser | Version | Status |
|---|---|---|
| Chrome | 90+ | โ Full Support |
| Firefox | 88+ | โ Full Support |
| Safari | 14+ | โ Full Support |
| Edge | 90+ | โ Full Support |
| Opera | 76+ | โ Full Support |
| IE 11 | - | โ Not Supported |
mn90_mobile_compact_improved.html
โโโ HTML Structure (3 tabs)
โโโ CSS Styling (responsive)
โโโ Chart.js Integration
โโโ MN90 Data Tables (410 entries)
โโโ JavaScript Logic
โโโ Calculations
โโโ Validations
โโโ Graphing
โโโ Touch/Resize Handlers
โโโ Mobile Optimization
File Size: ~120 KB (self-contained, no dependencies except Chart.js via CDN)
Final Pressure = Initial Pressure - (Depth + 10) / 10 ร Consumption ร Time
Based on MN90 tables:
- Depth & bottom time โ Decompression stops
- Stops at 15m, 12m, 9m, 6m, 3m (as required)
- Ascent rate: 6 m/min (standard safety)
PPOโ = (Depth/10 + 1) ร Oโ%
- ๐ Altitude dive adjustments
- ๐ก๏ธ Temperature effects simulation
- ๐พ Dive logging & history
- ๐ Share dive plans (URL encoding)
- ๐ Dark/Light theme toggle
- ๐ฃ๏ธ Multi-language support (FR, EN, DE, ES)
- ๐ฒ Progressive Web App (PWA)
- โ Apple Watch integration
- ๐ Tutorial & certification modes
Contributions welcome! ๐
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Test thoroughly on mobile & desktop
- Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
- Use meaningful variable names
- Add comments for complex calculations
- Test on multiple devices
- Maintain responsive design
This project is licensed under the MIT License - see the LICENSE file for details.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...
Built with โค๏ธ for the diving community ๐คฟ
Questions? Issues? Feature requests?
โ Open an issue on GitHub
โ Submit a pull request
โ Contact: [your-email@example.com]
- ๐ซ๐ท French MN90 Decompression Tables - FFESSM/CMAS Standard
- ๐ Chart.js - Beautiful JavaScript Charting
- ๐ MDN Web Docs - Web Platform Reference
- ๐คฟ Diving Community - For the feedback and safety culture
- Go to Autonomy Tab
- Set Depth: 30m
- Initial Pressure: 210 bar
- Adjust bottom time until autonomy shows comfortable margin
- Switch to Tables Tab to see exact decompression requirements
- Review colored profile and DTR
- Plan your decompression stops! โ
- Go to Settings Tab
- Select NITROX gas mix
- Set Oโ: 32% (Nitrox32)
- Back to Autonomy Tab - see improved autonomy!
- Check PPOโ - should be safe at 20m
- Plan your dive! ๐
- Open on your phone
- Tap sliders to adjust parameters
- Drag panel separators to see more details
- Screenshot the profile for reference
- Dive safely! ๐
- Bug Reports: Open an issue with details
- Feature Requests: Describe your use case
- Questions: Check existing issues first
- Security: Report security issues privately
โญ Star the repository!
๐ข Share with your dive buddies!
๐ช Contribute improvements!
Happy diving! ๐คฟโจ
โ ~ โ ~ โ
๐คฟ MN90 Planner ๐คฟ
โ ~ โ ~ โ
Safety First Always
Last Updated: 2025-01-16
Version: 1.0.0
Status: Stable & Production Ready โ