雨水管・マンホール解析
SWMMのノード、リンク、サブキャッチメントを使い、管渠流量、マンホール水位、越水量を時系列で計算します。
PySWMM / EPA SWMM / Inland Flood
PySWMMは、EPA SWMMの雨水流出・雨水管・マンホール・ポンプ・貯留施設の解析を Pythonから実行、監視、制御するためのライブラリです。このデモでは、都市排水管網の水位・流量・越水量を計算し、 越水量を2次元浸水解析へ渡すためのCSV出力までを整理します。
Overview
内水氾濫は、降雨が排水能力を超え、雨水管・水路・ポンプ・吐口で排水しきれなくなることで発生します。 PySWMMでは、SWMMの入力ファイルをPythonから実行し、マンホール水位、管渠流量、越水流量、ポンプ状態などを時系列で取得できます。 地表面の2D浸水深分布が必要な場合は、PySWMMで得たマンホール越水量をANUGAなどの2Dモデルへ点源として渡します。
SWMMのノード、リンク、サブキャッチメントを使い、管渠流量、マンホール水位、越水量を時系列で計算します。
PySWMMからSWMMモデルを実行し、複数降雨ケース、ポンプ制御、結果CSV出力をPythonで自動化します。
マンホール越水量を座標付きCSVへ変換し、ANUGAなどの2次元氾濫解析へ点源として受け渡します。
1D + 2D Coupling
PySWMM単体でもマンホール越水量や排水能力不足の評価はできますが、道路上の浸水深分布や流速分布を詳細に描くには、 地表面2D氾濫モデルと組み合わせるのが実務的です。 まずPySWMMで越水地点・越水量を求め、次に越水量CSVを2D解析へ入力する構成にすると、 都市排水施設と面的な浸水範囲を分けて検討できます。
実務では、管渠台帳、マンホール地盤高、管底高、吐口水位、ポンプ能力、浸水実績によるキャリブレーションが重要です。
time,node_id,x,y,overflow_m3s
2026-05-02 00:10,MH001,139000.0,35000.0,0.12
2026-05-02 00:15,MH001,139000.0,35000.0,0.35 Input
Output
Result Figures
小規模な排水ネットワークを想定し、設計降雨、ノード水深、管渠流量、マンホール越水量、2D解析への接続フローを可視化しています。
短時間強雨を想定した降雨条件を与え、排水区から管網へ流入する雨水流出を計算します。
排水能力を超えたノードで越水が発生する時刻とピーク流量を確認します。
マンホール水深が最大深に近づく過程を確認し、越水発生の原因を把握します。
管路ごとの流量変化を比較し、満管・逆流・ボトルネックになりやすい区間を確認します。
マンホール位置と総越水量を平面図上に表示し、2D氾濫解析へ渡す点源候補を整理します。
SWMM管網解析、越水量抽出、ANUGA等の2D浸水解析、QGIS・Web可視化までの流れです。
Files
Astroサイト上で確認できる入力データ、出力CSV、Pythonサンプルを同梱しています。
References
PySWMMはEPA SWMMをPythonから操作するライブラリです。入力ファイルの仕様や水理・水文計算の意味はEPA SWMMマニュアル、 Python APIの使い方はPySWMM公式ドキュメントとGitHubを参照してください。
Python Source
PySWMMがインストールされていない環境でも確認できるよう、--synthetic で疑似計算結果を出力できる形にしています。
実務版ではSWMM入力ファイル、管渠台帳、降雨時系列を差し替えて利用します。
run_pyswmm_inland_demo.py をダウンロード
読み込み中... 2D Source Export
PySWMMの時系列結果とマンホール座標を結合し、ANUGA等で読み込みやすい
time,node_id,x,y,overflow_m3s 形式へ変換します。
export_overflow_sources_for_2d.py をダウンロード
読み込み中...