論文内の付録C章の計算をするためのコード * 必要なライブラリ * spml * gtool * ソースコード * test.f90 * 水平拡散を入れた場合の Held and Hou (1980) の実験をする * 設定は第3章1節の計算と基本的に同じ * 東西流運動方程式にのみ水平拡散項がある * 水平拡散係数は, nu_h=10^4 m^2/s * 運動エネルギーの南北スペクトルも計算する * 計算方法 * コンパイル $ spmfrt -o test test.f90 * 実行ファイル test ができる * 実行 $ ./test * ユーザーリソースの制限によってできない場合がある * その場合は実行の前に $ ulimit -s 819200 などとしておき, そのあとに実行する * 別セッションとして実行したい場合は, screen コマンドを使うとよい * 出力 * 出力ファイル * test.nc * ソース内の output_file で指定 * 毎回の計算で上書きされることに注意 * 出力変数 * 東西流 (u) * 南北流 (v) * 鉛直流 (w) * 温位 (T) * 流線関数 (msf) * 運動エネルギーの南北スペクトル(engspm) * ソースコード (test.f90) 内のパラメータ説明 * jm: 南北格子点数 * km: 鉛直格子点数 (実際はkm+1の格子点) * nm: 南北切断波数 * lm: 鉛直切断波数 * ri: 内半径 (惑星半径) * ro: 外半径 * xl=ro-ri: モデル上端の高さ * PI: 円周率 * g: 重力加速度 * omega: 自転角速度 * delta_h: 南北温位勾配を決めるパラメータ * delta_v: 鉛直温位勾配を決めるパラメータ * nu_h: 水平拡散係数 * nu_V: 鉛直拡散係数 * T0: 温位場の初期値 * const: 摩擦係数 * tau: 放射緩和時定数 * dt: 時間刻み幅 (秒) * nt: ステップ数 * total_day=dt*nt: 積分時間 (日) * ndisp: ファイル出力間隔ステップ数 * nprog: 表示間隔ステップ数