SPMODEL の目指すもの

SPMODEL では, 地球流体力学に登場するさまざまなレベルの近似方程式系の数値モデルを, 空間 1 次元モデルから 2 次元あるいは 3 次元モデルまで階層的に整備しています.

このような一連の数値モデルをそろえることで

  • 標準的あるいは重要な GFD のイラストレーションをたやすく再現できるようにしたい → 地球流体力学の理解と普及に役立てる
  • 数値計算による知見を研究者の間で共有したい → 従来の数式による理解から数値計算による理解へ
  • 一連のモデルの振舞の比較をスムーズに行いたい → より複雑なモデルの結果を理解するための道具

といったことを目指しています.

このため, 現在整備しようとしているモデルシリーズの基本方針では「可読性が高く理解しやすく, 変形しやすいこと」を最重点においています. 大名プログラマー主義(CPUは無限に速く, メモリとディスク容量は無限に大きいという環境の下で仕事をする) にしたがって, スピードはとりあえず犠牲にしても構わない, というスタンスです. しかしながらこのモデルシリーズをベースにすることで, 例えば最先端の大計算を行うに耐える高速なモデルの開発などが容易になることも期待しています.

Fortran90 の配列機能を生かしたこのライブラリの配列関数を用いることで, 時間発展方程式の時間変化項以外の部分を数式の形そのままにプログラミングすることができるようになってます. 支配方程式の形をそのままプログラムソースに反映させられるのでプログラムの可読性を向上させることができます. また, spml の配列関数は入出力配列の性質が名前からわかるようにするべく統一的に命名法にしたがっているので, 関数の使い方が機械的になり, プログラムを修正することも容易に行えるようになっています.

SPMODEL のライブラリとサンプルプログラム自体が Fortran90 のプログラミング書法の一つの実験でもあります. 地球流体力学の問題に限らずさまざまな物理現象のスペクトル法による数値計算の一つのスタイルとして参考にして頂ければと思います.