-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c93b292
commit 0a31280
Showing
9 changed files
with
198 additions
and
31 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,135 @@ | ||
<script lang="ts"> | ||
import Progress from "$lib/components/Progress.svelte" | ||
import { foodItems } from "$lib/data/foods" | ||
import FoodprintBarChart from "./FoodprintBarChart.svelte" | ||
const foods = foodItems.filter((o) => ["🐄", "🐓", "🫘", "🥜"].includes(o.emoji)) | ||
const charts = { | ||
land: { | ||
title: "Land use per 100 grams of protein", | ||
subtitle: "Land measured in m<sup>2</sup>", | ||
unit: "m²", | ||
fv: (f: Food) => (100 * f.landPerKg) / f.proteinRatio | ||
}, | ||
water: { | ||
title: "Water use per 100 grams of protein", | ||
subtitle: "Water measured in liters", | ||
unit: "L", | ||
fv: (f: Food) => (100 * f.waterPerKg) / f.proteinRatio | ||
}, | ||
eutrophy: { | ||
title: "Water eutrophy per 100 grams of protein", | ||
subtitle: "Water measured in liters", | ||
unit: "L", | ||
fv: (f: Food) => (100 * f.eutrophyPerKg) / f.proteinRatio | ||
}, | ||
emissions: { | ||
title: "Emissions per 100 grams of protein", | ||
subtitle: "Greenhouse gas emissions measured in kgCO<sub>2</sub>eq", | ||
unit: "kgCO₂eq", | ||
fv: (f: Food) => (100 * f.ghgPerKg) / f.proteinRatio | ||
} | ||
} | ||
</script> | ||
|
||
<div class="emoji-block flex-center text-2xl"> | ||
{#each foods as { emoji, name }} | ||
<div class="flex-col"> | ||
<span>{emoji}</span> | ||
<span class="label">{name}</span> | ||
</div> | ||
{/each} | ||
</div> | ||
|
||
<p class="label text-center"> | ||
(Peanuts are technically legumes, but for simplicity we group them together in the Nuts category) | ||
</p> | ||
|
||
<h2>Land use</h2> | ||
|
||
<p> | ||
Half the world's habitable land is used to feed humans. Beef (and other grazing animals) is a | ||
highly inefficient converter of land to protein because of the vast area needed for grazing and | ||
growing feed crops. It requires 30 times the land per gram of protein as poultry and nearly 20 | ||
times that of legumes. | ||
</p> | ||
|
||
<p> | ||
This is important because clearing more forests to meet future demands could accelerate | ||
biodiversity loss, degrade soil health, intensify flood/drought risk, and contribute to climate | ||
change through carbon release. | ||
</p> | ||
|
||
<FoodprintBarChart {foods} {...charts.land} /> | ||
|
||
<hr class="spacer" /> | ||
|
||
<h2>Water use and water pollution</h2> | ||
|
||
<p> | ||
Food isn't just about taste; it's about impact. Our daily choices in the kitchen hold unexpected | ||
power over the health of our planet. Agriculture, from field to table, comes with a climate cost. | ||
Agriculture is responsible for 70% of global freshwater withdrawals and 78% of ocean and | ||
freshwater pollution. Nuts are particularly thirsty: some almond varieties need about four liters | ||
per nut! In water-stressed California, where 80% of the world's almonds are grown, this has | ||
significant environmental and economic implications. | ||
</p> | ||
|
||
<p> | ||
Animal agriculture, particularly beef and dairy, stands as a top offender. Herds emit vast | ||
quantities of greenhouse gases, comparable to fleets of vehicles. It takes staggering amounts of | ||
water to produce a single pound of beef – more than the average person uses for showering in a | ||
week! Vast amounts of land go towards sustaining livestock, not people. | ||
Beef is close behind, requiring more than the average person uses for showering in a week per 100g | ||
of protein. In contrast, legumes are remarkably water efficient. Eating more water-efficient | ||
proteins is important because water-intensive agriculture intensifies scarcity, diminishes healthy | ||
rivers and lakes, and pollutes crucial waterways through fertilizer and pesticide runoff. | ||
</p> | ||
|
||
<FoodprintBarChart {foods} {...charts.water} /> | ||
|
||
<hr class="spacer" /> | ||
|
||
<h2>Greenhouse gas emissions</h2> | ||
|
||
<p> | ||
Agriculture accounts for a staggering 26% of global greenhouse gas emissions. Methane, with | ||
roughly 80 times the global warming potential of CO2 over a 20-year period, underscores the | ||
serious climate challenges posed by ruminants – methane-emitting animals like cattle and sheep. | ||
</p> | ||
|
||
<p> | ||
What we eat is more important than where it's from. Emissions from transport, processing, and | ||
packaging are often dwarfed by deforestation driven by agriculture, fertilizer use, methane | ||
emissions, and food waste. Across most foods – both plant and animal – these factors typically | ||
account for over 50% of total supply-chain emissions. | ||
</p> | ||
|
||
<FoodprintBarChart {foods} {...charts.emissions} /> | ||
|
||
<hr class="spacer" /> | ||
|
||
<h3>Conclusion</h3> | ||
|
||
<p> | ||
This isn't about eliminating choice, but about conscious consumption. Even switching out a few | ||
meals a week for plant-based options makes a difference. Imagine your plate as a tool for change. | ||
Opting for vibrant, plant-forward meals a few times a week transforms your plate into a tiny but | ||
potent act of stewardship. Each thoughtfully chosen meal supports a more sustainable future for us | ||
all. | ||
Legumes are a valuable protein source, boasting the lowest emissions, water use, and land | ||
requirements. Integrate more beans, lentils, and peas into your diet for a lower footprint! Nuts, | ||
despite their water needs, hold advantages over animal proteins when it comes to land use and are | ||
almost carbon-neutral. Although animal proteins underperform environmentally, the disparity | ||
between poultry and beef is vast – the choice of meat is important. | ||
</p> | ||
|
||
<p class="bold"> | ||
To learn more about what to eat, read <a href="/learn/diet-types" | ||
>Which diets are best for the planet?</a | ||
> | ||
</p> | ||
|
||
<figure class="label"> | ||
<div><b>Sources</b></div> | ||
<a href="https://ourworldindata.org/grapher/food-emissions-supply-chain" target="_blank" | ||
>Greenhouse gas emissions across the food chain</a | ||
> (Our World in Data) | ||
</figure> | ||
|
||
<style lang="sass"> | ||
.emoji-block | ||
gap: 0.75rem | ||
font-weight: bold | ||
margin: 3rem auto | ||
</style> |
31 changes: 31 additions & 0 deletions
31
src/routes/learn/(posts)/overview/FoodprintBarChart.svelte
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<script lang="ts"> | ||
import Progress from "$lib/components/Progress.svelte" | ||
export let foods: Food[] | ||
export let unit: string | ||
export let title: string | ||
export let subtitle: string | ||
export let fv: (item: Food) => number | ||
$: max = Math.ceil(Math.max(...foods.map(fv))) | ||
</script> | ||
|
||
<figure class="food-bar-chart"> | ||
<div> | ||
<div class="figure-title">{@html title}</div> | ||
<div class="figure-subtitle label">{@html subtitle}</div> | ||
</div> | ||
{#each foods.sort((a, b) => fv(b) - fv(a)) as food, i} | ||
<div class="flex align-end" data-tooltip="{Math.round(fv(food))} {unit}"> | ||
<span class="food-bar-chart-label label bold">{food.emoji} {food.name}</span> | ||
<div class="flex-grow"> | ||
<Progress value={Math.round(fv(food))} {max} showLabels={!i} showValue={false} /> | ||
</div> | ||
</div> | ||
{/each} | ||
</figure> | ||
|
||
<style lang="sass"> | ||
.food-bar-chart-label | ||
min-width: 11ch | ||
</style> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.