Structural Drying Equipment Needs Calculator

ANALife Services AuthorityNational Calculator Authority›Structural Drying Equipment Needs 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; } }

Structural Drying Equipment Needs Calculator

Estimate the number of air movers and dehumidifiers required for structural drying projects based on affected square footage, material categories, and moisture severity — following IICRC S500 guidelines.

Total Affected Floor Area (sq ft)

Affected Wall Length (linear ft)

Ceiling Affected?

No Yes

Primary Material Category (IICRC)

Category 1 – Clean Water (e.g. supply line break) Category 2 – Grey Water (e.g. washing machine overflow) Category 3 – Black Water (e.g. sewage, flooding)

Moisture Class (IICRC S500)

Class 1 – Least amount of water, slow evaporation Class 2 – Large amount of water, fast evaporation Class 3 – Greatest amount of water, fastest evaporation Class 4 – Specialty drying (hardwood, concrete, plaster)

Current Relative Humidity in Space (%)

Current Temperature in Space (°F)

Number of Affected Stories

Calculate Equipment Needs Results will appear here.

function sde_calc() { var resultDiv = document.getElementById('sde_result');

// --- Gather inputs --- var area = parseFloat(document.getElementById('sde_area').value); var wallLF = parseFloat(document.getElementById('sde_wall_lf').value); var ceiling = parseInt(document.getElementById('sde_ceiling').value); var material = parseInt(document.getElementById('sde_material').value); var cls = parseInt(document.getElementById('sde_class').value); var rh = parseFloat(document.getElementById('sde_rh').value); var temp = parseFloat(document.getElementById('sde_temp').value); var stories = parseFloat(document.getElementById('sde_stories').value);

// --- Validation --- var errors = []; if (isNaN(area) || area 100) errors.push("Relative humidity must be between 0 and 100%."); if (isNaN(temp) || temp 120) errors.push("Temperature must be between 32°F and 120°F."); if (isNaN(stories) || stories 0) { resultDiv.innerHTML = 'Please fix the following:' + errors.map(function(e){ return ''; }).join('') + ''; return; }

// ============================================================ // STEP 1: Compute Affected Surface Area (sq ft) // IICRC S500 uses total wet surface area to drive equipment counts. // Wall height assumed 8 ft standard; ceiling adds floor area again. // ============================================================ var wallHeight = 8; // ft (standard assumption) var wallArea = wallLF * wallHeight; // sq ft var ceilingArea = ceiling === 1 ? area : 0; // sq ft var totalSurface = (area + wallArea + ceilingArea) * stories; // sq ft

// ============================================================ // STEP 2: Air Movers // IICRC S500 baseline: 1 air mover per 50–100 sq ft of wet surface. // Class multipliers tighten or loosen that ratio. // Class 1: 1 per 100 sq ft (slow evaporation needed) // Class 2: 1 per 75 sq ft // Class 3: 1 per 50 sq ft (aggressive drying) // Class 4: 1 per 40 sq ft (specialty materials, directed airflow) // ============================================================ var airMoverRatios = { 1: 100, 2: 75, 3: 50, 4: 40 }; var amRatio = airMoverRatios[cls]; var airMoversRaw = totalSurface / amRatio;

// Material category adjustment (Cat 2/3 may require more aggressive drying) var catAirMoverMult = material === 1 ? 1.0 : material === 2 ? 1.1 : 1.2; var airMovers = Math.ceil(airMoversRaw * catAirMoverMult);

// ============================================================ // STEP 3: Dehumidifiers // LGR (Low Grain Refrigerant) dehumidifiers rated ~100 pints/day // cover approximately 1,500–2,000 sq ft of affected area. // // Psychrometric adjustment: actual moisture removal capacity // drops at lower temps and lower RH. This calculator uses a simplified // correction factor based on temperature and RH. // // Capacity factor (CF): // CF = (RH / 60) * (temp / 70) // Clamp CF between 0.5 and 1.5 // // Adjusted coverage per unit = 1,750 * CF sq ft // Dehumidifiers needed = totalSurface / adjustedCoverage // ============================================================ var cf = (rh / 60) * (temp / 70); cf = Math.max(0.5, Math.min(1.5, cf)); var baseCoverage = 1750; // sq ft per LGR unit at standard conditions var adjustedCoverage = baseCoverage * cf; var dehusRaw = totalSurface / adjustedCoverage;

// Class 4 requires additional dehumidification (specialty materials hold more moisture) var classDehuMult = cls === 4 ? 1.25 : 1.0; var dehumidifiers = Math.ceil(dehusRaw * classDehuMult);

// ============================================================ // STEP 4: Estimated Drying Time (days) // IICRC S500 target: reach drying goal within 3–5 days for // Class 1–2, up to 5–7 days for Class 3–4. // Simplified model: base days + RH penalty + class penalty // Base days by class: 1→3, 2→4, 3→5, 4→7 // RH penalty: each 10% above 60% RH adds 0.5 days // Temp penalty: each 10°F below 70°F adds 0.3 days // ============================================================ var baseDays = { 1: 3, 2: 4, 3: 5, 4: 7 }; var rhPenalty = Math.max(0, (rh - 60) / 10) * 0.5; var tmpPenalty = Math.max(0, (70 - temp) / 10) * 0.3; var dryDays = (baseDays[cls] + rhPenalty + tmpPenalty).toFixed(1);

// ============================================================ // STEP 5: Grain Depression Target // Target indoor grains per pound (GPP) for structural drying: // Outdoor reference: ~50 GPP (temperate climate) // Drying goal: indoor GPP ≤ outdoor GPP (or ≤ 55 GPP) // Current GPP estimate (simplified Magnus approximation): // Saturation vapor pressure: Psat = 0.6105 * exp(17.27*T_C / (T_C+237.3)) kPa // Actual vapor pressure: Pv = (RH/100) * Psat // Humidity ratio: W = 0.622 * Pv / (101.325 - Pv) kg/kg // GPP = W * 7000 grains/lb // ============================================================ var T_C = (temp - 32) * 5 / 9; var Psat = 0.6105 * Math.exp(17.27 * T_C / (T_C + 237.3)); var Pv = (rh / 100) * Psat; var W = 0.622 * Pv / (101.325 - Pv); var gpp = (W * 7000).toFixed(1); var gppTarget = 55; var grainDep = Math.max(0, (gpp - gppTarget)).toFixed(1);

// ============================================================ // STEP 6: Estimated Daily Water Removal (pints/day) // LGR unit: ~100 pints/day at AHAM conditions (80°F, 60% RH) // Adjusted by CF (same psychrometric factor as above) // ============================================================ var ppdPerUnit = 100 * cf; var totalPPD = (dehumidifiers * ppdPerUnit).toFixed(0);

// ============================================================ // STEP 7: Airflow Check (CFM) // Each air mover delivers ~1,500–2,000 CFM; use 1,750 CFM avg. // Recommended: achieve ≥ 1 ACH (air change per hour) in space. // Volume = area * ceiling height (8 ft) * stories // Required CFM = Volume / 60 // ============================================================ var volume = area * wallHeight * stories; // cubic ft var reqCFM = volume / 60; // CFM for 1 ACH var actualCFM = airMovers * 1750; var achActual = ((actualCFM * 60) / volume).toFixed(1);

// ============================================================ // Build result HTML // ============================================================ var classNames = { 1: "Class 1", 2: "Class 2", 3: "Class 3", 4: "Class 4" }; var catNames = { 1: "Category 1 (Clean)", 2: "Category 2 (Grey)", 3: "Category 3 (Black)" };

var html = '### Equipment Recommendation '; html += ''; html += 'ParameterValue'; html += 'Total Wet Surface Area' + totalSurface.toLocaleString() + ' sq ft'; html += 'Moisture Class' + classNames[cls] + ''; html += 'Water Category' + catNames[material] + ''; html += 'Current GPP (Grains/lb)' + gpp + ' GPP'; html += 'Grain Depression Needed' + grainDep + ' grains/lb (target ≤ ' + gppTarget + ' GPP)'; html += 'Psychrometric Capacity Factor' + cf.toFixed(2) + ''; html += '';

html += '### Equipment Totals '; html += ''; html += 'EquipmentQuantityNotes'; html += 'Air Movers' + airMovers + ' units1 per ' + amRatio + ' sq ft × ' + catAirMoverMult.toFixed(1) + ' cat. factor'; html += 'LGR Dehumidifiers' + dehumidifiers + ' unitsAdjusted coverage: ' + adjustedCoverage.toFixed(0) + ' sq ft/unit'; html += 'Est. Total Water Removal' + totalPPD + ' pints/dayAt current conditions'; html += 'Actual Airflow (CFM)' + actualCFM.toLocaleString() + ' CFM' + achActual + ' ACH (target ≥ 1 ACH)'; html += 'Est. Drying Time' + dryDays + ' daysAssuming proper equipment placement'; html += '';

if (achActual ⚠️ Airflow is below 1 ACH. Consider adding ' + Math.ceil((reqCFM - actualCFM) / 1750) + ' additional air mover(s) to meet minimum air change requirements.'; } if (material === 3) { html += '⚠️ Category 3 water loss: follow IICRC S500 protocols for containment, PPE, and antimicrobial treatment before drying.'; }

resultDiv.innerHTML = html; }

#### Formulas Used

Total Wet Surface Area: Surface = (Floor Area + Wall Area + Ceiling Area) × Stories Wall Area = Linear Feet × 8 ft (standard wall height)

Air Movers: Air Movers = ⌈(Surface ÷ Class Ratio) × Category Multiplier⌉ Class Ratios — Class 1: 100 sq ft/unit | Class 2: 75 | Class 3: 50 | Class 4: 40 Category Multipliers — Cat 1: 1.0 | Cat 2: 1.1 | Cat 3: 1.2

Psychrometric Capacity Factor (CF): CF = (RH% ÷ 60) × (Temp°F ÷ 70)  [clamped 0.5–1.5]

Dehumidifiers (LGR, ~100 pints/day): Adjusted Coverage = 1,750 sq ft × CF Dehumidifiers = ⌈(Surface ÷ Adjusted Coverage) × Class 4 Multiplier⌉

Grains Per Pound (GPP) — Magnus Approximation: Psat = 0.6105 × exp(17.27 × T°C ÷ (T°C + 237.3)) kPa Pv = (RH ÷ 100) × Psat W = 0.622 × Pv ÷ (101.325 − Pv) GPP = W × 7,000 grains/lb

Estimated Drying Time: Days = Base Days + (max(0, RH−60) ÷ 10 × 0.5) + (max(0, 70−Temp) ÷ 10 × 0.3) Base Days — Class 1: 3 | Class 2: 4 | Class 3: 5 | Class 4: 7

Air Changes per Hour (ACH): ACH = (Air Movers × 1,750 CFM × 60) ÷ (Floor Area × 8 ft × Stories)

#### Assumptions & References

More Calculators

Read Next

Subcontractor Compliance Checklist Scorer ANA › Life Services Authority › National Calculator Authority › Subcontractor Compliance Checklist Scorer .calc-container {...

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

References