WRFの使い方
主にNCEP/FNLのダウンスケールを中心に
WRFの概要
WRFとはメソ(局地)気象モデルのことである.狭い領域で波浪や高潮を計算したいときに,全球気象モデル(GFS,NCEP/FNL,JRA-25など)の気象再解析データを狭い領域用に計算(ダウンスケール)してくれるものである.FNLやWRFのダウンロードは先生にお任せするとして,ここでは,WRFの計算をLinuxで操作する方法を中心に説明する.
WRFDomainWizardを開く
WRFDomainWizardとは簡単にいうと,WRFの計算の準備をお手伝いしてくれるようなものである.まずは,Terminalに
cd /usr/local/Wave_Forecast_Sys/wrf-2.2/WRFDomainwizard(Enterキー)
./WRFDomain.jar(Enterキー)
を打ち込むと,WRFDomainWizardが起動する.
WRFDomainWizardでの操作
OKを押した後,操作をしやすくするため全画面表示にしておく.計算領域,FNLデータは用意されている前提で話を進めると…
1. Wizard Optionについて
- 「Open or Delete a domain」を選択し,「Next」をクリック
2. Choose Domainについて
- これから計算する領域(例,japan_joetsu)を選択し,「Next」をクリック
3. Horizontal Editorについて
4. Namelist.input Editorについて
5. Run PreProcessorについて
- 「Select Dir」をクリック → ディレクトリ「/usr/local/Wave_Forecast_Sys/wrf_data/grids/past_data/01_Dec(/past_data/01_Decはケースバイケース)」を選択し,「Choose」をクリック
- 「Select File」→「Add All」をクリック
- 「Grib Start Date」「Grib End Date」は,計算する日付に変更する.
画面の右上の「Run Preprocessors to Generate Input Data Fields Required for WRF」に表示されている.
| Step |
Run |
List |
View |
| 1 |
geogrid |
Output |
Log |
| 2 |
ungrib |
Output |
Log |
| 3 |
metgrid |
Output |
Log |
上記のうち,「geogrid」,「ungrib」,「metgrid」の順にクリックしてRunさせる.WRFDomainWizardの操作はこれで終了.
注)geogridで地形データをWRF計算用にinputする
ungribで気象再解析データからWRFで計算するためのデータを取り出す
metgridでそのデータをoutputする
と筆者は勝手に考えているが,本当かどうかは不明…とりあえず,意味が知らなくてもWRFの計算はできる!!でも,知る努力はしましょう(汗)
Real,WRFの実行
Realとはmetgridを実行したときにディレクトリ「/usr/local/Wave_Forecast_Sys/wrf_data/domains2/japan_joestu(/domains2/japan_joetsuはケースバイケース)」で作成される
met_em.d01.YYYY-MM-DD_hh:mm:ss.nc
…
というファイルが計算時間分だけ出力される(2domianの場合は,met_em.d02.YYYY-MM-DD_hh:mm:ss.ncも出力される)が,それをいくつかのファイルにをにまとめるものである.Terminalに
cd /usr/local/Wave_Forecast_Sys/wrf_data/domains2/japan_joestu(Enterキー)
./real.exe(Enterキー)
と打ち込むとRealが実行される.その結果,ディレクトリ「/usr/local/Wave_Forecast_Sys/wrf_data/domains2/japan_joetsu」に
wrfbdy_d01
(wrfbdy_d02)
wrfinput_d01
(wrfinput_d02)
が作成される(ナッジングをする場合はそれようのファイルも出力).これらのファイルと
namelist.input
をディレクトリ「/usr/local/Wave_Forecast_Sys/WRF3.0/WRFV3/test/em_real」にコピーする.その後,Terminalに
cd /usr/local/Wave_Forecast_Sys/WRF3.0/WRFV3/test/em_real(Enterキー)
mpirun -np 12 wrf.exe(Enterキー)
と打ち込むとWRFが実行され,実際にWRFの計算が行われる.計算の進捗状況を確かめるには,別のTerminalで次の操作を行う.
cd /usr/local/Wave_Forecast_Sys/WRF3.0/WRFV3/test/em_real(Enterキー)
rm rsl.*(Enterキー)
tail -f rsl.error.0000(Enterキー)
WRFの計算は1日以上かかることが多いので,ここまでできたらとりあえずひと休み♪
WRFの計算が終了したら…
ディレクトリ「/usr/local/Wave_Forecast_Sys/WRF3.0/WRFV3/test/em_real」に作成される
wrfout_d01_YYYY_MM-DD_hh:mm:ss
というファイルが計算時間分だけ作成される.それらをすべてディレクトリ「/usr/local/Wave_Forecast_Sys/wrf-2.2/ARWpost」にコピーする.そのディレクトリにあるrename_YYMMM.shというファイルをコピーして,コピーしたファイルの名前を自分の計算期間の年月に修正する.そのファイルに右クリックし,Open with「Text Editor」をクリックすると,「rename_YYMMM.sh」の編集ができる.
rename_YYMMM.shには,次のようなことが書いてある.
mv wrfout_d01_YYYY_MM-DD_hh::mm:ss d01_YYYYMMDDhh
…
…
(mv wrfout_d01_YYYY_MM-DD_hh::mm:ss d02_YYYYMMDDhh)
(…)
(…)
出力ファイルに準じて,上記の日付を変更する.また,
cd /usr/local/Wave_Forecast_Sys/wrf-2.2/ARWpost
gedit rename_YYMMM.sh
とTerminalに入力することで,rename_YYMMM.shの編集ができる.その後,
(cd /usr/local/Wave_Forecast_Sys/wrf-2.2/ARWpost)
./rename_YYMMM.sh
とTerminalに入力すると,./rename_YYMMM.shが実行される.そうすると,wrfout_d01_YYYY_MM-DD_hh::mm:ssファイルがd01_YYYYMMDDhhに変身する(mvとはLinux上ではファイルの書き換えという意味である).その後,ディレクトリ「/usr/local/Wave_Forecast_Sys/wrf-2.2/ARWpost」にnamelist.ARWpostというファイルがあるので,その編集をする.編集の方法は以下のとおり.
start_date
end_date
→ 計算期間に合わせて変更する.
input_root_name
→ renameしたファイル「d01_YYYYMMDDhh」に書き換える.(1domain分だけ)
その後,
./ARWpost.exe
とTerminalに入力すると,ARWpostが実行される.なお,ARWpostは1domainずつ行うので,合計2domainの場合2回行うことになる.その場合は,output_root_nameを領域ごとに変えておく.ARWpostが実行されることで,namelist.inputのoutput_root_nameで設定したctlファイルとdatファイルができる.ctlファイルは計算格子上の緯度,経度が書いてある.datファイルは,風と気圧データが書かれている.最後に,
cd /usr/local/Wave_Forecast_Sys/scripts
./extract_wind_swan_grad.sh
で完了!!scriptsの細かい設定などを端折ったが,今日はここまで(2010/02/05,Sakunaka)
最終更新:2010年02月06日 11:48