見出し画像

なぜ天気予報で1年後の天候を予測できないのか?数値計算シミュレーションの基礎と共に解説!

日本ではゲリラ豪雨や台風など、様々な自然災害が毎年のように起こっています。そして、これらの自然災害は土砂崩れや洪水など、多大な被害を私たちの生活にもたらします。

そのような中で、一度は次のように考えたことがあるのではないでしょうか?

「コンピューターが発展すれば半年後でも1年後でも天気の予測ができるんじゃないの?」と。


しかしながら、それは不可能です。


今回の記事では、なぜ天気予報で長期的な予測をすることが不可能なのか、ということについて、数値計算シミュレーションの観点から解説していこうと思います。

結論から言うと、

  • 数値計算シミュレーションの限界としての誤差が存在する(離散化による誤差)

  • 現在の全ての大気や海洋の状態を測定できない(初期条件の不確かさ)

といった理由があるからです。

これらの理由について、順を追って説明していこうと思います。

数値計算シミュレーション初心者の方が読むのにも良い記事になっていると思いますので、是非読んでいただければと思います!

数値計算シミュレーションは1ステップずつ時間を進めて計算する

数値計算シミュレーションとは、コンピュータの数値計算によってシミュレーションを行うことを指します。

実際に天気予報において計算する大気や海洋のシミュレーションの話に進む前に、まず数値計算シミュレーションがどのような手順で計算されていくものなのか、ということについて理解を深めていこうと思います。

※今回の記事では簡単のため、連続的なモデルには触れません。


空間内に”点”を設定する

私たちが生きている空間や知覚している自然現象は、連続的なものです。

しかし、数値計算シミュレーションにおいては、連続的な計算をすることはできません。

そのため、空間上を何らかの形で分割して”点”を設け、それぞれの”点”について計算を行っていく必要があります


空間内に”点”を設定する方法は主に、格子法粒子法の2つの方法があります。

天気予報の数値計算シミュレーションの話に入る前に、天気予報の際に計算の対象になる、大気や海洋の動きがどのように記述されるのか、ということについて触れておこうと思います。

大気や海洋は流体であり、その動きは、以下のナビエ・ストークス方程式という微分方程式によって記述されます。

重要なのは、この方程式は非線形偏微分方程式であり連続関数であるため、このままではコンピュータで数値計算することができない、ということです。

(余談ですが、ナビエ・ストークス方程式の解については、ミレニアム懸賞問題にも指定されている未解決の難問です。)

そこで、流体に対して様々な仮定をおくことや、近似を行うことで計算することができる形にして計算を行っています

連続関数である微分方程式をコンピュータでシミュレーションするためには、微分方程式に対し離散化という処理を行う必要があります。

離散化は連続関数である微分方程式を、微小区間ごとに区切って離散関数にすることです(高校で習う微分積分を習った方はそれをイメージしていただければ分かりやすいと思います)。

離散化には、差分法と呼ばれる手法がよく使われます。(差分法には誤差の精度や差分の仕方によって様々な種類がありますが、ここでは割愛します。詳しく知りたい方はこちらの参考文献などを参考にしてください。)

ref


この記事が気に入ったらサポートをしてみませんか?