Chapter 5: WRF Model

advertisement
MODEL
Chapter 5: WRF Model
Table of Contents









Introduction
Installing WRF
Running WRF
o Idealized Case
o Real Data Case
o Restart Run
o Two-Way Nested Runs
o One-Way Nested Run Using ndown
o Moving Nested Run
o Three-dimensional Analysis Nudging
o Observation Nudging
o Global Run
o DFI Run
o Adaptive Time Stepping
o Output Time Series
o Using IO Quilting
Examples of namelist for various applications
Check Output
Trouble Shooting
Physics and Dynamics Options
Description of Namelist Variables
WRF Output Fields
Introduction
The WRF model is a fully compressible, and nonhydrostatic model (with a runtime
hydrostatic option). Its vertical coordinate is a terrain-following hydrostatic pressure
coordinate. The grid staggering is the Arakawa C-grid. The model uses the Runge-Kutta
2nd and 3rd order time integration schemes, and 2nd to 6th order advection schemes in
both horizontal and vertical. It uses a time-split small step for acoustic and gravity-wave
modes. The dynamics conserves scalar variables.
The WRF model code contains several initialization programs (ideal.exe and real.exe; see
Chapter 4), a numerical integration program (wrf.exe), and a program to do one-way
nesting (ndown.exe). The WRF model Version 3 supports a variety of capabilities. These
include
WRF-ARW V3: User’s Guide
5-1
MODEL










Real-data and idealized simulations
Various lateral boundary condition options for real-data and idealized simulations
Full physics options, and various filter options
Positive-definite advection scheme
Non-hydrostatic and hydrostatic (runtime option)
One-way, two-way nesting and moving nest
Three-dimensional analysis nudging
Observation nudging
Regional and global applications
Digital filter initialization
Other References



WRF tutorial presentation:
http://www.mmm.ucar.edu/wrf/users/supports/tutorial.html
WRF-ARW Tech Note: http://www.mmm.ucar.edu/wrf/users/pub-doc.html
Chapter 2 of this document for software requirement.
Installing WRF
Before compiling WRF code on a computer, check to see if the netCDF library is
installed. This is because one of the supported WRF I/O options is netCDF, and it is the
one commonly used, and supported by the post-processing programs. If the netCDF is
installed in a directory other than /usr/local/, then find the path, and use the
environment variable NETCDF to define where the path is. To do so, type
setenv NETCDF path-to-netcdf-library
Often the netCDF library and its include/ directory are collocated. If this is not the case,
create a directory, link both netCDF lib and include directories in this directory, and use
environment variable to set the path to this directory. For example,
netcdf_links/lib -> /netcdf-lib-dir/lib
netcdf_links/include -> /where-include-dir-is/include
setenv NETCDF /directory-where-netcdf_links-is/netcdf_links
If the netCDF library is not available on the computer, it needs to be installed first.
NetCDF source code or pre-built binary may be downloaded from and installation
instruction can be found on the Unidata Web page at http://www.unidata.ucar.edu/.
Hint: for Linux users:
If PGI, Intel or g95 compiler are used on a Linux computer, make sure netCDF is
installed using the same compiler. Use NETCDF environment variable to point to the
PGI/Intel/g95 compiled netCDF library.
WRF-ARW V3: User’s Guide
5-2
MODEL
Hint: If using netCDF-4, make sure that the new capabilities (such as parallel I/O based
on HDF5) are not activated at the install time.
WRF source code tar file can be downloaded from
http://www.mmm.ucar.edu/wrf/download/get_source.html. Once the tar file is unzipped
(gunzip WRFV3.TAR.gz), and untared (tar –xf WRFV3.TAR), and it will create a
WRFV3/ directory. This contains:
Makefile
README
README_test_cases
README.NMM
README.rsl_output
Registry/
arch/
clean
compile
configure
chem/
dyn_em/
dyn_exp/
dyn_nmm/
external/
frame/
inc/
main/
phys/
run/
share/
test/
tools/
Top-level makefile
General information about WRF/ARW core
Explanation of the test cases
General information for WRF/NMM core
For NMM
Directory for WRF Registry files
Directory where compile options are gathered
script to clean created files, executables
script for compiling WRF code
script to create the configure.wrf file for compile
WRF chemistry, supported by NOAA/GSD
Directory for ARW dynamics and numerics
Directory for a 'toy' dynamic core
Directory for NMM dynamics and numerics,
supported by DTC
Directory that contains external packages, such as
those for IO, time keeping and MPI
Directory that contains modules for WRF
framework
Directory that contains include files
Directory for main routines, such as wrf.F, and all
executables after compilation
Directory for all physics modules
Directory where one may run WRF
Directory that contains mostly modules for WRF
mediation layer and WRF I/O
Directory that contains test case directories, may be
used to run WRF
Directory that contains tools for developers
The steps to compile and run the model are:
1. configure: generate a configuration file for compilation
WRF-ARW V3: User’s Guide
5-3
MODEL
2. compile: compile the code
3. run the model
Go to WRFV3 (top) directory and type
./configure
and a list of choices for your computer should appear. These choices range from
compiling for a single processor job (serial), to using OpenMP shared-memory (smpar)
or distributed-memory parallelization (dmpar) options for multiple processors, or
combination of shared-memory and distributed memory options (dm+sm). When a
selection is made, a second choice for compiling nesting will appear. For example, on a
Linux computer, the above steps may look like:
> setenv NETCDF /usr/local/netcdf-pgi
> ./configure
checking for perl5... no
checking for perl... found /usr/bin/perl (perl)
Will use NETCDF in dir: /usr/local/netcdf-pgi
PHDF5 not set in environment. Will configure WRF for use without.
$JASPERLIB or $JASPERINC not found in environment, configuring to build
without grib2 I/O...
----------------------------------------------------------------------Please select from among the following supported platforms.
1. Linux i486 i586 i686, gfortran compiler with gcc (serial)
2. Linux i486 i586 i686, gfortran compiler with gcc (smpar)
3. Linux i486 i586 i686, gfortran compiler with gcc (dmpar)
4. Linux i486 i586 i686, gfortran compiler with gcc (dm+sm)
5. Linux i486 i586 i686, g95 compiler with gcc (serial)
6. Linux i486 i586 i686, g95 compiler with gcc (dmpar)
7. Linux i486 i586 i686, PGI compiler with gcc (serial)
8. Linux i486 i586 i686, PGI compiler with gcc (smpar)
9. Linux i486 i586 i686, PGI compiler with gcc (dmpar)
10. Linux i486 i586 i686, PGI compiler with gcc (dm+sm)
11. Linux x86_64 i486 i586 i686, ifort compiler with icc (non-SGI
installations) (serial)
12. Linux x86_64 i486 i586 i686, ifort compiler with icc (non-SGI
installations) (smpar)
13. Linux x86_64 i486 i586 i686, ifort compiler with icc (non-SGI
installations) (dmpar)
14. Linux x86_64 i486 i586 i686, ifort compiler with icc (non-SGI
installations) (dm+sm)
15. Linux i486 i586 i686 x86_64, PathScale compiler with pathcc
(serial)
16. Linux i486 i586 i686 x86_64, PathScale compiler with pathcc
(dmpar)
Enter selection [1-16] : 9
Compile for nesting? (0=no nesting, 1=basic, 2=preset moves, 3=vortex
following) [default 0]: 1
WRF-ARW V3: User’s Guide
5-4
MODEL
Enter appropriate options that are best for your computer and application.
Alternatively, one may type
> ./configure arw
When the return key is hit, a configure.wrf file will be created. Edit compile
options/paths, if necessary.
Hint: It is helpful to start with something simple, such as the serial build. If it is
successful, move on to build smpar or dmpar code. Remember to type ‘clean –a’ between
each build.
Hint: If you anticipate generating a netCDF file that is larger than 2Gb (whether it is a
single or multi time period data [e.g. model history]) file), you may set the following
environment variable to activate the large-file support option from netCDF:
setenv WRFIO_NCD_LARGE_FILE_SUPPORT 1
To compile the code, type
./compile
and the following choices will appear:
Usage:
compile wrf
compile wrf in run dir (Note, no real.exe,
ndown.exe or ideal.exe generated)
or choose a test case (see README_test_cases for details):
compile
compile
compile
compile
compile
compile
compile
compile
compile
compile
compile
compile
compile
em_b_wave
em_esmf_exp (example only)
em_grav2d_x
em_heldsuarez
em_hill2d_x
em_les
em_quarter_ss
em_real
em_seabreeze2d_x
em_squall2d_x
em_squall2d_y
exp_real (example of a toy solver)
nmm_real (NMM solver)
compile –h
help message
where em stands for the Advanced Research WRF dynamic solver (which currently is the
'Eulerian mass-coordinate' solver). Type one of the above to compile. When you switch
WRF-ARW V3: User’s Guide
5-5
MODEL
from one test case to another, you must type one of the above to recompile. The
recompile is necessary to create a new initialization executable (i.e. real.exe, and
ideal.exe - there is a different ideal.exe for each of the idealized test cases),
while wrf.exe is the same for all test cases.
If you want to remove all object files (except those in external/ directory) and
executables, type 'clean'.
Type 'clean -a' to remove built files in ALL directories, including
configure.wrf (the original configure.wrf will be saved to
configure.wrf.backup). This is recommended if you make any mistake during the
process, or if you have edited the configure.wrf or Registry.EM file.
Hint: If you have trouble compiling routines like solve_em.F, you can try to run the
configure script with optional argument ‘-s’, i.e.
./configure –s
This will configure to compile solve_em.F and a few other routines with reduced
optimization.
If you would like to turn off optimization for all the code, say during code development
and debugging, you can run configure script with option ‘-d’:
./configure –d
a. Idealized case
For any 2D test cases (labeled in the case names), serial or OpenMP (smpar) compile
options must be used. Suppose you would like to compile and run the 2-dimensional
squall case, type
./compile em_squall2d_x >& compile.log
After a successful compilation, you should have two executables created in the main/
directory: ideal.exe and wrf.exe. These two executables will be linked to the
corresponding test/case_name and run/ directories. cd to either directory to run the
model.
It is a good practice to save the entire compile output to a file. When the executables were
not present, this output is useful to help diagnose the compile errors.
b. Real-data case
WRF-ARW V3: User’s Guide
5-6
MODEL
For a real-data case, type
./compile em_real >& compile.log &
When the compile is successful, it will create three executables in the main/directory:
ndown.exe, real.exe and wrf.exe.
real.exe: for WRF initialization of real data cases
ndown.exe : for one-way nesting
wrf.exe : WRF model integration
Like in the idealized cases, these executables will be linked to test/em_real and
run/ directories. cd to one of these two directories to run the model.
Running WRF
One may run the model executables in either the run/ directory, or the
test/case_name directory. In either case, one should see executables, ideal.exe
or real.exe (and ndown.exe), and wrf.exe, linked files (mostly for real-data
cases), and one or more namelist.input files in the directory.
Hint: If you would like to run the model executables in a different directory, copy or link
the files in test/em_* directory to that directory, and run from there.
a. Idealized case
Suppose the test case em_squall2d_x is compiled, to run, type
cd test/em_squall2d_x
Edit namelist.input file (see README.namelist in WRFV3/run/ directory or
its Web version) to change length of integration, frequency of output, size of domain,
timestep, physics options, and other parameters.
If you see a script in the test case directory, called run_me_first.csh, run this one
first by typing:
./run_me_first.csh
This links some physics data files that might be needed to run the case.
To run the initialization program, type
./ideal.exe
WRF-ARW V3: User’s Guide
5-7
MODEL
This program will typically read an input sounding file located in that directory, and
generate an initial condition file wrfinput_d01. All idealized cases do not require
lateral boundary file because of the boundary condition choices they use, such as the
periodic option. If the job is run successfully, the last thing it prints should be: ‘wrf:
SUCCESS COMPLETE IDEAL INIT’.
To run the model and save the standard output to a file, type
./wrf.exe >& wrf.out &
or for a 3D test case compiled with MPI (dmpar) option,
mpirun –np 4 ./wrf.exe
If successful, the wrf output file will be written to a file named
wrfout_d01_0001-01-01_00:00:00.
Pairs of rsl.out.* and rsl.error.* files will appear with any MPI runs. These
are standard out and error files. Note that the execution command for MPI runs may be
different on different machines and for different MPI installation. Check the user manual.
If the model run is successful, the last thing printed in ‘wrf.out’ or rsl.*.0000 file
should be: ‘wrf: SUCCESS COMPLETE WRF’. Output files wrfout_d01_000101-01* and wrfrst* should be present in the run directory, depending on how
namelist variables are specified for output. The time stamp on these files originates from
the start times in the namelist file.
b. Real-data case
To make a real-data case run, cd to the working directory by typing
cd test/em_real (or cd run)
Start with a namelist.input template file in the directory, edit it to match your case.
Running a real-data case requires successfully running the WRF Preprocessing System
programs (or WPS). Make sure met_em.* files from WPS are seen in the run directory
(either link or copy the files):
cd test/em_real
ls –l ../../../WPS/met_em*
ln –s ../../..WPS/met_em* .
Make sure you edit the following variables in namelist.input file:
num_metgrid_levels: number of_ incoming data levels (can be found by using
ncdump command on met_em.* file)
WRF-ARW V3: User’s Guide
5-8
MODEL
eta_levels: model eta levels from 1 to 0, if you choose to do so. If not, real will
compute a nice set of eta levels. The computed eta levels have 7 half levels in the lowest
1 km or so, and stretches to constant z.
Other options for use to assist vertical interpolation are:
use_surface: whether to use surface input data
extrap_type: vertical extrapolation of non-temperature fields
t_extrap_type: vertical extrapolation for potential temperature
use_levels_below_ground: use levels below input surface level
force_sfc_in_vinterp: force vertical interpolation to use surface data
lowest_lev_from_sfc: place surface data in the lowest model level
p_top_requested: pressure top used in the model, default is 5000 Pa
interp_type: vertical interpolation method: linear in p(default) or log(p)
lagrange_order: vertical interpolation order, linear (default) or quadratic
zap_close_levels: allow surface data to be used if it is close to a constant pressure
level.
smooth_cg_topo: smooth topography on the outer rows and columns in domain 1.
use_tavg_for_tsk: whether to use diurnally averaged surface temp as skin temp.
The diurnall averaged surface temp can be computed using WPS utility
avg_tsfc.exe. May use this option when SKINTEMP is not present.
Other minimum set of namelist variables to edit are:
start_*, end_*: start and end times for data processing and model integration
interval_seconds: input data interval for boundary conditions
time_step: model time step, and can be set as large as 6*DX (in km)
e_ws, e_sn, e_vert: domain dimensions in west-east, south-north and vertical
dx, dy: model grid distance in meters
To run real-data initialization program compiled using serial or OpenMP (smpar) options,
type
./real.exe >& real.out
Successful completion of the job should have ‘real_em: SUCCESS EM_REAL INIT’
printed at the end of real.out file. It should also produce wrfinput_d01 and wrfbdy_d01
files. In real data case, both files are required.
Run WRF model by typing
./wrf.exe
A successful run should produce one or several output files with names like
wrfout_d<domain>_<date> (where <domain> represents domain ID, and
WRF-ARW V3: User’s Guide
5-9
MODEL
<date> represents a date string with the format yyyy-mm-dd_hh:mm:ss. For
example, if you start the model at 1200 UTC, January 24 2000, then your first output file
should have the name:
wrfout_d01_2000-01-24_12:00:00
The time stamp on the file name is always the first time the output file is written. It is
always good to check the times written to the output file by typing:
ncdump -v Times wrfout_d01_2000-01-24_12:00:00
You may have other wrfout files depending on the namelist options (how often you split
the output files and so on using namelist option frames_per_outfile).You may
also create restart files if you have restart frequency (restart_interval in the
namelist.input file) set within your total integration length. The restart file should have
names like
wrfrst_d<domain>_<date>
The time stamp on a restart file is the time that restart file is valid at.
For DM (distributed memory) parallel systems, some form of mpirun command will be
needed to run the executables. For example, on a Linux cluster, the command to run MPI
code and using 4 processors may look like:
mpirun -np 4 ./real.exe
mpirun -np 4 ./wrf.exe
On some IBMs, the command may be:
poe ./real.exe
poe ./wrf.exe
for a batch job, and
poe ./real.exe -rmpool 1 -procs 4
poe ./wrf.exe -rmpool 1 -procs 4
for an interactive run. (Interactive MPI job is not an option on NCAR IBM bluefire)
c. Restart Run
A restart run allows a user to extend a run to a longer simulation period. It is effectively a
continuous run made of several shorter runs. Hence the results at the end of one or more
restart runs should be identical to a single run without any restart.
In order to do a restart run, one must first create restart file. This is done by setting
namelist variable restart_interval (unit is in minutes) to be equal to or less than
WRF-ARW V3: User’s Guide
5-10
MODEL
the simulation length in the first model run, as specified by run_* variables or
start_* and end_* times. When the model reaches the time to write a restart file, a
restart file named wrfrst_d<domain>_<date> will be written. The date string
represents the time when the restart file is valid.
When one starts the restart run, edit the namelist.input file, so that your start_*
time will be set to the restart time (which is the time the restart file is written). The other
namelist variable one must set is restart, this variable should be set to .true. for a
restart run.
In summary, these namelists should be modified:
start_*, end_*:
restart:
start and end times for restart model integration
logical to indicate whether the run is a restart or not
Hint: Typically the restart file is a lot bigger in size than the history file, hence one may
find that even it is ok to write a single model history output time to a file in netCDF
format (frame_per_outfile=1), it may fail to write a restart file. This is because
the basic netCDF file support is only 2Gb. There are two solutions to the problem. The
first is to simply set namelist option io_form_restart = 102 (instead of 2), and
this will force the restart file to be written into multiple pieces, one per processor. As long
as one restarts the model using the same number of processors, this option works well
(and one should restart the model with the same number of processors in any case). The
second solution is to recompile the code using the netCDF large file support option (see
section on “Installing WRF” in this chapter).
d. Two-way Nested Runs
A two-way nested run is a run where multiple domains at different grid resolutions are
run simultaneously and communicate with each other: The coarser domain provides
boundary values for the nest, and the nest feeds its calculation back to the coarser
domain. The model can handle multiple domains at the same nest level (no overlapping
nest), and multiple nest levels (telescoping).
When preparing for a nested run, make sure that the code is compiled with basic nest
options (option 1).
Most of options to start a nest run are handled through the namelist. All variables in the
namelist.input file that have multiple columns of entries need to be edited with
caution. Do start with a namelist template. The following are the key namelist variables
to modify:
start_*, end_*: start and end simulation times for the nest
WRF-ARW V3: User’s Guide
5-11
MODEL
input_from_file: whether a nest requires an input file (e.g. wrfinput_d02). This
is typically used for a real data case, since the nest input file contains nest topography and
land information.
fine_input_stream: which fields from the nest input file are used in nest
initialization. The fields to be used are defined in the Registry.EM. Typically they include
static fields (such as terrain, landuse), and masked surface fields (such as skin
temperature, soil moisture and temperature). Useful for nest starting at a later time than
the coarse domain.
max_dom: the total number of domains to run. For example, if you want to have one
coarse domain and one nest, set this variable to 2.
grid_id: domain identifier that is used in the wrfout naming convention. The most
coarse grid must have grid_id of 1.
parent_id: used to indicate the parent domain of a nest. grid_id value is used.
i_parent_start/j_parent_start: lower-left corner starting indices of the nest
domain in its parent domain. These parameters should be the same as in
namelist.wps.
parent_grid_ratio: integer parent-to-nest domain grid size ratio. Typically odd
number ratio is used in real-data applications.
parent_time_step_ratio: integer time-step ratio for the nest domain. It may be
different from the parent_grid_ratio, though they are typically set the same.
feedback: this is the key setup to define a two-way nested (or one-way nested) run.
When feedback is on, the values of the coarse domain are overwritten by the values of the
variables (average of cell values for mass points, and average of the cell-face values for
horizontal momentum points) in the nest at the coincident points. For masked fields, only
the single point value at the collocating points is fedback. If the parent_grid_ratio
is even, an arbitrary choice of southwest corner point value is used for feedback. This is
the reason it is better to use odd parent_grid_ratio with this option. When
feedback is off , it is equivalent to a one-way nested run, since nest results are not
reflected in the parent domain.
smooth_option: this a smoothing option for the parent domain in area of the nest if
feedback is on. Three options are available: 0 = no smoothing; 1 = 1-2-1 smoothing; 2 =
smoothing-desmoothing.
3-D Idealized Cases
For 3-D idealized cases, no nest input files are required. The key here is the specification
of the namelist.input file. What the model does is to interpolate all variables
required in the nest from the coarse domain fields. Set
input_from_file = F, F
WRF-ARW V3: User’s Guide
5-12
MODEL
Real Data Cases
For real-data cases, three input options are supported. The first one is similar to running
the idealized cases. That is to have all fields for the nest interpolated from the coarse
domain (input_from_file = T, F). The disadvantage of this option is obvious,
one will not benefit from the higher resolution static fields (such as terrain, landuse, and
so on).
The second option is to set input_from_file = T for each domain, which means
that the nest will have a nest wrfinput file to read in. The limitation of this option is that
this only allows the nest to start at the same time as the coarse domain.
The third option is in addition to setting input_from_file = T for each domain,
also set fine_input_stream = 2 for each domain. Why a value of 2? This is based
on the Registry setting, which designates certain fields to be read in from auxiliary input
stream number 2. This option allows the nest initialization to use 3-D meteorological
fields interpolated from the coarse domain, static fields and masked, time-varying surface
fields from the nest wrfinput. It hence allows a nest to start at a later time than hour 0.
Setting fine_input_stream = 0 is equivalent to the second option.
To run real.exe for a nested run, one must first run WPS and create data for all the
nests. Suppose WPS is run for a 24 hour period, two-domain nest case starting 1200 UTC
Jan 24 2000, and these files should be generated in a WPS directory:
met_em.d01.2000-01-24_12:00:00
met_em.d01.2000-01-24_18:00:00
met_em.d01.2000-01-25_00:00:00
met_em.d01.2000-01-25_06:00:00
met_em.d01.2000-01-25_12:00:00
met_em.d02.2000-01-24_12:00:00
Typically only the first time period of the nest input file is needed to create nest wrfinput
file. Link or move all these files to the run directory.
Edit the namelist.input file and set the correct values for all relevant variables,
described on the previous pages (in particular, set max_dom = 2, for the total number
of domains to run), as well as physics options. Type the following to run:
./real.exe >& real.out
or
mpirun –np 4 ./real.exe
If successful, this will create all input files for coarse as well as nest domains. For a twodomain example, these are:
WRF-ARW V3: User’s Guide
5-13
MODEL
wrfinput_d01
wrfinput_d02
wrfbdy_d01
To run WRF, type
./wrf.exe
or
mpirun –np 4 ./wrf.exe
If successful, the model should create wrfout files for both domain 1 and 2:
wrfout_d01_2000-01-24_12:00:00
wrfout_d02_2000-01-24_12:00:00
e. One-way Nested Run Using ndown
WRF supports two separate one-way nested option. In this section, one-way nesting is
defined as a finer-grid-resolution run made as a subsequent run after the coarser-gridresolution run, where the ndown program is run in between the two simulations. The
initial and lateral boundary conditions for this finer-grid run are obtained from the coarse
grid run, together with input from higher resolution terrestrial fields (e.g. terrain, landuse,
etc.), and masked surface fields (such as soil temperature and moisture). The program
that performs this task is ndown.exe. Note that the use of this program requires the
code to be compiled for nesting.
When one-way nesting is used, the coarse-to-fine grid ratio is only restricted to be an
integer. An integer less than or equal to 5 is recommended. Frequent output (e.g. hourly)
from the coarse grid run is also recommended to provide better boundary specifications.
A caveat with using ndown for one-way nesting is that the microphysics variables are
not used for boundary conditions; they are only in the initial conditions. If that is
important to you, use two-way nesting option instead.
To make a one-way nested run involves these steps:
1) Generate a coarse-grid model output
2) Make temporary fine-grid initial condition wrfinput_d01 file (note that only a
single time period is required, valid at the desired start time of the fine-grid domain)
3) Run program ndown, with coarse-grid model output and a fine-grid initial
condition to generate fine grid initial and boundary conditions, similar to the output
from the real.exe program)
4) Run the fine-grid simulation
To compile, choose an option that supports nesting.
Step 1: Make a coarse grid run
WRF-ARW V3: User’s Guide
5-14
MODEL
This is no different than any of the single domain WRF run as described above.
Step 2: Make a temporary fine grid initial condition file
The purpose of this step is to ingest higher resolution terrestrial fields and corresponding
land-water masked soil fields.
Before doing this step, WPS should be run for one coarse and one nest domains (this
helps to line up the nest with the coarse domain), and for the one time period the one-way
nested run is to start. This generates a WPS output file for the nested domain (domain 2):
met_em.d02.<date>.
- Rename met_em.d02.* to met.d01.* for the single requested fine-grid start
time. Move the original domain 1 WPS output files before you do this.
- Edit the namelist.input file for fine-grid domain (pay attention to column 1
only) and edit in the correct start time, grid dimensions.
- Run real.exe for this domain. This will produce a wrfinput_d01 file.
- Rename this wrfinput_d01 file to wrfndi_d02.
Step 3: Make the final fine-grid initial and boundary condition files
- Edit namelist.input again, and this time one needs to edit two columns: one for
dimensions of the coarse grid, and one for the fine grid. Note that the boundary
condition frequency (namelist variable interval_seconds) is the time in seconds
between the coarse-grid model output times. Since V3.2, one must also specify
io_form_auxinput2 = 2 to run ndown successfully.
- Run ndown.exe, with inputs from the coarse grid wrfout file(s), and
wrfndi_d02 file generated from Step 2 above. This will produce wrfinput_d02
and wrfbdy_d02 files.
- If one desires to refine vertical resolution when running ndown, set
vert_refine_fact = integer (new in V3.2). There are no other changes
required in the namelist or in the procedure.
- Another way to refine vertical resolution is to use utility program v_interp (see
chapter for ‘Utilities and Tools’ for details.
Note that program ndown may be run serially or in MPI, depending on the selected
compile option. The ndown program must be built to support nesting, however. To run
the program, type,
./ndown.exe
or
mpirun –np 4 ./ndown.exe
Step 4: Make the fine-grid WRF run
WRF-ARW V3: User’s Guide
5-15
MODEL
- Rename wrfinput_d02 and wrfbdy_d02 to wrfinput_d01 and
wrfbdy_d01, respectively.
- Edit namelist.input one more time, and it is now for the fine-grid domain only.
- Run WRF for this grid.
The figure on the next page summarizes the data flow for a one-way nested run using
program ndown.
WRF-ARW V3: User’s Guide
5-16
MODEL
WRF-ARW V3: User’s Guide
5-17
MODEL
f. Moving-Nested Run
Two types of moving tests are allowed in WRF. In the first option, a user specifies the
nest movement in the namelist. The second option is to move the nest automatically
based on an automatic vortex-following algorithm. This option is designed to follow the
movement of a well-defined tropical cyclone.
To make the specified moving nested run, select the right nesting compile option (option
‘preset moves’). Note that code compiled with this option will not support static nested
runs. To run the model, only the coarse grid input files are required. In this option, the
nest initialization is defined from the coarse grid data - no nest input is used. In addition
to the namelist options applied to a nested run, the following needs to be added to
namelist section &domains:
num_moves: the total number of moves one can make in a model run. A move of any
domain counts against this total. The maximum is currently set to 50, but it can be
changed by change MAX_MOVES in frame/module_driver_constants.F.
move_id: a list of nest IDs, one per move, indicating which domain is to move for a
given move.
move_interval: the number of minutes since the beginning of the run that a move is
supposed to occur. The nest will move on the next time step after the specified instant of
model time has passed.
move_cd_x,move_cd_y: distance in number of grid points and direction of the nest
move(positive numbers indicating moving toward east and north, while negative numbers
indicating moving toward west and south).
Parameter max_moves is set to be 50, but can be modified in source code file
frame/module_driver_constants.F if needed.
To make the automatic moving nested runs, select the ‘vortex-following’ option when
configuring. Again note that this compile would only support auto-moving nest, and will
not support the specified moving nested run or static nested run at the same time. Again,
no nest input is needed. If one wants to use values other than the default ones, add and
edit the following namelist variables in &domains section:
vortex_interval: how often the vortex position is calculated in minutes (default is
15 minutes).
max_vortex_speed: used with vortex_interval to compute the radius of search for
the new vortex center position (default is 40 m/sec).
corral_dist: the distance in number of coarse grid cells that the moving nest is
allowed to come near the coarse grid boundary (default is 8). This parameter can be used
to center the telescoped nests so that all nests are moved together with the storm.
track_level: the pressure level (in Pa) where the vortex is tracked.
WRF-ARW V3: User’s Guide
5-18
MODEL
time_to_move: the time (in minutes) to move a nest. This option may help with the
case when the storm is still too weak to be tracked by the algorithm.
When automatic moving nest is employed, the model dumps the vortex center location,
with minimum mean sea-level pressure and maximum 10 m winds in standard out file
(e.g. rsl.out.0000). Tying ‘grep ATCF rsl.out.0000’ will produce a list of
storm information at 15 minutes interval:
ATCF
ATCF
2007-08-20_12:00:00
2007-08-20_12:15:00
20.37
20.29
-81.80
-81.76
929.7
929.3
133.9
133.2
In both types of moving nest runs, the initial location of the nest is specified through
i_parent_start and j_parent_start in the namelist.input file.
The automatic moving nest works best for well-developed vortex.
g. Analysis Nudging Runs (Upper-Air and/or Surface)
Prepare input data to WRF as usual using WPS. If nudging is desired in the nest domains,
make sure all time periods for all domains are processed in WPS. For surface-analysis
nudging (new in Version 3.1), OBSGRID needs to be run after METGRID, and it will
output a wrfsfdda_d01 file that the WRF model reads for this option.
Set the following options before running real.exe, in addition to others described
earlier (see namelist template namelist.input.grid_fdda in test/em_real/
directory for guidance):
grid_fdda = 1
grid_sfdda = 1
Run real.exe as before, and this will create, in addition to wrfinput_d0* and
wrfbdy_d01 files, a file named ‘wrffdda_d0*’. Other grid nudging namelists are
ignored at this stage. But it is a good practice to fill them all before one runs real. In
particular, set
gfdda_inname
= “wrffdda_d<domain>”
gfdda_interval = time interval of input data in minutes
gfdda_end_h
= end time of grid nudging in hours
sgfdda_inname
= “wrfsfdda_d<domain>”
sgfdda_interval = time interval of input data in minutes
sgfdda_end_h
= end time of surface egrid nudging in hours
See http://www.mmm.ucar.edu/wrf/users/wrfv2/How_to_run_grid_fdda.html and
README.grid_fdda in WRFV3/test/em_real/ for more information.
WRF-ARW V3: User’s Guide
5-19
MODEL
Spectral Nudging is a new upper-air nudging option in Version 3.1. This selectively
nudges the coarser scales only, but is otherwise set up the same way as grid-nudging.
This option also nudges geopotential height. The wave numbers defined here are the
number of waves contained in the domain, and the number is the maximum one that is
nudged.
grid_fdda = 2
xwavenum = 3
ywavenum = 3
h. Observation Nudging Run
In addition to the usual input data preparation using WPS, station observation files are
required. See http://www.mmm.ucar.edu/wrf/users/wrfv2/How_to_run_obs_fdda.html for
instructions. The observation file names expected by WRF are OBS_DOMAIN101 for
domain 1, and OBS_DOMAIN201 for domain 2, etc.
Observation nudging is activated in the model by the following namelists:
obs_nudge_opt = 1
fdda_start
= 0 (obs nudging start time in minutes)
fdda_end
= 360 (obs nudging end time in minutes)
Look for example to set other obs nudging namelist variables in namelist template
namelist.input.obs_fdda in test/em_real/ directory. See
http://www.mmm.ucar.edu/wrf/users/wrfv2/How_to_run_obs_fdda.html and
README.obs_fdda in WRFV3/test/em_real/ for more information.
i. Global Run
WRFV3 begins to support global capability. To make a global run, run WPS starting with
namelist template namelist.wps.gloabl. Set map_proj = ‘lat-lon’, and
grid dimensions e_we and e_sn without setting dx and dy in
namelist.wps. The geogrid program will calculate grid distances and their values
can be found in the global attribute section of geo_em.d01.nc file. Type
ncdump –h geo_em.d01.nc to find out the grid distances, which will be needed in
filling out WRF’s namelist.input file. Grid distances in x and y directions may be
different, but it is best they are set similarly or the same. WRF and WPS assume earth is a
sphere, and its radius is 6370 km. There is no restrictions on what to use for grid
dimensions, but for effective use of the polar filter in WRF, the east-west dimension
should be set to 2P*3Q*5R+1 (where P, Q, and R are any integers, including 0).
Run the rest of WPS programs as usual but only for one time period. This is because the
domain covers the entire globe, lateral boundary conditions are no longer needed.
WRF-ARW V3: User’s Guide
5-20
MODEL
Run program real.exe as usual and for one time period only. Lateral boundary file
wrfbdy_d01 is not needed.
Copy over namelist.input.global to namelist.input, and edit it. Run the
model as usual.
Note that since this is a new option in the model, use it with caution. Not all options have
been tested. For example, all filter options have not been tested, and positive-definite
options are not working for lat-lon grid.
As an extension to the global lat-lon grid, regional domain can be set using lat-lon grid
too. To do so, one need to set both grid dimensions, and grid distances in degrees. Again
geogrid will calculate the grid distance assuming the earth is a sphere and its radius is
6370 km. Find grid distance in meters in the netcdf file, and use the value for WRF’s
namelist.input file.
j. Using Digital Filter Initialization
Digital filter initialization (DFI) is a new option in V3. It is a way to remove initial model
imbalance as, for example, measured by the surface pressure tendency. This might be
important when one is interested in the 0 – 6 hour simulation/forecast. It runs a digital
filter during a short model integration, backward and forward, and then start the forecast.
In WRF implementation, this is all done in a single job. In the current release, DFI can
only be used in a single domain run.
No special requirement for data preparation.
Start with namelist template namelist.input.dfi. This namelist file contains an
extra namelist record for DFI: &dfi_control. Edit it to match your case
configuration. For a typical application, the following options are used:
dfi_opt = 3
dfi_nfilter = 7 (filter option: Dolph)
dfi_cutoff_seconds = 3600 (should not be longer than the filter window)
For time specification, it typically needs to integrate backward for 0.5 to 1 hour, and
integrate forward for half of the time.
If option dfi_write_filtered_input is set to true, a filtered wrfinput file,
wrfinput_initialized_d01, will be produced.
In Version 3.2, a constant boundary condition option is introduced for DFI. To use it, set
constant_bc = 1 in &bdy_control
If a different time step is used for DFI, one may use time_step_dfi to set it.
WRF-ARW V3: User’s Guide
5-21
MODEL
k. Using sst_update option
The WRF model physics does not predict sea-surface temperature, vegetation fraction,
albedo and sea ice. For long simulations, the model provides an alternative to read in the
time-varying data and update these fields. In order to use this option, one must have
access to time-varying SST and sea ice fields. Twelve monthly values vegetation fraction
and albedo are available from the geogrid program. Once these fields are processed via
WPS, one may activate the following options in namelist record &time_control
before running program real.exe and wrf.exe:
sst_update = 1 in &physics
io_form_auxinput4 = 2
auxinput4_inname = “wrflowinp_d<domain>” (created by real.exe)
auxinput4_interval = 360, 360, 360,
io_form_auxinput4 = 2
l. Using Adaptive Time Stepping
Adaptive time stepping is a way to maximize the time step that the model can use while
keeping the model numerically stable. The model time step is adjusted based on the
domain-wide horizontal and vertical stability criterion. The following set of values would
typically work well.
use_adaptive_time_step = .true.
step_to_output_time = .true. (but nested domains may still be writing output at
the desired time. Try to use adjust_output_times = .true. to make up for this.)
target_cfl = 1.2, 1.2, 1.2,
max_step_increase_pct = 5, 51, 51, (a large percentage value for the nest allows
the time step for the nest to have more freedom to adjust)
starting_time_step = use (-1 means 6*DX at start time)
max_time_step : use fixed values for all domains, e.g. 8*DX
min_time_step : use fixed values for all domains, e.g. 4*DX
adaptation_domain: which domain is driving the adaptive time step
Also see the description of these options in the list of namelist on page 5-35.
m. Output Time Series
There is an option to output time series from a model run. To active the option, a file
called “tslist” must be present in the WRF run directory. The tslist file contains a
list of locations defined by their latitude and longitude along with a short description and
an abbreviation for each location. A sample file looks something like this:
#-----------------------------------------------#
# 24 characters for name | pfx | LAT |
LON |
WRF-ARW V3: User’s Guide
5-22
MODEL
#-----------------------------------------------#
Cape Hallett
hallt -72.330 170.250
McMurdo Station
mcm
-77.851 166.713
The first three lines in the file are regarded as header information, and are ignored. Given
a tslist file, for each location inside a model domain (either coarse or nested) a file
containing time series variables at each model time step will be written with the name
pfx.d<domain>.TS, where pfx is the specified prefix for the location in the tslist file.
The maximum number of time series locations is controlled by the namelist variable
max_ts_locs in namelist record &domains. The default value is 5. The time series
output contains selected variables at the surface, including 2 m temperature, vapor mixing
ratio, 10 m wind components, u and v, rotated to the earth coordinate, etc.. More
information for time series output can be found in WRFV3/run/README.tslist.
n. Using IO Quilting
This option allows a few processors to be set alone to do output only. It can be useful and
performance-friendly if the domain sizes are large, and/or the time taken to write a output
time is getting significant when compared to the time taken to integrate the model in
between the output times. There are two variables for setting the option:
nio_tasks_per_group: How many processors to use per IO group for IO quilting.
Typically 1 or 2 processors should be sufficient for this
purpose.
nio_groups:
How many IO groups for IO. Default is 1.
Examples of namelist for various applications
A few physics options sets (plus model top and number of vertical levels) are provided
here for reference. They may provide a good starting point for testing the model in your
application. Also note that other factors will affect the outcome. For example, the domain
setup, the distributions of vertical model levels, and input data.
a. 1 – 4 km grid distances, convection-permitting runs for 1- 3 days run (as used for
NCAR spring real-time convection forecast over US):
mp_physics
ra_lw_physics
ra_sw_physics
radt
sf_sfclay_physics
sf_surface_physics
bl_pbl_physics
bldt
cu_physics
WRF-ARW V3: User’s Guide
=
=
=
=
=
=
=
=
=
8,
1,
2,
10,
2,
2,
2,
0,
0,
5-23
MODEL
ptop_requested
e_vert
= 5000,
= 35,
b. 20 – 30 km grid distances, 1- 3 day runs (e.g., NCAR daily real-time runs over US):
mp_physics
ra_lw_physics
ra_sw_physics
radt
sf_sfclay_physics
sf_surface_physics
bl_pbl_physics
bldt
cu_physics
cudt
=
=
=
=
=
=
=
=
=
=
4,
1,
2,
10,
2,
2,
2,
0,
5,
0,
ptop_requested
e_vert
= 5000,
= 30,
c. Cold region 15 – 45 km grid sizes (e.g. used in NCAR’s Antarctic Mesoscale
Prediction System):
mp_physics
ra_lw_physics
ra_sw_physics
radt
sf_sfclay_physics
sf_surface_physics
bl_pbl_physics
bldt
cu_physics
cudt
fractional_seaice
seaice_threshold
=
=
=
=
=
=
=
=
=
=
=
=
4,
1,
2,
10,
2,
2,
2,
0,
1,
5,
1,
0.0,
ptop_requested
e_vert
= 1000,
= 44,
d. Hurricane applications (e.g. 12, 4 and 1.33 km nesting used by NCAR’s real-time
hurricane runs):
mp_physics
ra_lw_physics
ra_sw_physics
radt
sf_sfclay_physics
sf_surface_physics
WRF-ARW V3: User’s Guide
=
=
=
=
=
=
8,
1,
2,
10,
1,
1,
5-24
MODEL
bl_pbl_physics
bldt
cu_physics
cudt
isftcflx
=
=
=
=
=
1,
0,
1, (only on 12 km grid)
5,
2,
ptop_requested
e_vert
= 2000,
= 36,
e. Regional climate case at 10 – 30 km grid sizes (e.g. used in NCAR’s regional climate
runs):
mp_physics
ra_lw_physics
ra_sw_physics
radt
sf_sfclay_physics
sf_surface_physics
bl_pbl_physics
bldt
cu_physics
cudt
sst_update
tmn_update
sst_skin
bucket_mm
bucket_J
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
6,
3,
3,
30,
1,
2,
1,
0,
1,
5,
1,
1,
1,
100.0,
1.e9,
ptop_requested
e_vert
= 1000,
= 51,
spec_bdy_width
spec_zone
relax_zone
spec_exp
=
=
=
=
10,
1,
9,
0.33,
Check Output
Once a model run is completed, it is a good practice to check a couple of things quickly.
If you have run the model on multiple processors using MPI, you should have a number
of rsl.out.* and rsl.error.* files. Type ‘tail rsl.out.0000’ to see if you
get ‘SUCCESS COMPLETE WRF’. This is a good indication that the model has run
successfully.
The namelist options are written to a separate file: namelist.output.
WRF-ARW V3: User’s Guide
5-25
MODEL
Check the output times written to wrfout* file by using netCDF command:
ncdump –v Times wrfout_d01_yyyy-mm-dd_hh:00:00
Take a look at either rsl.out.0000 file or other standard out file. This file logs the
times taken to compute for one model time step, and to write one history and restart
output:
Timing
Timing
Timing
Timing
for
for
for
for
main:
main:
main:
main:
time
time
time
time
2006-01-21_23:55:00
2006-01-21_23:56:00
2006-01-21_23:57:00
2006-01-21_23:57:00
on
on
on
on
domain
domain
domain
domain
2:
2:
2:
1:
4.91110
4.73350
4.72360
19.55880
elapsed
elapsed
elapsed
elapsed
seconds.
seconds.
seconds.
seconds.
and
Timing for Writing wrfout_d02_2006-01-22_00:00:00 for domain 2: 1.17970 elapsed seconds.
Timing for main: time 2006-01-22_00:00:00 on domain 1: 27.66230 elapsed seconds.
Timing for Writing wrfout_d01_2006-01-22_00:00:00 for domain 1: 0.60250 elapsed seconds.
If the model did not run to completion, take a look at these standard output/error files too.
If the model has become numerically unstable, it may have violated the CFL criterion
(for numerical stability). Check whether this is true by typing the following:
grep cfl rsl.error.* or grep cfl wrf.out
you might see something like these:
5 points exceeded cfl=2 in domain
MAX AT i,j,k:
123
21 points exceeded cfl=2 in domain
MAX AT i,j,k:
123
48
49
1 at time
4.200000
3 cfl,w,d(eta)= 4.165821
1 at time
4.200000
4 cfl,w,d(eta)= 10.66290
When this happens, consider using namelist option w_damping, and/or reducing time step.
Trouble Shooting
If the model aborts very quickly, it is likely that either the computer memory is not large
enough to run the specific configuration, or the input data have some serious problem.
For the first problem, try to type ‘unlimit’ or ‘ulimit -s unlimited’ to see if
more memory and/or stack size can be obtained.
For OpenMP (smpar-compiled code), the stack size needs to be set large, but not
unlimited. Unlimited stack size may crash the computer.
To check if the input data is the problem, use ncview or other netCDF file browser.
Another frequent error seen is ‘module_configure: initial_config: error
reading namelist’. This is an error message from the model complaining about
errors and typos in the namelist.input file. Edit namelist.input file with
WRF-ARW V3: User’s Guide
5-26
MODEL
caution. If unsure, always start with an available template. A namelist record where the
namelist read error occurs is provided in the V3 error message, and it should help with
identifying the error.
WRF-ARW V3: User’s Guide
5-27
MODEL
Physics and Dynamics Options
Physics Options
WRF offers multiple physics options that can be combined in any way. The options
typically range from simple and efficient to sophisticated and more computationally
costly, and from newly developed schemes to well tried schemes such as those in current
operational models.
The choices vary with each major WRF release, but here we will outline those available
in WRF Version 3.
1. Microphysics (mp_physics)
a. Kessler scheme: A warm-rain (i.e. no ice) scheme used commonly in idealized
cloud modeling studies (mp_physics = 1).
b. Lin et al. scheme: A sophisticated scheme that has ice, snow and graupel processes,
suitable for real-data high-resolution simulations (2).
c. WRF Single-Moment 3-class scheme: A simple efficient scheme with ice and snow
processes suitable for mesoscale grid sizes (3).
d. WRF Single-Moment 5-class scheme: A slightly more sophisticated version of (c)
that allows for mixed-phase processes and super-cooled water (4).
e. Eta microphysics: The operational microphysics in NCEP models. A simple
efficient scheme with diagnostic mixed-phase processes (5).
f. WRF Single-Moment 6-class scheme: A scheme with ice, snow and graupel
processes suitable for high-resolution simulations (6).
g. Goddard microphysics scheme. A scheme with ice, snow and graupel processes
suitable for high-resolution simulations (7). New in Version 3.0.
h. New Thompson et al. scheme: A new scheme with ice, snow and graupel processes
suitable for high-resolution simulations (8). This adds rain number concentration and
updates the scheme from the one in Version 3.0. New in Version 3.1.
i. Milbrandt-Yau Double-Moment 7-class scheme (9). This scheme includes separate
categories for hail and graupel with double-moment cloud, rain, ice, snow, graupel
and hail. New in Version 3.2.
j. Morrison double-moment scheme (10). Double-moment ice, snow, rain and graupel
for cloud-resolving simulations. New in Version 3.0.
k. WRF Double-Moment 5-class scheme (14). This scheme has double-moment rain.
Cloud and CCN for warm processes, but is otherwise like WSM5. New in Version 3.1.
l. WRF Double-Moment 6-class scheme (16). This scheme has double-moment rain.
Cloud and CCN for warm processes, but is otherwise like WSM6. New in Version 3.1.
m. Thompson et al. (2007) scheme (98). This is the older Version 3.0 Thompson
scheme that used to be option 8.
WRF-ARW V3: User’s Guide
5-28
MODEL
2.1 Longwave Radiation (ra_lw_physics)
a. RRTM scheme: Rapid Radiative Transfer Model. An accurate scheme using lookup tables for efficiency. Accounts for multiple bands, trace gases, and microphysics
species (ra_lw_physics = 1).
b. GFDL scheme: Eta operational radiation scheme. An older multi-band scheme with
carbon dioxide, ozone and microphysics effects (99).
c. CAM scheme: from the CAM 3 climate model used in CCSM. Allows for aerosols
and trace gases (3).
d. RRTMG scheme. A new version of RRTM added in Version 3.1 (4). It includes the
MCICA method of random cloud overlap.
2.2 Shortwave Radiation (ra_sw_physics)
a. Dudhia scheme: Simple downward integration allowing efficiently for clouds and
clear-sky absorption and scattering (ra_sw_physics = 1).
b. Goddard shortwave: Two-stream multi-band scheme with ozone from climatology
and cloud effects (2).
c. GFDL shortwave: Eta operational scheme. Two-stream multi-band scheme with
ozone from climatology and cloud effects (99).
d. CAM scheme: from the CAM 3 climate model used in CCSM. Allows for aerosols
and trace gases (3).
e. RRTMG shortwave. A new shortwave scheme with the MCICA method of random
cloud overlap (4). New in Version 3.1.
f. Held-Suarez relaxation. A temperature relaxation scheme designed for idealized
tests only (31).
g. Slope and shading effects. slope_rad = 1 modifies surface solar radiation flux
according to terrain slope. topo_shad = 1 allows for shadowing of neighboring grid
cells. Use only with high-resolution runs with grid size less than a few kilometers.
Since Version 3.2, these are available for all shortwave options.
3.1 Surface Layer (sf_sfclay_physics)
a.MM5 similarity: Based on Monin-Obukhov with Carslon-Boland viscous sub-layer
and standard similarity functions from look-up tables (sf_sfclay_physics = 1).
b. Eta similarity: Used in Eta model. Based on Monin-Obukhov with Zilitinkevich
thermal roughness length and standard similarity functions from look-up tables(2).
c. Pleim-Xiu surface layer. (7). New in Version 3.0.
d. QNSE surface layer. Quasi-Normal Scale Elimination PBL scheme’s surface layer
option (4). New in Version 3.1.
e. MYNN surface layer. Nakanishi and Niino PBL’s surface layer scheme (5). New in
Version 3.1.
f. iz0tlnd = 1 (for sf_sfclay_physics = 1 or 2), Chen-Zhang thermal roughness length
WRF-ARW V3: User’s Guide
5-29
MODEL
over land, which depends on vegetation height, 0 = original thermal roughness length
in each sfclay option. New in Vserion 3.2.
3.2 Land Surface (sf_surface_physics)
a. 5-layer thermal diffusion: Soil temperature only scheme, using five layers
(sf_surface_physics = 1).
b. Noah Land Surface Model: Unified NCEP/NCAR/AFWA scheme with soil
temperature and moisture in four layers, fractional snow cover and frozen soil physics.
New modifications are added in Version 3.1 to better represent processes over ice
sheets and snow covered area.
c. RUC Land Surface Model: RUC operational scheme with soil temperature and
moisture in six layers, multi-layer snow and frozen soil physics (3).
d. Pleim-Xiu Land Surface Model. Two-layer scheme with vegetation and sub-grid
tiling (7). New in Version 3.0.
e. Fractional sea-ice (fractional_seaice = 1). Treat sea-ice as fractional field. Require
fractional sea-ice as input data. Data sources may include those from GFS or the
National Snow and Ice Data Center (http://nsidc.org/data/seaice/index.html). Use
XICE for Vtable entry instead of SEAICE. This option works with sf_sfclay_physics =
1, 2, and sf_surface_physics = 2, 3 in the present release. New in Version 3.1.
3.3 Urban Surface (sf_urban_physics – replacing old switch ucmcall)
a. Urban canopy model (1): 3-category UCM option with surface effects for roofs,
walls, and streets.
b. BEP (2). Building Environment Parameterization: Multi-layer urban canopy model
that allows for buildings higher than the lowest model levels. Only works with Noah
LSM and Boulac and MYJ PBL options. New in Version 3.1.
c. BEM (3). Building Energy Model. Adds to BEP, building energy budget with
heating and cooling systems. Works with same options as BEP. New in Version 3.2.
4. Planetary Boundary layer (bl_pbl_physics)
a. Yonsei University scheme: Non-local-K scheme with explicit entrainment layer and
parabolic K profile in unstable mixed layer (bl_pbl_physics = 1).
b. Mellor-Yamada-Janjic scheme: Eta operational scheme. One-dimensional
prognostic turbulent kinetic energy scheme with local vertical mixing (2).
c. MRF scheme: Older version of (a) with implicit treatment of entrainment layer as
part of non-local-K mixed layer (99).
d. ACM2 PBL: Asymmetric Convective Model with non-local upward mixing and
local downward mixing (7). New in Version 3.0.
e. Quasi-Normal Scale Elimination PBL (4). A TKE-prediction option that uses a new
theory for stably stratified regions. New in Version 3.1.
f. Mellor-Yamada Nakanishi and Niino Level 2.5 PBL (5). Predicts sub-grid TKE
terms. New in Version 3.1.
WRF-ARW V3: User’s Guide
5-30
MODEL
g. Mellor-Yamada Nakanishi and Niino Level 3 PBL (6). Predicts TKE and other
second-moment terms. New in Version 3.1.
h. BouLac PBL (8): Bougeault-Lacarrère PBL. A TKE-prediction option. New in
Version 3.1. Designed for use with BEP urban model.
i. LES PBL: A large-eddy-simulation (LES) boundary layer is available in Version 3.
For this, bl_pbl_physic = 0, isfflx = 1, and sf_sfclay_physics and sf_surface_physics
are selected. This uses diffusion for vertical mixing and must use diff_opt = 2, and
km_opt = 2 or 3, see below. Alternative idealized ways of running the LESPBL are
chosen with isfflx = 0 or 2. New in Version 3.0.
5. Cumulus Parameterization (cu_physics)
a. Kain-Fritsch scheme: Deep and shallow convection sub-grid scheme using a mass
flux approach with downdrafts and CAPE removal time scale (cu_physics = 1).
b. Betts-Miller-Janjic scheme. Operational Eta scheme. Column moist adjustment
scheme relaxing towards a well-mixed profile (2).
c. Grell-Devenyi ensemble scheme: Multi-closure, multi-parameter, ensemble method
with typically 144 sub-grid members (3).
d. Grell 3d ensemble cumulus scheme. Scheme for higher resolution domains allowing
for subsidence in neighboring columns (5). New in Version 3.0.
e. Old Kain-Fritsch scheme: Deep convection scheme using a mass flux approach with
downdrafts and CAPE removal time scale (99).
f. ishallow: shallow convection option. = 1, option on. Works together with Grell 3D
scheme (cu_physics = 5)
6. Other physics options
a. Options to use for tropical storm and hurricane applications:
- omlcall = 1: Simple ocean mixed layer model (1): 1-D ocean mixed layer model
following that of Pollard, Rhines and Thompson (1972). Two other namelist
options are available to specify the initial mixed layer depth (although one may
ingest real mixed layer depth data) (oml_hml0) and temperature lapse rate below
the mixed layer (oml_gamma). Since V3.2, this option works with all
sf_surface_physics options.
- isftcflx: Modify surface bulk drag (Donelan) and enthalpy coefficients to be more
in line with recent research results of those for tropical storms and hurricanes. This
option also includes dissipative heating term in heat flux. It is only available for
sf_sfclay_physics = 1. There are two options for computing enthalpy coefficients:
isftcflx = 1: constant Z0q (since V3.2) for heat and moisture; isftcflx = 2 Garratt
formulation, slightly different forms for heat and moisture.
b. Other options for long simulations (new in Version 3.1):
- tmn_update: update deep soil temperature (1).
- sst_skin: calculate skin SST based on Zeng and Beljaars (2005) (1)
WRF-ARW V3: User’s Guide
5-31
MODEL
- bucket_mm: bucket reset value for water equivalent precipitation accumulations
(value in mm, -1 = inactive).
- bucket_J: bucket reset value for energy accumulations (value in Joules, -1 =
inactive). Only works with CAM and RRTMG radiation (ra_lw_physics = 3 and 4
and ra_sw_physics = 3 and 4) options.
- To drive WRF model with climate data that does not have leap year, there is a
compile option to do that. Edit configure.wrf and
add -DNO_LEAP_CALENDAR to the macro ARCH_LOCAL.
c. usemonalb: When set to .true., it uses monthly albedo fields from geogrid, instead of
table values
d. no_mp_heating: When set to 1, it turns off latent heating from microphysics. When
using this option, cu_physics should be set to 0.
e. gwd_opt: Gravity wave drag option. Can be activated when grid size is greater than
10 km. May be beneficial for simulations longer than 5 days and over a large domain
with mountain ranges. New in Version 3.1.
Diffusion and Damping Options
Diffusion in WRF is categorized under two parameters, the diffusion option and the K
option. The diffusion option selects how the derivatives used in diffusion are calculated,
and the K option selects how the K coefficients are calculated. Note that when a PBL
option is selected, vertical diffusion is done by the PBL scheme, and not by the diffusion
scheme. In Version 3, vertical diffusion is also linked to the surface fluxes.
1.1 Diffusion Option (diff_opt)
a. Simple diffusion: Gradients are simply taken along coordinate surfaces (diff_opt =
1).
b. Full diffusion: Gradients use full metric terms to more accurately compute
horizontal gradients in sloped coordinates (diff_opt = 2).
1.2 K Option (km_opt)
Note that when using a PBL scheme, only options (a) and (d) below make sense,
because (b) and (c) are designed for 3d diffusion.
a. Constant: K is specified by namelist values for horizontal and vertical diffusion
(km_opt = 1).
b. 3d TKE: A prognostic equation for turbulent kinetic energy is used, and K is based
on TKE (km_opt = 2).
c. 3d Deformation: K is diagnosed from 3d deformation and stability following a
Smagorinsky approach (km_opt = 3).
d. 2d Deformation: K for horizontal diffusion is diagnosed from just horizontal
deformation. The vertical diffusion is assumed to be done by the PBL scheme (km_opt
WRF-ARW V3: User’s Guide
5-32
MODEL
= 4).
1.3 6th Order Horizontal Diffusion (diff_6th_opt)
6th-order horizontal hyper diffusion (del^6) on all variables to act as a selective shortwave numerical noise filter. Can be used in conjunction with diff_opt. = 1: simple; =
2: positive definite. Option 2 is recommended.
1.4 Nonlinear Backscatter Anisotropic (NBA) (sfs_opt)
Sub-grid turbulent stress option for momentum in LES applications. New in Version
3.2. sfs_opt = 1 diagnostic sub-grid stress to be used with diff_opt = 2 and km_opt = 2
or 3. sfs_opt = TKE sub-grid stress to be used with diff_opt = 2 and km_opt = 2.
2. Damping Options
These are independently activated choices.
a. Upper Damping: Either a layer of increased diffusion (damp_opt =1) or a Rayleigh
relaxation layer (2) or an implicit gravity-wave damping layer (3, new in Version 3.0),
can be added near the model top to control reflection from the upper boundary.
b. Vertical velocity damping (w_damping): For operational robustness, vertical motion
can be damped to prevent the model from becoming unstable with locally large
vertical velocities. This only affects strong updraft cores, so has very little impact on
results otherwise.
c. Divergence Damping (sm_div): Controls horizontally propagating sound waves.
d. External Mode Damping (em_div): Controls upper-surface (external) waves.
e. Time Off-centering (epssm): Controls vertically propagating sound waves.
Advection Options
a. Horizontal advection orders for momentum (h_mom_adv_order) and scalar
(h_sca_adv_order) can be 2ndto 6th, with 5th order being the recommended one.
b. Vertical advection orders for momentum (v_mom_adv_order) and scalar
(v_sca_adv_order) can be 2ndand 6th, with 3rd order being the recommended one.
c. Monotonic transport (option 2, new in Version 3.1) and positive-definite advection
option (option 1) can be applied to moisture (moist_adv_opt), scalar (scalar_adv_opt),
chemistry variables (chem_adv_opt) and tke (tke_adv_opt). Option 1 replaces
pd_moist = .true. etc. in previous versions.
Some notes about using monotonic and positive-definite advection options:
The positive-definite and monotonic options are available for moisture, scalars,
chemical scalers and TKE in the ARW solver. Both the monotonic and positivedefinite transport options conserve scalar mass locally and globally and are consistent
with the ARW mass conservation equation. We recommend using the positive-
WRF-ARW V3: User’s Guide
5-33
MODEL
definite option for moisture variables on all real-data simulations. The monotonic
option may be beneficial in chemistry applications and for moisture and scalars in
some instances.
When using these options there are certain aspects of the ARW integration scheme
that should be considered in the simulation configuration.
(1) The integration sequence in ARW changes when the positive-definite or
monotonic options are used. When the options are not activated, the timestep
tendencies from the physics (excluding microphysics) are used to update the scalar
mixing ratio at the same time as the transport (advection), and the microphysics is
computed and moisture is updated based on the transport+physics update. When the
monotonic or positive definite options are activated, the scalar mixing ratio is first
updated with the physics tendency, and the new updated values are used as the
starting values for the transport scheme. The microphysics update occurs after the
transport update using these latest values as its starting point. It is important to
remember that for any scalars, the local and global conservation properties, positive
definiteness and monotonicity depend upon each update possessing these properties.
(2) Some model filters may not be positive definite.
i. diff_6th_opt = 1 is not positive definite nor monotonic. Use diff_6th_opt = 2
if you need this diffusion option (diff_6th_opt = 2 is monotonic and positivedefinite). We have encountered cases where the departures from
monotonicity and positive-definiteness have been very noticeable.
ii. diff_opt = 1 and km_opt = 4 (a commonly-used real-data case mixing option)
is not guaranteed to be positive-definite nor monotonic due to the variable
eddy diffusivity K. We have not observed significant departures from
positive-definiteness or monotonicity when this filter is used with these
transport options.
iii. The diffusion option that uses a user-specified constant eddy viscosity is
positive definite and monotonic.
iv. Other filter options that use variable eddy viscosity are not positive definite or
monotonic.
(3) Most of the model physics are not monotonic nor should they be - they represent
sources and sinks in the system. All should be positive definite, although we have not
examined and tested all options for this property.
(4) The monotonic option adds significant smoothing to the transport in regions
where it is active. You may want to consider turning off the other model filters for
variables using monotonic transport (filters such as the second and sixth order
horizontal filters). At present it is not possible to turn off the filters for the scalars but
not for the dynamics using the namelist - one must manually comment out the calls in
the solver.
WRF-ARW V3: User’s Guide
5-34
MODEL
Other Dynamics Options
a. The model can be run hydrostatically by setting non_hydrostatic switch to .false.
b. Coriolis term can be applied to wind perturbation (pert_coriolis = .true.) only
(idealized only).
c. For diff_opt = 2 only, vertical diffusion may act on full fields (not just on
perturbation from 1D base profile (mix_full_fields = .true.; idealized only).
Lateral Boundary Condition Options
a. Periodic (periodic_x / periodic_y): for idealized cases.
b. Open (open_xs, open_xe, open_ys, open_ye): for idealized cases.
c. Symmetric (symmetric_xs, symmetric_xe, symmetric_ys, symmetric_ye): for
idealized cases.
d. Specified (specified): for real-data cases. The first row and column are specified
with external model values (spec_zone = 1, and it should not change). The rows
and columns in relax_zone have values blended from external model and WRF.
The value of relax_zone may be changed, as long as spec_bdy_width = spec_zone
+ relax_zone. Can be used with periodic_x in tropical channel simulations.
spec_exp: exponential multiplier for relaxation zone ramp, used with specified
boundary condition. 0. = linear ramp, default; 0.33 = ~3*dx exp decay factor. May
be useful for long simulations.
e. Nested (nested): for real and idealized cases.
Summary of PBL Physics Options
bl_pbl_physics Scheme
Reference
Added
1
YSU
Hong, Noh and Dudhia (2006, MWR)
2004
2
MYJ
Janjic (1994, MWR)
2000
3
GFS
Hong and Pan (1996, MWR)
2005
4
QNSE
Sukoriansky, Galperin and Perov (2005, BLM)
2009
5
MYNN2 Nakanishi and Niino (2006, BLM)
2009
6
MYNN3 Nakanishi and Niino (2006, BLM)
2009
7
ACM2
Pleim (2007, JAMC
2008
8
BouLac
Bougeault and Lacarrere (1989, MWR)
2009
99
MRF
Hong and Pan (1996, MWR)
2000
WRF-ARW V3: User’s Guide
5-35
MODEL
bl_pbl_
physics
Scheme
Cores
sf_sfclay_ Prognostic
physics
variables
Diagnostic variables Cloud
mixing
1
YSU
ARW/
NMM
1
exch_h
QC,QI
2
MYJ
ARW/
NMM
2
EL_MYJ, exch_h
QC,QI
3
GFS
(hwrf)
NMM
3
4
QNSE
ARW/
NMM
4
TKE_MYJ
EL_MYJ, exch_h,
exch_m
QC,QI
5
MYNN2
ARW
1,2,5
QKE
Tsq, Qsq, Cov,
exch_h, exch_m
QC
6
MYNN3
ARW
1,2,5
QKE, Tsq,
Qsq, Cov
exch_h, exch_m
QC
7
ACM2
ARW
1,7
8
BouLac
ARW
1,2
99
MRF
ARW/
NMM
1
TKE_MYJ
QC,QI
QC,QI
TKE_PBL
EL_PBL, exch_h,
exch_m, wu_tur,
wv_tur, wt_tur,
wq_tur
QC
QC,QI
Summary of Microphysics Options
Added
mp_physics Scheme
Reference
1
Kessler
Kessler (1969)
2000
2
Lin (Purdue)
Lin, Farley and Orville (1983, JCAM)
2000
3
WSM3
Hong, Dudhia and Chen (2004, MWR)
2004
4
WSM5
Hong, Dudhia and Chen (2004, MWR)
2004
WRF-ARW V3: User’s Guide
5-36
MODEL
5
Eta (Ferrier)
Rogers, Black, Ferrier, Lin, Parrish and
DiMego (2001, web doc)
2000
6
WSM6
Hong and Lim (2006, JKMS)
2004
7
Goddard
Tao, Simpson and McCumber (1989, MWR) 2008
8 (+98)
Thompson (+old)
Thompson, Field, Rasmussen and Hall (2008,
2009
MWR)
9
Milbrandt 2-mom
10
Morrison 2-mom
14
16
2010
WDM5
Milbrandt and Yau (2005, JAS)
Morrison, Thompson and Tatarskii (2009,
MWR)
Lim and Hong (2010)
WDM6
Lim and Hong (2010)
2009
2008
2009
mp_physics Scheme
Cores
Mass Variables
1
Kessler
ARW
Qc Qr
2
Lin (Purdue)
ARW
Qc Qr Qi Qs Qg
3
WSM3
ARW
Qc Qr
4
WSM5
ARW/NMM Qc Qr Qi Qs
5
Eta (Ferrier)
ARW/NMM Qc Qr Qs (Qt*)
6
WSM6
ARW/NMM Qc Qr Qi Qs Qg
7
Goddard
ARW
8 (/98)
Thompson(/old) ARW/NMM Qc Qr Qi Qs Qg
Ni Nr (/Ni)
9
Milbrandt 2mom
Qc Qr Qi Qs Qg Qh
Nc Nr Ni Ns Ng
Nh
10
Morrison 2-mom ARW
Qc Qr Qi Qs Qg
Nr Ni Ns Ng
14
WDM5
ARW
Qc Qr Qi Qs
Nn** Nc Nr
16
WDM6
ARW
Qc Qr Qi Qs Qg
Nn** Nc Nr
ARW
Number Variables
Qc Qr Qi Qs Qg
* Advects only total condensates ** Nn = CCN number
WRF-ARW V3: User’s Guide
5-37
MODEL
Description of Namelist Variables
The following is a description of namelist variables. The variables that are a function of
nests are indicated by (max_dom) following the variable. Also see
Registry/Registry.EM and run/README.namelist file in WRFV3/ directory.
Variable Names
&time_control
Value
run_days
1
0
run_hours
run_minutes
run_seconds
0
0
start_year (max_dom)
2001
start_month (max_dom) 06
start_day (max_dom)
11
start_hour (max_dom) 12
start_minute (max_dom) 00
start_second (max_dom) 00
end_year (max_dom)
end_month (max_dom)
end_day (max_dom)
end_hour (max_dom)
end_minute (max_dom)
end_second (max_dom)
2001
06
12
12
00
00
WRF-ARW V3: User’s Guide
Description
Time control
run time in days
run time in hours
Note: if it is more than 1 day, one may use
both run_days and run_hours or just
run_hours. e.g. if the total run length is 36
hrs, you may set run_days = 1, and
run_hours = 12, or run_days = 0, and
run_hours 36
run time in minutes
run time in seconds
four digit year of starting time
two digit month of starting time
two digit day of starting time
two digit hour of starting time
two digit minute of starting time
two digit second of starting time
Note: the start time is used to name the
first wrfout file. It also controls the start
time for nest domains, and the time to
restart
four digit year of ending time
two digit month of ending time
two digit day of ending time
two digit hour of ending time
two digit minute of ending time
two digit second of ending time
Note all end times also control when the
nest domain integrations end. All start and
end times are used by real.exe. One may
use either run_days/run_hours etc. or
end_year/month/day/hour etc. to control
the length of model integration. But
run_days/run_hours takes precedence over
5-38
MODEL
interval_seconds
10800
input_from_file
(max_dom)
T (logical)
fine_input_stream
(max_dom)
0
2
history_interval
(max_dom)
60
history_interval_d
(max_dom)
1
history_interval_h
(max_dom)
1
history_interval_m
(max_dom)
1
history_interval_s
(max_dom)
1
frames_per_outfile
(max_dom)
1
restart
F (logical)
1440
reset_simulation_start F
restart_interval
the end times. Program real.exe uses start
and end times only.
time interval between incoming real data,
which will be the interval between the
lateral boundary condition file (for real
only)
logical; whether nested run will have input
files for domains other than 1
selected fields from nest input
all fields from nest input are used
only nest input specified from input stream
2 (defined in the Registry) are used. In
V3.2, this requires io_form_auxinput2 to
be set
history output file interval in minutes
(integer only)
history output file interval in days
(integer); used as alternative to
history_interval
history output file interval in hours
(integer); used as alternative to
history_interval
history output file interval in minutes
(integer); used as alternative to
history_interval and is equivalent to
history_interval
history output file interval in seconds
(integer); used as alternative to
history_interval
output times per history output file, used to
split output files into smaller pieces
whether this run is a restart run
restart output file interval in minutes
whether to overwrite simulation_start_date
with forecast start time
whether this run is a cycling run
(initialized from wrfout file)
input from WPS (this is the default)
cycling
F
auxinput1_inname
“met_em.d<domain>
<date>”
auxinput4_inname
“wrflowinp_d<domain>” input for lower bdy file, works with
sst_update
auxinput4_interval
360
WRF-ARW V3: User’s Guide
=1
file interval in minutes for lower boundary
5-39
MODEL
(max_dom)
io_form_auxinput4
2
io_form_history
2
1
4
io_form_restart
5
10
11
2
io_form_input
2
102
io_form_boundary
io_form_auxinput2
2
2
2
cycling
.false.
diag_print
0
1
io_form_auxinput4
2
debug_level
0
auxhist2_outname
"rainfall_d<domain>"
WRF-ARW V3: User’s Guide
file
IO format for wrflowinp files, required for
V3.2
2 = netCDF; 102 = split netCDF files one
per processor (no supported postprocessing software for split files)
binary format (no supported postprocessing software avail)
PHDF5 format (no supported postprocessing software avail)
GRIB 1
GRIB 2
parallel netCDF
2 = netCDF; 102 = split netCDF files one
per processor (must restart with the same
number of processors)
2 = netCDF
allows program real.exe to read in split
met_em* files, and write split wrfinput
files. No split file for wrfbdy.
netCDF format
IO format (netCDF) for wrflowinp
IO format (netCDF) for input stream 2
data
indicating if the run is using wrfout file
as input file. In this case, Thompson
initialization routine will not be called
again (performance issue)
getting some simple diagnostic fields
domain averaged Dpsfc/Dt, Dmu/Dt will
appear in stdout file
in addition to those above, domain
averaged rainfall, surface evaporation,
sensible and latent heat fluxes will be
output
50,100,200,300 values give increasing
prints
file name for extra output; if not specified,
auxhist2_d<domain>_<date> will be used.
Also note that to write variables in output
other than the history file requires
Registry.EM file change
5-40
MODEL
auxhist2_interval
(max_dom)
io_form_auxhist2
10
interval in minutes
2
output in netCDF
output times per output file
frame_per_auxhist2
(max_dom)
auxinput11_interval
auxinput11_end_h
nocolons
write_input
.false.
t
inputout_interval
180
input_outname
“wrf_3dvar_input_
d<domain>_<date>”
0
0
3
0
0
0
0
12
0
0
inputout_begin_y
inputout_begin_d
inputout_begin_h
Inputout_begin_m
inputout_begin_s
inputout_end_y
inputout_end_d
inputout_end_h
inputout_end_m
inputout_end_s
designated for obs nudging input
designated for obs nudging input
replace : with _ in output file names
write input-formatted data as output for
3DVAR application
interval in minutes when writing inputformatted data
Output file name from 3DVAR
beginning year to write 3DVAR data
beginning day to write 3DVAR data
beginning hour to write 3DVAR data
beginning minute to write 3DVAR data
beginning second to write 3DVAR data
ending year to write 3DVAR data
ending day to write 3DVAR data
ending hour to write 3DVAR data
ending minute to write 3DVAR data
ending second to write 3DVAR data.
The above example shows that the inputformatted data are output starting from
hour 3 to hour 12 in 180 min interval.
all_ic_times
1
&domains
time_step
60
time_step_fract_num
time_step_fract_den
0
1
time_step_dfi
60
WRF-ARW V3: User’s Guide
output wrfinput file for all time periods
domain definition: dimensions, nesting
parameters
time step for integration in integer seconds
(recommended 6*dx in km for a typical
case)
numerator for fractional time step
denominator for fractional time step
Example, if you want to use 60.3 sec as
your time step, set time_step = 60,
time_step_fract_num = 3, and
time_step_fract_den = 10
time step for DFI, may be different from
regular time_step
5-41
MODEL
max_dom
1
s_we (max_dom)
1
e_we (max_dom)
91
s_sn (max_dom)
1
e_sn (max_dom)
82
s_vert (max_dom)
1
e_vert (max_dom)
28
dx (max_dom)
10000
10000
19000.
dy (max_dom)
ztop (max_dom)
grid_id (max_dom)
parent_id (max_dom)
i_parent_start
(max_dom)
1
0
1
j_parent_start
(max_dom)
1
parent_grid_ratio
(max_dom)
1
parent_time_step_ratio 1
(max_dom)
feedback
1
smooth_option
0
(options for program real)
num_metgrid_levels
40
WRF-ARW V3: User’s Guide
number of domains - set it to > 1 if it is a
nested run
start index in x (west-east) direction (leave
as is)
end index in x (west-east) direction
(staggered dimension)
start index in y (south-north) direction
(leave as is)
end index in y (south-north) direction
(staggered dimension)
start index in z (vertical) direction (leave
as is)
end index in z (vertical) direction
(staggered dimension - this refers to full
levels). Most variables are on unstaggered
levels. Vertical dimensions need to be the
same for all nests.
grid length in x direction, unit in meters
grid length in y direction, unit in meters
height in meters; used to define model top
for idealized cases
domain identifier
id of the parent domain
starting LLC I-indices from the parent
domain
starting LLC J-indices from the parent
domain
parent-to-nest domain grid size ratio: for
real-data cases the ratio has to be odd; for
idealized cases, the ratio can be even if
feedback is set to 0.
parent-to-nest time step ratio; it can be
different from the parent_grid_ratio
feedback from nest to its parent domain; 0
= no feedback
smoothing option for parent domain, used
only with feedback option on. 0: no
smoothing; 1: 1-2-1 smoothing; 2:
smoothing-desmoothing
number of vertical levels in WPS output:
type ncdump –h to find out
5-42
MODEL
num_metgrid_soil_
levels
4
eta_levels
1.0, 0.99,…0.0
force_sfc_in_vinterp
1
p_top_requested
5000
interp_type
2
extrap_type
2
t_extrap_type
2
use_levels_below_groun .true.
d
use_surface
.true.
lagrange_order
1
lowest_lev_from_sfc
.false.
sfcp_top_sfcp
.false.
use_tavg_for_tsk
.false.
WRF-ARW V3: User’s Guide
number of soil levels or layers in WPS
output
model eta levels from 1 to 0. If not given,
real will provide a set of levels
use surface data as lower boundary when
interpolating through this many eta levels
p_top to use in the model; must be
available in WPS data
vertical interpolation;
1: linear in pressure;
2: linear in log(pressure)
vertical extrapolation of non-temperature
variables.
1: extrapolate using the two lowest levels;
2: use lowest level as constant below
ground
vertical extrapolation for potential
temperature.
1: isothermal;
2: -6.5 K/km lapse rate for temperature
3: constant theta
in vertical interpolation, whether to use
levels below input surface level:
true: use input isobaric levels below input
surface
false: extrapolate when WRF location is
below input surface level
whether to use input surface level data in
vertical interpolation
true: use input surface data
false: do not use input surface data
vertical interpolation order;
1: linear;
2: quadratic
T = use surface values for the lowest eta
(u,v,t,q); F = use traditional interpolation
optional method to compute model's
surface pressure when incoming data only
has surface pressure and terrain, but not
SLP
whether to use diurnally averaged surface
temp as skin temp. The diurnall averaged
surface temp can be computed using WPS
utility avg_tsfc.exe. May use this option
5-43
MODEL
rh2qv_wrt_liquid
.true.
smooth_cg_topo
.false.
use_tavg_for_tsk
.false.
vert_refine_fact
1
(options for preset moving nest)
num_moves
2,
move_id (max_moves)
2,2,
move_interval
60,120,
(max_moves)
move_cd_x (max_moves)
1,-1,
move_cd_y (max_moves)
-1,1,
(options for automatic moving nest)
vortex_interval
15
(max_dom)
max_vortex_speed
(max_dom)
40
corral_dist (max_dom)
8
track_level
50000.
time_to_move (max_dom) 0.,
(options for adaptive time step)
use_adaptive_time_step .false.
step_to_output_time
.true.
target_cfl(max_dom)
1.2. 1.2, 1.2,
max_step_increase_pct( 5,
max_dom)
51, 51,
when SKINTEMP is not present.
whether to compute Qv with respect to
water (true) or ice (false)
smooth the outer rows and columns of the
domain 1 topography w.r.t. the input data
whether to use diurnally averaged surface
temp as skin temp. The diurnall averaged
surface temp can be computed using WPS
utility avg_tsfc.exe. May use this option
when SKINTEMP is not present
vertical refinement factor for ndown
total number of moves for all domains
a list of nest domain id's, one per move
time in minutes since the start of this
domain
the number of parent domain grid cells to
move in i direction
the number of parent domain grid cells to
move in j direction (positive in increasing
i/j directions, and negative in decreasing i/j
directions. Only 1, 0 and -1 is permitted.
how often the new vortex position is
computed
unit in m/sec; used to compute the search
radius for the new vortex position
how many coarse grid cells the moving
nest is allowed to get near the coarse grid
boundary
Pressure level value (Pa) at which the
tropical storm vortex is tracked
time, in minutes, to start moving nest
whether to use adaptive time step
whether to modify the time steps so that
the exact history time is reached
if vertical and horizontal CFL <= this
value, then time step is increased
percentage of previous time step to
increase, if the max CFL is <=
target_cfl
WRF-ARW V3: User’s Guide
5-44
MODEL
starting_time_step
(max_dom)
-1, -1, -1,
max_time_step(max_dom) -1,
-1, -1,
min_time_step
(max_dom)
-1, -1, -1,
adaptation_domain
1
(options to control parallel computing)
tile_sz_x
0
tile_sz_y
0
numtiles
1
nproc_x
-1
nproc_y
-1
&physics
mp_physics (max_dom)
0
1
2
3
4
5
6
7
8
WRF-ARW V3: User’s Guide
flag -1 implies 6*dx is used to start the
model. Any positive integer number
specifies the time step the model will start
with. Note that when
use_adaptive_time_step is true, the
value specified for time_step is ignored.
flag -1 implies the maximum time step is
3*starting_time_step. Any positive integer
number specified the maximum time step
flag -1 implies the minimum time step is
0.5*starting_time_step. Any positive
integer number specified the minumum
time step
Which domain to drive adaptive time
stepping. Default is domain 1.
number of points in tile x direction
number of points in tile y direction can be
determined automatically
number of tiles per patch (alternative to
above two items)
number of processors in x for
decomposition
number of processors in y for
decomposition
-1: code will do automatic decomposition
>1: for both: will be used for
decomposition
Physics options
microphysics option
no microphysics
Kessler scheme
Lin et al. scheme
WSM 3-class simple ice scheme
WSM 5-class scheme
Ferrier (new Eta) microphysics
WSM 6-class graupel scheme
Goddard GCE scheme (also use
gsfcgce_hail and gsfcgce_2ice)
Thompson graupel scheme (2-moment
scheme in V3.1)
5-45
MODEL
9
10
14
16
98
mp_zero_out
0
1
2
mp_zero_out_thresh
1.e-8
mp_tend_lim
10..
gsfcgce_hail
0
gsfcgce_2ice
0
no_mp_heating
0
ra_lw_physics
(max_dom)
0
1
3
4
WRF-ARW V3: User’s Guide
Milbrandt-Yau 2-moment scheme
Morrison 2-moment scheme
double moment, 5-class scheme
double moment, 6-class scheme
Thompson scheme in V3.0
For non-zero mp_physics options, this
keeps moisture variables above a threshold
value >= 0. An alternative (and better)
way to keep moisture variables positive is
to use moist_adv_opt.
no action taken, no adjustment to any
moisture field
except for Qv, all other moisture arrays are
set to zero if they fall below a critical
value
Qv >= 0 and all other moisture arrays are
set to zero if they fall below a critical
value
critical value for moisture variable
threshold, below which moisture arrays
(except for Qv) are set to zero (unit: kg/kg)
limit on temp tendency from microphysics
latent heating when radar data assimilation
is used
0: running gsfcgce scheme with graupel
1: running gsfcgce scheme with hail
0: running gsfcgce scheme with snow, ice
and graupel / hail
1: running gsfcgce scheme with only ice
and snow
2: running gsfcgce scheme with only ice
and graupel (used only in very extreme
situation)
switch to turn off latent heating from mp
0: normal
1: turn off latent heating from a
microphysics scheme
longwave radiation option
no longwave radiation
rrtm scheme
CAM scheme
rrtmg scheme
5-46
MODEL
99
GFDL (Eta) longwave (semi-supported)
shortwave radiation option
radt (max_dom)
0
1
2
3
4
99
30
co2tf
1
cam_abs_freq_s
21600
levsiz
59
29
4
same as e_vert
no shortwave radiation
Dudhia scheme
Goddard short wave
CAM scheme
rrtmg scheme
GFDL (Eta) longwave (semi-supported)
minutes between radiation physics calls.
Recommend 1 minute per km of dx (e.g.
10 for 10 km grid); use the same value for
all nests
CO2 transmission function flag for GFDL
radiation only. Set it to 1 for ARW, which
allows generation of CO2 function
internally
CAM clear sky longwave absorption
calculation frequency (recommended
minimum value to speed scheme up)
for CAM radiation input ozone levels
for CAM radiation input aerosol levels
for CAM absorption save array
for CAM 2nd absorption save array. The
above 5 variables for CAM are
automatically set in V3.2.
surface-layer option
ra_sw_physics
(max_dom)
paerlev
cam_abs_dim1
cam_abs_dim2
sf_sfclay_physics
(max_dom)
0
1
2
3
4
5
7
iz0tlnd
0
sf_surface_physics
(max_dom)
0
WRF-ARW V3: User’s Guide
no surface-layer
Monin-Obukhov scheme
Monin-Obukhov (Janjic Eta) scheme
NCEP GFS scheme (NMM only)
QNSE
MYNN
Pleim-Xiu (ARW only), only tested with
Pleim-Xiu surface and ACM2 PBL
thermal roughness length for sfclay and
myjsfc (0 - old, 1 - veg dependent Czil)
land-surface option (set before running
real; also set correct num_soil_layers)
no surface temp prediction
5-47
MODEL
1
2
3
7
sf_urban_physics
(max_dom)
0
1
2
bl_pbl_physics
(max_dom)
0
1
2
3
4
5
6
7
8
bldt (max_dom)
grav_settling
(max_dom)
99
0
0
cu_physics (max_dom)
0
1
2
3
4
5
WRF-ARW V3: User’s Guide
thermal diffusion scheme
unified Noah land-surface model
RUC land-surface model
Pleim-Xiu scheme (ARW only)
urban physics option (replacing ucmcall
option in previous versions); works with
Noah LSM
no urban physics
single-layer UCM (Kusaka)
multi-layer, BEP (Martilli); works with
BouLac and MYJ PBL only.
boundary-layer option
no boundary-layer
YSU scheme, use sf_sfclay_physics=1
Mellor-Yamada-Janjic (Eta) TKE scheme,
use sf_sfclay_physics=2
NCEP GFS scheme (NMM only), use
sf_sfclay_physics=3
QNSE, use sf_sfclay_physics=4
MYNN 2.5 level TKE, use
sf_sfclay_physics=1,2, and 5
MYNN 3rd level TKE, use
sf_sfclay_physics=5
ACM2 (Pleim) scheme, use
sf_sfclay_physics=1, 7
Bougeault and Lacarrere (BouLac) TKE,
use sf_sfclay_physics=1, 2
MRF scheme (to be removed)
minutes between boundary-layer physics
calls. 0 = call every time step
Gravitational settling of fog/cloud droplet,
MYNN PBL only
cumulus option
no cumulus
Kain-Fritsch (new Eta) scheme
Betts-Miller-Janjic scheme
Grell-Devenyi ensemble scheme
Simplied Arakawa-Schubert (NMM only)
New Grell scheme (G3)
5-48
MODEL
cudt
ishallow
99
0
ensdim
0
1
3
3
16
144
cugd_avedx
1
isfflx
1
ifsnow
0
icloud
1
swrad_scat
1.
surface_input_source
1,2,3
maxiens
maxens
maxens2
maxens3
WRF-ARW V3: User’s Guide
previous Kain-Fritsch scheme
minutes between cumulus physics calls.
0 = call every time step
Shallow convection used with Grell 3D
Grell-Devenyi and G3 only
G-D only
G-D only
G-D only
G-D only. These are recommended
numbers. If you would like to use any
other number, consult the code, know what
you are doing.
number of grid boxes over which
subsidence is spread. 1= default, for large
grid sizes; 3=, for small grid sizes (<5km)
heat and moisture fluxes from the surface
1 = with fluxes from the surface
0 = no flux from the surface (not for
sf_surface_sfclay = 2).
If diff_opt=2, km_opt=2 or 3 then
0 = constant fluxes defind by
tke_drag_coefficient,
tke_heat_flux;
1 = use model computed u*, and heat and
moisture fluxes;
2 = use model computed u*, and specified
heat flux by tke_heat_flux
snow-cover effects (only works for
sf_surface_physics = 1)
1 = with snow-cover effect
0 = without snow-cover effect
cloud effect to the optical depth in
radiation (only works for ra_sw_physics =
1 and ra_lw_physics = 1)
1 = with cloud effect
0 = without cloud effect
Scattering tuning parameter (default 1 is
1.e-5 m2/kg)
where landuse and soil category data come
from:
1 = WPS/geogrid, but with dominant
categories recomputed in real
2 = GRIB data from another model (only
5-49
MODEL
num_soil_layers
pxlsm_smois_init
(max_dom)
num_land_cat
num_soil_cat
usemonalb
5
4
6
2
1
24
16
.false.
if arrays VEGCAT/SOILCAT exist)
3 = use dominant land and soil categories
from WPS/geogrid
number of soil layers in land surface
model (set in real)
thermal diffusion scheme for temp only
Noah land-surface model
RUC land-surface model
Pleim-Xu land-surface model
PX LSM soil moisture initialization option
0: from analysis
1: from LANDUSE.TBL (SLMO)
number of landuse categories in input data
number of soil categories in input data
whether to use monthly albedo map
instead of table values. Recommended for
sst_update = 1
rdmaxalb
.true.
rdlai2d
.false.
seaice_threshold
271.
sst_update
0
1
tmn_update
1
lagday
150
WRF-ARW V3: User’s Guide
use snow albedo from geogrid; false
means use snow albedo from table
use LAI from input data; false means
using values from table
tsk < seaice_threshold, if water point and
5-layer slab scheme, set to land point and
permanent ice; if water point and Noah
scheme, set to land point, permanent ice,
set temps from 3 m to surface, and set
smois and sh2o
option to use time-varying SST, seaice,
vegetation fraction, and albedo during a
model simulation (set before running real)
no SST update
real.exe will create wrflowinp file(s) at
the same time interval as the available
input data. Also set auxinput4_inname =
"wrflowinp_d<domain>",
auxinput4_interval and
io_form_auxinput4 (required in V3.2) in
namelist section &time_control
update deep layer soil temperature, useful
for long simulations
days over which tmn is computed using
skin temperature
5-50
MODEL
sst_skin
1
bucket_mm
-1.
bucket_j
-1.
slope_rad (max_dom)
0
topo_shading (max_dom) 0
shadlen
25000.
calculate skin SST, useful for long
simulations
bucket reset values for water accumulation
(unit in mm), useful for long simulations; 1 = inactive
bucket reset value for energy
accumulations (unit in Joules) useful for
long simulations; -1 = inactive
slope effects for ra_sw_physics (1=on,
0=off)
neighboring-point shadow effects for
ra_sw_physics (1=on, 0=off)
max shadow length in meters for
topo_shading = 1
omlcall
0
oml_hml0
50.
oml_gamma
isftcflx
0.14
0
fractional_seaice
0.
prec_acc_dt
0.
&fdda
(for grid nudging)
grid_fdda (max_dom)
gfdda_inname
gfdda_interval
(max_dom)
simple ocean mixed layer model (1=on,
0=off)
>= 0: initial ocean mixed layer depth (m),
constant everywhere
< 0: use input
lapse rate in deep water for oml (K m-1)
alternative Ck, Cd for tropical storm
application. (0=off, 1=constant Z0q,
2=Garratt)
treat seaice as fractional field (1) or ice/no
ice flag (0)
number of minutes in precipitation bucket
if set greater than 0.
for grid, obs and spectral nudging
1
2
“wrffdda_d<domain>”
360
gfdda_end_h (max_dom)
6
io_form_gfdda
fgdt (max_dom)
2
0
fgdtzero
0
WRF-ARW V3: User’s Guide
grid analysis nudging on (=0 off)
spectral analysis nudging option
defined name in real
Time interval (min) between analysis
times
Time (h) to stop nudging after start of
forecast
analysis format (2 = netcdf)
calculation frequency (in minutes) for
analysis nudging. 0 = every time step, and
this is recommended
not active
5-51
MODEL
1
if_no_pbl_nudging_uv
(max_dom)
0
if_no_pbl_nudging_t
(max_dom)
0
if_no_pbl_nudging_q
(max_dom)
0
if_no_pbl_nudging_ph
(max_dom)
0
if_zfac_uv (max_dom)
0
k_zfac_uv
10
if_zfac_t (max_dom)
0
k_zfac_t
10
if_zfac_q (max_dom)
0
k_zfac_q
10
if_zfac_ph (max_dom)
0
k_zfac_q
10
guv (max_dom)
gph (max_dom)
0.0003
0.0003
0.0003
0.0003
dk_zfac_uv (max_dom)
1
dk_zfac_t (max_dom)
1
1
3
gt (max_dom)
gq (max_dom)
dk_zfac_ph (max_dom)
xwavenum
WRF-ARW V3: User’s Guide
nudging tendencies are set to zero in
between fdda calls
1= no nudging of u and v in the pbl; 0=
nudging in the pbl
1= no nudging of temp in the pbl; 0=
nudging in the pbl
1= no nudging of qvapor in the pbl; 0=
nudging in the pbl
1= no nudging of ph in the pbl; 0=
nudging in the pbl; only for spectral
nudging
0= nudge u and v in all layers, 1= limit
nudging to levels above k_zfac_uv
10=model level below which nudging is
switched off for u and v
0= nudge temp in all layers, 1= limit
nudging to levels above k_zfac_t
10=model level below which nudging is
switched off for temp
0= nudge qvapor in all layers, 1= limit
nudging to levels above k_zfac_q
10=model level below which nudging is
switched off for water qvapor
0= nudge ph in all layers, 1= limit nudging
to levels above k_zfac_ph (spectral
nudging only)
10=model level below which nudging is
switched off for water ph (spectral
nudging only)
nudging coefficient for u and v (sec-1)
nudging coefficient for temp (sec-1)
nudging coefficient for qvapor (sec-1)
nudging coefficient for ph (sec-1), spectral
nudging only
depth in k between k_zfac_X to
dk_zfac_X where nudging increases
linearly to full strength (spectral nudging
only)
top wave number to nudge in x direction,
5-52
MODEL
spectral nudging only
3
top wave number to nudge in y direction,
spectral nudging only
if_ramping
0
0= nudging ends as a step function, 1=
ramping nudging down at end of period
dtramp_min
60.
time (min) for ramping function,
60.0=ramping starts at last analysis time,
-60.0=ramping ends at last analysis time
grid_sfdda (max_dom) 1
surface grid-nudging on (=0 off)
sgfdda_inname
“wrfsfdda_d<domain>” defined name for surface nudging input
file (from program obsgrid)
sgfdda_interval
360
time interval (min) between surface
(max_dom)
analysis times
sgfdda_end_h (max_dom) 6
time (in hours) to stop nudging after start
of forecast
io_form_sgfdda
2
surface analysis format (2 = netcdf)
guv_sfc (max_dom)
0.0003
nudging coefficient for u and v (sec-1)
gt_sfc (max_dom)
0.0003
nudging coefficient for temp (sec-1)
gq_sfc (max_dom)
0.0003
nudging coefficient for qvapor (sec-1)
rinblw
250.
radius of influence used to determine the
confidence (or weights) for the analysis,
which is based on the distance between the
grid point to the nearest obs. The analysis
without nearby observation is used at a
reduced weight
ywavenum
(for obs nudging)
obs_nudge_opt
(max_dom)
1
max_obs
150000
fdda_startj(max_dom)
0.
180.
1
obs-nudging fdda on (=0 off) for each
domain; also need to set
auxinput11_interval and
auxinput11_end_h in time_control
namelist
max number of observations used on a
domain during any given time window
obs nudging start time in minutes
obs nudging end time in minutes
whether to nudge wind: (=0 off)
6.e-4
nudging coefficient for wind, unit: s-1
1
whether to nudge temperature: (=0 off)
6.e-4
nudging coefficient for temp, unit: s-1
fdda_end (max_dom)
obs_nudge_wind
(max_dom)
obs_coef_wind
(max_dom)
obs_nudge_temp
(max_dom)
obs_coef_temp
WRF-ARW V3: User’s Guide
5-53
MODEL
(max_dom)
obs_nudge_mois
(max_dom)
1
obs_coef_mois
(max_dom)
6.e-4
obs_nudge_pstr
(max_dom)
0
obs_coef_pstr
(max_dom)
0.
obs_rinxy
200.
0.1
0.666667
obs_rinsig
obs_twindo (max_dom)
obs_npfi
.true.
.true.
.true.
.true.
0
whether to nudge water vapor mixing
ratio: (=0 off)
nudging coefficient for water vapor
mixing ratio, unit: s-1
whether to nudge surface pressure (not
used)
nudging coefficient for surface pressure,
unit: s-1 (not used)
horizontal radius of influence in km
vertical radius of influence in eta
half-period time window over which an
observation will be used for nudging; the
unit is in hours
freq in coarse grid timesteps for diag prints
freq in coarse grid timesteps for obs input
and err calc
for dynamic initialization using a rampdown function to gradually turn off the
FDDA before the pure forecast (=1 on)
time period in minutes over which the
nudging is ramped down from one to zero.
maximum allowed obs entries in
diagnostic printout
frequency in obs index for diagnostic
printout
print obs input diagnostics (=.false. off)
print obs error diagnostics (=.false. off)
print obs nudge diagnostics (=.false. off)
enable obs init warning messages
1= no wind-nudging within pbl
0
1= no temperature-nudging within pbl
0
1= no moisture-nudging within pbl
50
Vert infl full weight height for LML obs,
regime 1, winds
Vert infl ramp-to-zero height for LML
obs, regime 1, winds
Vert infl full weight height for LML obs,
regime 2, winds
obs_ionf (max_dom)
10
2
obs_idynin
0
obs_dtramp
40.
obs_prt_max
10
obs_prt_freq (max_dom) 10
obs_ipf_in4dob
obs_ipf_errob
obs_ipf_nudob
obs_ipf_init
obs_no_pbl_nudge_uv
(max_dom)
obs_no_pbl_nudge_t
(max_dom)
obs_no_pbl_nudge_q
(max_dom)
obs_nudgezfullr1_uv
obs_nudgezrampr1_uv
50
obs_nudgezfullr2_uv
50
WRF-ARW V3: User’s Guide
5-54
MODEL
obs_nudgezrampr2_uv
50
obs_nudgezfullr4_uv
-5000
obs_nudgezrampr4_uv
50
obs_nudgezfullr1_t
50
obs_nudgezrampr1_t
50
obs_nudgezfullr2_t
50
obs_nudgezrampr2_t
50
obs_nudgezfullr4_t
-5000
obs_nudgezrampr4_t
50
obs_nudgezfullr1_q
50
obs_nudgezrampr1_q
50
obs_nudgezfullr2_q
50
obs_nudgezrampr2_q
50
obs_nudgezfullr4_q
-50000
obs_nudgezrampr4_q
50
obs_nudgezfullmin
50
obs_nudgezrampmin
50
obs_nudgezmax
3000
obs_sfcfact
1.0
obs_sfcfacr
1.0
obs_dpsmx
7.5
WRF-ARW V3: User’s Guide
Vert infl ramp-to-zero height for LML
obs, regime 2, winds
Vert infl full weight height for LML obs,
regime 4, winds
Vert infl ramp-to-zero height for LML
obs, regime 4, winds
Vert infl full weight height for LML obs,
regime 1, temperature
Vert infl ramp-to-zero height for LML
obs, regime 1, temperature
Vert infl full weight height for LML obs,
regime 2, temperature
Vert infl ramp-to-zero height for LML
obs, regime 2, temperature
Vert infl full weight height for LML obs,
regime 4, temperature
Vert infl ramp-to-zero height for LML
obs, regime 4, temperature
Vert infl full weight height for LML obs,
regime 1, moisture
Vert infl ramp-to-zero height for LML
obs, regime 1, moisture
Vert infl full weight height for LML obs,
regime 2, moisture
Vert infl ramp-to-zero height for LML
obs, regime 2, moisture
Vert infl full weight height for LML obs,
regime 4, moisture
Vert infl ramp-to-zero height for LML
obs, regime 4, moisture
Min depth through which vertical infl fcn
remains 1.0
Min depth (m) through which vert infl fcn
decreases from 1 to 0
Max depth (m) in which vert infl function
is nonzero
Scale factor applied to time window for
surface obs
Scale factor applied to horiz radius of
influence for surface obs
Max pressure change (cb) allowed within
horiz radius of influence
5-55
MODEL
&dynamics
rk_ord
2
3
diff_opt
0
1
2
km_opt
1
2
3
4
diff_6th_opt (max_dom) 0
diff_6th_factor
(max_dom)
0.12
damp_opt
0
1
2
WRF-ARW V3: User’s Guide
Diffusion, damping options, advection
options
time-integration scheme option:
Runge-Kutta 2nd order
Runge-Kutta 3rd order (recommended)
turbulence and mixing option:
= no turbulence or explicit spatial
numerical filters (km_opt IS IGNORED).
evaluates 2nd order diffusion term on
coordinate surfaces. uses kvdif for
vertical diff unless PBL option is used.
may be used with km_opt = 1 and 4. (= 1,
recommended for real-data case)
evaluates mixing terms in physical space
(stress form) (x,y,z). turbulence
parameterization is chosen by specifying
km_opt.
eddy coefficient option
constant (use khdif and kvdif)
1.5 order TKE closure (3D)
Smagorinsky first order closure (3D) Note:
option 2 and 3 are not recommended for
DX > 2 km
horizontal Smagorinsky first order closure
(recommended for real-data case)
6th-order numerical diffusion
0 = no 6th-order diffusion (default)
1 = 6th-order numerical diffusion
2 = 6th-order numerical diffusion but
prohibit up-gradient diffusion
6th-order numerical diffusion nondimensional rate (max value 1.0
corresponds to complete removal of 2dx
wave in one timestep)
upper level damping flag
without damping
with diffusive damping; maybe used for
real-data cases (dampcoef nondimensional
~ 0.01 - 0.1)
with Rayleigh damping (dampcoef inverse
time scale [1/s], e.g. 0.003)
5-56
MODEL
3
zdamp (max_dom)
dampcoef (max_dom)
5000
0.
w_damping
base_pres
0
1
100000.
base_temp
290.
base_lapse
50.
iso_temp
0.
use_baseparm_fr_nml
.false.
khdif (max_dom)
emdiv (max_dom)
0
0
0.1
0.01
epssm (max_dom)
.1
non_hydrostatic
(max_dom)
.true.
pert_coriolis
(max_dom)
.false.
top_lid (max_dom)
.false.
mix_full_fields
.false.
kvdif (max_dom)
smdiv (max_dom)
mix_isotropic(max_dom) 0
WRF-ARW V3: User’s Guide
with w-Rayleigh damping (dampcoef
inverse time scale [1/s] e.g. 0.2; for realdata cases)
damping depth (m) from model top
damping coefficient (see damp_opt)
vertical velocity damping flag (for
operational use)
without damping
with damping
Base state surface pressure (Pa), real only.
Do not change.
Base state sea level temperature (K), real
only.
real-data ONLY, lapse rate (K), DO NOT
CHANGE.
isothermal temperature in stratosphere,
real only, enable the model to be
extended to 5 mb
for backward compatibility: to use with
old wrfinput file
horizontal diffusion constant (m^2/s)
vertical diffusion constant (m^2/s)
divergence damping (0.1 is typical)
external-mode filter coef for mass
coordinate model (0.01 is typical for realdata cases)
time off-centering for vertical sound
waves
whether running the model in hydrostatic
or non-hydro mode
Coriolis only acts on wind perturbation
(idealized)
zero vertical motion at top of domain
(idealized)
used with diff_opt = 2; value of ".true." is
recommended, except for highly idealized
numerical tests; damp_opt must not be 1 if
".true." is chosen. .false. means subtract 1d base-state profile before mixing
(idealized)
0=anistropic vertical/horizontal diffusion
coeffs, 1=isotropic, for km_opt = 2, 3
5-57
MODEL
mix_upper_bound(max_do 0.1
m)
h_mom_adv_order
(max_dom)
5
v_mom_adv_order
(max_dom)
h_sca_adv_order
(max_dom)
v_sca_adv_order
(max_dom)
time_step_sound
(max_dom)
3
non-dimensional upper limit for diffusion
coeffs, for km_opt = 2, 3
horizontal momentum advection order
(5=5th, etc.)
vertical momentum advection order
5
horizontal scalar advection order
3
vertical scalar advection order
4
number of sound steps per time-step (if
using a time_step much larger than 6*dx
(in km), increase number of sound steps).
= 0: the value computed automatically
positive-definite or monotonic advection;
0= none
positive-define advection of moisture
monotonic option
positive-define advection of scalars
moist_adv_opt
(max_dom)
scalar_adv_opt
(max_dom)
1
2
1
2
tke_adv_opt (max_dom) 1
2
chem_adv_opt (max_dom) 1
2
tracer_adv_opt
1
(max_dom)
tke_drag_coefficient
(max_dom)
2
0
tke_heat_flux
(max_dom)
0
fft_filter_lat
45.
gwd_opt
0
do_avgflx_em
(max_dom)
0
do_avgflx_cugd
0
sfs_opt (max_dom)
0
WRF-ARW V3: User’s Guide
monotonic
positive-define advection of tke
monotomic
positive-define advection of chem vars
monotonic
positive-define advection of tracer (WRFChem activated)
monotonic
surface drag coefficient (Cd,
dimensionless) for diff_opt=2 only
surface thermal flux (H/rho*cp), K m/s)
for diff_opt = 2 only
the latitude above which the polar filter is
turned on for global model
gravity wave drag option (1= on), use
when grid size > 10 km
whether to output time-averaged masscoupled advective velocities
whether to output time-averaged
convective mass-fluxes from GrellDevenyi ensemble scheme
nonlinear backscatter and anisotropy
(NBA); default off
5-58
MODEL
1
2
m_opt (max_dom)
0
tracer_opt (max_dom)
0
&bdy_control
spec_bdy_width
5
spec_zone
1
relax_zone
4
specified (max_dom)
.false.
spec_exp
0.
using diagnostic stress terms (km_opt=2,3
for scalars)
using tke-based stress terms (km_opt=2
needed)
=1: adds output of Mij stress terms when
NBA is not used
=2: activate 8 pre-defined tracers in
Registry
boundary condition control
total number of rows for specified
boundary value nudging
number of points in specified zone (spec
b.c. option)
number of points in relaxation zone (spec
b.c. option)
specified boundary conditions (only can be
used for to domain 1)
exponential multiplier for relaxation zone
ramp for specified=.t. (0.= linear ramp
default; 0.33=~3*dx exp decay factor)
The above 5 namelists are used for realdata runs only
periodic_x (max_dom)
.false.
symmetric_xs (max_dom) .false.
symmetric_xe (max_dom) .false.
open_xs (max_dom)
open_xe (max_dom)
periodic_y (max_dom)
.false.
.false.
.false.
symmetric_ys (max_dom) .false.
symmetric_ye (max_dom) .false.
open_ys (max_dom)
open_ye (max_dom)
nested (max_dom)
.false.
.false.
.false.,.true.,.true.,
WRF-ARW V3: User’s Guide
periodic boundary conditions in x
direction
symmetric boundary conditions at x start
(west)
symmetric boundary conditions at x end
(east)
open boundary conditions at x start (west)
open boundary conditions at x end (east)
periodic boundary conditions in y
direction
symmetric boundary conditions at y start
(south)
symmetric boundary conditions at y end
(north)
open boundary conditions at y start (south)
open boundary conditions at y end (north)
nested boundary conditions (must be set to
.true. for nests)
5-59
MODEL
polar
.false.
constant_bc
.false.
&namelist_quilt
nio_tasks_per_group
0
nio_groups
1
polar boundary condition (v=0 at
polarward-most v-point) for global
application
constant boundary condition used with
DFI.
Option for asynchronized I/O for MPI
applications
default value is 0: no quilting; > 0: the
number of processors used for IO quilting
per IO group
default 1. Maybe set to higher value for
nesting IO, or history and restart IO
&grib2
background_proc_id
255
forecast_proc_id
255
production_status
255
compression
40
dfi_radar
0
&dfi_control
digital filter option control (does not yet support nesting)
3
which DFI option to use
0: no digital filter initialization
1: digital filter launch (DFL)
2: diabatic DFI (DDFI)
3: twice DFI (TDFI) (recommended)
7
digital filter type: 0 – uniform; 1- Lanczos;
2 – Hamming; 3 – Blackman; 4 – Kaiser; 5
dfi_opt
dfi_nfilter
WRF-ARW V3: User’s Guide
Background generating process identifier,
typically defined by the originating center
to identify the background data that was
used in creating the data. This is octet 13
of Section 4 in the grib2 message
Analysis or generating forecast process
identifier, typically defined by the
originating center to identify the forecast
process that was used to generate the data.
This is octet 14 of Section 4 in the grib2
message
Production status of processed data in the
grib2 message. See Code Table 1.3 of the
grib2 manual. This is octet 20 of Section 1
in the grib2 record
The compression method to encode the
output grib2 message. Only 40 for
jpeg2000 or 41 for PNG are supported
DFI radar data assimilation switch
5-60
MODEL
dfi_write_filtered_
input
.true.
dfi_write_dfi_history
.false.
dfi_cutoff_seconds
3600
dfi_time_dim
1000
dfi_bckstop_year
2001
dfi_bckstop_month
06
dfi_bckstop_day
11
dfi_bckstop_hour
11
dfi_bckstop_minute
00
dfi_bckstop_second
00
dfi_fwdstop_year
2001
dfi_fwdstop_month
06
dfi_fwdstop_day
11
dfi_fwdstop_hour
12
dfi_fwdstop_minute
30
dfi_fwdstop_second
00
dfi_radar
0
WRF-ARW V3: User’s Guide
– Potter; 6 – Dolph window; 7 – Dolph
(recommended); 8 – recursive high-order
whether to write wrfinput file with filtered
model state before beginning forecast
whether to write wrfout files during
filtering integration
cutoff period, in seconds, for the filter.
Should not be longer than the filter
window
maximum number of time steps for
filtering period, this value can be larger
than necessary
four-digit year of stop time for backward
DFI integration. For a model that starts
from 2001061112, this specifies 1 hour
backward integration
two-digit month of stop time for backward
DFI integration
two-digit day of stop time for backward
DFI integration
two-digit hour of stop time for backward
DFI integration
two-digit minute of stop time for backward
DFI integration
two-digit second of stop time for backward
DFI integration
four-digit year of stop time for forward
DFI integration. For a model that starts at
2001061112, this specifies 30 minutes of
forward integration
two-digit month of stop time for forward
DFI integration
two-digit day of stop time for forward DFI
integration
two-digit hour of stop time for forward
DFI integration
two-digit minute of stop time for forward
DFI integration
two-digit second of stop time for forward
DFI integration
DFI radar DA switch
5-61
MODEL
&scm
scm_force
scm_force_dx
num_force_layers
scm_lu_index
scm_isltyp
scm_vegfra
scm_canwat
scm_lat
scm_lon
scm_th_adv
scm_wind_adv
scm_qv_adv
scm_vert_adv
1
4000.
8
2
4
0.5
0.0
37.
-96.
.true.
.true.
.true.
.true.
for single column model option only
switch for single column forcing (=0 off)
DX for SCM forcing (in meters)
number of SCM input forcing layers
SCM landuse category (2 is dryland,
cropland and pasture)
SCM soil category (4 is silt loam)
SCM vegetation fraction
SCM canopy water
SCM latitude
SCM longitude
turn on theta advection in SCM
turn on wind advection in SCM
turn on moisture advection in SCM
turn on vertical advection in SCM
&tc
controls for tc_em.exe only
insert_bogus_storm
.false.
T/F for inserting a bogus tropical storm
remove_storm
.false.
T/F for only removing the original TC
num_storm
1
number of bogus TC
latc_loc
-999.
center latitude of the bogus TC
lonc_loc
-999.
center longitude of the bogus TC
vmax_meters_per_second -999.
vmax of bogus storm in meters per second
rmax
-999.
maximum radius outward from storm
center
vmax_ratio
-999.
ratio for representative maximum winds,
0.75 for 45 km grid, and 0.9 for 15 km
grid
WRF Output Fields
List of Fields
The following is an edited output list from netCDF command 'ncdump'. Note that valid
output fields will depend on the model options used. If the fields have zero values, then
the fields are not computed by the model options selected.
ncdump -h wrfout_d<domain>_<date>
WRF-ARW V3: User’s Guide
5-62
MODEL
netcdf wrfout_d01_2000-01-24_12:00:00
dimensions:
Time = UNLIMITED ; // (1 currently)
DateStrLen = 19 ;
west_east = 73 ;
south_north = 60 ;
bottom_top = 27 ;
bottom_top_stag = 28 ;
soil_layers_stag = 4 ;
west_east_stag = 74 ;
south_north_stag = 61 ;
variables:
char Times(Time, DateStrLen) ;
float LU_INDEX(Time, south_north, west_east) ;
LU_INDEX:description = "LAND USE CATEGORY" ;
LU_INDEX:units = "" ;
float ZNU(Time, bottom_top) ;
ZNU:description = "eta values on half (mass) levels" ;
ZNU:units = "" ;
float ZNW(Time, bottom_top_stag) ;
ZNW:description = "eta values on full (w) levels" ;
ZNW:units = "" ;
float ZS(Time, soil_layers_stag) ;
ZS:description = "DEPTHS OF CENTERS OF SOIL LAYERS" ;
ZS:units = "m" ;
float DZS(Time, soil_layers_stag) ;
DZS:description = "THICKNESSES OF SOIL LAYERS" ;
DZS:units = "m" ;
float U(Time, bottom_top, south_north, west_east_stag) ;
U:description = "x-wind component" ;
U:units = "m s-1" ;
float V(Time, bottom_top, south_north_stag, west_east) ;
V:description = "y-wind component" ;
V:units = "m s-1" ;
float W(Time, bottom_top_stag, south_north, west_east) ;
W:description = "z-wind component" ;
W:units = "m s-1" ;
float PH(Time, bottom_top_stag, south_north, west_east) ;
PH:description = "perturbation geopotential" ;
PH:units = "m2 s-2" ;
float PHB(Time, bottom_top_stag, south_north, west_east) ;
PHB:description = "base-state geopotential" ;
PHB:units = "m2 s-2" ;
float T(Time, bottom_top, south_north, west_east) ;
T:description = "perturbation potential temperature (theta-t0)" ;
T:units = "K" ;
float MU(Time, south_north, west_east) ;
MU:description = "perturbation dry air mass in column" ;
MU:units = "Pa" ;
float MUB(Time, south_north, west_east) ;
MUB:description = "base state dry air mass in column" ;
MUB:units = "Pa" ;
float NEST_POS(Time, south_north, west_east) ;
NEST_POS:description = "-" ;
NEST_POS:units = "-" ;
float P(Time, bottom_top, south_north, west_east) ;
P:description = "perturbation pressure" ;
P:units = "Pa" ;
float PB(Time, bottom_top, south_north, west_east) ;
PB:description = "BASE STATE PRESSURE" ;
PB:units = "Pa" ;
WRF-ARW V3: User’s Guide
5-63
MODEL
float SR(Time, south_north, west_east) ;
SR:description = "fraction of frozen precipitation" ;
SR:units = "-" ;
float POTEVP(Time, south_north, west_east) ;
POTEVP:description = "accumulated potential evaporation" ;
POTEVP:units = "W m-2" ;
float SNOPCX(Time, south_north, west_east) ;
SNOPCX:description = "snow phase change heat flux" ;
SNOPCX:units = "W m-2" ;
float SOILTB(Time, south_north, west_east) ;
SOILTB:description = "bottom soil temperature" ;
SOILTB:units = "K" ;
float FNM(Time, bottom_top) ;
FNM:description = "upper weight for vertical stretching" ;
FNM:units = "" ;
float FNP(Time, bottom_top) ;
FNP:description = "lower weight for vertical stretching" ;
FNP:units = "" ;
float RDNW(Time, bottom_top) ;
RDNW:description = "inverse d(eta) values between full (w) levels" ;
RDNW:units = "" ;
float RDN(Time, bottom_top) ;
RDN:description = "inverse d(eta) values between half (mass) levels" ;
RDN:units = "" ;
float DNW(Time, bottom_top) ;
DNW:description = "d(eta) values between full (w) levels" ;
DNW:units = "" ;
float DN(Time, bottom_top) ;
DN:description = "d(eta) values between half (mass) levels" ;
DN:units = "" ;
float CFN(Time) ;
CFN:description = "extrapolation constant" ;
CFN:units = "" ;
float CFN1(Time) ;
CFN1:description = "extrapolation constant" ;
CFN1:units = "" ;
float Q2(Time, south_north, west_east) ;
Q2:description = "QV at 2 M" ;
Q2:units = "kg kg-1" ;
float T2(Time, south_north, west_east) ;
T2:description = "TEMP at 2 M" ;
T2:units = "K" ;
float TH2(Time, south_north, west_east) ;
TH2:description = "POT TEMP at 2 M" ;
TH2:units = "K" ;
float PSFC(Time, south_north, west_east) ;
PSFC:description = "SFC PRESSURE" ;
PSFC:units = "Pa" ;
float U10(Time, south_north, west_east) ;
U10:description = "U at 10 M" ;
U10:units = "m s-1" ;
float V10(Time, south_north, west_east) ;
V10:description = "V at 10 M" ;
V10:units = "m s-1" ;
float RDX(Time) ;
RDX:description = "INVERSE X GRID LENGTH" ;
RDX:units = "" ;
float RDY(Time) ;
RDY:description = "INVERSE Y GRID LENGTH" ;
RDY:units = "" ;
float RESM(Time) ;
RESM:description = "TIME WEIGHT CONSTANT FOR SMALL STEPS" ;
RESM:units = "" ;
WRF-ARW V3: User’s Guide
5-64
MODEL
float ZETATOP(Time) ;
ZETATOP:description = "ZETA AT MODEL TOP" ;
ZETATOP:units = "" ;
float CF1(Time) ;
CF1:description = "2nd order extrapolation constant" ;
CF1:units = "" ;
float CF2(Time) ;
CF2:description = "2nd order extrapolation constant" ;
CF2:units = "" ;
float CF3(Time) ;
CF3:description = "2nd order extrapolation constant" ;
CF3:units = "" ;
int ITIMESTEP(Time) ;
ITIMESTEP:description = "" ;
ITIMESTEP:units = "" ;
float XTIME(Time) ;
XTIME:description = "minutes since simulation start" ;
XTIME:units = "" ;
float QVAPOR(Time, bottom_top, south_north, west_east) ;
QVAPOR:description = "Water vapor mixing ratio" ;
QVAPOR:units = "kg kg-1" ;
float QCLOUD(Time, bottom_top, south_north, west_east) ;
QCLOUD:description = "Cloud water mixing ratio" ;
QCLOUD:units = "kg kg-1" ;
float QRAIN(Time, bottom_top, south_north, west_east) ;
QRAIN:description = "Rain water mixing ratio" ;
QRAIN:units = "kg kg-1" ;
float LANDMASK(Time, south_north, west_east) ;
LANDMASK:description = "LAND MASK (1 FOR LAND, 0 FOR WATER)" ;
LANDMASK:units = "" ;
float TSLB(Time, soil_layers_stag, south_north, west_east) ;
TSLB:description = "SOIL TEMPERATURE" ;
TSLB:units = "K" ;
float SMOIS(Time, soil_layers_stag, south_north, west_east) ;
SMOIS:description = "SOIL MOISTURE" ;
SMOIS:units = "m3 m-3" ;
float SH2O(Time, soil_layers_stag, south_north, west_east) ;
SH2O:description = "SOIL LIQUID WATER" ;
SH2O:units = "m3 m-3" ;
float SEAICE(Time, south_north, west_east) ;
SEAICE:description = "SEA ICE FLAG" ;
SEAICE:units = "" ;
float XICEM(Time, south_north, west_east) ;
XICEM:description = "SEA ICE FLAG (PREVIOUS STEP)" ;
XICEM:units = "" ;
float SFROFF(Time, south_north, west_east) ;
SFROFF:description = "SURFACE RUNOFF" ;
SFROFF:units = "mm" ;
float UDROFF(Time, south_north, west_east) ;
UDROFF:description = "UNDERGROUND RUNOFF" ;
UDROFF:units = "mm" ;
int IVGTYP(Time, south_north, west_east) ;
IVGTYP:description = "DOMINANT VEGETATION CATEGORY" ;
IVGTYP:units = "" ;
int ISLTYP(Time, south_north, west_east) ;
ISLTYP:description = "DOMINANT SOIL CATEGORY" ;
ISLTYP:units = "" ;
float VEGFRA(Time, south_north, west_east) ;
VEGFRA:description = "VEGETATION FRACTION" ;
VEGFRA:units = "" ;
float GRDFLX(Time, south_north, west_east) ;
GRDFLX:description = "GROUND HEAT FLUX" ;
GRDFLX:units = "W m-2" ;
WRF-ARW V3: User’s Guide
5-65
MODEL
float SNOW(Time, south_north, west_east) ;
SNOW:description = "SNOW WATER EQUIVALENT" ;
SNOW:units = "kg m-2" ;
float SNOWH(Time, south_north, west_east) ;
SNOWH:description = "PHYSICAL SNOW DEPTH" ;
SNOWH:units = "m" ;
float RHOSN(Time, south_north, west_east) ;
RHOSN:description = " SNOW DENSITY" ;
RHOSN:units = "kg m-3" ;
float CANWAT(Time, south_north, west_east) ;
CANWAT:description = "CANOPY WATER" ;
CANWAT:units = "kg m-2" ;
float SST(Time, south_north, west_east) ;
SST:description = "SEA SURFACE TEMPERATURE" ;
SST:units = "K" ;
float QNDROPSOURCE(Time, bottom_top, south_north, west_east) ;
QNDROPSOURCE:description = "Droplet number source" ;
QNDROPSOURCE:units = " /kg/s" ;
float MAPFAC_M(Time, south_north, west_east) ;
MAPFAC_M:description = "Map scale factor on mass grid" ;
MAPFAC_M:units = "" ;
float MAPFAC_U(Time, south_north, west_east_stag) ;
MAPFAC_U:description = "Map scale factor on u-grid" ;
MAPFAC_U:units = "" ;
float MAPFAC_V(Time, south_north_stag, west_east) ;
MAPFAC_V:description = "Map scale factor on v-grid" ;
MAPFAC_V:units = "" ;
float MAPFAC_MX(Time, south_north, west_east) ;
MAPFAC_MX:description = "Map scale factor on mass grid, x direction" ;
MAPFAC_MX:units = "" ;
float MAPFAC_MY(Time, south_north, west_east) ;
MAPFAC_MY:description = "Map scale factor on mass grid, y direction" ;
MAPFAC_MY:units = "" ;
float MAPFAC_UX(Time, south_north, west_east_stag) ;
MAPFAC_UX:description = "Map scale factor on u-grid, x direction" ;
MAPFAC_UX:units = "" ;
float MAPFAC_UY(Time, south_north, west_east_stag) ;
MAPFAC_UY:description = "Map scale factor on u-grid, y direction" ;
MAPFAC_UY:units = "" ;
float MAPFAC_VX(Time, south_north_stag, west_east) ;
MAPFAC_VX:description = "Map scale factor on v-grid, x direction" ;
MAPFAC_VX:units = "" ;
float MF_VX_INV(Time, south_north_stag, west_east) ;
MF_VX_INV:description = "Inverse map scale factor on v-grid, x direction"
MF_VX_INV:units = "" ;
float MAPFAC_VY(Time, south_north_stag, west_east) ;
MAPFAC_VY:description = "Map scale factor on v-grid, y direction" ;
MAPFAC_VY:units = "" ;
float F(Time, south_north, west_east) ;
F:description = "Coriolis sine latitude term" ;
F:units = "s-1" ;
float E(Time, south_north, west_east) ;
E:description = "Coriolis cosine latitude term" ;
E:units = "s-1" ;
float SINALPHA(Time, south_north, west_east) ;
SINALPHA:description = "Local sine of map rotation" ;
SINALPHA:units = "" ;
float COSALPHA(Time, south_north, west_east) ;
COSALPHA:description = "Local cosine of map rotation" ;
COSALPHA:units = "" ;
float HGT(Time, south_north, west_east) ;
HGT:description = "Terrain Height" ;
HGT:units = "m" ;
WRF-ARW V3: User’s Guide
5-66
MODEL
float HGT_SHAD(Time, south_north, west_east) ;
HGT_SHAD:description = "Height of orographic shadow" ;
HGT_SHAD:units = "m" ;
float TSK(Time, south_north, west_east) ;
TSK:description = "SURFACE SKIN TEMPERATURE" ;
TSK:units = "K" ;
float P_TOP(Time) ;
P_TOP:description = "PRESSURE TOP OF THE MODEL" ;
P_TOP:units = "Pa" ;
float MAX_MSTFX(Time) ;
MAX_MSTFX:description = "Max map factor in domain" ;
MAX_MSTFX:units = "" ;
float MAX_MSTFY(Time) ;
MAX_MSTFY:description = "Max map factor in domain" ;
MAX_MSTFY:units = "" ;
float RAINC(Time, south_north, west_east) ;
RAINC:description = "ACCUMULATED TOTAL CUMULUS PRECIPITATION" ;
RAINC:units = "mm" ;
float RAINNC(Time, south_north, west_east) ;
RAINNC:description = "ACCUMULATED TOTAL GRID SCALE PRECIPITATION" ;
RAINNC:units = "mm" ;
float PRATEC(Time, south_north, west_east) ;
PRATEC:description = "PRECIP RATE FROM CUMULUS SCHEME" ;
PRATEC:units = "mm s-1" ;
float RAINCV(Time, south_north, west_east) ;
RAINCV:description = "TIME-STEP CUMULUS PRECIPITATION" ;
RAINCV:units = "mm" ;
float SNOWNC(Time, south_north, west_east) ;
SNOWNC:description = "ACCUMULATED TOTAL GRID SCALE SNOW AND ICE" ;
SNOWNC:units = "mm" ;
float GRAUPELNC(Time, south_north, west_east) ;
GRAUPELNC:description = "ACCUMULATED TOTAL GRID SCALE GRAUPEL" ;
GRAUPELNC:units = "mm" ;
float EDT_OUT(Time, south_north, west_east) ;
EDT_OUT:description = "EDT FROM GD SCHEME" ;
EDT_OUT:units = "" ;
float SWDOWN(Time, south_north, west_east) ;
SWDOWN:description = "DOWNWARD SHORT WAVE FLUX AT GROUND SURFACE" ;
SWDOWN:units = "W m-2" ;
float GLW(Time, south_north, west_east) ;
GLW:description = "DOWNWARD LONG WAVE FLUX AT GROUND SURFACE" ;
GLW:units = "W m-2" ;
float OLR(Time, south_north, west_east) ;
OLR:description = "TOA OUTGOING LONG WAVE" ;
OLR:units = "W m-2" ;
float XLAT(Time, south_north, west_east) ;
XLAT:description = "LATITUDE, SOUTH IS NEGATIVE" ;
XLAT:units = "degree_north" ;
float XLONG(Time, south_north, west_east) ;
XLONG:description = "LONGITUDE, WEST IS NEGATIVE" ;
XLONG:units = "degree_east" ;
float XLAT_U(Time, south_north, west_east_stag) ;
XLAT_U:description = "LATITUDE, SOUTH IS NEGATIVE" ;
XLAT_U:units = "degree_north" ;
float XLONG_U(Time, south_north, west_east_stag) ;
XLONG_U:description = "LONGITUDE, WEST IS NEGATIVE" ;
XLONG_U:units = "degree_east" ;
float XLAT_V(Time, south_north_stag, west_east) ;
XLAT_V:description = "LATITUDE, SOUTH IS NEGATIVE" ;
XLAT_V:units = "degree_north" ;
float XLONG_V(Time, south_north_stag, west_east) ;
XLONG_V:description = "LONGITUDE, WEST IS NEGATIVE" ;
XLONG_V:units = "degree_east" ;
WRF-ARW V3: User’s Guide
5-67
MODEL
float ALBEDO(Time, south_north, west_east) ;
ALBEDO:description = "ALBEDO" ;
ALBEDO:units = "-" ;
float ALBBCK(Time, south_north, west_east) ;
ALBBCK:description = "BACKGROUND ALBEDO" ;
ALBBCK:units = "" ;
float EMISS(Time, south_north, west_east) ;
EMISS:description = "SURFACE EMISSIVITY" ;
EMISS:units = "" ;
float TMN(Time, south_north, west_east) ;
TMN:description = "SOIL TEMPERATURE AT LOWER BOUNDARY" ;
TMN:units = "K" ;
float XLAND(Time, south_north, west_east) ;
XLAND:description = "LAND MASK (1 FOR LAND, 2 FOR WATER)" ;
XLAND:units = "" ;
float UST(Time, south_north, west_east) ;
UST:description = "U* IN SIMILARITY THEORY" ;
UST:units = "m s-1" ;
float PBLH(Time, south_north, west_east) ;
PBLH:description = "PBL HEIGHT" ;
PBLH:units = "m" ;
float HFX(Time, south_north, west_east) ;
HFX:description = "UPWARD HEAT FLUX AT THE SURFACE" ;
HFX:units = "W m-2" ;
float QFX(Time, south_north, west_east) ;
QFX:description = "UPWARD MOISTURE FLUX AT THE SURFACE" ;
QFX:units = "kg m-2 s-1" ;
float LH(Time, south_north, west_east) ;
LH:description = "LATENT HEAT FLUX AT THE SURFACE" ;
LH:units = "W m-2" ;
float SNOWC(Time, south_north, west_east) ;
SNOWC:description = "FLAG INDICATING SNOW COVERAGE (1 FOR SNOW COVER)" ;
SNOWC:units = "" ;
Special WRF Output Variables
WRF model outputs the state variables defined in the Registry file, and these state
variables are used in the model's prognostic equations. Some of these variables are
perturbation fields. Therefore some definition for reconstructing meteorological variables
is necessary. In particular, the definitions for the following variables are:
total geopotential
total geopotential height in m
total potential temperature in_ K
total pressure in mb
wind compoments, grid relative
surface pressure in Pa
surface winds, grid relative
surface temperature and mixing ratio
WRF-ARW V3: User’s Guide
PH + PHB
( PH + PHB ) / 9.81
T + 300
( P + PB ) * 0.01
U, V
psfc
U10, V10 (valid at mass points)
T2, Q2
5-68
MODEL
The definition for map projection options:
map_proj
=
1: Lambert Conformal
2: Polar Stereographic
3: Mercator
6: latitude and longitude (including global)
List of Global Attributes
// global attributes:
:TITLE = " OUTPUT FROM WRF V3.2 MODEL" ;
:START_DATE = "2000-01-24_12:00:00" ;
:SIMULATION_START_DATE = "2000-01-24_12:00:00" ;
:WEST-EAST_GRID_DIMENSION = 74 ;
:SOUTH-NORTH_GRID_DIMENSION = 61 ;
:BOTTOM-TOP_GRID_DIMENSION = 28 ;
:DX = 30000.f ;
:DY = 30000.f ;
:GRIDTYPE = "C" ;
:DIFF_OPT = 1 ;
:KM_OPT = 4 ;
:DAMP_OPT = 0 ;
:KHDIF = 0.f ;
:KVDIF = 0.f ;
:MP_PHYSICS = 3 ;
:RA_LW_PHYSICS = 1 ;
:RA_SW_PHYSICS = 1 ;
:SF_SFCLAY_PHYSICS = 1 ;
:SF_SURFACE_PHYSICS = 2 ;
:BL_PBL_PHYSICS = 1 ;
:CU_PHYSICS = 1 ;
:SURFACE_INPUT_SOURCE = 1 ;
:SST_UPDATE = 0 ;
:GRID_FDDA = 1 ;
:GFDDA_INTERVAL_M = 360 ;
:GFDDA_END_H = 24 ;
:SGFDDA_INTERVAL_M = 0 ;
:SGFDDA_END_H = 0 ;
:SF_URBAN_PHYSICS = 0 ;
:FEEDBACK = 1 ;
:SMOOTH_OPTION = 0 ;
:SWRAD_SCAT = 1.f ;
:W_DAMPING = 0 ;
:MOIST_ADV_OPT = 1 ;
:SCALAR_ADV_OPT = 1 ;
:TKE_ADV_OPT = 1 ;
:DIFF_6TH_OPT = 0 ;
:DIFF_6TH_FACTOR = 0.12f ;
:OBS_NUDGE_OPT = 0 ;
:BUCKET_MM = -1.f ;
:BUCKET_J = -1.f ;
:PREC_ACC_DT = 0.f ;
:OMLCALL = 0 ;
:ISFTCFLX = 0 ;
:WEST-EAST_PATCH_START_UNSTAG = 1 ;
:WEST-EAST_PATCH_END_UNSTAG = 73 ;
WRF-ARW V3: User’s Guide
5-69
MODEL
:WEST-EAST_PATCH_START_STAG = 1 ;
:WEST-EAST_PATCH_END_STAG = 74 ;
:SOUTH-NORTH_PATCH_START_UNSTAG = 1 ;
:SOUTH-NORTH_PATCH_END_UNSTAG = 60 ;
:SOUTH-NORTH_PATCH_START_STAG = 1 ;
:SOUTH-NORTH_PATCH_END_STAG = 61 ;
:BOTTOM-TOP_PATCH_START_UNSTAG = 1 ;
:BOTTOM-TOP_PATCH_END_UNSTAG = 27 ;
:BOTTOM-TOP_PATCH_START_STAG = 1 ;
:BOTTOM-TOP_PATCH_END_STAG = 28 ;
:GRID_ID = 1 ;
:PARENT_ID = 0 ;
:I_PARENT_START = 1 ;
:J_PARENT_START = 1 ;
:PARENT_GRID_RATIO = 1 ;
:DT = 180.f ;
:CEN_LAT = 34.83002f ;
:CEN_LON = -81.03f ;
:TRUELAT1 = 30.f ;
:TRUELAT2 = 60.f ;
:MOAD_CEN_LAT = 34.83002f ;
:STAND_LON = -98.f ;
:POLE_LAT = 90.f ;
:POLE_LON = 0.f ;
:GMT = 12.f ;
:JULYR = 2000 ;
:JULDAY = 24 ;
:MAP_PROJ = 1 ;
:MMINLU = "USGS" ;
:NUM_LAND_CAT = 24 ;
:ISWATER = 16 ;
:ISLAKE = -1 ;
:ISICE = 24 ;
:ISURBAN = 1 ;
:ISOILWATER = 14 ;
WRF-ARW V3: User’s Guide
5-70
MODEL
WRF-ARW V3: User’s Guide
5-71
Download