分布型格子モデル
DEMを格子化し、各セルで有効降雨、表面水深、流下方向、流出量を計算します。
Rainfall Runoff / Kinematic Wave / Python
DEMから流下方向を求め、降雨・損失雨量・粗度係数を与えて、斜面流の流下と流域出口のハイドログラフを計算するPythonベースのデモです。 砂防・斜面・小流域の降雨流出解析のプロトタイプとして利用できます。
Overview
キネマティックウェーブ法は、斜面や河道の流れを「水深・勾配・粗度」から求める簡略化された流出モデルです。 分布型にすると、DEM格子ごとに降雨入力と流下方向を持たせられるため、斜面ごとの流出集中、到達時間、ピーク流量の変化を説明しやすくなります。
DEMを格子化し、各セルで有効降雨、表面水深、流下方向、流出量を計算します。
慣性項を省略し、流量を水深と勾配の関数として扱うため、斜面流のデモや小流域の概略計算に向いています。
NumPy中心の軽量構成で、後からGeoTIFF DEM、降雨時系列、土地利用別粗度、流域界に差し替えられます。
Sample Output
サンプルでは、時間変化する降雨を与え、各セルで有効降雨を計算し、D8流下方向に沿って水量を下流へ受け渡します。 出口セルの流量を時系列で集計することで、簡易ハイドログラフを確認できます。
Demo Result Figures
分布型キネマティックウェーブ法のデモとして、流域出口ハイドログラフ、セル別の表面水深・流速分布、 到達時間・流下経路、降雨条件変更時のピーク比較を図化したものです。 実データに置き換える場合も、同じ構成で計算結果を確認できます。
Input
Output
Workflow
実務化する場合は、GeoTIFF DEM、降雨データ、土地利用・地質に応じた損失条件を読み込み、観測流量でパラメータを調整します。
Python Source Sample
以下は scripts/kinematic_wave_slope_runoff_sample.py の内容です。
NumPyのみで計算の骨格を確認でき、matplotlibがある場合は水深分布とハイドログラフをPNG出力します。
kinematic_wave_slope_runoff_sample.py をダウンロード
読み込み中... Note
このデモは斜面流出解析の考え方を説明するための簡易モデルです。実流域へ適用する場合は、河道追跡、損失雨量、飽和・不飽和浸透、観測流量によるキャリブレーション、土砂流出や流木条件との連携を検討します。