WRF (Weather Research and Forecasting)

WRF note
(Weather Research and Forecasting)
京都大学理学研究科修士2年
暴風雨 宮本 佳明
Latest update : Feb. 19th 2009
•Moving Nest
•WRF-Var
目次
3-7 : The model ‘WRF-ARW’
8-10 : Software
11-18 : Pre process (11-13:wrfsi, 14-18:WPS)
19-31 : WRF (19-23:V2.1.2, 24-31:V2.2)
32-40 : Post process (32-37:WRF2GrADS, 38-40:ARWpost)
41-49 : Tools (MM5toWRF, TY-Bogus, JRA25/MANAL,
Idealized simulation, Moving Nested run)
50-51 : WRF-Var
2
3
WRF
•
•
•
•
•
NCEP/NCARで開発・発展されているメソ数値モデル
非静力、完全圧縮系の方程式
広範囲をサポート(WRF-VAR, WRF-chem, GWRF, etc.)
用途によって二種の解法(NMM, ARW)
2008年4月にversion3.0がリリース
WRF Software Framework
Obs. Data,
Analyses,
Forecast
Initialization
WRF-Var
Dynamics solvers
ARW Solver
NMM Solver
…
Post Processors,
Verification
Flow
1. 計算期間(period)、位置(domain)の決定
2. 気象データを用いて初期値・境界値の製作
3. 計算実行
4. 結果処理
gridgen_model.exe(wrfsi), geogrid.exe(wps)
*hinterp.exe(wrfsi), metgrid.exe(wps)
real.exe(wrf)
wrf.exe(wrf)
WRF2GrADS, WRF2Vis5d, ARWpost…
4
ARW(Advanced Research WRF)
• 鉛直座標:Mass座標

ph  pht

  phs  pht
p h :圧力の静水圧成分
p ht:上端の圧力
p hs:地表面の圧力
5
ARW(Advanced Research WRF)
• フラックス形式のオイラー方程式
運動方程式

 
U

p '
p   

 m  (Uu)  (Vu ) 
(u )    d 
  d  '   
t
y
x
x    d

 x
 

 
V

p'
p   

 m  (Uv)  (Vv ) 
(v)    d 
  d  '   
t
y
x
x    d

 x
 


 
W

 m  (Uw)  (Vw ) 
(w)  m 1 g 
t
y
 x
 
 d
質量保存式
 U V 
d '

 m2 


m
0

t

x

y




温位保存式
  ' p ' 
 
  d
  FU

 d

x



x

x


  ' p' 
 
  d
  FV

 d
y  y
y 

 p '


  d (qv  qc  qr )   m 1 d ' g  FW

 
ジオポテンシャル式
 '
  d1 m 2 U x  U y   mU   gW   0
t
スカラー保存式





   F Qm  m2   Uqm    Vqm   m  qm   FQm
 m2  U   V   m
t
y

t
y

 x

 x

状態方程式
p  p0 Rdm / p0d 

6
ARW(Advanced Research WRF)
• 3次のRunge Kutta
t
    R ( t )
3
t
**
t
    R ( * )
2
 t  t   t  tR( ** )
*
t
Begin Time Step
Begin RK3 Loop:Step 1,2,3
(step1) , F , Rt*
Begin Acoustic Step Loop:Step1,n
RK3 step 1 n  1
  t / 3
RK3 step 2 n  ns / 2   t / ns
RK3 step 3 n  ns
  t / ns
Advance variables
End Acoustic Step Loop
Advance scalars
End RK3 Loop
Compute non-RK3 physics
End Time Step
7
NetCDF
1.http://www.unidata.ucar.edu/softwar
e/netcdf/ から‘netcdf.tar’をダウン
ロードし解凍する。
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-3.6.1
# make
# make test
# make install
# vi .cshrc
# NETCDF-3.6.1
set path = (/usr/local/netcdf-3.6.1/bin $path)
setenv NETCDF /usr/local/netcdf-3.6.1
setenv MANPATH $NETCDF/man:$MANPATH
# source .cshrc
8
NCARG(NCAR Graphics)
1.http://ngwww.ucar.edu/cgi/getsrc.cgi
から‘ncarg-4.4.1.src.tar.gz’をダウ
ンロードし解凍する。
※ ./configure –v の後色々聞かれるが、
NetCDFディレクトリの入力だけに注意
して‘Enter’を押していれば大丈夫。
2.環境設定しパスを通す。
# su
Password:*****
# mv ncarg-4.4.1.src.tar.tar /usr/local
# cd /usr/local
# tar xvzf ncarg-4.4.1.src.tar.tar
# cd ncarg-4.4.1
# csh
# setenv NCARG /usr/local/ncarg-4.4.1
# 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-4.4.1
set path = ( $NCARG_ROOT/bin $path)
setenv MANPATH
$NCARG_ROOT/man:$MANPATH
# source .cshrc
9
NCL(NCAR Command Language)
10
1.http://www.earthsystemgrid.org/か
ら‘ncl4.2.0.a033.Linux_x86_64.tar’を
/ncargディレクトリにダウンロードし
解凍する。
# su
Password:*****
#
mv
ncl-4.2.0.a033.Linux_x86_64.tar
/usr/local/ncarg-4.4.1
# cd /usr/local/ncarg-4.4.1
# tar xvzf ncl-4.2.0.a033.Linux_x86_64.tar
2.環境設定しパスを通す。
# vi .cshrc
# NCL
setenv NCL_COMMAND $NCARG_ROOT/bin/ncl
# source .cshrc
wrfsi(WRF Standard Initialization)
Install
1.http://wrfsi.noaa.gov/ から
‘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):
[email protected]
Password: ‘irresponsible’
ftp> cd divisions/frd-laps/WRFSI/Geog_Data
…
% tar -xvzf albedo_ncep.tar.gz
…
% ./wrf_tools
11
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
12
wrfsi(WRF Standard Initialization)
initial data
1.Sources
Vtableを用いて気象データファイルを
変換
用いるVtableと、時間間隔の設定
2.Script
データ初期時刻の入力から期間と間
隔を設定
interpolate data
1.Controls
Initial dataで変換した気象データのど
れを使うか選択
2.Script
データ初期時刻の入力から期間と間
隔を設定
% ./wrf_tools
13
Software for WPS (GRIB2)
GRIB2形式のファイルを扱う際に
必要
Jasper:
http://www.ece.uvic.ca/~mdada
ms/jasper/
Libpng:
http://www.libpng.org/pub/png/
libpng.html
Zlib:
http://www.zlib.net/
からそれぞれ、‘jasper1.900.0.zip’, ‘libpng1.2.14.tar.gz’, ‘zlib1.2.3.tar.tar’をダウンロードし解
凍する。
# su
Password:*****
# mv jasper-1.900.0.zip libpng-1.2.14.tar.gz zlib1.2.3.tar.tar /usr/local/
# cd /usr/local/
---jasper--# unzip jasper-1.900.0.zip
# cd jasper-1.900.0/
# ./configure
# make
# make install
---libpng--# tar xvzf libpng-1.2.14.tar.gz
# cd libpng-1.2.14/
# ./configure
# make
# make install
---zlib--# tar xvzf zlib-1.2.3.tar.tar
# cd zlib-1.2.3/
# ./configure
# make
# make install
14
WPS(WRF Pre-Processor)
Install
※予めWRFV2.2をインストールし
た上で、同じディレクトリにイ
ンストールする。
1.http://www.mmm.ucar.edu/wrf/u
sers/download/get_source2.htm
lから‘WPSV2.2.TAR.gz’をダウ
ンロードし解凍する。
2.コンパイルを行い実行形式ファイル
を作る。
3.http://www.mmm.ucar.edu/wrf/u
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):
[email protected]
Password: ‘irresponsible’
ftp> cd divisions/frd-laps/WRFSI/Geog_Data
…
% tar xvzf albedo_ncep.tar.gz
…
% tar xvzf geog.tar.gz
15
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/PG06082
7.*
% ungrib.exe
---metgrid--% metgrid.exe
16
namelist.wps
&share
wrf_core = 'ARW',
max_dom = 1,
start_date = '2006-08-30_00:00:00','2006-09-14_00:00:00',
end_date = '2006-08_31_00:00:00','2006-09-18_00:00:00',
interval_seconds = 21600
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 = 170.00,
truelat1 = 17.5,
truelat2 = 17.5,
stand_lon = 170.0,
geog_data_path = '/work1/miyamoto/WRF/WRFV2.2/geog'
/
ドメイン数
計算開始時間
計算終了時間
データ入力間隔(s)
親ドメイン
親ドメインとの格子間隔比
親ドメインにおける領域経度方向開始地点
親ドメインにおける領域緯度方向開始地点
親ドメインにおける領域経度方向終了地点
親ドメインにおける領域緯度方向終了地点
地形データの解像度
x方向格子間隔
y方向格子間隔
地図投影
中心緯度
中心経度
地形データのあるディレクトリ
17
namelist.wps
&ungrib
out_format = 'WPS',
prefix = 'FILE',
/
&metgrid
fg_name = 'FILE'
io_form_metgrid = 2,
/
&mod_levs
press_pa = 201300 , 200100 , 100000 ,
95000 , 90000 ,
85000 , 80000 ,
75000 , 70000 ,
65000 , 60000 ,
55000 , 50000 ,
45000 , 40000 ,
35000 , 30000 ,
25000 , 20000 ,
15000 , 10000 ,
5000 , 1000
/
アウトプットファイル形式
アウトプットファイル名のヘッド
ファイル名のヘッド
気圧面高度
18
WRFV2.1.2
1.http://www.mmm.ucar.edu/wrf/u
sers/download/get_source2.htm
lから‘WRFV2.1.2.TAR’をダウン
ロードし解凍する。
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 <case (ex. em_real)>
% cd test/em_real
% ln –sf /work1/WRF/wrfsi/domains/<domain
name>/siprd/wrf_input* .
% vi namelist.input
% real.exe
% wrf.exe
19
namelist.input(wrfv2.1.2)
&time_control
run_days
run_hours
run_minutes
run_seconds
start_year
start_month
start_day
start_hour
start_minute
start_second
end_year
end_month
end_day
end_hour
end_minute
end_second
interval_seconds
input_from_file
fine_input_stream
history_interval
frames_per_outfile
restart
restart_interval
io_form_history
io_form_restart
io_form_input
io_form_boundary
= 4,
= 0,
= 0,
= 0,
= 2006, 1999, 1999,
= 08, 09, 09,
= 27, 27, 22,
= 00, 06, 12,
= 00, 00, 00,
= 00, 00, 00,
= 2006, 1999, 1999,
= 08, 09, 09,
= 31, 27, 24,
= 00, 06, 00,
= 00, 00, 00,
= 00, 00, 00,
= 21600
= .true.,.true.,.false.,
= 0, 0, 0,
= 10, 30, 30,
= 6, 6, 1000,
= .false.,
= 5000,
=2
=2
=2
=2
計算日数
計算時間(日数を引いたもの)
計算分(日数、時間を引いたもの)
計算秒(日数、時間、分を引いたもの)
開始年(yyyy)
開始月(mm)
開始日(dd)
開始時(hh)
開始分(mm)
開始秒(ss)
終了年(yyyy)
終了月(mm)
終了日(dd)
終了時(hh)
終了分(mm)
終了秒(ss)
入力データの時間間隔(s)
データ入力するか
アウトプットファイルへの書き込み間隔(minute)
一つのアウトプットファイルに書き込む時間数
リスタートするか
リスタートのインターバル
20
namelist.input(wrfv2.1.2)
debug_level
&write_input
&inputout_interval
&input_outname
&inputout_begin_y
&inputout_begin_mo
&inputout_begin_d
&inoutout_begin_h
&inputout_begin_m
&inputout_begin_s
&inputout_end_y
&inputout_end_mo
&inputout_end_d
&inputout_end_h
&inputout_end_m
&inputout_end_s
/
&domains
time_step
time_step_fract_num
time_step_fract_den
max_dom
s_we
e_we
s_sn
e_sn
s_vert
e_vert
=0
=t
= 60
= 'wrf_3dvar_input_d01_990923'
=0
=0
=0
=3
=0
=0
=0
=0
=0
= 12
=0
=0
= 30,
= 0,
= 1,
= 1,
= 1, 1, 1,
= 301, 301, 241,
= 1, 1, 1,
= 301, 301, 331,
= 1, 1, 1,
= 45, 50, 31,
時間ステップ
ドメイン数
経度方向開始格子点
経度方向終了格子点
緯度方向開始格子点
緯度方向終了格子点
鉛直方向開始格子点
鉛直方向終了格子点
21
namelist.input(wrfv2.1.2)
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,
x方向格子間隔
y方向格子間隔
ドメイン番号
親ドメイン
親ドメインにおける領域経度方向開始格子点
親ドメインにおける領域緯度方向開始格子点
親ドメインとの格子間隔比
親ドメインとの時間ステップ比
スムースをかけるか
物理パラメタリゼーション
微物理スキーム
長波放射スキーム
短波放射スキーム
放射スキームの時間間隔
接地層スキーム
土壌スキーム
境界層スキーム
境界層スキームの時間間隔
積雲パラメタリゼーション
積雲パラメタの時間間隔
地層の数
22
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,
/
23
WRFV2.2
1.http://www.mmm.ucar.edu/wrf/u
sers/download/get_source2.htm
lから‘WRFV2.2.TAR.gz’をダウ
ンロードし解凍する。
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 <case (ex. em_real)>
% cd test/em_real
% ln –sf /work1/WRF/wrfsi/domains/<domain
name>/siprd/wrf?input* .
or
% ln –sf /work1/WRF/WPS/met_grid* .
% vi namelist.input
% real.exe
% wrf.exe
24
namelist.input(wrfv2.2)
&time_control
run_days
run_hours
run_minutes
run_seconds
start_year
start_month
start_day
start_hour
start_minute
start_second
end_year
end_month
end_day
end_hour
end_minute
end_second
interval_seconds
input_from_file
history_interval
frames_per_outfile
restart
restart_interval
io_form_history
io_form_restart
io_form_input
io_form_boundary
debug_level
= 4,
= 0,
= 0,
= 0,
= 2006, 2000, 2000,
= 08, 01, 01,
= 27, 24, 24,
= 00, 12, 12,
= 00, 00, 00,
= 00, 00, 00,
= 2006, 2000, 2000,
= 08, 01, 01,
= 31, 25, 25,
= 00, 12, 12,
= 00, 00, 00,
= 00, 00, 00,
= 21600
= .true.,.false.,.false.,
= 60, 60, 60,
= 6, 1000, 1000,
= .false.,
= 5000,
=2
=2
=2
=2
=0
計算日数
計算時間(日数を引いたもの)
計算分(日数、時間を引いたもの)
計算秒(日数、時間、分を引いたもの)
開始年(yyyy)
開始月(mm)
開始日(dd)
開始時(hh)
開始分(mm)
開始秒(ss)
終了年(yyyy)
終了月(mm)
終了日(dd)
終了時(hh)
終了分(mm)
終了秒(ss)
入力データの時間間隔(s)
データ入力するか
アウトプットファイルへの書き込み間隔(minute)
一つのアウトプットファイルに書き込む時間数
リスタートするか
リスタートのインターバル
25
namelist.input(wrfv2.2)
auxinput1_inname
= "met_em.d<domain>.<date>"
入力ファイルをwrfsi、wpsの
/
どちらで作ったか
auxinput1_inname
= "wrf_real_input_em.d<domain>.<date>"
&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
metgridでの鉛直格子数
dx
= 5000, 10000, 3333,
x方向格子間隔
dy
= 5000, 10000, 3333,
y方向格子間隔
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
26
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, 0.000
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, 0.000
&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,
鉛直無次元気圧座標の格子点
物理パラメタリゼーション
微物理スキーム
長波放射スキーム
短波放射スキーム
放射スキームの時間間隔
接地層スキーム
27
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.
土壌スキーム
境界層スキーム
境界層スキームの時間間隔
積雲パラメタリゼーション
積雲パラメタの時間間隔
地層の数
28
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,
/
29
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,B2ドメイン用に編
集する。
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<domain
name>/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
30
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<domain
name>/siprd/wrf_input* .
% vi namelist.input
% real.exe
% ls …
wrfbdy_d01 wrfinput_d01 wrfinput_d02…
% wrf.exe
31
WRF2GrADS
1.http://www.mmm.ucar.edu/wrf/u
sers/download/get_source.html
から‘wrf2grads.tar.gz’をダウン
ロードし解凍する。
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 <outfilename>
32
control_file(WRF2GrADS)
33
-1
! number of times to put in GrADS file, negative means ignore the times 1
アウトプットファイルからの入力時間数と
2006-08-27_00:00:00
その時間
end_of_time_list
-をつけるとファイル内全ての時間を書き
! 3D variable list for GrADS file
出す
! indent one space to skip
U
! U Compoment of wind
3次元データ
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
control_file(WRF2GrADS)
SMOIS
! SOIL MOISTURE
! below a list of fields from SI static and input files
LANDUSEF
!SOILCTOP
!SOILCBOT
!SPECHUMD
!GREEN12M
!ALBDO12M
!end_of_3dvar_list
2次元データ
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
34
control_file(WRF2GrADS)
RAINCV
RAINNC
SFROFF
slvl
SMSTAV
SNOW
SNOWC
SST
T2
TH2
TMN
TSK
U10
U10M
V10
V10M
UST
UDROFF
VEGFRA
WEASD
XLAT
XLONG
XLAND
! TIME-STEP CUMULUS PRECIPITATION
! ACCUMULATED TOTAL GRID SCALE PRECIPITATION
! SURFACE RUNOFF
! sea level pressure
! MOISTURE VARIBILITY
! SNOW WATER EQUIVALENT
! FLAG INDICATING SNOW COVERAGE (1 FOR SNOW COVER)
! SEA SURFACE TEMPERATURE
! TEMP at 2 M
! POT TEMP at 2 M
! SOIL TEMPERATURE AT LOWER BOUNDARY
! SURFACE SKIN TEMPERATURE
! U at 10 M
! U at 10 M - rotated
! V at 10 M
! V at 10 M - rotated
! friction velocity
! UNDERGROUND RUNOFF
! VEGETATION FRACTION
! WATER EQUIVALENT OF ACCUMULATED SNOW
! LATITUDE, SOUTH IS NEGATIVE
! LONGITUDE, WEST IS NEGATIVE
! LAND MASK (1 FOR LAND, 2 FOR WATER)
! below a list of fields from SI static and input files
ALBBCK
!LANDMASK
!PMSL
!SLOPECAT
!-
35
control_file(WRF2GrADS)
SHDMAX
!SHDMIN
!SNOALB
!SOILHGT
!ST000010
!ST010040
!ST040100
!ST100200
!SM000010
!SM010040
!SM040100
!SM100200
!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.d02.2000-01-24_12:00:00
/work1/miyamoto/WRF/WRFV2.2/WRFV2/test/em_real/wrfout_d01_2006-08-27_00:00:00
/DATA/b_wave/wrfout_d01_0001-01-01_00:00:00
/DATA/grav2d_x/wrfout_d01_0001-01-01_00:00:00
/DATA/hill2d_x/wrfout_d01_0001-01-01_00:00:00
/DATA/quarter_ss/wrfout_d01_0001-01-01_00:00:00
/DATA/squall2d_x/wrfout_d01_0001-01-01_00:00:00
36
control_file(WRF2GrADS)
/DATA/squall2d_y/wrfout_d01_0001-01-01_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)
1000.0
950.0
900.0
850.0
800.0
750.0
700.0
650.0
600.0
550.0
500.0
450.0
400.0
350.0
300.0
250.0
200.0
150.0
100.0
データの種類(real、ideal、static)
地図投影するか(0→しない、1→する)
鉛直座標の指定
0→直交座標系
-1→hを内挿
1→下に示すレベル(気圧、高度)で出力
37
ARW Post(Post-Processing)
1.http://www.mmm.ucar.edu/wrf/users/
download/get_source.htmlから
‘ARWpost.tar’をダウンロードし
解凍する。
2. namelist.ARWpostを編集し、出力期
間や変数、高度などを設定する。
3.ARWpostを実行する。
% mv ARWpost.tar /work1/WRF
% tar xvf ARWpost.tar
% cd ARWpost
% vi namelist.ARWpost
% ./ARWpost
38
namelist.input(ARWpost)
&datetime
start_date = '2006-08-27_00:00:00',
end_date = '2006-08-28_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
開始時刻
終了時刻
データの間隔
入力ファイル名
出力ファイル名
書き出す変数
出力ファイルの形式
39
namelist.input(ARWpost)
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,
内挿方法
内挿レベル
内挿レベル
0→モデルでのレベル
1→指定したレベル
-1→
40
MM5toWRF
MM5でp座標系で書かれているファイ
ル(REGRID)をWRFのhinterpファ
イルに書き換えるプログラム
1.http://www.mmm.ucar.edu/wrf/u
sers/utilities/util.htmから
‘mm5_p_convert.tar’をダウン
ロードし解凍する。
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
41
namelist.input(mm5_p_convert)
&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' /
入力ファイル名(REGRID形式)
開始年(yyyy)
開始月(mm)
開始日(dd)
開始時間(hh)
終了年(yyyy)
終了月(mm)
終了日(dd)
終了時刻(hh)
データ時間間隔
入力ファイル時間が24h以下か否か
上端気圧面
42
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/<domain
name>/siprd
% cd ../wrfsi/bin
% setenv INSTALLROOT
/work1/miyamoto/WRF/wrfsi
% setenv MOAD_DATAROOT
/work1/miyamoto/WRF/wrfsi/domains/<domai
n name>
% ./vinterp.exe
43
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
44
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
45
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
46
47
JRA-25 Run by V2.1.2, V2.2
1. wrfsiでのVtable(wrfsi/extdata/static)を % cd WRF/wrfsi/extdata/static
編集し、相対湿度(relative humidity)の % cp Vtable.GFS Vtable.JRA
% vi Vtable.JRA
上に比湿(specific humidity)、表面温 …
度(skin temperature)の上に海面温度 51 | 100 | * | | SPECHUMD | kg kg{-1}|
(sea surface temperature)の行を加える。 52 | 100 | * | | RH
|%
|
2.気象データのあるディレクトリにanl_p,
anl_chipsiのファイルを置いておく。
3.wrf_toolsを実行し、initial dataで、編集し
たVtableを用いて気象データファイル
を作成する。
4.通常通り実行する。
※WPSでは、anl_p内の上層の比湿不足から実行不
可能
→wrfsiで初期値・境界値ファイルを作りV2.2で実行す
る。
…
51 | 105 | 2 |
52 | 105 | 2 |
…
11 | 1 | 0 |
11 | 1 | 0 |
….
% cd ../../
% ./wrf_tools
| SPECHUMD | kg kg{-1}|
| RH
|%
|
| SST
|K
| SKINTEMP | K
|
|
48
Idealized simulation by em_real
理想的な場に初期擾乱としてMM5用台 % cd MM5/TERRAIN
% vi terrain.deck
風ボーガスを埋め込み、ARWの
% ./terrain.deck
em_realで計算を行う。
% csh TER_EDIT
% cd ../REGRID/pregrid.csh
1. MM5の、地形・定常データを作る
% vi pregrid.csh
TERRAINで作られたファイル
(TERRAIN_DOMAIN0*)を編集する。 % ./pregrid.csh
% csh FILE_EDIT.csh ***
2. MM5 pregrid.cshで得られる気象データ % cd ../regridder
ファイルを編集する。
% vi namelist.input
3. MM5 regridderで台風ボーガスを埋め % csh REGRID_EDIT.csh
% cd ../../../WRF/WPS
込んだREGRID_DOMAIN0*を作る。 % vi namelist.wps
4. REGRID_DOMAIN0*から風速・高度・ % ./geogrid.exe
% csh GEO_ID.csh
気温・湿度の値を取り出す。
% ./metgrid.exe
5. WRF geogridで得られるgeo_em.d0*を
% csh MET_ID.csh
編集する。
% cd ../WRFV2/test/em_real
6. WRF metgridで得られるmet_em.**に、 % ln –sf ../../../WPS/met_em.d0*
REGRID_DOMAIN0*から得た変数を % ./real.exe
% ./wrf_tools
書き込む。
7. 通常通り計算を行う。
***
***
***
***
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”.
> ./configure
> “Select the suitable one for your PC”
> “Select the number (maybe 3) for Vortexfollowing nesting”
> ./compile em_real >& comp.log01 &
> cd ../WPS
> vi namelist.wps
> ./geogrid.exe
> ./metgrid.exe
> vi namelist.input
> ./real.exe
> ./wrf.exe
49
WRF-Var (Skamarock et al., 2005; Barker et al., 2003)
Goal: minimize the cost function
J( x )  Jb  Jo 
1
1
( x - x b ) T B -1 ( x - x b )  ( y - y o ) T (E  F)-1 ( y - y o )
2
2
Initial guess
(WPS,real)
Observation
(obsproc)
xb
Background error
(gen_be)
yo
B
WRF-Var
xa
Boundary condition
(WRF_BC)
NWC method
(Parrish and Derber, 1992)
B  ( x b - x t )(x b - x t ) T
 [ x f (t  24)- x f (t  12)][x f (t  24)- x f (t  12)]T
WRF
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.
> 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
51
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