第1章 序論
1.1 研究背景
CReSS
(Cloud Resolving Storm Simulator)とは、気象現象を扱う数値モデルの一つで、これを用いて三次元空間の気象現象がどのように起きているかをシミュレーションできるモデルである。主な使い方として、標高データ、土地利用データ、外部気象データ、レーダー観測データを与えることで、現実に近い状態でのシミュレーションが可能である。計算されるデータは風速、温位、水蒸気量、雲水量、雲氷量などである。
このような気象モデルを用いることで、天気予報などで示される広い範囲や、狭領域での気象現象が解析できる。そして、私たち普段の生活においても様々なところで役に立っている。例えば、クリーンなエネルギーとして注目されている風力発電所を建てる場合、気象モデルより、高解像度なデータを得る事ができれば、安易に検索することができる。また、山の斜面などの複雑地形に建てられた気象観測所などの観測データが一点しかなかった場合、複雑地形が観測結果に影響しているか否かをしらべなければ、観測データ自体の信用性に欠けることになる。このような場合でも、気象モデルを用いてシミュレーションすることで、因果関係を調べることができる。
このように、シミュレーションするといっても気象現象のシミュレーションの場合、その計算領域のスケールにより、見えるものが違ってくる。図1.1に時間スケールと水平スケールの関係より起こりうる気象現象の図を示した。このように水平スケール、および時間スケールのとり方により見えてくる現象が違ってくる。たとえば水平スケール10kmで計算すると積乱雲の発生という現象を捉えきることができない。しかし、解像度を上げて水平スケール1kmで計算すれば、積乱雲の発生を捉えることができる。
ゆえに、気象場の高解像度シミュレーションが可能になれば、より細微な気象現象を予測することができる。

図1.1 大気の運動の時間・空間スケール
(『一般気象学』小倉義光)
1.2 研究目的
1.1でも示したように、気象場の高解像度シミュレーションを可能にすることは有益なことである。そこで、本研究では、非静力学気象モデルCReSSを使った山岳地での高解像度シミュレーションを目的とする。しかし、初期値や境界条件に与える解析値は一般的に低解像なものが多いため、狭領域の計算に使うには問題が生じるはずである。そこで、ネスティングをいう手法を使う。
ネスティングとは検証したい領域より解像度を高くして計算し、その計算結果を本来シミュレーションしたい領域で使い、より精度の高い計算結果を得る手法である。今回は、図1.1で説明したミクロスケール程度の解析を目的としているので本来解析したい領域よりも広い範囲で計算してその結果を使う。これは、一般的に気象場の客観解析値が低解像度なものしか得られないことを改善することができる。これにより高解像度シミュレーションが可能となる。
対象領域は、領域一帯が晴れていて、かつ高解像度シミュレーションをした場合に、山岳地帯のような複雑地形になっていることとする。そこで、付近の平均斜度が20.8のところにある高山杉林観測タワー(岐阜県高山市、北緯36度08分23秒・東経137度22分15秒)を今回のモデル地域とする。このタワーでは様々な計測機器を使い気象観測、土壌観測、CO2濃度分布観測をしている。写真1.2にタワーの写真、またタワー周辺の地域図を掲載した。対象機関は岐阜山間部の天気を気象庁の気象統計情報から調べ、2005年8月3日とした。タワー周辺での高分解能なシミュレーション結果が得ることができれば、複雑地形での実際の観測値と比較することが可能となる。



写真1.2 (上)タワー周辺の写真 (下)タワーから見た風景
(岐阜大学21世紀COE「衛星生態学創生拠点」C50サイトのwwwページより)
第2章
モデルの概要と定式化
2.1 CReSSの概要
CreSSは雲スケールからメソスケールの現象の高精度シミュレーションを行うことを目的として、名古屋大学地球水循環研究センターの坪木和久氏や(財)高度情報科学技術研究機構の榊原篤志氏により開発された非静力学気象モデルであり、直接1つ1つ雲を計算すると共にそれが組織化したメソスケール(中規模)の降水システムを高精度でシミュレーションできるものである。
以下に本研究で使用したCReSS Ver2.1の特徴と実装されている具体的な機能をいくつか挙げる。
・並列計算機用に設計されており、大規模計算が実行できる。一方で、1つのCPU(プロセッサエレメント)だけを用いるバージョンも用意されており、PC-UNIXでも実行可能である。
・雲物理過程を可能なだけ詳細に取り入れた雲モデルである。
・コードはFORTRAN90ベースで記述されており、可読性に優れ、かつほとんどの計算機プラットホームで実行可能である。
・力学過程の基礎方程式系は非静力学・圧縮系で地形に沿う座標系の3次元領域で計算を実行する。
・音波の取り扱いに関しては音波関連項とそれ以外に分け、時間積分のタイムステップを小さくして計算を行う。
・乱流はスマゴリンスキーの1次のクロージャーまたは乱流運動エネルギーを用いた1.5次のクロージャーによるパラメタリゼーションを導入している。
・力学過程の従属変数は、速度の3成分、温位偏差、気圧偏差、乱流運動エネルギー(1.5次のクロージャーの場合)である。
2.2 基礎方程式系の定式化
CReSSモデルの支配方程式は、運動方程式(地球の回転を考慮したナビエ・ストークス方程式)、熱力学方程式、圧縮系の連続方程式、水蒸気混合比の式、雲・降水粒子の混合比の式、及び雲・降水粒子の数密度の式で記述される。これらの式にさまざまな物理過程を定式化したものと境界値の定式化が加わり、モデルが構成されている。このモデルではx,y座標系の地図投影法(極平射図法、ランベルト正角円錐図法、正角円筒図法)を設定したり、また外部の標高データをモデルの計算領域に補間したりすることも可能である。
基礎方程式
モデルの独立変数は空間の座標、
と時間
である。これらの関数として定義される従属変数はCReSSで採用している圧縮性の方程式では、速度の水平2成分
と鉛直成分
、基準状態からの温位偏差
、基準状態からの気圧偏差
、水蒸気混合比
、水物質(雲粒や雨粒等)の混合比
、および水物質の数密度
である。ここで
は、水蒸気以外の水物質で、雲・降水過程をどのように表現するかでその変数の数が決まり、それに応じて時間発展方程式系の数が変わる。ここで、これらの従属変数のうち温位と圧力、また水物質と水蒸気を考慮した密度
については、以下の静力学平衡、
(2.7)
を満たす基準状態とそれからの偏差に分ける。また、表記を簡便にするため、次のように変数変換しておく。
(2.8)
この変数を用いて、各予報変数を以下のように変換する。
(2.9)
(2.10)
(2.11)
(2.12)
(2.13)
(2.14)
(2.15)
密度以外の従属変数はすべて時間発展方程式系で表現されているが、地形を含む場合これらの従属変数を与える時間発展方程式系は、グリッドスケールにおいて以下のように与えられる。
運動方程式
(2.16)
![]()
(2.17)
![]()
(2.18)
温位の方程式
(2.19)
気圧の方程式

(2.20)
水蒸気および水物質の混合比の方程式
(2.21)
(2.21)
水物質の数密度の方程式

(2.22)
ここで、式(2.16)〜 (2.22)で使用した各項の意味を表2.2にまとめる。
表2.2 使用した変数の一覧
|
|
コリオリ力係数 |
|
|
空気中の音速 |
|
|
サブグリッドスケールの乱流による速度の拡散項 |
|
|
|
|
|
サブグリッドスケールの乱流による温位または水物質の混合比の拡散項 |
|
|
温位または水物質の混合比の生成・消滅項 |
|
|
水物質の沈降(降水)の項 |
|
|
サブグリッドスケールの乱流による固体の水物質の数密度の変化 |
|
|
固体の数密度の生成・消滅項 |
|
|
沈降(降水)による固体の数密度の変化 |
|
|
人工的に入れた音波の減衰項
|
2.3 サブグリッドスケールの拡散
数値モデルは、連続体である大気を離散的な格子点の値によって表現するものである。しかし実際の大気中にはその格子間隔より小さなスケールの運動が必ず存在する。これは、その間隔をいかに小さくしても存在するもので、サブグリッドスケールの運動と呼ばれ一般には拡散として作用する。
サブグリッドスケールの格子間隔をいくら細かくしても計算できないのであれば、理論的にサブグリッドスケールの運動の時間発展方程式を導くことが考えられる。例えば、速度をグリッドスケール成分とそれからの偏差に分ければよい。この時、グリッドスケール成分の方程式には未知量としてレイノルズ応力と同様な偏差の2重相関が現れるので、それらの時間発展を与える式を考える。しかし、今度はそれらの中に3重相関が現れてしまう。同様の操作を繰り返してもさらに未知量が含まれ、これらの方程式系は閉じない。これは乱流の非線形性によるもので、Kellar
and Friedmann (1924)によって初めて認識された。この問題を「クロージャー問題」という。
この困難から抜け出す方法の1つとしては、有限の数の方程式を用いて、残りの未知数を既知の量で表す方法がある。これは「クロージャー仮定」と呼ばれ、予報される相関の次数により、1次のクロージャー、2次のクロージャー、・・・のように呼ばれる。
サブグリッドスケールの運動の表現は、CReSSでは2重相関を渦粘性の概念のもとに平均速度及び乱流運動エネルギーと散逸率などの乱流を特徴付けるスカラー量を用いて表現し、これらについての時間発展方程式を別にモデル化する考えの下、1.5次のクロージャーを用いており、計算するに当たって乱流運動エネルギーについての時間発展方程式が必要になる。
2.3.1 乱流輸送のパラメタリゼーションと拡散項の定式化
節2.2.2で述べた地形に沿う座標系での基本方程式において、運動方程式、温位の式、水蒸気と水物質の混合比の式、および、水物質の数密度の式に現れる拡散項(乱流混合の項)
は渦粘性係数
と渦拡散係数
によって表され、それを評価する方法を渦粘性モデルという。以下の節では、次の2つの渦粘性モデルのうち今回の実験で採用している後者の説明をする。
・ スマゴリンスキーの1次のクロージャー
・ 乱流運動エネルギーを用いた1.5次のクロージャー
2.3.2 渦粘性モデル(乱流運動エネルギーを用いた1.5次クロージャー)
運動方程式中の拡散項は、応力テンソル
を用いて次のように表現される。
(2.23)
同様に
に関しても同じように表現される。ここで、応力テンソル
は、せん断応力とレイノルズ応力と同様なものからなる。レイノルズ応力と同様なものはグリッドスケール成分からの変動成分からなるので、平均量を用いた形式に何らかのモデル化をする必要がある。そこで、せん断応力からの類推で、粘性係数を用いた勾配拡散の形式に表すことを考えると以下のようになる。
(2.24)
Sij:変形速度テンソル
温位、水蒸気と水物質の混合比、及び、水物質の数密度の拡散項については、それらの変数を
で代表して
(2.25)
のように定式化する。ここで、
,
は
方向の、
は
方向の、上式に該当するスカラー量
の分子拡散と乱流(サブグリッドスケールの)フラックスで、勾配拡散の形式で
(2.26)
(2.27)
(2.28)
のように与えられる。
今回の実験に使用した1.5次のクロージャーでは、
の決定に乱流運動エネルギーについての時間発展方程式を用いる。この乱流運動エネルギーは各速度成分について、平均流からの偏差 ”
を付して、
(2.29)
と表され、その時間発展方程式は、次のように与えられる。
![]()
(2.30)
ここで、この節に使用した記号の意味を表2.3に示す。
表2.3
|
記号 |
意味(式) |
|
|
位置エネルギーと運動エネルギーの変換項 |
|
|
散逸項の係数=3.9
or 0.93 (3.9:最下層、0.93:それ以外) |
|
|
|
|
|
水平方向の混合長スケール |
|
|
乱流運動エネルギーに対する渦粘性係数 |
次元解析により渦粘性係数
は乱流運動エネルギー
の関数として、
(2.31)
(2.32)
と与えられる。ここで、
はそれぞれ水平・鉛直の混合長スケールである。CReSS
では格子間隔が水平と鉛直でほぼ同じ場合と大きく異なる場合とで、与える混合長スケ
ールの値が違う。以下に示す。
ほぼ同じ場合には、
(2.33)
のように与えられる。ただし、
(2.34)
(3.35)
である(
はそれぞれの格子間隔)。また、大きく異なる場合には、
(2.36)
(2.37)
のように与えることができる。ただし、
(2.38)
(2.39)
である。
2.4 地表面過程
2.4.1 地表面の熱収支
地表面から地中に向かう地中伝導熱を
とし、正味放射フラックス
、顕熱フラックス
、潜熱フラックス
とすると表面熱収支は、式(2.41)で表される。
=
+
+
(2.41)
ここで、
(2.42)
(2.43)
:正味放射量フラックス
:日射量
:日射の反射量 ![]()
![]()
:大気の放射量
:地表面の放つ赤外放射量![]()
:赤外放射に対する地表面の射出率 本モデルでは1とする。
:地表面温度
に対する黒体放射量
:アルベド
となる。
正味下向短波放射について
(2.44)
:大気の上端に到達する日射量
:太陽定数 ≒1367[W/m2]
:太陽の天頂角
晴天時の日射量は、
(2.45)
(2.46)
(1≦
≦30 [hPa]:地表面付近の水蒸気圧)
として、次のようにする。
(2.47)
(2.48)
さらに、雲の効果を取り入れ、アルベドを考慮すると、地表面に吸収される正味下向短波放射は、
![]()
(2.49)
である。ただし、
:低層雲の雲量
:中層雲の雲量
:高層雲の雲量
:低層雲による吸収と反射の効果
:中層雲による吸収と反射の効果
:高層雲による吸収と反射の効果
とする。
顕熱フラックス
・潜熱フラックス
について
(2.50)
(2.51)
:大気第1層と地表面(地温第1層)
:単位体積の空気の熱容量
:熱と水蒸気についてのバルク係数(無次元)
:顕熱輸送の交換速度 (
:風速)
:大気第1層の気温
:地表面温度
:蒸発散係数
:大気第1層の混合比
:
に対する飽和混合比
となる。
2.4.2
鉛直・地表面フラックス
まず、鉛直フラックスは接地境界層内で一定であるので、地表面におけるフラックスを見積もるためには、接地境界層のある高さにおけるフラックスを見積もればよい。運動量のフラックスは、
(2.52)
である。ここで、(2.50),(2.51),(2.52)にある
はバルク係数であり、Louis et
al. (1980)のスキームを用いて表現される。
(2.53)
(2.54)
ここで
(=0.4)はKarman定数、
は大気第1層の高さ、
は運動量の粗度、
は熱と水蒸気の粗度、
はRichardson数である。バルク係数にかかる係数
も粗度とRichardson数の関数で、次のように与えられる。
不安定な場合(
<0)、
(2.55)
(2.56)
![]()
安定な場合(
>0)、
(2.57)
(2.58)
(2.59)
ここで、運動量と熱・水蒸気についての粗度、
,
は次のように与えられ、海上の粗度は計算の各ステップ毎に修正される。
|
陸上 海上 |
|
|
|
データセットから与える |
|
|
一定値(0.1m) 海上の |
第3章
モデルの設定条件
3.1
モデル設定について
今回は初期条件と境界条件をシミュレーションAでは気象庁の客観解析値を、ネスティングをするシミュレーションBではシミュレーションAの結果を使うことにする。そして、下記に共通のモデル設定とそれぞれのモデル設定を書いた。以下これらの実験名をAとBと呼ぶことにする。
実験Aと実験Bに共通な設定は以下の11項目である。
・
格子数(X×Y×Z)・・・99×99×60
・ シミュレーション時間・・・2005年8月3日9:00〜15:00間迄の6時間
・ スポンジ層・・・側面、上面それぞれ10層づつ
・ 外部データへの強制・・・側面、上面ともに強制して、されに側面における質量調整を実行する
・ 境界条件・・・側面、上端、下端ともに固定壁境界条件をあたえる。
・ 地中過程・・・5mを6層とり、最下層の温度に300.5Kを与える。これは1971年から2000
年までの岐阜における8月の平均気温を与える(理科年表2005年)
・
海面過程・・・海面水温に一定温度を与える。これは気象庁の気象統計情報より8月3日の海
面水温図で調べて298Kとして与える。
・ 初期温位攪乱・・・設定しない
・ 鉛直方向の時間積分法・・・ガウスの消去法より、鉛直方向陰解法する
・ サブグリッドの乱流過程・・・サブグリッドスケールの運動エネルギーを用いた1.5次のクロージ
ャーモデル
・ 雲微物理過程・・・氷相を含むバルク方のパラメタリゼーション
・ 標高データ…数値地図50mメッシュ(標高)(詳しくは第4章で)
・ 土地利用データ…GLCC(詳しくは第5章で)
また、各実験ごとに変更する設定はそれぞれ以下のようなものである。
〈シミュレーションA〉
格子間隔(X,Y,Z)・・・2000m,2000m,300m
モデルの初期値、外部気象データ・・・メソ解析値(詳しくは第6章で)を与える
音波モードに関係しない項・・・5秒
音波モードに関係する項・・・0.5秒
〈シミュレーションB〉
格子間隔(X,Y,Z)・・・1000m,1000m,150m
モデルの初期値、外部気象データ・・・シミュレーションAの結果を与える。
音波モードに関係しない項・・・2.5秒
音波モードに関係する項・・・0.25秒
3.2
CReSSに与える各種データの並び方に関する注意点
CReSSに標高データ、土地利用データ、外部気象データを与えるデータの形式と、その並べ方について説明する。高解像度シミュレーションをするには、膨大なデータを扱うことになるので、PCの保存容量と入出力の速度を考えると少しでもファイルサイズを小さくできたほうが良い。また、CReSSに与えるデータ形式は特に指定はないが、CReSSのソースプログラムを変更する必要が出てくるため、デフォルトのバイナリ形式で与えることにする。このバイナリ形式のファイルは、直接ファイルを開いて、データを確認することができないので、バイナリデータを確認するためのプログラムも必要とする。本研究においても、大量なデータ数を扱うため、エラーチェックとして何度も確認プログラムを使った。
次にCReSSがどのようにバイナリファイルからデータを読み込んでいくかを説明する。標高データ、土地利用データに関しては二次元データであり、外部気象データ及びネスティングをする際に必要となる実験Aの解析結果は三次元データである。以下の図3.2.1と図3.2.2を使いながら説明する。

![]()
|
21 |
22 |
23 |
24 |
25 |
|
16 |
17 |
18 |
19 |
20 |
|
11 |
12 |
13 |
14 |
15 |
|
6 |
7 |
8 |
9 |
10 |
|
1 |
2 |
3 |
4 |
5 |
y z

x
図3.2.1 二次元 図3.2.2 三次元
まず、二次元(5×5)、三次元(5×5×3)のデータ数があると考える。与えるデータが二次元モデルだった場合、図3.2.1の番号順に読み込んでいくのでこの順番でバイナリファイルに値を入力していく必要がある。
また三次元データの場合はZ=1にある二次元データから読み込むのでその順番に並べる。例として三次元座標(x,y,z)=(5,3,2)であれば、一段目のデータを読み込み、その後aのある二段目を読み込むことになるので25+15=40番目にデータがあればいい。
以上のことに注意して、各データを変換する必要がある。
またバイナリファイルの例を図3.2.3に示した。1個のデータを保存するのに4byte必要なので、このように10個のデータを並べたければ40byte必要となる。よって図3.2.2では、
5×5×3×4=300byte
となる。
10

|
15 |
19 |
79 |
-65 |
25 |
38 |
97 |
42 |
89 |
1 |
図3.2.3 バイナリファイルの構造 (40byte)
第4章 CReSSに与える標高データ
4.1 数値地図50mメッシュ(標高)
国土地理院が刊行している2万5千分の1地形図に描かれている等高線からベクトルデータを作成し、それから計算によって求めた数値標高モデル(DEM: Digital
Elevation Model)である。
2万5千分の1地形図(2次メッシュ)経度方向および緯度方向に、それぞれ200等分して得られる各区画(1/20細分メッシュ、2万5千分の1地形図上で約2×2mm2)の中心の標高が記録されている。標高の間隔は緯度(南北)方向で1.5秒、経度方向で2.25秒となり、実距離で約50mメッシュである。
4.2 数値地図50mメッシュ(標高)の変換及び範囲
今回の計算を行う際に約200km四方の標高データに変換することが必要である。まずは必要な標高データをつなぎ合わせ、かつCReSSの設定に応じたファイルを作成する必要があったので、Fortran77を使いプログラムを作成した。プログラムは付録1.1、1.2に掲載した。また、地形が海である場合、標高データが-999.9mとなっているが、このままだとCReSSが標高-999.9mに地面が存在すると認識し海岸線沿いに絶壁があるようなシュミレーションになるのではないかと考え、-1mに修正した。また標高データはシミュレーション範囲より大きな領域を使用しなければならない。
格子数:4800×4800 格子間隔:南北方向・・・1.5秒 東西方向・・・2.25秒

図4 CReSSに与える標高データ(m)
第5章 CReSSに与える土地利用データ
5.1 GLCCについて
GLCCとは、USGSEDC、Nebraska-Lincoln大学、the Joint Research Centre of the
European Commision により作成された1km格子の土地被覆・植生データセットである。
モデルの入力データとしてそのまま使えるように6種類の陸面モデルに合わせた土地被覆・植生タイプのデータセットが用意されている。データは、陸地の格子を効率的に取り扱うためにInterrupted Goode Homolosine 図法が用いられている。40031×17347の格子の土地被覆・植生タイプが1格子1バイトで格納されている。
5.2 GLCCの土地利用データ変換及び範囲について
GLCCのデータから高山市周辺の土地利用を読み取ったあとに、奥山(2004)の論文を参考にして表3.3のように各土地利用データのパラメータを設定した。その土地利用データを表示すると図5のようになる。今回、与える土地利用データは、標高データと同じくシミュレーション範囲より大きな領域に作成しなければならない。また、Aは広範囲な領域でシミュレーションをするため、標高データとのずれがないように領域がほぼ重なるように緯度経度を設定して変換した。
表3.3 各土地利用のパラメータ
|
|
水面 |
雪面 |
都市 |
水田 |
耕作地 |
森林 |
|
CReSS番号 |
-1 |
5 |
11 |
17 |
23 |
29 |
|
アルベド |
0.06 |
0.8 |
0.12 |
0.17 |
0.2 |
0.09 |
|
蒸発散係数 |
1.02 |
1.05 |
0 |
0.65 |
0.3 |
0.26 |
|
粗度(m) |
0.00033 |
0.00014 |
1 |
0.1 |
0.155 |
0.65 |
・アルベド・・・物体に可視光が入射する際の、入射光のフラックスと反射光のフラックスの比
・蒸発散係数・・・地表面の蒸発フラックスと同温度の蒸発フラックスの比
・粗度・・・摩擦を表す空気力学的粗度
・・・耕作地 ・・・森林 ・・・都市 ・・・水面 ・・・水田 格子数 :289×253個 格子間隔:30秒
![]()
![]()
![]()
図5 CReSSに与える土地利用データ
第6章 CReSSに与える外部気象データ
6.1 メソ解析値について
メソ解析値とは、気象庁によって作られ、気象業務支援センターによって有料で配布されている客観解析値で、全世界の気象観測データと数値予報モデルの予想値から3次元的に規則正しく分布した格子点上の気象要素に変換した値である。解析値は00,06,12,18UTCの1日4回の解析時刻ごとに、ファイルに格納されている。それぞれの解析値には、海面気圧、ジオポテンシャル高度、気温、相対湿度、風速(東西方向、南北方向)が含まれている。1レコードは、1つの気象要素による2次元格子点データ国際気象通報式GRIBに従って記述したものである。1ファイルは、同じ解析時刻の気象要素・水平面の組み合わせについてのレコードを連続させたものである。
6.2 メソ解析値のデータ変換及び範囲について
メソ解析値はGRIB形式のファイルに格納されていて、ここからデータを取り出すためにwgribというデータ変換ツールを使用した(wgribについては第7章で説明する)。これにより各気圧面レベルでの解析値をCReSSの設定に応じ並び替え、ひとつのファイルに結合させた。その際に、地表面のデータについては、各格子での気圧データが収録されていなかったので、使用しなかった。相対湿度に関しては、気圧面250hPaから10hPaの範囲が収録されていなかったが、ほぼ0%だと考えてデータを作成した。また、100%を超えるデータについては、CReSSで読み込むことができないので、99.99%に置き換えることにした。データ領域については、メソ解析値の収録地域が日本周辺域なのでそのまま使用した。また、バイナリ形式に変換した際の、データの順序がわからなかったため地上面での気温のデータを使い、図化することで確認をした。図6はその確認図である。CReSSの外部気象データを扱う際のデータの並び方どおりに表示したら、日本列島が表示されたので正しいと判断できる。
日時:2005年8月3日 UTC 00:00、09:00 格子数:361×289×20個 (地表面データは除く) 格子間隔:10km(水平方向)

図6 地上面における温度分布図(℃)
第7章
作成プログラム、及び使用ツールの内容
シミュレーションをするにあたり必要となったプログラム、及び今後CReSSを使った研究に役立つプログラムを紹介する。本研究はこれらのプログラム作成に多大な時間を費やしてしまったが、いずれも本研究では必要なものであり、今後CReSSを使った研究をする者も利用することができる。
7.1 標高データ作成プログラム
ネスティングをするために広大でかつ高解像な標高データを使用する必要があった。そこで、第4章で紹介した標高データをCReSSに与えることができるように変換するプログラムを開発した。また、変換された標高データが正しいかを確認するために、実際に図で表すための確認データも合わせて作成した。データ間隔は第4章で示したとおりで格子数が200×200、1600×1600、4800×4800のデータを作ることができるように3つのプログラミングをした。
まずもともとの標高データ(以下、数値地図50mメッシュ(標高)のことをさす)は図7.1.1のようにある地域ごとに番号が割り振って記されている。200×200というのは、この領域の2桁の番号の地域の事をさす。つまり、この領域には、約50m四方の地域ごとに標高データがあり、それが200×200個あることを示す。そして200×200ごとに、ひとつのその領域を8×8個集めることで1600×1600の標高データを作ることができる。さらに、4800×4800というのは1600×1600を3×3個集めることでできる標高データのことである。
|
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
|
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
|
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
|
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
|
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
|
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
|
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
|
00 |
01 |
02 |
03 |
04 |
05 |
06 |
07 |
|
61 |
1600×1600 200×200
図7.1.1標高データの概略
次に、この標高データについてだが、200×200の標高データの構成だが、図7.1.2(次ページ)のようになっている。第3章でCReSSへ外部データを与える際の並び方について述べたが、それを踏まえると、変換後のファイルは、バイナリ形式でレコード番号200の1番目から200番目までをならべ、次にレコード番号199を並べるといった具合である。よって1600×1600のデータを作る際にはまず標高データを作成する領域すべてのデータを読み込んで、その後、00領域にあるレコード番号1の標高データを1〜200、01領域にあるレコード番号1の標高データを1〜200、・・・07領域にあるレコード番号1の標高データを1〜200、00領域にあるレコード番号2の標高データを1〜200、・・・を繰り返してバイナリファイルに入力していく。また、確認データを作成する際には、作成されたバイナリ形式の標高データをもういちど読み込んで、テキスト形式で書き出すというプログラムを書いた。プログラム文は付録1.1,1.2に記載した。
|
メッシュコード |
レコード番号 |
標 高 値 |
|
?????? |
001 |
1 2 3 4 ・・・ 199 200 |

*レコードは北から南の順に並んでいる
図7.1.2数値地図50mメッシュ(標高)のデータ構造
(データに同梱されている説明図より引用)
7.2 WGRIB(GRIBデータ変換ツール)を利用した外部気象データの作成
今回、外部気象データとして使用した気象庁のメソ解析値は、GRIB形式で保存されていた。この形式のファイルを取り扱う場合、WGRIBというツールが必要となる。WGRIBとはNCEP(アメリカの環境予測センター)のWesley Ebisuzaki によって作成されたC言語プログラムであり、C言語をコンパイルできる環境なら使用することが可能であるが、UNIX環境で使用した方が無難だと思われる。使い方はコマンドラインで、WGRIBのあとにWGRIB用のコマンドを付け加えることで使用可能である。使用したコマンド及び詳しい作成方法は付録2に記載する。下に簡単な順序を示す。
1.WGRIBを用いて各解析値をGRIB形式からバイナリ形式に変換し出力する。
2.第6章で示した各解析値の修正をする。
3.高さ、風速(東西成分)、風速(南北成分)、圧力、温度、相対湿度の順にバイナリ形式のままデータをつなげる。
4.同じ動作を必要な時間ごとに行う。
CReSSに外部気象データを与えるときに気を付けるのが、各解析値が、CReSSの想定内の値であるかどうかである。確認方法は、CReSSのソースコードを読み発見した。今回確認できた各解析値の想定されている最大値、最小値を下に示す。
・ 各格子点の高さ(z)・・・-1000〜100000m
・ データ各格子系の速度の東西、南北鉛直成・・・-200〜200m/s
・ 各格子点の圧力・・・0〜200000Pa
・ 温位・・・123.16〜2273.16K
・ 温度・・・123.16〜333.16K
・ 各種混合比・・・0〜100%
第8章
シミュレーション結果
8.1
ネスティングについて
3.1で述べたように、実験Bでは実験Aの出力データ用いるネスティングをする。実験Aの出力データは96×96×57個のデータが出てくる。実験前は格子数が99×99×60だが、CReSSの性質上、x=2〜97、y=2〜97、z=2〜57の範囲で出力される。これを実験Bの初期値、及び境界条件に抑制することで外部の情報を取り込み、より高解像な計算をする事が可能である。
8.2 変換後の標高データと土地利用データ
実験A、BのCReSSによる変換後のデータを以下に示す。また、実験Bの領域を実験Aのデータ領域の中に示した。





(x,y)=(1,1)における緯度・経度・・・北緯35.4472度、東経136.1675度 標高の最大値と最小値・・・2903.4m、-1m(海)
図8-1シミュレーションAの標高及び土地利用データ



(x,y)=(1,1)における緯度・経度・・・北緯35.7934度、東経136.7665度 標高の最大値と最小値・・・3039.9m、16.0m
図8-2 シミュレーションBの標高及び土地利用データ
8.3 出力データの比較
以下にA、Bの9:00と10:00の約北緯36.14度(Y=40)におけるU(風速の東西成分)、W(風速の鉛直成分)、Pt(温位)、Q(水蒸気混合比)、TKE(乱流エネルギー)の鉛直断面図を示した。なお各図の左上はAの9:00、右上はAの10:00、左下はBの9:00、右下はBの10:00である。




図8.3.1 U(m/s)





図8.3.2 W(m/s)





図8.3.3 Q(kg/kg)





図8.3.4 TKE(J/kg)
8.3 考察
ここでは、各解析値の左上の図をA-9、右上はA-10、左下はB-9、右下はB-10と呼ぶ事にする。まずUについては、B-10が若干しま模様となっているものの、高解像な解析ができているように見える。WはB-10が他の3つと比べて大きな値が出ている。これだけでは原因が特定できないが、モデルを高解像にすることで、地表面のパラメータが複雑化して生じたものではないかと思う。QはA、Bともに値が安定しているが、Bの方が全体的に値が大きくなっている。これは、解像度が上がったので地面からの影響がはっきり見る事ができるようになったので、上層にも下層の影響が伝わったものと思われる。最後のTKEについてはA-10のB-10を比べて明らかに違う現象が見られる。この形は、乱流エネルギーの形と似ているので、何か因果関係があるを思われる。
全体的に見て、Aについては、1時間後もほぼ同じような値になっていて、安定している。しかし、Bは1時間後各解析値において乱れが生じている。
第9章 結論
実験Aの計算結果を使って実験Bを動かすことができ、領域を小さくしていくネスティングを動作させることが可能になったが、解析結果の信頼性があるとは言い切れない。信頼性を確かめるには、解像度を高くすることで起こりうる現象を調べ解析結果と見比べる、多大なCreSSの設定に関する項目を熟考し、より最適な設定を選ぶ、またはCReSSのプログラムを改良する、など多くある。今回は、多量な標高データを結合させるプログラムの作成、土地利用データ作成、に時間を費やしてしまい、満足なシミュレーションをすることができなかった。しかし、高解像シミュレーションをする際に必要な基盤整備は行うことができた。これらを使って、より最適な設定を見つけ出し、シミュレーション結果からの改善点を考えることで、目的としていた気象場の高解像度計算は可能なものとなるはずである。