流域地形データセットを基盤とした山腹斜面系 kinematic wave モデルの構築
流域地形を表現する二つのデータセット(node format V.0 データセット・
edge format V.0 データセット)を基盤として山腹斜面系 kinematic wave モデルを
構成する方法について説明します。
山腹斜面系 kinematic wave モデルを構成する手順は以下の通りです。
- edge format V.4 データセットの作成
- edge connection data V.4 データセットの
作成
- edge connection data V.4 データセットの並 び替え
- edge connection V.5 データセット
の作成
- 各斜面素片に対するパラメタファイル・初期状 態量ファイルの作成
- 構造定義ファイルの作成
- 降雨データの生成
- 流出計算
- その他
edge format V.4 データセットの作成 (Last update, Jan. 07, 2007)
edge connection data V.4 データセットの作成 (Last update, Nov. 06, 2007)
edge connection V.4 データセットの並び替え( Last update, Jun. 27, 2007)
- 用いるプログラム
edgeOrder-3.3 (g++ ver. 3.4.4, 3.4.6 でコンパイル確認)
- 概要
入力ファイルである edge connection V.4 データセットを、
流出計算できる順序にエッジの情報を並び替えて、再び edge
connection V.4 データセットとしてファイルに書き出すプロ
グラムです。
- 使い方
edgeOrder iFile oFile
- 入力ファイル
- iFile : edge connection V.4 データセット(入力ファ
イル)
- 出力ファイル
- oFile : 計算順にならべられた edge connection V.4 データ
セット(出力ファイル)
edge connection V.5 データセットの作成 (Last update, Jan. 07, 2007)
各斜面素片に対するパラメタファイル・初期状 態量ファイルの作成 (Last update, Nov. 26, 2007)
構造定義ファイルの生成 (Last update, Nov. 21, 2007)
- 河道区分の接続状況ファイルの作成
- 概要および使い方
- makeConnect は Plain format V2 形式で記述されている河道網データセットを入力とし、河道区分の接続状況ファイルを作成します。このデータが次の
connect2SCF の入力データとなります。
- 詳しくはパッケージの説明書を見てください。
- 入力ファイル
- Plain format V2 で作成された河道網データセット。remakeRiverData または removeSegment で 消去された河道区分番号がある場合は、それを抜いた PF2 を作成してそれを入力データとする必要がある。
- 出力ファイル
- 河道区分接続状況ファイル。このファイルが connect2SCF の入力ファイルとなる。
- [開発者] 佐山敬洋
- [修正]
- makeConnect で作成する河道区分接続状況ファイルの最下端にダミーの河道区分番号を入れた。connect2SCF で利用する河道区分接続状況ファイルは、ここで使う
PF2 データを完全に包含している必要があるため、そのようにした。ダミーの河道区分番号は、PF2データに登録された河道区分番号の最大値に1をたしたものとした。Nov.
21, 2007 立川
- [注意]
- もし、remakeRiverData または removeSegment で 消去された河道区分番号がある場合は、それを抜いた PF2 を作成してそれを入力データとするか、できた接続状況ファイルを手作業で修正する必要があります。現時点では、自動的に処理するプログラムはありません。
- 構造定義ファイルの自動生成
- 概要および使い方
- 入力データである Plain Format V2 の河道網を骨格として構造定義ファイルを作成します。
- PF2 データと connect2SCF は、makeConnect で作成した接続状況ファイルが対象とする流域の内部でないといけません。逆に言えば、流域全体の
PF2 ファイルから作成した接続状況ファイルがあれば、どこを対象としようと、常に流域全体の接続状況ファイルを用いることができます。
- connect2SCF は河道区分の長さと標高差および勾配を記述したファイルを必要とします。これらを得るためには calcSegShape-1.4.tgz
(下にリンクあり)を使うとよいでしょう。calcSegShape で河道区分の長さと勾配を計算して、connect2SCF が要求するフォーマットに変換してください。
- また、connect2SCF は河道区分の幅を記述したファイルを必要とします。河道幅のデータを作成するプログラムは準備していませんが、それぞれの河道区分の上流面積を求めるプログラム
UpperSegInf-1.1.tgz (下にリンクあり)があります。いくつかの河道区分の河道幅を収集し、河道幅と流域面積を関係付ける場合に使えるでしょう。UpperSegInf
はsumArea で計算した河道区分に接続する部分流域の面積を記録したファイルと makeConnect で作成した河道区分の接続状況ファイルを利用します。
- 詳しくはそれぞれのパッケージの説明書を見てください。
- 入力ファイル
- 構造定義ヘッダーファイル
- makeConnect で作成された河道区分接続状況ファイル。対象流域を完全に含むファイルでなければならない。
- Plain format V2 で作成された河道網データセット.この河道網を対象として構造定義ファイルが作成される。remakeRiverData または removeSegment で消去された河道区分番号がある場合は、それを抜いた PF2 を作成してそれを入力データとする必要がある。
- removeSegment で作成された河道区分再構成対応表
- 河道属性ファイル1(河道区分番号, 長さ[m], 標高差[m], 勾配)。構造定義ファイルの対象となる河道区分が含まれていること。対象とする河道区分以外の河道区分情報が含まれていてもよい。河道区分の順番は問わない。
- 河道属性ファイル2(河道区分番号、河道幅 [m]。構造定義ファイルの対象となる河道区分が含まれていること。象とする河道区分以外の河道区分情報が含まれていてもよい。河道区分の順番は問わない。
- diffluence.dat 分流がなければ空ファイルを用意する。
- diffluence_in.dat 分流がなければ空ファイルを用意する。
- 出力ファイル
- 構造定義ファイル
- 構造定義パラメタファイル
- 構造定義初期値ファイル
- [注意] connect2SCF-1.3 は、これ以前の connect2SCF とファイルを読み込む順番が異なる。 connect2SCF
の入力設定ファイルで最初に構造定義ファイル作成用のヘッダーファイルを読み込むように変更したので、注意してほしい。
- [開発者] 佐山敬洋
- [修正]
- 入力ファイルを読み込む順番を変更した。ver, 1.3 以降とそれ以前とで異なるので注意。Nov. 09, 2007 立川
- [注意]
- remakeRiverData または removeSegment で 消去された河道区分番号がある場合は、それを抜いて作成した接続状況ファイルが必要となる。
降雨データの生成
- 用いるプログラム
- 概要および使い方
複数の地点雨量データから ksedgefc2d の降雨入力データを作成する Fortran90 のプログラムです。
- コンパイル
- インテルコンパイラーを用いる場合 $ ifort Point2DistRain.f90
- cygwin g95 を用いる場合 $ g95 Point2DistRain.f90
- ソースプログラムの最初に解説があります。それに従って必要なファイルを準備してください。また、いくつかのパラメータをソースプログラム中にパラメータ文で指定する必要があります。
- g95 は http://ftp.g95.org/ から g95-x86-cygwin.tgz をダウンロードして root Cygwin directory
で展開するだけで使えるようになります。cygwin がインストールされている必要があります。
- [開発者] 佐山敬洋
- [修正者] 立川康人
流出計算
- 用いるプログラム
- ksedge-4.2 分布型流出モデル。2次元降雨は扱うことはできません。
- ksedgefc2d-1.3.1 時間空間的に分布する降雨を入力することができる分布型流出予測システム。ksedge を拡張したものです。時空間分布する降雨量と蒸発散量を入力とします。斜面流れの流量流積関係式には水工学論文集(立川・永谷・寶
: 飽和不飽和流れの機構を導入した流量流積関係式の開発, pp. 7-12, vol. 48, 2004)を用いています。
- 必要となる計算機環境。ソースプログラムのコンパイルには C++ 版の OHyMoS が必要です。開発者は Cygwin または Linux 環境を利用しています。
- 概要および使い方
こちら を参照してください。
その他
- plain format V.1,2 から各河道区分の長さと平均勾配を計算するプログラム
- calcSegShape-1.4.tgz g++ 3.4.4 でコンパイル確認。
- calcSegShape は、plain format V.1,2 から各河道区分の長さと平均勾配を計算するプログラムです。
- ver. 1.4 から出力形式を segment shape format V.2 にしました。V.1 との違いは、河道区分の標高差も出力した点です。
- 最初のプログラムにあたる calcLinkShape はかなりずぼらなプログラムで、河道区分端点の標高値が欠測の場合は、あっさりあきらめて、その河道区分の勾配は
ユーザが指定するデフォルトの値にしていました。 calcSegShape はすこしだけあきらめが悪くて、河道区分端点の 標高値が欠測でも、河道区分内に一つでも標高が与えられている点があれば、デフォルトの勾配を使って、その点から端点の標高を外挿するようにしました。実際には、標高の与えられている点が一つしか
ない場合は、結局デフォルトの勾配になってしまうのですが、二つ以上あるときは、その標高値も勾配の計算に使われるので、 calcLinkShape
よりはましだと思います。それと、calcLinkShape では長さが 0 の河道区分のことを考慮に入れていなかったので、これにも対応しました。長さが
0 の場合は勾配はデフォルト値とします。
- [開発者] 市川 温
- 流域面積を計算するプログラム
- sumArea-3.1.tgz g++ 3.4.4 でコンパイル確認。
- sumArea.cc は、edge format V.0, V.1, V.2, V.4, edge connection V.1, V.2,
V.3, V.4, V.5, node format V.0 データセットに記録されているエッジの面積
の総和を算出し、標準出力に書き出すプログラムです。
- [開発者] 市川 温
- 河道区分の上流面積を計算するプログラム
- UpperSegInfo-1.1.tgz Nov. 30, 2007
- sumArea で計算した流域面積と makeConnect で作成した河道区分接続状況ファイルを用いて、河道区分の上流面積および上流に存在する河道区分を出力します。
- 流域面積ファイルは河道区分接続状況ファイルにある河道区分の順に河道区分上流の面積が並べられたファイルです。
- 入出力ファイル名や河道区分数はプログラム中のパラメータ文で設定して再コンパイルする必要があります。
- フォートランのプログラムです。プログラムの最初に解説があります。
- [入力ファイル]
- makeConnect で作成した河道区分接続状況ファイル。(注意) extractNetwork を用いて、ある河道区分よりも上流の河道区分を抽出し、そのPF2ファイルを用いて河道区分接続状況ファイルを作成してください。
- 単位流域の流域面積を記述したファイル(注意)extractNetwork を用いてできた河道区分番号ファイルを利用し、その河道区分の順番で sumArea を動作させて面積ファイルを作成してください。シェルスクリプトを使うとよいでしょう。シェルスクリプトの書き方はこのフォートランプログラムの中に記述されています。
- [出力ファイル]
- 各河道区分の上流面積を記述したファイル
- 各河道区分の上流河道区分番号と上流面積を記述したファイル
- [注意]
- 2つの入力ファイルの河道区分情報は同じ順番に並んでいなくてはなりません。また、2つのファイルは、どちらも同じ河道区分の上流の河道区分情報を含んだものでなければなりません。
- (重要)makeConnect で作成した河道区分接続状況ファイルは、makeConnect の入力であるPF2の最下流のさらに下流にダミーの河道区分を設定します。そこで、入力の面積ファイルにも河道区分接続状況ファイルで設定されたダミーの河道区分番号と面積の値(ゼロとする)を一行目に加えてください。
- [開発者] Kim Sunmin
- [修正者] 立川康人
- EC5 形式のデータを gnuplot で描画するためのプログラム(perl のスクリプト)
- slopePlot-1.0.tgz Dec. 15, 2007
- edge connection V.5 データセットに記録されている斜面位置座標を切り出して gnuplot 描画用のファイルを標準に書き出します。
- [開発者] 立川康人
$Lastupdate: Dec. 15, 2007 $