forked from systemcatch/tmrow.com
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclimatechange.html
1805 lines (1585 loc) · 79.3 KB
/
climatechange.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---
title: A pragmatic guide to Climate Change
description: This guide is a pragmatic guide to what Climate Change is, what the drivers behind it are, and what we, as individuals, can do about it.
image: https://user-images.githubusercontent.com/1655848/29027789-6f2358b0-7b82-11e7-882f-af0ca55703a1.png
---
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://ogp.me/ns/fb#" lang="en">
<head>
{% include meta.html
title=page.title
description=page.description
image=page.image
url=page.url
%}
</head>
<body>
<!-- start Twitter -->
<script>
window.twttr = (function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0],
t = window.twttr || {};
if (d.getElementById(id)) return t;
js = d.createElement(s);
js.id = id;
js.src = "https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js, fjs);
t._e = [];
t.ready = function(f) {
t._e.push(f);
};
return t;
}(document, "script", "twitter-wjs"));
</script>
<!-- end Twitter -->
<!-- Load Facebook SDK for JavaScript -->
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '1821546271499223',
xfbml : true,
version : 'v2.8'
});
if(window.location.href.indexOf('localhost') == -1)
FB.AppEvents.logPageView('pageview');
};
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<script src="vendor/d3.min.js"></script>
<script src="vendor/echarts.min.js"></script>
<script src="data/world.js"></script>
<script>
function initialOption() {
return {
xAxis: {},
yAxis: {},
grid: { top: 20, bottom: 45 },
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'line'
}
}
}
}
function initialDataZoom() {
return [
{
type: 'slider',
showDataShadow: false,
height: 10,
borderColor: 'transparent',
backgroundColor: '#e2e2e2',
handleIcon: 'M10.7,11.9H9.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z', // jshint ignore:line
handleSize: 15,
handleStyle: {
shadowBlur: 6,
shadowOffsetX: 1,
shadowOffsetY: 2,
shadowColor: '#aaa'
},
}
]
}
</script>
<style>
/* Override */
.section-content {
max-width: 800px !important;
}
h1 {
margin-bottom: unset !important;
}
h1, h2 {
margin-top: -3rem; /* padding-top + margin-top will be effective margin */
padding-top: 5rem;
}
hr {
margin-bottom: 0px;
}
/* Prevent subscript from affecting line-height */
sub {
vertical-align: baseline;
position: relative;
top: 0.4em;
}
/* Graphs */
.graph {
width: 100%;
box-sizing: border-box;
/* center horizontally */
margin-right: auto;
margin-left: auto;
padding-top: 1.5em;
padding-bottom: 1.5em;
}
@media (min-width: 52em) {
.graph {
width: 70%;
}
}
.chart {
width: 100%;
height: 350px;
}
.source {
font-size: small;
}
.graph .title {
font-size: 14px;
line-height: 14px;
font-weight: bold;
}
.graph .description {
font-size: 12px;
color: #8a8a8a;
line-height: unset;
}
/* Misc */
.incomplete {
background-color: orange;
padding: 1em;
}
/* TOC */
#toc li {
margin-left: 4rem;
}
#toc > h4 {
margin-bottom: 0.5rem;
margin-top: 0.5rem;
}
</style>
{% include header.html %}
<section style="margin-top: 3em;">
<div class="section-content">
<h1>A pragmatic guide to Climate Change</h1>
<p style="color: darkgray; font-size: small;">
If you see anything inconsistent, or would like to propose a change, feel free to edit the page on <a href="https://github.com/tmrowco/tmrow.com/blob/master/climatechange.html" target="_blank"><i class="fa fa-github"></i> github</a> or submit an <a href="https://github.com/tmrowco/tmrow.com/issues" target="_blank"><i class="fa fa-exclamation-circle" aria-hidden="true"></i> issue</a>.
</p>
<p>
This guide is a pragmatic guide to what Climate Change is, what the drivers behind it are, and what we, as individuals, can do about it.
</p>
<div id="toc">
<h4>1. The Earth</h4>
<ul>
<li><a href="#the-state-of-climate-change">The state of Climate Change</a></li>
<li><a href="#consequences">Consequences</a></li>
<li><a href="#what-causes-it?">What causes it</a></li>
</ul>
<h4>2. Humans</h4>
<ul>
<li><a href="#where-do-greenhouse-gases-come-from?">Where do greenhouse gases come from?</a></li>
<li><a href="#fossil-fuels-are-used-everywhere--and-for-good-reasons">Fossil fuels are used everywhere, and for good reasons</a></li>
</ul>
<h4>3. What can we do?</h4>
<ul>
<li><a href="#objective--2-tons-co2eq-per-human-per-year-by-2050">Objective: 2 tons CO2eq per human per year by 2050</a></li>
<li><a href="#transportation--reduce-long-distance-travels">Transportation: Reduce long-distance travels</a></li>
<li><a href="#electricity--remove-coal--gas-and-oil-power-plants">Electricity: remove coal, gas and oil power plants</a></li>
<li><a href="#food--avoid-red-meat">Food: avoid red meat</a></li>
<li><a href="#information-must-be-accessible-and-widely-spread">Information must be accessible and widely spread</a></li>
</li>
</div>
<hr/>
<h1>1. The Earth</h1>
<h2>The state of Climate Change</h2>
<div>
<p>
"Warming of the climate system is unequivocal, and since the 1950s, many of the observed changes are unprecedented over decades to millennia", writes the Intergovernmental Panel on Climate Change (IPCC) in its <a href="http://www.ipcc.ch/pdf/assessment-report/ar5/syr/AR5_SYR_FINAL_SPM.pdf" target="_blank">fifth assessment</a>.
</p>
<div class="graph">
<div class="title">Temperature anomalies</div>
<div class="description">°C compared to 1951-1980 average</div>
<div class="chart" id="temperature_time_series_recent"></div>
<div class="source">
Source: <a href="https://climate.nasa.gov/vital-signs/global-temperature/" target="_blank">NASA's Goddard Institute for Space Studies (GISS)</a> (<a href="http://climate.nasa.gov/system/internal_resources/details/original/647_Global_Temperature_Data_File.txt" target="_blank">data</a>)
</div>
</div>
<script>
// Will be reused later
function parseGiss(giss_obj) {
return giss_obj
.split('\n')
.map(function(row, i) { return row.split(' ') })
.filter(function(row, i) { return +row[0]; })
}
(function() {
var url = 'data/647_Global_Temperature_Data_File.txt';
d3.text(url, function(err, giss_obj) {
if (err) throw err;
var giss_data = parseGiss(giss_obj);
var option = initialOption();
var xData = giss_data.map(function(d) { return +d[0] });
var yData = giss_data.map(function(d) { return +d[1] });
var xyData = giss_data.map(function(_, i) { return [xData[i], yData[i]] })
option.xAxis.type = 'value';
option.xAxis.min = d3.min(xData);
// option.xAxis.min = 1950;
option.xAxis.axisLabel = {
formatter: function(e) { return e.toString() }
}
option.xAxis.max = d3.max(xData);
option.yAxis.min = -0.7;
option.yAxis.max = 1.2;
option.tooltip.formatter = function(e) {
var value = e[0].data[1];
var sign = value >= 0 ? '+' : '';
return e[0].marker + ' ' + sign + value + ' °C in ' + e[0].data[0];
}
option.series = [
{
name: 'nasa_giss_1y',
type: 'line',
showSymbol: false,
data: xyData,
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: -1 * option.yAxis.min / option.yAxis.max - 0.2,
color: 'rgb(255, 64, 30)'
}, {
offset: 1,
color: 'rgb(180, 200, 255)'
}])
}
},
markLine: {
data: [{ type: 'max', x: '70%' }],
label: {
normal: {
formatter: '2016',
position: 'start'
},
},
}
},
{
name: 'last',
type: 'effectScatter',
data: [xyData[xyData.length - 1]],
symbolSize: 10,
}
];
var chart = echarts.init(document.getElementById('temperature_time_series_recent'))
chart.setOption(option);
window.addEventListener('resize', chart.resize);
})
})()
</script>
<p>
Sixteen of the 17 warmest years have all occurred since 2001 (with the exception of 1998).
Furthermore, NOAA reported in August 2016 that each of the previous 16 months <a href="https://www.ncdc.noaa.gov/sotc/global/201607#temp" target="_blank">were the warmest they've ever measured</a>.
The measured warming has been found to be consistent across <a href="https://data.giss.nasa.gov/gistemp/graphs/" target="_blank">seasons</a> and <a href="https://twitter.com/anttilip/status/891730388497965056" target="_blank">regions</a>.
</p>
<p>
We have now achieved a temperature increase of 1°C since the end of the 70s. <b>A change of 1°C in 50 years is unprecedented</b>, as it can be seen from the following reconstruction of temperatures in the last 11 000 years:
</p>
<div class="graph">
<div class="title">Temperature anomalies in the last 11 000 years</div>
<div class="description">°C compared to 1951-1980 average</div>
<div class="chart" id="temperature_time_series_OLD"></div>
<div class="source">
Source: <a href="http://science.sciencemag.org/content/339/6124/1198" target="_blank">A Reconstruction of Regional and Global Temperature for the Past 11,300 Years</a> (<a href="http://science.sciencemag.org/content/suppl/2013/03/07/339.6124.1198.DC1" target="_blank">data</a>) before 1880, <a href="https://climate.nasa.gov/vital-signs/global-temperature/" target="_blank">NASA's Goddard Institute for Space Studies (GISS)</a> (<a href="http://climate.nasa.gov/system/internal_resources/details/original/647_Global_Temperature_Data_File.txt" target="_blank">data</a>) after 1880
</div>
</div>
<script>
(function() {
var marcott_url = 'data/marcott2013.csv';
var giss_url = 'data/647_Global_Temperature_Data_File.txt';
d3.queue()
.defer(d3.text, marcott_url)
.defer(d3.text, giss_url)
.await(function(err, marcott_obj, giss_obj) {
if (err) throw err;
var giss_data = parseGiss(giss_obj)
.map(function(d) {
return [+d[0], +d[1]]
});
var marcott_data = d3.dsvFormat(';').parse(marcott_obj)
.map(function(r) {
return [1950 - +r['Age (yrs BP)'], parseFloat(r['Global (°C)'].replace(',', '.'))]
}).filter(function(d) {
return isFinite(d[1]) && d[0] < giss_data[0][0];
}).reverse()
// Make sure to convert the baseline to the giss one
var marcott_baseline = [1961, 1990];
var delta = d3.mean(giss_data.filter(function(d) {
return d[0] >= marcott_baseline[0] &&
d[1] <= marcott_baseline[1];
}), function(d) {
return d[1];
})
data = marcott_data.map(function(d) {
return [d[0], d[1] - delta]
});
giss_data.forEach(function(d) {
data.push(d);
})
var option = initialOption();
option.xAxis.type = 'value';
option.xAxis.axisLabel = {
formatter: function(e) { return e.toString() }
}
option.xAxis.min = -9000;
option.xAxis.max = data[data.length - 1][0]
option.yAxis.min = -0.7;
option.yAxis.max = 1.2;
option.dataZoom = initialDataZoom();
option.dataZoom[0].startValue = -9000;
option.grid.bottom = 60;
option.tooltip.formatter = function(e) {
var yValue = Math.round(e[0].data[1] * 100) / 100;
var sign = yValue >= 0 ? '+' : '';
var xValue = e[0].data[0];
var year = xValue < 0 ? xValue + ' BC' : xValue + ' AD';
return e[0].marker + ' ' + sign + yValue + ' °C in ' + year;
}
option.series = [
{
name: 'marcott',
type: 'line',
showSymbol: false,
data: data,
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: -1 * option.yAxis.min / option.yAxis.max - 0.2,
color: 'rgb(255, 64, 30)'
}, {
offset: 1,
color: 'rgb(180, 200, 255)'
}])
}
},
markLine: {
data: [{ type: 'max', x: '70%' }],
label: {
normal: {
formatter: '2016',
position: 'start'
},
},
}
},
{
name: 'last',
type: 'effectScatter',
data: [data[data.length - 1]],
symbolSize: 10,
}
];
var chart = echarts.init(document.getElementById('temperature_time_series_OLD'))
chart.setOption(option);
window.addEventListener('resize', chart.resize);
});
})();
</script>
<p>
What is worrying is not so much the change itself, but rather <b>the speed at which this change is taking place</b>.
Historically, a change of 1°C seems to happen in thousands of years - not decades.
The Earth is a complex ecosystem, and disturbing it by as little as a couple of degrees in the blink of decades (or even centuries) is a heavy disturbance.
</p>
</div>
<h2>Consequences</h2>
<p>
A change of a couple of degrees of the average yearly temperature is far from a minor event. <a href="https://jancovici.com/en/climate-change/predicting-the-future/how-do-the-present-temperatures-compare-to-the-past-ones/" target="_blank">When Earth's temperature was 5°C lower</a>, the sea level was 120m lower and all of Northern Europe and Canada were covered by a gigantic ice cap (one could hike from Vermont to Greenland).
Furthermore, average temperatures do not tell the whole story.
As average temperatures increase, the likelihood of extreme temperature events <a href="https://www.nytimes.com/interactive/2017/07/28/climate/more-frequent-extreme-summer-heat.html">might increase as well</a>.
</p>
<p>
A change of a couple of degrees over the surface of the Earth first causes the oceans to absorb the extra heat.
In the process, they expand (raising the sea level) and cause increased evaporation, which leads to perturbed air and water currents.
This yields an increased likelihood of extreme weather events, such as drought, hurricanes or floods.
This is already observed as e.g. coral reefs are <a href="https://www.nytimes.com/2017/03/15/science/great-barrier-reef-coral-climate-change-dieoff.html" target="_blank">starting to die</a>.
</p>
<p>
Longer term effects are harder to quantify as a temperature change this sudden has never been witnessed in the past.
To get an rough idea, <a href="http://bigthink.com/strange-maps/what-the-world-will-look-like-4degc-warmer" target="_blank">this map</a> shows what the world will look like 4° warmer while <a href="http://www.bbc.com/future/story/20170808-climate-change-is-disrupting-the-birds-and-the-bees" target="_blank">this article</a> shows how sensitive birds and bees are to climate change.
Furthermore, higher temperatures and more extreme weather causes crops to fail which will force <a href="https://www.nytimes.com/2017/04/19/magazine/how-a-warming-planet-drives-human-migration.html" target="_blank">refugees to flee inhabitable regions</a>.
That's ultimately <a href="https://www.technologyreview.com/s/603158/hotter-days-will-drive-global-inequality/" target="_blank">bad for the economy</a>.
</p>
<p>Climate change is a serious issue.</p>
<h2>What causes it?</h2>
<p>
Some gases are transparent to the sun's <b>incoming rays</b> heating the Earth, but are opaque (acting as mirrors) with respect to <b>outgoing rays</b> emitted back from the Earth.
Those gases act as a blanket, trapping heat that is unable to escape.
They are called greenhouse gases due to their warming behaviour.
This <a href="https://en.wikipedia.org/wiki/Greenhouse_effect" target="_blank">greenhouse effect</a> stabilises our climate, keeping nights relatively warm despite behind deprived of sunlight.
</p>
<p>
One of those greenhouse gases is carbon dioxide (CO<sub>2</sub>).
By drilling <a href="https://earthobservatory.nasa.gov/Features/Paleoclimatology_IceCores/" target="_blank">ice cores</a> (columns of ice containing small bubbles of old trapped air), scientists have been able to infer historical CO<sub>2</sub> concentration up to 800 000 years BC.
This concentration has been relatively stable up to the industrial revolution, where it skyrocketed.
Again, what is worrying is the speed at which the change of concentration is happening. Both the concentration level and the speed of change are unprecedented in the history of measurements (use the handles at the bottom of the graph to zoom in and out):
</p>
<div class="graph">
<div class="title">Atmospheric CO2 concentration in the last 40 000 to 800 000 years</div>
<div class="description">in ppm (particles per million)</div>
<div class="chart" id="ghg_time_series"></div>
<div class="source">
Source: National Oceanic and Atmospheric Administration (NOAA) <a href="https://www.ncdc.noaa.gov/paleo-search/study/17975" target="_blank">Ice Core records</a> (<a href="https://www1.ncdc.noaa.gov/pub/data/paleo/icecore/antarctica/antarctica2015co2composite.txt" target="_blank">data</a>) before 1959 and <a href="https://www.esrl.noaa.gov/gmd/ccgg/trends/data.html" target="_blank">Mauna Loa records</a> (<a href="ftp://aftp.cmdl.noaa.gov/products/trends/co2/co2_annmean_mlo.txt" target="_blank">data</a>) after 1959.
</div>
</div>
<script>
(function() {
var icecore_url = 'data/antarctica2015co2composite.txt';
var mlo_url = 'data/co2_annmean_mlo.txt';
d3.queue()
.defer(d3.text, icecore_url)
.defer(d3.text, mlo_url)
.await(function(err, icecore_obj, mlo_obj) {
if (err) throw err;
var data = [];
var split_date = 1959;
icecore_obj.split('\n')
.filter(function(d, i) { return i >= 138; })
.map(function(d) {
var r = d.split('\t')
return [1950 - +r[0], +r[1]];
})
.filter(function(d) { return d[0] < split_date && isFinite(d[1]); })
.reverse()
.forEach(function(d) { data.push(d) })
mlo_obj.split('\n')
.filter(function(d) { return d[0] != '#'; })
.map(function(d) {
var r = d.split(' ')
return [+r[0], +r[1]];
})
.filter(function(d) { return d[0] >= split_date; })
.forEach(function(d) { data.push(d) })
var option = initialOption();
option.xAxis.type = 'value';
option.xAxis.axisLabel = {
formatter: function(e) { return e.toString() }
}
option.xAxis.min = -900000;
option.yAxis.min = 150;
option.yAxis.max = 420;
option.dataZoom = initialDataZoom();
option.dataZoom[0].startValue = -40000;
option.grid.bottom = 60;
option.tooltip.formatter = function(e) {
var yValue = e[0].data[1];
var xValue = e[0].data[0];
var year = xValue < 0 ?
Math.round(xValue) + ' BC' :
Math.round(xValue) + ' AD';
return e[0].marker + ' ' + yValue + ' ppm in ' + year;
}
option.series = [
{
name: '',
type: 'line',
showSymbol: false,
data: data,
areaStyle: {
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0.5,
color: 'rgb(255, 64, 30)'
}, {
offset: 1,
color: 'orange'
}])
}
},
markLine: {
data: [{ x: '70%', yAxis: data[data.length-1][1] }],
label: {
normal: {
formatter: '2016',
position: 'start'
},
},
}
},
{
name: 'last',
type: 'effectScatter',
data: [data[data.length - 1]],
symbolSize: 10,
}
];
var chart = echarts.init(document.getElementById('ghg_time_series'))
chart.setOption(option);
window.addEventListener('resize', chart.resize);
});
})();
</script>
<p>
The <a href="https://www.epa.gov/climate-indicators/climate-change-indicators-atmospheric-concentrations-greenhouse-gases" target="_blank">same trend is visible</a> with other greenhouse gases such as methane (CH<sub>4</sub>) and nitrous oxyde (N<sub>2</sub>O).
</p>
<p>
By comparing the factors causing heating and cooling of the atmosphere between the pre-industrial period (where the greenhouse gas atmospheric levels had not yet increased) and now, we observe that the drastic increase in greenhouse gases <a href="https://www.bloomberg.com/graphics/2015-whats-warming-the-world/" target="_blank">is the main driver behind the observed warming</a> (although some other effects do cause a certain amount of cooling):
</p>
<div class="graph">
<div class="title">Relative changes in <a href="https://en.wikipedia.org/wiki/Radiative_forcing" target="_blank">radiative forcing</a> in 2011 compared to 1750</div>
<div class="description">in W/m<sup>2</sup></div>
<div class="chart" id="global_warming_components"></div>
<div class="source">
Source: Intergovernmental Panel on Climate Change (IPCC) <a href="http://www.ipcc.ch/pdf/assessment-report/ar5/wg1/WG1AR5_Chapter08_FINAL.pdf" target="_blank">WG1 AR5, Fig. 8.15 p697</a> (<a href="http://www.ipcc.ch/report/ar5/wg1/docs/WG1AR5_AIISM_Datafiles.xlsx" target="_blank">data</a>)
</div>
</div>
<script>
(function() {
d3.text('data/IPCC_WG1AR5_All_1_2.csv', function(err, obj) {
if (err) throw err;
var raw_data = obj.split('\n')
.filter(function(_, i) { return i >= 7 && i < 270 })
//.filter(function(_, i) { return i == 0 || i >= 100 + 1 }) // start 100y after
.filter(function(d, i) { return i == 0 || d.split(';')[0] == '2011'; })
var header = raw_data[0].split(';')
.filter(function(_, j) { return j <= 11 })
// Sum by column
var sums = {};
raw_data.forEach(function(d, i) {
if (i == 0) { return; } // skip header
var row = d.split(';')
header.forEach(function(h, j) {
if (j == 0) { return; } // skip year
if (sums[h] == undefined) { sums[h] = 0 }
sums[h] += +(row[j].replace(',', '.'));
})
})
var data = [
{ name: 'Other man-made changes', value:
sums['BC Snow'] +
sums['Contrails'] +
sums['LUC'] },
{ name: 'Aerosols', value: sums['Aerosol (Total)'] },
{ name: 'Volcano erruptions', value: sums['Volcano'] },
{ name: 'Solar changes', value: sums['Solar'] },
{ name: 'Greenhouse gases', value:
sums['CO2'] +
sums['GHG OTher*'] +
sums['H2O (Strat)'] +
sums['O3 (Strat)'] +
sums['O3 (Trop)'] },
];
var cumSum = [0];
data.forEach(function(_, i) {
if (i == 0) { return; }
i = data.length - i - 1; // reverse
cumSum.push(
cumSum[cumSum.length - 1]
+ (data[i + 1].value > 0 ? data[i + 1].value : 0)
- (data[i].value < 0 ? -data[i].value : 0));
})
cumSum.push(0); data.unshift({name: 'Net observed warming', value: '-'})
cumSum = cumSum.reverse();
var option = initialOption();
option.grid.left = 150;
option.xAxis.name = 'Warming increase (W/m²)'
option.xAxis.nameLocation = 'middle'
option.xAxis.nameGap = 30
option.grid.bottom += 30
option.xAxis.type = 'value'
option.yAxis.data = data.map(function(d) { return d.name })
option.tooltip.formatter = function(e) {
var e0 = e
.filter(function(d) { return d.seriesName != 'offset' })
.filter(function(d) { return d.data != '-'; })[0];
if (!e0.data) { return; }
var value = e0.data;
var name = e0.name;
var isWarming = e0.seriesName == 'pos';
return (isWarming ? 'Heating' : 'Cooling') +
' with ' + (isWarming ? '' : '-') + value + ' W/m<sup>2</sup>';
}
option.series = [
// transparent bars the add the offsets
{
name: 'offset',
type: 'bar',
stack: 'common',
data: cumSum,
itemStyle: {
normal: {
barBorderColor: 'rgba(0,0,0,0)',
color: 'rgba(0,0,0,0)'
},
emphasis: {
barBorderColor: 'rgba(0,0,0,0)',
color: 'rgba(0,0,0,0)'
}
},
},
{
name: 'pos',
type: 'bar',
stack: 'common',
data: data
.map(function(d) { return d.value < 0 ? '-' : d.value }),
label: {
normal: {
show: true,
position: 'right'
}
}
},
{
name: 'neg',
type: 'bar',
stack: 'common',
barGap: 0,
data: data
.map(function(d) { return d.value >= 0 ? '-' : -d.value }),
label: {
normal: {
show: true,
position: 'left',
formatter: '-{c}'
}
}
},
{
name: 'net',
type: 'bar',
stack: 'common',
barGap: 0,
data: data.map(function(_, i) {
return i == 0 ? cumSum[1] : '-'
}),
label: {
normal: {
show: true,
position: 'right'
}
}
},
];
var chart = echarts.init(document.getElementById('global_warming_components'))
chart.setOption(option);
window.addEventListener('resize', chart.resize);
});
})()
</script>
<p>
It is important to state that <b>some greenhouse gases will keep warming the Earth many years after they have been emitted</b>, because they do not disappear instantaneously.
Up to 40% of the CO<sub>2</sub> emitted today <b>will still be present 1 000 years from now</b>, thus still causing warming (see FAQ 12.3 <a href="http://www.ipcc.ch/pdf/assessment-report/ar5/wg1/WG1AR5_Chapter12_FINAL.pdf" target="_blank">here</a>). <a href="http://jancovici.com/en/climate-change/predicting-the-future/will-climate-change-get-rapidely-to-a-halt-if-we-quickly-decrease-the-emissions/" target="_blank">If we were to stop emissions today</a>, CO<sub>2</sub> levels would essentially never come back to its pre-industrial level on time scales relevant for our society.
</p>
<p>
This is in stark contrast with the immediate and ephemeral cooling effect of volcanoes eruptions or <a href="https://earthobservatory.nasa.gov/Features/Aerosols/page3.php" target="_blank">man-made aerosols</a> such as sulphates, nitrate or soot that stay in the atmosphere for a very short time.
It is therefore very important to reduce greenhouse gas emissions very quickly, as <b>they will affect the climate in the centuries (even millenniums) to come</b>. So how do we do it?
</p>
<h1>2. Humans</h1>
<h2>Where do greenhouse gases come from?</h2>
Most greenhouse gases come from burning <a href="https://en.wikipedia.org/wiki/Fossil_fuel" target="_blank">fossil fuels</a> (oil, gas or coal). That happens as soon as we drive a car, take a plane or use electricity.
It also indirectly happens when we consume objects or food, that required a lot of energy to be produced, or assembled from parts transported from afar.
<div class="graph">
<div class="title">Man-made greenhouse gas emissions in 2010</div>
<div class="description">% of total</div>
<div class="chart" id="ghg_origin"></div>
<div class="source">
Source: <a href="https://www.accenture.com/t00010101T000000__w__/br-pt/_acnmedia/PDF-11/Accenture-Strategy-Energy-Perspectives-Consequences-COP21.pdf" target="_blank">Accenture Energy Perspectives - Consequences of COP21 for the Oil and Gas Industry</a>, Fig. 12 p14.<br />
A fascinating Sankey diagram shows this in much more details <a href="https://www.ecofys.com/files/files/world-ghg-emission-flow-chart-2012_v9-c-asn-ecofys-2016_02.pdf" target="_blank">here</a>.
</div>
</div>
<script>
(function() {
var data = [
{ name: 'Fossil fuels consumption', value: 48.9 - 12.2 - 4.4 , color: '#c23531'},
{ name: 'Agriculture and\ndeforestation', value: 12.2, color: '#749f83' },
{ name: 'Non-energy related industrial processes', value: 4.4, color: '#546570' },
].reverse();
// Percentage
var total = d3.sum(data, function(d) { return d.value; })
data.forEach(function(d) {
d.value /= total / 100;
})
var option = initialOption();
option.grid.left = 130;
option.xAxis.type = 'value'
option.xAxis.axisLabel = {formatter: '{value}%'};
option.grid.bottom = 50;
option.yAxis.data = data.map(function(d) { return d.name })
option.tooltip.trigger = 'none';
option.series = [
{
type: 'bar',
data: echarts.util.map(data, function (d) {
return {
value: d.value,
itemStyle: {
normal: {
color: d.color
}
}
}
}),
label: {
normal: {
show: true,
position: 'right',
formatter: function(e) {
return Math.round(e.data.value) + '%';
}
}
}
},
];
var chart = echarts.init(
document.getElementById('ghg_origin'));
chart.setOption(option);
window.addEventListener('resize', chart.resize);
})();
</script>
<p>
A substantial amount of agricultural emissions comes from <b>cows and other livestock emitting methane</b> (CH<sub>4</sub>) as part of their <a href="https://en.wikipedia.org/wiki/Enteric_fermentation" target="_blank">digestive process</a>.
Furthermore, <b>deforestation leads to less trees absorbing CO<sub>2</sub></b> through <a href="https://en.wikipedia.org/wiki/Photosynthesis" target="_blank">photosynthesis</a>, and the use of <b>nitrogen-based fertilizers</b> in agriculture emits Nitrous Oxide (N<sub>2</sub>O), which is a greenhouse gas.
Note that the use of fossil fuels (or electricity) for operating agricultural machines is not even included in these 25%. By comparison, all road-travel globally only accounts for 11%.
</p>
<p>
Finally, some 9 % of global emissions relates to certain types of heavy industrial processes, such as kiln production for cemeteries, whose emissions are not related to the burning of fossil-fuels, and which must be accounted for separately.
</p>
<h2>Fossil fuels are used everywhere, and for good reasons</h2>
<p>
Historically, the world's energy has come from burning trees (biomass) for heat and tool manufacturing.
However, the invention of an efficient steam engine by James Watt in 1784 meant humans were now able to convert existing <a href="https://en.wikipedia.org/wiki/Fossil_fuel" target="_blank">fossil fuels</a> (coal, and later oil and gas) into intensive mechanical work (lifting heavy objects or turning the wheels of a very heavy train for example).
Furthermore, it enabled humans to build machines to dig up even more fossil fuels, enabling an exponential growth of our energy usage.
</p>
<p>
The discovery of new types of fuels such as oil and gas did not replace the usage of existing fuels: it fuelled additional growth instead.
</p>
<div class="graph">
<div class="title">World primary energy consumption since 1800</div>
<div class="description">in EJ (exajoules)</div>
<div class="chart" id="tpes_historical"></div>
<div class="source">
Source: <a href="https://ourworldindata.org/energy-production-and-changing-energy-sources/#global-total-energy-production-long-run-view-by-source">Our World In Data</a> (<a href="https://ourworldindata.org/grapher/global-primary-energy-consumption-1800-2015.csv">data</a>)
</div>
</div>
<script>
(function() {
var url = 'data/global-primary-energy-consumption-1800-2015.csv';
d3.csv(url, function(err, obj) {
if (err) throw err;
// Add an aggreate field that sums biofuels
obj.forEach(function(d) {
d['Biofuels'] =
+d['Modern biofuels'] + +d['Traditional biofuels']
})
var mapping = {
'Coal': 'coal',
'Crude oil': 'oil',
'Natural gas': 'gas',
'Hydroelectricity': 'hydro',
'Nuclear electricity': 'nuclear',
'Wind and solar': 'wind & solar',
// 'Modern biofuels': 'biomass',
// 'Traditional biofuels': 'biomass'
'Biofuels': 'biomass'
}
var colors = {
'wind & solar': '#74cdb9',
// 'solar': '#f27406',
'hydro': '#2772b2',
'biomass': '#166a57',
'nuclear': '#AEB800',
'gas': '#bb2f51',
'coal': '#ac8c35',
'oil': '#867d66',
};
var byFuel = {};
var xData = [];
obj.forEach(function(d) {
xData.push(d.Year)
Object.keys(d).forEach(function(k) {
if (!mapping[k]) { return; }
var kk = mapping[k];
if (!byFuel[kk]) { byFuel[kk] = []; }
byFuel[kk].push(+d[k])
})
})
data = [
{name: 'biomass', values: byFuel['biomass']},
{name: 'coal', values: byFuel['coal']},
{name: 'oil', values: byFuel['oil']},
{name: 'gas', values: byFuel['gas']},
{name: 'hydro', values: byFuel['hydro']},
{name: 'nuclear', values: byFuel['nuclear']},
{name: 'wind & solar', values: byFuel['wind & solar']},
]
var option = initialOption();
option.xAxis.data = xData;
option.tooltip.formatter = function(e) {
e.reverse();
var year = e[0].axisValueLabel;
var sum = d3.sum(e, function(d) { return d.data; })
var html = year + ':<br />' +
e.map(function(d) {
return d.marker + ' ' + d.seriesName + ': ' + d.data + ' (' + Math.round(d.data * 100 / sum) + ' %)';
}).join('<br />')
html += '<br />--<br />'
var ff = d3.sum(e.filter(function(d) {
return ['gas', 'oil', 'coal'].indexOf(d.seriesName) != -1
}), function(d) { return d.data });
html += 'Fossil fuels: ' + (Math.round(ff * 100) / 100) + ' (' + Math.round(ff * 100 / sum) + ' %)';
return html;
}
option.legend = {
data: data.map(function(d) { return d.name; }).reverse(),
orient: 'vertical',
x: 'right',
y: 'center'
}
option.legend.selected = {};
data.forEach(function(d) {
option.legend.selected[d.name] = false;
})
option.grid.right = 120;
option.yAxis.max = 550;
option.color = data.map(function(d) { return colors[d.name] })
option.series = data.map(function(d) {
return {
name: d.name,
type: 'line',
symbol: 'none',
stack: 'common',
data: d.values,
areaStyle: { normal: { } },
lineStyle: { normal: { } }
}
})
var chart = echarts.init(document.getElementById('tpes_historical'))
chart.setOption(option);
window.addEventListener('resize', chart.resize);
var i = 0;
function scheduleNext() {
option.legend.selected[data[i].name] = true;
chart.setOption(option);
if (i < data.length - 1) {
i++;
setTimeout(scheduleNext, 1000);
}
}
window.tpesHistoricalPlay = scheduleNext;
});
})();
</script>
<p>
Although wind and solar power are a decent part of newly installed energy production facilities nowadays (we hear about it very often in the news), it is still only 1% percent of global primary energy supply.
In fact, we see that we currently still get <b>83% of our energy from fossil fuels</b>, which surprisingly is <b>exactly the same as in 1980</b>: the growth of renewables has been matched by (or even <a href="http://www.nationalobserver.com/2017/07/13/analysis/these-missing-charts-may-change-way-you-think-about-fossil-fuel-addiction" target="_blank">outpaced by</a>) a similar growth of fossil fuels. How come?
</p>
<p>
The answer is that fossil fuels pack an intense amount of energy in a small volume and small weight.
Oil in particular, being light and dense, enabled the invention of modern transportation.
<b>The energy released when burning 1 litre of oil is equivalent to 25 professional athletes cycling for one hour.
That single litre of oil weighs under 1 kg and costs 100 to 1000 times less than the equivalent human labour.</b>
Thus it is no mystery that intensive human labour got replaced by machines, propelling humanity into an industrialised age where the use of fossil fuels <a href="https://ourworldindata.org/employment-in-agriculture" target="_blank">displaced jobs from agriculture to the service sector</a>.
</p>
<p>
Every day, an average person on Earth uses roughly <a href="http://data.worldbank.org/indicator/EG.USE.PCAP.KG.OE" target="_blank">60 kWh</a> of energy per day.
That means that <b>every day, we each have an equivalent of 15 professional cyclists dedicated to us to support our living standards</b>.
The current quality of life that we are enjoying has been enabled by the efficient use of fossil fuels freeing us from intensive human labour.
</p>
<p>
To get an even more concrete idea, take a look at this video to see <a href="https://en.wikipedia.org/wiki/Robert_F%C3%B6rstemann">Robert Förstemann</a>, professional track cyclist and sprint specialist, struggle to power his toaster: