It was also shown in the previous article that a low EROI imposes a delay for civilization when accelerating exponential growth of energy obtained. For example, it was shown (using a simulation) that a low EROI of 10 imposed a delay of 6 years before a hypothetical civilization could accelerate growth from 0%/year to 4%/year.
However, some modern industrialized countries do not accelerate growth at all. In fact, they do not even grow their energy supply. Those countries are already fully industrialized. Once a country reaches a first-world standard of living, it voluntarily stops growing its energy supply. Citizens decide to spend any increase in their income on things like elaborate medical care, and not on setting their thermostats higher every year. This situation has already been reached in Japan and many places in Europe. It would have been reached in the USA, except the USA still has significant immigration.
What would happen to such a static country (in terms of energy supply) if it underwent a decline in EROI? Presumably, such a country wouldn't care about how fast it could grow its energy supply. It would care only about keeping the amount of net energy constant.
In such a country, any decline in EROI could be handled by initiating growth again, at a rate which is sufficient to compensate for the decline in EROI. Doing so would keep net energy constant.
As a result, we must ask how much net energy must be sacrificed by an industrialized country in the short term, in order to initiate growth and offset declines in EROI. Any acceleration of exponential growth requires a temporary sacrifice of net energy, in order to initiate the growth. How much net energy must an industralized country sacrifice to initiate growth again, sufficient to compensate for a decline in EROI?
This phenomenon can be modelled using a simple python computer program--even simpler than the last one, because this program has only 24 lines of code, excluding comments. (This phenomenon cannot be modelled using a simple mathematical formula, because generations of solar panels overlap, which resists a simple mathematical description).
In this paper, a simple python program will be proposed which simulates energy re-investment for an industrialized country over time. The program will execute in a single loop and will simulate energy re-investment, over and over again, each year. As before, we will assume a country which obtains all its energy from solar panels.
The program will simulate a decline in EROI. We can assume that the decline in EROI is caused by mineral exhaustion over time. The country used to build fancy Gallium-Arsenide solar cells with 40% efficiency and very high EROI, but the Gallium is running out. As a result, the civilization must start building silicon solar cells instead, which use far more abundant materials but have much lower EROI. Furthermore, the country has already filled its only tiny desert region with solar cells, and must now use worse locations, implying lower EROI for solar cells. As a result, the country undergoes a constant decline in EROI over years. This decline in EROI will be modelled in our program by increasing the energy investment required by some constant factor each year.
At the same time, the program will model the modest exponential growth which must be re-started in order to compensate for the decline. These two factors will operate simultaneously. Declining EROI will decrease net energy obtained, but exponential growth will increase it.
As pointed out in the previous article, any acceleration of exponential growth requires a temporary sacrifice of net energy for other purposes. How much of its net energy must an industrailzed country sacrifice, and for how long, in order to initiate exponential growth and compensate for declines in EROI?
When I implemented and ran the program, I obtained the following results. I tinkered with the input parameters, and I found that growing the total amount of energy obtained by 0.7%/year for a country is sufficient to compensate for a decline in EROI from 50 down to 6, over 37 years. In turn, the country had to sacrifice a small fraction of 1% of its net energy for 2 years in order to initiate that growth. The output of the program was as follows:
Original net: 0.98
As is shown above, the country needed to sacrifice a small fraction of 1% of its net energy for two years in order to initiate the growth necessary to outrun declines in EROI. After which, a decline in EROI from 50 down to 6, over 37 years, imposed no decline in net energy for our modelled industralized country.
(After the 5th year in the table above, I decided to print only every other year, in order to keep the table smaller. Not much changes from one year to the next at that point.)
(The label "epbt" refers to Energy Payback Time; net refers to net energy obtained; and"FracOrigNet" refers to the amount of net energy obtained relative to the original, for example, 1.0 implies no loss or gain of net energy compared to originally).
Of course, you can tinker with the input parameters and reduce the final EROI to below 6, or decrease the number of years the simulation runs, or increase the growth rate (and also the temporary sacrifice). I picked these particular parameters because they were the most pessimistic parameters I could imagine which were not just ludicrous. It is extremely unlikely that EROI will decline from 50 to 6 over 36 years. The EROI of 6 is far lower than almost any published EROI figures of any common sources of generating electricity. Furthermore, actual declines in EROI for our global industrial civilization have been FAR more gradual than simulated here. As a result, the parameters I picked were a kind of "drastic worst-case scenario" and should be interpreted as such.
Still, such a rapid decline in EROI imposed only negligible consequences for an industrialized country. The effect upon net energy obtained was to reduce it by a small fraction of 1% for two years.
Of course, this does not mean that consumers must actually reduce their energy consumption by a fraction of 1% for those two years. All industrialized countries in the world already have overbuilt their electricity grids. Industrialized countries have enough electricity generation to provide for the highest anticipated electricity demand in an entire year. Most of the time, they have excess generation capacity which is shut down or curtailed. As a result, the sub-1% sacrifice would only be imposed during the few hours per year when demand is highest and the electricity grid is fully committed. The actual sacrifice would probably mean shutting down some aluminum smelter plants for a few additional hours per year, for two years, and running a few gas turbines for longer the rest of the time for those two years.
From the above, we can conclude that it's easily within the capability of any industrialized country to compensate for any plausible decline in EROI, with no significant loss of net energy.
The source code for the python program is as follows:
# This is free and unencumbered software released into the public domain. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. # IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR # OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. lifetime = 25 total = 1.0 initialEpbt = 0.5 epbtIncreaseFactor = 0.20 growthFactor = 0.007 yearsRun = 40 panelsYearly =  initialNet = 1.0 - (initialEpbt / lifetime) # Populate pre-existing panels for year in range( 0, lifetime ): panelsYearly.append( total/lifetime ) # Run simulation print ("Original net:", initialNet) for year in range(0, yearsRun): epbt = initialEpbt * (1 + year * epbtIncreaseFactor) sumPanels = sum(panelsYearly) retiredYearly = panelsYearly.pop(0) yearlyToBeAdded = (sumPanels * growthFactor + retiredYearly) investment = (retiredYearly * epbt) + (sumPanels * growthFactor * epbt) net = sumPanels - investment panelsYearly.append(yearlyToBeAdded) print ("year:%i total:%f retired:%f epbt:%f net:%f frac_orig_net:%f eroi:%f" % (year, sumPanels, retiredYearly, epbt, net, net/initialNet, lifetime/epbt) )