284 lines
9.2 KiB
HTML
284 lines
9.2 KiB
HTML
<!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>
|
||
<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.3–0.5 W/(m·K). Pure clay: 1.5–2.0 W/(m·K).</p>
|
||
</div>
|
||
</div>
|
||
|
||
<footer>
|
||
<p>© 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>
|