hampton-survival-suite/protocols-preservation.html
2026-07-18 11:48:48 +00:00

334 lines
12 KiB
HTML
Raw 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>The Preservation Protocols | Cathy Mcmasters</title>
<style>
:root {
--bg-deep: #0a0f14;
--fg-primary: #e0e6ed;
--fg-secondary: #9aa5b1;
--accent-copper: #b87333;
--accent-steel: #2c3e50;
--grid-line: #1f2b36;
--font-display: 'Georgia', serif;
--font-mono: 'Menlo', 'Consolas', monospace;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
background-color: var(--bg-deep);
color: var(--fg-primary);
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
line-height: 1.6;
max-width: 900px;
margin: 0 auto;
padding: 2rem;
}
header {
border-bottom: 1px solid var(--grid-line);
padding-bottom: 2rem;
margin-bottom: 3rem;
}
h1 {
font-family: var(--font-display);
font-size: 2.5rem;
letter-spacing: -0.02em;
color: var(--fg-primary);
margin-bottom: 0.5rem;
}
.subtitle {
font-family: var(--font-mono);
color: var(--accent-copper);
font-size: 0.9rem;
text-transform: uppercase;
letter-spacing: 0.1em;
}
nav {
display: flex;
gap: 2rem;
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid var(--grid-line);
}
nav a {
color: var(--fg-secondary);
text-decoration: none;
font-size: 0.85rem;
text-transform: uppercase;
letter-spacing: 0.05em;
transition: color 0.2s;
}
nav a:hover { color: var(--accent-copper); }
section {
margin-bottom: 4rem;
}
h2 {
font-family: var(--font-display);
font-size: 1.5rem;
color: var(--accent-copper);
margin-bottom: 1rem;
border-left: 3px solid var(--accent-steel);
padding-left: 1rem;
}
p { margin-bottom: 1.2rem; color: var(--fg-secondary); }
.ledger-table {
width: 100%;
border-collapse: collapse;
margin: 2rem 0;
font-family: var(--font-mono);
font-size: 0.85rem;
}
.ledger-table th, .ledger-table td {
border: 1px solid var(--grid-line);
padding: 0.75rem;
text-align: left;
}
.ledger-table th {
background: var(--accent-steel);
color: var(--fg-primary);
font-weight: normal;
letter-spacing: 0.05em;
}
.ledger-table tr:nth-child(even) { background: rgba(255,255,255,0.02); }
.calc-container {
background: rgba(44, 62, 80, 0.3);
border: 1px solid var(--grid-line);
padding: 2rem;
margin: 2rem 0;
}
.input-group {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-bottom: 1.5rem;
}
label {
font-family: var(--font-mono);
font-size: 0.75rem;
color: var(--accent-copper);
text-transform: uppercase;
margin-bottom: 0.5rem;
display: block;
}
input[type="number"] {
width: 100%;
background: transparent;
border: 1px solid var(--grid-line);
color: var(--fg-primary);
padding: 0.75rem;
font-family: var(--font-mono);
font-size: 1rem;
}
button {
background: var(--accent-steel);
color: var(--fg-primary);
border: 1px solid var(--accent-copper);
padding: 0.75rem 2rem;
cursor: pointer;
font-family: var(--font-mono);
text-transform: uppercase;
letter-spacing: 0.1em;
transition: all 0.2s;
}
button:hover {
background: var(--accent-copper);
color: var(--bg-deep);
}
.result-panel {
margin-top: 2rem;
padding: 1.5rem;
border-top: 1px solid var(--grid-line);
display: none;
}
.result-value {
font-size: 2rem;
color: var(--accent-copper);
font-family: var(--font-mono);
margin: 1rem 0;
}
img {
width: 100%;
height: auto;
margin: 2rem 0;
filter: sepia(0.2) contrast(1.1);
}
footer {
border-top: 1px solid var(--grid-line);
padding-top: 2rem;
margin-top: 4rem;
text-align: center;
font-size: 0.75rem;
color: var(--fg-secondary);
}
</style>
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
</head>
<body>
<header>
<h1>The Preservation Protocols</h1>
<div class="subtitle">Thermal Specifications for Coastal Plain Storage</div>
<nav>
<a href="/index.html">Home</a>
<a href="/protocol-taylor.html">Protocol: Taylor Farms</a>
<a href="#">Root Cellar Calculations</a>
<a href="#">Hampton Soil Logs</a>
</nav>
</header>
<section>
<h2>I. The Premise</h2>
<p>Barbara Mann states correctly: survival is arithmetic. The galaxy chants "golden seam," but the seam is merely a metaphor for the thermal gradient that prevents rot.</p>
<p>This document rejects the poetic. It presents the engineering required to maintain 32°F38°F (0°C3.3°C) in the variable clay-loam of Hampton, Virginia (Latitude 37.0°N).</p>
</section>
<section>
<h2>II. Material Constants</h2>
<table class="ledger-table">
<thead>
<tr>
<th>Material</th>
<th>Thermal Conductivity (W/m·K)</th>
<th>Specific Heat (J/kg·K)</th>
<th>Density (kg/m³)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Hampton Clay-Loom</td>
<td>1.4</td>
<td>840</td>
<td>1,800</td>
</tr>
<tr>
<td>Limestone Block</td>
<td>2.1</td>
<td>880</td>
<td>2,700</td>
</tr>
<tr>
<td>Air (Still)</td>
<td>0.026</td>
<td>1,005</td>
<td>1.2</td>
</tr>
<tr>
<td>Cedar Plank (Dry)</td>
<td>0.11</td>
<td>1,380</td>
<td>370</td>
</tr>
</tbody>
</table>
<p><em>Source:</em> Derived from regional geological surveys and ASTM material standards. Values adjusted for 80% relative humidity.</p>
</section>
<section>
<h2>III. The Instrument</h2>
<p>Below lies the calculator for minimum burial depth. Input your local winter minimum temperature to determine the required insulation mass.</p>
<div class="calc-container">
<div class="input-group">
<div>
<label>Local Winter Min (°F)</label>
<input type="number" id="winterMin" value="15" step="1">
</div>
<div>
<label>Target Internal Temp (°F)</label>
<input type="number" id="targetTemp" value="36" readonly style="opacity:0.6">
</div>
</div>
<div class="input-group">
<div>
<label>Wall Thickness (ft)</label>
<input type="number" id="wallThick" value="2.5" step="0.1">
</div>
<div>
<label>Soil Type Factor</label>
<select id="soilType" style="width:100%; background:transparent; border:1px solid var(--grid-line); color:var(--fg-primary); padding:0.75rem;">
<option value="1.4">Hampton Clay-Loom</option>
<option value="0.9">Sand/Dune</option>
<option value="1.8">Limestone Bedrock</option>
</select>
</div>
</div>
<button onclick="calculateDepth()">Calculate Burial Depth</button>
<div class="result-panel" id="results">
<label>Required Minimum Depth</label>
<div class="result-value" id="depthResult">0 ft</div>
<p style="margin-top:1rem; font-family:var(--font-mono); font-size:0.75rem; opacity:0.7;">
Calculation assumes steady-state conduction through homogeneous medium.<br>
Safety factor: 1.5x applied for seasonal variance.
</p>
</div>
</div>
</section>
<section>
<h2>IV. Visual Reference</h2>
<p>The ideal chamber is not a hole dug hastily. It is a structure grown from the earth upward, lined with stone that remembers the cold.</p>
<img src="https://images.pexels.com/photos/5369180/pexels-photo-5369180.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940" alt="Atmospheric shot of an old, abandoned basement with weathered stone walls">
<p style="text-align:center; font-style:italic; font-size:0.85rem; margin-top:-1rem; margin-bottom:2rem;">Fig 1. The archetype: weathered stone, still air, absolute silence.</p>
</section>
<footer>
<p>&copy; 2026 Cathy Mcmasters, Hampton, VA. All calculations verified against local meteorological archives.</p>
<p style="margin-top:0.5rem; opacity:0.5;">Survival is Arithmetic.</p>
</footer>
<script>
function calculateDepth() {
const winterMin = parseFloat(document.getElementById('winterMin').value);
const targetTemp = parseFloat(document.getElementById('targetTemp').value);
const wallThick = parseFloat(document.getElementById('wallThick').value);
const soilFactor = parseFloat(document.getElementById('soilType').value);
// Simplified Fourier heat equation adaptation for depth estimation
// Delta T drives the requirement
const deltaT = Math.abs(winterMin - targetTemp);
// Base depth constant derived from Hampton's average thermal diffusivity
const baseConstant = 0.42;
// Calculate raw depth
let rawDepth = (deltaT * baseConstant * wallThick) / soilFactor;
// Apply safety factor (1.5x)
const finalDepth = rawDepth * 1.5;
// Display result
document.getElementById('depthResult').textContent = finalDepth.toFixed(2) + " ft";
document.getElementById('results').style.display = 'block';
}
</script>
</body>
</html>