CReSS 計算領域設定支援プログラム
dcl_draw_calc_region は CReSS における計算領域を表示するプログラムです.
必要ライブラリ
- 描画ライブラリ DCL, dclf90.
- DCLf90 描画補助ライブラリ DCLAF90.
- 数値解析ライブラリ STPK.
- 上記リンクからソースを取得し, ビルド, インストールして頂きたい.
- インストール時にエンディアンは "big endian" で統一して頂きたい. 以下では CReSS の統一エンディアンである big endian を前提に進める.
コンパイル
make でコンパイル.
namelist.txt の設定
domain セクション
- user.conf の各変数名に合わせた変数に user.conf で設定した値をそのまま入力.
- 例えば, namelist.txt の mpopt は要素数 5 の変数であるが, mpopt(1) には, user.conf の "mpopt" を, mpopt(2) には, user.conf の "mpopt_gpv" をという要領で設定する.
- draw_flag には "o" か "x" を指定し, "o" なら図示, "x" なら図示しない.
各要素の意味は
calc = 計算領域 _gpv = 3 次元大気データの領域 _trn = 2 次元地形データの領域 _sst = 2 次元 SST データの領域 _lnd = 2 次元土地利用データの領域
を表す (CReSS の user.conf に対応する変数名).
- 最も外側の描画領域は計算領域 (calc) でとるので, 計算領域が他の各データの中にちゃんと収まっていれば, 他のデータによる領域線は描かれない. もし, 他のデータ線が描かれている場合は, 計算領域が計算に必要な外部データの領域外に出ていることを表しており, この場合には CReSS のプリプロセッサの実行段階で異常終了する. したがって, 実際の気象の再現実験を行う場合は, 本プログラムで計算領域を確定した後, CReSS の user.conf の各変数を設定すればスムーズに計算領域を設定することが可能である.
- draw_flag 以下の mpopt から tlat2 までは CReSS の user.conf の各値とまったく同じ値を代入すること.
lidx から psiz までは DCL 側の設定でそれぞれ
lidx = ラインインデックス ltyp = ラインタイプ pidx = マーカーインデックス ptyp = マーカータイプ psiz = マーカーの大きさ
を表す.
他に,
IWS = DCL の出力装置番号 char_list = 任意の文字を任意の場所に記述するためのリストファイル名 (リストのフォーマットは f90 プログラム内に詳述.) line_num = line セクションで描く line の数 coast = 海岸線情報 mlit = 地図の経緯度グリッド描画間隔
line セクション
- line_list に描画したい折れ線情報を第 1 列に経度, 第 2 列に緯度 [deg] を列挙する.
- 追加機能に関しては f90 プログラム内を参照.
- それ以外の指定項目は domain セクションと同じ DCL でのインデックスやタイプの設定.
デモ
- 台風 (Soulik; T1307) の トラック