地球流体電脳倶楽部スペクトルモデルプロジェクトでは, 地球流体力学の研究や教育に使えるスペクトル法を用いたさまざまな数値モデルをそろえる活動を進めています.
|
|
SPMODEL ライブラリ(spml) の新規バージョン 0.7.1 をリリースしました. 今回の更新/変更点は以下の通りです.
SPMODEL では, 地球流体力学に登場するさまざまなレベルの近似方程式系の数値モデルを, 空間 1 次元モデルから 2 次元あるいは 3 次元モデルまで階層的に整備しています.
このような一連の数値モデルをそろえることで
といったことを目指しています.
このため, 現在整備しようとしているモデルシリーズの基本方針では「可読性が高く理解しやすく, 変形しやすいこと」を最重点においています. 大名プログラマー主義(CPUは無限に速く, メモリとディスク容量は無限に大きいという環境の下で仕事をする) にしたがって, スピードはとりあえず犠牲にしても構わない, というスタンスです. しかしながらこのモデルシリーズをベースにすることで, 例えば最先端の大計算を行うに耐える高速なモデルの開発などが容易になることも期待しています.
SPMODEL のモデルでは, 格子点とスペクトル空間のデータ変換や空間微分などの基本的な配列関数からなる SPMODEL library (spml) を用いてます. Fortran90 の配列機能を生かしたこのライブラリの配列関数を用いることで, 時間発展方程式の時間変化項以外の部分を数式の形そのままにプログラミングすることができるようになってます. 支配方式の形をそのままプログラムソースに反映させられるのでプログラムの可読性を向上させることができます. また, spml の配列関数は入出力配列の性質が名前からわかるようにするべく統一的に命名法にしたがっているので, 関数の使い方が機械的になり, プログラムを修正することも容易に行えるようになっています.
SPMODEL のライブラリとサンプルプログラム自体が Fortran90 のプログラミング書法の一つの実験でもあります. 地球流体力学の問題に限らずさまざまな物理現象のスペクトル法による数値計算の一つのスタイルとして参考にして頂ければと思います.