WRF - Initialization
Linking the metgrid outputs
上一個步驟(metgrid)中已製作完成包含氣象資訊和地理(下墊面)資訊的合併檔(met_em),接著會使用real.exe 這支程式進行模式的初始化 (initialization)。
met_em檔案位於WPS下(請留意 namelist.wps 中可以調整 met_em 產出的路徑位址,請依自身情況調整),需要將檔案移至WRF執行模擬的 run 目錄下,非必要盡量使用軟(象徵性)連結的方式將要使用到的資料在 ${WRF_DIR}/run 建立連結。
[USER@VAPOR ***]$ cd ${WRF_DIR}/run
[USER@VAPOR ***]$ ln -sf ${WPS_DIR}/met_em*nc .
Editing namelist.input
初始化會計算 reference state ,垂直座標內插,擾動場計算,產出邊界條件,地表資料遮罩等等。也就是說,原本 met_em 的變數位於等壓面上,經過 ./real.exe 後,位置會變成 WRF 模式使用的垂直座標系統。這邊要留意的是 WRF version 3 預設的垂直座標是使用地勢追隨座標,而 WRF version 4.0+開始預設使用地勢追隨混和靜壓力座標。如要在WRF version 4.0+ 使用單純的地勢追隨座標,需要在namelist.input 列出以下這些設定: hybrid_opt = 0 以及 force_use_old_data = .true. 。
執行 real.exe 之前,打開 namelist.input 檔案先來修改模式設定,內容跟 namelist.wps 很類似,建議將這時候以執行 ./real.exe 為目的的前提下作設定,執行 ./wrf.exe 模擬前再調整 namelist.input 檔案中模擬所需要的參數。綜合以上, ./real.exe 這一步驟會使用到時間控制 (&time_control) 和 domain 區段(&domains) 的變數。如果只有一個domain, real.exe 跟 wrf.exe 會直接忽略d02/d03....的其他columns 設定,不用特別刪除多餘 domain 的設定。每項參數的說明可以從 README.namelist 中找到,若 README中的參數後方有接著(max_dom),則表示該變數需要針對每個不同 domain 設定,最後提醒,參數設定時,要養成排列整齊的好習慣喔。
垂直座標差異
[USER@VAPOR ***]$ vi ${WRF_DIR}/run/README.namelist # manual file for setting namelist
[USER@VAPOR ***]$ vi ${WRF_DIR}/run/namelist.input
&time_control
run_days = 0,
run_hours = 72,
run_minutes = 0,
run_seconds = 0,
start_year = 2015, 2015, 2015,
start_month = 08, 08, 08,
start_day = 06, 06, 06,
start_hour = 12, 12, 12,
end_year = 2015, 2015, 2015,
end_month = 08, 08, 08,
end_day = 09, 09, 09,
end_hour = 00, 00, 00,
interval_seconds = 10800, # 分析場時間間隔
input_from_file = .true.,.true.,.true.,
history_interval = 60, 60, 60,
frames_per_outfile = 1, 1, 1,
restart = .false., # true表示這次進行restart run,false表示不是restart,從初始化時間開始執行的模擬
restart_interval = 3600, # 每間隔多少分鐘生成restart檔
io_form_history = 2
io_form_restart = 2
io_form_input = 2
io_form_boundary = 2
/
&domains # 在WPS設定時有出現過的參數,請填寫設定WPS時一樣的值,由其跟網格設定相關的部分
time_step = 90, # 時間步長除了跟計算穩定度有關也跟邊界條件的製作有關,所以修改時間步長,需要重新做一次real.exe
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 3,
e_we = 150, 223, 451,
e_sn = 130, 214, 601,
e_vert = 45, 45, 45,
dzstretch_s = 1.2,
p_top_requested = 5000,
num_metgrid_levels = 34, # 實際數值請自行查閱met_em的擋頭
num_metgrid_soil_levels = 4, # 實際數值請自行查閱met_em的擋頭
dx = 15000,
dy = 15000,
grid_id = 1, 2, 3,
parent_id = 0, 1, 2,
i_parent_start = 1, 53, 85,
j_parent_start = 1, 25, 65,
parent_grid_ratio = 1, 3, 5,
parent_time_step_ratio = 1, 3, 5,
feedback = 1,
smooth_option = 0,
/
...(略)...
Executing real
設定完 namelist.input 存檔後,執行 real.exe 。
Checking IC/BC
順利執行完畢的話,n 個 domain 應該要產出 n 個初始場(wrfinput*),一個邊界條件(wrfbdy),如果安裝使用dmpar有用到mpi,應會產生 rsl.error* 以及 rsl.out* 兩類檔案,裡面會有錯誤訊息以及標準輸出等等資訊。