Cooling Tower Water Flow Rate Calculator
/* Scoped Styles for WordPress Compatibility */
.ct-calculator-container {
max-width: 800px;
margin: 20px auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
color: #333;
background: #ffffff;
border: 1px solid #e2e8f0;
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
overflow: hidden;
}
.ct-calc-header {
background: #0073aa;
color: white;
padding: 20px;
text-align: center;
}
.ct-calc-header h2 {
margin: 0;
font-size: 24px;
color: white;
}
.ct-calc-body {
padding: 30px;
display: flex;
flex-wrap: wrap;
gap: 30px;
}
.ct-input-section {
flex: 1;
min-width: 300px;
}
.ct-result-section {
flex: 1;
min-width: 300px;
background: #f8fafc;
padding: 20px;
border-radius: 6px;
border: 1px solid #e2e8f0;
}
.ct-form-group {
margin-bottom: 20px;
}
.ct-form-group label {
display: block;
font-weight: 600;
margin-bottom: 8px;
font-size: 14px;
}
.ct-form-group input {
width: 100%;
padding: 12px;
border: 1px solid #cbd5e1;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
}
.ct-form-group input:focus {
border-color: #0073aa;
outline: none;
box-shadow: 0 0 0 2px rgba(0,115,170,0.2);
}
.ct-calc-btn {
width: 100%;
background: #0073aa;
color: white;
border: none;
padding: 14px;
font-size: 16px;
font-weight: bold;
border-radius: 4px;
cursor: pointer;
transition: background 0.2s;
}
.ct-calc-btn:hover {
background: #005177;
}
.ct-result-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 0;
border-bottom: 1px solid #e2e8f0;
}
.ct-result-row:last-child {
border-bottom: none;
}
.ct-result-label {
font-size: 14px;
color: #64748b;
}
.ct-result-value {
font-size: 18px;
font-weight: 700;
color: #1e293b;
}
.ct-main-result {
text-align: center;
margin-top: 10px;
padding-top: 15px;
border-top: 2px solid #e2e8f0;
}
.ct-main-result .val {
font-size: 36px;
color: #0073aa;
font-weight: 800;
display: block;
}
.ct-main-result .unit {
font-size: 16px;
color: #64748b;
font-weight: 500;
}
.ct-error {
color: #dc2626;
font-size: 14px;
margin-top: 10px;
display: none;
}
/* Article Styles */
.ct-article {
max-width: 800px;
margin: 40px auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
line-height: 1.6;
color: #333;
}
.ct-article h2 {
color: #0073aa;
border-bottom: 2px solid #e2e8f0;
padding-bottom: 10px;
margin-top: 40px;
}
.ct-article h3 {
color: #1e293b;
margin-top: 30px;
}
.ct-article ul {
background: #f8fafc;
padding: 20px 40px;
border-radius: 6px;
border: 1px solid #e2e8f0;
}
.ct-article li {
margin-bottom: 10px;
}
.ct-formula-box {
background: #eef2f6;
padding: 15px;
border-left: 4px solid #0073aa;
font-family: "Courier New", monospace;
margin: 20px 0;
}
Temperature Range (ΔT)
– °F
Heat Rejection
– Btu/hr
Required Flow Rate
–
GPM (Gallons Per Minute)
Understanding Cooling Tower Water Flow Rate
Calculating the correct water flow rate is essential for the efficient operation of any cooling tower system. The flow rate determines the size of the pumps required and ensures that the system can adequately reject heat from the process or HVAC equipment. If the flow rate is too low, the equipment may overheat; if it is too high, energy is wasted on pumping, and cooling efficiency may drop.
The Calculation Formula
To determine the required flow rate in Gallons Per Minute (GPM), we use the relationship between the Cooling Load and the Temperature Range. In the context of cooling towers, a "Ton" of cooling often includes an allowance for compressor heat, defined as 15,000 Btu/hr (unlike the standard 12,000 Btu/hr for refrigeration).
The standard formula used in this calculator is:
GPM = (Cooling Load (Tons) × 15,000) / (500 × ΔT)
Where:
- Cooling Load (Tons): The capacity of the tower.
- 15,000: The standard heat rejection rate per cooling tower ton (Btu/hr).
- 500: A constant derived from: 8.33 lbs/gal (water weight) × 60 min/hr × 1 Btu/lb°F (specific heat).
- ΔT (Range): The difference between the hot water entering the tower and the cold water leaving it (Inlet Temp – Outlet Temp).
Simplified Rule of Thumb
Often, engineers use a simplified version of the formula:
GPM = (Cooling Load (Tons) × 30) / Range (°F)
This derivation (15,000 / 500 = 30) allows for quick mental math. For example, a standard HVAC cycle often operates with a 10°F range (e.g., 95°F in, 85°F out). In this case, the flow rate is simply 3 GPM per Ton.
Key Parameters Explained
Cooling Load: This is the amount of heat energy the tower needs to remove from the system. It is usually measured in Tons, where 1 Cooling Tower Ton represents the ability to reject 15,000 Btu/hr.
Range (°F): This is the temperature drop of the water as it passes through the fill media of the tower. It is strictly dictated by the heat load and the water flow rate.
Inlet & Outlet Temperatures: The "Hot Water" temperature is the water coming from the chiller or process equipment. The "Cold Water" temperature is the water returning to the system after being cooled.
Example Calculation
Let's say you have a 500 Ton cooling tower system. The design requires water to enter the tower at 95°F and leave at 85°F.
- Determine Range: 95°F – 85°F = 10°F.
- Apply Formula: GPM = (500 Tons × 30) / 10.
- Calculate: 15,000 / 10 = 1,500 GPM.
In this scenario, you would need pumps capable of circulating 1,500 gallons per minute to maintain the desired temperatures.
function calculateFlowRate() {
// Get input elements by ID
var coolingLoadInput = document.getElementById('coolingLoad');
var inletTempInput = document.getElementById('inletTemp');
var outletTempInput = document.getElementById('outletTemp');
// Get output elements
var resRange = document.getElementById('resRange');
var resHeat = document.getElementById('resHeat');
var resGPM = document.getElementById('resGPM');
var errorBox = document.getElementById('ctError');
// Parse values
var loadTons = parseFloat(coolingLoadInput.value);
var inletTemp = parseFloat(inletTempInput.value);
var outletTemp = parseFloat(outletTempInput.value);
// Reset error state
errorBox.style.display = 'none';
// Validation
if (isNaN(loadTons) || isNaN(inletTemp) || isNaN(outletTemp)) {
// If inputs are empty, we just return quietly or could show an error
return;
}
if (loadTons <= 0) {
errorBox.innerText = "Cooling Load must be greater than zero.";
errorBox.style.display = 'block';
return;
}
if (inletTemp <= outletTemp) {
errorBox.innerText = "Inlet Temperature must be higher than Outlet Temperature to calculate cooling.";
errorBox.style.display = 'block';
return;
}
// Calculation Logic
// 1. Calculate Range (Delta T)
var rangeVal = inletTemp – outletTemp;
// 2. Calculate Heat Rejection in Btu/hr
// Standard Cooling Tower Ton = 15,000 Btu/hr (includes compressor work)
var heatRejection = loadTons * 15000;
// 3. Calculate GPM
// Formula: GPM = Heat Rejection / (500 * Range)
// Or simplified: GPM = (Tons * 30) / Range
var gpmVal = (loadTons * 30) / rangeVal;
// Formatting Output
// Intl.NumberFormat for commas in thousands
var numberFormatter = new Intl.NumberFormat('en-US', { maximumFractionDigits: 2 });
var integerFormatter = new Intl.NumberFormat('en-US', { maximumFractionDigits: 0 });
// Update DOM
resRange.innerText = rangeVal.toFixed(1) + " °F";
resHeat.innerText = integerFormatter.format(heatRejection) + " Btu/hr";
resGPM.innerText = numberFormatter.format(gpmVal);
}