#OpenCAEJP オープンCAE勉強会@関東で気象モデルWRFの紹介・インストール方法について発表した。発表の感想や勉強会の懇親会での議論が有益だったので記しておく。ちょっと長いかも。

概要

イベント情報
項目 内容
イベント名 第44回オープンCAE勉強会@関東(流体など)
URL http://opencae-kanto.connpass.com/event/9555/
ハッシュタグ #OpenCAE
開催地
開催日時 2014-11-29
参加人数 19
発表資料
項目 内容
演題 Introduction of Meteorological Model WRF & Installation
スライド https://senooken.jp/public/20141129/slide/
動画 https://senooken.jp/public/20141129/movie/

僕の発表資料はSlideShareで自由なライセンスCC BY 4.0(著作者を表示すれば好きに使っていい)で公開している。講習会資料などで自由に使って構わない。連絡をくれると嬉しい。今後の励みになる。間違いの指摘なども歓迎だ。

なぜ参加・発表したか

実は8月末の勉強会で初めてこの勉強会に参加して発表もした。しかし,ブログにまとめるのは面倒でしていなかった。ほとんどネットに存在しない内容だったので,きちんとブログにもまとめて,みつかりやすいようにしておくべきだったと反省した。そのため,これからはちゃんと記事を書くことにした。

今回は自分が発表する目的で参加した。OpenFOAMには興味があるが,日常で使うことはないし,業務で使うチャンスもなく日曜大工的にやるしかない。他にもCSS組版やJavaScript,C++などすべきことがある中で,OpenFOAMに時間を割くのは,はっきりいって全くモチベーションや理由がない。そのため,自分が発表するという自己満足のために参加するしかない。それに,この勉強会は内容が専門的で高度なので,初心者がいきなり参加してもちんぷんかんぷんでたぶん面白いことはない。今回の勉強会の他の発表もほとんど意味がわからないし,興味のあまりない分野だったので面白いことは少なかった。

ただし,この勉強会には僕の研究について理解できる人がいて,かなり有意義な議論ができるので参加する意味は僕にはある。ここまで高度で学術的な議論ができる勉強会というのもそうないだろう。それだけで価値がある。発表して懇親会でピザを食べながら議論する。そういう楽しみ方があってもよいと思う。

幸い,大学院での研究ネタがあるので当分は発表する材料には困らない。作るのには時間がかかるし,毎回参加するのはしんどいので2-3か月に一度くらいで参加・発表しようかと思っている。国立の大学院で修士の研究をしていたので,国民の税金の恩恵を受けている。そこで得たものはきちんと公開して世の中に還元する義務があると思っている。

大気環境の研究は今世紀最大の人類の問題「地球温暖化」と密接に関わってくる。すでにIPCC第5次評価報告書で,たしか2050年までに温室効果ガス排出量を0もしくはマイナスにしないと,2°C目標は達成できず,全世界の全地域の人類は不利益を被る。京都議定書の目標をCDMや排出量取引を駆使して,なんとか日本は達成したが,実質の排出量は増加している。かなり絶望的な状況に来ている。評価報告書でも温暖化が進んだ時の適応策に議論がシフトしつつある。なんとかしないといけないと思っている。

しかし,大気環境の研究で使われているような気象や大気質モデルはあまり日本ではまとまった情報がなく,一部の研究所や大学などで,半ば独占的に情報が蓄積され,研究が行われている。もっとオープンにしてこの分野の研究が進んでほしいと思っている。お互いの持っている情報やプログラムなどを共有して,うまくやれたらいいし,そうすべきだと思う。

そういう思いで今回はその足がかりとして,気象モデルWRF(Weather Reseach and Forecasting modeling sytem)について発表した。研究室の後輩や,始めたての人でもわかるようにしっかりと,丁寧に時間をかけて作ったつもりだ。過去の自分に向けての意味もある。こんなのがあれば泣いて感謝していたと思う。手探りながら,間違いや遠回りをしてたどり着いた情報がある。僕の修士の研究の3か月くらいの内容がここに詰まっている。ちなみに修士論文の公聴会での発表資料もslideshareで公開している。面倒なので今は解説するつもりはない。

発表内容について

内容について適当に説明する。最初にWRFについて説明している。このあたりは発表直前で,かなり疲れているのであまり内容はない。本当は論文の出典など示せればよかったのだけど断念。研究の新規性や,日常生活でうまく活用する方法などなかなか難しい。

モデルをインストールするにあたって,けっこうパッケージをインストールする必要がある。そして毎年バージョンアップするのでそれにも対応しないといけない。卒業してからもいろいろ考え・試して,stowを使ってディレクトリで完結させるのがベストだと結論づけた。個人的にはこの管理方法には自信がある。最初はライブラリ類は$HOME/local/にインストールしていたのだけど,やはりそれだと問題が起きる。NetCDFなどは他のモデルでも共通で使うのだけど,ビルドオプションの設定を変えないといけない。バージョンもどんどん上がるので追随するのはしんどい。どうせ日常でそんなに使わないのでディレクトリにまとめておき,使う時だけ設定を有効にするのがベストだと思った。これ以上よい方法があるだろうか。あるならぜひ教えてほしい。

インストールしたらやっぱり動作できることを確認したい。そうなるとデータも必要だ。ということでデータの入手手順も示した。もちろん結果も確認したい。WRFの出力はNetCDFというバイナリ形式だ。これがやっかい。データを取り出して図を描くだけでも相当苦労した。在学中にもいろいろ方法を試した。NcView,GrADS,VERDI,Fortran,Python,ArcGIS,QGISなど。最終的にはPythonで自分でデータを抽出して図化できて,これでどうにかできた。しかし本当に苦労した。Pythonでできるようになるには,3か月くらいはかかっている。GrADSで当初やっていたがやはり限界だった。汎用性があまりなく情報もなく細かいことが結局できない。いつも,もっと早くPythonをやっていればと思っている。必要なタイミングに間に合わなかった。

そういうわけで,可視化をどうするかは重要な問題だった。発表で可視化するにあたって,簡単で高品質で使えるものがないか,新しく可視化ソフトを調査した。いろいろ試した。過去の大阪のオープンCAE勉強会の発表資料を一部参考にさせてもらった。

TAKAGI, Y  (2014) : 可視化ソフト、どれが最高ですか? from 2ch       . http://ofbkansai.sakura.ne.jp/log_study_meeting/.

実際にインストールして試したところ,IDVが圧倒的に高品質だった。VERDIのようにこういうGUIのソフトは細かいところの調整(たとえば,軸ラベルのフォントサイズとか)がだいたいできない。しかし,IDVはきちんとそういう細かいところの調整ができるようになっていた。WRFの出力にも専用のタイプを用意して対応していた。自己記述型のNetCDFは汎用形式なので,地理情報が入っていてもプログラム独自のNetCDFでの記述形式を認識しないと読み取れない。だから,ArcGISなんかだと読めても地理情報を考慮できず,他の地理データと重ねるのに苦労する。IDVだとWRFを認識できるので,シェープファイルを重ねたり,2D/3D アニメーションをぐりぐり動かせる。とても優れていた。間違いなくNetCDFビューアとしてはベストなソフトだ。これ以上のソフトの存在が考えられない。なのでみんなぜひ使ったほうがいい。本当に在学中に知りたかった…。

聴いてくれた他の参加者の人はあまり興味ない話だっただろうけど,質問してくれて嬉しかった。この勉強会は発表後の質疑が,発表と同じくらいになったりもして質疑の内容が有意義なことが多い印象だ。単に好き勝手にコメントしたりするのもあるのだけど,こういうところは緩くてよいと思う。まあ,興味のない話や難しすぎてわからない場合は,僕は早く終わってくれと願うんだけど(苦笑)。

インストールからデータ入手・テスト実行・可視化ソフトの使い方までまとめて一つのスライドで紹介しているような資料は僕くらいだろう。少なくとも日本で自由なライセンスで公開されているものは他にない。内容にも自信はある。

懇親会

勉強会の参加費は1000 JPYとなっている。これは基調講演者以外の参加者は一律に払うことになっている。勉強会の運営と懇親会の費用にあてているらしい。なので,懇親会には参加しないと損をする。ピザを食べながら名刺交換したり,発表内容などについて議論したり世間話をしたりする。僕はコミュニケーション能力が無いので立食パーティーはあまり得意ではなかった。けど,慣れたのか,知っている人がいるからか楽しめた。やっぱり発表して自分のことを知ってもらうのが一番早く仲良くなれると思う。お互い何もわからない状態だと話しづらいからね。

今回はこの懇親会での世間話とその後のTwitterでのやりとりがかなり有意義だったのでまとめておく。大きく以下2点の内容となる。

  1. 研究の新規性とライセンス
  2. 標準とすべきデータ形式

研究の新規性とライセンス

発表スライドp. 6の「WRFの活用方法」でも書いたけど,研究としてやる場合,ただ計算するだけでは新規性が皆無で研究としては認められない。これが非常に難しい。実務でCAEとかやる場合は自分の目的があるから,別に目新しいことがわからなくても,物性などがわかれば十分だろう。しかし,研究ではこの新規性が求められる。独自の理論を試したり,データ分析から何か新しい知見をえるなど,解析+αが必要となる。

研究者は新規性を出すために,既存のWRFのようなモデルを新しく開発するか,既存のモデルに独自理論を実証するための拡張をほどこして,検証・発表するとのことだ。これにより,独自拡張の入ったWRFは標準から外れ,後のものは標準から外れたものを使い続ける。いつまでも残り,公式で配布されている本体に拡張が取り込まれずに,ガラバゴス化していく。

これは,「独自のクローズドなものを維持しなければ研究として成功しない」ことを意味していると考える。研究における重要な問題だと僕は思う。この問題が発生するのはWRFのライセンスが原因だ。WRFはパブリックドメインになっており,利用者は好きに使え,改変したコードを公開する必要はない。そのため,他人の改良点をお互いに共有することができない。

この問題を防ぐために,GPLのような自由を継承させるようなライセンスの適用がある。こうすることで,独自開発は変更点を強制的に公開する必要となる。これにより世界中の人が開発の恩恵を受けられる。

ただ,研究論文などは基本的に「未発表のものに限る」という制限がついている。開発中のものを公開すると,研究業績として認められなくなる可能性があるとのことだ。お互いに公開して開発をやっていったほうが,公正を保て,大勢の目に触れることで品質も向上すると思う。しかし,この研究での成功の論理に従うとこうしたことができなくなってしまう。なかなか難しい問題だと思う。

標準とすべきデータ形式

解析モデルにおいて,特CAEの分野ではデータ形式が乱立しており,正直どれを採用すればよいか迷う。相談したところ貴重な意見が聞けた。結論を述べると以下となる。

  • CAEの汎用的な入出力形式:VTK
  • 幾何形状:Wavefront OBJ
  • GIS:GML
  • 汎用:NetCDF

VTKはもともと可視化のための形式だったと解釈している。しかし,含める内容に幾何形状やベクトル,さらには時間まで含めることから汎用性がおそらく最も高いとのことだった。VTK形式でデータを持っておけば,おそらくデータを抽出して,その他の形式にも変換可能だろう。しかし,GISの情報はないので地図と重ねたりするには,変換や別のアプローチが必要との事だった。地理関係はCAEとは別世界なのでうまく間をつなげてやらないといけない。

幾何形状は計算対象のモデリングで使う形式だ。他にSTLやDXFがこれに該当する。STLは広く使われている印象だがこれには以下2点の欠点がある。

  • 細かいメッシュだと桁落ちで潰れる
  • 座標の情報しかなく,リンクの情報がない

Wavefront OBJ形式はSTLに比べて複雑・冗長な記述であるが上記2点の問題を解決できており,現状では最も汎用的とのことだ。ただし,OpenFOAMは標準では未対応なのでなかなか普及していないようだ。

GISに関しては,この分野に詳しい人が勉強会にはいないので憶測である。テキストで書かれており,汎用性を考えるとGMLが有望なのではという感じだ。他にもShapefile,GeoJSON,TOOPJSONなどあるが,なかなかどれがいいのかよくわからない。

最後にNetCDFだ。この形式は大気・海洋分野での標準のファイル形式となっている。バイナリで初めてだと扱いに困る。しかし,NetCDFはおそらく唯一の歴史がある世界共通規格の汎用データ形式とのことだ。大気・海洋分野で多く利用されているが,どんな種類のデータでも記述できるようになっており,特定用途に限定されない。そういう意味でこの形式は重要だ。

懇親会の場では話を出せなかったが,個人的にはデータベースというのも一つありなのではないかと思った。具体的にはSQLiteだ。大量のデータを扱うのだから,それに特化したDBを使うというのも一つの選択肢なのではないかと思った。実際にSQLiteを入力データとして使っているモデルを知っている。具体的にはMETI-LISという大気拡散のモデルだ。ただ,データベースをやっていてかつ解析をやっている人というのはあまり見たことがない。会えたならば,ぜひ意見を聴いてみたい。

これから

発表内容について,で説明したように,現在僕がこの勉強会に参加するモチベーションは自分が発表するという自己満足だけだ。発表ネタが尽きて,さらにOpenFOAMやオープンCAEを使う理由やモチベーションも見つからなければ,僕はこの勉強会からは消えるだろう。参加し続けるには,それまでに,ネタを増やすか,使う理由・モチベーションを見つけないといけない。

それまでは参加して楽しもうと思う。