0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TELEMAC-MASCARETとは何を計算するソフトウェアなのか

0
Posted at

TELEMAC-MASCARETとは何を計算するソフトウェアなのか

今回は、オープンソースの水理解析システム TELEMAC-MASCARET を扱います。

TELEMACという名前だけを見ると「2次元洪水解析ソフト」のように思えますが、実際にはもう少し大きなシステムです。

河川の1次元流れ、2次元・3次元の自由表面流、洪水氾濫、沿岸流、波浪、土砂移動などを、それぞれの解析モジュールを組み合わせながら扱える数値解析環境になっています。

ChatGPT Image 2026年9月2日 17_21_54.png

TELEMACはフランス電力EDFの研究開発部門で開発されてきたシステムで、現在はオープンな開発体制で公開されています。2010年のVersion 6.0からオープンソース化され、現在も継続して開発されています。

この記事で扱うのは、その中でも洪水・河川解析に関係の深い TELEMAC-2D です。

また、TELEMAC、HEC-RAS、NILIM2.0は、いずれも河川・洪水解析に利用できるシステムですが、設計思想や対象範囲はかなり異なります。

今回は、まずTELEMAC-2Dを実際に動かし、その後、同じような計算条件をNILIM2.0やHEC-RASと比較しながら、それぞれの特徴を確認していきます。


TELEMACは一つのソルバーではない

ここは最初に整理しておいた方が分かりやすいところです。

「TELEMACを使う」と言っても、すべての解析をTELEMAC-2Dだけで行うわけではありません。

目的に応じて使うモジュールが変わります。

モジュール 主な役割
MASCARET 河川・水路の1次元自由表面流
TELEMAC-2D 河川、洪水氾濫、沿岸流などの2次元解析
TELEMAC-3D 河口、沿岸、貯水池などの3次元解析
GAIA 掃流砂、浮遊砂、侵食、堆積、河床変動
TOMAWAC 風波、沿岸波浪
ARTEMIS 港湾や湾内などの波浪解析

公式のインストール資料でも、TELEMAC-MASCARETはこれら複数の水理・輸送モジュールから構成されるシステムとして整理されています。

河川や洪水を中心に見るなら、まずは次の3つを押さえておけば十分です。

MASCARET
    1D河道・水路

TELEMAC-2D
    2D河川・氾濫原

GAIA
    土砂移動・河床変動

今回のStep 1では、さらに対象を絞って TELEMAC-2D から始めます。


TELEMAC-2D

TELEMAC-2Dは、水深方向に平均化した2次元の自由表面流を計算するソルバーです。

基本となるのはSaint-Venant方程式、いわゆる浅水流方程式です。

各計算点では主に、

水深 h
流速 U
流速 V

を求めます。

概念的には、

地盤高
  ↓
水深
  ↓
水位
  ↓
X方向流速
Y方向流速
  ↓
周囲へ水が移動

という計算を時間方向に繰り返します。

そのため、河川だけでなく、

洪水氾濫
ダム決壊
破堤
河川流
氾濫原
河口
沿岸域

などを同じ2次元流れの問題として扱えます。

公式資料でも、TELEMAC-2DはSaint-Venant方程式を解き、水深と2方向の流速を計算する2次元自由表面流モデルとされています。また、河川や洪水氾濫原のように、計算領域の一部が乾燥した状態から浸水していく問題にも対応しています。


TELEMAC-2Dの特徴は三角形の非構造メッシュ

TELEMAC-2Dを理解するうえで重要なのが、計算メッシュです。

TELEMACでは、基本的に三角形の非構造メッシュを使います。

ChatGPT Image 2026年9月2日 17_23_45.png

全域を同じ大きさの格子にする必要はありません。

例えば、

河道
    5~10 m

堤防周辺
    10~20 m

氾濫原
    20~50 m

のように、流れを細かく確認したい場所だけメッシュを細かくできます。

これは蛇行した河川、支川、堤防、道路盛土など、形状が複雑な場所を扱うときに使いやすい特徴です。

公式にも、TELEMAC-MASCARETでは三角形の非構造格子を採用し、必要な場所だけ局所的に細分化できることが特徴として説明されています。


有限要素法だけではない

TELEMACは有限要素法のソフトとして紹介されることがあります。

これは間違いではありませんが、現在のTELEMAC-2Dでは 有限要素法と有限体積法の両方を利用できます。

TELEMAC-2D
     │
     ├── Finite Element
     │      有限要素法
     │
     └── Finite Volume
            有限体積法

これは、TELEMACを単純な「昔からある有限要素法の河川モデル」と考えない方がよい理由の一つです。

通常の河川流だけでなく、破堤やダム決壊のように急激に水位や流速が変化する問題も対象になります。


Wet / Dryを扱える

洪水氾濫解析では、最初から計算領域全体に水があるわけではありません。

乾燥
 ↓
洪水到達
 ↓
浸水開始
 ↓
浸水拡大
 ↓
ピーク
 ↓
排水
 ↓
乾燥

という変化を扱う必要があります。

TELEMACでは、このような乾燥域と湿潤域の変化を扱う機能が用意されています。

TELEMACでは歴史的に Tidal Flats という言葉が使われていますが、海岸の干潟だけを意味する機能ではありません。

洪水氾濫原も対象です。

日本の洪水解析で考えると、

河道
  ↓
堤防越流・破堤
  ↓
乾燥していた氾濫原へ流入
  ↓
浸水域が拡大

という計算に関係する部分です。


MASCARETは1D河道を担当する

TELEMAC-MASCARETには2次元だけでなく、1次元河道解析もあります。

それが MASCARET です。

MASCARETもSaint-Venant方程式を基本とし、

Node
  ↓
Reach
  ↓
Cross Section

のような1次元河道モデルを扱います。

河川ネットワーク、常流・射流、定常・非定常流、洪水波、ダム決壊などを計算できます。

考え方としては、

MASCARET
      ↓
1D河道

TELEMAC-2D
      ↓
2D河川・氾濫原

と考えると分かりやすくなります。


TELEMACは河川だけでは終わらない

TELEMAC-MASCARETの特徴は、2D洪水解析からさらに先へ拡張できることです。

例えば土砂移動を扱う場合はGAIAを組み合わせます。

ChatGPT Image 2026年9月2日 17_25_45.png

これによって、

洪水
 ↓
流速増加
 ↓
河床洗掘
 ↓
河床形状変化
 ↓
流れが変化

という現象まで扱えます。

現在のTELEMACでは、土砂輸送についてはGAIAが新しい中心的なモジュールとして開発されています。

沿岸部へ対象を広げる場合はTOMAWACなどを使えます。

風
 ↓
TOMAWAC
 ↓
波浪
 ↓
TELEMAC
 ↓
沿岸流
 ↓
GAIA
 ↓
土砂移動

TOMAWACは風波や沿岸域の波浪伝播を扱うモジュールで、TELEMACとの連成も想定されています。

このあたりまで来ると、TELEMACが単なる洪水氾濫ソフトではなく、河川・沿岸を対象にした数値解析基盤であることが分かります。


HEC-RASとの違い

河川解析ソフトとして最初に比較したくなるのがHEC-RASです。

HEC-RASも、

1D河川
2D氾濫
1D/2D連成
橋梁
カルバート
堰
ダム決壊
土砂

などを扱えるため、対象とする現象にはかなり重なる部分があります。

HEC-RAS公式資料でも、1D定常流、1D・2D非定常流、1D/2Dを組み合わせた解析、土砂移動などを一つのシステムで扱えることが説明されています。

ただし、使い方の考え方には違いがあります。

HEC-RASの大きな特徴は GUIとRAS Mapperが強いことです。

Terrain
   ↓
River
Cross Section
2D Flow Area
Breakline
Structure
   ↓
Mesh
   ↓
Calculation
   ↓
RAS Mapper
   ↓
浸水深・水位・流速

という一連の作業をGUI上で進められます。

RAS Mapperでは地形、河道、横断面、2Dメッシュ、解析結果などを地図上で編集・確認できます。

一方、TELEMACはHEC-RASほど「GUIを中心に操作するソフト」という性格ではありません。

Mesh
Boundary
Steering File
Fortran / Python
        ↓
TELEMAC
        ↓
Result

という、数値解析プログラムに近い使い方になります。

その分、計算方法やソースコードを深く触りたい場合にはTELEMACの方が自由度があります。


NILIM2.0との違い

今回TELEMACを調べる理由の一つが、これまで扱ってきた NILIM2.0との比較です。

現在取り組んでいるNILIM2.0では、

ChatGPT Image 2026年9月2日 17_26_26.png

という構成を基本にしています。

Input Studioでも、

1D Node / Reach
2D Mesh
Boundary
Structure
DomainConnection

を地理的、水理的な接続関係として管理する方向で整理しています。

一方、TELEMACでは、

ChatGPT Image 2026年9月2日 18_25_37.png

と、対象とする物理現象ごとに解析モジュールが広がっています。

そのため両者は、同じ洪水計算を扱っていてもシステム全体の範囲が違います。


NILIM2.0・HEC-RAS・TELEMACを並べてみる

現在の目的に合わせて整理すると、次のようになります。

項目 NILIM2.0 HEC-RAS TELEMAC-MASCARET
主な対象 河川・洪水氾濫 河川・洪水 河川・洪水・沿岸
1D河道 ○ MASCARET
2D氾濫 ○ TELEMAC-2D
1D/2D システム内に1D/2Dモジュールを持つ
3D流体 - 基本対象外 ○ TELEMAC-3D
土砂 対象により対応 ○ GAIA
波浪 - 基本対象外 ○ TOMAWAC / ARTEMIS
メッシュ 2D計算格子 2D Flow Area 三角形非構造格子
GUI Input Studioを別途構築中 強い 前処理ツールを組み合わせる
GIS Input Studio / OpenLayers RAS Mapper QGIS等との組み合わせ
ソース改造 現在Python/Fortranで対応 限定的 強い
Fortran -
Python連携 現在構築中 外部連携
MPI並列 今後の拡張対象 対応
得意な方向 国内河川・洪水モデル 河川実務とGUI 数値解析・研究・大規模計算

単純に、

TELEMACの方が上
HEC-RASの方が上

という関係ではありません。

それぞれ得意な方向が違います。


HEC-RASは「モデルを作る環境」が強い

HEC-RASは、河川技術者がモデルを作って計算し、結果を確認するところまでが一体化しています。

入力作成
 ↓
計算
 ↓
結果確認
 ↓
地図表示

が一つのアプリケーションの中で完結しやすいのが大きな利点です。

そのため、河川実務でモデルを作り始めるまでの敷居は比較的低くなっています。


TELEMACは「計算エンジンを扱う環境」が強い

TELEMACは少し性格が違います。

Fortran
Python
MPI
Mesh
Boundary
Numerical Scheme

といった部分がユーザーから比較的近い場所にあります。

公式のLinux向け導入でも、Fortranコンパイラ、Python、MPI、METISなどを組み合わせて構築する形が示されています。特にLinuxユーザーや開発者については、Gitからソースコードを取得して自分の環境でビルドする方法が案内されています。

つまり、

HEC-RAS
    ↓
完成された河川解析アプリケーション

TELEMAC
    ↓
変更・拡張できる水理数値解析システム

という違いがあります。

もちろん実際にはHEC-RASにも高度な機能がありますし、TELEMACにも前処理・後処理ツールがあります。

ここでは、どちらが優れているという意味ではなく、使い始めたときの性格の違いとして捉えています。


NILIM2.0は国内河川解析を考えやすい

NILIM2.0については、今回取り組んでいる範囲では、

河道
氾濫原
水路
境界条件
構造物
1D/2D接続

を明示的にモデル化していく構成になっています。

現在作っているInput Studioでは、これを単なる「1D河道入力ツール」にはせず、

河川1D
氾濫原2D
開水路
貯留
ポンプ
境界条件
領域間接続

を地図上で組み合わせて一つの計算モデルにする方向で進めています。

TELEMACを調べることで、

NILIM2.0で現在実装しているもの
            ↓
世界的な水理解析システムでは
どうモデル化されているか

を比較できるようになります。

これはNILIM2.0のPython移植やInput Studioを設計するうえでも参考になります。


TELEMACを今回扱う理由

今回の目的は、TELEMACを紹介するだけではありません。

最終的には、

ChatGPT Image 2026年9月2日 18_20_33.png

という比較まで進めたいと考えています。

同じ条件を、

NILIM2.0
TELEMAC-2D

の両方で計算し、

水位
流量
浸水深
流速
浸水範囲
質量収支
計算時間

を比較します。

TELEMACを一つの比較対象にすることで、現在進めているNILIM2.0 Python版についても、単に「元のFortran版と一致した」という確認だけではなく、異なる数値解析モデルとの比較まで進められます。


Input Studioとの関係

もう一つ試してみたいのが、現在作っているNILIM2.0 Input Studioとの接続です。

現在は、

OpenLayers
     ↓
Canonical Project JSON
     ↓
Validator
     ↓
NILIM2.0 Exporter
     ↓
NILIM2.0

という構成にしています。

ここでTELEMAC用Exporterを追加できれば、

ChatGPT Image 2026年9月2日 18_10_47.png

という構成も考えられます。

つまりInput Studioを、

特定の計算エンジンの入力ファイルを編集するGUI

ではなく、

河川・氾濫原・構造物・境界条件を組み合わせて水理計算モデルを作るGUI

として設計できます。

この方向は、これまでInput StudioでCanonical Project JSONを正本にしてきた考え方とも合います。


まずはTELEMAC-2Dから始める

TELEMAC-MASCARETは範囲が広いため、最初からすべてを扱うと分かりにくくなります。

そこで今回は、

TELEMAC-MASCARET
        ↓
TELEMAC-2D
        ↓
公式サンプル
        ↓
単純水路
        ↓
河川
        ↓
洪水氾濫

という順番で進めます。

最初のStepでは、解析モデルを作る前に実行環境を固定します。

Windows 11
      ↓
WSL2 Ubuntu 24.04
      ↓
Docker Compose
      ↓
Ubuntu 24.04 Container
      │
      ├─ TELEMAC v9.1
      ├─ GFortran
      ├─ Python
      ├─ OpenMPI
      └─ METIS

TELEMACのLinux環境はFortranコンパイラ、Python、MPI、METISなど複数の構成要素が関係するため、Dockerで環境そのものを固定しておく意味があります。

2026年4月には公式サイトでv9.1を含むインストーラの提供が案内されています。今回の検証環境も TELEMAC v9.1 に固定して進めます。

Step 1では、

Docker Image Build
        ↓
TELEMAC v9.1 Build
        ↓
TELEMAC-2D確認
        ↓
公式Validation Example実行
        ↓
結果ファイル確認
        ↓
MPI実行確認

までを行います。

いきなり実河川モデルを作るのではなく、まず公式サンプルが同じ環境で何度でも再現できるところまでをStep 1の完了条件にします。



Step 1: TELEMAC v9.1.0をDocker Composeで動かす

ここから実際にTELEMACを動かします。

最初はTELEMACのソースをUbuntu上で一からコンパイルする予定でしたが、Step 1では方針を少し変えました。

現在はSimviaからTELEMAC v9.1.0のDockerイメージが公開されています。Open Simulation CenterにもopenTELEMAC 9.1.0のsolver-onlyコンテナが掲載されているため、まずはこちらを使ってTELEMACそのものが正常に動くことを確認します。

今回使うイメージは次です。

simvia/opentelemac:v9.1.0

latestは使いません。

記事を書いた時点と後から再実行した時点で中身が変わるのを避けるため、Step 1ではv9.1.0を固定します。

参考のために、ZIPファイルを置いておきますので、ダウンロードして活用してください。

今回の流れは次のようにしました。

ChatGPT Image 2026年9月2日 18_21_27.png

ここではまだ実河川のモデルは作りません。

最初に確認したいのは、

Docker
  ↓
TELEMAC v9.1.0
  ↓
TELEMAC-2D
  ↓
公式validation example
  ↓
逐次計算
  ↓
MPI計算

という最小経路が、同じ手順で何度でも動くことです。


なぜ最初からソースビルドしないのか

TELEMACをUbuntuで自前ビルドすると、TELEMAC本体だけでなく、Fortranコンパイラ、MPI、METIS、Python環境、設定ファイルなども同時に確認することになります。

もちろん最終的にはそこまで進めます。

ただし最初から全部を一度に扱うと、計算が失敗したときに、

TELEMACの問題なのか

コンパイラの問題なのか

MPIの問題なのか

設定ファイルの問題なのか

サンプルデータの問題なのか

を切り分けにくくなります。

そこで今回は、すでに構築されたv9.1.0コンテナを使います。

Step 1A
既成DockerでTELEMAC-2Dを動かす

        ↓

Step 1B
公式GitLabのソースから自前ビルドする

と分けます。

この方が、後で自前ビルド版を作ったときにも、既成Docker版を比較対象にできます。


OpenTELEMACの公式GitLab

ソースコードについてはEDF側のGitLabがあり、Docker版についてもOpen Simulation CenterとDocker Hubから取得できます。

公式GitLabはこちらです。

今回のStep 1ではGitLabからソースを取得する必要もありません。

Dockerイメージの中にTELEMAC本体と公式examplesが入っているため、まずそれを使います。


公式サンプルはgouttedoを使う

TELEMAC-2Dには多数のvalidation exampleがあります。

Step 1では、その中から gouttedo を使います。

/opt/open_telemac/examples/telemac2d/gouttedo

gouttedo はTELEMAC-2Dの動作確認で以前から使われているケースで、TELEMACのインストール確認例としてもよく利用されています。

実行するsteering fileは、

t2d_gouttedo.cas

です。

実行コマンドの基本形は、

telemac2d.py t2d_gouttedo.cas

MPIの場合は、

telemac2d.py t2d_gouttedo.cas --ncsize=2

のようにします。

今回はこの操作をDocker Composeから実行します。


公式examplesを直接編集しない

コンテナ内には、

/opt/open_telemac/examples

があります。

ただし、その中へ結果を書き込んだり、steering fileを書き換えたりはしません。

まず、

/opt/open_telemac/examples/telemac2d/gouttedo

をホスト側の作業領域へコピーします。

公式example
    ↓ copy
workspace/runs/gouttedo-sequential

公式example
    ↓ copy
workspace/runs/gouttedo-mpi

逐次計算とMPI計算も別々のディレクトリにします。

同じディレクトリで続けて計算すると、結果ファイルを上書きしてしまい、どちらの結果か分からなくなるためです。


フォルダー構成

今回作成したStep 1は次の構成です。

telemac_v910_step1/
├── compose.yaml
├── .env.example
├── README.md
│
├── docs/
│   ├── telemac_overview_comparison_qiita.md
│   └── telemac_step1_qiita.md
│
├── scripts/
│   ├── common.sh
│   ├── container_info.sh
│   ├── prepare_case.sh
│   ├── run_case.sh
│   ├── verify_result.py
│   ├── run_full_validation.sh
│   └── check_source_contract.py
│
├── tests/
│   └── test_contract.py
│
├── workspace/
│   └── runs/
│
└── logs/

workspace/runslogs は実行時に使います。


compose.yaml

Docker Composeでは、同じTELEMAC v9.1.0イメージを使いながら役割だけを分けています。

info
    TELEMAC環境確認

prepare
    公式gouttedoを作業領域へコピー

run-sequential
    逐次計算

verify-sequential
    逐次結果検査

run-mpi
    MPI計算

verify-mpi
    MPI結果検査

イメージは次のように固定しています。

image: ${TELEMAC_IMAGE:-simvia/opentelemac:v9.1.0}

環境変数を変更しなければ、必ずv9.1.0を使います。


.envを作成する

まずサンプルをコピーします。

cp .env.example .env

内容は次です。

TELEMAC_IMAGE=simvia/opentelemac:v9.1.0
NCSIZE=2
TELEMAC_EXAMPLE=telemac2d/gouttedo
TELEMAC_CAS=t2d_gouttedo.cas

最初のMPI確認は2プロセスにしています。

CPUに余裕があれば、後から、

NCSIZE=4

のように変更できます。


まずコンテナの中を確認する

最初にイメージを取得します。

docker compose pull info

続いて、

docker compose run --rm info

を実行します。

このサービスでは、

/opt/open_telemac

/opt/open_telemac/examples

telemac2d.py

Python

mpirun

gouttedo

t2d_gouttedo.cas

が存在するかを確認します。

正常なら最後に、

INFO CHECK: PASS

と表示します。

ここで失敗する場合は、計算へ進みません。


公式gouttedoをコピーする

次に、

docker compose run --rm prepare

を実行します。

これで、

workspace/runs/
├── gouttedo-sequential/
└── gouttedo-mpi/

が作成されます。

それぞれに公式の gouttedo 一式がコピーされます。

正常なら、

PREPARE CASE: PASS

となります。


TELEMAC-2Dを逐次実行する

まずはMPIを使わずに実行します。

docker compose run --rm run-sequential

内部では、

python3 /opt/open_telemac/scripts/python3/telemac2d.py \
  t2d_gouttedo.cas

に相当する処理を実行します。

ただしスクリプトでは、telemac2d.py がPATHにあればそちらを優先し、見つからない場合だけ /opt/open_telemac/scripts/python3/telemac2d.py を使うようにしています。

TELEMACのDockerイメージ側でCLIの配置が多少変わっても、すぐ壊れないようにするためです。

実行ログは、

workspace/runs/gouttedo-sequential/run.log

へ保存します。

正常終了すると、

RUN CASE: PASS (gouttedo-sequential)

が最後に出ます。


結果ファイルを開いて検査する

計算コマンドが終了コード0を返しただけでは、Step 1の確認としては少し弱いので、結果ファイルも検査します。

docker compose run --rm verify-sequential

verify_result.py は、最初から結果ファイル名を決め打ちしていません。

まず t2d_gouttedo.cas を読み、

RESULTS FILE

またはフランス語の、

FICHIER DES RESULTATS

から出力ファイル名を取得します。

その後、TELEMACに付属するPython APIの TelemacFile で結果SELAFINを実際に開きます。

確認するのは、

結果ファイルが存在する

ファイルサイズが0ではない

TelemacFileで開ける

計算点が存在する

時刻レコードが存在する

結果変数が存在する

ことです。

さらにSHA-256も表示します。

正常なら、例えば次のような情報が表示されます。

RESULT VERIFY: PASS
result=...
size=...
sha256=...
npoin=...
ntimestep=...
time=.....
variables=
  - ...

数値そのものの回帰比較は、まだここでは行いません。

Step 1では「TELEMACが出力した結果をTELEMAC自身のPython APIで正常に読み戻せる」ところまでを確認します。


MPIで実行する

逐次計算が通ったらMPIを確認します。

docker compose run --rm run-mpi

.env の、

NCSIZE=2

を使うので、内部では、

telemac2d.py t2d_gouttedo.cas --ncsize=2

に相当する実行になります。

結果は、

workspace/runs/gouttedo-mpi

へ保存されます。

逐次計算側とは分離しています。

続けて、

docker compose run --rm verify-mpi

を実行します。

ここでも結果SELAFINを開いて検査します。


一括検証スクリプト

実際には毎回コマンドを一つずつ実行するより、一括検証を使う方が確実です。

chmod +x scripts/*.sh
./scripts/run_full_validation.sh

このスクリプトでは、

Docker確認
    ↓
Docker Compose確認
    ↓
image pull
    ↓
TELEMAC環境確認
    ↓
gouttedoコピー
    ↓
逐次計算
    ↓
逐次結果SELAFIN検査
    ↓
MPI計算
    ↓
MPI結果SELAFIN検査

までを連続して実行します。

すべて正常なら最後に、

FULL VALIDATION: PASS

と表示します。

ログは、

logs/full_validation.log

に残ります。

後でDockerイメージや設定を変更するときも、このログを基準に確認できます。


Step 1の完了条件

今回のStep 1では、次をすべて満たした状態を完了とします。

TELEMAC v9.1.0 imageを取得できる

/opt/open_telemac を確認できる

TELEMAC-2Dコマンドを確認できる

公式gouttedoを取得できる

逐次計算が正常終了する

逐次結果SELAFINを読み戻せる

MPI計算が正常終了する

MPI結果SELAFINを読み戻せる

最終ログでは、

INFO CHECK: PASS
PREPARE CASE: PASS
RUN CASE: PASS (gouttedo-sequential)
RESULT VERIFY: PASS
RUN CASE: PASS (gouttedo-mpi)
RESULT VERIFY: PASS
FULL VALIDATION: PASS

まで確認します。


今回はまだ結果値そのものを比較しない

Step 1で確認するのは実行環境です。

そのため、

水位が理論値と一致するか

流速が別モデルと一致するか

逐次計算とMPI計算がどの程度一致するか

まではまだ検証しません。

ここで数値検証まで混ぜると、環境確認とモデル検証の境界が曖昧になるためです。

次の段階では、単純な計算ケースを使って水位、流速、質量収支などを確認できるようにします。


Dockerを使わない自前ビルドも後で行う

既成Dockerが動いたら、次に公式GitLabからv9.1系のソースを取得してUbuntu上でビルドします。

ChatGPT Image 2026年9月2日 18_22_15.png

ここまで行えば、

既成Dockerだから動いた

ではなく、

自分で構築したTELEMAC v9.1環境でも同じケースを再現できる

ところまで確認できます。

Fortranコードを変更したり、独自の水理処理を組み込んだりするのは、その後です。


この先

Step 1が通ったら、次は公式exampleを動かすだけではなく、自分で内容を把握できる小さなモデルへ進みます。

まずは、

単純な矩形領域
    ↓
地形
    ↓
三角形メッシュ
    ↓
境界条件
    ↓
TELEMAC-2D
    ↓
水位・流速

という最小モデルを作る予定です。

その後、河川と氾濫原へ広げます。

最終的には、同じ地形・粗度・流量・下流水位を使って、

NILIM2.0
      vs
TELEMAC-2D

を比較します。

TELEMACを単独で動かして終わりではなく、NILIM2.0のPython移植やInput Studioの設計を検証するための比較対象としても使っていきます。


参考リンク

この記事を書くにあたり、TELEMAC-MASCARET、HEC-RAS、NILIM2.0の公式資料を参照しました。

TELEMAC-MASCARET

TELEMAC v9.1.0 Docker / Source

HEC-RAS

NILIM2.0


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?