Selecting the correct size water well pump is critical for ensuring adequate water pressure and flow rate in your home. An undersized pump will result in low pressure and potential burnout from overworking, while an oversized pump causes "short cycling," which wastes energy and damages the motor.
Key Metrics Explained
GPM (Gallons Per Minute): This represents the flow rate demand of your household. A common rule of thumb is to count the number of water fixtures or bathrooms. Residential sizing often calculates 3-4 GPM per bathroom, with a minimum recommendation of 7-10 GPM for a standard single-family home to run multiple appliances simultaneously.
Static Water Level: The vertical distance from the ground surface to the water level in the well when the pump is not running.
TDH (Total Dynamic Head): This is the most important calculation. It represents the total load on the pump, measured in feet of head. It combines the physical distance the water must be lifted (vertical lift), the pressure required at the tank (pressure head), and the resistance caused by water moving through pipes (friction loss).
The Formula for TDH: TDH = Vertical Lift (ft) + Service Pressure (PSI × 2.31) + Friction Loss (ft)
Understanding Horsepower (HP)
Once you have calculated the GPM and TDH, you can select the pump horsepower. Higher TDH or higher GPM requirements necessitate higher horsepower. However, simply buying the highest HP pump is not the solution; you must match the pump curve supplied by the manufacturer to your specific TDH and GPM numbers.
Friction Loss
Water loses energy as it flows through pipes due to friction against the pipe walls. Smaller diameter pipes create more friction (and higher head loss) than larger pipes. If your well is located far from your house, increasing the pipe diameter can significantly reduce the load on your pump.
function calculateWellPump() {
// 1. Get Inputs
var bathrooms = parseFloat(document.getElementById("bathrooms").value);
var staticLevel = parseFloat(document.getElementById("staticLevel").value);
var pressurePsi = parseFloat(document.getElementById("pressurePsi").value);
var pipeLength = parseFloat(document.getElementById("pipeLength").value);
var elevationChange = parseFloat(document.getElementById("elevationChange").value);
var pipeDiameter = parseFloat(document.getElementById("pipeDiameter").value);
// Validation
if (isNaN(bathrooms) || isNaN(staticLevel) || isNaN(pipeLength)) {
alert("Please enter valid numbers for all fields.");
return;
}
// 2. Calculate Required Flow Rate (GPM)
// Rule of thumb: 3 GPM per bathroom, minimum of 7 GPM usually recommended for modern homes
var estimatedGPM = bathrooms * 3;
if (estimatedGPM < 7) estimatedGPM = 7;
// 3. Calculate Vertical Lift
// Lift = Static Water Level + Elevation Rise to House
var verticalLift = staticLevel + elevationChange;
// 4. Calculate Pressure Head
// 1 PSI = 2.31 Feet of Head
var pressureHead = pressurePsi * 2.31;
// 5. Calculate Friction Loss
// Using Hazen-Williams Equation approximation for PVC pipe (C=140)
// Formula: hf = 10.44 * L * Q^1.85 / (C^1.85 * d^4.87)
// L = Length in ft, Q = GPM, C = Roughness, d = diameter in inches
var cFactor = 140; // PVC
var numerator = 10.44 * pipeLength * Math.pow(estimatedGPM, 1.85);
var denominator = Math.pow(cFactor, 1.85) * Math.pow(pipeDiameter, 4.87);
var frictionHead = numerator / denominator;
// 6. Calculate Total Dynamic Head (TDH)
var tdh = verticalLift + pressureHead + frictionHead;
// 7. Estimate Horsepower
// Theoretical HP = (GPM * TDH) / (3960 * Pump Efficiency)
// Assuming pump end efficiency of ~60% (0.60) and motor service factor
var efficiency = 0.60;
var hydraulicHP = (estimatedGPM * tdh) / 3960;
var brakeHP = hydraulicHP / efficiency;
// Round to standard submersible pump sizes: 0.5, 0.75, 1.0, 1.5, 2.0, 3.0, 5.0
var standardSizes = [0.5, 0.75, 1.0, 1.5, 2.0, 3.0, 5.0];
var recommendedHP = standardSizes[standardSizes.length – 1]; // Default to max
for (var i = 0; i = brakeHP) {
recommendedHP = standardSizes[i];
break;
}
}
// If calculated HP is very close to a step, maybe bump up for safety margin?
// For this calc, we stick to the mathematical ceiling in standard sizes.
// 8. Display Results
document.getElementById("resGPM").innerHTML = estimatedGPM.toFixed(1) + " GPM";
document.getElementById("resLift").innerHTML = verticalLift.toFixed(1) + " ft";
document.getElementById("resPressure").innerHTML = pressureHead.toFixed(1) + " ft";
document.getElementById("resFriction").innerHTML = frictionHead.toFixed(1) + " ft";
document.getElementById("resTDH").innerHTML = tdh.toFixed(1) + " ft";
document.getElementById("resHP").innerHTML = recommendedHP + " HP";
// Show results div
document.getElementById("results").style.display = "block";
}