General Info

About wrfhelp

wrf-news list

WRF Workshop

WRF Tutorial

 

 

 

namelist.input: Best Practices

The following is a basic namelist.input file that is used for running the WRF model (which includes real.exe, wrf.exe, tc.exe, and ndown.exe). Click each listed variable for a description of the function, as well as best-practices for each, if applicable.

In namelist.input, multiple columns are used for multiple domains; however max_dom determines how many columns will be used. For example, if you use 3 columns, but only set max_dom = 2, the last column will be ignored.
NOTE: Not all parameters have mulitple columns. In the descriptions below, it has been specified if a parameter is to be used for multiple domains (max_dom). If this is not shown, then you must only specify one value (in the first column), or you will receive a namelist error upon running.

&time_control
run_days = 0
run_hours = 12,
run_minutes = 0,
run_seconds = 0,
start_year = 2000, 2000, 2000,
start_month = 01, 01, 01,
start_day = 24, 24, 24,
start_hour = 12, 12, 12,
start_minute = 00, 00, 00,
start_second = 00, 00, 00,
end_year = 2000, 2000, 2000,
end_month = 01, 01, 01,
end_day = 25, 25, 25,
end_hour = 12, 12, 12,
end_minute = 00, 00, 00,
end_second = 00, 00, 00,
interval_seconds = 21600,
input_from_file = .true.,.true.,.true.,
history_interval = 180, 60, 60,
frames_per_outfile = 1000, 1000, 1000,
restart = .false.,
restart_interval = 5000,
io_form_history = 2,
io_form_restart = 2,
io_form_input = 2,
io_form_boundary = 2,
debug_level = 0,
/

&domains
time_step = 180,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 1,
e_we = 74, 112, 94
e_sn = 61, 97, 91,
e_vert = 30, 30, 30,
p_top_requested = 5000,
num_metgrid_levels = 27
num_metgrid_soil_levels = 4
dx = 30000, 10000, 3333.33,
dy = 30000, 10000, 3333.33,
grid_id = 1, 2, 3,
parent_id = 0, 1, 2,
i_parent_start = 1, 31, 30,
j_parent_start = 1, 17, 30,
parent_grid_ratio = 1, 3, 3,
feedback = 1,
smooth_option = 0,
/

&physics
mp_physics = 3, 3, 3,
ra_lw_physics = 1, 1, 1,
ra_sw_physics = 1, 1, 1,
radt = 30, 30, 30,
sf_sfclay_physics = 1, 1, 1,
sf_surface_physics = 2, 2, 2,
num_soil_layers = 4,
bl_pbl_physics = 1, 1, 1,
bldt = 0, 0, 0,
cu_physics = 1, 1, 0,
cudt = 5, 5, 5,
isfflx = 1,
ifsnow = 1,
icloud = 1,
surface_input_source = 3,
num_land_cat = 21,
sf_urban_physics = 0, 0, 0,
sf_ocean_physics = 0,
/

&dynamics
w_damping = 0,
diff_opt = 1, 1, 1,
km_opt = 4, 4, 4,
diff_6th_opt = 0, 0, 0,
diff_6th_factor = 0.12, 0.12, 0.12,
base_temp = 290.,
damp_opt = 0,
z_damp = 5000., 5000., 5000.,
dampcoef = 0.2, 0.2, 0.2,
damp_opt = 0, 0, 0,
damp_opt = 0, 0, 0,
non_hydrostatic = .true., .true., .true.,
moist_adv_opt = 1, 1,1,
scalar_adv_opt = 1, 1,1,
/

&bdy_control
spec_bdy_width = 5,
spec_zone = 1,
relax_zone = 4,
specified = .true., .false., .false.,
nested = .false., .true., .true.,
/



&time_control

run_days
run_hours
run_minutes
run_seconds
How long to run the model simulation.

When running real.exe, these parameters are ignored, and only the beginning/ending date/time are used. When running wrf.exe, these values will overwrite the end dates if they are less than the end dates. If you simply leave these all '0' wrf.exe will look at the beginning/ending date/time.

Note1: This is not domain-dependent.

Note2: If the run is to be longer than 1 day, you may choose to use both run days and run hours, or just run hours (e.g., if the total run length is 36 hours, you may set run_days = 1, and run_hours = 12, or just simply run_days = 0 and run_hours = 36).

back to top of page
start_year
start_month
start_day
start_hour
start_minute
start_second

(max_dom)
The starting time for the model domains.

As mentioned above, these settings will override the run_* settings for a real.exe run.

Note: In general it is okay for a nest start time to be later than its parent domain.

back to top of page
end_year
end_month
end_day
end_hour
end_minute
end_second

(max_dom)
The ending time for the model domains.

As mentioned above, run_* settings (above) will override these values for a wrf.exe run.

back to top of page
interval_seconds
The periodic frequency of incoming data (in seconds).

Note: You must have met_em* files for all times you are processing.

back to top of page
input_from_file
(max_dom)
A logical that determines whether a nested run will have input files for domains other than d01.

Setting this to .true. for nested domains will allow the real.exe program to create wrfinput_d0* files for the nested domains (if this is set to .false., there will be no wrfinput_d0* files for the nested domains). These files will then be read-in as input during the wrf.exe step.

back to top of page
history_interval
(max_dom)
Frequency at which to write data to the history (wrfout) file. The default values are in minutes, but by adding an '_s' or '_h' to the end of the variable name (e.g., history_interval_s), you can change this to seconds or hours. The value can be different for different domains

Note: This will not determine the frequency to output a new history file. That will be determined by 'frames_per_outfile' (see below).

Best Practice
If you need to trouble-shoot to determine exactly where the model is crashing, it may be best to set this to output at every time_step.

back to top of page
frames_per_outfile
(max_dom)
How many time periods will be written to each history file.

Example 1 start time/date: 2005-08-29_00:00:00
run_hours = 6
history_interval = 180
frames_per_outfile = 1000
You will have only 1 output file (wrfout_d01_2005-08-29_00:00:00). The file will contain 3 output times (hour 00, hour 03, and hour 06)

Example 2 start time/date: 2005-08-29_00:00:00
run_hours = 6
history_interval = 180
frames_per_outfile = 1
You will have 3 output files (wrfout_d01_2005-08-29_00:00:00, wrfout_d01_2005-08-29_03:00:00, and wrfout_d01_2005-08-29_06:00:00). Each file will contain only 1 output time.

To see the times in each output file, use the command
ncdump -v Times wrfout_d0X_YYYY-MM-DD_hh:mm:ss
(obviously you will need to use the exact file name instead of the example above)
Best Practice
If running a moving nest, you should write one output per file in order to plot the right domains for the moving nests.

back to top of page
restart
A logical that determines whether this is a restart run. You can only use this if you have restart files (wrfrst*) from a previous run.

back to top of page
restart_interval
The interval at which you want restart files to be written.

Note: Restart files are always one time per file.

Best Practice
If you are running a very high-resolution run, or a very long run, it is wise to output restart files at a reasonable frequency in case the run stops in the middle for any reason. It is less-costly to start from a restart file, than to start the run from the beginning.

back to top of page
io_form_history
The output format in which the history file (wrfout_d0*) will be written

Available Options:
2 = netCDF (default; recommended)
1 = binary format (no supported post-processing software available)
4 = PHDF5 format (no supported post-processing software available)
5 = GRIB1 format
10 = GRIB2 format
11 = parallel netCDF format
102 = split netCDF (no supported post-processing software available)
This option is useful is you are running on a very large domain, causing files to exceed the 4 GB maximum, or if you need to write output very quickly. This is 1 file per processor.

Best Practice
Unless you have more experience, it's best to keep this set to 2.

back to top of page
io_form_restart
The output format in which the restart file (wrfrst_d0*) will be written

Available Options:
2 = netCDF (default; recommended)
102 = split netCDF
This option is useful is your domain sizes are larger than 500x500. This is easy to use for restart purposes (no experience necessary). This is 1 file per processor, and with a restart run, you must use the same number of processors you used for original run.

Best Practice
Unless you have more experience, it's best to keep this set to 2.

back to top of page
io_form_input
The format in which the input files (met_em_d0*) are in.

Available Options:
2 = netCDF (default; recommended)
102 = split netCDF (no supported post-processing software available)
This option allows the program real.exe to read-in split met_em* files, and write split wrfinput files. Note: There is no option for splitting the wrfbdy file. If you want to use this option, you must use the same number of processors when running WRF and real, which could be very limiting.


Best Practice
Unless you have more experience, it's best to keep this set to 2.

back to top of page
io_form_boundary
The format in which the boundary file (wrfbdy_d01) will be written.

Available Options:
2 = netCDF (default; recommended)
4 = PHDF5 format (no supported post-processing software available)
5 = GRIB1 format
10 = GRIB2 format
11 = parallel netCDF format


Best Practice
Unless you have more experience, it's best to keep this set to 2.

back to top of page
debug_level
Increasing values give more prints in the log files for the run.

Best Practice
In theory this could be helpful, but often we find that it does not provide any insight for error reasoning, and simply clutters a log file to make it more difficult to read. The default value of 0 is typically recommended, and if debugging is necessary, other options (such as configuring with -d or -D) are recommended.

back to top of page





&domains

time_step
Time step (in seconds) for integration.

Best Practice
It is recommended to use a value of 5-6xDX (in km) for a typical case. If you are using many vertical levels and/or with map-scale-factors much larger than 1, you will need to use a smaller time_step. If you are getting CFL errors that stop your run, this means your run has become unstable and you may need to decrease this value to about 4xDX (or perhaps even 3xDX). It makes things easier if you use a time step that evenly divides into your history_interval, so that your output times will be evenly spaced.

back to top of page
max_dom
The number of domains you wish to run.

The model will not read any more columns than the number specified here (so if you have 4 columns in your namelist, but have this set to 1, the model will only acknowledge the first column.

back to top of page
e_we
and
e_sn
(max_dom)
Each domain's full west-east and south-north dimensions (or grid spaces)

Example:
e_we = 201, 304,
e_sn = 188, 289,


    

Best Practice
These should be the same values as used when running WPS (and these values can be found in the met_em* files). See
Best Practices for namelist.wps for more details about this parameter.

back to top of page
e_vert
(max_dom)
The number of vertical (or Eta) levels onto which real.exe will interpolate the incoming data. This number must be the same for each domain.

The real.exe program will calculate reasonable levels from the number of levels requested. To see a list of these levels, use the command
ncdump -v ZNW file_name

To overwrite the levels calculated, you can use the eta_levels namelist parameter to specify the levels you want used (see more about this in chapter 5 of the
WRF Users' Guide.

Best Practice
It is not recommended to have fewer than 35 levels. Typically 40-60 levels is recommended. Higher model tops require more levels for a constant dZ.
back to top of page
p_top_requested
The pressure top (in Pa) to use in the model. This level must be available in the incoming WPS data.

Best Practice
The default and recommended value is 5000 Pa, and it is not suggested to use a level any lower (in the atmosphere) than this.

back to top of page
num_metgrid_levels
The number of incoming (from WPS input data) vertical levels. This is determined by the input data you are using.

Helpful Tip:
If you are unsure about the number of levels your data has, you can use the following command:
ncdump -h met_em.d01.<date> >& log.ncdump
and look for the value near the top of the log.ncdump file.

back to top of page
dx
and
dy
(max_dom)
Grid distance (or grid resolution) in the x and y directions.

Unlike in WPS (where the nest values are calculated based on the parent_grid_ratio), these values must be specified, but must still be accurate in accordance with the parent_grid_ratio.
Example:
max_dom = 3
parent_grid_ratio = 1, 3, 3
dx = 30000, 10000, 3333.33
dy = 30000, 10000, 3333.33
These values must also be the same as the input file (met_em.d0*) values. You can use the 'ncdump -h' command (similar to the example above) to determine this value for each domain, according to your input files.

Best Practice
See
Best Practices for namelist.wps for more details about this parameter.

back to top of page
grid_id
(max_dom)
The domain number. The coarsest grid should be set to 1.

In the example below, we show a more complicated example where we have 4 domains (numbered as shown - Note that we could have numbered them differently). For this example:
grid_id = 1, 2, 3, 4
    

back to top of page
parent_id
(max_dom)
The domain number of the nest's parent. The coarsest domain should be set to 1.

In the example below, we show a more complicated example where we have 4 domains (numbered as shown - Note that we could have numbered them differently). For this example:
grid_id = 1, 2, 3, 4
parent_id = 1, 1, 2, 1
You can see that d02 and d04 have d01 as a parent, while d03 has d02 as a parent.     

back to top of page
i_parent_start
and
j_parent_start
(max_dom)
The x and y coordinates of the lower left corner of the nest in the parent domain. For the coarsest domain, a value of 1 should be specified for both i and j. These values will be the same that you specified in WPS.

Example:
i_parent_start = 1, 31,
j_parent_start = 1, 17,


    

Best Practice
These values will be the same that you specified in WPS. See
Best Practices for namelist.wps for more details about this parameter.

back to top of page
parent_grid_ratio
(max_dom)
The nesting ratio relative to the domain's parent. For the coarsest domain, parent_grid_ratio should be set to 1.

These values should be the same values you used in namelist.wps.

Best Practice
See suggestions on the
namelist.wps best practices web page. It is recommended to keep the ratios the same for each domain, unless you are very knowledgeable of the model and have a good reason to not do so.

back to top of page
parent_time_step_ratio
(max_dom)
This is how the model defines time step for nest domains. For the coarsest domain, this should be set to 1.

Best Practice
It is not mandatory to match these values to the parent_grid_ratio. If you are somewhat unfamiliar with the model, it is best to set these to a 3:1 ratio. It is also recommended to keep the ratios the same for each domain, unless you are very knowledgeable of the model and have a good reason to not do so.

back to top of page
feedback
This determines whether feedback will be used when using nesting, and should be used to determine whether the run will be a one-way or two-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 fed back. If the parent_grid_ratio is even, an arbitrary choice of the southwest corner point value is used for feedback. This is the reason it is recommended to use an 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.

back to top of page
smooth_option
Determines whether smoothing is to be used for the parent domain in the area of the nest if feedback is on (feedback = 1). Three options are available:
0 = no smoothing
1 = 1-2-1 smoothing
2 = smoothing-desmoothing.
Best Practice
It is typically recommended to keep this option set to 0.

back to top of page





&physics

mp_physics
(max_dom)
Micro-physics option.

See the following references for more information:
Chapter 5 of the
WRF User's Guide for available options
Physics Presentation given at the WRF Tutorial, for details
Physics Reference Page for literature on individual schemes

Note
If you set different options for different domains, the model will pick the most complex one and use it for all domains.

Best Practice
User a simpler option for a coarser grid (e.g., WSM3 and WSM5), and a more complex option for high resolution runs.

back to top of page
ra_lw_physics
(max_dom)
Longwave radiation option - determines computation of clear-sky and cloud upward and downward radiation fluxes.

See the following references for more information:
Chapter 5 of the
WRF User's Guide for available options
Physics Presentation given at the WRF Tutorial, for details
Physics Reference Page for literature on individual schemes

Best Practice
This should be set to the same option for each domain. We recommend using the RRTMG option (option 4).

back to top of page
ra_sw_physics
(max_dom)
Longwave radiation option - determines computation of clear-sky and cloudy solar fluxes.

See the following references for more information:
Chapter 5 of the
WRF User's Guide for available options
Physics Reference Page for literature on individual schemes

Best Practice
This should be set to the same option for each domain. We recommend using the RRTMG option (option 4).

back to top of page
radt
(max_dom)
Minutes between radiation physics calls.

See
Physics Presentation given at the WRF Tutorial, for details

Best Practice
It is recommended to use 1 minute per km of dx (e.g., set to 10 for 10km parent domain). If you are running a high-resolution domain and compute time is a concern, then it is okay to use radt = 10-15 min, along with setting 'swint_opt'. Use the same value for all domains.

back to top of page
sf_sfclay_physics
(max_dom)
Surface layer physics option.

See the following references for more information:
Chapter 5 of the
WRF User's Guide for available options
Physics Reference Page for literature on individual schemes

Note
A given option may only work with a certain PBL option.

Best Practice
This should be set to the same option for each domain.

back to top of page
sf_surface_physics
(max_dom)
Land surface model (LSM) option.

See the following references for more information:
Chapter 5 of the
WRF User's Guide for available options
Physics Presentation given at the WRF Tutorial, for details
Physics Reference Page for literature on individual schemes

Note
This choice must be made prior to running real.exe. num_soil_layers must also match this option.

Best Practice
This should be set to the same option for each domain. If you decide to change this option later, make sure num_soil_layers is set correctly for the new option, and you will need to re-run real.exe.

back to top of page
num_soil_layers
Number of soil layers in the land surface model.

Best Practice
If you choose to use a different LSM later, you must make sure this value is set correctly for the new model, and you will need to re-run real.exe.

back to top of page
bl_pbl_physics
(max_dom)
Planetary boundary layer (PBL) option - used to distribute surface fluxes with boundary layer eddy fluxes and allow for PBL growth by entrainment.

See the following references for more information:
Chapter 5 of the
WRF User's Guide for available options
Physics Presentation given at the WRF Tutorial, for details
Physics Reference Page for literature on individual schemes

Best Practice
This option should be used when your domain grid size is > 500m.

back to top of page
bldt
(max_dom)
Minutes between boundary layer physics calls.

See
Physics Presentation given at the WRF Tutorial, for details

Best Practice
This should be set to the same option for each domain. The typical/recommended value is 0 (every time step).

back to top of page
cu_physics
(max_dom)
Cumulus parameterization option.

See the following references for more information:
Chapter 5 of the
WRF User's Guide for available options
Physics Presentation given at the WRF Tutorial, for details
Physics Reference Page for literature on individual schemes

Best Practice
For a grid size >10 km, a cumulus scheme is necessary. It is not necessary when the grid size is < 4km. In between 4km and 10km is a somewhat gray area, so avoid this range if possible. If you must use this size, however, you can try the GF and MSKF schemes (options 3 and 11), as these schemes are scale-aware.

back to top of page
cudt
Minutes between cumulus physics calls.

See
Physics Presentation given at the WRF Tutorial, for details

Best Practice
The typical/recommended value is every time step, as most cumulus schemes are cheap to run. Note: for the KF scheme this is also used for averaging time for vertical velocity trigger. This options is not used by the G3 or GD schemes.

back to top of page
isfflx
Option that determines heat and moisture fluxes from the surface.

Best Practice
Use this option if you wish to turn off surface sensible and latent heat fluxes for some of the surface physics options. It may also be used to control how surface fluxes are used in idealized simulations (e.g., LES).

Chapter 5 of the
WRF User's Guide for available options


back to top of page
ifsnow
This option can be turned off to remove snow effects for the simple soil model (sf_surface_physics = 1).

See chapter 5 of the
WRF User's Guide for available options


back to top of page
icloud
Option to compute cloud fraction for radiation.

See chapter 5 of the
WRF User's Guide for available options


back to top of page
surface_input_source
Where landuse and soil category data come from. Available options are:
1 = WPS/geogrid, but with dominant categories recomputed
2 = GRIB data from another model (only possible when VEGCAT/SOILCAT are in the met_em* files)
3 = use dominant land and soil categories from WPS/geogrid (default since V3.8)

back to top of page
num_land_cat
The number of land categories in the input static/geogrid data. This must match what's produced in WPS/geogrid. Available options are:
24: for USGS (default)
28: for USGS if including lake category
20: for MODIS
21: for MODIS if including lake category
40: for NCLD

back to top of page
sf_urban_physics
(max_dom)
Option that determines which urban effects are used.

See the following references for more information:
Chapter 5 of the
WRF User's Guide for available options
Physics Presentation given at the WRF Tutorial, for details
Physics Reference Page for literature on individual schemes

Best Practice
This value must be the same for each domain, and it must be set for each domain.

back to top of page
sf_ocean_physics
(max_dom)
Optional setting that determines which ocean model is used.

See the following references for more information:
Chapter 5 of the
WRF User's Guide for available options
Physics Presentation given at the WRF Tutorial, for details
Physics Reference Page for literature on individual schemes



back to top of page





&dynamics

w_damping
Vertical velocity damping flag. Options are 1=with damping; 0=without damping.

Best Practice
For real-time/operational runs, this should always be turned on for model stability (it is only activated when required. For budget studies, do not use this option.

back to top of page
diff_opt
(max_dom)
Turbulence and mixing option.

See chapter 5 of the
WRF User's Guide for available options

back to top of page
km_opt
(max_dom)
Eddy coefficient option.

See chapter 5 of the
WRF User's Guide for available options

back to top of page
diff_6th_opt
6th order numerical diffusion option.

See chapter 5 of the
WRF User's Guide for available options

back to top of page
diff_6th_factor
6th order numerical diffusion non-dimensional rate.

The maximum value is 1.0, which corresponds to complete removal of 2dx wave in one timestep.

back to top of page
base_temp
Base state sea-level (surface) temperature (in K).

This option can help to improve simulations when the model top is higher than 20 km (~ 50 mb). Note: This option is only available for real data, and em-only. This is a representative temperature at sea-level in the middle of your domain, regardless of the topography height at that point. Typical values range from 270-300 K. This value must stay the same through initialization, model runs, and restarts.

back to top of page
damp_opt
Upper-level damping flag.

See chapter 5 of the
WRF User's Guide for available options

back to top of page
zdamp
(max_dom)
Damping depth (in meters) from model top. (default is 5000.)

back to top of page
dampcoef
(max_dom)
Damping coefficient (also see damp_opt above)

back to top of page
khdif
(max_dom)
Horizontal diffusion constant (m^2/s)

back to top of page
kvdif
(max_dom)
Vertical diffusion constant (m^2/s)

back to top of page
non_hydrostatic
(max_dom)
Whether running the model in hydrostatic or non-hydrotstatic (default) mode.

back to top of page
moist_adv_opt
(max_dom)
Positive-definite or monotonic advection to help eliminate over/under prediction of moisture. Option are:
0 = advection with no bounds or filters in place
1 = positive-definite advection of moisure (default)
2 = monotonic option
back to top of page
scalar_adv_opt
(max_dom)
Positive-definite advection of scalars. Options are:
0 = advection with no bounds or filters in place
1 = positive-definite advection of moisure (default)
2 = monotonic option
back to top of page





&bdy_control

spec_bdy_width
The number of rows for specified boundary value nudging. This value is the total of 'spec_zone' and 'relax_zone' (see below).

Best Practice
A wider boundary zone may work better for coarser driving data.

back to top of page
spec_zone
The number of points in specified zone (specific boundary condition option).

Best Practice
Leave this set to the default of 1.

back to top of page
relax_zone
The number of points in relaxation zone (specific boundary condition option).

Best Practice
A wider boundary zone may work better for coarser driving data.

back to top of page
specified
(max_dom)
Specified boundary conditions.

The first row and column are specified with external model values (spec_zone = 1, which should not be changed). The rows and columns in relax_zone have values blended from an external model and WRF. The value of relax_zone may be changed, as long as spec_bdy_width = spec_zone + relax_zone. This can be used with periodic_x in tropical channel simulations.

Note:
This can only be turned on (.true.) for domain 01 - must be false for all other domains. This is for real data cases only.

back to top of page
nested
(max_dom)
Nested boundary conditions.

Note:
This must be set to .true. for nests. This can be used for real or idealized cases.

back to top of page
 

 

 
Home -- Model System -- User Support -- Doc / Pub -- Links -- Download -- WRF Real-time Forecast