#topicpath ※ WRF のインストールについては、[[WRFの導入>../WRFの導入]]へ。 ** 新しいケースの作成 [#qe2528b4] *** はじめに [#odb15f69] -- 新しいケース名を設定する必要性について~ ~ WRF で理想化された状況について計算する場合、test ディレクトリ以下にあるようなディレクトリ名に 対応したケースがあらかじめ用意されているので、これを用いて計算することが多い。~ しかし、自分でプロジェクトを管理するためには、独自にケース名を設定したい。以下は、試行錯誤した結果得られた情報。~ ~ *** 準備 [#q0185ac6] -- 設定ファイルを探した結果~ " ./complile ケース名" を実行するので、ケース名がどのファイルに含まれているかが分かればよい。それを検索する。結果は次のとおり。~ ~ +++ Makefile +++ dyn_em/depend.dyn_em~ ~ *** 既存のファイルの編集 [#d483196e] 新規プロジェクトのケース名を "em_9bar" とする。 + &color(navy){Makefile};~ ~ 次のような記述を加える。~ em_9bar : wrf @ echo '--------------------------------------' ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=9bar em_ideal ) ( cd test/$@ ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . ) ( cd test/$@ ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . ) ( cd test/$@ ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . ) ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . ) ( cd run ; if test -f namelist.input ; then \ /bin/cp -f namelist.input namelist.input.backup ;\ fi ; \ /bin/rm -f namelist.input ; ln -s ../test/$@/namelist.input . ) ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/$@/input_sounding . ) @echo "build started: $(START_OF_COMPILE)" @echo "build completed:" `date` いくつかのテストケースにあるような ( cd test/$@ ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . ) ( cd test/$@ ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . ) という記述は、おそらくいらない。~ ~ + &color(navy){dyn_em/depend.dyn_em};~ ~ 次のような記述を加える。 module_initialize_9bar.o : \ ../frame/module_domain.o \ ../frame/module_configure.o \ ../frame/module_state_description.o \ ../frame/module_timing.o \ ../frame/module_dm.o \ ../share/module_io_domain.o \ ../share/module_model_constants.o \ ../share/module_bc.o \ module_init_utilities.o ~ ~ *** 新規ディレクトリ・ファイルの作成 [#d483196e] ++ &color(navy){test/9bar}; ~ ~ ** WRFの諸条件の設定 [#r214bb0e] *** はじめに [#sbe44fb7] -- WRF の初期値~ ~ 計算を行うには初期値を与える必要がある。現実のデータを適用するためには、WPS と real.exe を用いる。~ 理想化された状況について計算する場合には ideal.exe を用いる。二者択一である。~ ~ なお、実行時に real.exe と ideal.exe のどちらを選ぶかという問題ではなく、./compile を実行する時点で選んで置かなければならないことにも注意。~ ~ -- 設定用のファイル(em_tropical_cyclone を例に)~ --- test/em_tropical_cyclone/&color(red){nameist.input};~ 組み込まれている物理学的オプション、力学的オプションを変更するためのファイル。~ ~ --- &color(red){dyn_em/module_initialize_*.F};~ ファイル名のうち、* の部分にはテストケースの名前が入る。~ プログラムで記述しなければならないような、地表面高度などの設定をする。~ ~ --- test/em_tropical_cyclone/&color(red){input_sounding};~ 初期値の鉛直方向のプロファイル。~ ~ *** 地形の高度の初期化 [#e2785409] &color(red){dyn_em/module_initialize_*.F}; で設定する。 -- 地形データの設定~ 地表面の高度を設定するには次の配列 grid%ht(i,j) を変更する。関連する配列については、次のようにすると良さそうである。 grid%phb(i,1,j) = g*grid%ht(i,j) grid%php(i,1,j) = 0. grid%ph0(i,1,j) = grid%phb(i,1,j) このようにすると、以下の処理で上空の geopotential height も設定してくれるようである。~ ~ -- 地形データの確認 -> csh run_me_first.csh -> ./ideal.exe を実行した後、wrfinput_d01 (netCDFファイル) を用いて、変数 hgt を表示させれば値がわかる。 *** 地表面状態の設定 [#labcd9ea] &color(red){dyn_em/module_initialize_*.F}; で設定する。 -- Land Mask~ 陸か海かの区別をするパラメタ。 xland(i,j) これが 1 ならば陸、2 ならば海(水の上)を表す。~ ~ -- Land Use Categories~ [[ARWの User's Guide>http://www.mmm.ucar.edu/wrf/users/docs/user_guide_V3/ARWUsersGuideV3.pdf]] を参照して設定する。~ *** コリオリパラメタ [#k7955d42] &color(red){dyn_em/module_initialize_*.F}; で設定する。 -- grid%f(i,j)~ に、適切な値を設定する。~ ~ *** 境界条件 [#b15305f8] &color(red){nameist.input}; で設定する。 -- 設定例 periodic_x = .true., symmetric_xs = .false., symmetric_xe = .false., open_xs = .false., open_xe = .false., periodic_y = .false., symmetric_ys = .false., symmetric_ye = .false., open_ys = .true., open_ye = .true., それぞれ、x,y 方向について、周期境界条件か、対称な境界条件か、オープンな境界条件か。~ ~ *** 物理モデル [#jf9dd6d4] &color(red){nameist.input}; で設定する。~ ++ 微物理過程~ mp_physics = 1 --- 1 : Kessler : 簡単なモデル --- 95 : Eta : NCEP モデルの coarse 用(ただし、使うときには、このオプションだけでは駄目のようだ。 ) ++ 非静力学モデルの採否 non_hydrostatic = .ture. ++ 長波放射 ra_lw_physics = 1 --- 1 : RRTM scheme~ よくわからないけど、Rapid Radiative Transfer Model ++ 短波放射 ra_sw_physics = 1 --- 1 : Dudhia scheme~ よくわからないけど、Simple で Efficient なようだ。 ++ 地形による日射の効果 slope_rad = 1, top_shad = 1, 斜面と地形による日射量の変化は考慮しないならば、0 にするのではなく、書かないのが正解のようだ。~ これを書いたために、動かなくなった。なお、これらを有効にする必要があるのは、メッシュの細かいモデルであると ++ 地表付近の物理 --- Land Surface sf_surface_physics = 1, ※ 5層で温度を計算 --- Surface Layer sf_sfclay_physics = 5, ※ 5 : MYNN --- Planetary Boudnary Layer bl_pbl_physics = 5, ※ 5 : MYNN 2.5 ++ 積雲対流スキーム cu_physics = 14 --- 14 : New Simplified Arakawa-Schubert ++ SST の更新 sst_skin = 1 長期間積分に便利な、SST の更新