Pump Replacement

Replacing a pump?
Here's everything you need.

Grundfos submersibles assembled at our Tillsonburg sub-factory. Pressure tanks, controls, wire, pipe — all stocked at 4 Ontario branches.

What you need for a pump replacement

Submersible, booster, jet, and circulating pumps — plus every accessory to complete the install.

Size your replacement pump.

Enter your well specs and we'll recommend the exact Grundfos model with a complete product list.

Existing well

What's in the ground
We'll estimate if you don't know
House (1–3 bed) House (4+ bed) Multi-unit Farm Commercial

Everything You Need

Send this to Canpipe for a quote

We'll confirm final sizing, check stock, and get you pricing. One business day turnaround.

Toronto

85 Vulcan St, Etobicoke

416-244-6476

Orillia

129 Forest Plain Rd

705-329-0088

Tillsonburg

37 North St E

519-688-0220

Ottawa

1454 Cyrville Rd

613-748-0305
// Pills document.querySelectorAll(".pills").forEach(function(c){c.querySelectorAll(".pill").forEach(function(p){p.addEventListener("click",function(){c.querySelectorAll(".pill").forEach(function(x){x.classList.remove("sel")});p.classList.add("sel")})})}); function g1(id) { var s = document.getElementById(id).querySelector(".pill.sel"); return s ? s.getAttribute("data-v") : ""; } function nm(id) { var v = parseFloat(document.getElementById(id).value); return isNaN(v) ? 0 : v; } function vl(id) { return document.getElementById(id).value || ""; } function show(t, s, calc, bom, sp) { document.querySelectorAll(".bform").forEach(function(f) { f.classList.remove("active"); }); document.getElementById("results").style.display = "block"; document.getElementById("rh-t").textContent = t; document.getElementById("rh-s").textContent = s; if (calc) { document.getElementById("cc").style.display = "block"; document.getElementById("cb").innerHTML = calc; } document.getElementById("bom").innerHTML = bom; window._sp = sp; // Populate hidden form fields immediately var specsEl = document.getElementById('iq-specs'); var bomEl2 = document.getElementById('iq-bom'); if (specsEl) specsEl.value = sp; if (bomEl2) { setTimeout(function() { var bomText = document.getElementById('bom'); if (bomText) bomEl2.value = bomText.innerText.substring(0, 3000); }, 100); } document.getElementById("results").scrollIntoView({ behavior: "smooth", block: "start" }); } function R(n, d, q, cf) { return '
' + n + (cf ? 'Confirm' : '') + '
' + (d ? '
' + d + '
' : '') + '
' + q + '
'; } function S(t) { return '

' + t + '

'; } function E() { return '
'; } var SP_MODELS = { "5S": { gpm: 5, models: [[9,0.5,249],[13,0.5,355],[18,0.75,492],[22,1,601],[26,1.5,719],[31,1.5,806],[39,2,1011]] }, "10S": { gpm: 10, models: [[9,0.5,250],[12,0.75,335],[15,1,419],[21,1.5,589],[27,2,751]] }, "16S": { gpm: 16, models: [[5,0.5,146],[8,0.75,234],[10,1,292],[14,1.5,409],[18,2,522],[24,3,700],[38,5,1103]] }, "25S": { gpm: 25, models: [[3,0.5,88],[7,1,204],[9,1.5,261],[11,2,319],[15,3,438],[26,5,757],[39,7.5,1131]] } }; var GPM_MAP = { "sm": 7, "lg": 12, "multi": 20, "farm": 15, "comm": 25, "irr": 20 }; var APP_LABELS = { "sm": "Residential (1-3 bed)", "lg": "Residential (4+ bed)", "multi": "Multi-unit", "farm": "Farm", "comm": "Commercial", "irr": "Irrigation" }; function selectPump(gpm, tdh, cas, pwr) { if (pwr === "solar") return { model: "Grundfos SQFlex", detail: "Solar — " + gpm + " GPM, " + tdh + " ft TDH", hp: 0, exact: false }; if (parseInt(cas) <= 4 && gpm <= 10) return { model: 'Grundfos 3" SQE', detail: "Constant pressure, fits 4" casing", hp: 0, exact: false }; var fam = gpm <= 5 ? "5S" : gpm <= 10 ? "10S" : gpm <= 16 ? "16S" : "25S"; var sp = SP_MODELS[fam], best = null; for (var i = 0; i < sp.models.length; i++) { if (sp.models[i][2] >= tdh) { best = sp.models[i]; break; } } if (!best) best = sp.models[sp.models.length - 1]; var hc = {0.5:"05",0.75:"07",1:"10",1.5:"15",2:"20",3:"30",5:"50",7.5:"75"}[best[1]] || String(best[1]*10); return { model: "Grundfos SP " + fam + hc + "-" + best[0], detail: best[0] + " stages, " + best[1] + " HP, " + best[2] + " ft max head — rated " + sp.gpm + " GPM", hp: best[1], exact: true }; } function wireGA(hp, l) { if (hp <= 0.75) return l < 250 ? "12 AWG" : "10 AWG"; if (hp <= 1) return l < 200 ? "12 AWG" : l < 400 ? "10 AWG" : "8 AWG"; if (hp <= 1.5) return l < 400 ? "10 AWG" : "8 AWG"; if (hp <= 2) return l < 200 ? "10 AWG" : l < 350 ? "8 AWG" : "6 AWG"; if (hp <= 3) return l < 400 ? "8 AWG" : "6 AWG"; if (hp <= 5) return l < 350 ? "6 AWG" : "4 AWG"; return l < 300 ? "6 AWG" : "4 AWG"; } function pipeD(g) { return g <= 8 ? '1"' : g <= 15 ? '1-1/4"' : g <= 30 ? '1-1/2"' : '2"'; } function tankSz(g) { return g <= 7 ? "20 gal (Flexcon)" : g <= 12 ? "32 gal (Flexcon)" : g <= 20 ? "44 gal (Flexcon)" : "62 gal (Flexcon)"; } function annVol(b, c, l) { var br = (b/2)/12, cr = (c/2)/12; return Math.PI * (br*br - cr*cr) * l; } function calcReplace() { var dep = nm("pr-dep"), cas = vl("pr-cas"), swl = nm("pr-swl"), app = g1("pr-app"), pwr = vl("pr-pwr"); if (!dep) { alert("Enter the well depth."); return; } if (!swl) swl = Math.round(dep * 0.3); var gpm = GPM_MAP[app] || 10, dd = Math.round(swl * 0.3), pl = swl + dd; var presFt = Math.round(50 * 2.31), fric = Math.round((pl + presFt) * 0.05), tdh = pl + presFt + fric; var pumpSet = Math.min(pl + 20, dep - 10); if (pumpSet < pl + 10) pumpSet = pl + 10; var pump = selectPump(gpm, tdh, cas, pwr), hp = pump.hp; var wireLen = pumpSet + 50, wire = wireGA(hp, wireLen), pipe = pipeD(gpm), tank = tankSz(gpm); var appL = APP_LABELS[app] || app; var calc = '
TDH: ' + tdh + ' ft (' + pl + ' pumping level + ' + presFt + ' pressure + ' + fric + ' friction)
' + '
Pump: ' + pump.model + ' — ' + pump.detail + '
' + '
Pump Setting: ' + pumpSet + ' ft
'; var b = S("Pump System") + R(pump.model, pump.detail, "1", !pump.exact) + R("Grundfos Motor", hp + " HP, " + (pwr === "three" ? "3-phase" : "230V"), "1", false) + (hp >= 1.5 ? R("Control Box — Deluxe", hp + " HP", "1", false) : "") + R("Submersible Motor Cable", wire, wireLen + " ft", false) + R("Poly Pipe", pipe, pumpSet + " ft", false) + R("Torque Arrestor", cas + '"', "1", false) + E(); b += S("Pressure System") + R("Pressure Tank", tank, "1", false) + R("Tee Package", pipe, "1", false) + R("Pressure Switch", "40–60 PSI", "1", false) + R("Pressure Gauge", "", "1", false) + R("Check Valve", pipe, "1", false) + E(); b += S("Fittings") + R("Gate Valve", pipe, "2", false) + R("Sealant Tape", "", "1 roll", false) + R("Jet Lube Eco-Safe", "", "1", false) + E(); show("Pump Replacement — Product List", appL + " · " + dep + "ft · " + pump.model, calc, b, "PUMP REPLACE: " + dep + "ft, " + cas + '", ' + appL + "\nTDH " + tdh + "ft, " + pump.model); } var pbForm = document.querySelector('form[name="project-builder"]'); if (pbForm) { pbForm.addEventListener('submit', function() { document.getElementById('iq-specs').value = window._sp || ''; var bomEl = document.getElementById('bom'); document.getElementById('iq-bom').value = bomEl ? bomEl.innerText.substring(0, 3000) : ''; }); } >