論文内の第4章における, 加熱中心の緯度を固定した場合の計算をするためのコード * 計算結果は図4.5 の (i), (ii) で使う * 必要なライブラリ * spml * gtool * ソースコード * test.f90 * 計算は6回に分けて行う * 6つの加熱中心の(サイン)緯度 mu0=0.0, 0.04, 0.08, 0.12, 0.16, 0.20 の値で計算する * その他の設定は同じ * 以下のようにする * 計算方法 * 加熱中心の緯度を変える * 変数名: mu0 * コンパイル $ spmfrt -o test test.f90 * 実行ファイル test ができる * 実行 $ ./test * ユーザーリソースの制限によってできない場合がある * その場合は実行の前に $ ulimit -s 819200 などとしておき, そのあとに実行する * 別セッションとして実行したい場合は, screen コマンドを使うとよい * 出力 * 出力ファイル * test.nc * ソース内の output_file で指定 * 毎回の計算で上書きされることに注意 * 出力変数 * 東西流 (u) * 南北流 (v) * 鉛直流 (w) * 温位 (T) * 流線関数 (msf) * Lindzen and Hou (1988) は質量流線関数であるが, ここでは流線関数として出力する * 描画の際に質量流線関数にする * ソースコード (test.f90) 内のパラメータ説明 * jm: 南北格子点数 * km: 鉛直格子点数 (実際はkm+1の格子点) * nm: 南北切断波数 * lm: 鉛直切断波数 * ri: 内半径 (惑星半径) * ro: 外半径 * xl=ro-ri: モデル上端の高さ * PI: 円周率 * g: 重力加速度 * omega: 自転角速度 * delta_h: 南北温位勾配を決めるパラメータ * delta_v: 鉛直温位勾配を決めるパラメータ * nu_V: 鉛直拡散係数 * mu0: 加熱中心のサイン緯度 * T0: 温位場の初期値 * const: 摩擦係数 * tau: 放射緩和時定数 * dt: 時間刻み幅 (秒) * nt: ステップ数 * total_day=dt*nt: 積分時間 (日) * ndisp: ファイル出力間隔ステップ数 * nprog: 表示間隔ステップ数