2004年08月09日 森川 靖大
gt4f90io (gtool4 netCDF 規約 に基づく Fortran90 netCDF I/O ライブラリ) は、 gtool4 netCDF 規約に従った数値データの入出力を行うための Fortran90 用のライブラリです。 これは地球流体電脳倶楽部 gtool4 プロジェクトの一環として開発・管理されています。
gt4f90io は、主に Fortran90 で書かれた数値モデルの入出力に利用することを想定しています。 複数の人間が、数値モデルが出力したデータを使用し、 計算結果に対する理解・認識を共有することを容易となるよう、 私達はデータは以下の特性を持つべきだと考えています。
可搬性
ファイルを別の機械に持っていったときに、 バイトオーダーだとか浮動小数点形式だとかなんだかよくわからない機種依存性によってファイルが読めなかったという経験はありませんか? そのたびに変換プログラムを書くのは大変です。 ファイル形式は機種非依存なものにしたいですよね。
自己記述性
ファイルを他人からもらったとき、 あるいは自分で昔作ったファイルを探し出して使おうとするとき、 一体どのようにしてデータを解読してよいのかわからない、 といった経験はありませんか? 解読のしかたがわかっても、作図の仕方がわからない。 あの文書に描かれた(ような)図がほしいだけなんだけど... ということもよくありますよね? こういった情報はデータといっしょに流通させれば、 もらったファイルがすぐに使えます。
ネットワーク透過性
データが複数のファイルからなるときに、 いろいろなところで作業するので一部のデータを共有したいということがありますよね。 そういうときにネットワーク経由で自動的にデータ取得ができればよさそうですね。 いまどきですからファイル共有プロトコルは HTTP になるでしょう。すると、ファイルに外部参照機能をつけるときは、 ファイル名に閉じていないで URL に一般化したほうがいいでしょう。 このように、同じことをするならネットワーク環境への拡張を考慮することを、 私たちはネットワーク透過性の考慮と呼んでいます。
私達は、ファイル形式として netCDF を採用することにより、 可搬性およびネットワーク透過性の問題は解決できると考えています。 更に地球流体力学現象を扱う上で適切なメタデータを内包した自己記述的なデータを実現するために、 gtool4 netCDF 規約 を策定しています。gt4f90io は、 この規約にしたがったデータの入出力を行う Fortran 90 ライブラリなのです。
gt4f90io は研究・教育の場で用いられることを前提としております。 地球流体電脳倶楽部 (gtool4 プロジェクトグループ) の活動を妨げるような利用の仕方 でない限り、 自由に使用・改変・再配布してかまいません。 正式なライセンス規定を御一読ください。
ただし内部で用いている netCDF、DCL などの他のライブラリはライセンス規定が異なるのでそれぞれ確認してください。
ライブラリ・サンプルプログラム・解説文など、gt4f90io の資源を利用する際には、 全ての面にわたって「教育的」であることに注意してください。 ライブラリやサンプルプログラムの動作はあくまでも「無保証」です。 使用する際には各自その結果の正しさを確認してから用いてください。 解説文などにも間違いが見受けられるやもしれません。
もろもろの誤りに気づかれた際には、地球流体電脳倶楽部 gtool4 プロジェクト () まで御一報頂ければありがたいです。
gt4f90io のライブラリを利用したり、 サンプルプログラムあるいはプログラミングのノウハウ等を参考にして得られた成果を論文や web 等にて発表する際には、できるだけその論文等にて gt4f90io を利用あるいは参考にした旨を記し、 レファレンスにあげて頂きますようお願いします。
引用例 (和文) 森川 靖大, 小高正嗣, 石渡 正樹, 林 祥介, gtool4 開発グループ, 2004: gt490io ライブラリ, http://www.gfd-dennou.org/arch/gtool4/, 地球流体電脳倶楽部. 引用例 (英文) Morikawa, Y., Odaka, M., Ishiwatari, M., Hayashi, Y.-Y., Gtool4 Devlopment Group, 2004: gt4f90io Fortran90 netCDF I/O library with gtool4 conventions, http://www.gfd-dennou.org/arch/gtool4/, GFD Dennou Club.