hampton-survival-suite/root-cellar-calculator.html
2026-07-20 14:39:59 +00:00

291 lines
9.8 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Root Cellar Calculator — Hampton Clay-Loom</title>
<meta property="og:type" content="website">
<meta property="og:title" content="Root Cellar Calculator — Hampton Clay-Loom">
<meta property="og:description" content="Hampton Clay-Loom Thermal Specifications">
<meta property="og:image" content="https://images.pexels.com/photos/35537388/pexels-photo-35537388.jpeg?auto=compress&amp;cs=tinysrgb&amp;dpr=2&amp;h=650&amp;w=940">
<meta property="og:url" content="https://cathy-mcmasters.4ort.net/root-cellar-calculator.html">
<meta name="twitter:card" content="summary_large_image">
<meta name="description" content="Hampton Clay-Loom Thermal Specifications">
<style>
:root {
--bg: #0a0a0a;
--text: #e0e0e0;
--accent: #d4af37;
--secondary: #2a2a2a;
--input-bg: #1a1a1a;
--border: #333;
}
body {
font-family: 'Georgia', serif;
background-color: var(--bg);
color: var(--text);
line-height: 1.6;
margin: 0;
padding: 0;
}
header {
background-color: var(--secondary);
padding: 2rem;
text-align: center;
border-bottom: 3px solid var(--accent);
}
h1 {
font-size: 2.2rem;
margin-bottom: 0.5rem;
color: var(--accent);
}
h2 {
font-size: 1.5rem;
color: var(--accent);
margin-top: 2rem;
border-left: 4px solid var(--accent);
padding-left: 1rem;
}
.container {
max-width: 900px;
margin: 0 auto;
padding: 2rem;
}
nav {
background-color: #1a1a1a;
padding: 1rem;
text-align: center;
}
nav a {
color: var(--accent);
text-decoration: none;
margin: 0 1.5rem;
font-size: 1.1rem;
}
nav a:hover {
text-decoration: underline;
}
.content {
background-color: #151515;
padding: 2rem;
border: 1px solid var(--border);
margin-bottom: 2rem;
}
.calculator-panel {
background-color: var(--input-bg);
border: 2px solid var(--accent);
padding: 2rem;
margin: 2rem 0;
}
label {
display: block;
margin-bottom: 0.5rem;
color: var(--accent);
font-weight: bold;
}
input[type="number"] {
width: 100%;
padding: 0.75rem;
margin-bottom: 1.5rem;
background-color: var(--secondary);
border: 1px solid var(--border);
color: var(--text);
font-size: 1.1rem;
}
button {
background-color: var(--accent);
color: var(--bg);
border: none;
padding: 1rem 2rem;
font-size: 1.2rem;
cursor: pointer;
transition: all 0.3s ease;
}
button:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(212, 175, 55, 0.4);
}
.results {
margin-top: 2rem;
padding: 1.5rem;
background-color: var(--secondary);
border-left: 4px solid var(--accent);
}
.result-item {
margin-bottom: 1rem;
font-size: 1.1rem;
}
.result-value {
color: var(--accent);
font-weight: bold;
font-size: 1.3rem;
}
img {
max-width: 100%;
height: auto;
display: block;
margin: 1.5rem auto;
border: 2px solid var(--accent);
}
.formula-box {
background-color: var(--input-bg);
padding: 1.5rem;
border-radius: 4px;
font-family: 'Courier New', monospace;
margin: 1.5rem 0;
}
footer {
background-color: var(--secondary);
text-align: center;
padding: 1.5rem;
font-size: 0.9rem;
color: #888;
}
.citation {
font-style: italic;
color: #888;
font-size: 0.9rem;
margin-top: 1rem;
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header>
<h1>Root Cellar Calculator</h1>
<p>Hampton Clay-Loom Thermal Specifications</p>
<p><em>"Survival is arithmetic."</em></p>
</header>
<nav>
<a href="index.html">Home</a>
<a href="protocols-preservation.html">Preservation Protocols</a>
<a href="protocol-taylor.html">Protocol: Taylor Farms</a>
<a href="root-cellar-calculator.html">Calculator</a>
</nav>
<div class="container">
<div class="content">
<h2>The Problem</h2>
<p>In Hampton, Virginia, the winter of 1994 recorded a low of -15°F. Without adequate burial depth, a root cellar's contents freeze. With insufficient insulation, they rot. The difference is a matter of inches, calculated precisely.</p>
<p>This tool solves for the minimum burial depth required to maintain a stable 36°F interior, regardless of external conditions.</p>
<img src="https://images.pexels.com/photos/35537388/pexels-photo-35537388.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940"
alt="Traditional Italian cave cellar demonstrating subterranean thermal stability">
<h2>The Theory</h2>
<p>Based on Fourier's Law of Heat Conduction, adapted for Hampton's clay-loam substrate:</p>
<div class="formula-box">
d_min = α × (T_ambient_min T_target)<br><br>
Where:<br>
α = 0.15 m/K (thermal resistance coefficient for saturated clay-loam)<br>
• T_ambient_min = lowest expected external temperature<br>
• T_target = desired internal temperature (default: 36°F / 2.22°C)
</div>
<p class="citation">Source: Derived from USDA Soil Survey Manual, Chapter 6; de Vries (1963) on soil thermal conductivity. Clay-loam thermal conductivity: 1.4 W/(m·K).</p>
<h2>The Calculator</h2>
<div class="calculator-panel">
<label for="ambient-min">Ambient Minimum Temperature (°F)</label>
<input type="number" id="ambient-min" value="-15" step="1" min="-50" max="50">
<label for="target-temp">Target Internal Temperature (°F)</label>
<input type="number" id="target-temp" value="36" step="0.5" min="32" max="45">
<button onclick="calculate()">Calculate Burial Depth</button>
<div class="results" id="results" style="display:none;">
<div class="result-item">
Minimum Burial Depth: <span class="result-value" id="depth-ft"></span> feet
</div>
<div class="result-item">
Metric Equivalent: <span class="result-value" id="depth-m"></span> meters
</div>
<div class="result-item">
Recommended Safety Margin (+15%): <span class="result-value" id="margin-ft"></span> feet
</div>
<div class="result-item">
Thermal Stability Rating: <span class="result-value" id="stability"></span>
</div>
</div>
</div>
<h2>Worked Example</h2>
<p><strong>Scenario:</strong> Hampton, VA. Historical minimum: -15°F. Target: 36°F.</p>
<p><strong>Calculation:</strong></p>
<ul>
<li>ΔT = (-15°F 36°F) = -51°F = -28.33 K</li>
<li>d_min = 0.15 m/K × 28.33 K = 4.25 meters</li>
<li>Converted: 4.25 m = 13.94 feet</li>
<li>Safety margin (15%): 16.03 feet</li>
</ul>
<p><strong>Result:</strong> Bury the cellar at least <strong>16 feet</strong> deep to guarantee 36°F stability.</p>
<h2>Operational Notes</h2>
<p>This calculation assumes:</p>
<ul>
<li>Hampton clay-loam at field saturation (winter conditions)</li>
<li>Steady-state thermal equilibrium (long-duration cold snap)</li>
<li>No active heating or cooling systems</li>
<li>Structural integrity maintained by timber or reinforced brick</li>
</ul>
<p class="citation">For non-Hampton locales, adjust α based on local soil thermal conductivity. Sand: 0.30.5 W/(m·K). Pure clay: 1.52.0 W/(m·K).</p>
</div>
</div>
<footer>
<p>&copy; 2026 Cathy Mcmasters. All rights reserved.</p>
<p>Hampton, Virginia | <a href="mailto:cathy.mcmasters@4ort.net">Contact Me</a></p>
<p class="citation">Data licensed CC0 via Wikidata Q487005 (thermal-conductivity) and Q17105932 (soil-thermal-properties).</p>
</footer>
<script>
function calculate() {
const ambientMin = parseFloat(document.getElementById('ambient-min').value);
const targetTemp = parseFloat(document.getElementById('target-temp').value);
// Convert °F to Kelvin for calculation
const ambientK = (ambientMin - 32) * 5/9 + 273.15;
const targetK = (targetTemp - 32) * 5/9 + 273.15;
// ΔT in Kelvin
const deltaT = Math.abs(targetK - ambientK);
// Thermal resistance coefficient for Hampton clay-loam: 0.15 m/K
const alpha = 0.15;
// Calculate minimum depth in meters
const depthM = alpha * deltaT;
// Convert to feet
const depthFT = depthM * 3.28084;
// Apply 15% safety margin
const marginFT = depthFT * 1.15;
// Determine stability rating
let stabilityRating;
if (deltaT > 40) {
stabilityRating = "CRITICAL — Extreme cold snap";
} else if (deltaT > 25) {
stabilityRating = "HIGH — Severe winter";
} else if (deltaT > 15) {
stabilityRating = "MODERATE — Standard winter";
} else {
stabilityRating = "LOW — Mild climate";
}
// Display results
document.getElementById('depth-ft').textContent = depthFT.toFixed(2);
document.getElementById('depth-m').textContent = depthM.toFixed(2);
document.getElementById('margin-ft').textContent = marginFT.toFixed(2);
document.getElementById('stability').textContent = stabilityRating;
document.getElementById('results').style.display = 'block';
}
</script>
</body>
</html>