Pool Evaporation & Water Loss Calculator

ANALife Services AuthorityNational Calculator Authority›Pool Evaporation & Water Loss 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; } }

# Pool Evaporation & Water Loss Calculator

Estimate how much water your pool loses to evaporation each day and week. Enter your pool dimensions, water and air temperatures, relative humidity, and wind conditions to get an accurate evaporation estimate using the industry-standard Penman evaporation model adapted for swimming pools.

Pool Length (ft)

Pool Width (ft)

Pool Shape

Rectangular Oval / Elliptical Circular (use diameter for both L & W) Kidney / Freeform (approx.)

Water Temperature (°F)

Air Temperature (°F)

Relative Humidity (%)

Wind Speed (mph)

Pool Cover Used at Night?

No cover Solar cover (reduces ~50%) Solid safety cover (reduces ~90%)

Calculate Water Loss Enter your pool details above and click Calculate.

function pecCalculate() { // --- Gather inputs --- const length = parseFloat(document.getElementById('pec-length').value); const width = parseFloat(document.getElementById('pec-width').value); const shape = parseFloat(document.getElementById('pec-shape').value); const Tw_f = parseFloat(document.getElementById('pec-water-temp').value); const Ta_f = parseFloat(document.getElementById('pec-air-temp').value); const RH = parseFloat(document.getElementById('pec-humidity').value); const wind_mph = parseFloat(document.getElementById('pec-wind').value); const coverFactor = parseFloat(document.getElementById('pec-cover').value);

const resultDiv = document.getElementById('pec-result');

// --- Validation --- if (isNaN(length) || length Please enter a valid pool length.'; return; } if (isNaN(width) || width Please enter a valid pool width.'; return; } if (isNaN(Tw_f) || Tw_f 104) { resultDiv.innerHTML = 'Water temperature must be between 32°F and 104°F.'; return; } if (isNaN(Ta_f) || Ta_f 130) { resultDiv.innerHTML = 'Air temperature must be between -20°F and 130°F.'; return; } if (isNaN(RH) || RH 100) { resultDiv.innerHTML = 'Relative humidity must be between 1% and 100%.'; return; } if (isNaN(wind_mph) || wind_mph Wind speed must be 0 or greater.'; return; }

// --- Unit conversions --- // Surface area in sq ft, then convert to sq meters for SI formula const areaSqFt = length * width * shape; const areaSqM = areaSqFt * 0.092903;

// Temperatures to Celsius const Tw = (Tw_f - 32) * 5 / 9; const Ta = (Ta_f - 32) * 5 / 9;

// Wind speed: mph -> m/s const wind_ms = wind_mph * 0.44704;

// --- Saturation vapor pressure (Buck equation, kPa) --- // Pw = saturation vapor pressure at water surface temperature // Pa = saturation vapor pressure at air temperature function satVaporPressure(T_c) { // Buck equation: es(T) = 0.61121 * exp((18.678 - T/234.5) * (T/(257.14 + T))) kPa return 0.61121 * Math.exp((18.678 - T_c / 234.5) * (T_c / (257.14 + T_c))); }

const Pw = satVaporPressure(Tw); // kPa — at water surface const Pa_sat = satVaporPressure(Ta); // kPa — saturation at air temp const Pa = Pa_sat * (RH / 100); // kPa — actual vapor pressure of air

// Vapor pressure deficit (kPa) const VPD = Pw - Pa;

// --- Shah (1981) / ASHRAE pool evaporation formula --- // E = A * (Pw - Pa) * (0.089 + 0.0782 * V) // where E = evaporation rate in kg/h // A = pool surface area in m² // Pw, Pa in kPa // V = wind speed in m/s // Source: Shah (1981) as cited in ASHRAE Fundamentals Handbook const evap_kg_per_hr = areaSqM * VPD * (0.089 + 0.0782 * wind_ms);

// Apply cover factor (covers are used ~8 hrs/night; simplify to daily weighted average) // Assume cover is on 8 hrs/day (night), uncovered 16 hrs/day const coverHours = 8; const openHours = 24 - coverHours; const evap_daily_kg = (evap_kg_per_hr * openHours) + (evap_kg_per_hr * coverFactor * coverHours);

// Convert kg to gallons (1 kg water ≈ 0.264172 US gallons) const evap_daily_gal = evap_daily_kg * 0.264172; const evap_weekly_gal = evap_daily_gal * 7;

// Convert to inches of water depth lost per day // Volume (gal) / area (sq ft) * 0.1337 ft³/gal * 12 in/ft = inches const evap_daily_inches = (evap_daily_gal / areaSqFt) * 0.1337 * 12;

// Gallons per week const evap_weekly_kg = evap_daily_kg * 7;

// Cost estimate (optional context): avg US water cost ~$0.004/gallon const costPerGallon = 0.004; const weeklyCost = evap_weekly_gal * costPerGallon;

// --- Format output --- const coverLabel = document.getElementById('pec-cover').options[document.getElementById('pec-cover').selectedIndex].text;

resultDiv.innerHTML = '### Evaporation Estimate ' + '' + 'Pool Surface Area' + '' + areaSqFt.toFixed(0) + ' sq ft (' + areaSqM.toFixed(1) + ' m²)' + 'Vapor Pressure Deficit' + '' + VPD.toFixed(3) + ' kPa' + 'Evaporation Rate' + '' + evap_kg_per_hr.toFixed(3) + ' kg/hr (uncovered)' + 'Cover Setting' + '' + coverLabel + '' + 'Daily Water Loss' + '' + evap_daily_gal.toFixed(1) + ' gallons/day (' + evap_daily_inches.toFixed(3) + ' inches depth)' + 'Weekly Water Loss' + '' + evap_weekly_gal.toFixed(1) + ' gallons/week' + 'Est. Weekly Water Cost' + '~$' + weeklyCost.toFixed(2) + ' (at $0.004/gal avg)' + '' + 'Note: Actual evaporation varies with local climate, pool usage, and chemical treatment. ' + 'Values above 1/4 inch per day are considered high — consider a pool cover to reduce losses.

'; }

#### Formula

Shah (1981) Pool Evaporation Model (as referenced in ASHRAE Fundamentals):

E = A × (Pw − Pa) × (0.089 + 0.0782 × V)

Daily loss accounts for cover usage: Edaily = E × 16 hrs (open) + E × cover_factor × 8 hrs (covered)

Depth loss (inches): D = (Gallons ÷ Surface_ft²) × 0.1337 × 12

#### Assumptions

More Calculators

Read Next

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

References