this post was submitted on 09 May 2024
755 points (97.1% liked)

World News

39184 readers
2466 users here now

A community for discussing events around the World

Rules:

Similarly, if you see posts along these lines, do not engage. Report them, block them, and live a happier life than they do. We see too many slapfights that boil down to "Mom! He's bugging me!" and "I'm not touching you!" Going forward, slapfights will result in removed comments and temp bans to cool off.

We ask that the users report any comment or post that violate the rules, to use critical thinking when reading, posting or commenting. Users that post off-topic spam, advocate violence, have multiple comments or posts removed, weaponize reports or violate the code of conduct will be banned.

All posts and comments will be reviewed on a case-by-case basis. This means that some content that violates the rules may be allowed, while other content that does not violate the rules may be removed. The moderators retain the right to remove any content and ban users.


Lemmy World Partners

News !news@lemmy.world

Politics !politics@lemmy.world

World Politics !globalpolitics@lemmy.world


Recommendations

For Firefox users, there is media bias / propaganda / fact check plugin.

https://addons.mozilla.org/en-US/firefox/addon/media-bias-fact-check/

founded 2 years ago
MODERATORS
 

"I expect a semi-dystopian future with substantial pain and suffering for the people of the Global South," one expert said.

you are viewing a single comment's thread
view the rest of the comments
[–] ammonium@lemmy.world 2 points 6 months ago (1 children)

Here you go, you'll need numpy, scipy and matplotlib:

from scipy.optimize import curve_fit
from matplotlib import pyplot as plt

# 2010-2013 data from https://ourworldindata.org/renewable-energy [TWh]
y = np.array([32, 63, 97, 132, 198, 256, 328, 445, 575, 659, 853, 1055, 1323, 1629])
x = np.arange(0, len(y))

# function we expect the data to fit
fit_func = lambda x, a, b, c: a * np.exp2(b * x ) + c
popt, _ = curve_fit(fit_func, x, y, maxfev=5000)

fig, ax = plt.subplots()
ax.scatter(x + 2010, y, label="Data", color="b", linestyle=":")
ax.plot(x + 2010, fit_func(x, *popt), color="r", linewidth=3.0, linestyle="-", label='best fit curve: $y={0:.3f} * 2^{{{1:.3f}x}} + {2:.3f}$'.format(*popt))
plt.legend()
plt.show()

Here's what I get, global solar energy generated doubles every ~3.5 (1/0.284) years.

[–] CanadaPlus@lemmy.sdf.org 1 points 6 months ago (1 children)

Thank you! That does look like a great fit.

So that's just solar, then? Long term, it does seem like the one that's the biggest deal, but right now there's also a lot of wind and hydro in the mix, so that's another point in favour of the assumptions here being conservative.

[–] ammonium@lemmy.world 2 points 6 months ago

Yes, just solar. Hydro is bigger now, but it doesn't have the growing potential. Wind is currently also growing exponential, but I don't see it doing that for 20 more years. And even if it does, it doesn't really make a big difference since exponential + exponential is still exponential. If it grows as fast as solar that would mean we're just a few years ahead of the curve.