[English]

階層的地球流体スペクトルモデル集 SPMODEL

竹広 真一(京大・数理研)
小高 正嗣(北大・理)
石岡 圭一(京大・理)
石渡 正樹(北大・地球環境)
林 祥介(北大・理)
SPMODEL 開発グループ(地球流体電脳倶楽部)

(Received 25 January,2006; in revised form 28 August,2006)

要旨

地球惑星流体力学の諸問題における標準的な数値実験を簡便に行なうための 一連のスペクトルモデル群を開発した. その設計においては, 1)プログラムソースコードは誰でも見ることができて, 変更して使えなければならない; 2)プログラムソースコードは可読性が高く理解しやすくなければならない; 3)計算結果の描画や後処理が簡単に行えなければならない, という点を重点に置いた. プログラムの可読性と可変性を高めるために, FORTRAN77 で書かれたスペクトルモデルのためのライブラリである ISPACK のサブルーチンを Fortran90 の配列を返す関数でくるんだモジュールを作成した. 関数に統一的な名前を与える命名ルールを導入し, Fortran90 で強化された配列機能を利用することにより, 支配方程式から容易に想像できる表現をもったプログラムソースコードを 構築することが可能となった. ここで実現されたスペクトルモデル群のプログラミング技術によって 支配方程式から数値モデルを作成するまでの労力と時間が短縮され, 地球流体力学的数値実験が容易に実現できるようになることが期待される.

本文

  1. はじめに
  2. Fortran90 の配列機能
    1. 配列の演算
    2. 配列をかえすユーザ定義関数
  3. SPMODEL ライブラリ (spml)
    1. サブルーチンと関数の例
    2. 関数の命名法と書法
  4. SPMODEL プログラミング
    1. SPMODEL におけるプログラミングの手順
    2. SPMODEL プログラミングの利点
  5. プログラムと計算結果の例
    1. 1 次元周期境界領域での KdV 方程式
    2. 2 次元 2 重周期境界領域でのβ平面順圧モデル
    3. 2 次元チャネル領域でのブシネスク熱対流モデル
    4. 2 次元回転球面上での浅水モデル
  6. まとめ
  7. 謝辞
  8. 参考文献
  9. 著者・連絡先

補遺

  1. 非線形項の評価:変換法
  2. データの入出力:gtool4 netCDF 規約と gt4f90io ライブラリ
  3. 出力結果の後処理と描画:地球流体電脳倶楽部 ruby プロジェクト


Next>>


日本流体力学会ウェブサイト「ながれマルチメディア」へ
©1998-2008 The Japan Society of Fluid Mechanics, ALL RIGHTS RESERVED.