領域版1次元モデルを実行してみましょう。
ソースコードをダウンロードしてまずエディタで開いてください。20行目に imode という変数がありますが、ここで計算法を指定できます。手始めに imode = 1 としておきましょう。オイラー法といって、微分を差分によって近似的に表すもっとも一般的な方法です。
Fortran コンパイラでコンパイルして実行モジュールを作成してください。
できあがった実行モジュールを実行します。入力データやパラメータはすべて内部で定義されていますので、実行時に他に必要なファイル等はありません。
実行結果が fort.10 として、また grads で描画するためのコントロールファイルが out.ctl として作成されます。
grads で描画してみましょう。1000ステップ実行していますので、初期値をあわせて1001タイムレベルのデータが格納されています。最初と最後の p の値をグラフにすると、こんな感じになるはずです。
imode = 1 (オイラー法)

初期値に矩形の波を与えています。右方向に波が動いていくのですが、理論上は形を変えずに動いていくはずですが、時間積分が進むとともにノイズが出てくるのがわかりますね。
では imode をいろいろ変えて、結果がどう変わるか見てみましょう。エディタで imode を変更し、コンパイルして実行します。
imode = 2 (オイラー法、修正あり)

imode = 3 (セミラグランジアン法)

imode = 4 (セミラグランジアン法、修正あり)

imode = 5(ルンゲクッタ法)
上の4つは時間積分に関してはリープフロッグ法を用いています。ここでは時間積分を4次のルンゲクッタにしてみます。空間微分については imode=1 と同様、オイラー法です。

ここでいう「修正」とは、オーバーシュート、アンダーシュートを防ぐために最大・最小のチェックをすることを指します。
オイラー法でも修正をすることによりノイズは軽減されます。セミラグランジアン法では修正なしでは若干のノイズがありますが、オイラーと比較するとはるかに小さいですね。ルンゲクッタ 法は気象ではあまり使われませんが、一般の流体などで常微分方程式を解く場合の標準的な方法としてよく利用されます。
http://www.mets.dyndns.org/proj/model/adv.html