tsuyoshi
最新記事 by tsuyoshi (全て見る)
- 【明日19時】サイエンスアゴラ2021出展企画『オンラインコミュニティで生まれる化学反応~十人十色な科学への向き合い方~』 - 2021年11月5日
- サイエンスアゴラ2021の企画へ込めた想い - 2021年11月2日
- 【理系とーくラボ会員限定】定例イベント「みんなの基礎講座」を開催します! - 2021年5月9日
- 研究での英文和訳ツールとの”上手い”使い方・付き合い方-英語論文翻訳編- - 2021年2月27日
- Big Event Contest2020を開催しました! - 2021年1月5日
こんにちは、tsuyoshiです。
日本ではゲリラ豪雨や台風など、様々な自然災害が毎年のように起こっています。そして、これらの自然災害は土砂崩れや洪水など、多大な被害を私たちの生活にもたらします。
そのような中で、一度は次のように考えたことがあるのではないでしょうか?
「コンピューターが発展すれば半年後でも1年後でも天気の予測ができるんじゃないの?」と。
しかしながら、それは不可能です。
今回の記事では、なぜ天気予報で長期的な予測をすることが不可能なのか、ということについて、数値計算シミュレーションの観点から解説していこうと思います。
結論から言うと、
- 数値計算シミュレーションの限界としての誤差が存在する(離散化による誤差)
- 現在の全ての大気や海洋の状態を測定できない(初期条件の不確かさ)
といった理由があるからです。
これらの理由について、順を追って説明していこうと思います。
数値計算シミュレーション初心者の方が読むのにも良い記事になっていると思いますので、是非読んでいただければと思います!
目次
(CMです)
本サイトを運営する理系とーくのLINEができました!
研究者・科学好きの方とつながれるイベントの情報等を配信します!
ぜひ友だちになってやってください。
↓
↑
「理系とーくLINE」の友だち追加はこちら
数値計算シミュレーションは1ステップずつ時間を進めて計算する
数値計算シミュレーションとは、コンピュータの数値計算によってシミュレーションを行うことを指します。
実際に天気予報において計算する大気や海洋のシミュレーションの話に進む前に、まず数値計算シミュレーションがどのような手順で計算されていくものなのか、ということについて理解を深めていこうと思います。
※今回の記事では簡単のため、連続的なモデルには触れません。
空間内に”点”を設定する
私たちが生きている空間や知覚している自然現象は、連続的なものです。
しかし、数値計算シミュレーションにおいては、連続的な計算をすることはできません。
そのため、空間上を何らかの形で分割して”点”を設け、それぞれの”点”について計算を行っていく必要があります。
空間内に”点”を設定する方法は主に、格子法と粒子法の2つの方法があります。
格子法と粒子法の違いは以下の通りです。
格子法
- 固定された格子(メッシュ)に情報を持たせる
- 微分方程式の解析によく用いられており,様々な手法が研究されている
- 誤差の評価についても進んでいる
粒子法
- 固定された格子ではなく,粒子(パーティクル)に情報を持たせる
- 移流項を考慮に入れる必要がない
- 流体が2つに千切れるなどの大変形の記述ができる
(引用:流体シミュレーションにおける様々な手法, 廣瀬三平, リンク)
図 格子法と粒子法
このように格子法が空間自体を分割して”点”を設定するのに対し、粒子法では空間内の粒子(水粒子や壁粒子など)自体を”点”とみなして計算を行います。(格子法は”点”ではなく格子(四角)自体に情報を持たせることもあります。)
格子法で”点”(格子)に持たせられる情報としては、温度や圧力、流体の速度などがあります。
一方、粒子法ではそれぞれの粒子が温度や圧力、速度などの情報を持っており、粒子間の相互作用による振る舞いを与えることで
なお、格子法と粒子法を混合させた計算手法も存在します。
数値計算により1ステップ後の様子を計算する-陽解法と陰解法-
次に、先ほど設定した”点”に対して計算を行うことで、ステップを進めていくことで時間を進めていきます。
言い換えれば、これらの“点”の1ステップ後の振る舞いを考えていく、ということができます。
図 計算ステップを進めた後の変化
このとき、ステップ順に解くのか(陽解法)、あるいは現在の状態を含めて解くのか(陰解法)という2つの手法があります。
陽解法では、現在既に得られている値を用いて、次のステップの値を求める方法です。
計算に用いるための値が既に与えられているため、その多くの場合次のステップの値は代入計算で求めることができます。
陰解法では、現在既に得られている値と次のステップでの値を含めた方程式を解いて、次のステップの値を求める方法です。
つまり陰解法は、連立方程式を解くことによって次のステップの値を求める手法であり、複雑な計算プログラムが必要になる手法である、と言えます。
図 陽解法と陰解法
表 陽解法と陰解法の比較
1回あたりの計算時間 | プログラム | 時間間隔 | 最終的な計算時間 | |
陽解法 | 短い | 簡単 | 小さい | 長い |
陰解法 | 長い | 複雑 | 大きい | 短い |
このような手順を踏んで、数値計算シミュレーションは行われていきます。
まとまると、
- 数値計算シミュレーションは離散的な”点”に対して計算を行い、離散点の取り方は格子法と粒子法がある
- “点”の次のステップの振る舞いを計算してステップを進め、その方法は陽解法と陰解法がある
ということになります。
ここからは、天気予報で扱う大気や海洋の動きをどのように予測するのか、すなわち大気や海洋の動きをどのように数値計算シミュレーションで求めるのか、ということについて触れていこうと思います。
流体の動きはナビエ・ストークス方程式によって記述される
天気予報の数値計算シミュレーションの話に入る前に、天気予報の際に計算の対象になる、大気や海洋の動きがどのように記述されるのか、ということについて触れておこうと思います。
大気や海洋は流体であり、その動きは、以下のナビエ・ストークス方程式という微分方程式によって記述されます。
複雑な方程式なので、意味や導出を理解しろ、というつもりはありませんが、参考までに示しておきます。
$$\frac{D\mathbf{v}}{Dt}=-\frac{1}{ρ}\mathrm{grad}p+\frac{μ}{ρ}\Delta \mathbf{v}$$
$$+\frac{λ+μ}{ρ}\mathrm{grad}Θ+\frac{Θ}{ρ}\mathrm{grad}(λ+μ)$$
$$+\frac{1}{ρ}\mathrm{grad}(\mathbf{v}\cdot\mathrm{grad}μ)+\frac{1}{ρ}\mathrm{rot}(\mathbf{v}\times\mathrm{grad}μ)$$
$$-\frac{1}{ρ}\mathbf{v}\Delta μ+\mathbf{g}$$
重要なのは、この方程式は非線形偏微分方程式であり連続関数であるため、このままではコンピュータで数値計算することができない、ということです。
(余談ですが、ナビエ・ストークス方程式の解については、ミレニアム懸賞問題にも指定されている未解決の難問です。)
そこで、流体に対して様々な仮定をおくことや、近似を行うことで計算することができる形にして計算を行っています。
微分方程式を離散化する
連続関数である微分方程式をコンピュータでシミュレーションするためには、微分方程式に対し離散化という処理を行う必要があります。
離散化は連続関数である微分方程式を、微小区間ごとに区切って離散関数にすることです(高校で習う微分積分を習った方はそれをイメージしていただければ分かりやすいと思います)。
離散化には、差分法と呼ばれる手法がよく使われます。(差分法には誤差の精度や差分の仕方によって様々な種類がありますが、ここでは割愛します。詳しく知りたい方はこちらの参考文献などを参考にしてください。)
図 連続関数の離散化
このように関数を差分法によって離散化した式を、陽解法あるいは陰解法を用いて解く訳です。
この離散化の過程では微小項を無視するため、誤差が生じてしまいます。
空間分割幅や時間分割幅を小さくすればするほど精度は上がりますが誤差が存在しなくなることはなく、また計算ステップが多くなって計算時間が長くなってしまうため、どこかの時点で区切りをつけなければならないのです。
この誤差が積もり積もって、天気予報においても最終的な誤差として現れてきます。
これが、数値計算シミュレーションの限界としての誤差が存在する理由です。
シミュレーションの初期値を正確に把握することができない
陽解法でも陰解法でも、微分方程式を離散化した後に実際にシミュレーションで計算するためには、初期条件の設定が必須です。
これは、先ほどの陽解法と陰解法の概要を示した図からも理解することができると思います。
天気予報の数値計算シミュレーションにおける初期条件が何に当たるかというと、観測時における海の様子や大気の様子がそれにあたります。
しかしながら、海の様子や大気の様子をすべて正確に観測し把握することは不可能です。
海の流れには海面の動きだけでなく海の内部の動きが関わっていますし、大気は遥か上空まで続いています。
その全ての現在の流速や質量、温度などを把握しきることは不可能だ、ということです。
そのため、初期条件についても不確かさが残ってしまい、長期間の天気予報になるとこの不確かさが大きな誤差となります。
これが、現在の全ての大気や海洋の状態を測定できないことによって初期条件が不確かなものになる理由になります。
大気がカオス性を持つ
ここまでで、天気予報の長期的な予測が困難な理由について述べてきました。
しかしまだ、初期値が大体でも分かるなら、頑張れば精度の良い計算ができるのでは?と思っている方もいるかもしれません。
そこで、大気が持つカオス性について最後に述べておこうと思います。
カオスは以下のように定義されます。
- 簡単な規則に支配された、不規則な振動
- 自己相似な構造により、フラクタル次元をもつ現象
(引用:様々なカオスとフラクタル, 二之宮弘, リンク)
つまり、初期値のわずかなズレによって、全く予測することのできな不規則な現象が引き起こされること、これがカオスです。
カオスを直感的に説明するときによく “バタフライ効果” が挙げられます。
バタフライ効果とは、非常に小さな変化が様々な要因に対して影響を及ぼし、その結果大きな現象へと変化することを指した現象です。
ある場所で蝶が羽ばたくことによって、遥か離れた場所で全く予期しない現象(ハリケーンや火事など)が起こるかもしれない、というような例えがよくなされます。
大気もカオス性を持ち、少しの状態の違いが時間発展とともに大きな現象の変化となって現れる性質を持っていることが知られています。(もともと、カオス自体が天気予報の研究から発見されました)
直感的な説明をするならば、ある人がちょっと大きく吐いた息がその付近の大気の振る舞いを変え、それが風の動きを変え、最終的に遥か離れた場所の天気を変える、というものです。
たった一人が息を吐くだけでそのような変化があるのか?と思う方もいるかもしれませんが、地球上には様々な物体がそれぞれ独立して運動・活動しており、それら全てが予測からの誤差を生み出しうる要因になります。
こう考えると、大気のカオス性について、よりイメージが湧くのではないでしょうか。
先ほどの初期条件の話と少し関係しますが、大気がカオス性を持っているため、少しのズレが予測不能な大きな誤差になってしまう可能性を秘めており、それが原因で長期的な天気予報が困難であり、不可能である、と言われているのです。
(CMです)
LINE登録特典ができました!
有機系博士ともよしがイベントで使用したスライド資料①②の2点です!
↓
①「有機化合物の分離/精製 基礎から上級テクニックまで @ 異分野融合Bar」
②「有機化学Bar 〜有機分子の構造決定をしてみよう!〜」
天気予報は非常に難しいがしっかり私たちの生活を支えている
以上が、天気予報で1年などといった長期的な予測をすることが不可能な理由です。
また、天気予報は100%当たるものではなく、先ほどまでで述べたシミュレーションの都合上の誤差が原因となって外れることもあります。
日常の天気の場合でもそうですし、災害時の予報で避難したが思ったほどではなかった、といった場合もあるでしょう。
しかし、今の天気予報が役に立っていないかというと、まったくもってそのようなことはありません。
ゲリラ豪雨の予測はまだ困難ではあるものの、1日単位の天気予報はほとんどの場合であたりますし、週間予報もそれなりの精度があります。その日傘を持っていくか判断するときに天気予報を参考にしている人も多いでしょう。
また、天気予報によって台風の襲来を予測して、数日前から台風対策の準備や避難計画を立てて事前に避難することもできます。飛行機の欠航や電車の欠便を決めることもできます。
さらに、3か月後の気温の目安から農作業の予定を立てるなど、現段階での天気予報でもかなりの恩恵を私達にもたらしています。
そして、天気予報も精度の向上を目指したモデルの改良などの努力も行われています。
天気予報の限界を理解し、上手に天気予報を活用していけるようになるのが理想だと、自分は考えています。
最後になりますが、数値計算シミュレーションや天気予報のモデルについて更に詳しく知りたい方は、参考文献も参照していただければと思います。
参考文献
気象庁 知識・解説 予測に伴う誤差とアンサンブル予報, リンク
天気の科学(9) 天気予報の限界, 山崎 孝治, リンク
天気の科学(10) 長期予報への挑戦, 山崎 孝治, リンク
How far out can we forecast the weather? Scientists have a new answer, Paul Voosen, リンク
流体シミュレーションにおける様々な手法, 廣瀬三平, リンク
ナヴィエーストークス方程式 クレイ懸賞問題のいま, 小薗 英雄, リンク
もっと知りたい!熱流体解析の基礎60 第6章熱流体解析の手法:6.5.1 陽解法と陰解法, 株式会社ソフトウェアクレイドル, 上山 篤史, リンク
拡散方程式の数値解法, リンク
様々なカオスとフラクタル, 二之宮弘, リンク
コメントを残す