{"id":1809,"date":"2026-05-21T05:25:39","date_gmt":"2026-05-21T05:25:39","guid":{"rendered":"https:\/\/aiper.com\/blogs\/?page_id=1809"},"modified":"2026-10-21T09:16:32","modified_gmt":"2026-10-21T09:16:32","slug":"pool-evaporation-calculator","status":"publish","type":"page","link":"https:\/\/aiper.com\/blogs\/pool-evaporation-calculator\/","title":{"rendered":"Pool Evaporation Estimator"},"content":{"rendered":"\n<div class=\"pool-calc-container\">\n  <div class=\"pool-calc-header\">\n    <div class=\"step-indicator\">\n      <span class=\"step-dot active\" id=\"dot-1\">1<\/span>\n      <span class=\"step-dot\" id=\"dot-2\">2<\/span>\n      <span class=\"step-dot\" id=\"dot-3\">3<\/span>\n      <span class=\"step-dot\" id=\"dot-4\">4<\/span>\n    <\/div>\n  <\/div>\n\n  <form id=\"pool-calc-form\">\n    <!-- Step 1: Preferred Base Units -->\n    <div class=\"calc-step active\" id=\"step-1\">\n      <h3>Step 1: Select Your Preferred Units<\/h3>\n      <p>This sets your primary default system for viewing the final evaporation depth.<\/p>\n      <div class=\"radio-group\">\n        <label class=\"radio-label\">\n          <input type=\"radio\" name=\"base-unit\" value=\"in\" checked> Inches (in)\n        <\/label>\n        <label class=\"radio-label\">\n          <input type=\"radio\" name=\"base-unit\" value=\"cm\"> Centimeters (cm)\n        <\/label>\n      <\/div>\n      <div class=\"btn-nav-group\">\n        <button type=\"button\" class=\"btn-next\" onclick=\"nextStep(2)\">Next Step<\/button>\n      <\/div>\n    <\/div>\n\n    <!-- Step 2: Environmental Inputs -->\n    <div class=\"calc-step\" id=\"step-2\">\n      <h3>Step 2: Weather &#038; Water Metrics<\/h3>\n      \n      <div class=\"input-row\">\n        <div class=\"input-field\">\n          <label>Water Temperature<\/label>\n          <div class=\"input-with-toggle\">\n            <input type=\"number\" id=\"water-temp\" value=\"78\" step=\"0.1\">\n            <div class=\"select-wrapper\">\n              <select id=\"water-temp-unit\"><option value=\"F\">\u00b0F<\/option><option value=\"C\">\u00b0C<\/option><\/select>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"input-field\">\n          <label>Dew Point Temperature<\/label>\n          <div class=\"input-with-toggle\">\n            <input type=\"number\" id=\"dew-point\" value=\"55\" step=\"0.1\">\n            <div class=\"select-wrapper\">\n              <select id=\"dew-point-unit\"><option value=\"F\">\u00b0F<\/option><option value=\"C\">\u00b0C<\/option><\/select>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"input-row\">\n        <div class=\"input-field\">\n          <label>Wind Speed<\/label>\n          <div class=\"input-with-toggle\">\n            <input type=\"number\" id=\"wind-speed\" value=\"5\" min=\"0\" step=\"0.1\">\n            <div class=\"select-wrapper\">\n              <select id=\"wind-speed-unit\"><option value=\"mph\">mph<\/option><option value=\"kmh\">km\/h<\/option><\/select>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"input-field\">\n          <label>Air Pressure<\/label>\n          <div class=\"input-with-toggle\">\n            <input type=\"number\" id=\"air-pressure\" value=\"29.92\" step=\"0.01\">\n            <div class=\"select-wrapper\">\n              <select id=\"air-pressure-unit\"><option value=\"in\">inHg<\/option><option value=\"hpa\">hPa<\/option><\/select>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"btn-nav-group\">\n        <button type=\"button\" class=\"btn-prev\" onclick=\"prevStep(1)\">Back<\/button>\n        <button type=\"button\" class=\"btn-next\" onclick=\"nextStep(3)\">Next Step<\/button>\n      <\/div>\n    <\/div>\n\n    <!-- Step 3: Exposure and Activity -->\n    <div class=\"calc-step\" id=\"step-3\">\n      <h3>Step 3: Pool Surroundings &#038; Movement<\/h3>\n      \n      <div class=\"input-field full-width\">\n        <label for=\"wind-shelter\">Wind Shelter<\/label>\n        <div class=\"select-wrapper large-select\">\n          <select id=\"wind-shelter\">\n            <option value=\"minimal\">Minimal (Open area, high exposure)<\/option>\n            <option value=\"typical\" selected>Typical (Suburban yard, some trees\/fences)<\/option>\n            <option value=\"protected\">Protected (Enclosed porch, heavy windbreaks)<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n\n      <div class=\"input-field full-width\">\n        <label for=\"water-movement\">Water Movement<\/label>\n        <div class=\"select-wrapper large-select\">\n          <select id=\"water-movement\">\n            <option value=\"still\">Still (Unused, no fountains\/waterfalls)<\/option>\n            <option value=\"normal\" selected>Normal (Intermittent swimming, standard filtration)<\/option>\n            <option value=\"excessive\">Excessive (Active crowds, active waterfalls\/fountains)<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n\n      <div class=\"btn-nav-group\">\n        <button type=\"button\" class=\"btn-prev\" onclick=\"prevStep(2)\">Back<\/button>\n        <button type=\"button\" class=\"btn-next\" onclick=\"nextStep(4)\">Next Step<\/button>\n      <\/div>\n    <\/div>\n\n    <!-- Step 4: Calculate & Results -->\n    <div class=\"calc-step\" id=\"step-4\">\n      <h3>Step 4: Get Your Report<\/h3>\n      <p>Ready to calculate the projected daily water loss based on your parameters.<\/p>\n      \n      <button type=\"button\" class=\"btn-calculate\" onclick=\"calculateEvaporation()\">Calculate it<\/button>\n\n      <div id=\"results-card\" class=\"results-card\" style=\"display: none;\">\n        <h4>Estimated Water Loss:<\/h4>\n        <div class=\"result-display\" id=\"result-value\">&#8212;<\/div>\n        \n        <div class=\"output-converter\">\n          <label>Convert display unit:<\/label>\n          <div class=\"select-wrapper inline-select\">\n            <select id=\"output-unit-toggle\" onchange=\"convertOutputDisplay()\">\n              <option value=\"in\">Inches per day (in\/day)<\/option>\n              <option value=\"cm\">Centimeters per day (cm\/day)<\/option>\n              <option value=\"mm\">Millimeters per day (mm\/day)<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"btn-nav-group\" style=\"margin-top: 20px;\">\n        <button type=\"button\" class=\"btn-prev\" onclick=\"prevStep(3)\">Back<\/button>\n        <button type=\"button\" class=\"btn-reset\" onclick=\"resetCalculator()\">Reset Form<\/button>\n      <\/div>\n    <\/div>\n  <\/form>\n<\/div>\n\n<style>\n\/* \u6838\u5fc3\u5bb9\u5668\u57fa\u7840\u6837\u5f0f\u4f18\u5316 *\/\n.pool-calc-container {\n  background: #ffffff;\n  border: 1px solid #e0e0e0;\n  border-radius: 8px;\n  max-width: 550px;\n  width: 100%;\n  margin: 20px auto;\n  padding: 25px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, sans-serif;\n  box-shadow: 0 4px 15px rgba(0,0,0,0.05);\n  box-sizing: border-box; \/* \u786e\u4fdd padding \u4e0d\u4f1a\u6491\u5927\u5916\u90e8\u5bb9\u5668 *\/\n}\n\n\/* \u7edf\u4e00\u91cd\u7f6e\u5b50\u9879\u7684 box-sizing *\/\n.pool-calc-container *, .pool-calc-container *::before, .pool-calc-container *::after {\n  box-sizing: border-box;\n}\n\n.pool-calc-header {\n  display: flex;\n  justify-content: space-between;\n  align-items: center;\n  border-bottom: 2px solid #f0f0f0;\n  padding-bottom: 15px;\n  margin-bottom: 20px;\n}\n.pool-calc-header h2 {\n  margin: 0;\n  color: #333;\n  font-size: 22px;\n}\n.step-indicator {\n  display: flex;\n  gap: 8px;\n}\n.step-dot {\n  width: 24px;\n  height: 24px;\n  border-radius: 50%;\n  background: #e0e0e0;\n  color: #fff;\n  font-size: 12px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  font-weight: bold;\n}\n.step-dot.active {\n  background: #1ecad3;\n}\n.calc-step {\n  display: none;\n}\n.calc-step.active {\n  display: block;\n}\n.calc-step h3 {\n  margin-top: 0;\n  color: #444;\n  font-size: 18px;\n}\n.radio-group {\n  margin: 20px 0;\n  display: flex;\n  gap: 20px;\n}\n.radio-label {\n  cursor: pointer;\n  font-size: 16px;\n  display: flex;\n  align-items: center;\n  gap: 6px;\n}\n\n\/* \u8f93\u5165\u6846\u884c\u5e03\u5c40 - \u9ed8\u8ba4\u4e24\u5217 *\/\n.input-row {\n  display: flex;\n  gap: 15px;\n  margin-bottom: 15px;\n}\n.input-field {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  gap: 5px;\n  min-width: 0; \/* \u9632\u6b62\u5f39\u6027\u5b50\u9879\u6ea2\u51fa *\/\n}\n.input-field.full-width {\n  margin-bottom: 15px;\n}\n.input-field label {\n  font-size: 14px;\n  font-weight: 600;\n  color: #555;\n  white-space: nowrap; \/* \u4fdd\u6301\u6807\u7b7e\u4e0d\u6362\u884c *\/\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n.input-with-toggle {\n  display: flex;\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  overflow: hidden;\n  width: 100%;\n}\n.input-with-toggle input {\n  flex: 1;\n  border: none;\n  padding: 8px 12px;\n  font-size: 15px;\n  outline: none;\n  min-width: 50px; \/* \u7ed9\u4e88 input \u6700\u5c0f\u5360\u4f4d\u7a7a\u95f4 *\/\n}\n\n\/* \u4e0b\u5c16\u62ec\u53f7\u6307\u793a\u5668\u5305\u88f9\u5c42 *\/\n.select-wrapper {\n  position: relative;\n  display: inline-block;\n  background: #f5f5f5;\n  flex-shrink: 0; \/* \u963b\u6b62\u4e0b\u62c9\u9009\u62e9\u6846\u5728\u7a84\u5c4f\u4e0b\u88ab\u538b\u6241 *\/\n}\n.select-wrapper::after {\n  content: \"\u25bc\";\n  font-size: 10px;\n  color: #666;\n  position: absolute;\n  right: 8px;\n  top: 50%;\n  transform: translateY(-50%);\n  pointer-events: none;\n}\n.select-wrapper select {\n  appearance: none;\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  border: none;\n  background: transparent;\n  padding: 8px 24px 8px 10px;\n  font-size: 14px;\n  outline: none;\n  cursor: pointer;\n  height: 100%;\n}\n\n.large-select {\n  border: 1px solid #ccc;\n  border-radius: 4px;\n  width: 100%;\n  background: #ffffff;\n}\n.large-select select {\n  width: 100%;\n}\n.large-select::after {\n  right: 12px;\n}\n.inline-select {\n  border: 1px solid #1ecad3;\n  border-radius: 4px;\n  background: #fff;\n}\n\n.btn-nav-group {\n  display: flex;\n  justify-content: space-between;\n  margin-top: 25px;\n  gap: 10px;\n}\nbutton {\n  cursor: pointer;\n  padding: 10px 20px;\n  font-size: 15px;\n  font-weight: 600;\n  border-radius: 4px;\n  transition: all 0.2s ease;\n}\n.btn-next, .btn-calculate {\n  background: #1ecad3;\n  color: white;\n  border: none;\n}\n.btn-next {\n  margin-left: auto;\n}\n.btn-next:hover, .btn-calculate:hover {\n  background: #17afb7;\n}\n.btn-prev {\n  background: #fff;\n  color: #666;\n  border: 1px solid #ccc;\n}\n.btn-prev:hover {\n  background: #f9f9f9;\n}\n.btn-reset {\n  background: #fee;\n  color: #c33;\n  border: 1px solid #fcc;\n}\n.btn-reset:hover {\n  background: #fdd;\n}\n.btn-calculate {\n  width: 100%;\n  padding: 12px;\n  font-size: 16px;\n  margin-bottom: 20px;\n}\n.results-card {\n  background: #f4fbfc;\n  border: 2px solid #1ecad3;\n  border-radius: 6px;\n  padding: 20px;\n  text-align: center;\n}\n.results-card h4 {\n  margin: 0 0 10px 0;\n  color: #333;\n}\n.result-display {\n  font-size: 32px;\n  font-weight: bold;\n  color: #1ecad3;\n  margin-bottom: 15px;\n}\n.output-converter {\n  border-top: 1px solid #d8f2f4;\n  padding-top: 15px;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  gap: 10px;\n  font-size: 14px;\n}\n\n\/* \ud83d\udcf1 \u54cd\u5e94\u5f0f\u79fb\u52a8\u7aef\u65ad\u70b9\u4f18\u5316\uff1a\u6838\u5fc3\u4fee\u590d *\/\n@media (max-width: 480px) {\n  .pool-calc-container {\n    padding: 15px; \/* \u79fb\u52a8\u7aef\u7565\u5fae\u7f29\u5c0f\u5185\u8fb9\u8ddd *\/\n  }\n  .input-row {\n    flex-direction: column; \/* \u5f3a\u884c\u5c06\u5e76\u6392\u7684\u4e24\u884c\u62c6\u4e3a\u4e00\u5217\u4e00\u884c *\/\n    gap: 12px;\n    margin-bottom: 12px;\n  }\n  .radio-group {\n    flex-direction: column;\n    gap: 10px;\n  }\n  .output-converter {\n    flex-direction: column;\n    gap: 8px;\n  }\n}\n<\/style>\n\n<script>\nlet currentStep = 1;\nlet calculatedInchesPerDay = 0;\n\nfunction updateStepIndicators() {\n  document.querySelectorAll('.step-dot').forEach((dot, index) => {\n    if (index + 1 <= currentStep) {\n      dot.classList.add('active');\n    } else {\n      dot.classList.remove('active');\n    }\n  });\n}\n\nfunction nextStep(step) {\n  if (step === 2) {\n    const defaultUnit = document.querySelector('input[name=\"base-unit\"]:checked').value;\n    document.getElementById('output-unit-toggle').value = defaultUnit;\n  }\n  document.getElementById(`step-${currentStep}`).classList.remove('active');\n  currentStep = step;\n  document.getElementById(`step-${currentStep}`).classList.add('active');\n  updateStepIndicators();\n}\n\nfunction prevStep(step) {\n  document.getElementById(`step-${currentStep}`).classList.remove('active');\n  currentStep = step;\n  document.getElementById(`step-${currentStep}`).classList.add('active');\n  updateStepIndicators();\n}\n\nfunction resetCalculator() {\n  document.getElementById('pool-calc-form').reset();\n  document.getElementById('results-card').style.display = 'none';\n  document.getElementById(`step-${currentStep}`).classList.remove('active');\n  currentStep = 1;\n  document.getElementById('step-1').classList.add('active');\n  updateStepIndicators();\n  calculatedInchesPerDay = 0;\n}\n\nfunction calculateEvaporation() {\n  let waterT = parseFloat(document.getElementById('water-temp').value);\n  let dewP = parseFloat(document.getElementById('dew-point').value);\n  let wind = parseFloat(document.getElementById('wind-speed').value);\n  let press = parseFloat(document.getElementById('air-pressure').value);\n  \n  if (document.getElementById('water-temp-unit').value === 'F') {\n    waterT = (waterT - 32) * 5 \/ 9;\n  }\n  if (document.getElementById('dew-point-unit').value === 'F') {\n    dewP = (dewP - 32) * 5 \/ 9;\n  }\n  if (document.getElementById('wind-speed-unit').value === 'kmh') {\n    wind = wind * 0.621371; \n  }\n  if (document.getElementById('air-pressure-unit').value === 'in') {\n    press = press * 33.8639; \n  }\n\n  const shelter = document.getElementById('wind-shelter').value;\n  let shelterMod = 1.0;\n  if (shelter === 'minimal') shelterMod = 1.3;\n  if (shelter === 'protected') shelterMod = 0.6;\n  wind = wind * shelterMod;\n\n  const movement = document.getElementById('water-movement').value;\n  let activityFactor = 0.05; \n  if (movement === 'normal') activityFactor = 0.08;\n  if (movement === 'excessive') activityFactor = 0.15;\n\n  const es = 6.1078 * Math.pow(10, (7.5 * waterT) \/ (237.3 + waterT));\n  const ea = 6.1078 * Math.pow(10, (7.5 * dewP) \/ (237.3 + dewP));\n  \n  let deficit = es - ea;\n  if (deficit < 0) deficit = 0; \n\n  let mmPerDay = (activityFactor + 0.035 * wind) * deficit * (1013.25 \/ press);\n  if (mmPerDay < 0) mmPerDay = 0;\n\n  calculatedInchesPerDay = mmPerDay \/ 25.4;\n\n  document.getElementById('results-card').style.display = 'block';\n  convertOutputDisplay();\n}\n\nfunction convertOutputDisplay() {\n  const targetUnit = document.getElementById('output-unit-toggle').value;\n  const displayElement = document.getElementById('result-value');\n  \n  if (targetUnit === 'in') {\n    displayElement.innerText = `${calculatedInchesPerDay.toFixed(3)} in\/day`;\n  } else if (targetUnit === 'cm') {\n    displayElement.innerText = `${(calculatedInchesPerDay * 2.54).toFixed(3)} cm\/day`;\n  } else if (targetUnit === 'mm') {\n    displayElement.innerText = `${(calculatedInchesPerDay * 25.4).toFixed(2)} mm\/day`;\n  }\n}\n<\/script>\n\n\n\n<div class=\"pool-chart-container\">\n  <div class=\"pool-chart-header\">\n    <p>Pool Water Evaporation Reference Chart<\/p>\n    <p>Estimated Daily Water Loss (Inches per Day) under typical wind speed (5 mph \/ 8 km\/h).<\/p>\n  <\/div>\n  \n  <div class=\"pool-table-responsive\">\n    <table class=\"pool-evap-table\">\n      <thead>\n        <tr>\n          <th>Water Temp \\ Dew Point<\/th>\n          <th>40\u00b0F (4.4\u00b0C)<\/th>\n          <th>50\u00b0F (10.0\u00b0C)<\/th>\n          <th>60\u00b0F (15.6\u00b0C)<\/th>\n          <th>70\u00b0F (21.1\u00b0C)<\/th>\n          <th>80\u00b0F (26.7\u00b0C)<\/th>\n        <\/tr>\n      <\/thead>\n      <tbody>\n        <tr>\n          <td class=\"row-highlight\">65\u00b0F (18.3\u00b0C)<\/td>\n          <td>0.15 in<\/td>\n          <td>0.09 in<\/td>\n          <td>0.02 in<\/td>\n          <td class=\"zero-loss\">0.00 in<\/td>\n          <td class=\"zero-loss\">0.00 in<\/td>\n        <\/tr>\n        <tr>\n          <td class=\"row-highlight\">70\u00b0F (21.1\u00b0C)<\/td>\n          <td>0.20 in<\/td>\n          <td>0.14 in<\/td>\n          <td>0.07 in<\/td>\n          <td class=\"zero-loss\">0.00 in<\/td>\n          <td class=\"zero-loss\">0.00 in<\/td>\n        <\/tr>\n        <tr>\n          <td class=\"row-highlight\">75\u00b0F (23.9\u00b0C)<\/td>\n          <td>0.26 in<\/td>\n          <td>0.20 in<\/td>\n          <td>0.13 in<\/td>\n          <td>0.05 in<\/td>\n          <td class=\"zero-loss\">0.00 in<\/td>\n        <\/tr>\n        <tr>\n          <td class=\"row-highlight\">80\u00b0F (26.7\u00b0C)<\/td>\n          <td>0.33 in<\/td>\n          <td>0.27 in<\/td>\n          <td>0.20 in<\/td>\n          <td>0.12 in<\/td>\n          <td class=\"zero-loss\">0.00 in<\/td>\n        <\/tr>\n        <tr>\n          <td class=\"row-highlight\">85\u00b0F (29.4\u00b0C)<\/td>\n          <td class=\"high-loss\">0.42 in<\/td>\n          <td class=\"high-loss\">0.36 in<\/td>\n          <td>0.29 in<\/td>\n          <td>0.21 in<\/td>\n          <td>0.08 in<\/td>\n        <\/tr>\n        <tr>\n          <td class=\"row-highlight\">90\u00b0F (32.2\u00b0C)<\/td>\n          <td class=\"high-loss\">0.52 in<\/td>\n          <td class=\"high-loss\">0.46 in<\/td>\n          <td class=\"high-loss\">0.39 in<\/td>\n          <td>0.31 in<\/td>\n          <td>0.19 in<\/td>\n        <\/tr>\n      <\/tbody>\n    <\/table>\n  <\/div>\n  \n  <div class=\"pool-chart-footer\">\n    <p><span>\ud83d\udca1 Quick Tip:<\/span> <strong>0.00 in<\/strong> indicates the Zero-Loss Zone, where ambient humidity prevents evaporation. If your pool's actual water loss drastically exceeds these values, consider conducting a bucket test to rule out structural leaks.<\/p>\n  <\/div>\n<\/div>\n\n<style>\n.pool-chart-container {\n  background: #ffffff;\n  border: 1px solid #e0e0e0;\n  border-radius: 8px;\n  max-width: 650px;\n  margin: 30px auto;\n  padding: 20px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif;\n  box-shadow: 0 4px 15px rgba(0,0,0,0.05);\n}\n.pool-chart-header h3 {\n  margin: 0 0 8px 0;\n  color: #333;\n  font-size: 18px;\n  font-weight: 700;\n}\n.pool-chart-header p {\n  margin: 0 0 15px 0;\n  color: #666;\n  font-size: 14px;\n  line-height: 1.4;\n}\n.pool-table-responsive {\n  width: 100%;\n  overflow-x: auto; \/* \u5173\u952e\uff1a\u79fb\u52a8\u7aef\u5c4f\u5e55\u592a\u7a84\u65f6\u81ea\u52a8\u5141\u8bb8\u6a2a\u5411\u6ed1\u52a8\uff0c\u9632\u6b62\u6491\u7834\u5e03\u5c40 *\/\n  -webkit-overflow-scrolling: touch;\n  border: 1px solid #ebeeef;\n  border-radius: 6px;\n}\n.pool-evap-table {\n  width: 100%;\n  border-collapse: collapse;\n  text-align: center;\n  font-size: 14px;\n  min-width: 500px; \/* \u4fdd\u8bc1\u5728\u79fb\u52a8\u7aef\u6eda\u52a8\u65f6\u4fdd\u6301\u53ef\u8bfb\u7684\u8868\u683c\u5217\u5bbd *\/\n}\n.pool-evap-table th {\n  background-color: #1ecad3;\n  color: #ffffff;\n  padding: 12px 10px;\n  font-weight: 600;\n  border: 1px solid #19b5be;\n}\n.pool-evap-table td {\n  padding: 10px;\n  border: 1px solid #ebeeef;\n  color: #444;\n}\n.pool-evap-table tr:nth-child(even) {\n  background-color: #fcfdfe;\n}\n.pool-evap-table tr:hover {\n  background-color: #f2fcfc;\n}\n.pool-evap-table td.row-highlight {\n  background-color: #f7fbfb;\n  font-weight: 600;\n  color: #333;\n  text-align: left;\n  padding-left: 12px;\n  border-right: 2px solid #1ecad3;\n}\n.pool-evap-table td.zero-loss {\n  color: #999;\n  background-color: #fafafa;\n  font-style: italic;\n}\n.pool-evap-table td.high-loss {\n  color: #d9534f;\n  font-weight: 600;\n  background-color: #fff8f8;\n}\n.pool-chart-footer {\n  margin-top: 15px;\n  background: #f4fbfc;\n  border-left: 4px solid #1ecad3;\n  padding: 12px 15px;\n  border-radius: 0 4px 4px 0;\n}\n.pool-chart-footer p {\n  margin: 0;\n  font-size: 13px;\n  color: #555;\n  line-height: 1.5;\n}\n.pool-chart-footer span {\n  color: #1ecad3;\n  font-weight: bold;\n}\n<\/style>\n\n\n\n<h2 class=\"wp-block-heading\">How Pool Evaporation is Calculated<\/h2>\n\n\n\n<div class=\"schema-how-to wp-block-yoast-how-to-block\"><p class=\"schema-how-to-description\">Swimming pool evaporation is driven by the dynamic thermal physics of Dalton's Law. Water evaporates when the vapor pressure of the pool surface exceeds the vapor pressure of the surrounding ambient air. This easy 4-step framework outlines how to measure and compute daily pool water loss accurately.<\/p> <ol class=\"schema-how-to-steps\"><li class=\"schema-how-to-step\" id=\"how-to-step-1779340273762\"><strong class=\"schema-how-to-step-name\">Establish Base Unit and Measurements<\/strong> <p class=\"schema-how-to-step-text\">Decide whether you want to measure water depth loss in inches or centimeters to maintain consistency across all environmental variables.<\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1779340355905\"><strong class=\"schema-how-to-step-name\">Gather Environmental and Water Metrics<\/strong> <p class=\"schema-how-to-step-text\">Collect data for Pool Water Temperature, Air Dew Point Temperature, Wind Speed, and Atmospheric Air Pressure. These factors determine the vapor pressure deficit.<\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1779340371825\"><strong class=\"schema-how-to-step-name\">Account for Wind Shelter and Water Agitation<\/strong> <p class=\"schema-how-to-step-text\">Assess the exposure of your pool. Select your shelter type (Protected, Typical, or Minimal) and water movement activity (Still, Normal, or Excessive) to adjust the mass transfer wind function coefficient.<\/p> <\/li><li class=\"schema-how-to-step\" id=\"how-to-step-1779340387557\"><strong class=\"schema-how-to-step-name\">Execute Formula and Analyze Daily Loss<\/strong> <p class=\"schema-how-to-step-text\">Apply Dalton's Law mass transfer equation. Calculate the difference between saturation vapor pressure at water surface and actual air vapor pressure, then multiply by your wind factor to yield the definitive pool water loss in depth per day.<\/p> <\/li><\/ol><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Pool Evaporation FAQs<\/h2>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1779340770272\"><strong class=\"schema-faq-question\">Why is my pool losing 1 inch of water a day?<\/strong> <p class=\"schema-faq-answer\">Losing 1 inch of water per day is highly unusual for natural evaporation alone. While intense sun, low humidity, and high winds can accelerate evaporation, a drop of this magnitude strongly points to a physical structural or plumbing leak. It is highly recommended to perform a bucket test immediately to diagnose the true cause.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779340793562\"><strong class=\"schema-faq-question\">How much should a pool evaporate in 24 hours?<\/strong> <p class=\"schema-faq-answer\">On average, a normal swimming pool will lose about 1\/8 to 1\/4 of an inch of water through evaporation every 24 hours. Under extreme microclimate conditions\u2014such as very dry desert air, scorching heat, or constant high winds\u2014daily evaporation can spike up to 1\/2 of an inch, but rarely goes higher naturally.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779340805482\"><strong class=\"schema-faq-question\">How many Btus to evaporate 1 lb of water?<\/strong> <p class=\"schema-faq-answer\">It takes approximately 970 BTUs (British Thermal Units) of heat energy to evaporate 1 pound of water that is already at its boiling point (212\u00b0F \/ 100\u00b0C) under standard atmospheric pressure. If the water starts at room temperature, additional energy is required first to raise its temperature before Phase change (Latent Heat of Vaporization) begins.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779340818957\"><strong class=\"schema-faq-question\">Can a pool lose a half inch of water in two days in the winter?<\/strong> <p class=\"schema-faq-answer\">Yes, absolutely. Winter evaporation is heavily driven by the temperature differential between warm pool water and cold air. If you heat your pool during winter or if dry, freezing arctic winds sweep over the surface, the vapor pressure deficit increases dramatically, easily causing a 1\/2 inch drop (1\/4 inch per day) in just two days.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779340831372\"><strong class=\"schema-faq-question\">How long does it take 8 ounces of water to evaporate?<\/strong> <p class=\"schema-faq-answer\">The evaporation timeline for 8 ounces of water depends entirely on surface area, temperature, and airflow. Left in a standard drinking glass in a typical indoor room, it can take anywhere from several days to well over a week. However, if spilled flat across a wide concrete floor under a running fan, it will completely evaporate in less than an hour.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779340846146\"><strong class=\"schema-faq-question\">How do I know if my pool is leaking or evaporating?<\/strong> <p class=\"schema-faq-answer\">The most effective method is the 'Bucket Test'. Fill a 5-gallon plastic bucket with pool water and place it on a pool step, ensuring the water level inside the bucket matches the pool's water level exactly. Mark both levels. After 24 to 48 hours, compare the marks. If the pool water has dropped significantly lower than the water inside the bucket, you have a leak. If they dropped equally, it is purely evaporation.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1779340859546\"><strong class=\"schema-faq-question\">What is the quickest way to evaporate water?<\/strong> <p class=\"schema-faq-answer\">The fastest way to accelerate evaporation is to maximize three specific metrics simultaneously: maximize the thermal energy (boil the water), maximize the exposed surface area (spread the water into a shallow, ultra-wide sheet), and continuously introduce dry air movement across the top using a fan to strip away the saturated boundary layer.<\/p> <\/div> <\/div>\n\n\n<!-- aiper-tool-links -->\n<div class=\"aiper-tool-links\">\n  <div class=\"aiper-tl-section\">\n    <div class=\"aiper-tl-heading\">More Tools<\/div>\n    <div class=\"aiper-tl-tags\">\n      <a href=\"https:\/\/aiper.com\/blogs\/pool-fill-time-calculator\/\" class=\"aiper-tl-tag\">Pool Fill Time Calculator<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/pool-turnover-rate-calculator\/\" class=\"aiper-tl-tag\">Pool Turnover Rate Calculator<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/pool-saturation-index-calculator\/\" class=\"aiper-tl-tag\">Pool Saturation Index Calculator<\/a>\n    <\/div>\n  <\/div>\n  <div class=\"aiper-tl-section\">\n    <div class=\"aiper-tl-heading\">Related Articles<\/div>\n    <div class=\"aiper-tl-tags\">\n      <a href=\"https:\/\/aiper.com\/blogs\/how-to-lower-alkalinity-in-pool\/\" class=\"aiper-tl-tag\">How to Lower Alkalinity in a Pool (and When You Actually Need To)<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/pool-robot-gets-stuck-on-main-drain\/\" class=\"aiper-tl-tag\">Why Does Your Pool Robot Get Stuck on the Main Drain?<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/how-to-winterize-inground-pool\/\" class=\"aiper-tl-tag\">How to Winterize an Inground Pool: Step-by-Step<\/a>\n<a href=\"https:\/\/aiper.com\/blogs\/how-to-get-rid-of-algae-in-pool\/\" class=\"aiper-tl-tag\">The Complete Guide to Pool Algae: How to Identify, Treat, and Prevent Every Type<\/a>\n    <\/div>\n  <\/div>\n<\/div>\n\n<style>\n.aiper-tool-links{margin:2.5rem 0 1.5rem;padding:1.5rem 1.75rem;background:linear-gradient(135deg,rgba(148,134,247,.04),rgba(30,202,211,.04));border-radius:12px;border:1px solid rgba(148,134,247,.10)}\n.aiper-tl-section{margin-bottom:1.25rem}\n.aiper-tl-section:last-child{margin-bottom:0}\n.aiper-tl-heading{font-size:.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#8899aa;margin:0 0 .65rem}\n.aiper-tl-tags{display:flex;flex-wrap:wrap;gap:.5rem}\n.aiper-tl-tag{display:inline-block;padding:.4rem .95rem;font-size:.82rem;font-weight:500;line-height:1.35;color:#9486f7;background:rgba(148,134,247,.055);border:1px solid rgba(30,202,211,.25);border-radius:22px;text-decoration:none;transition:all .18s}\n.aiper-tl-tag:hover{background:#1ecad3;color:#fff;border-color:#1ecad3;box-shadow:0 2px 10px rgba(30,202,211,.22)}\n<\/style>","protected":false},"excerpt":{"rendered":"<p>1 2 3 4 Step 1: Select Your Preferred Units This sets your primary default system for viewing the final evaporation depth. Inches (in) Centimeters (cm) Next Step Step 2: Weather &#038; Water Metrics Water Temperature \u00b0F\u00b0C Dew Point Temperature \u00b0F\u00b0C Wind Speed mphkm\/h Air Pressure inHghPa Back Next Step Step 3: Pool Surroundings &#038;&#8230;<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-1809","page","type-page","status-publish","hentry"],"lang":"en","translations":{"en":1809,"de":2118,"fr":2119,"es":2120},"_links":{"self":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1809","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/comments?post=1809"}],"version-history":[{"count":8,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1809\/revisions"}],"predecessor-version":[{"id":11900,"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/pages\/1809\/revisions\/11900"}],"wp:attachment":[{"href":"https:\/\/aiper.com\/blogs\/wp-json\/wp\/v2\/media?parent=1809"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}