---
title: "Unit 3: Opening — The Krakatoa Enigma"
subtitle: "Why do massive volcanic eruptions, earthquakes, and tsunamis happen?"
author: "Earth & Space Science"
format:
html:
toc: false
toc-depth: 3
number-sections: true
code-fold: true
execute:
echo: true
warning: false
---
```{=html}
<style>
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@700&family=Inter:wght@400;600;800&display=swap');
.engage-box { background: linear-gradient(135deg, #e17055 0%, #d63031 100%); color: white; padding: 25px; margin: 20px 0; border-radius: 15px; box-shadow: 0 10px 30px rgba(225, 112, 85, 0.3); }
.engage-box h2 { font-family: 'Space Grotesk', sans-serif; font-size: 2em; margin-top: 0; }
.pe-badge { display: inline-block; background: linear-gradient(135deg, #e17055 0%, #d63031 100%); color: white; padding: 8px 16px; border-radius: 20px; font-size: 13px; font-weight: 800; margin: 5px; box-shadow: 0 4px 15px rgba(225, 112, 85, 0.4); text-transform: uppercase; letter-spacing: 1px; }
.big-question { font-family: 'Space Grotesk', sans-serif; font-size: 2.5em; font-weight: 800; background: linear-gradient(135deg, #e17055 0%, #d63031 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin: 30px 0 20px 0; text-align: center; animation: slideIn 0.8s ease-out; }
.key-idea { background: linear-gradient(135deg, #ffecd2 0%, #fcb69f 100%); padding: 20px; margin: 20px 0; border-radius: 12px; border-left: 8px solid #e17055; font-size: 1.1em; }
.student-task { background: #fff3e0; border-left: 5px solid #ff9800; padding: 20px; margin: 15px 0; border-radius: 0 10px 10px 0; }
.mind-blown { background: linear-gradient(135deg, #e17055 0%, #d63031 100%); color: white; padding: 20px; margin: 20px 0; border-radius: 15px; font-size: 1.3em; font-weight: 700; text-align: center; box-shadow: 0 10px 25px rgba(225, 112, 85, 0.4); }
.check-understanding { background: linear-gradient(to right, #e17055, #d63031); color: white; padding: 20px; margin: 20px 0; border-radius: 12px; border-left: 6px solid #fff; }
@keyframes slideIn { from { opacity: 0; transform: translateY(-20px); } to { opacity: 1; transform: translateY(0); } }
h1 { font-family: 'Space Grotesk', sans-serif !important; font-weight: 800 !important; font-size: 2.8em !important; margin-top: 40px !important; }
h2 { font-family: 'Space Grotesk', sans-serif !important; font-weight: 700 !important; color: #e17055 !important; }
</style>
```
<span class="pe-badge">Unit 3</span> <span class="pe-badge">Time: 2 Days</span>
<div class="big-question">🌋 What Forces Shape Earth's Violent Surface?</div>
# The Anchor Phenomenon
::: {.engage-box}
## 💥 Krakatoa, August 27, 1883
<div style="font-size: 1.3em; font-weight: 700; text-align: center; margin: 20px 0; text-shadow: 2px 2px 4px rgba(0,0,0,0.3);">
The loudest sound in recorded history. The explosion was heard 4,800 km away — like hearing a bomb in New York from London.
</div>
**What happened:**
- 🌋 The volcanic island of Krakatoa (Indonesia) exploded with a force of **200 megatons** — 10,000 times the Hiroshima bomb
- 🌊 Tsunamis up to **30 meters** high killed over **36,000 people** on nearby islands
- 🌡️ Ash and sulfur ejected into the stratosphere **lowered global temperatures** by 1.2°C for a year
- 🎨 The ash created **brilliant red sunsets** worldwide for months — scientists believe Edvard Munch's painting *The Scream* was inspired by the sky
- 💨 The pressure wave circled the globe **7 times**, detected on barometers everywhere
- 🔊 The sound wave traveled at **1,200 km/h** and ruptured eardrums 60 km away
:::
```{ojs}
//| echo: false
Plot = require("@observablehq/plot")
d3 = require("d3@7")
```
```{ojs}
//| echo: false
eruptionData = [
{name: "Mt. St. Helens (1980)", vei: 5, deaths: 57, ejecta: 1, color: "#74b9ff"},
{name: "Pinatubo (1991)", vei: 6, deaths: 800, ejecta: 10, color: "#0984e3"},
{name: "Krakatoa (1883)", vei: 6, deaths: 36000, ejecta: 25, color: "#e17055"},
{name: "Tambora (1815)", vei: 7, deaths: 92000, ejecta: 160, color: "#d63031"},
{name: "Toba (74,000 ya)", vei: 8, deaths: 0, ejecta: 2800, color: "#636e72"}
]
Plot.plot({
title: "Volcanic Eruptions by Scale (VEI = Volcanic Explosivity Index)",
subtitle: "Each VEI level is ~10x more powerful than the previous",
width: 700,
height: 300,
marginLeft: 180,
x: {label: "Material ejected (km³) — log scale", type: "log", grid: true},
y: {label: null},
marks: [
Plot.barX(eruptionData, {
x: "ejecta",
y: "name",
fill: "color",
rx: 8,
sort: {y: "x"}
,
tip: true}),
Plot.text(eruptionData, {
x: "ejecta",
y: "name",
text: d => `VEI ${d.vei} — ${d.ejecta} km³`,
dx: 25,
fontSize: 11,
fontWeight: "bold"
})
]
})
```
<div class="mind-blown">
🧠 The Toba supervolcano eruption (74,000 years ago) ejected 2,800 km³ of material — enough to bury the entire state of Texas under 12 meters of ash. It may have caused a "volcanic winter" that nearly drove humans extinct, reducing our population to perhaps 10,000 individuals.
</div>
# The Pattern
## Where Do Disasters Strike?
```{ojs}
//| echo: false
hazardData = [
{type: "Earthquakes (M6+, 2000-2023)", location: "Pacific Ring of Fire", percent: 81, color: "#e17055"},
{type: "Earthquakes (M6+, 2000-2023)", location: "Alpine-Himalayan Belt", percent: 15, color: "#fdcb6e"},
{type: "Earthquakes (M6+, 2000-2023)", location: "Rest of world", percent: 4, color: "#dfe6e9"},
{type: "Active Volcanoes", location: "Pacific Ring of Fire", percent: 75, color: "#e17055"},
{type: "Active Volcanoes", location: "Mid-ocean ridges", percent: 15, color: "#0984e3"},
{type: "Active Volcanoes", location: "Hotspots (Hawaii, etc.)", percent: 10, color: "#2ecc71"}
]
Plot.plot({
title: "Where Do Natural Hazards Occur?",
subtitle: "The Ring of Fire dominates — but why?",
width: 700,
height: 300,
marginLeft: 200,
x: {label: "Percentage of global total (%)", grid: true, domain: [0, 100]},
y: {label: null},
fy: {label: null},
marks: [
Plot.barX(hazardData, {
x: "percent",
y: "location",
fy: "type",
fill: "color",
rx: 5
,
tip: true}),
Plot.text(hazardData, {
x: "percent",
y: "location",
fy: "type",
text: d => d.percent + "%",
dx: 15,
fontSize: 12,
fontWeight: "bold"
})
]
})
```
### 🌍 Earthquakes on a 3D Globe
This interactive globe uses the Globe.gl library (built on Three.js) to show the locations of recent earthquakes. The spike height, radius, and color scale with magnitude so you can quickly spot the biggest events.
```{=html}
<!-- Load Globe.gl UMD bundle -->
<script src="https://unpkg.com/globe.gl@2.23.0/dist/globe.gl.min.js"></script>
<div style="max-width: 900px; margin: 30px auto;">
<!-- Mode toggle buttons -->
<div style="display:flex; gap:10px; margin-bottom:12px; justify-content:center;">
<button id="btn-recent" onclick="loadQuakes('recent')" style="padding:8px 20px; border-radius:999px; border:none; cursor:pointer; font-weight:700; font-size:13px; background:#e17055; color:#fff; box-shadow:0 2px 8px rgba(225,112,85,0.4);">
🕐 Recent (M ≥ 3.0)
</button>
<button id="btn-strongest" onclick="loadQuakes('strongest')" style="padding:8px 20px; border-radius:999px; border:none; cursor:pointer; font-weight:700; font-size:13px; background:#2d3436; color:#ccc;">
💥 Top 200 Strongest of All Time
</button>
</div>
<!-- Loading indicator -->
<div id="quake-loading" style="text-align:center; color:#aaa; font-size:13px; min-height:18px; margin-bottom:6px;"></div>
<div style="border-radius:16px; overflow:hidden; box-shadow:0 15px 35px rgba(0,0,0,0.25); display:flex; justify-content:center;">
<div id="quake-globe" style="width:100%; height:560px; background:#a8c8e8;"></div>
</div>
<style>#quake-globe canvas { display:block !important; margin:0 auto !important; }</style>
<p style="text-align:center; font-size:0.78em; color:#888; margin-top:8px;">
Data: USGS Earthquake Hazards Program · Drag to rotate · Scroll to zoom · Hover a spike to pause & inspect
</p>
</div>
<script>
var _quakeGlobe = null;
// ── colour scale: yellow → orange → dark-red by magnitude ──────────────────
function magColor(mag) {
var t = Math.min(Math.max((mag - 3) / 5.5, 0), 1);
var r = Math.round(255 + (139 - 255) * t);
var g = Math.round(235 + (0 - 235) * t);
var b = Math.round(59 + (0 - 59) * t);
return 'rgb(' + r + ',' + g + ',' + b + ')';
}
// ── update button styles ────────────────────────────────────────────────────
function setActiveBtn(mode) {
var activeStyle = 'padding:8px 20px;border-radius:999px;border:none;cursor:pointer;font-weight:700;font-size:13px;background:#e17055;color:#fff;box-shadow:0 2px 8px rgba(225,112,85,0.4);';
var inactiveStyle = 'padding:8px 20px;border-radius:999px;border:none;cursor:pointer;font-weight:700;font-size:13px;background:#2d3436;color:#ccc;';
document.getElementById('btn-recent').style.cssText = mode === 'recent' ? activeStyle : inactiveStyle;
document.getElementById('btn-strongest').style.cssText = mode === 'strongest' ? activeStyle : inactiveStyle;
}
// ── apply data to the existing globe instance ───────────────────────────────
function applyPoints(points) {
_quakeGlobe
.pointsData(points)
.pointAltitude(function(d) { return Math.max((d.mag - 2.5) * 0.045, 0.01); })
.pointRadius(function(d) { return Math.max((d.mag - 2.5) * 0.13, 0.1); })
.pointColor(function(d) { return magColor(d.mag); })
.onPointHover(function(pt) {
// pause rotation while hovering a point, resume when cursor leaves
_quakeGlobe.controls().autoRotate = !pt;
})
.pointLabel(function(d) {
var yr = d.year ? (' — ' + d.year) : (' — ' + new Date(d.time).toLocaleDateString());
return '<div style="background:rgba(0,0,0,0.82);padding:9px 13px;border-radius:6px;color:#fff;font-family:system-ui,sans-serif;font-size:13px;line-height:1.6;">'
+ '<strong style="font-size:15px;">Mag ' + d.mag.toFixed(1) + '</strong>' + yr + '<br/>'
+ d.place + '<br/>'
+ 'Depth: ' + d.depth + ' km'
+ '</div>';
});
}
// ── fetch & load a dataset ──────────────────────────────────────────────────
function loadQuakes(mode) {
setActiveBtn(mode);
var loading = document.getElementById('quake-loading');
loading.textContent = 'Loading…';
var url = mode === 'recent'
? 'https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&minmagnitude=3&limit=200&orderby=time'
: 'https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&minmagnitude=7&limit=200&orderby=magnitude&starttime=1900-01-01';
fetch(url)
.then(function(r) { return r.json(); })
.then(function(data) {
loading.textContent = '';
return data.features.map(function(f) {
return {
lat: f.geometry.coordinates[1],
lng: f.geometry.coordinates[0],
depth: f.geometry.coordinates[2],
mag: f.properties.mag,
place: f.properties.place,
time: f.properties.time,
year: mode === 'strongest' ? new Date(f.properties.time).getFullYear() : null
};
});
})
.then(applyPoints)
.catch(function(err) {
loading.textContent = 'Failed to load data. Check your connection.';
console.error('Earthquake fetch failed:', err);
});
}
// ── initialise globe, then load default dataset ─────────────────────────────
(function initGlobe() {
var el = document.getElementById('quake-globe');
if (!el || typeof Globe === 'undefined') { setTimeout(initGlobe, 150); return; }
_quakeGlobe = Globe()(el)
.globeImageUrl('https://unpkg.com/three-globe/example/img/earth-day.jpg')
.backgroundColor('#a8c8e8')
// centre on the Pacific Ring of Fire, slight zoom-in
.pointOfView({ lat: 20, lng: -160, altitude: 1.8 });
_quakeGlobe.controls().autoRotate = true;
_quakeGlobe.controls().autoRotateSpeed = 0.8;
loadQuakes('recent');
})();
</script>
```
### 🌋 Volcanic Eruptions on a 3D Globe
This globe shows notable volcanic eruptions from recorded (and geological) history. Each volcano is shown as a **pulsing ring** — the ring size, speed, and color all scale with the **Volcanic Explosivity Index (VEI)**, a logarithmic scale where each step is ~10× more powerful than the last.
```{=html}
<div style="max-width: 900px; margin: 30px auto;">
<!-- Filter buttons -->
<div style="display:flex; gap:10px; margin-bottom:10px; justify-content:center; flex-wrap:wrap;">
<button id="vbtn-all" onclick="filterVolcanoes('all')" style="padding:8px 20px; border-radius:999px; border:none; cursor:pointer; font-weight:700; font-size:13px; background:#e17055; color:#fff; box-shadow:0 2px 8px rgba(225,112,85,0.4);">🌋 All Notable Eruptions</button>
<button id="vbtn-major" onclick="filterVolcanoes('major')" style="padding:8px 20px; border-radius:999px; border:none; cursor:pointer; font-weight:700; font-size:13px; background:#2d3436; color:#ccc;">💥 VEI 5+ Major Eruptions</button>
<button id="vbtn-super" onclick="filterVolcanoes('super')" style="padding:8px 20px; border-radius:999px; border:none; cursor:pointer; font-weight:700; font-size:13px; background:#2d3436; color:#ccc;">🔥 VEI 7+ Supervolcanoes</button>
</div>
<!-- VEI Legend -->
<div style="display:flex; gap:6px; justify-content:center; margin-bottom:12px; flex-wrap:wrap; font-family:system-ui,sans-serif; font-size:12px; font-weight:700;">
<span style="background:#ffd700; color:#333; padding:4px 12px; border-radius:999px;">VEI 2-3 Minor</span>
<span style="background:#ff8c00; color:#fff; padding:4px 12px; border-radius:999px;">VEI 4 Large</span>
<span style="background:#e8001d; color:#fff; padding:4px 12px; border-radius:999px;">VEI 5 Very Large</span>
<span style="background:#8b0000; color:#fff; padding:4px 12px; border-radius:999px;">VEI 6 Colossal</span>
<span style="background:#4b0000; color:#fff; padding:4px 12px; border-radius:999px;">VEI 7-8 Mega / Super</span>
</div>
<!-- Loading indicator -->
<div id="volcano-loading" style="text-align:center; color:#aaa; font-size:13px; min-height:18px; margin-bottom:6px;"></div>
<div style="border-radius:16px; overflow:hidden; box-shadow:0 15px 35px rgba(0,0,0,0.25); display:flex; justify-content:center;">
<div id="volcano-globe" style="width:100%; height:580px; background:#a8c8e8;"></div>
</div>
<style>#volcano-globe canvas { display:block !important; margin:0 auto !important; }</style>
<p style="text-align:center; font-size:0.78em; color:#888; margin-top:8px;">
Smithsonian GVP / USGS data · Drag to rotate · Scroll to zoom · Hover a ring center to inspect
</p>
</div>
<script>
var _volcanoGlobe = null;
var _volcanoAllData = [
// VEI 8 — Supervolcanoes
{name:"Toba", country:"Indonesia", lat: 2.68, lng: 98.83, vei:8, year:-72000, deaths:"Unknown — may have reduced human population to ~10,000"},
{name:"Yellowstone (last)", country:"USA", lat:44.43, lng:-110.67, vei:8, year:-640000, deaths:"Prehistoric"},
// VEI 7
{name:"Tambora", country:"Indonesia", lat:-8.25, lng: 117.99, vei:7, year:1815, deaths:"~92,000 (eruption + famine)"},
{name:"Samalas / Rinjani", country:"Indonesia", lat:-8.42, lng: 116.47, vei:7, year:1257, deaths:"Unknown — likely triggered a global cold spell"},
{name:"Mazama (Crater Lake)",country:"USA", lat:42.94, lng:-122.12, vei:7, year:-5677, deaths:"Prehistoric"},
// VEI 6
{name:"Krakatoa", country:"Indonesia", lat:-6.10, lng: 105.42, vei:6, year:1883, deaths:"~36,000"},
{name:"Pinatubo", country:"Philippines", lat:15.14, lng: 120.35, vei:6, year:1991, deaths:"~800"},
{name:"Novarupta", country:"USA (Alaska)", lat:58.27, lng:-155.16, vei:6, year:1912, deaths:"0"},
{name:"Santa María", country:"Guatemala", lat:14.76, lng: -91.55, vei:6, year:1902, deaths:"~6,000"},
{name:"Quizapu", country:"Chile", lat:-35.65, lng: -70.57, vei:6, year:1932, deaths:"0"},
// VEI 5
{name:"Mt. St. Helens", country:"USA", lat:46.19, lng:-122.19, vei:5, year:1980, deaths:"57"},
{name:"Hunga Tonga", country:"Tonga", lat:-20.54, lng:-175.39, vei:5, year:2022, deaths:"~6"},
{name:"Vesuvius (79 AD)", country:"Italy", lat:40.82, lng: 14.43, vei:5, year:79, deaths:"~1,500–20,000"},
{name:"El Chichón", country:"Mexico", lat:17.36, lng: -93.23, vei:5, year:1982, deaths:"~2,000"},
{name:"Hudson", country:"Chile", lat:-45.90, lng: -72.97, vei:5, year:1991, deaths:"0"},
{name:"Sarychev Peak", country:"Russia", lat:48.09, lng: 153.18, vei:5, year:2009, deaths:"0"},
{name:"Láscar", country:"Chile", lat:-23.37, lng: -67.73, vei:5, year:1993, deaths:"0"},
// VEI 4
{name:"Eyjafjallajökull", country:"Iceland", lat:63.63, lng: -19.62, vei:4, year:2010, deaths:"0"},
{name:"Merapi", country:"Indonesia", lat:-7.54, lng: 110.44, vei:4, year:2010, deaths:"~353"},
{name:"Kelud", country:"Indonesia", lat:-7.93, lng: 112.31, vei:4, year:2014, deaths:"~7"},
{name:"Sinabung", country:"Indonesia", lat: 3.17, lng: 98.39, vei:4, year:2014, deaths:"17"},
{name:"Ruapehu", country:"New Zealand", lat:-39.28, lng: 175.57, vei:4, year:1996, deaths:"0"},
{name:"Soufrière Hills", country:"Montserrat", lat:16.72, lng: -62.18, vei:4, year:1995, deaths:"19"},
{name:"Sakurajima", country:"Japan", lat:31.58, lng: 130.66, vei:4, year:1914, deaths:"35"},
{name:"Galeras", country:"Colombia", lat: 1.22, lng: -77.36, vei:4, year:1993, deaths:"9"},
{name:"Popocatépetl", country:"Mexico", lat:19.02, lng: -98.62, vei:4, year:2023, deaths:"0"},
{name:"Tavurvur / Rabaul", country:"Papua New Guinea", lat:-4.24, lng: 152.20, vei:4, year:1994, deaths:"~5"},
// VEI 2-3
{name:"Etna", country:"Italy", lat:37.75, lng: 15.00, vei:3, year:2023, deaths:"0"},
{name:"Stromboli", country:"Italy", lat:38.79, lng: 15.21, vei:3, year:2019, deaths:"1"},
{name:"Kīlauea", country:"USA (Hawaii)", lat:19.42, lng:-155.29, vei:3, year:2018, deaths:"0"},
{name:"Nyiragongo", country:"DR Congo", lat:-1.52, lng: 29.25, vei:3, year:2021, deaths:"32"},
{name:"Cotopaxi", country:"Ecuador", lat:-0.68, lng: -78.44, vei:3, year:2022, deaths:"0"},
{name:"Erta Ale", country:"Ethiopia", lat:13.60, lng: 40.67, vei:2, year:2017, deaths:"0"}
];
// ── colour by VEI ────────────────────────────────────────────────────────────
function veiColor(vei) {
if (vei >= 8) return '75,0,0';
if (vei >= 7) return '139,0,0';
if (vei >= 6) return '180,0,10';
if (vei >= 5) return '232,0,29';
if (vei >= 4) return '255,140,0';
if (vei >= 3) return '255,165,0';
return '255,215,0';
}
// ── ring parameters scale with VEI ──────────────────────────────────────────
function veiMaxRadius(vei) { return 2 + vei * 2.8; }
function veiPropagationSpeed(vei) { return 0.8 + vei * 0.45; }
function veiRepeatPeriod(vei) { return Math.max(4500 - vei * 400, 1200); }
// ── button state ─────────────────────────────────────────────────────────────
function setActiveVBtn(mode) {
var active = 'padding:8px 20px;border-radius:999px;border:none;cursor:pointer;font-weight:700;font-size:13px;background:#e17055;color:#fff;box-shadow:0 2px 8px rgba(225,112,85,0.4);';
var inactive = 'padding:8px 20px;border-radius:999px;border:none;cursor:pointer;font-weight:700;font-size:13px;background:#2d3436;color:#ccc;';
document.getElementById('vbtn-all').style.cssText = mode === 'all' ? active : inactive;
document.getElementById('vbtn-major').style.cssText = mode === 'major' ? active : inactive;
document.getElementById('vbtn-super').style.cssText = mode === 'super' ? active : inactive;
}
// ── apply dataset to globe ───────────────────────────────────────────────────
function applyVolcanoData(data) {
_volcanoGlobe
// pulsing rings — visual centrepiece
.ringsData(data)
.ringLat(function(d) { return d.lat; })
.ringLng(function(d) { return d.lng; })
.ringColor(function(d) {
var rgb = veiColor(d.vei);
return function(t) { return 'rgba(' + rgb + ',' + (Math.sqrt(1 - t) * 0.85) + ')'; };
})
.ringMaxRadius(function(d) { return veiMaxRadius(d.vei); })
.ringPropagationSpeed(function(d) { return veiPropagationSpeed(d.vei); })
.ringRepeatPeriod(function(d) { return veiRepeatPeriod(d.vei); })
// small static dots as hover targets
.pointsData(data)
.pointLat(function(d) { return d.lat; })
.pointLng(function(d) { return d.lng; })
.pointAltitude(0.01)
.pointRadius(function(d) { return 0.18 + (d.vei - 2) * 0.06; })
.pointColor(function(d) { return 'rgba(' + veiColor(d.vei) + ',0.95)'; })
.pointLabel(function(d) {
var yearStr = d.year < 0
? Math.abs(d.year).toLocaleString() + ' years ago'
: (d.year < 1000 ? d.year + ' AD' : d.year);
return '<div style="background:rgba(0,0,0,0.85);padding:9px 13px;border-radius:6px;color:#fff;font-family:system-ui,sans-serif;font-size:13px;line-height:1.7;">'
+ '<strong style="font-size:15px;">🌋 ' + d.name + '</strong><br/>'
+ d.country + ' — ' + yearStr + '<br/>'
+ 'VEI: <strong>' + d.vei + '</strong> | Deaths: ' + d.deaths
+ '</div>';
});
}
// ── filter + apply ───────────────────────────────────────────────────────────
function filterVolcanoes(mode) {
setActiveVBtn(mode);
var data = _volcanoAllData.filter(function(d) {
if (mode === 'major') return d.vei >= 5;
if (mode === 'super') return d.vei >= 7;
return true;
});
applyVolcanoData(data);
}
// ── initialise ───────────────────────────────────────────────────────────────
(function initVolcanoGlobe() {
var el = document.getElementById('volcano-globe');
if (!el || typeof Globe === 'undefined') { setTimeout(initVolcanoGlobe, 150); return; }
_volcanoGlobe = Globe()(el)
.globeImageUrl('https://unpkg.com/three-globe/example/img/earth-day.jpg')
.backgroundColor('#a8c8e8')
.pointOfView({ lat: 10, lng: 120, altitude: 1.8 });
_volcanoGlobe.controls().autoRotate = true;
_volcanoGlobe.controls().autoRotateSpeed = 0.6;
// pause rotation on hover
_volcanoGlobe.onPointHover(function(pt) {
_volcanoGlobe.controls().autoRotate = !pt;
});
filterVolcanoes('all');
})();
</script>
```
::: {.key-idea}
### 🎯 The Big Mystery
Earthquakes, volcanoes, and tsunamis don't happen randomly. They cluster along **narrow bands** that wrap around the planet. These bands mark the **edges of tectonic plates** — the giant puzzle pieces of Earth's surface.
In this unit, we'll figure out:
1. **What's inside Earth** that drives these violent events
2. **Why disasters cluster** along specific belts
3. **What makes the plates move**
4. **Whether we can predict** and prepare for these hazards
:::
::: {.student-task}
### 📝 Initial Model
Draw an initial model that explains:
1. Why do volcanoes, earthquakes, and tsunamis happen in certain locations?
2. What's happening **beneath** Earth's surface to cause these events?
3. Why did Krakatoa explode so violently?
**Don't worry about being "right"** — this is your starting model. We'll revise it as we learn more.
:::
::: {.check-understanding}
### 📋 Driving Question Board
Write at least **3 questions** you want answered during this unit. Here are some starters:
- Why are there so many volcanoes around the Pacific Ocean?
- What causes an earthquake?
- Could a supervolcano like Toba erupt again?
- How do we know what's inside Earth if we've never drilled more than 12 km?
- Why do some volcanoes explode violently while others flow gently?
- Can we predict earthquakes? Why or why not?
:::