WRF note ( Weather Research and Forecasting ) 京都大学理学研究科修士2年 暴風雨 宮本 佳明 Latest update : Feb. 19 th 2009 Moving Nest WRF-Var
2 目次 3-7 : The model ‘WRF-ARW’ 8-10 : Software : Pre process (11-13:wrfsi, 14-18:WPS) : WRF (19-23:V2.1.2, 24-31:V2.2) : Post process (32-37:WRF2GrADS, 38-40:ARWpost) : Tools (MM5toWRF, TY-Bogus, JRA25/MANAL, Idealized simulation, Moving Nested run) : WRF-Var
3 WRF NCEP/NCAR で開発・発展されているメソ数値モデル 非静力、完全圧縮系の方程式 広範囲をサポート( WRF-VAR, WRF-chem, GWRF, etc. ) 用途によって二種の解法( NMM, ARW ) 2008 年 4 月に version3.0 がリリース WRF Software Framework Initialization WRF-Var ARW Solver NMM Solver … Dynamics solvers Obs. Data, Analyses, Forecast Post Processors, Verification
4 Flow 1. 計算期間( period )、位置( domain )の決定 2. 気象データを用いて初期値・境界値の製作 3. 計算実行 4. 結果処理 gridgen_model.exe(wrfsi), geogrid.exe(wps) *hinterp.exe(wrfsi), metgrid.exe(wps) wrf.exe(wrf) WRF2GrADS, WRF2Vis5d, ARWpost… real.exe(wrf)
5 ARW ( Advanced Research WRF ) 鉛直座標: Mass 座標 :圧力の静水圧成分 :上端の圧力 :地表面の圧力
6 ARW ( Advanced Research WRF ) フラックス形式のオイラー方程式 運動方程式 質量保存式ジオポテンシャル式 温位保存式スカラー保存式 状態方程式
7 ARW ( Advanced Research WRF ) 3次の Runge Kutta Begin Time Step Begin RK3 Loop:Step 1,2,3 (step1), Begin Acoustic Step Loop:Step1,n RK3 step 1 RK3 step 2 RK3 step 3 Advance variables End Acoustic Step Loop Advance scalars End RK3 Loop Compute non-RK3 physics End Time Step
8 NetCDF 1. e/netcdf/ から ‘ netcdf.tar ’ をダウン ロードし解凍する。 e/netcdf/ 2. 環境設定しパスを通す。 # su Password:***** # mv netcdf.tar.gz /usr/local # cd /usr/local # tar xvzf netcdf.tar.gz # cd netcdf-3.6.1/src/ # csh # setenv CC /usr/bin/gcc # setenv CPPFLAGS '-DNDEBUG -DpgiFortran' # setenv FC /usr/local/pgi/linux86-64/6.1/bin/pgf90 # setenv FFLAGS '-O -W' # setenv CFLAGS '-O' # setenv CXX /usr/bin/c++ #./configure --prefix=/usr/local/netcdf # make # make test # make install # vi.cshrc # NETCDF set path = (/usr/local/netcdf-3.6.1/bin $path) setenv NETCDF /usr/local/netcdf setenv MANPATH $NETCDF/man:$MANPATH # source.cshrc
9 NCARG ( NCAR Graphics ) 1. から ‘ncarg src.tar.gz’ をダウン ロードし解凍する。 ※./configure –v の後色々聞かれるが、 NetCDF ディレクトリの入力だけに 注意して ‘Enter’ を押していれば大丈 夫。 2. 環境設定しパスを通す。 # su Password:***** # mv ncarg src.tar.tar /usr/local # cd /usr/local # tar xvzf ncarg src.tar.tar # cd ncarg # csh # setenv NCARG /usr/local/ncarg # setenv FC pgf90 # setenv CC pgcc # cd $NCARG #./Configure – v # make Everything >& make-output & # tail – f make-output ’Cntl ’ + ‘ C ’ # vi.cshrc # NCARG setenv NCARG_ROOT /usr/local/src/ncarg set path = ( $NCARG_ROOT/bin $path) setenv MANPATH $NCARG_ROOT/man:$MANPATH # source.cshrc
10 NCL ( NCAR Command Language ) # su Password:***** # mv ncl a033.Linux_x86_64.tar /usr/local/ncarg # cd /usr/local/ncarg # tar xvzf ncl a033.Linux_x86_64.tar # vi.cshrc # NCL setenv NCL_COMMAND $NCARG_ROOT/bin/ncl # source.cshrc 1. か ら ‘ ncl a033.Linux_x86_64.tar ’ を /ncarg ディレクトリにダウンロード し解凍する。 2. 環境設定しパスを通す。
11 wrfsi ( WRF Standard Initialization ) Install 1. から ‘ wrfsi_v2.1.2.tar ’ をダウンロー ド、解凍する。 2. インストールを行う。 3. データをダウンロードする。 4../wrf_tools を実行する。 % mv wrfsi_v2.1.tar.gz /work1/WRF % tar -xvzf wrfsi_v2.1.2.tar.gz % cd wrfsi % install_wrfsi.pl % cd extdata/GEOG/ % ftp ftp-proxy.kuins.net Name (ftp-proxy.kuins.net:miyamoto): Password: ‘ irresponsible ’ ftp> cd divisions/frd-laps/WRFSI/Geog_Data … % tar -xvzf albedo_ncep.tar.gz … %./wrf_tools
12 wrfsi ( WRF Standard Initialization ) Domain selection 1.Domain ドメインを選択 2.Horizontal Grid マップファイルと領域、格子間隔、 格子数の設定 3.Vertical Grid 鉛直格子数と位置、上端気圧、最下 層の代表圧力、気温の設定 4.Localization Parms 地理データのありかの設定 5.Localize Domain ドメイン作成 6.Domain Graphics 作成されたドメインの表示 %./wrf_tools
13 wrfsi ( WRF Standard Initialization ) initial data 1.Sources Vtable を用いて気象データファイル を変換 用いる Vtable と、時間間隔の設定 2.Script データ初期時刻の入力から期間と間 隔を設定 interpolate data 1.Controls Initial data で変換した気象データの どれを使うか選択 2.Script データ初期時刻の入力から期間と間 隔を設定 %./wrf_tools
14 Software for WPS (GRIB2) # su Password:***** # mv jasper zip libpng tar.gz zlib tar.tar /usr/local/ # cd /usr/local/ ---jasper--- # unzip jasper zip # cd jasper / #./configure # make # make install ---libpng--- # tar xvzf libpng tar.gz # cd libpng / #./configure # make # make install ---zlib--- # tar xvzf zlib tar.tar # cd zlib-1.2.3/ #./configure # make # make install GRIB2 形式のファイルを扱う際に 必要 Jasper: ms/jasper/ ms/jasper/ Libpng: libpng.html libpng.html Zlib: からそれぞれ、 ‘ jasper zip ’, ‘ libpng tar.gz ’, ‘ zlib tar.tar ’ をダウンロードし 解凍する。
15 WPS ( WRF Pre-Processor ) Install ※予め WRFV2.2 をインストールし た上で、同じディレクトリにイ ンストールする。 1. sers/download/get_source2.htm l から ‘ WPSV2.2.TAR.gz ’ をダウ ンロードし解凍する。 sers/download/get_source2.htm l 2. コンパイルを行い実行形式ファイ ルを作る。 3. sers/download/get_source2.htm l からデータをダウンロードし解 凍する。 sers/download/get_source2.htm l % mv WPSV2.2.TAR.gz /work1/WRF/ ※ % ls WPSV2.2.TAR.gz WRFV2/ % tar -xvzf WPSV2.2.TAR.gz % cd WPS %./configure %./compile % ftp frp-proxy.kuins.net ***** Name (ftp-proxy.kuins.net:miyamoto): Password: ‘ irresponsible ’ ftp> cd divisions/frd-laps/WRFSI/Geog_Data … % tar xvzf albedo_ncep.tar.gz … % tar xvzf geog.tar.gz
16 WPS ( WRF Pre-Processor ) geogrid.exe ― 領域の設定 namelist.wps を編集し geogrid.exe を実行する。 ungrib.exe ―GRIB 形式の気象データ形式を変 更 namelist.wps を編集し ungrib.exe を 実行する。 metgrib.exe ―ungrib で作ったファイルを NetCDF 形式の初期・境界値 ファイルに変換 namelist.wps を編集し metgrid.exe を実行する 。 % vi namelist.wps ---geogrid--- % geogrid.exe ---ungrib--- % ln -s /work1/miyamoto/WRF/WPS/ungrib/Variable_ Tables/Vtable.GFS Vtable % link_grib.csh /work1/miyamoto/DATA/NCEP/0612/PG * % ungrib.exe ---metgrid--- % metgrid.exe
17 namelist.wps &share wrf_core = 'ARW', max_dom = 1, start_date = ' _00:00:00',' _00:00:00', end_date = ' _31_00:00:00',' _00:00:00', interval_seconds = io_form_geogrid = 2, / &geogrid parent_id = 1, 1, parent_grid_ratio = 1, 3, i_parent_start = 1, 31, j_parent_start = 1, 17, e_we = 301, 112, e_sn = 301, 97, geog_data_res = '5m','5m', dx = 5000, dy = 5000, map_proj = 'mercator', ref_lat = 17.50, ref_lon = , truelat1 = 17.5, truelat2 = 17.5, stand_lon = 170.0, geog_data_path = '/work1/miyamoto/WRF/WRFV2.2/geog' / ドメイン数 計算開始時間 計算終了時間 データ入力間隔( s ) 親ドメイン 親ドメインとの格子間隔比 親ドメインにおける領域経度方向開始地点 親ドメインにおける領域緯度方向開始地点 親ドメインにおける領域経度方向終了地点 親ドメインにおける領域緯度方向終了地点 地形データの解像度 x 方向格子間隔 y 方向格子間隔 地図投影 中心緯度 中心経度 地形データのあるディレクトリ
18 namelist.wps &ungrib out_format = 'WPS', prefix = 'FILE', / &metgrid fg_name = 'FILE' io_form_metgrid = 2, / &mod_levs press_pa = , , , 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 5000, 1000 / アウトプットファイル形式 アウトプットファイル名のヘッド ファイル名のヘッド 気圧面高度
19 WRFV sers/download/get_source2.htm l から ‘ WRFV2.1.2.TAR ’ をダウン ロードし解凍する。 sers/download/get_source2.htm l 2. 行いたい数値実験のコンパイルを 行い実行形式ファイル ( ndown.exe, real.exe, wrf.exe )を 作る。 3.wrfsi で作った初期・境界値ファイ ル( wrf_real_input… )にリンク を貼る。 3.namelist.input を編集する。 4.real.exe を実行し、 mass 座標の入力 ファイルを作る。 5.wrf.exe を実行する。 % mv WRFV2.1.2.TAR /work1/WRF/ % tar -xvzf WRFV2.1.2.TAR % cd WRFV2 %./configure %./compile % cd test/em_real % ln – sf /work1/WRF/wrfsi/domains/ /siprd/wrf_input*. % vi namelist.input % real.exe % wrf.exe
20 namelist.input ( wrfv2.1.2 ) 計算日数 計算時間(日数を引いたもの) 計算分(日数、時間を引いたもの) 計算秒(日数、時間、分を引いたもの) 開始年( yyyy ) 開始月( mm ) 開始日( dd ) 開始時( hh ) 開始分( mm ) 開始秒( ss ) 終了年( yyyy ) 終了月( mm ) 終了日( dd ) 終了時( hh ) 終了分( mm ) 終了秒( ss ) 入力データの時間間隔( s ) データ入力するか アウトプットファイルへの書き込み間隔( minute ) 一つのアウトプットファイルに書き込む時間数 リスタートするか リスタートのインターバル &time_control run_days = 4, run_hours = 0, run_minutes = 0, run_seconds = 0, start_year = 2006, 1999, 1999, start_month = 08, 09, 09, start_day = 27, 27, 22, start_hour = 00, 06, 12, start_minute = 00, 00, 00, start_second = 00, 00, 00, end_year = 2006, 1999, 1999, end_month = 08, 09, 09, end_day = 31, 27, 24, end_hour = 00, 06, 00, end_minute = 00, 00, 00, end_second = 00, 00, 00, interval_seconds = input_from_file =.true.,.true.,.false., fine_input_stream = 0, 0, 0, history_interval = 10, 30, 30, frames_per_outfile = 6, 6, 1000, restart =.false., restart_interval = 5000, io_form_history = 2 io_form_restart = 2 io_form_input = 2 io_form_boundary = 2
21 namelist.input ( wrfv2.1.2 ) 時間ステップ ドメイン数 経度方向開始格子点 経度方向終了格子点 緯度方向開始格子点 緯度方向終了格子点 鉛直方向開始格子点 鉛直方向終了格子点 debug_level = 0 &write_input = t &inputout_interval = 60 &input_outname = 'wrf_3dvar_input_d01_990923' &inputout_begin_y = 0 &inputout_begin_mo = 0 &inputout_begin_d = 0 &inoutout_begin_h = 3 &inputout_begin_m = 0 &inputout_begin_s = 0 &inputout_end_y = 0 &inputout_end_mo = 0 &inputout_end_d = 0 &inputout_end_h = 12 &inputout_end_m = 0 &inputout_end_s = 0 / &domains time_step = 30, time_step_fract_num = 0, time_step_fract_den = 1, max_dom = 1, s_we = 1, 1, 1, e_we = 301, 301, 241, s_sn = 1, 1, 1, e_sn = 301, 301, 331, s_vert = 1, 1, 1, e_vert = 45, 50, 31,
22 namelist.input ( wrfv2.1.2 ) x 方向格子間隔 y 方向格子間隔 ドメイン番号 親ドメイン 親ドメインにおける領域経度方向開始格子点 親ドメインにおける領域緯度方向開始格子点 親ドメインとの格子間隔比 親ドメインとの時間ステップ比 スムースをかけるか 物理パラメタリゼーション 微物理スキーム 長波放射スキーム 短波放射スキーム 放射スキームの時間間隔 接地層スキーム 土壌スキーム 境界層スキーム 境界層スキームの時間間隔 積雲パラメタリゼーション 積雲パラメタの時間間隔 地層の数 dx = 5000, 1000, 1000, dy = 5000, 1000, 1000, grid_id = 1, 2, 3, parent_id = 1, 1, 2, i_parent_start = 0, 100, 60, j_parent_start = 0, 120, 30, parent_grid_ratio = 1, 3, 9, parent_time_step_ratio = 1, 3, 9, feedback = 1, smooth_option = 0 / &physics mp_physics = 2, 2, 2, ra_lw_physics = 1, 1, 1, ra_sw_physics = 1, 1, 1, radt = 30, 3, 5, sf_sfclay_physics = 1, 2, 2, sf_surface_physics = 1, 1, 1, bl_pbl_physics = 1, 2, 2, bldt = 0, 0, 0, cu_physics = 0, 0, 0, cudt = 0, 0, 0, isfflx = 1, ifsnow = 0, icloud = 1, surface_input_source = 1, num_soil_layers = 5, mp_zero_out = 0,
23 namelist.input ( wrfv2.1.2 ) maxiens = 1, maxens = 3, maxens2 = 3, maxens3 = 16, ensdim = 144, / &dynamics w_damping = 0, diff_opt = 1, km_opt = 4, base_temp = 288. khdif = 0, 0, 0, kvdif = 0, 0, 0, non_hydrostatic =.true.,.true.,.true., / &bdy_control spec_bdy_width = 5, spec_zone = 1, relax_zone = 4, specified =.true.,.false.,.false., nested =.false.,.true.,.true., / &namelist_quilt nio_tasks_per_group = 0, nio_groups = 1, /
24 WRFV sers/download/get_source2.htm l から ‘ WRFV2.2.TAR.gz ’ をダウ ンロードし解凍する。 sers/download/get_source2.htm l 2. 行いたい数値実験のコンパイルを 行い実行形式ファイル ( ndown.exe, real.exe, wrf.exe )を 作る。 3.wrfsi, wps で作った初期・境界値 ファイル( wrf_real…, met_grid… )にリンクを貼る。 3.namelist.input を編集する。 4.real.exe を実行し、 mass 座標の入力 ファイルを作る。 5.wrf.exe を実行する。 % mv WRFV2.2.TAR.gz /work1/WRF/ % tar -xvzf WRFV2.2.TAR.gz % cd WRFV2 %./configure %./compile % cd test/em_real % ln – sf /work1/WRF/wrfsi/domains/ /siprd/wrf?input*. or % ln – sf /work1/WRF/WPS/met_grid*. % vi namelist.input % real.exe % wrf.exe
25 namelist.input ( wrfv2.2 ) &time_control run_days = 4, run_hours = 0, run_minutes = 0, run_seconds = 0, start_year = 2006, 2000, 2000, start_month = 08, 01, 01, start_day = 27, 24, 24, start_hour = 00, 12, 12, start_minute = 00, 00, 00, start_second = 00, 00, 00, end_year = 2006, 2000, 2000, end_month = 08, 01, 01, end_day = 31, 25, 25, end_hour = 00, 12, 12, end_minute = 00, 00, 00, end_second = 00, 00, 00, interval_seconds = input_from_file =.true.,.false.,.false., history_interval = 60, 60, 60, frames_per_outfile = 6, 1000, 1000, restart =.false., restart_interval = 5000, io_form_history = 2 io_form_restart = 2 io_form_input = 2 io_form_boundary = 2 debug_level = 0 計算日数 計算時間(日数を引いたもの) 計算分(日数、時間を引いたもの) 計算秒(日数、時間、分を引いたもの) 開始年( yyyy ) 開始月( mm ) 開始日( dd ) 開始時( hh ) 開始分( mm ) 開始秒( ss ) 終了年( yyyy ) 終了月( mm ) 終了日( dd ) 終了時( hh ) 終了分( mm ) 終了秒( ss ) 入力データの時間間隔( s ) データ入力するか アウトプットファイルへの書き込み間隔( minute ) 一つのアウトプットファイルに書き込む時間数 リスタートするか リスタートのインターバル
26 namelist.input ( wrfv2.2 ) auxinput1_inname = "met_em.d. " / auxinput1_inname = "wrf_real_input_em.d. " &domains time_step = 30, time_step_fract_num = 0, time_step_fract_den = 1, max_dom = 1, s_we = 1, 1, 1, e_we = 301, 112, 94, s_sn = 1, 1, 1, e_sn = 301, 97, 91, s_vert = 1, 1, 1, e_vert = 45, 28, 28, num_metgrid_levels = 27 dx = 5000, 10000, 3333, dy = 5000, 10000, 3333, grid_id = 1, 2, 3, parent_id = 0, 1, 2, i_parent_start = 0, 31, 30, j_parent_start = 0, 17, 30, parent_grid_ratio = 1, 3, 3, parent_time_step_ratio = 1, 3, 3, feedback = 1, smooth_option = 0 / p_top_requested = 5000 interp_type = 1 入力ファイルを wrfsi 、 wps の どちらで作ったか 時間ステップ ドメイン数 経度方向開始格子点 経度方向終了格子点 緯度方向開始格子点 緯度方向終了格子点 鉛直方向開始格子点 鉛直方向終了格子点 metgrid での鉛直格子数 x 方向格子間隔 y 方向格子間隔 ドメイン番号 親ドメイン 親ドメインにおける領域経度方向開始格子点 親ドメインにおける領域緯度方向開始格子点 親ドメインとの格子間隔比 親ドメインとの時間ステップ比 スムースをかけるか
27 namelist.input ( wrfv2.2 ) 鉛直無次元気圧座標の格子点 物理パラメタリゼーション 微物理スキーム 長波放射スキーム 短波放射スキーム 放射スキームの時間間隔 接地層スキーム lowest_lev_from_sfc =.false. lagrange_order = 1 force_sfc_in_vinterp = 1 zap_close_levels = 500 sfcp_to_sfcp =.false. adjust_heights =.false. eta_levels = 1.000, 0.999, 0.998, 0.997, 0.994, 0.992, 0.989, 0.985, 0.981, 0.976, 0.971, 0.965, 0.958, 0.952, 0.944, 0.936, 0.927, 0.918, 0.908, 0.898, 0.888, 0.877, 0.865, 0.853, 0.841, 0.828, 0.814, 0.800, 0.783, 0.763, 0.733, 0.694, 0.646, 0.591, 0.530, 0.464, 0.396, 0.327, 0.259, 0.195, 0.138, 0.090, 0.052, 0.022, eta_levels = 1.000, 0.993, 0.983, 0.970, 0.954, 0.934, 0.909, 0.880, 0.845, 0.807, 0.765, 0.719, 0.672, 0.622, 0.571, 0.520, 0.468, 0.420, 0.376, 0.335, 0.298, 0.263, 0.231, 0.202, 0.175, 0.150, 0.127, 0.106, 0.088, 0.070, 0.055, 0.040, 0.026, 0.013, &physics mp_physics = 3, 3, 3, ra_lw_physics = 1, 1, 1, ra_sw_physics = 1, 1, 1, radt = 5, 30, 30, sf_sfclay_physics = 2, 1, 1,
28 namelist.input ( wrfv2.2 ) 土壌スキーム 境界層スキーム 境界層スキームの時間間隔 積雲パラメタリゼーション 積雲パラメタの時間間隔 地層の数 sf_surface_physics = 1, 1, 1, bl_pbl_physics = 2, 1, 1, bldt = 0, 0, 0, cu_physics = 0, 1, 0, cudt = 0, 5, 5, isfflx = 1, ifsnow = 0, icloud = 1, surface_input_source = 1, num_soil_layers = 5, ucmcall = 0, mp_zero_out = 0, maxiens = 1, maxens = 3, maxens2 = 3, maxens3 = 16, ensdim = 144, / &fdda / &dynamics w_damping = 0, diff_opt = 1, km_opt = 4, diff_6th_opt = 0, diff_6th_factor = 0.12, damp_opt = 0, base_temp = 290.
29 namelist.input ( wrfv2.2 ) zdamp = 5000., 5000., 5000., dampcoef = 0.01, 0.01, 0.01 khdif = 0, 0, 0, kvdif = 0, 0, 0, non_hydrostatic =.true.,.true.,.true., pd_moist =.false.,.false.,.false., pd_scalar =.false.,.false.,.false., / &bdy_control spec_bdy_width = 5, spec_zone = 1, relax_zone = 4, specified =.true.,.false.,.false., nested =.false.,.true.,.true., / &grib2 / &namelist_quilt nio_tasks_per_group = 0, nio_groups = 1, /
30 WRF one-way nested Run 1. 粗いドメイン( A )での計算を行 う。 2.wrfsi,wps で、領域 A に 1 つ小さい領 域( B )をネストした wrf_real…, met_grid… を作る。 3. 初期値の …d02 を …d01 に上書きす る。 4.namelist.input を B 用に編集し real.exe を実行する。 5. 得られた wrfinput_d01 を初期値の …d02 に上書きする。 6.namelist.input を A,B 2ドメイン用に 編集する。 7.ndown.exe を実行する。 8….d02 の初期値・境界値を …d01 に 上書きする。 9.namelist.input を B 用に編集する。 10.wrf.exe を実行する。 % cd WRFV2/test/em_real % ln – sf /work1/WRF/wrfsi/domains/T /siprd/wrf_input*. % mv wrf_real_input_em.d02 … wrf_real_input_em.d01 … % vi namelist.input!---for B % real.exe % mv wrfinput_d01 wrf_real_input_em.d02 … % vi namelist.input!---for A,B % ndown.exe % mv wrfinput_d02 wrfinput_d01 % mv wrfbdy_d02 wrfbdy_d01 % vi namelist.input!---for B % wrf.exe
31 WRF two-way nested Run 1.wrfsi,wps で、大、小2つの領域 A,B 用の wrf_real…, met_grid… を 作る。 2.WRFV2/test/em_real にリンクを貼 る。 3.namelist.input を A ・ B 両用編集し real.exe を実行する。 ( max_dom=2 とする) 4.wrfinput_d01 と wrfbdy_d01 、 wrfinput_d02 が作られる。 5.wrf.exe を実行する。 % cd WRFV2/test/em_real % ln – sf /work1/WRF/wrfsi/domains/T /siprd/wrf_input*. % vi namelist.input % real.exe % ls … wrfbdy_d01 wrfinput_d01 wrfinput_d02 … % wrf.exe
32 WRF2GrADS 1. sers/download/get_source.html から ‘ wrf2grads.tar.gz ’ をダウン ロードし解凍する。 sers/download/get_source.html 2.control_file で、アウトプットから 読み込む時間、データ等を指定 する。 3.wrf_to_grads を実行する。 % mv wrf2grads.tar.gz /work1/WRF % tar xvzf wrf2grads.tar.gz % cd WRF2GrADS % vi control_file % wrf_to_grads control_file
33 control_file ( WRF2G r ADS ) アウトプットファイルからの入力時間 数と その時間 -をつけるとファイル内全ての時間を 書き出す 3次元データ -1 ! number of times to put in GrADS file, negative means ignore the times _00:00:00 end_of_time_list ! 3D variable list for GrADS file ! indent one space to skip U ! U Compoment of wind V ! V Component of wind UMET ! U Compoment of wind - rotated (diagnostic) VMET ! V Component of wind - rotated (diagnostic) W ! W Component of wind THETA ! Theta TK ! Temperature in K TC ! Temperature in C TKE ! TURBULENCE KINETIC ENERGY P ! Pressure (HPa) Z ! Height (m) QVAPOR ! Vapor QCLOUD ! Cloud Water QRAIN ! Rain Water QICE ! - QSNOW ! - QGRAUP ! - TKE_MYJ ! TKE FROM MELLOR-YAMADA-JANJIC PB ! BASE STATE PRESSURE AT HALF LEVEL TD ! Dewpoint Temperature (diagnostic) RH ! Relative Humidity (diagnostic) ! Soil variables TSLB ! SOIL TEMPERATURE
34 control_file ( WRF2G r ADS ) SMOIS ! SOIL MOISTURE ! below a list of fields from SI static and input files LANDUSEF ! - SOILCTOP ! - SOILCBOT ! - SPECHUMD ! - GREEN12M ! - ALBDO12M ! - end_of_3dvar_list ACSNOM ! ACCUMULATED MELTED SNOW ACSNOW ! ACCUMULATED SNOW AKHS ! SFC EXCH COEFF FOR HEAT AKMS ! SFC EXCH COEFF FOR MOMENTUM CANWAT ! CANOPY WATER GLW ! DOWNWARD LONG WAVE FLUX AT GROUND SURFACE GSW ! DOWNWARD SHORT WAVE FLUX AT GROUND SURFACE HFX ! UPWARD HEAT FLUX AT THE SURFACE HGT ! Terrain Height IVGTYP ! VEGETATION TYPE ISLTYP ! SOIL TYPE LU_INDEX ! LAND USE CATEGORY MAPFAC_M ! Map scale factor on mass grid MU ! Perturbation dry air mass in column MUB ! base state dry air mass in column MU0 ! initial dry mass in column Q2 ! QV at 2 M QFX ! UPWARD MOISTURE FLUX AT THE SURFACE RAINC ! ACCUMULATED TOTAL CUMULUS PRECIPITATION 2次元データ
35 control_file ( WRF2G r ADS ) RAINCV ! TIME-STEP CUMULUS PRECIPITATION RAINNC ! ACCUMULATED TOTAL GRID SCALE PRECIPITATION SFROFF ! SURFACE RUNOFF slvl ! sea level pressure SMSTAV ! MOISTURE VARIBILITY SNOW ! SNOW WATER EQUIVALENT SNOWC ! FLAG INDICATING SNOW COVERAGE (1 FOR SNOW COVER) SST ! SEA SURFACE TEMPERATURE T2 ! TEMP at 2 M TH2 ! POT TEMP at 2 M TMN ! SOIL TEMPERATURE AT LOWER BOUNDARY TSK ! SURFACE SKIN TEMPERATURE U10 ! U at 10 M U10M ! U at 10 M - rotated V10 ! V at 10 M V10M ! V at 10 M - rotated UST ! friction velocity UDROFF ! UNDERGROUND RUNOFF VEGFRA ! VEGETATION FRACTION WEASD ! WATER EQUIVALENT OF ACCUMULATED SNOW XLAT ! LATITUDE, SOUTH IS NEGATIVE XLONG ! LONGITUDE, WEST IS NEGATIVE XLAND ! LAND MASK (1 FOR LAND, 2 FOR WATER) ! below a list of fields from SI static and input files ALBBCK ! - LANDMASK ! - PMSL ! - SLOPECAT ! -
36 control_file ( WRF2G r ADS ) SHDMAX ! - SHDMIN ! - SNOALB ! - SOILHGT ! - ST ! - ST ! - ST ! - ST ! - SM ! - SM ! - SM ! - SM ! - TOPOSTDV ! - TOPOSLPX ! - TOPOSLPY ! - XICE ! - end_of_2dvar_list ! All list of files to read here ! Indent not to read ! Full path OK /DATA/wrfstatic_d02 /DATA/wrf_real_input_em.d _12:00:00 /work1/miyamoto/WRF/WRFV2.2/WRFV2/test/em_real/wrfout_d01_ _00:00:00 /DATA/b_wave/wrfout_d01_ _00:00:00 /DATA/grav2d_x/wrfout_d01_ _00:00:00 /DATA/hill2d_x/wrfout_d01_ _00:00:00 /DATA/quarter_ss/wrfout_d01_ _00:00:00 /DATA/squall2d_x/wrfout_d01_ _00:00:00 入力ファイル名
37 control_file ( WRF2G r ADS ) /DATA/squall2d_y/wrfout_d01_ _00:00:00 end_of_file_list ! Now we check to see what to do with the data real ! real (input/output) / ideal / static 1 ! 0=no map background in grads, 1=map background in grads 1 ! specify grads vertical grid ! 0=cartesian, ! -1=interp to z from lowest h ! 1 list levels (either height in km, or pressure in mb) データの種類( real 、 ideal 、 static ) 地図投影するか( 0→ しない、 1→ す る) 鉛直座標の指定 0→ 直交座標系 -1→h を内挿 1→ 下に示すレベル(気圧、高度)で出 力
38 ARW Post ( Post-Processing ) 1. download/get_source.html から ‘ ARWpost.tar ’ をダウンロードし 解凍する。 download/get_source.html 2. namelist.ARWpost を編集し、出力 期間や変数、高度などを設定す る。 3.ARWpost を実行する。 % mv ARWpost.tar /work1/WRF % tar xvf ARWpost.tar % cd ARWpost % vi namelist.ARWpost %./ARWpost
39 namelist.input ( ARWpost ) 開始時刻 終了時刻 データの間隔 入力ファイル名 出力ファイル名 書き出す変数 出力ファイルの形式 &datetime start_date = ' _00:00:00', end_date = ' _00:00:00', interval_seconds = 3600, / &io io_form_input = 2, input_root_name = '/home/miyamoto/0612WRFOUT/CPL/wrfout' output_root_name = '/fy2c/work1/miyamoto/wrf/ARWpost/0612' plot = 'file' fields = ',pressure,tk,tc,rh,umet,cape,dbz,frv,u10m,v10m' fields_file = 'myLIST' output_type = 'grads' mercator_defs =.true. / output_type = 'grads' & output_type = 'v5d' fields = 'height,theta,tc,tk,td,rh,umet,vmet,pressure,dbz,max_dbz,u 10m,v10m,slp,mcape,mcin,lcl,lfc,cape,cin' plot = 'all' plot = 'basic' ! see gridinfo_module.F90 for a list plot = 'file' ! give a filename in "field_file" plot = 'list' ! give a list of fields in "fields", seperated with commas
40 namelist.input ( ARWpost ) 内挿方法 内挿レベル 0→ モデルでのレベル 1→ 指定したレベル -1→ plot = 'basic_file' plot = 'basic_list' plot = 'list_file' plot = 'all_file' plot = 'all_list' plot = 'basic_list_file' plot = 'all_list_file' &interp interp_method = 1, interp_levels = 1000.,950.,900.,850.,800.,750.,700.,650.,600.,550.,500.,45 0.,400.,350.,300.,250.,200.,150.,100., / interp_method = 0, ! 0 is model levels, -1 is nice height levels, 1 is user specified pressure/height interp_levels = 1000.,950.,900.,850.,800.,750.,700.,650.,600.,550.,500.,45 0.,400.,350.,300.,250.,200.,150.,100., interp_levels = 0.25, 0.50, 0.75, 1.00, 2.00, 3.00, 4.00, 5.00, 6.00, 7.00, 8.00, 9.00, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 20.0, interp_levels = 0.994, 1.00, 1.02, 1.03, 1.058, 1.099, 1.141, 1.183, 1.208, 1.233, 1.258, 1.283, 1.308, 1.333, 1.383, 1.433, 1.483, 1.533, 1.583, 1.633, 1.683, 1.733, 1.783, 1.833, 1.883, 1.933, 1.983, 2.0, 2.5, 3.00, 3.5, 4.00, 4.5, 5.0, 7.5, 10.0, 12.5, 15.0, 20.0,
41 MM5toWRF MM5 で p 座標系で書かれているファ イル( REGRID )を WRF の hinterp ファイルに書き換えるプ ログラム 1. sers/utilities/util.htm から ‘ mm5_p_convert.tar ’ をダウン ロードし解凍する。 sers/utilities/util.htm 2.make を行い実行形式のファイルを 作成する。 3.namelist.input を編集する。 4.mm5pconvert を実行する。 % mv mm5_p_convert.tar /work1/WRF % tar xvf mm5_p_convert.tar % cd mm5_p_convert % make % vi namelist.input %./mm5pconvert
42 namelist.input ( mm5_p_convert ) 入力ファイル名( REGRID 形式) 開始年 (yyyy) 開始月 (mm) 開始日 (dd) 開始時間( hh ) 終了年 (yyyy) 終了月 (mm) 終了日 (dd) 終了時刻( hh ) データ時間間隔 入力ファイル時間が 24h 以下か否か 上端気圧面 &record0 input_file = '/fy2c/work1/miyamoto/mm5/REGRID/regridder/REGRII D_DOMAIN1' / ! pressure-level data file name &record1 start_year = 2006 ! The starting and start_month = 08 ! ending dates to start_day = 28 ! process start_hour = 00 end_year = 2006 end_month = 08 end_day = 27 end_hour = 00 interval = 0 ! time difference (s) less_than_24h =.FALSE. / ! if input is less than 24 h &record2 ptop = 7000 ! top pressure if need to be redefined wrth2o =.TRUE. ! T/F specific humidity wrt H2O psfc_method = 0 / ! do not change for now &record3 simulation_name= 'WRF MM5 Comparison Simulation' user_desc = 'WRF Users' /
43 Typhoon Bogus in WRF 1. wrfsi で計算領域を作る。 2.MM5/TERRAIN で 1. で作った領域と 同じものを作る。 3.Pregrid で製作したデータを基に Bogus を入れて REGRID ファイルを 作る。 4.mm5_p_convert を通し、 wrfsi の hinterp ファイルを作り wrfsi に渡す。 5.wrf_real_input… を作り通常通り wrf を 実行する。 % cd WRF/wrfsi %./wrf_tools % cd../../MM5/TERRAIN % vi terrain.deck %./terrain.deck % cd../REGRID/pregrid % vi pregrid.csh %./pregrid.csh % cd../regridder % vi namelist.input %./regridder % cd WRF/mm5_p_convert % vi namelist.input %./mm5pconvert % cp hinterp*../wrfsi/domains/ /siprd % cd../wrfsi/bin % setenv INSTALLROOT /work1/miyamoto/WRF/wrfsi % setenv MOAD_DATAROOT /work1/miyamoto/WRF/wrfsi/domains/ %./vinterp.exe
44 WPS by using MANAL ① 1. ungrib.exe を行う前に GRIB データの リンクを張る際、 MANAL データと NCEP データのリンクを同時に貼る。 2.Vtable を GFS に指定し、通常通り ungrib.exe を実行する。 % cd WRF/WPS % ln -s /work1/miyamoto/WRF/WPS/ungrib/Variable_ Tables/Vtable.GFS Vtable % link_grib.csh /work1/miyamoto/DATA/0612/* %./ungrib.exe
45 WPS by using MANAL ② 1. MANAL データにリンクを貼る。 2. Vtable を GFS に指定し、通常通り ungrib.exe を実行する。 3. NCEP データにリンクを貼る。 4. namelist.wps を開き、 ungrib.exe で生 成されるファイルのヘッド名 ( prefix= で設定)を変更する( e.g. prefix=‘NCEP’ )。 5. ungrib.exe を実行する。 6. 再び namelist.wps を開き、 metgrid.exe で読み込まれるデータのヘッド名 を、先の2つにする。 ( fg_name=‘FILE’,’NCEP’ ) 7. metgrib.exe を実行する。 % cd WRF/WPS % link_grib.csh /work1/miyamoto/DATA/MANAL/0612/* % ln -s /work1/miyamoto/WRF/WPS/ungrib/Variable_ Tables/Vtable.GFS Vtable %./ungrib.exe % link_grib.csh /work1/miyamoto/DATA/NCEP/0612/* % vi namelist.wps %./ungrib.exe % ls … FILE: … NCEP: … % vi namelist.wps %./metgrid.exe
46 WPS by using MANAL ③ 1. MANAL データにリンクを貼る。 2.Vtable を GFS に指定し、通常通り ungrib.exe を実行する。 3. 自作のプログラム( FILE_EDIT.csh 、 HP )を用いて MANAL では不十分 である下層(地面)データを作り、 入れ込む。 % cd WRF/WPS % link_grib.csh /work1/miyamoto/DATA/MSM/0612/* % ln -s /work1/miyamoto/WRF/WPS/ungrib/Variable_ Tables/Vtable.GFS Vtable %./ungrib.exe % vi FILE_EDIT.csh % csh FILE_EDIT.csh %./metgrid.exe
47 JRA-25 Run by V2.1.2, V wrfsi での Vtable(wrfsi/extdata/static) を 編集し、相対湿度 (relative humidity) の上に比湿 (specific humidity) 、表面 温度 (skin temperature) の上に海面温 度 (sea surface temperature) の行を加 える。 2. 気象データのあるディレクトリに anl_p, anl_chipsi のファイルを置いて おく。 3.wrf_tools を実行し、 initial data で、編 集した Vtable を用いて気象データ ファイルを作成する。 4. 通常通り実行する。 ※ WPS では、 anl_p 内の上層の比湿不足から実行不 可能 →wrfsi で初期値・境界値ファイルを作り V2.2 で実 行する。 % cd WRF/wrfsi/extdata/static % cp Vtable.GFS Vtable.JRA % vi Vtable.JRA … 51 | 100 | * | | SPECHUMD | kg kg{-1}| 52 | 100 | * | | RH | % | … 51 | 105 | 2 | | SPECHUMD | kg kg{-1}| 52 | 105 | 2 | | RH | % | … 11 | 1 | 0 | | SST | K | 11 | 1 | 0 | | SKINTEMP | K | …. % cd../../ %./wrf_tools
48 Idealized simulation by em_real 理想的な場に初期擾乱として MM5 用台 風ボーガスを埋め込み、 ARW の em_real で計算を行う。 1. MM5 の、地形・定常データを作る TERRAIN で作られたファイル ( TERRAIN_DOMAIN0* )を編集す る。 2. MM5 pregrid.csh で得られる気象デー タファイルを編集する。 3. MM5 regridder で台風ボーガスを埋め 込んだ REGRID_DOMAIN0* を作る。 4. REGRID_DOMAIN0* から風速・高 度・気温・湿度の値を取り出す。 5. WRF geogrid で得られる geo_em.d0* を 編集する。 6. WRF metgrid で得られる met_em.** に、 REGRID_DOMAIN0* から得た変数 を書き込む。 7. 通常通り計算を行う。 % cd MM5/TERRAIN % vi terrain.deck %./terrain.deck % csh TER_EDIT*** % cd../REGRID/pregrid.csh % vi pregrid.csh %./pregrid.csh % csh FILE_EDIT.csh*** % cd../regridder % vi namelist.input % csh REGRID_EDIT.csh*** % cd../../../WRF/WPS % vi namelist.wps %./geogrid.exe % csh GEO_ID.csh*** %./metgrid.exe % csh MET_ID.csh*** % cd../WRFV2/test/em_real % ln – sf../../../WPS/met_em.d0* %./real.exe %./wrf_tools
WRF vortex-following nested run Select the ‘vortex following’ option when you conduct the configure process. compile em_real as usual. Prepare the input files except for the moving domain (only the parent domains). Edit the namelist file in WRF directory. Note that set “input_from_file”, in the column for moving domain as “false”. 49 >./configure > “Select the suitable one for your PC” > “Select the number (maybe 3) for Vortex- following nesting” >./compile em_real >& comp.log01 & > cd../WPS > vi namelist.wps >./geogrid.exe >./metgrid.exe > vi namelist.input >./real.exe >./wrf.exe
WRF-Var (Skamarock et al., 2005; Barker et al., 2003) Initial guess (WPS,real) Observation (obsproc) Background error (gen_be) yoyo xbxb B WRF-Var xaxa Boundary condition (WRF_BC) WRF NWC method (Parrish and Derber, 1992) Goal: minimize the cost function
WRF-Var 1/2 Install NetCDF, BLAS, LAPACK and BUFR and set the environment variables as… Decompress the WRFDA file and conduct configure and complie processes. Change directory to OBSPROC to make a file of the observation data because to run WRF-Var three files: initial guess, obs. data and background error covariance are needed. 51 > setenv BLAS /usr/local/lib > setenv LAPACK /usr/local/lib > setenv BUFR /usr/local/… > tar xvzf WRFDA_v3_0_1_1.tar.gz > cd WRFDA >./configure wrfda >./compile all_wrfvar >& comp.log & > ls -l./var/da/*.exe > cd./WRFDA/var/obsproc > Make > cp namelist.3dvar_obs.wrfvar-tut namelist.3dvar_obs >./3dvar_obs.exe >&! 3dvar_obs.out
WRF-Var 2/2 Link the input files and the executable file produced by the compiling process. Run WRF-Var. Then, “wrfvar_output” will be generated. Update the boundary condition to make it consistent with the initial condition (i.e., wrfvar_output). Link “wrfbdy” file and the executable file, and edit the parameter. After that, execute it. 52 > cd WRFDA/var/test > ln -sf../../run/LANDUSE.TBL./LANDUSE.TBL > ln -sf /wrfinput_d01./fg > ln - sf../../var/obsproc/obs_gts_yyyy_mm_dd.…./o b.ascii > ln -sf /be.dat./be.dat > ln -sf../../var/da/da_wrfvar.exe./da_wrfvar.exe > vi namelist.input >./da_wrfvar.exe >&! wrfda.log01 & > cp -p /wrfbdy_d01./wrfbdy_d01 > vi parame.in > ln -sf../da/da_update_bc.exe./da_update_bc.exe >./da_update_bc.exe