Florida Mold & Mildew Risk Calculator

ANALife Services AuthorityNational Calculator Authority›Florida Mold & Mildew Risk 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; } }

Florida Mold & Mildew Risk Calculator

Estimates mold and mildew growth risk based on indoor relative humidity, air temperature, estimated surface temperature, and ventilation. Uses dew point proximity and the ASHRAE 160 moisture design criterion framework.

Indoor Relative Humidity (%)

Indoor Air Temperature (°F)

Surface Temperature Offset (°F below air temp)

Typical cold surfaces: AC vents ~10–15°F, exterior walls ~3–8°F, windows ~5–20°F below air temp.

Ventilation / Air Circulation

Good – HVAC running, fresh air exchange Moderate – Some circulation, occasional HVAC Poor – Stagnant air, closed rooms, no circulation

Hours per Day at These Conditions

Calculate Risk

function floCalc() { var rh = parseFloat(document.getElementById('flo-rh').value); var tempF = parseFloat(document.getElementById('flo-temp').value); var surfaceDelta = parseFloat(document.getElementById('flo-surface-delta').value); var ventilation = document.getElementById('flo-ventilation').value; var duration = parseFloat(document.getElementById('flo-duration').value);

var errors = []; if (isNaN(rh) || rh 100) errors.push("Relative humidity must be between 0 and 100%."); if (isNaN(tempF) || tempF 120) errors.push("Temperature must be between 32°F and 120°F."); if (isNaN(surfaceDelta) || surfaceDelta 40) errors.push("Surface temperature offset must be between 0 and 40°F."); if (isNaN(duration) || duration 24) errors.push("Duration must be between 0 and 24 hours.");

var resultDiv = document.getElementById('flo-result'); if (errors.length > 0) { resultDiv.style.display = 'block'; resultDiv.innerHTML = 'Please fix the following:' + errors.map(function(e){ return ''; }).join('') + ''; return; }

// Convert air temp to Celsius var tempC = (tempF - 32) * 5 / 9;

// Surface temperature in Celsius var surfaceTempC = tempC - (surfaceDelta * 5 / 9);

// Dew Point calculation using Magnus formula (Lawrence 2005) // Td = (243.04 * [ln(RH/100) + (17.625 * T)/(243.04 + T)]) / (17.625 - [ln(RH/100) + (17.625 * T)/(243.04 + T)]) var a = 17.625; var b = 243.04; var alpha = Math.log(rh / 100) + (a * tempC) / (b + tempC); var dewPointC = (b * alpha) / (a - alpha); var dewPointF = dewPointC * 9 / 5 + 32;

// Surface RH: estimated relative humidity at the surface // Using the approximation: RH_surface ≈ RH_air * exp(a(T_air - T_surface) / ((b + T_air)(b + T_surface))) // Simplified: surface RH rises as surface temp drops toward dew point // More practical: surface RH = 100 * (exp(adewPointC/(b+dewPointC))) / (exp(asurfaceTempC/(b+surfaceTempC))) var surfaceRH = 100 * Math.exp(a * dewPointC / (b + dewPointC)) / Math.exp(a * surfaceTempC / (b + surfaceTempC)); surfaceRH = Math.min(surfaceRH, 100);

// Margin to dew point at surface (positive = surface above dew point, negative = condensation) var surfaceMarginC = surfaceTempC - dewPointC; var surfaceMarginF = surfaceMarginC * 9 / 5;

// ASHRAE 160 criterion: mold risk when surface RH >= 80% sustained // Risk Score: weighted composite (0–100) // Components: // 1. Surface RH score (0–50 pts): linear scale 60%->0 pts, 80%->25 pts, 100%->50 pts // 2. Dew point margin score (0–20 pts): margin = 10°C = 0 pts // 3. Ventilation penalty (0–20 pts): poor=20, moderate=10, good=0 // 4. Duration score (0–10 pts): hours/24 * 10

var surfaceRHScore = 0; if (surfaceRH >= 60) { surfaceRHScore = Math.min(50, ((surfaceRH - 60) / 40) * 50); }

var dewMarginScore = 0; if (surfaceMarginC '; html += 'ParameterValue'; html += 'Indoor Air Temperature' + tempF.toFixed(1) + '°F (' + tempC.toFixed(1) + '°C)'; html += 'Indoor Relative Humidity' + rh.toFixed(1) + '%'; html += 'Dew Point Temperature' + dewPointF.toFixed(1) + '°F (' + dewPointC.toFixed(1) + '°C)'; html += 'Estimated Surface Temperature' + (surfaceTempC * 9/5 + 32).toFixed(1) + '°F (' + surfaceTempC.toFixed(1) + '°C)'; html += 'Estimated Surface Relative Humidity' + surfaceRH.toFixed(1) + '%'; html += 'Surface-to-Dew Point Margin' + surfaceMarginF.toFixed(1) + '°F (' + surfaceMarginC.toFixed(1) + '°C)'; html += 'Condensation Risk' + condensationRisk + ''; html += 'Ventilation Condition' + ventilation.charAt(0).toUpperCase() + ventilation.slice(1) + ''; html += 'Exposure Duration' + duration.toFixed(1) + ' hrs/day'; html += '';

html += '#### Score Breakdown '; html += ''; html += 'ComponentScoreMax'; html += 'Surface Relative Humidity' + surfaceRHScore.toFixed(1) + '50'; html += 'Dew Point Proximity' + dewMarginScore.toFixed(1) + '20'; html += 'Ventilation Penalty' + ventScore.toFixed(1) + '20'; html += 'Duration Exposure' + durationScore.toFixed(1) + '10'; html += 'Total Risk Score' + totalScore.toFixed(1) + '100'; html += '';

resultDiv.style.display = 'block'; resultDiv.innerHTML = html; }

#### Formulas Used

1. Dew Point (Magnus Formula – Lawrence 2005): α = ln(RH/100) + (17.625 × T) / (243.04 + T) Td = (243.04 × α) / (17.625 − α) where T is air temperature in °C, RH is relative humidity in %.

2. Estimated Surface Relative Humidity: RHsurface = 100 × exp(a × Td / (b + Td)) / exp(a × Tsurface / (b + Tsurface)) where a = 17.625, b = 243.04. This estimates the effective RH at a cooler surface given the ambient dew point.

3. Risk Score (0–100): Score = Surface RH Score (0–50) + Dew Point Margin Score (0–20) + Ventilation Penalty (0–20) + Duration Score (0–10) • Surface RH Score = ((RHsurface − 60) / 40) × 50, clamped to [0, 50] • Dew Point Margin Score = ((10 − margin°C) / 10) × 20, for margin ≤ 10°C, clamped to [0, 20] • Ventilation: Poor = 20, Moderate = 10, Good = 0 • Duration Score = (hours / 24) × 10

4. Risk Thresholds: Low < 20 | Moderate 20–39 | High 40–64 | Very High ≥ 65

#### Assumptions & References

More Calculators

Read Next

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

References