Landscape Grading & Drainage Slope Calculator

ANALife Services AuthorityNational Calculator Authority›Landscape Grading & Drainage Slope Calculator

.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }

Landscape Grading & Drainage Slope Calculator

Calculate slope percentage, grade ratio, elevation change, and estimated surface runoff flow for landscape grading and drainage design.

Elevation Change / Rise (ft or m):

Horizontal Distance / Run (ft or m):

Drainage Area (sq ft or sq m):

Rainfall Intensity (in/hr or mm/hr):

Runoff Coefficient (C, 0–1):

Lawn ≈ 0.25–0.35 | Paved ≈ 0.70–0.95 | Bare soil ≈ 0.50–0.60

Unit System:

Imperial (ft, in/hr, sq ft) Metric (m, mm/hr, sq m)

Calculate

function lanCalc() { var rise = parseFloat(document.getElementById('lan-rise').value); var run = parseFloat(document.getElementById('lan-run').value); var area = parseFloat(document.getElementById('lan-area').value); var rainfall = parseFloat(document.getElementById('lan-rainfall').value); var C = parseFloat(document.getElementById('lan-runoff').value); var unit = document.getElementById('lan-unit').value; var resultDiv = document.getElementById('lan-result');

// --- Validation --- var errors = []; if (isNaN(rise) || rise 1)) errors.push("Runoff coefficient (C) must be between 0 and 1.");

if (errors.length > 0) { resultDiv.style.display = 'block'; resultDiv.innerHTML = 'Input Error:' + errors.map(function(e){ return ''; }).join('') + ''; return; }

// --- Core Slope Calculations --- // Slope percentage: (rise / run) * 100 var slopePct = (rise / run) * 100;

// Slope ratio: 1 : (run / rise) — expressed as "1 in X" var slopeRatio = (rise > 0) ? (run / rise) : Infinity;

// Slope angle in degrees: arctan(rise / run) var slopeAngleDeg = Math.atan(rise / run) * (180 / Math.PI);

// Slope in decimal form var slopeDecimal = rise / run;

// --- Minimum recommended slopes --- // General landscape: 2% minimum away from structures // Swales/channels: 1% minimum // Paved surfaces: 0.5% minimum (ADA allows 1%) var minLandscape = 2.0; var minSwale = 1.0; var minPaved = 0.5;

var slopeStatus = ""; if (slopePct ⚠ Below minimum for any drainage ('; } else if (slopePct ⚠ Marginal — acceptable only for paved surfaces (0.5%–1.0%).'; } else if (slopePct ⚠ Acceptable for swales/channels but below 2% landscape minimum.'; } else if (slopePct ✓ Good — within ideal landscape grading range (2%–5%).'; } else if (slopePct ⓘ Steep slope (5%–10%). Erosion control measures recommended.'; } else { slopeStatus = '⚠ Very steep (> 10%). Significant erosion risk. Retaining structures may be needed.'; }

// --- Rational Method: Peak Runoff Flow Q = C * i * A --- // Imperial: Q (cfs) = C * i (in/hr) * A (acres) → A_acres = area_sqft / 43560 // Metric: Q (m³/s) = C * i (m/s) * A (m²) → i_m_s = rainfall_mm_hr / (1000 * 3600) var flowHTML = ""; var hasFlow = !isNaN(area) && area > 0 && !isNaN(rainfall) && rainfall > 0 && !isNaN(C);

if (hasFlow) { var Q, flowUnit; if (unit === 'imperial') { var areaAcres = area / 43560; Q = C * rainfall * areaAcres; // cfs flowUnit = 'cfs (cubic feet per second)'; } else { var i_m_s = rainfall / (1000 * 3600); // mm/hr → m/s Q = C * i_m_s * area; // m³/s flowUnit = 'm³/s (cubic meters per second)'; }

// --- Manning's Equation: Estimated flow velocity in a grass swale --- // V = (1/n) * R^(2/3) * S^(1/2) // Assume: n = 0.035 (short grass), hydraulic radius R = 0.1 m (≈ 0.33 ft) for small swale var n_manning = 0.035; var R_m = 0.1; // hydraulic radius in metres var R_ft = 0.328; var S = slopeDecimal;

var V_m_s = (1 / n_manning) * Math.pow(R_m, 2/3) * Math.pow(S, 0.5); var V_ft_s = (1.486 / n_manning) * Math.pow(R_ft, 2/3) * Math.pow(S, 0.5);

flowHTML = 'Runoff & Flow (Rational Method)' + 'Drainage Area' + area.toLocaleString() + (unit === 'imperial' ? ' sq ft (' + (area/43560).toFixed(4) + ' acres)' : ' m²') + '' + 'Rainfall Intensity' + rainfall + (unit === 'imperial' ? ' in/hr' : ' mm/hr') + '' + 'Runoff Coefficient (C)' + C.toFixed(2) + '' + 'Peak Runoff Flow (Q)' + Q.toFixed(4) + ' ' + flowUnit + '' + 'Manning's Velocity (Grass Swale, n=0.035)' + 'Estimated Flow Velocity' + V_m_s.toFixed(3) + ' m/s  |  ' + V_ft_s.toFixed(3) + ' ft/s' + '' + 'Velocity Status' + (V_m_s Low — sediment deposition risk' : V_m_s Good — non-erosive velocity' : 'High — erosion risk, consider lining or check dams') + ''; }

// --- Build Result Table --- var unitLabel = unit === 'imperial' ? 'ft' : 'm'; resultDiv.style.display = 'block'; resultDiv.innerHTML = '### Results ' + '' + '' + 'ParameterValue' + 'Slope & Grade' + 'Rise (Elevation Change)' + rise.toFixed(3) + ' ' + unitLabel + '' + 'Run (Horizontal Distance)' + run.toFixed(3) + ' ' + unitLabel + '' + 'Slope Percentage' + slopePct.toFixed(2) + '%' + 'Slope Ratio (1 in X)' + (slopeRatio === Infinity ? 'Flat (no rise)' : '1 in ' + slopeRatio.toFixed(1)) + '' + 'Slope Angle' + slopeAngleDeg.toFixed(2) + '°' + 'Slope (Decimal)' + slopeDecimal.toFixed(5) + '' + 'Slope Assessment' + slopeStatus + '' + flowHTML + 'Reference Minimums' + 'Min. slope — landscape (away from structures)2.0%' + 'Min. slope — drainage swales1.0%' + 'Min. slope — paved / hardscape surfaces0.5%' + 'Ideal landscape grading range2% – 5%' + ''; }

#### Formulas Used

Slope Percentage: Slope (%) = (Rise / Run) × 100

Slope Ratio: Ratio = 1 : (Run / Rise) — read as "1 unit rise per X units of run"

Slope Angle: θ = arctan(Rise / Run)

Rational Method — Peak Runoff Flow: Q = C × i × A Where: Q = peak flow (cfs or m³/s), C = runoff coefficient (dimensionless), i = rainfall intensity (in/hr or m/s), A = drainage area (acres or m²)

Manning's Equation — Flow Velocity: V = (1/n) × R2/3 × S1/2 (SI)  |  V = (1.486/n) × R2/3 × S1/2 (Imperial) Where: n = Manning's roughness coefficient, R = hydraulic radius (m or ft), S = slope (decimal)

#### Assumptions & References

More Calculators

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References