=begin JA = Pendergrass and Willoughby 2009 SEQ モデル 本プログラムは, Pendergrass and Willoughby 2009 (MWR) における 2 次元軸対称ソーヤーエリアッセンモデル (SEQ) である. 本モデルの定式化などの詳細は原論文を参照 (あとでマニュアル化します). 接線風 (台風) の渦の分布と環境場の温度構造, 壁雲を想定した非断熱加熱の分布を与えると, 静力学, 傾度風バランスを満たした 2 次循環 (インフロー + 上昇流) の分布を計算する (いわゆる強制・応答問題). ファイル構成は以下のようになっている. sound_make.f90 -> 環境場の鉛直 1 次元構造データをテキスト形式で作成する. sounding.dat という名称のファイルが作成される. initial_make.f90 -> 接線風速の空間分布を生成し, sounding.dat の温度データから 静力学, 傾度風バランスするように温度の空間分布を計算する. また, 非断熱加熱の分布も作成し, それらを initial.nc という NetCDF 形式のファイルにまとめる. SEQ.f90 -> ソルバプログラム. initial.nc データから, この構造, 強制に応答する 2 次循環構造を 計算し, result_initial.nc という NetCDF 形式のデータにまとめる. == プログラムの実行 === 依存プログラム * 必須 STPK, NetCDF, gtool5 * 描画用のオプション DCLAF90, DCL NetCDF 形式で出力されるので, それを描画するツールがあれば, 何でも OK. === Makefile の編集 * Makefile を自身の環境に合わせて以下の項目を編集して下さい. FC = ifort # STPK をコンパイルした際のコンパイラ LIBNCDIR= /home/satoki/usr/netcdf-4.0/lib # NetCDF の lib のインストール場所 LIBGT5D = /home/satoki/usr/gtool5/lib # gtool5 (lib) のインストール場所 LIBGT5IN= /home/satoki/usr/gtool5/include # gtool5 (include) のインストール場所 === Mkinclude の編集 * 本ディレクトリの 2 つ上にある Mkinclude を編集します. ISTDIR = ${HOME}/usr/local # STPK のインストール先 === プログラムのコンパイル $ make でプリプロセッサ, メインソルバがコンパイルされ, sound_make, initial_make, SEQ が生成される. また, オプションとして, 描画用プログラム (DCL, DCLAF90 必須) をコンパイルする場合は, $ make draw で draw プログラムが作成される. === プログラムの実行 ==== プリプロセッサの実行 sound_make, initial_make は初期データ作成のために必要なだけであり, 別途独自にデータを用意する場合はこれを実行する必要はない. 例えば, サウンディングだけ別途用意し, initial_make から始めることも可能である. すでに, 2 次元のデータが用意されている場合は, 直接 SEQ の実行に移ってもよい. ここでは, 何もない状態から始めることを想定している. ==== namelist の編集 同梱ファイルに namelist というファイルが入っていると思う. これは, 上の 3 プログラムで共通に用いられるネームリストファイルである. nr = 751 # 水平格子数 nz = 21 # 鉛直格子数 dr = 2000.0 # 水平格子解像度 [m] dz = 1000.0 # 鉛直格子解像度 [m] bc = '1112' # 境界条件の sign (Poisson_Gausei の説明ページ参照) fname = 'initial.nc' # 2 次元初期値データのファイル名 sound_name = 'sounding.dat' # 1 次元サウンディングデータのファイル名 デフォルトでは, Pendergrass and Willoughby (2009) の値が設定されている. ==== 実際の実行 以下の順番で実行する. $ ./sound_make < namelist $ ./initial_make < namelist $ ./SEQ < namelist 以上で結果が result_initial.nc に作成されている. データの詳細は NetCDF のヘッダー情報参照. === 描画オプション オプションとして同梱されている描画プログラム draw の実行についても記述しておく. ==== namelist の編集 draw_?? という名称のファイルは draw 用のネームリストファイルである. nr = 751 # 水平格子数 nz = 21 # 鉛直格子数 rmin = 0.0 # 描画領域左端 [m] rmax = 150.0e3 # 描画領域右端 [m] zmin = 0.0 # 描画領域下端 [m] zmax = 20.0e3 # 描画領域上端 [m] fname = 'result_initial.nc' # 読み出しデータファイル名 value_name1 = 'u' # コンターで表記する変数 value_name2 = 'w' # カラーシェードで表記する変数 cmin = -4.0 # コンターの最小値 cmax = 4.0 # コンターの最大値 smin = -2.0 # シェードの最小値 smax = 2.0 # シェードの最大値 これらを設定し, $ ./draw < draw_?? を実行すると, 例えば, 以下のようなグラフが描画される. * ((<実行例|URL:./sample1.png>)) * コンターが動径風, シェードが鉛直風 * ((<原論文|URL:./sample2.png>)) * 上 : 質量流線関数, 中 : 鉛直風, 下 : 動径風 * 初期渦の形状による感度実験 * ((<理想的な初期渦|URL:./IV.png>)), ((<観測とのコンポジット|URL:./sample1.png>)) * 乱流混合の効果による感度実験 * 理想的な渦 : ((<混合なし|URL:./IV_noturb.png>)), (()) * コンポジット渦 : ((<混合なし|URL:./RV_noturb.png>)), (()) * RE87 は Rotunno and Emanuel (1987) の非静力学モデルで実装されている Smagolinsky の乱流パラメタリゼーションのこと. ((:
:)) ((<戻る|URL:../index.html>)) =end JA