Surface Air Consumption (SAC) rate is a measurement used by scuba divers to determine how much air they consume at the surface level. By normalizing your air consumption to 1 atmosphere (the pressure at the surface), you can accurately predict how long a tank will last at any given depth.
Why Calculate Your SAC Rate?
Understanding your air consumption is critical for dive planning and safety. It allows you to:
Estimate the duration of future dives.
Determine if you have enough air for a specific dive profile.
Track improvements in your buoyancy and relaxation over time.
Select the appropriate tank size for deep or long-duration dives.
The Metric Formula
In the metric system, we calculate the SAC rate (L/min) using the following steps:
Air Consumed (Liters): (Start Pressure – End Pressure) × Tank Capacity
Indicates heavy exertion, stress, or poor buoyancy.
Example Calculation
Imagine you used a 12L tank for a 40-minute dive at an average depth of 15 meters. You started with 200 bar and surfaced with 60 bar.
Total Bar used: 140 bar (200 – 60)
Total Liters used: 1,680 L (140 × 12)
Pressure at 15m: 2.5 ATA (15 / 10 + 1)
SAC Rate: 16.8 L/min (1,680 / 40 / 2.5)
function calculateSACRate() {
var tank = parseFloat(document.getElementById('tankSize').value);
var start = parseFloat(document.getElementById('startBar').value);
var end = parseFloat(document.getElementById('endBar').value);
var depth = parseFloat(document.getElementById('avgDepth').value);
var time = parseFloat(document.getElementById('diveTime').value);
var resultBox = document.getElementById('sac-result-box');
var output = document.getElementById('sac-output-text');
if (isNaN(tank) || isNaN(start) || isNaN(end) || isNaN(depth) || isNaN(time) || time <= 0 || tank <= 0) {
resultBox.style.display = 'block';
output.innerHTML = 'Please enter valid numbers for all fields. Time and Tank Size must be greater than zero.';
return;
}
if (end >= start) {
resultBox.style.display = 'block';
output.innerHTML = 'Ending pressure must be lower than starting pressure.';
return;
}
// Calculation Logic
var totalBarUsed = start – end;
var totalLitersUsed = totalBarUsed * tank;
var ata = (depth / 10) + 1;
var sacRate = (totalLitersUsed / time) / ata;
var rmv = sacRate; // In metric, SAC expressed in L/min is often synonymous with RMV (Respiratory Minute Volume)
var rating = "";
if (sacRate < 14) rating = "Excellent (Very Efficient)";
else if (sacRate < 19) rating = "Good (Average Experienced)";
else if (sacRate < 25) rating = "Average (Standard)";
else rating = "High (Consider working on buoyancy/relaxation)";
resultBox.style.display = 'block';
output.innerHTML = '