Title: How to set up and run WRF model
1How to set up and run WRF model
2Outline
- How to download and compile the WRF model code?
- Namelist
- Input and output files
3How to download and compile WRF?
- Download WRF source code from
- http//www.wrf-model.org/users/download.html
- What you get is
- WRFV1.3.TAR.gz
- After gunzip and untar, you should see a
directory WRFV1/ - cd to WRFV1/ directory, and you should see ..
4WRFV1 directory
- CHANGES
- Makefile
- README
- README_test_cases
- Registry/ - add/remove input/output, new
variables - arch/ - architecture-dependent compile options
- clean
- compile
- configure
- dyn_eh/
- dyn_em/
- external/
- frame/
- inc/
- main/ - main programs real, ideal, wrf,
executables - phys/ - physics routines
- run/
- share/
- test/ - where you run the model
5How to compile?
- Type configure to create configure.wrf file for
your particular computer - gt ./configure
- checking for perl5... no
- checking for perl... found /usr/local/bin/perl
(perl) - Will use NETCDF in dir /usr/local/netcdf
- --------------------------------------------------
----- - Please select from among the following supported
platforms. - 1. Compaq OSF1 alpha
(single-threaded) - 2. Compaq OSF1 alpha SM (OpenMP)
- 3. Compaq OSF1 alpha DM/SM (RSL, MPICH,
RSL IO, OpenMP) - 4. Compaq OSF1 alpha DM/SM (RSL, DECMPI,
RSL IO, OpenMP) - Enter selection 1-4 1
6How to compile?
- Youll see, for example
- You have chosen Compaq OSF1 alpha
(single-threaded) - These are the default options for this platform
- --------------------------------------------------
------------ -
- OMP
- OMPCPP
- FC f90
- CC cc
- CFLAGS
- FCOPTIM -fast -O4 -inline all
-
- --------------------------------------------------
------------ - These will be written to the file configure.wrf
here in the top-level - directory. If you wish to change settings,
please edit that file. - If you wish to change the default options, edit
the file - arch/configure.defaults
- Configuration successful. To build the model type
compile .
7How to compile?
- You may want to edit configure.wrf to change
default compile options. - In WRF V1.3, compile options are provided for
- SGI (single, OpenMP, MPI)
- Sun (single and OpenMP higher version
required) - IBM AIX (single, OpenMP, MPI)
- Alpha OSF (single, OpenMP, MPI)
- Alpha Linux (single, MPI)
- Linix (single, OpenMP, MPI)
8How to compile?
- After typing compile, you will be given a list of
options - compile em_b_wave
- compile em_hill2d_x
- compile em_quarter_ss
- compile em_real
- compile em_squall2d_x
- compile em_squall2d_y
- Typing one of the above will produce both
initialization and model executables
9How to compile?
- Type one of the above to compile
- e.g. compile em_real
- If compile is successful, you should have two
executables built in directory main/ - real.exe
- wrf.exe
- And these executables are linked to
./test/em_real/ if you typed compile em_real - If you type
- compile em_quarter_ss
- youd have
- ideal.exe
- wrf.exe
- linked to ./test/em_quarter_ss/
-
10How to compile? - Hints
- If the netCDF library is built in a unusual
location on your computer, you may use the
environment variable NETCDF to provide the
correct path to configure. e.g. - setenv NETCDF /usr/local/lib32/r4i4
- If you compile on a Linux computer, make sure
that you have netCDF library installed with PGI
compiler. -
-
11WRFV1/test directory
There are six subdirectories for each dynamical
core (we recommend that you use the em core)
- eh_b_wave/
- eh_hill2d_x/
- eh_quarter_ss/
- eh_real/
- eh_squall2d_x/
- eh_squall2d_y/
- em_b_wave/
- em_hill2d_x/
- em_quarter_ss/
- em_real/
- em_squall2d_x/
- em_squall2d_y/
12test/em_real directory
- The following are in the test/em_real/ directory
- LANDUSE.TBL
- RRTM_DATA
- eta_micro_loopup.dat
- tr49t67
- tr49t85
- tr67t85
- namelist.input - require editing
- real.exe -gt ../../main/real.exe
- wrf.exe -gt ../../main/wrf.exe
Physics data
13namelist.input
- Before you run real.exe or ideal.exe, and
wrf.exe, edit the namelist.input for runtime
options - More information on namelist can be found in
- WRFV1/run/README.namelist
- and on the Web
- http//www.mmm.ucar.edu/wrf/users/wrf-namelist.
html
14Description of namelist_01
namelist_01 time_step_max 1, number
of time steps to run max_dom 1,
number of domains (leave as is) dyn_opt
2, dynamics option
1 Eulerian height coordinate
2 Eulerian mass coordinate
3 Semi-Lagrangian
(not yet implemented) rk_ord 3,
time-integration scheme option
2 Runge-Kutta 2nd order
3 Runge-Kutta 3rd order
15Description of namelist_01
diff_opt 1, diffusion option
0 no turbulence or explicit
spatial numerical filters
1 old diffusion scheme, evaluates
diffusion terms on coordinate surfaces(uses
khdiv,kvdif) 2
new diffusion scheme, evaluates mixing terms
in physical space (stress form turbulence
parameterization by specifying km_opt)km_opt
1, eddy coefficient option
1 constant (use khdiv kvdif)
2 1.5 order TKE closure
3 Smagorinsky first order
closure (3d) 4
Smagorinsky first order closure (2d) damp_opt
1, upper level damping flag (for diff_opt2
only) 0 without
damping 1 with
damping
16Description of namelist_01
ISFFLX 1, heat and moisture fluxes from
the surface 1 with fluxes from the
surface 0 no flux from the
surfaceIFSNOW 0, snow-cover effects
(for bl_surface_physics1 only) 1
with snow-cover effect 0 without
snow-cover effect ICLOUD 1, cloud
effect to the optical depth in radiation
(for ra_lw_physics 1 and ra_sw_physics 1
only) 1 with cloud effect
0 without cloud effect
17Description of namelist_01
num_soil_layers 4, number of soil layers in
land surface model spec_bdy_width 5, number of
rows for specified boundary value nudging
spec_zone 1, number of points in specified
zone (spec b.c. option) relax_zone 4, number
of points in relaxation zone (spec b.c. option)
tile_sz_x 0, number of points in tile x
direction tile_sz_y 0, number of points
in tile y direction numtiles 1, number of
tiles per patch (alternative to above two)
debug_level 0/ 50,100,200,300 values give
increasing prints
18Description of namelist_02
namelist_02 grid_id 1, domain
identifier level 1, domain nest
level s_we 1, start index in x
(west-east) direction e_we 32, end
index in x (west-east) direction s_sn
1, start index in y (south-north)
direction e_sn 32, end index in y
(south-north) direction s_vert 1,
start index in z (vertical) direction e_vert
31, end index in z (vertical) direction
19Description of namelist_02
time_step_count_start 0, start time-step
(leave as is) time_step_count_end 10, end
time-step (this is inactive) time_step_count_outpu
t 10, time-steps between history
outputs frames_per_outfile 10, output times
per history file time_step_count_restart 10,
time-steps between restart outputs time_step_begin
_restart 0, time-step of restart beginning
0not a
restart time_step_sound 4, number of sound
steps per timestep
20Description of namelist_02
mother_id 1, mother domain id (this is
inactive) i_mother_start 1, start x position
in mother domain j_mother_start 1, start y
position in mother domain i_mother_end 1,
end x position in mother domain i_mother_end
1, end y position in mother domain mother_grid_ra
tio 1, nest refinement ratio relative to
mother mother_time_step_ratio 1, nest
time-step ratio relative to mother moad_grid_ratio
1, nest nest refinement ratio relative to
moad moad_time_step_ratio 1, nest time-step
ratio relative to moad
21Description of namelist_03
namelist_03 dx 2000, grid
length in x direction dy 2000,
grid length in y direction dt 12.,
time-step for advection ztop
20000., the height of the model top zdamp
5000., damping depth from model top
dampcoef 0.2, damping coefficient
(dampcoef lt 0.25) smdiv 0,
divergence damping (0.1 is typical) emdiv
0.01, external-mode filter coef for mass
coord (0.01 is typical for real data) epssm
.1, time off-centering for vertical
sound waves khdif 0, horizontal
diffusion constant (m2/s) kvdif 0,
vertical diffusion constant (m2/s) mix_cr_len
200, the critical value of the mixing
length for isotropic and
anisotropic diffusion
22Description of namelist_03
radt 10, minutes between radiation
physics calls bldt 0, minutes
between boundary-layer physics calls cudt
5, minutes between cumulus physics calls
julyr 0, Julian Year for model
start julday 1, Julian Day for
model start gmt 0./ GMT time for
model start
23Description of namelist_04
namelist_04 periodic_x .false., periodic
boundary conditions in x direction symmetric_xs
.false., symmetric boundary conditions at x
start (west) symmetric_xe .false., symmetric
boundary conditions at x end (east) open_xs
.false., open boundary conditions at x start
(west) open_xe .false., open boundary
conditions at x end (east) periodic_y
.false., periodic boundary conditions in y
direction symmetric_ys .false., symmetric
boundary conditions at y start (south)
symmetric_ye .false., symmetric boundary
conditions at y end (north) open_ys
.false., open boundary conditions at y start
(south) open_ye .false., open boundary
conditions at y end (north) nested
.false., nested boundary conditions (inactive)
specified .true., specified boundary
conditions (inactive) top_radiation .false.,
upper radiative boundary conditions (inactive)
24Description of namelist_04
chem_opt 0, chemistry option
mp_physics microphysics option
0, no microphysics
1, Kessler scheme 2, Lin et
al. scheme 3, NCEP 3-class
simple ice scheme 4, NCEP
5-class scheme 5, Ferrier
(new Eta) microphysics 99,
Zhao-Carr (old Eta) microphysics
25Description of namelist_04
ra_lw_physics longwave radiation option
0, no longwave radiation
1, rrtm scheme
99, GFDL (Eta) longwave
(semi-supported)
remove DTRIEDNTRUE from compile
flags ra_sw_physics shortwave radiation
option 0, no
shortwave radiation
1, Dudhia scheme 2,
Goddard short wave
99, GFDL (Eta) shortwave (semi-supported)
remove DTRIEDNTRUE from
compile flags
26Description of namelist_04
bl_sfclay_physics surface-layer option
0, no surface-layer
1, Monin-Obukhov scheme
2, Monin-Obukhov (Janjic Eta)
scheme bl_surface_physics land-surface option
0, no land-surface
1, thermal diffusion scheme
2, OSU land-surface
model bl_pbl_physics boundary-layer option
0, no boundary-layer
1, mrf scheme
2, Mellor-Yamada-Janjic (Eta)
TKE scheme
27Description of namelist_04
cu_physics cumulus option
0, no cumulus
1, Kain-Fritsch (new) scheme
2, Betts-Miller-Janjic (Eta) schemeÂ
99, previous
Kain-Fritsch scheme
28Description of namelist_04
h_mom_adv_order 5, horizontal momentum
advection order (55th,etc.) v_mom_adv_order 3,
vertical momentum advection order
h_sca_adv_order 5, horizontal scalar advection
order v_sca_adv_order 3, vertical scalar
advection order io_form_history 2,
io_form_restart 2, io_form_initial
2, io_form_boundary 2,
1, (not active) 2,
netCDF format
29Description of namelist_05
namelist_05 (only used for real.exe
pre-processed files, ignored otherwise) Â
start_year 2000, four digit year of
starting time start_month 11, two digit
(01-12) month of starting time start_day 20,
two digit (01-31) day of starting time
start_hour 12, two digit (00-23) hour of
starting time start_minute 00, two digit
(00-59) minute of starting time start_second
00, two digit (00-59) second of starting
time end_year 2000, four digit year of
ending time end_month 11, two digit
(01-12) month of ending time end_day 21,
two digit (01-31) day of ending time
 end_hour 00, two digit (00-23) hour
of ending time end_minute 00, two digit
(00-59) minute of ending time end_second 00,
two digit (00-59) second of ending time
interval_seconds 43200, time interval in
seconds between analysis (and boundary) times
30Description of namelist_05
real_data_init_type which type of real input
1, WRF SI 2, MM5
data (height model only at this time)
3, user written routine read_generic in
module_si_io.F Â
31Description of namelist_quilt
The following namelist controls asynchronized I/O
for MPI
namelist_quilt nio_tasks_per_group 0, default
value is 0, no quilting nio_groups 1,
default 1, dont change
32WRF input files
- Running real.exe turns
- real_input_em.d01.yyyy-mm-dd_hhmmss
- to
- wrfinput_d01 and wrfbdy_d01
-
- Running ideal.exe creates
- wrfinput_d01 (and wrfbdy_d01, but wrfbdy
is not used)
33How to run WRF?
- To run WRF on a single processor, type
- gt wrf.exe gt wrf.out
- To run WRF using OpenMP, one may need to choose
how many processors to use. To do this, type - gt setenv OMP_NUM_THREADS 4
- gt wrf.exe gt wrf.out
- to select to run on 4-processor shared-memory
computer. (Note, on some computer, if one doesnt
set the number of processors to use, the wrf.exe
may use all processors available.)
34How to run WRF?
- To run WRF on a MPI machine with MPICH, type
- gt mpirun np 4 wrf.exe
- The standard-out and error will go into the
following files - show_domain_0000 domain-deposition info
- rsl.out.0000 rsl.error.0000
- rsl.out.0001 rsl.error.0001
- rsl.out.0002 rsl.error.0002
- rsl.out.0003 rsl.error.0003
- There will be one pair of files for each
running processor - For other MPI-implementation, the run command may
be different. For example, on IBM, the MPI
run-command is - gt poe wrf.exe
35WRF output files
- After one runs wrf.exe, WRF produces these output
files - wrfout_d01_000000 history file
- wrfrst_d01_nnnnnn restart file where
nnnnnn is model time step when the restart
file is written. - If one splits output files, one may obtain
- wrfout_d01_xxxxxx
- where xxxxxx is the time step at which the
output file is written. For example, - wrfout_d01_000000
- wrfout_d01_003600
36WRF output files
- WRF input and output files
- wrfinput_d01
- wrfbdy_d01
- wrfout_d01_xxxxxx
- wrfrst_d01_xxxxxx
- are netCDF files. So one can use netCDF
utilities to look at file header and values of
any fields. e.g. - ncdump h wrfout_d01_000000 gives a list
of fields - ncdump v U wrfout_d01_000000 prints out
values of -
U field in the file.