Here's a variant of the same little Perl program, but using Roy's simple model to estimate the CO2 removal rates.
The results are similar to the first version: Counting 280
ppmv as "pre-industrial," 2/3 of the
anthropogenic CO2 is gone from the atmosphere in 60 years (exactly halfway
between Dick Lindzen's "50 years" and Roy Spencer's "70
years").
Using Roy's simple model makes the tiny program even tinier:
Here's the result of a simulation run, with CO2 starting at 410 ppmv in 2019,
and zero emissions:
2019 410.02020 407.32021 404.72022 402.22023 399.72024 397.22025 394.82026 392.52027 390.32028 388.02029 385.92030 383.82031 381.72032 379.72033 377.72034 375.82035 373.92036 372.12037 370.32038 368.52039 366.82040 365.12041 363.52042 361.92043 360.42044 358.82045 357.32046 355.92047 354.52048 353.12049 351.72050 350.42051 349.12052 347.92053 346.62054 345.42055 344.32056 343.12057 342.02058 340.92059 339.82060 338.82061 337.82062 336.82063 335.82064 334.92065 333.92066 333.02067 332.22068 331.32069 330.42070 329.62071 328.82072 328.02073 327.3 <== residence time (Te) = 54 years (using 280 ppmv as base)
2074 326.52075 325.82076 325.12077 324.42078 323.72079 323.0 <== two-thirds of the anthropogenic CO2 is gone in 60 years (using 280 ppmv as base)
2080 322.42081 321.72082 321.12083 320.52084 319.92085 319.32086 318.82087 318.22088 317.72089 317.22090 316.62091 316.12092 315.72093 315.22094 314.72095 314.32096 313.82097 313.42098 312.92099 312.52100 312.12101 311.72102 311.32103 311.02104 310.62105 310.22106 309.92107 309.52108 309.22109 308.92110 308.52111 308.22112 307.92113 307.62114 307.32115 307.12116 306.82117 306.52118 306.22119 306.02120 305.72121 305.52122 305.22123 305.02124 304.82125 304.52126 304.32127 304.12128 303.92129 303.72130 303.52131 303.32132 303.12133 302.92134 302.72135 302.62136 302.42137 302.22138 302.02139 301.92140 301.72141 301.62142 301.42143 301.32144 301.12145 301.02146 300.92147 300.72148 300.62149 300.52150 300.32151 300.22152 300.1
The files (including a Windows
command-line Perl executable, and a "run_simulation.bat" file to run
the simulation at a Windows command prompt), are here:
https://sealevel.info/CO2_Residence_Times/allfiles2.zip
Warmest regards,
Dave
On Thu, Apr 11, 2019 at 1:48 AM David Burton <ncdave4life@gmail.com> wrote:
Dear Ed,
It is trivially true that
changes to the average atmospheric CO2 level must be equal to the difference
between the processes which add to that level and the processes which subtract
from it.
1 ppmv CO2 (molecular wt 44.01) has mass 8.053 Gt, of which 12/44-ths or 2.196
Gt is carbon. (Note: I have a hard time remembering such numbers, so I have
a crib
sheet of conversion factors on my web site.)
We have good economic
data for the global production & use of fossil fuels, so we can trivially
calculate anthropogenic emissions from those sources. But everything else is
harder.
It's not too bad on the emissions side, because it is generally acknowledged
that fossil fuels are the main source of anthropogenic CO2 emissions. So even
if estimates of the other sources (concrete, land use changes, etc.) are badly
botched, we still will be "in the ballpark" for our anthropogenic
emissions estimates. Those emissions are currently estimated to be a little
over 10 Gt carbon per year, equivalent to almost 5 ppmv CO2 per year.
The various processes which remove CO2 from the air (mainly terrestrial
greening, and dissolution in seawater) have rates which are governed by many
factors, but those factors are surely dominated by just one: the average
atmospheric CO2 level.
Note that simple physics & chemistry cannot possibly govern the removal
rate, because the most important factors are probably biological.
Note also that those processes cannot be significantly affected by the emission rate of "fossil" (anthropogenic) CO2. There simply is no plausible physical mechanism for such a coupling. It is the CO2 level, not the CO2 emission rate, which primary governs the CO2 removal rate.
Now, as it happens, the CO2 removal rate has generally been very close to half the anthropogenic CO2 emission rate, for many years, with the result that CO2 levels have increased only about half as fast as would have happened w/o the negative feedbacks that remove CO2 at an accelerating rate (which apparently came as a big surprise for Hansen et al (1988), and is one of the main reasons their predictions 30 years ago were so far off). As CO2 emission rates have increased, CO2 levels have also unsurprisingly increased, and as CO2 levels have risen, CO2 removal rates have also unsurprisingly risen. The one really surprising thing about it is the certainly coincidental fact that CO2 removal rates have been consistently near half the anthropogenic CO2 emission rates.
Back in 1988, Hansen & his seven illustrious co-authors equated emissions with level increases, which means they assumed that rising CO2 levels would not cause an acceleration in the processes that remove CO2. But now a remarkable number of supposed authorities on climate change make the opposite mistake: they suffer from the delusion that CO2 removal rates are governed by the emission rates, and that it is some sort of law that "half of the CO2 we emit stays in the atmosphere." That leads to imbecilic claims that anthropogenic CO2 emissions must be lowered to zero to stop the rise in CO2 levels, and to the idiotic notion of a "carbon budget." (Actually, if anthropogenic CO2 emission rates were merely halved, CO2 levels would completely cease rising, at least for quite a while.)
Okay, enough of that rant. Back to the subject at
hand...
We can quite easily
tabulate the CO2 removal rate as a function of atmospheric CO2 level. I didn't
bother to do it exactly, because for back-of-envelope purposes there's no need
for extreme precision.
We just need a few data points, and we can interpolate between them. Since we
have six decades of Mauna
Loa CO2 measurement data, let's use six decadal averages: 1958-1968, 1968-1978,
1978-1988, 1988-1998, 1998-2008, 2008-2018.
I try very hard to
avoid biasing my results according to my expectations, but it's just about
humanly impossible. The only way to avoid it is to not have any
expectations! So, I purposefully did not examine Roy's spreadsheet, before doing my similar (but cruder!) exercise. So I did not (yet) make
use of his nice table of carbon emission levels. What I did was a lot rougher.
Here's what I did.
I started with the assumption that we can approximate the historic CO2 emission
rates as twice the rate of CO2 level increase, and thus that we can approximate
the CO2 removal rate as equal to the rate of CO2 level increase. ("Version
2" will refine this by incorporating the actual emission data, copied from
Roy's spreadsheet.)
So I made a little spreadsheet, with six rows for the six decades:
http://sealevel.info/CO2_Residence_Times/simple_spreadsheet_relating_CO2_removal_rates_to_CO2_levels_v1.xlsx
http://sealevel.info/CO2_Residence_Times/simple_spreadsheet_relating_CO2_removal_rates_to_CO2_levels_v1.html <== exported
as a web page
|
Decade |
Start level |
End level |
Avg level |
E: increase/yr |
F: Avg level-280 |
Ratio F/E |
|
1958-1968 |
315.34 |
323.04 |
319.190 |
0.770 |
39.190 |
50.90 |
|
1968-1978 |
323.04 |
335.40 |
329.220 |
1.236 |
49.220 |
39.82 |
|
1978-1988 |
335.40 |
351.57 |
343.485 |
1.617 |
63.485 |
39.26 |
|
1988-1998 |
351.57 |
366.70 |
359.135 |
1.513 |
79.135 |
52.30 |
|
1998-2008 |
366.70 |
385.60 |
376.150 |
1.890 |
96.150 |
50.87 |
|
2008-2018 |
385.60 |
408.40 |
397.000 |
2.280 |
117.000 |
51.32 |
|
|
Averages: |
1.551 |
74.030 |
47.73 |
||
For each decade:
column D has the average CO2 level over the decade,
column E has the average annual CO2 level increase during that decade,
column F has the average CO2 level minus 280 ppmv (i.e., the "CO2
elevation" above preindustrial).
The last column is the ratio of the "CO2 elevation" (column F) to the rate of increase (column E).
Note that the last column doesn't vary much.
Using the crude approximation that the rate of increase has, historically, been very roughly equal to the removal rate, I wrote a little Perl program, which estimates the removal rate as a function of the CO2 level, by interpolating between those six data points:
http://sealevel.info/CO2_Residence_Times/calc_est_co2_removal_rates.pl.txt
#!/usr/bin/perl # linear interpolation:# takes five inputs, and produces one output. The five inputs are:# $x is the main input, which is expected to be between $x1 and $x2# $x1 is the lower bound of the input range# $y1 is the return value if $x = $x1# $x2 is the upper bound of the input range# $y2 is the return value if $x = $x2sub interpolate { local($x,$x1,$y1,$x2,$y2) = @_; local($xrange) = $x2 - $x1; local($yrange) = $y2 - $y1; local($result) = (($x - $x1) / $xrange) * $yrange + $y1; return $result;} # estimate CO2 removal rate in ppmv/yr as a function of CO2 level in ppmvsub removal_rate { local($co2level) = shift; local($removalrate) = 0; local($co2elevation) = $co2level - 280; local($ratio) = 47.73; if ($co2level <= 280) { $removalrate = 0; } elsif ($co2level < 319.19) { $removalrate = $co2elevation / 50.90; } elsif ($co2level <= 329.220) { $removalrate = &interpolate( $co2level, 319.19, 0.770, 329.20, 1.236 ); } elsif ($co2level <= 343.485) { $removalrate = &interpolate( $co2level, 329.20, 1.236, 343.485, 1.617 ); } elsif ($co2level <= 359.135) { $removalrate = &interpolate( $co2level, 343.485, 1.617, 359.135, 1.513 ); } elsif ($co2level <= 376.150) { $removalrate = &interpolate( $co2level, 359.135, 1.513, 376.150, 1.890 ); } elsif ($co2level <= 397.000) { $removalrate = &interpolate( $co2level, 376.150, 1.890, 397.000, 2.280 ); } else { # > 398 $removalrate = $co2elevation / 51.32; } return $removalrate;} # SIMULATE DECLINE IN CO2 LEVEL IF EMISSIONS SUDDENLY WENT TO ZERO$co2level = 410;$year = 2019;while ($co2level > 300) { printf("$year %5.1f\n", $co2level); $year += 1; $removalrate = &removal_rate( $co2level ); $co2level -= $removalrate;}
I then ran a simulation: starting at year 2019, with CO2 at 410 ppmv, of what would happen to CO2 levels if anthropogenic CO2 emissions suddenly ceased; this is the output:
http://sealevel.info/CO2_Residence_Times/simulation_output_01.txt
2019 410.02020 407.52021 405.02022 402.52023 400.22024 397.82025 395.52026 393.32027 391.12028 388.92029 386.82030 384.72031 382.62032 380.62033 378.62034 376.72035 374.82036 372.92037 371.12038 369.32039 367.62040 365.92041 364.22042 362.62043 361.02044 359.52045 358.02046 356.42047 354.92048 353.42049 351.82050 350.22051 348.72052 347.12053 345.52054 343.92055 342.32056 340.72057 339.22058 337.72059 336.22060 334.82061 333.42062 332.02063 330.72064 329.42065 328.22066 327.02067 325.92068 324.82069 323.82070 322.8 <== two-thirds of the anthropogenic CO2 is gone in 51 years
2071 321.82072 321.02073 320.12074 319.32075 318.52076 317.82077 317.02078 316.32079 315.62080 314.92081 314.22082 313.52083 312.92084 312.22085 311.62086 311.02087 310.42088 309.82089 309.22090 308.62091 308.02092 307.52093 306.92094 306.42095 305.92096 305.42097 304.92098 304.42099 303.92100 303.52101 303.02102 302.52103 302.12104 301.72105 301.22106 300.82107 300.42108 300.0
Note the result: 2/3 of the anthropogenic CO2 gone from the atmosphere in 51 years (very similar to Dick Lindzen's "50 years" and not far from Roy Spencer's "70 years").
It's my bedtime, now, but when I refine this by incorporating real CO2 emission numbers, and from them the more precisely calculated removal rate numbers, I'll let y'all know.
The files (including a
Windows command-line Perl executable, and a "run_simulation.bat" file
to run the simulation at a Windows command prompt), are here:
https://sealevel.info/CO2_Residence_Times/allfiles.zip
Warmest regards,
Dave