アプローチ
この章では、$CO_2$濃度の変化が地球の大気の平均気温の変化にどの程度影響を与えるかについて、簡単なモデルで説明する。研究の歴史の章でも延々と議論されてきたテーマだが、可能な限りシンプルなモデルで説明したいと思う。1931年にハルバート(Hulbert)が、対流圏と成層圏の鉛直方向のメカニズムを考慮に入れた「大気柱の鉛直一次元モデル」を開発したことは研究の歴史の章で述べた通りだ。今回紹介する方法は、それより遥かに簡単化して鉛直方向の力学を無視した、言わば0次元モデルだ。また、この章で紹介する手法は過去の学術論文で発表された方法かどうかは確認出来ていない。特にモダンなモデルは極めて複雑な全地球の様相を記述しており、初学者には難解過ぎる嫌いがあるのと、そうしたディテールは捨象しても本質は見失われないだろうという考えのもと、簡素化したモデルを構築した。
今回紹介する手法は「普通に考えてこの影響は無視できないだろう」という要素だけを抽出した簡単なモデルであるが、ものの考え方として一般人が理解すべき温暖化のメカニズムとしては十二分だろう。(この章では数式を用いて説明するが、基本的なアイディアは中学生でも理解できることを想定している。途中の数式の変形は高校程度の微分の知識が必要な部分もあるので適当に読み飛ばして頂いても問題ない。)基本的なアプローチは、地球の気象に変化を与える詳細な現象を可能な限り無視して、それでも構造的に気温に影響を与えざるを得ない主要な要因だけを取り出すことにした。
- エネルギー収支:地球に入ってきたエネルギーはいくらで、地球外に出て行った分はいくらで、その差分が地球に蓄積する熱、すなわち温暖化効果とざっくり見積れるはずだ
- 太陽光の影響:太陽が無かったらどこまで地球は冷えるのか?(火山活動もあるので絶対零度まで地球が凍ることはなかろう)
- 温室効果ガスの影響:温室効果が無かったら地球はどこまで冷えるのか?足元の地球は温室効果でどのくらい温められているのか?
- $CO_2$の吸光量:太陽から注がれるエネルギー総量のうち実際に$CO_2$が吸収出来るのはほんの一部だが、それはどれくらいなのか?
こうした問題意識を定式化して実証研究の結果からパラメータを推定してモデルを構築した。
エネルギー収支と太陽光の影響
日光のエネルギー収支の章で示したように、太陽から注がれるエネルギーの一部が大気に滞留して殆どは宇宙に放射されていくプロセスの中で、短い時間間隔で見ると、入射した分のエネルギーが全量宇宙に放出されている。これによって地球の気温は一定の温度で均衡している。仮にこのエネルギー収支が歪んでいて、太陽から注がれるエネルギー量が100に対して、宇宙に放出されるエネルギー量が99などと少なかったら、地球に1だけエネルギーが滞留してしまう。この増えたエネルギーは結局はそのエネルギー1単位分だけ大気を温めていると考える。逆に太陽から降り注ぐエネルギーよりも宇宙に放出されるエネルギーの方が多かったら大気はその分冷却する。
地球の大気の平均気温を$T$とすると、この値は摂氏で約$14{}^\circ C$、絶対温度で表すと約$287{}^\circ K$と言われている。$T$は時間$t$によって変わっていく変数なので$T(t)$と表せる。また、大気中の二酸化炭素濃度$\rho_{CO_2}$と地球の平均気温との関係を知りたいので、$T$は$\rho_{CO_2}$の関数として$T(t, \rho_{CO_2})$と表す。
ここで、太陽から降り注ぐエネルギーと地球から宇宙に放出されるエネルギーが釣り合っていたら温度変化はゼロになるわけで、短期的にはこれが成立しているから大気は安定しているため、以下の関係となる。
(温度Tの時間変化) = (太陽から降り注ぐエネルギーが地表を経て大気の温度を上昇させる効果)-(地球から宇宙に放出されるエネルギーによる気温低下効果)=0
これを数式で表すと以下のようになる。
$$
\frac{dT}{dt} = \alpha(t)S - \beta (T(t) - T_0)=0 \tag{1}
$$
ここで$S$を太陽から降り注ぐ 1秒当たりのエネルギー$[W]$(単位はワット)、$\alpha$を$S$が地表面に届いたのち長波を大気に放出して大気の温度を上げる比率$[{}^\circ K/W]$とする(ここで$S$はおよそ定数と仮定する)。また、もしも太陽がなかったら、地球はたちまち凍り付く。この際、地球から宇宙に向けて長波の放射がおき続け、超長期的にはある定数の温度$T_0$まで下がって収束するとすると現在の温度$T(t)$と$T_0$の差分に比例して冷却される効果があると考えられ、この係数を定数$\beta$とする。これは仮に太陽が無くても火山活動や地熱によって大気や海洋が温められる効果があり得ることを想定している。
仮に$T_0$も絶対零度近辺に近似出来るとしたら$T_0 = 0 {}^\circ K$となるが、実際はどうだろう。たとえば太陽系の中でかなり遠い惑星である天王星について考えてみよう。天王星の大気の平均温度はおよそ$-205{}^\circ C = 68^\circ K $と言われている。太陽と地球の距離より19倍遠くにある海王星は、太陽から降り注ぐエネルギーは地球のそれより400分の1程度と概算される。この場合、仮に天王星の大気に温室効果が無い場合の推定表面温度は$53.2^\circ K$である(計算方法はAppendix参照)ので、実際の天王星の表面温度との差分の$14.79^\circ C$が$T_0$に相当する。太陽が無い場合でも地熱等によって14度くらいは天王星も温められていると推定される。
ちなみに天王星の中心部の温度は$5255^\circ K$位と推定されているので、太陽の表面ほどではないが非常に熱いことが分かっている。地球の中心部の温度は$5500^\circ K$位と推定されているので、大体同じ程度である。冷たい惑星でも中身は相当熱いのだ。しかし、だからと言って上式の地球の$T_0$を天王星と同じ程度と仮定して良いのだろうか? これを確認するためには大気の組成を見る必要がある。実際、天王星の大気は水素が約83%、ヘリウムが15%、メタンが2%といった構成になっており、このメタンによる温室効果が上記の14度には含まれてしまっているであろうから、$T_0=14.79^\circ C$は$T_0$の見積としてはやや過大評価だろう。
一方で木星の衛星ガニメデでは同じ考えで試算すると$T_0=3.77^\circ C$となる。この星の大気は酸素のみであり温室効果は殆ど無い。但し、この衛星は月の2倍程度の質量と非常に小さいので大気も極めて薄く、核の温度は$1600^\circ K$前後であるため地熱や火山による温め効果は地球と比較にならない位小さい。このため$T_0=3.77^\circ C$は過小評価と考えられる。
ここで(1)式で$\frac{dT}{dt}=0$を考慮すると、以下のように変形できる。
$$
T(t) = \frac{\alpha(t)}{\beta}S + T_0 \tag{2}
$$
これで地球の平均気温を太陽光による温め効果と火山活動や地熱による温め効果に分解することが出来た。
放射強制力の影響
今興味あるのは、大気中の$CO_2$濃度が上昇した時の平均気温の上昇幅である。それを知るためには放射強制力という言葉を知る必要がある。放射強制力とは、地球の対流圏の上端での平均的な正味の放射の変化(符号は、気温上昇をもたらす宇宙からの放射や温室効果はプラス、気温低下をもたらす宇宙への放射はマイナス)である。
放射強制力を上の(2)式で解釈すると、大気中の$CO_2$濃度が上昇した結果大気の強制力の値が上昇して$\alpha$の値が増加することで、気温が上昇すると読むことが出来る。ところで、この強制力がもし仮にゼロになったらどうなるのだろうか?それは地球の温室効果が一切なくなるということに相当する。こちらの文献では温室効果が無い場合の地球の平均気温は$-18{}^{\circ}C$である。実はこれはシュテファンボルツマンの法則から簡単に導かれる(詳細はAppendix参照)。一旦ここまでを受け入れて大気の強制力$F(t)$と気温との関係を以下のように記述することにする。
$$
T(t) = a_0 F(t) +T_{ghe} + T_0 \tag{3}
$$
ここで$T_{ghe}$は大気に温室効果が無かった場合の地表面の平均気温を意味する。ここで$a_0$は左辺と右辺を一致させる何らかの定数となる。この$a_0$を求めるために大気の均衡状態を考える。$T(t)$は均衡状態では$T_{eq}$である。例えば地球の平均気温が$14^\circ C$の場合を想定する。この時大気の放射強制力は$F_{eq}$である。すると、
$$
T_{eq} = a_0 F_{eq} + T_{ghe} + T_0
$$
であり、これを$a_0$について解けば以下の解が得られる。
$$
a_0 = \frac{T_{eq} - T_{ghe}- T_0}{F_{eq}} \tag{4}
$$
次に日光のエネルギー収支の章で記載したテーブルをもう一度見てみよう。
このテーブルを読むと晴天の場合には大気の放射強制力は$125 [W/m^2] $、曇天の場合には$86 [W/m^2] $、そして雲はおよそ地球の半分を常に覆っているとすると二つの総和平均が実質的な均衡水準と推定されるため、$F_{eq}=105.5[W/m^2]$となる。また気温は一定で$T_{eq}=14 {}^\circ C = 287 {}^\circ K$である。
さらに、放射強制力$F(t)$がゼロの場合、大気の温度は$T_{ghe} = -18 {}^\circ C = 255 {}^\circ K$である。また$T_0$は上限と下限が与えられていたことから、式(3)の$a_0$は以下のような幅を持った概算値と推計される。
$$
a_{0min} = 0.26758 [{}^\circ Km^2/W] (T_0 = 3.77 {}^\circ C)
$$
$$
a_{0max} = 0.16313 [{}^\circ Km^2/W] ( T_0 = 14.79 {}^\circ C)
$$
$$
a_{0min} < a_0 < a_{0max} \tag{5}
$$
$CO_2$の強制力の上限と濃度の関係
次に強制力Fについて考えてみよう。$CO_2$の濃度が増大すればいくらでも強制力$F$ も線形に増大するのだろうか?そうではない。地表から大気に放出されたエネルギーのうち、$CO_2$が吸収出来るのは、以下の図のように$CO_2$の吸光帯である$15 \mu m$帯の部分(下図の黄色の破線で囲った部分)だけである。
$$
\frac{dF(\rho_{CO_2})}{d\rho_{CO_2}} = \lambda (F_{max} - F(\rho_{CO_2}))
$$
この微分方程式を解くと次の式が得られる。
$$
F(\rho_{CO_2})= F_{max} (1- \exp(-\lambda \rho_{CO_2})) \tag{6}
$$
ここで$F_{max}=52[W/m^2]$と現行水準の倍と仮定する。諸元となる論文が書かれた1997年当時の$CO_2$濃度はNOAAによると$\rho_{CO_2}=363.04ppm$程度と見られるので、$ \lambda = 1.909 \times 10^{-3} [ppm^{-1}] $ 程度と見積もられる。
統合モデルによるIPCCの主張の検証
以上の結果を(2)式に統合すると、以下の式が得られる。
$$
T(t) = a_0 (F_{max} (1- \exp(-\lambda \rho_{CO_2})) +F_{other}) + T_{ghe} + T_0 \tag{7}
$$
ここで$F_{other}=77.5[W/m^2]$で、$CO_2$以外の温室効果ガス(水蒸気を含む)の強制力の晴天と曇天の平均値である。この結果を用いて、$CO_2$の濃度の上昇と大気の平均気温との関係をシミュレーションしたのが以下の図である。
但し、上記の議論では気温の上昇に伴って水蒸気の温室効果も発揮される効果など$CO_2$以外の要因が検討されておらず$CO_2$濃度の増加に対する応答としては濃度が高い領域は過小評価している可能性がある。
ちなみに、このモデルで$CO_2$濃度が産業革命時点の濃度$280ppm$の2倍まで上昇する場合の大気の平均気温を計算すると$16.35^{\circ} C$と、産業革命時点1891年の$13.76^{\circ} C $から約$ 2.6^{\circ} C$上昇することになる。この結果は最近のIPCCの言う$CO_2$排出量が「多いシナリオ」「非常に多いシナリオ」の主張と大差ない。よって、IPCCの主張の前提となる考え方は上記の議論で大体把握できたと考えられる。
ここで重要なことは、地表面の平均気温を概算するのに、現代の天気予報に用いられるような複雑なモデルは不要であり、太陽からのエネルギー流量と地表面から宇宙に放出されるエネルギーの正味の量(エネルギー収支)を知れば十分であるということが確かめられたということだ。
以上のことをPythonのコードで記述すると以下のようになる。
import numpy as np
import math
import matplotlib.pyplot as plt
#########################################################################
T_absolute = 273.15 ## 絶対温度とセ氏の換算値
T0 = 3.77 ## 太陽が無い場合の収束温度
Tghe = -18 + T_absolute ## 温室効果が無い場合の地球表面の温度 K
Teq = 14.454 + T_absolute ## 1997年当時の平均気温 K 14.454C
Feq =105.5 ## 地球の平均放射強制力 W/m^2
#########################################################################
#########################################################################
F_rho = (32+24)/2 # 1997年当時のCO2の放射強制力 W/m^2
Fmax = F_rho*2 # 1997年当時の大気の放射強制力 W/m^2 2倍は最大値見積り
rho = 362.9 # 1997年当時のCOO2濃度 [ppm]
F_other = (75+10+8+51+7+4)/2 # 77.5 [W/m2]
#########################################################################
_lambda = (1/rho)*math.log(Fmax/(Fmax - F_rho)) #0.001899
print("lambda: ",_lambda)
obsx=[280, 316.9, 362.9, 372.4, 402.9, 415.7] ##[ppm] 1891,1960, 1997,2002,2016,2021
obsy=[13.764, 13.974, 14.454, 14.544, 14.894, 14.764] ## celsius
#obsx2=[280, 402.9] ##[ppm]
#obsy2=[14.084, 14.834] ## celsius
def T_co2(rho, T_0=0.0) -> float:
a0 = (Teq-Tghe-T_0)/Feq
#print("a0: ",a0)
return a0 * (Fmax * (1- np.exp(- _lambda * rho )) + F_other)+ \
+ Tghe + T_0 - T_absolute
rho_co2 = np.linspace(0,610,100)
fig = plt.figure(figsize=(10,5))
plt.rcParams["font.size"] = 16
ax = plt.subplot(111)
T0=3.77
T = T_co2(rho_co2, T0)
ax.plot(rho_co2, T, color="C0", \
label="$theory[{}^{\circ}C] (T_0=$"+"{})".format(T0) )
T0=14.79
T2 = T_co2(rho_co2, T0)
ax.plot(rho_co2, T2, color="C0", linestyle="--", \
label="$theory[{}^{\circ}C] (T_0=$"+"{})".format(T0) )
ax.set_title("Effect of $CO_2$ concentration on air temperature")
ax.plot(obsx, obsy, color="orange", \
label="$observation[{}^{\circ}C]$", marker = "o")
ax.set_ylabel("$Temperature [{}^{\circ} C]$")
ax.set_xlabel("Concentration of $CO_2$ [$ppm$]")
ax.grid(which="both",color="gray",linewidth=0.2)
ax.legend()
ax.fill_between(rho_co2, T, T2, facecolor='C0', alpha=0.5)
t = 560
print("Earth average Temperature at CO2 level of {}[ppm]: {}[C]".format(t,\
T_co2(t,3.77)
Comments