healthData = [ {metric:"Lung Cancer\n(per 100K)",appalachia:78,national:43}, {metric:"Heart Disease\n(per 100K)",appalachia:295,national:165}, {metric:"COPD\n(per 100K)",appalachia:65,national:41}, {metric:"Life Expectancy\n(years)",appalachia:73,national:79}]healthLong = healthData.flatMap(d => [ {metric: d.metric,group:"Appalachian Coal Counties",value: d.appalachia}, {metric: d.metric,group:"US National Average",value: d.national}])Plot.plot({title:"Health Outcomes: Appalachian Coal Counties vs. National Average",subtitle:"The gap is stark — and it's not a coincidence",width:750,height:400,marginLeft:120,color: {domain: ["Appalachian Coal Counties","US National Average"],range: ["#6c5ce7","#b2bec3"],legend:true },fx: {label:null},x: {label:null},y: {label:null},marks: [ Plot.barY(healthLong, {fx:"metric",x:"group",y:"value",fill:"group",tip:true}), Plot.text(healthLong, {fx:"metric",x:"group",y:"value",text: d =>`${d.value}`,dy:-10,fontSize:13,fontWeight:"bold" }), Plot.ruleY([0]) ]})
36.1.2 📝 Pattern Recognition
For each health metric, calculate the percentage difference between Appalachian coal counties and the national average.
Which health outcome shows the biggest gap? Why might that be?
Life expectancy is 6 years shorter in coal country. What does that mean for a 14-year-old living there right now?
The poverty rate in coal counties is 25% vs. 12% nationally. How might poverty and health impacts be connected?
Does correlation (mining areas have worse health) prove causation? What other evidence would you need?
37 Explore 1: How Does Mining Destroy Ecosystems?
37.1 🔬 Mountaintop Removal: Before and After
Mountaintop removal mining is exactly what it sounds like — companies literally blow up the tops of mountains to get to the coal underneath. Then they push the leftover rock and soil into valleys, burying streams and ecosystems.
37.2 The Process — And Its Ecological Cost
Code
miningImpacts = [ {impact:"Habitat destroyed",extent:100,recovery:"Decades to centuries",color:"#d63031"}, {impact:"Streams buried",extent:90,recovery:"Permanent",color:"#0984e3"}, {impact:"Forest lost",extent:95,recovery:"200+ years for mature forest",color:"#00b894"}, {impact:"Topsoil removed",extent:100,recovery:"Permanent (soil takes 1000+ years)",color:"#e17055"}, {impact:"Species displaced",extent:85,recovery:"Many species never return",color:"#6c5ce7"}]Plot.plot({title:"Ecological Destruction from Mountaintop Removal Mining",subtitle:"% of ecosystem destroyed in the mining area",width:750,height:350,marginLeft:150,x: {label:"% Destroyed in Mining Area",domain: [0,100]},y: {label:null},marks: [ Plot.barX(miningImpacts, {y:"impact",x:"extent",fill:"color",sort: {y:"-x"},tip:true}), Plot.text(miningImpacts, {y:"impact",x:"extent",text: d =>`${d.extent}% — Recovery: ${d.recovery}`,dx:5,textAnchor:"start",fontSize:10,fontWeight:"bold" }), Plot.ruleX([0]) ]})
Which mining method has the least total environmental impact? Which has the most?
Mountaintop removal only produces ~10% of US coal. Is that worth the damage it causes? Why or why not?
Underground mining has much less surface impact — but it has significant air and water impacts. Why?
Create a cost-benefit analysis for mountaintop removal:
Category
Costs
Benefits
Economic
Environmental
Health
Social/Community
38 Explain: How Does Mining Poison Communities?
38.1 🧠 Tracing the Pathways: From Mine to Body
Mining doesn’t just destroy the landscape where it happens. Pollutants travel through air and water to reach communities — sometimes miles away. Let’s trace exactly how.
The communities most harmed by mining are often the same communities that depend on mining for jobs. Appalachian coal country has poverty rates more than double the national average. People can’t easily move away, and they often lack the political power to demand better protections.
This is a pattern we’ve seen in every chapter of this unit: the people who benefit least from harmful activities often bear the greatest costs.
38.2.2 📝 Trace the Pathways
In your notebook, create a diagram showing:
At least two air pathways from mining activity to a specific health outcome
At least two water pathways from mining activity to a specific health outcome
For each pathway, include the specific pollutant and the mechanism by which it causes harm
How do these pathways combine to create the health disparities you saw in the Engage data?
39 Elaborate: Comparing Solutions
39.1 🌱 Two Approaches, One Goal: Reduce Mining’s Damage
Scientists, engineers, and policymakers have proposed different solutions to reduce mining’s impact on communities. But they have very different strengths and weaknesses. Your job: evaluate them and argue for the best one.
Code
viewof solutionView = Inputs.radio( ["Side by side","Enhanced Reclamation","Advanced Filtration","Transition Program","Strict Regulation"], {label:"View solution details:",value:"Side by side"})
Code
{const solutions = {"Enhanced Reclamation": {desc:"Restore mined land to functional ecosystems using advanced techniques",cost:3,effectiveness:3,speed:2,jobs:3,health:3,ecosystem:4,color:"#00b894" },"Advanced Filtration": {desc:"Prevent contaminants from entering air and water during active mining",cost:3,effectiveness:4,speed:4,jobs:4,health:4,ecosystem:2,color:"#0984e3" },"Transition Program": {desc:"Transition mining communities to alternative industries (renewables, tourism)",cost:2,effectiveness:5,speed:1,jobs:3,health:5,ecosystem:5,color:"#6c5ce7" },"Strict Regulation": {desc:"Implement and enforce strong environmental and health regulations",cost:4,effectiveness:3,speed:3,jobs:3,health:3,ecosystem:3,color:"#e17055" } };const width =750;const height = solutionView ==="Side by side"?400:300;const svg = d3.create("svg").attr("width", width).attr("height", height); svg.append("rect").attr("width", width).attr("height", height).attr("fill","#f8f9fa").attr("rx",12);if (solutionView ==="Side by side") { svg.append("text").attr("x", width/2).attr("y",25).attr("text-anchor","middle").attr("font-size",16).attr("font-weight","bold").text("Solution Comparison (1=low, 5=high)");const criteria = ["cost","effectiveness","speed","jobs","health","ecosystem"];const labels = ["Cost-effectiveness","Emission Reduction","Speed","Job Protection","Health Benefit","Ecosystem Recovery"];const solNames =Object.keys(solutions); labels.forEach((label, i) => { svg.append("text").attr("x",15).attr("y",65+ i *52).attr("font-size",11).attr("font-weight","bold").text(label); }); solNames.forEach((name, si) => {const sol = solutions[name]; svg.append("rect").attr("x",160+ si *145).attr("y",32).attr("width",135).attr("height",22).attr("fill", sol.color).attr("rx",6); svg.append("text").attr("x",227+ si *145).attr("y",47).attr("text-anchor","middle").attr("font-size",10).attr("fill","white").attr("font-weight","bold").text(name.split(" ")[0]); criteria.forEach((c, ci) => {const val = sol[c];const y =55+ ci *52;// Draw 5 dotsfor (let d =0; d <5; d++) { svg.append("circle").attr("cx",175+ si *145+ d *24).attr("cy", y +3).attr("r",8).attr("fill", d < val ? sol.color:"#dfe6e9").attr("opacity",0.8); } }); }); } else {const sol = solutions[solutionView]; svg.append("rect").attr("x",20).attr("y",15).attr("width", width -40).attr("height",50).attr("fill", sol.color).attr("rx",12); svg.append("text").attr("x", width/2).attr("y",38).attr("text-anchor","middle").attr("font-size",16).attr("fill","white").attr("font-weight","bold").text(solutionView); svg.append("text").attr("x", width/2).attr("y",55).attr("text-anchor","middle").attr("font-size",12).attr("fill","white").text(sol.desc);const criteria = [ {label:"Cost-effectiveness",value: sol.cost}, {label:"Emission Reduction",value: sol.effectiveness}, {label:"Implementation Speed",value: sol.speed}, {label:"Job Protection",value: sol.jobs}, {label:"Health Benefit",value: sol.health}, {label:"Ecosystem Recovery",value: sol.ecosystem} ]; criteria.forEach((c, i) => {const y =85+ i *33; svg.append("text").attr("x",15).attr("y", y +12).attr("font-size",12).text(c.label); svg.append("rect").attr("x",200).attr("y", y).attr("width",400).attr("height",20).attr("fill","#dfe6e9").attr("rx",4); svg.append("rect").attr("x",200).attr("y", y).attr("width", (c.value/5) *400).attr("height",20).attr("fill", sol.color).attr("rx",4).attr("opacity",0.8); svg.append("text").attr("x",610).attr("y", y +14).attr("font-size",13).attr("font-weight","bold").text(`${c.value}/5`); }); }return svg.node();}
39.1.1 📝 Evaluate and Argue
Use the interactive comparison above to evaluate the four solutions. Then:
Score each solution on cost, safety, and reliability (the three required criteria):
Solution
Cost (1–5)
Safety (1–5)
Reliability (1–5)
TOTAL
Enhanced Reclamation
Advanced Filtration
Transition Program
Strict Regulation
Pick the solution you think is best and write a 300-word argument that:
States your claim clearly
Provides evidence from the data
Explains your reasoning connecting evidence to claim
Addresses why someone might prefer a different solution — and why your choice is still better
Think about justice: Which solution does the most to help the communities that have been harmed the most?
40 Evaluate: Combining Solutions for Maximum Impact
40.1 ⚖️ No Single Solution Is Enough — What’s the Best Combination?
Each solution has strengths and weaknesses. The real power comes from combining solutions strategically. Use the model below to find the most effective combination.
Try different combinations. Which combination gives the best health improvement for the lowest cost?
The Transition Program has the biggest long-term benefit but causes short-term job losses. How would you address that trade-off?
Notice the synergy bonus — solutions work better together than alone. Why might that be?
Record your recommended combination and its estimated impacts for the Performance Task:
Your Solutions
Health Improvement
Ecosystem Recovery
Cost
Timeline
(list them)
⛏️ Mining provides resources our society depends on — but the way we mine today is killing people. The question isn’t whether to mine, but HOW to mine responsibly and who should bear the costs.
40.1.2 📋 Keep Track for Your Performance Task!
Record the estimated impact of each mining solution you evaluated: