next up previous
: 6 謝辞 : DCPAM4 第2部 離散化 : 4 参考文献


5 座標系・変換公式

.0 .00 .0 .00

.1 球面調和函数

ここでは連続系での球面調和函数を定義し, スペクトル計算の理解に必要な性質を挙げ, 証明する.

まず球面調和函数を定義し, 次いで球面調和函数が完全直交系をなすことを主張する. このことにより, 球面上に分布するあらゆる連続関数が 球面調和函数の重ね合わせで一意的に表されることになる.

球面調和函数は2次元ラプラシアンに関する固有関数であり, このために全波数という概念が生まれる. 参考までにこのことも記しておく.

さらに, 球面調和函数を空間微分した結果も書いておく.

  1. 定義と性質(球面調和函数, Legendre函数, Legendre陪函数)
  2. 空間微分
  3. 全波数の概念

また, イメージをつかむために, ルジャンドル(陪)関数のグラフを示す.

.1.1 定義と性質

ここでは, 岩波公式集 .1の Legendre函数・陪函数 , 2 で規格化したLegendre函数・陪函数 , で規格化した球面調和函数 の順に定義する. さらにそれらの性質として, 従う微分方程式, 漸下式, 完全規格直交性について述べる.

.1.1.1 岩波公式集の Legendre函数・陪函数

.1.1.2 2 で規格化した Legendre函数・陪函数

.1.1.3 球面調和函数

.1.2 球面調和函数の空間微分

ここでは, 球面調和函数

の計算をする.

.1.2.1 x微分


    (.24)

.1.2.2 y微分


    (.25)

.1.2.3 2次元ラプラシアン


(.26)
  (.27)
  (.28)

.1.3 コメント -- 全波数について

球面調和函数 において のことを全波数と呼ぶ.

全波数には, 座標系の回転に関して不変である, という特徴がある. すなわち, 任意の は 回転して得られる座標系 における 全波数 の球面調和函数 の和で表現できる :

    (.29)

のである .3. この特徴は, 球面調和函数が2次元ラプラシアンの 固有値であることによっている .4.

.1.4 グラフ

の概形をつかむために, 2で規格化した .5 のグラフを示す.

岩波公式集の Legendre函数 のグラフ (森口, 宇田川, 一松, 1960)

Legendre函数 のグラフ (森口, 宇田川, 一松, 1960)
.5 .55

.2 微分公式, GCMの変数の微分関係式

.6

ここでは, スカラー量, ベクトルの微分を計算する. さらにそれらを元に, 発散, 渦度 , 速度ポテンシャル, 流線関数 と との関係を付ける.

.2.1 スカラー量の微分

スカラー量 の 微分は で与えられる.

の 微分は で与えられる.

の2次元ラプラシアンは

(.30)
  (.31)

で与えられる.

.2.2 ベクトル量の微分

2次元ベクトル場 の水平発散は


(.32)
  (.33)

で与えられる.



の回転の 成分は,

(.34)
  (.35)

で与えられる.




以上で得られた微分公式を元に, 以下に実際にGCMで使用する便利な微分の公式を並べておく.

.2.3 発散

水平分布する速度場

    (.36)

の水平発散 を, を用いて表す.


(.37)
  (.38)
  (.39)

.2.4 渦度

水平分布する速度場

    (.40)

の渦度 を, を用いて表す.


(.41)
  (.42)
  (.43)

.2.5 速度ポテンシャル, 流線関数と

速度ポテンシャル , 流線関数 は

(.44)
(.45)

で定義される. を で表す.


(.46)
(.47)

となる.

.6 .66 .6 .66

.3 Legendre函数 の性質

ここでは Legendre函数 の性質である

  1. 次以下の多項式との積を まで積分すると 零になること
  2. が に 個の零点を持つこと,

を記す. 1 より Gauss 格子を定義することが保証される. また, 1, 2 は共に Gauss-Legendre の公式の証明に用いられる.

.3.1 多項式とLegendre函数の積の積分

は, の 次多項式である. 次以下の任意の多項式は の和で表されること, の直交性から明らかに, 次以下の任意の多項式 との積を積分すると

    (.48)

が成り立つ ことがわかる.

.3.2 Legendre函数の零点

は に 個の互いに異なる零点を持っている. このことについて, 以下に証明しておく. (寺沢, 1983 の10.7 節より)

  1. を導入する.
  2. の解は, である. ゆえに, Rolle の定理により, は ある ( ) で となる.
    より, の解は のみである.
  3. 同様に, の解は )のみ.
  4. 以上を繰り返すと, の解は と の間で互いに異なる 個の 解を持つ. ( は解でないことに注意せよ. )
  5. したがって, は と の間で互いに異なる 個の解を持つ. (証明終り)



この零点の求め方としては, を近似解として Newton 法を用いるという方法がある.

.6 .66 .6 .66

.4 積分評価

.4.1 Gauss の台形公式

ここでは Gauss の台形公式を示す.

波数 以下の三角函数で表現される (

    (.49)

について を満たすように をとると,
    (.50)
    (.51)

が成り立つ. これを Gauss の台形公式という.

より実用的な公式は,

    (.52)
    (.53)

である. この証明は, ( の最大値) より の時には において, 全ての について が の整数倍になることがないことを考慮すると明らかである ( , はともに よりも小さい整数なので, は の整数倍にならない) .7.

以下に Gauss の台形公式の証明を記す.
まず, 左辺を計算すると,

(.55)

である. ここで, は の項しか残らないことを使った. 一方右辺は
(.56)
  (.57)

ここで, 上に示した「より実用的な公式」により
    (.58)

が成り立つ. したがって,
    (.59)

となる.

.4.2 Gauss-Legendreの公式

を 次以下の多項式とする. を2で規格化した n 次の Legendre函数とする. このとき, は の零点である Gauss 格子 における の値 のみを用いて, 次式にもとづいて正確に評価することができる.

    (.60)
    (.61)

ここで, は Gauss 荷重と呼ばれる.


以下では上の式を証明する. ただし, Legendre函数としては, 最初は岩波公式集のLegendre函数 を用い, 最後に2で規格化したLegendre函数 に 直すことにする .8.

STEP 1 Lagrange 補間の導入

を 次多項式( )とする. を岩波公式集のLegendre函数(Rodriguesの公式) とする.


    (.62)

を, を Lagrange 補間公式にしたがって補間した多項式として 定義する.


    (.63)

このとき, 各 について である. ここで は, の時( が 次以下の多項式)のときは 厳密に になる .9 ことに注意せよ.

したがって, 関数 は

を について から 1 まで積分する. の時については Legendre函数の直交性より, の積分は零である. したがって,

(.65)
  (.66)
  (.67)
  (.68)

ここで, 証明すべき式の は規格化されていて, 上の式の は規格化されていないのにもかかわらず 同じ が使われているが, と の規格化定数は同じなので consistent である.

STEP 2 の漸化式を用いた変形

漸化式 (岩波の Lgendre 関数・陪関数の従う漸化式) において とした式

    (.69)

より,
(.70)
  (.71)
    (.72)
  (.73)

となる. この式を について加えると,
(.74)

が成り立つ. ここで とすると より,
(.75)

よって,
(.76)

である. したがって,
(.77)
  (.78)
  (.79)

である. ただし, (A.80) における積分は, k=0 の時のみ0でない値を 持つこと, および を使った. さらに, 漸化式
    (.80)

とする. より,
(.81)

となる.

STEP3 の規格化


    (.82)

になるように規格化する. より,
    (.83)

となる.

まとめ

以上より

    (.84)
    (.85)

.9 .99 .9 .99 .9 .99

.5 球面調和函数の離散的直交関係

ここでは 球面直交関数の離散的直交関係である選点直交性を示す.


    (.86)

ここで, は整数で, であり, を満たす. また, は Gauss 荷重, , は の零点である. は それを越えない最大の整数を表す. これは, 有限な直交多項式系において成り立つ 選点直交性と呼ばれる性質である .10.

この式を証明する. Legendre函数・陪函数の定義・(連続系での)直交性, Gauss の台形公式, Legendre函数の零点を用いた多項式の積分評価 を既知とすると,

    (.87)
  (.88)

ここで Gauss の台形公式を使った. 更に変形すると
    (.89)
  (.90)
  (.91)

ここで, Gauss-Legendreの公式を使った. 更に, 連続系の Legendre函数・陪函数の直交性より
    (.92)
  (.93)

が得られる. 以上により, 離散化した球面調和関数の選点直交性が示された.





余談ではあるが, 直交多項式系においては 離散的な直交関係としては選点直交性のほかに 次のような直交関係も知られている .11. を で定義された 重み , 規格化定数 の直交多項式 とする. を の零点, とすれば, 選点直交性

    (.94)

のほかに,
    (.95)

が成り立つ.

実際, Legendre函数 については この関係が成り立つ. すなわち, を GCM で用いている Gauss 荷重として,

    (.96)

である. しかし, GCM では Legendre函数 の零点でのみ 値を計算することと, 波数切断の関係とから, Legendre陪函数 の 離散的直交関係は意味がない .12. Legendre函数の直交関係についても, 波数切断により は しか扱わないので .13 実際には意味がない.

三角関数についても同様な離散的直交関係がある. 選点直交性

    (.97)

のほかに,
    (.98)

も成り立つ. (ただし, は偶数で . が奇数の場合には, として, についての和は でとる. ) しかし GCM では, 波数切断により の最大値 は 以下の値なので やはり意味がない .14. .14 .1414

.6 スペクトルの係数と格子点値とのやり取り

ここではスペクトルの係数と格子点値との変換法について述べる. 実際の GCM 計算において必要になるのは

である.

.6.1 スペクトルの係数と格子点値との値のやり取り

スカラー関数 の 格子点値とスペクトルの係数とのやり取りは 以下のとおりである. ただし, 格子点値は , スペクトルの係数は とする.


(.99)
(.100)
(.101)

以後この文書では簡単のために, と, と表記する.

.6.2 スペクトルの係数と格子点値との値のやり取り〜東西微分編

まず,


を考える.

東西微分( 微分)は次式で評価する.

(.102)

すなわち,
(.103)

である. 変換公式 (A.103)で を とみなしたものと (A.106) とを比較すれば明らかに .15,


(.104)

よって,
(.105)

である.

次に,


とする. と とのやり取りを考える. (A.105) より明らかに,


一方, (A.107) より

 
   
  (.106)

.6.3 スペクトルの係数と格子点値との値のやり取り〜南北微分編

まず,


を考える.

南北微分(微分)は次式で評価する.

    (.107)

すなわち,
    (.108)

である.


ここで, 2行目から 3行目の等号では,
     
  (.109)

を用いた .16.

次に,


とする.

(A.110) より明らかに,


である. 一方,


が成り立つ. ここで, 2行目から3行目において,


を用いた .17.

.6.4 速度の格子点値から発散・渦度のスペクトルの係数への変換

速度場を

    (.110)

とする. ここでは, から を求める .18.



まず,

    (.111)

より,


 
  (.112)

同様に,

    (.113)

より,


 
  (.114)

.6.5 のスペクトルの係数から速度の格子点値への変換

ここでは から を求める方法を記す.

まず,

    (.115)

より,
 
  (.116)

である. 同様に,
    (.117)

より,
 
  (.118)

である. .18 .1818

.7 スペクトルの係数同士の関係

ここではスペクトルの係数同士の便利な公式を挙げておく. の時

    (.119)

の時
    (.120)




(A.122) については 「スペクトルの係数と格子点値とのやり取り」に証明を示した. ここでは, (A.123) について証明しておく.

微分評価の定義より,


である. ところで,


である. この2つの式の右辺に左から を演算して 比較すると,


を得る.

.18 .1818

.8 波数切断

GCM では, 物理量を 球面調和函数 で展開したり 波数空間で計算するときに, 計算資源の都合上, ある一定波数以下の波数のみを考慮して計算する. そのことを波数切断するという .19. 以下ではまず, 切断の基礎知識として切断の仕方・流儀を述べ, ついで, 切断における事情を述べた上で切断波数の決め方を記す.

.8.1 波数切断の仕方

波数切断の仕方については, 東西波数(), 南北波数()の それぞれの切断の方法にいくつかの流儀がある. 一般によく用いられるものは 三角形切断(Triangle), 平行四辺形切断(Rhomboidal : 偏菱形)と 呼ばれるものである. 三角形切断の場合について計算する波数領域を波数平面上に書くと (A.1)のようになる. 平方四辺形切断の場合は, (A.2)である.

図 A.1: 三角形切断の場合の波数領域

図 A.2: 平方四辺形切断の場合の波数領域

三角形切断, 平行四辺形切断, という名称は 波数平面上(平面)での形状による .20.

より一般的な切断方法は五角形切断 ((A.3)) である.

図 A.3: 五角形切断の場合の波数領域

三角形切断, 平行四辺形切断はそれぞれ, 五角形切断において

であるような特別な場合である .21.

三角形切断と平行四辺形切断の違いについて, 世の中では次のように言われている .22.

.8.2 切断波数の決め方

ここでは切断波数と南北格子点数の決め方について記す. これらは 切断の仕方を決めた後に, 使用する計算資源がネックになって決まる. その際, FFT の仕様, aliasing の回避, という2つの数値的な事情を 考慮した上で決める必要がある.

FFT の仕様の事情というのは, 話は簡単で, 東西方向に 「格子 スペクトル」 変換する ために用いる FFT が 効率よく動くための格子点数・波数がある .24ことである.

一方, aliasing に関する事情は複雑である. ここで扱っているスペクトルモデルでは, 格子点でのみ値を計算している. いわゆるスペクトルを使うのは, 単に格子点上での水平微分項の評価をする時のみである. その意味で, 「微分の評価にのみスペクトルを用いるグリッドモデル」 と言ってもよい. そのように受け止めると, 格子点値を"正しく"計算することを目指し, また, 考慮する波数は 厳密にスペクトルの係数と格子との変換を行なうことのできる波数, すなわち変換において情報の落ちないだけの波数を とらねばならないように思える. ところが実際には, スペクトルモデル的な配慮 -- ある波数以下についてのみ 正しく計算し, それ以上の波数については計算しない -- により 切断波数・格子点数が決められている. また, 後述する理由により 情報は(非線形 aliasing のことを考えずとも) 必ず落ちてしまうのである .25.

さて, 以下では aliasing に関する事情を具体的に述べながら, 切断波数に対する格子点数の決め方を記そう. 球面上に連続分布している物理量を球面調和函数で展開する. ある波数 以下(例えば, T42 ならば ) については 線形項・非線形項の両方について 厳密に計算できるように を決めることを目指す.

を仮に固定したとして, まずは線形項について 切断波数以下のスペクトルの係数のわかっている物理量 を 格子点値に変換しさらにスペクトルの係数に正しくもどすことを考える. は の については が わかっているとする. 格子点値は, について

(.121)

で与えられる. これらの格子点値から逆に を計算する. 離散化した系での積分を Gauss の公式, Gauss-Legendre の公式で評価すれば,
(.122)

である. ここで, は における重みである. の定義を代入すれば,
 
  (.123)

となる. この計算が を 正しく評価している(すなわち元にもどる)ための の条件は, を満たす について
    (.124)
    (.125)

が成り立つことである. 三角関数の和による評価が正しいための条件は, ここに登場する波数 が最大で の値をとるので, Gauss の公式の適用条件より, 格子点数 が を満たすことである. Legendre函数の積の和による評価が正しいための条件は, ここに登場する計算が 次の多項式 .26の 評価であることから, Gauss - Legendre の公式の適用条件より, 格子点数 が を 満たすことである. ここで, は の最大値を, は の最大値を表す.

ちなみに, 格子点値からスペクトルの係数に変換し格子点値にもどす という立場からすれば, この Gauss-Legendre の公式の適用条件というのが 情報を落とさずには済まない理由である .27. このことを以下に述べる. 情報を落とさずに 格子点値をスペクトルの係数に変換し格子点値にもどすには, あらゆる東西波数について 南北方向の格子点数 と同じだけの個数のLegendre函数が必要である. 東西波数 の場合, 登場するLegendre陪函数の は である. の次数は であるから, 最大で である. これが 以下になるのは の時のみである. の場合は高次のLegendre函数は計算してはならない. つまり情報を落とさざるをえない .28.

改めて を固定するという立場にもどって, 切断波数以下のスペクトルの係数のわかっている物理量 の積から それらの格子点値を用いて と との積(非線形項) のスペクトルの係数を正しく求めるための の条件を考える.

    (.126)
    (.127)
    (.128)

なる物理量 があるとする .29. , の における スペクトルの係数 を用いて の スペクトルの係数 を については 正しく計算することを考える.


(.129)
  (.130)
  (.131)
    (.132)
  (.133)
    (.134)

この計算が を について 正しく評価しているための, の条件を 線形項の場合と同様に考えると, 格子点数 が を, 格子点数 が を 満たすことである. ここで, は の最大値を, は の最大値を表す.

再び 格子点値からスペクトルの係数に変換し格子点値にもどす という立場からすれば, これらの に関する条件から, 南北成分のみならず, 東西成分についても 変換によって情報が落ちてしまうことがわかる.

これまでに述べた を固定したときに 格子点数 がとらねばならない個数について, 線形項・非線形項の2つの場合のうち条件が厳しいのは, 明らかに非線形項の場合である. この条件以下の格子点数しかとらない場合には, aliasing をおこすことになる.

以上, FFT, aliasing という2つの事情を考えて 格子点数と切断波数とは同時に決められる. 具体的手順は以下のとおりである.

  1. 波数切断の仕方を決める.
  2. FFT のかけやすい数を選ぶ. それを東西格子点数 とする.
  3. 東西方向の波数の最大値 を にする. ただし はそれを越えない最大の整数を表す記号である.
  4. 最大全波数 を決める. 三角形切断ならば , 平行四辺形切断ならば である.
  5. 南北方向の格子点数 を を 満たす数に選ぶ. (今の GCM では偶数でなくてはならない. )
例えば, T42 の場合には , 東西格子点数 が 128, 南北格子点数 が 64 である. R21 の場合には , 東西格子点数 が 64, 南北格子点数 が 64 である.



参考までに, 線形モデルの場合について決め方を示しておく.

  1. 波数切断の仕方を決める.
  2. FFT のかけやすい数を選ぶ. それを東西格子点数 とする.
  3. 東西方向の波数の最大値 を にする. ただし は それを越えない最大の整数を表す記号である .30.
  4. 最大全波数 を決める. 三角形切断ならば , 平行四辺形切断ならば である.
  5. 南北方向の格子点数 を を 満たす数に選ぶ.
例えば, 三角形切断の場合には, とすると, , , となる. つまり T64 では である. 平方四辺形切断の場合には, とすると, , , となる. つまり R32 では でよい .31.

.31 .3131

.9 スペクトルモデルと差分モデル

世の中の多くの GCM の離散化の方法としては, 鉛直方向については必ず レベルと称する差分による離散化を行なうが, 水平方向については, 差分する方法(この方法を用いるモデルをグリッドモデルという)と 球面調和函数で展開してその係数の時間変化を計算する方法 (力学過程において .32この方法を用いるモデルを スペクトルモデルという)と が用いられる. その二つの方法については一長一短がある. ここでは双方の特徴について列挙しておく .33.

ちなみに, dcpam はスペクトルモデルに分類される.



...
91/12/09 保坂征宏
... .5
(2005/4/4 石渡) 関数形も書いておきたい. グラフは自分で描きたい.
...P .6
(2004/5/27 石渡) ここにあるのは変かも.
... の整数倍にならない) .7
等比級数の和を直接計算しても良い.
    (.54)

... 選点直交性と呼ばれる性質である .10
別の離散的直交関係については後で述べる.
... 次のような直交関係も知られている .11
以下については, 森, 1984 「数値解析法」が詳しい.
... 離散的直交関係は意味がない .12
そもそも, ここで述べている直交関係は が 次多項式であるような直交多項式系において 成り立つものである. Legendre陪函数は が奇数のときは多項式でないし, が偶数であっても は 次多項式であって, 次多項式ではない. その場合にも直交多項式の議論を拡張して ここで述べている直交関係を 使えるのか, については未調査である.
... しか扱わないので .13
T42 ならば, で , R21 ならば, で , である.
... やはり意味がない .14
T42 ならば に対して , R21 ならば に対して である.
... とを比較すれば明らかに .15
より正確には, の両辺に左から を演算すれば, として 得られる.
... を用いた .16
... を用いた .17
... を求める .18
この項の計算については 後ろの補遺 「 微分についての補助計算」 を参照せよ.
... そのことを波数切断するという .19
...平面)での形状による .20
平方四辺形切断には, の最大値を の最大値の2倍に しないようなとり方もある. 詳しくは五角形切断に関する脚注参照.
... であるような特別な場合である .21
... 世の中では次のように言われている .22
... 経度方向のみならず緯度方向にも一定である .23
分解能が緯度方向に変化することについては, 平行四辺形切断に限らず, 三角形切断以外のどれでも起こる.
... 効率よく動くための格子点数・波数がある .24
コード依存性がある. 通常, 2のべき乗が好ましいとされる. コードによっては, 2,3,5 のべき乗の積でもよいものもある.
... 必ず落ちてしまうのである .25
実際の GCM では 格子点値からスペクトルに変換する際に情報は落ちている. したがって, 格子 - スペクトル - 格子という変換を 行なうと元にはもどらない.
例えば T42 の場合, 自由度は に対して 格子点数は である. R21 の場合も, 自由度は に対して, 格子点数は である. すなわち, 以上の情報は 格子点値からスペクトルに変換するときに落ちている.
工夫すれば 情報が落ちないうまい方法があるかも知れないが, 今のところ見つけていないし多分見つからない.
もちろん, スペクトル - 格子 - スペクトルという変換では 元にもどる(ように決めている).
... 次の多項式 .26
ここで, 三角関数の和が となることを用いた. 一般には( の偶奇が一致しない場合には) は多項式にならない.
... 情報を落とさずには済まない理由である .27
Gauss の公式の適用条件と情報欠落との関係について コメントしておく. 格子点数 が奇数の場合には, スペクトルで同じ情報量を持つためには 波数 までを考慮すればよいので, 情報は欠落しないことは明らかである. 一方, が偶数の場合には, 情報は欠落させないためには 波数 が必要であるが, この波数は Gauss の公式の適用条件を満たさない. しかしこの場合にも, (私は根拠を調べていないが, 少なくとも) 経験的には FFT および 逆FFT によって 格子 - スペクトル - 格子変換によって 情報が落ちないことが知られている.
... つまり情報を落とさざるをえない .28
この事情により, 非線形項の場合を考えて さらに著しく落とすことが必要になることが次節からわかる.
... があるとする .29
とも 実数である. すなわち, となっている.
... それを越えない最大の整数を表す記号である .30
ここで, が偶数のときについては Gauss の公式の適用条件を越えて 最大波数 まで 計算できるという知識を用いた.
... でよい .31
これらの場合でも, 南北方向の細かい情報は 格子 - スペクトル - 格子変換によって 落ちていることに注意せよ.
... (力学過程において .32
adjustment 等の意味をなど考えると, 特に物理過程においては, 格子点で考える方が物理的に当然であるように思う. そのためであろうか, スペクトルモデルである東大版GCM でも 物理過程を格子点で計算している. 他のスペクトルモデルについても そうであるかどうかは未調査.
... ここでは双方の特徴について列挙しておく .33
出典は, スペクトル法による数値予報(その原理と実際) (1.6)
... 単純には扱えない .34
問題点その1. グリッドモデルでは 緯度経度図で等間隔に格子点をとると, 極でも CFL を満たすようにするために, 時間差分を細かくしなければならない. 他は未調査.

next up previous
: 6 謝辞 : DCPAM4 第2部 離散化 : 4 参考文献
Yasuhiro MORIKAWA 平成19年7月31日