650 likes | 1.15k Vues
WRF demo/tutorial. 12-13-2004 Robert Fovell rfovell@ucla.edu. Background on WRF model. “Weather Research and Forecasting” Co-developed by research and operational communities Replaces MM5 and Eta models Current version 2.0.3.1
E N D
WRF demo/tutorial 12-13-2004 Robert Fovell rfovell@ucla.edu
Background on WRF model • “Weather Research and Forecasting” • Co-developed by research and operational communities • Replaces MM5 and Eta models • Current version 2.0.3.1 • Platforms (for model): Linux, IBM/AIX, SGI, Cray, Darwin… and Sun (hideous)
WRF advantages • Better numerics than MM5 • Arakawa C grid, R-K scheme, odd order advection w/ implicit diffusion • Much less diffusive, larger effective resolution, permits longer time steps • Better topography than Eta • GUI-driven domain configuration, initialization • Fortran 95 (MM5 was F77) • NetCDF output
Further advantages • Allows real data and idealized simulations in same framework • Plug-in architecture (different groups will supply WRF “cores”) • What I’m calling WRF is really the “Advanced Research WRF” (ARW) core
WRF disadvantages • Bleeding edge • Smaller range of physics choices overall • No radiation upper bdry condition [yet] • Software design cumbersome, obtuse [opinion may change with experience] • Nesting is very serious pain [that will change]
Overview • WRF Standard Initialization (WRFSI) • Set up domain • Prepare data for model run • MM5 equiv: terrain, pregrid, regridder • WRF model • Initialize model (MM5’s interpf) • Run model • WRF post-processing • WRF 3DVAR (not covered today)
Web stuff… • http://www.mmm.ucar.edu/wrf/users/user_main.html (WRF model users’ site) • http://www.mmm.ucar.edu/wrf/users/wrfv2/wrf-namelist.html (WRF namelist.input page) • http://www.mmm.ucar.edu/wrf/users/docs/user_guide/contents.html (WRF users guide) • http://www.mmm.ucar.edu/wrf/users/tutorial/tutorial-2004.htm (Slides from 2004 WRF tutorial at NCAR) • http://www.atmos.ucla.edu/~fovell/WRF/WRF_ports.html (Darwin/Mac OS X port) • http://www.wrf-model.org/si/ (WRFSI home page) • http://www.mmm.ucar.edu/wrf/WG4/tutorial/wrf3dvar_download_data.htm (WRF 3DVAR tutorial)
WRF for real data run Example: 24-26 October 2003 (Simi fire)
Directory structure • …/WRFV2/ • Parent directory • …/WRFV2/wrfsi • WRFSI location • …/WRFV2/wrfsi/domains/SoCal • Domain setup “SoCal” location • …/WRFV2/test/em_real • Where real data run will be made
Domain 1 terrain
Output from WRFSI • …/WRFV2/wrfsi/domains/SoCal/siprd • IC, BC files for D1, IC file for D2 • Move or link into …/WRFV2/test/em_real
Directory structure • In ../WRFV2 • main/ is where executables live • arch/ default config stuff • frame/ model framework stuff • phys/, dyn_em/ model physics, solver • external/ mainly I/O, MPI stuff • test/ test cases live here • run/ can run model from here, too
Preparing to run • Configure • ./configure • Select platform, compiler, & whether single threaded, OpenMP or MPI • Compile • ./compile em_real • Creates real.exe and wrf.exe in ../WRFV2/main • Creates links to real.exe, wrf.exe in ../WRFV2/test/em_real
Configuring • ./configure presents option list • Example: chose option 3, MPI
Compiling • ./compile presents options • Example: chose compile em_real • Eulerian mass-coordinate real-data model
Final initialization step • Move to .../WRFV2/test/em_real • Edit namelist.input • Lots to do here… • Execute ./real.exe • Creates wrfinput_d01, wrfbdy_d01 files • Run for each nest separately [ouch] • Model executable is wrf.exe
Editing namelist.input • Web resource • http://www.mmm.ucar.edu/wrf/users/wrfv2/wrf-namelist.html • Namelist sections [partial list] • &time_control • &domains • &physics • &dynamics
Setup for single domain run Columns provided for 3 domains (parent & 2 nests) but if max_dom =1 extra columns ignored
Setup for single domain run time_step ~ 6*DX (3*DX for MM5)… unless convective; Change max_dom when ready to activate nest
Setup for single domain run Here I have my MOAD dimensions (80x67) and nest dimensions (61x37) entered. Third column ignored since I only created 2 domains
Setup for single domain run s_we = start index for west-east direction, always 1. e_we = end index west-east, that’s your dimension
Setup for single domain run Make sure dx, dy set correctly -- the model does NOT check GUI-created inputs!
Setup for single domain run Columns provided for 3 domains (parent & 2 nests) but if max_dom =1 extra columns ignored
Setup for single domain run Here, subgrid mixing and computational diffusion is deactivated; model’s odd order advection is diffusive
Run real.exe & wrf.exe • ./real.exe • Look for real_em: SUCCESS COMPLETE REAL_EM INIT message • mpirun -np 2 wrf.exe & • MPI version creates rsl.out.000* and rsl.error.000* files • tail -f rsl.out.0000 • Look for wrf: SUCCESS COMPLETE WRF
Files created by WRF run • Named like: wrfout_d01_2003-10-24_12:00:00 [d01 = domain 1; file started 12Z 24 October 2003] • Files can be HUGE (NetCDF inefficient) - to split output files, namelist entry frames_per_outfile in &time_control
WRF postprocessing • RIP (just like MM5) • WRF2GrADS converter • WRF2VIS5D converter • Software that can handle NetCDF
RIP • RIP version 4 required • Real data runs only • ripdp_wrf expname all wrfout* • Will unpack every wrfout* files in local directory and all variables and call extracted files “expname” • Replace “all” with “basic” for less output • RIP4 unpacker for MM5 is now ripdp_mm5 expname MMOUT*
Animation using RIP • Part of Domain 1 shown for 24Oct2003 case Color: 2 m temperature; topo contours; 10 m wind vectors
Nesting • Created domains 1, 2 for SoCal in WRFSI • WRFSI created wrf_real_input_em* files for both domains • Need to run real.exe once for each domain • namelist.input needs to be edited for each real.exe run • Files have to be renamed to “fool” real.exe • Web page explanation: http://www.mmm.ucar.edu/wrf/users/wrfv2/runwrf.html
MM5 v. WRF on nesting • MM5: • Need only initialize parent (outer) grid • MM5 interpolates to nests, using nest terrain files created using terrain • WRF • If let model interpolate to nests, higher res topo files are NOT used, unlike MM5 • So, you need to init each domain separately with real.exe, and that takes fooling real.exe…
Fooling real.exe - 2 domain example • Start with domain 2 first • Edit namelist.input, putting nest information in first column • Previously, that info was for parent grid • Rename wrf_real_input_em.d02* IC file as wrf_real_input_d01* [after saving “real” d01 file!!!!] • Here, it’swrf_real_input_em.d02.2003-10-24_12:00:00 being renamed as wrf_real_input_em.d01.2003-10-24_12:00:00 • Then…