メソ気象モデル程度のグリッド格子を単位とした水文モデル構築システム
Last update: May 27 19:55:42 2001
plain format V2 形式の河道網データ
( チャオプラヤ河 ,
淮河 )
が存在することが前提となります。
その上で、以下の手順でモデルを構築します。
- 流域分割
メソ気象モデルのグリッド格子に合わせて河道網データを分割します。
基本的には、このグリッド格子を単位として、降雨から河道までの
流出過程と河道での流れをモデル化します。ただし、河道網の接続の
仕方によっては、さらに流域を分割する必要があります。
- パラメータファイル・初期設定ファイルの作成
モデルパラメータを設定するファイル、モデルの初期状態を設定する
ファイルを作成します。
- 降雨データ・蒸発散量データの作成
部分系ごとに降雨データと蒸発散量データを作成します。データ名
はインデックスファイル(suikei.idx)で決めているファイル名です。
- 流出モデルの実行
流域分割
以下の 1. から 6. の手順に従って
ます流域分割を行います。この作業により、流域分割および
分割流域間の接続関係が確定します。
- plain format V2 形式のデータをグリッド格子ごとに分割します。
分割には gcnd を用います。
gcnd では、グリッド分割するために、グリッド群の四隅の情報
データを必要とします。このデータをつくり出すためには
newGridBox を使うと
便利です。これらのプログラムを利用して,
淮河流域内部を対象とした
10 分グリッドの pfV2 形式のデータセット ),
淮河流域外部を対象とした
10 分グリッドの pfV2 形式のデータセット ) を作成しました.
- グリッド格子ごとに分割した河道網データセットを作成したら、
次に makeSubNetwork
を利用して、グリッドごとに分割した河道網データセットをさらに
サブネットワークごとに分割します。
一度に作業を行うためには shell script
autoMSN を使うと便利です。これにより、
sub-network format V2 形式の河道網データが作成されます。
基本的には、これを単位として
流出モデルを構成します。この単位となるモデルを以下部分系モデル
と呼ぶことにします。このプログラムを用いて,
淮河流域内部を対象とした pfv2 形式のデータセットから
snf2 形式のデータセット を作成しました.
- sub-network format V2 形式で記述されている河道網データセットが
できたら、次に、
makeSubConnect を利用して、河道区分接続状況ファイル、
部分系インデックスファイル、および端点番号-端子番号対応表を生成します。
流出計算時の部分系モデル内部でのデータの受渡しは、こららの情報をもとに
行われます。makeSubConnect を起動すると、入力ファイルである一つの
部分水系河道網データセットに対して、
- 一つの河道区分接続状況ファイル
- インデックスファイルの内の一行
- 端点番号-端子番号対応表の内の数行(上流端数+下流端数)
を生成します。流域全体のインデックスファイル・番号対応表を得るため
には、シェルスクリプト(setFlowDataset)を用いて、流域内の全ての部分水系
データセットを入力として makeSubConnect を起動させます。
- 次に、
makeGridConnect を利用して、
gcnd 起動時に作成されるグリッド間の接続情報ファイル
(***-connect.dat) と、makeSubConnect 起動時に作成される端点
番号--端子番号対応表 (epnum_prtnum.tab)とから部分系モデル間の
接続情報を記述したファイルを生成します。
- 基本的には、4. までの作業で流域分割は終了なのですが、河道網の形状と
流域分割の結果、あるループが生じることが原因となって河道追跡の計算が
できないことがあります。以下、このループをオブジェクト間ループ
と呼ぶことにします。このループの解消は、ある部分系モデルをさらに
分割することで解決することができます。このようなループが存在して
いるかどうかを findObjLoop4
を用いて検出します。なければ、流域分割の作業は終了です。あれば、
次の手続きで、ループの原因となる部分系を細分割します。
- solveObjLoop2 を用いて、
流域内に存在する原因オブジェクトとなる河道網を分割します。
一連の作業を一度に行うためのスクリプト terminateObjLoop.pl
が準備されています。
パラメータファイル・初期設定ファイルの作成
次に、流出モデルを動かすための
パラメータファイルと初期状態ファイルを作成します。
- 部分系ごとに河道網の長さ・勾配を計算します。プログラムパッケージ
は calcLinkShape_rsys
です。
- 対象流域外の河道網データセットについても、グリッドごとの
河道長を求めておきます。この情報は、流域境界を含むグリッド格子
での対象流域部分の面積を求めるために利用します。このために、
ます、対象流域外の河道網データセットについても、
gcnd をもちいて
対象流域河道と同じグリッド格子に分割します。次いで、
calcLinkShape_rsys
を用いて、対象流域外河道の長さを求めます。
- 各グリッドごとの面積を求めます。
calcGridArea を用います。
- 流出モデルの入力ファイルであるパラメータファイルを作成します。
makePmtFile-1.1 を用います。
- 流出モデルの入力ファイルである初期状態ファイルを作成します。
makeIstFile を用います。
- 以上でパラメータファイルと初期状態ファイルの作成は終了しました。
さらにパラメータファイルを書き換えるためのプログラムが準備されて
います。
- 河幅を上流の面積に応じて決定し、パラメータファイルを書き換えます。
そのために、まず各部分系より上流の面積を
calcUpperArea を用いて
計算します。次ぎに、得られたファイルを入力とし、
modWidth_pmt を用いて
パラメータファイルを書き換えます。
- 山地と平地とで異なるパラメータを設定します。そのために
portion_pmt を用いて
パラメータファイルを書き換えます。
降雨データ・蒸発散量データの作成
部分系モデルごとに降雨データ・蒸発散量データの空間平均データセット
を作成します。作成のためのプログラムの見本として以下のプログラムが
あります。
-
坂井君(1997年度修士了)は、
makeRainData.tgz
を用いて DID (タイ国王立灌漑局)の観測による地点降雨データから
グリッド格子ごとの降雨データを作成しました。
-
川上君(1999年度修士了)は、 copyRain.sh
を用いて雛型の降雨データを部分系ごとの降雨データファイルにコピーし、
入力データとしました。彼は、実測データが修論の時点において入手できなかった
ために、とりあえず、モデルの動作を確かめるために、このようにして
降雨データを作成しました。
-
水主君は、田中さん(京都大学防災研究所水資源研究センター)から
提供された Huaihe 流域のグリッド平均降水量、 SiBUC で計算された
グリッド平均蒸発散量を この流出システムへの入力
とするために、まず、 makeGridData.cc
というプログラムでグリッドごとにデータを切り出し、次に
makeInputData.pl を用いて、細分割した
グリッドに対応する入力データを生成しました。
流出モデルの実行
以上でモデルを動かすための準備がすべて整いました。流出計算プログラムの
パッケージは mcrGrdHM-01.tgz です.
この中には
- gridTotal 流出要素モデルとして新安江モデルを用い,河道モデルとして
集中型河道網 kinematic wave モデルを用いたプログラム
- gridTotalNorouting 流出要素モデルとして新安江モデルを用い,河道モデルは
導入しないプログラム
- gridTotalSIBUC 流出量をデータセットとして入力し,河道モデルを導入したプログラム
が含まれます.
淮河流域を10分グリッドに分割した場合のデータセットがサンプルデータとして
含まれています.これらのプログラムをコンパイルするためには
OHyMoS ver. 2 2 が必要です.
OHyMoS の最新版と各種情報
は 京都大学大学院工学研究科
土木システム専攻 水文・水資源研究室 から取得することができます.
$Lastupdate: Sun May 27 19:44:11 2001 $