iRIC上のRRIは雨が降って洪水が起こるプロセスをできるだけ簡単にシミュレーションするソルバーです。まずは難しいことを考えず、できるだけ簡単な模擬流域を作って雨を降らせ、水を流してみましょう。なお、2023年7月現在、無料で利用できるRRIはiRIC v3でのみ動作します。iRIC v4用のRRIは企業会員への限定公開となっているようです。
単純な地形データを作成する
標高データ
テキストエディタで以下のようなファイルを作成しましょう。Excelで作成してテキスト形式で保存しても良いでしょう。ファイル名をdem.txtとします。
1,2行目は、標高データの列数、行数です。3,4行目は、標高データの領域の左下(南西)の角の十進緯度経度、5行目は1つ1つの標高データが占めるセル(正方形の領域)の幅(単位は度)、6行目はデータがない場所に設定する値です。6行目以下に標高値(単位はm)が3列50行並んでいます。セルの幅が0.01度(約1.1km)ですから、東西に0.03度(3km)、南北に0.5度(55km)の南に向かって少しづつ低くなる中央部がわずかに窪んだ浅い谷状の地形です。
ncols 3 nrows 50 xllcorner 0 yllcorner 0 cellsize 0.01 NODATA_value -9999 99 98 99 98 97 98 97 96 97 96 95 96 95 94 95 94 93 94 93 92 93 92 91 92 91 90 91 90 89 90 89 88 89 88 87 88 87 86 87 86 85 86 85 84 85 84 83 84 83 82 83 82 81 82 81 80 81 80 79 80 79 78 79 78 77 78 77 76 77 76 75 76 75 74 75 74 73 74 73 72 73 72 71 72 71 70 71 70 69 70 69 68 69 68 67 68 67 66 67 66 65 66 65 64 65 64 63 64 63 62 63 62 61 62 61 60 61 60 59 60 59 58 59 58 57 58 57 56 57 56 55 56 55 54 55 54 53 54 53 52 53 52 51 52 51 50 51 50 49 50
このファイルはESRI ASCII形式といって、そのままGISにラスタデータとして読み込むことができるよ。
集水セル数データ
標高データと同様、以下のファイルを作成しましょう。ファイル名をacc.txtとします。最初の6行は標高データと同じです。7行目以降は、そのセルを含む、上流にあるセルの数です。
ncols 3 nrows 50 xllcorner 0 yllcorner 0 cellsize 0.01 NODATA_value -9999 1 1 1 1 4 1 1 7 1 1 10 1 1 13 1 1 16 1 1 19 1 1 22 1 1 25 1 1 28 1 1 31 1 1 34 1 1 37 1 1 40 1 1 43 1 1 46 1 1 49 1 1 52 1 1 55 1 1 58 1 1 61 1 1 64 1 1 67 1 1 70 1 1 73 1 1 76 1 1 79 1 1 82 1 1 85 1 1 88 1 1 91 1 1 94 1 1 97 1 1 100 1 1 103 1 1 106 1 1 109 1 1 112 1 1 115 1 1 118 1 1 121 1 1 124 1 1 127 1 1 130 1 1 133 1 1 136 1 1 139 1 1 142 1 1 145 1 1 148 1
落水方向データ
あるセルからどちらの方向に水が流れているかを示すデータで、E: 1, SE: 2, S: 4, SW: 8, W: 16, NW: 32, N: 64, NE: 128です。標高データと同様の構造をしています。ファイル名をdir.txtとしましょう。
ncols 3 nrows 50 xllcorner 0 yllcorner 0 cellsize 0.01 NODATA_value -9999 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8 2 4 8
単純な降雨データを作成する
以下のデータをテキストエディタで作成しましょう。ファイル名をpre.txtとします。
経過時間[sec]、列数、行数を示す行の下に、列数×行数の降雨データ[mm/hr]が続く形式です。この例では1行1列なので、2行目には1つ0があるだけです。この0は、計算開始以前は雨が降っていなかったことを示しています。同様に、4行目の30は、0~3600[sec]の間は30[mm/hr]の雨が降り続いたことを示しています。このファイル全体として、86400秒(1日)の間、30mm/hrの強い雨が降り続いたことを表しています。
地形データと異なり、降雨データには位置情報が含まれていません。降雨データの位置は計算条件の降雨データグループで設定します。
0 1 1 0 3600 1 1 30 7200 1 1 30 10800 1 1 30 14400 1 1 30 18000 1 1 30 21600 1 1 30 25200 1 1 30 28800 1 1 30 32400 1 1 30 36000 1 1 30 39600 1 1 30 43200 1 1 30 46800 1 1 30 50400 1 1 30 54000 1 1 30 57600 1 1 30 61200 1 1 30 64800 1 1 30 68400 1 1 30 72000 1 1 30 75600 1 1 30 79200 1 1 30 82800 1 1 30 86400 1 1 30
上記4つのデータファイルをc:\RRIonIRIC\testDataフォルダに入れておきます。
iRIC v3を起動しRRIソルバーを選択する
下図のようにRRIを選択し、警告が出ても無視してOKします。RRIが含まれていない場合、別途インストールする必要があります。
計算条件の設定
iRIC/RRIが起動したら、まず計算条件①を設定します。基本条件②では、実行モードを「格子・格子属性作成」にし、データファイル設定では1で作成したデータを設定します。
続いて降雨データ①をクリックし、作成した降雨データファイルを指定②し、降雨データの位置③を設定します。この例では、左下(南西)の角の緯度経度が0,0で、経度方向に0.03度、緯度方向に0.5度の標高データと同じ領域を設定しています。
時間管理①ではシミュレーション時間②と出力回数③を指定しました。
残りのグループは以下の通りデフォルトのままとしましょう。計算条件を保存して閉じましょう。
ここでプロジェクトを保存すると良いでしょう。c:\RRIonIRIC\testフォルダを作成して保存します。
格子・格子属性の作成
計算実行①します。すると、格子がないと言われますが、無視②して進みます。プロジェクトの保存③は先ほど行っているのでどちらでも良いです。すぐにソルバーの計算が終わります。ここで一旦プロジェクトを保存⑤し、改めて同じプロジェクトを開き⑥なおしましょう。
計算実行
開きなおすと下図左のように格子ができています。計算条件①を開き、基本設定②の実行モード③を「計算実行」に変更します。保存して閉じる④をクリックします。
計算実行①をクリックするとソルバーコンソールに計算過程が表示され、本例程度ならすぐに終了します。
計算結果の表示
斜面上の水深hsと河川の水深hrを表示してみました。
どうして川の水(hr[m])は南の方にしかないの?
良いところに気づいたわね。計算条件の「河道シミュレーション設定」で河道セル判定閾値が100になっているので、acc.txtの値が100以上のセルに川ができるのよ。
一見中央列のセル全体が川のように見えるけど、1セルの幅は1km以上あることも思い出してね。川に見えるセルには斜面もあるよ。計算結果を見ると川の水深は3m程度だけど、そのセルの斜面上にも40cm程度の水が溜まっているんだ。最北部を除けば、この流域全体が水浸しだね。
じゃあ南のはしの水しんがゼロになっているのはどうして?
流域でいちばん低い場所は、シンクと言って水が流れ出る場所として扱われるんだ。シンクは台所の流しの意味だよ。
設定項目が多くて難しそうだけど、ただ動かすだけなら簡単だと思いませんか? Have fun!
コメント