世界を動かす技術を、日本語で。

Epanet-JS

概要

  • epanet-js はWebベースの水道シミュレーションアプリケーション
  • EPANET の業界標準エンジンをWASMでブラウザ上に実装
  • Placemarkのオープンソースコードを活用し新たな価値を創出
  • オープンソースと新ライセンスのハイブリッドな公開形態
  • 既存の高価な専用ソフトに比べて 大幅な改善 を実現

epanet-jsの概要と特徴

  • epanet-js は、 Iterating (Luke Butler氏・Sam Payá氏)による最新Webアプリケーション
  • EPANET の水理シミュレーションアルゴリズムをWeb地図と統合
  • 水道インフラの計画・更新を行う技術者向けツール
  • パイプや圧力の接続、将来の動作予測をサポート
  • ブラウザ上で WASM(WebAssembly) により高速シミュレーションを実現
  • 高価で旧式なWindows専用ソフト(年間約16,000ドル)と競合
  • 「パイプ数」で価格が変動する従来製品と異なり、より柔軟な利用が可能

Placemarkとの関係とオープンソースの意義

  • 開発者は以前、 Placemark という地図データ編集ツールを開発・公開
  • Placemarkは MITライセンス でオープンソース化、営利利用も歓迎
  • Placemarkのコードをベースにepanet-jsが開発され、 相乗効果 を発揮
  • IteratingはPlacemark本体にも改善を 還元 (MITライセンスでは義務でない)
  • epanet-jsのコアライブラリもオープンソース化、Webアプリ本体は Functional Source License を採用
    • 新規コードは2年後にオープンソース化される仕組み

オープンソース開発の価値と今後の展望

  • オープンソースのコードが実際のビジネスや製品に活用されることは開発者の 理想
  • ソフトウェアの多くは短命だが、 レガシーを残す ことは稀で価値が高い
  • Placemarkは汎用ツールとして「ニッチ市場」を見つけられなかったが、epanet-jsで 実用的な市場 に適合
  • 他分野でもPlacemarkコードの活用による新規ビジネス創出の可能性
  • Iteratingのような開発者がオープンソースへ還元する文化の重要性

epanet-jsの利用とコミュニティへの呼びかけ

  • epanet-js は誰でもブラウザで利用可能な水理シミュレーションツール
  • 水道システムや水理解析に関心のある技術者に 推奨
  • コミュニティによるフィードバックや改善提案を歓迎
  • Luke氏・Sam氏への 祝福 と今後の発展への期待

Hackerたちの意見

epanet-jsの二人の著者の一人です。アプリのソースコードはここでチェックできますよ: https://github.com/epanet-js/epanet-js

epanet-jsはブラウザで動かせるツールで、WASMベースのエンジンを使ったフルシミュレーションができます。年16,000ドルもする高価な旧式ソフトウェアと競っていて、Windows専用で、「パイプ」で価格が決まるんですけど、同じエンジンEPANETを使ってます。これと比べると、こっちの方がずっといいです。革命的な改善ですね。私はepanet-jsを使う予定は全くないけど、これめっちゃクールです。まさに無料ソフトウェアがやるべきことです。

EPANETが高価な商業ソフトと競っていると言うのは正しいかもしれませんが、実は完全に無料で利用できますよ: https://www.epa.gov/water-research/epanet 中米の農村コミュニティで清潔な飲料水の配水システムを設計するために使っている人を知っています。もし高価な商業ライセンスを払わなければならなかったら、彼らは今のようにはできないでしょう。でも、デスクトップ版EPANETはまだWindows専用なので、ブラウザ版があるのはいいですね。

EPANETのことは聞いたこともなかったし、飲料水システムに特化したソフトウェアがあるなんて知らなかった。これは素晴らしい早起きの知識ですね。

これ本当にクールだし、彼/彼らがこれをやってくれてるのは素晴らしいと思う。ただ、一つ分からないのはライセンスのこと。> 二年間のFunctional Source License (FSL)の後、完全にオープンソース(MIT)になります。これって具体的にどういう意味なんですか?

これによって、ライセンスを受けた企業はオープンソースのコードに基づいて競合製品を作ることが禁止される2年間の猶予が与えられるんだ。つまり、例えばAmazonはソースコードを持っていってAWS内で有料サービスを作ることはできないってこと。少なくとも、ソフトウェアを正式にライセンスした後の2年間はね。FSLライセンスのテキストはここで読めるよ: https://github.com/getsentry/fsl.software/blob/main/FSL-1.1-... オープンソースにすることで企業がすぐに不利にならないようにするための合理的な妥協だと思う。

自治体は「すべて」を含むGISシステムを使っていると思ってたんですが(下水道、水道、ガス管、電気、電話、光ファイバーケーブルなど)、それはただの夢物語(ダジャレじゃないよ)なのか、シミュレーション部分が欠けているのですか?

確かにすべてを含むものもあるかもしれませんが、核心的な違いは、これはシミュレーションエンジンであってGISツールではないということです。

物理学者じゃないけど、エネルギー(それとEPANETがシミュレーションする飲料水)インフラネットワーク設計ツールのソフトウェアエンジニアとして、ここ6年くらい働いてきたんだ。多モーダルネットワーク設計のシミュレーションと検証は、電気やガス消費、地域暖房を考慮に入れると、めっちゃ難しいって理解してる。自治体には地下に何があるかを記録したシステムが確かにあるけど(特にヨーロッパの古い都市では古いパイプのデータが不足してることが多い)、新しいエネルギーネットワークを設計するには、「すべて」をシミュレーションして解決するモデルが非常に複雑なんだよね。

GISシステムは、一般的にハイドロリックモデルの基盤になるんだ。そのデータを使って、EPANETが計算を行うための接続されたグラフ構造を構築するんだ。ノードでの圧力やパイプ内の流量を計算するためにね。また、水質の要素もあって、システム内の水の年齢や塩素などの化学物質、あるいはシステムに入れたくない副産物を計算することもできる。アメリカのEPAのサイトでは、エンジンができることについての技術的な詳細が説明されてるけど、ほとんどのモデリングは水道事業のマスタープランの一部として行われるんだ。水道事業は、自分たちのネットワークのハイドロリックモデルを構築して、30年間の都市の成長を計算・モデル化する。モデルは一般的に低圧の問題のあるエリアを強調し、水道事業は新しいインフラ、例えば大きなパイプやタンク、ポンプを提案し、サービスレベルを維持するための将来の資本工事を計画する。彼らは通常、3〜5年ごとにこのプロセスを繰り返して、モデルを再構築し、マスタープランを書き直すんだ。こちらはカイル市のマスタープランの例だよ [1]。一般的に、水道事業は数千万ドルの資本工事を提案していることが多い。だから、伝統的に高い価格は受け入れられてきた。でも、当然これが小規模な水道事業には適用できないし、通常はコンサルタントが彼らの代わりに作業を行い、正しいソフトウェアライセンスを保持することになるんだ。[0] https://www.epa.gov/water-research/epanet [1] https://www.cityofkyle.com/media/69766

最初に思ったのは、Epanet.JSを使ってブラウザベースのシムシティみたいなゲームを作ることってできるのかな?

EPANETは、パイプネットワーク内の水流と圧力損失(ヘッドロス)をシミュレートするために使われるから、水流と圧力の要件を満たすパイプネットワークを設計できるよ。水の配分ネットワークの要素がある都市ゲームでも使えるかもしれないね。

ビジネスプランはどうなってるの?月額20ドルにしたらいいのに。16000ドルのソフトウェアが必要な会社で働いてるの?だから料金を削減できて、オープンソースにすることにはあまり関心がないのかな?

すごい!このソフトウェアを使って自分の庭の灌漑システムを計画できるか気になるな。シミュレーションは小規模でも機能するの?

小規模だと、システムをちゃんと設計することで得られる効率は大した節約にはならないけど、もし大きな噴水のある庭があったら、絶対にEPANETでモデルを作ってみたいな ;) あなたの灌漑システムはどれくらい豪華なの?

使えるよ(ユカタンで灌漑システムを設計するのに使ったことがある)。でも小規模なら、スプレッドシートで十分かもね。

現在、 hydraulicsモデリングソフトウェアの最大手はAutodeskとBentleyだね。両社はEPANETエンジンを使って90年代/2000年代にプライベートフォークを作ったけど、戻してくれたことはない。商業ツールは、コンサルタントや公共事業のエンジニアがGISを統合して、モデルの異なる状態や都市の将来の発展を比較するシナリオをサポートすることで、ハイドロリックモデルを構築するのを楽にしてくれた。ただ、トムが指摘しているように、これはすごく高い代償が伴う。アメリカのEPAは小規模システム向けにシンプルなGUIを提供しているけど、GISとの接続がないと使い勝手が限られてる。これらの商業版は企業向けのモンスターになっていて、非常に複雑で高価なんだ。私たちは、アメリカのEPAが無料で提供しているものと大手ベンダーが提供しているものの間で適切なバランスを作りたかった。FSLとしてソフトウェアをリリースし、MITに移行することで、良いスタートを切れると信じてるし、高度な機能についてはAutodeskやBentleyの約10%の料金で提供してる。もしそれが高すぎると思う人は、自分でプライベートバージョンをダウンロードしてホストすることもできるよ。興味がある人のために、いくつかの追加リンクとコンテキストを紹介するね。 https://app.epanetjs.com/ – アプリを試してみて、ローカルファーストで登録は任意だよ https://github.com/epanet-js/epanet-js – ここにソースコードが全部あるよ https://github.com/epanet-js/epanet-js-toolkit – CエンジンをWASMに変換した方法を見てね https://epanetjs.com/ – 私たちが何をしているのか、なぜそうしているのか、価格についても読んでみてね https://www.autodesk.com/products/infowater-pro/overview – Autodeskの製品は1ユーザーあたり年1万ドル https://en.virtuosity.com/openflows-water – Bentleyの製品は1ユーザーあたり年1万6000ドル

すごく見た目がいいツールだね。バルブの配置やノードの需要、ポンプのスケジュールなどのネットワーク情報を設定したり取得したりするためのAPIは公開してるの?前の研究グループでは、こういうことをやるためにEPANETのフォーク版を使ってたし、Oompnetっていう以前のプロジェクトもEPANETと連携しようとしてたんだ。研究者がEPANET-jsを使って、配水ネットワークの制御や管理のためのアルゴリズムや方法を試せるなら、Bentleyにとっても脅威になるかもしれないね。EWRIやEWRA、CCWIでこれを発表してみたらどう?EPANETを使ってる人が結構いるから。

モバイルサポートがプレビュー中なのに、8年前のスマホでこんなにうまく動くなんて驚いた!よくできてるね。