WRF | WRF namelist.input: Best Practices
WRF namelist.input: Best Practices
https://www2.mmm.ucar.edu/wrf/users/namelist_best_prac_wrf.html
- 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.
- 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.
&domains
time_step
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.
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. It is not recommended to have fewer than 35 levels.** Typically 40-60 levels is recommended**.
p_top_requested
The pressure top (in Pa) to use in the model. This level must be available in the incoming WPS data. > The default and recommended value is 5000 Pa, and it is not suggested to use a level any lower (in the atmosphere) than this.
num_metgrid_levels
look for the value near the top of the log.ncdump file. > ncdump -h met_em.d01.
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.
usually, set is feedback = 0 (off)
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. It is typically recommended to keep this option set to 0.
&physics
mp_physics (max_dom)
WSM6 or ...
ra_lw_physics (max_dom)
This should be set to the same option for each domain. We recommend using the RRTMG option (option 4).
ra_sw_physics (max_dom)
This should be set to the same option for each domain. We recommend using the RRTMG option (option 4).
radt (max_dom)
Minutes between radiation physics calls. 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.
sf_sfclay_physics (max_dom)
Surface layer physics option. A given option may only work with a certain PBL option. This should be set to the same option for each domain.
sf_surface_physics (max_dom)
Land surface model (LSM) option. This choice must be made prior to running real.exe. num_soil_layers must also match this option. 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.
num_soil_layers
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.
bl_pbl_physics (max_dom)
This option should be used when your domain grid size is > 500m.
bldt (max_dom)
Minutes between boundary layer physics calls. This should be set to the same option for each domain. The typical/recommended value is 0 (every time step).
bldt (max_dom) = 0, ! minutes between boundary-layer physics calls
cu_physics (max_dom)
- 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.
cudt ?
Minutes between cumulus physics calls. Thetypical/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.
cudt (max_dom) = 0, ! minutes between cumulus physics calls
isfflx ?
Option that determines heat and moisture fluxes from the surface. 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).
1 |
|
isfflx = 1,
ifsnow ?
This option can be turned off to remove snow effects for the simple soil model (sf_surface_physics = 1).
1 |
|
ifsnow = 1,
icloud ?
Option to compute cloud fraction for radiation.
1 |
|
icloud = 1,
or consider the icloud = 3 that may be better.
surface_input_source
Where landuse and soil category data come from. Available options are: 1
2
3
4
5surface_input_source = 3, ! where landuse and soil category data come from:
1 = WPS/geogrid but with dominant categories recomputed
2 = GRIB data from another model (only possible
(VEGCAT/SOILCAT are in met_em files from WPS)
3 = use dominant land and soil categories from WPS/geogrid (default since 3.8)
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: 1
2
3
4
5num_land_cat = 21, ! number of land categories in input data.
24 - for USGS (default); 20 for MODIS
28 - for USGS if including lake category
21 - for MODIS if including lake category (default since 3.8)
40 - for NCLD
sf_urban_physics (max_dom)
This value must be the same for each domain, and it must be set for each domain.
&dynamics
w_damping ??
Vertical velocity damping flag. Options are 1=with damping; 0=without damping. 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.
1 |
|
diff_opt (max_dom) ?
Turbulence and mixing option.
1 |
|
diff_opt = 1, 1, 1,
km_opt (max_dom) ?
Eddy coefficient option.
1 |
|
km_opt = 4, 4, 4,
diff_6th_opt ?
6th order numerical diffusion option.
1 |
|
diff_6th_opt = 0, 0, 0,
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.
1 |
|
diff_6th_factor = 0.12, 0.12, 0.12,
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.
1 |
|
base_temp = 290.,
damp_opt ?
Upper-level damping flag.
1 |
|
damp_opt = 0,
zdamp (max_dom) ?
Damping depth (in meters) from model top. (default is 5000.)
1 |
|
z_damp = 5000., 5000., 5000.,
dampcoef (max_dom) ??
Damping coefficient (also see damp_opt above)
1 |
|
dampcoef = 0.2, 0.2, 0.2,
khdif (max_dom) ?
Horizontal diffusion constant (m^2/s)
1 |
|
kvdif (max_dom) ?
Vertical diffusion constant (m^2/s)
1 |
|
non_hydrostatic (max_dom) ??
Whether running the model in hydrostatic or non-hydrotstatic (default) mode.
1 |
|
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
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
&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). A wider boundary zone may work better for coarser driving data.
spec_bdy_width = 5,
spec_zone
The number of points in specified zone (specific boundary condition option). Leave this set to the default of 1.
spec_zone = 1,
relax_zone
The number of points in relaxation zone (specific boundary condition option). A wider boundary zone may work better for coarser driving data.
relax_zone = 4,
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.
This can only be turned on (.true.) for domain 01 - must be false for all other domains. This is for real data cases only.
specified = .true., .false., .false.,
nested (max_dom)
Nested boundary conditions. This must be set to .true. for nests. This can be used for real or idealized cases.
nested = .false., .true., .true.,