ソースコード

Fortran90 ソースコード

sw1.f90 65 x 65 (正方形領域)
sw2.f90 128 x 65 (長方形領域)

上記の2つのソースコードは領域の大きさと描画ルーチンが異なるだけで、基本的部分は同じである。

どちらも、sw2_dat と sw2_eq という 2 つのモジュールを含んでいる。sw2_dat は、データの定義と、配列変数の平均、微分、発散などの基本的なオペレータが定義されている。sw2_eq は、上記のオペレータを使って浅水波方程式の記述と、時間積分ルーチンを含む。浅水波方程式の差分スキームは Sadourny (1975) によるポテンシャル・エンストロフィー保存スキームで、時間積分は4次のルンゲクッタスキームである。

地形データ

c1.dat 65 x 65 閉領域
x0.dat 128 x 65 サイクリック 島
x1.dat 128 x 65 サイクリック 南開口
x2.dat 128 x 65 サイクリック 北開口

地形を記述するテキストファイルで、1文字で1グリッド分の情報を表す。データは論理型として読み込まれ、T (.true.) が海、F (.false.) が陸と解釈される。すべて T とすると、x、y 方向ともにサイクリックな境界条件となる。データ配列の添え字の順序は南西角が (1,1) なので、このファイルをエディタで編集すると、南北が逆転する。

カラーマップ

rainbow.cmap 正方形領域 初期値問題用
rainbow1.cmap 長方形領域 定常問題用
rainbow2.cmap 長方形領域 初期値問題用
rainbow4.cmap 正方形領域 定常問題用

変数の値と色を対応させるためのリスト。指定する値は単調増加であれば、任意の値が指定できる。この値の最大値、最小値をDclSetColorRange で指定されるレンジに割り当てる。

描画ルーチン

使用したグラフィックルーチンは DCL5.0 Windows版である。

http://www.gfd-dennou.org/arch/dcl/dcl-win/)

現在のところ、UNIX版ではフルカラーに対応していないため動作しない。