#topicpath
 ※ WRF のインストールについては、[[WRFの導入>../WRFの導入]]へ。
** 新しいケースの作成 [#qe2528b4]
*** はじめに [#odb15f69]
-- 新しいケース名を設定する必要性について~
~
WRF で理想化された状況について計算する場合、test ディレクトリ以下にあるようなディレクトリ名に
対応したケースがあらかじめ用意されているので、これを用いて計算することが多い。~
しかし、自分でプロジェクトを管理するためには、独自にケース名を設定したい。以下は、試行錯誤した結果得られた情報。~
~
*** 準備 [#q0185ac6]
-- 設定ファイルを探した結果~
" ./complile ケース名" を実行するので、ケース名がどのファイルに含まれているかが分かればよい。それを検索する。結果は次のとおり。~
~
+++ Makefile
+++ dyn_em/depend.dyn_em~
~
*** 既存のファイルの編集 [#d483196e]
  新規プロジェクトのケース名を "em_&color(red){9bar};" とする。
+ &color(navy){Makefile};~
+ &color(darkred){Makefile};~
~
次のような記述を加える。"em_9bar" 1箇所、"9bar" 1箇所。~
  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};~
+ &color(darkred){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};~
+ &color(darkred){test/9bar};~
新規にディレクトリを作成する。このディレクトリ内に次のファイルを作成する。~
~
++ &color(navy){test/9bar/namelist.input};~
++ &color(darkred){test/9bar/namelist.input};~
計算上のパラメタなどを記述したファイルを作成する。~
~
++ &color(navy){test/9bar/input_sounding};~
++ &color(darkred){test/9bar/input_sounding};~
初期の鉛直方向のデータを記述するファイルを作成する。~
~
++ &color(navy){test/9bar/input_soil};~
++ &color(darkred){test/9bar/input_soil};~
初期の土壌のデータを(必要に応じて)作成する。~
~
※ その他、"run_me_first" など、雛形になるようなテストケースからコピーしておく。~
~
+ &color(navy){dyn_em/module_initialize_9bar.F};~
+ &color(darkred){dyn_em/module_initialize_9bar.F};~
地形・初期擾乱などを与えるためのファイルを作成する。~
~
~
** 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 の更新


トップ   新規 検索 最終更新   ヘルプ   最終更新のRSS