Best Practices for namelist.wps Settings


See below the default namelist.wps file used for running the WRF Preprocessing system (WPS), which includes geogrid.exe, ungrib.exe, and metgrid.exe. Further below are namelist parameter descriptions and suggested practices, along with some additional options that could be useful.

In the below file, some parameters are domain-dependent and therefore expect a setting for each domain, and others only expect a single entry. The number of domains used is determined by max_dom, whose settings tells WPS how many domains to process. It will only read the entries for the number of columns that match max_dom.


Important

Do not remove information in additional columns and Do not add multiple settings for single setting parameters. Doing so will create a running error.


&share
 wrf_core = 'ARW',
 max_dom = 2,
 start_date = '2019-09-04_12:00:00','2019-09-04_12:00:00',
 end_date   = '2019-09-06_00:00:00','2019-09-04_12:00:00',
 interval_seconds = 10800
/

&geogrid
 parent_id         =   1,   1,
 parent_grid_ratio =   1,   3,
 i_parent_start    =   1,  53,
 j_parent_start    =   1,  25,
 e_we              =  150, 220,
 e_sn              =  130, 214,
 geog_data_res = 'default','default',
 dx = 15000,
 dy = 15000,
 map_proj = 'lambert',
 ref_lat   =  33.00,
 ref_lon   = -79.00,
 truelat1  =  30.0,
 truelat2  =  60.0,
 stand_lon = -79.0,
 geog_data_path = '/glade/work/wrfhelp/WPS_GEOG/'
/

&ungrib
 out_format = 'WPS',
 prefix = 'FILE',
/

&metgrid
 fg_name = 'FILE'
/



&share Namelist Record


parameter name

Description

Notes & Best Practice(s)

wrf_core

A character string to specify using the WRF-ARW or WRF-NMM

Leave this set to ARW. NMM is no longer supported.

max_dom

An integer specifying the total number of domains/nests, including the parent domain, to be used in the simulation

Nested domains are necessary when scaling down from coarse first-guess (input) data to a finer resolution. Recommended ratios for coarse input data resolution to the parent domain are odd ratios of 3:1 or 5:1. For example, if 3 km resolution (dx/dy) is necessary to resolve the intended features, and meteorological input data have a resolution of 27 km. To use a 3:1 ratio (parent_grid_ratio), domain 01 should be around 9 km (dx=9000), meaning the nest domain will have a resolution of 3 km grid spacing. In this case, max_dom=2.

start_date

A string of numbers (format: YYYY-MM-DD_hh:mm:ss) specifying the beginning date and time of the simulation

This should be set to the beginning date/time of the simulation. This includes spin-up time. Input meteorological files must be available for all times, from this setting, to the setting for end_date

end_date

A string of numbers (format: YYYY-MM-DD_hh:mm:ss) specifying the ending date and time of the simulation

This should be set to the ending date/time of the simulation. Input meteorological files must be available for all times, from the setting for start_date, to this date/time

Note that in the above namelist, end_date for domain 02 is set to the start_date. Unless using the sst_update option in WRF, or using a nudging option, there is no need to run WPS for the entire time for nests because nests obtain their boundary condition information from the parent

interval_seconds

The temporal interval (in seconds) in which the input data are available (e.g., if data is available at 3-hour intervals, interval_settings should be set to 10800

It is recommended to use the highest time frequency data available

active_grid

A list of logical values specifying, for each grid, whether that grid should be processed by geogrid and metgrid. Default value is true

This parameter is not included in the default namelist.wps file, as it is optional.




&geogrid Namelist Record


parameter name

Description

Notes & Best Practice(s)

parent_id

The domain number (ID) of each domain’s parent

The coarsest domain (d01) should be set to 1

A less-traditional nesting set-up example is parent_id=1,1,2,1, where there are four domains. Both d02 and d04 have d01 as a parent, while d03 has d02 as a parent

parent_grid_ratio

The nesting ratio relative to the domain’s parent

parent_grid_ratio should be set to 1 for the coarsest domain (domain 01)

Recommended ratios between domain resolution are 3:1 or 5:1

Even ratios are not recommended because it is best to have a center grid cell for the fine domain that corresponds with the center of the coarse domain

Note that, for e.g., assuming a 3:1 ratio using the same number of grid cells (e_we and e_sn) for the parent and nest domains, the fine grid will require 3x as many time steps to keep the pace of the coarse domain - keep this in mind when considering computation cost

i_parent_start
j_parent_start

The parent domain coordinates at the x and y (or i and j) location that overlaps the starting point for the nest in the i and j directions

The start location for all domains is always in the lower left or SW corner of the domain

i_parent_start and j_parent_start should be set to 1 for the coarsest domain (d01)

Try to keep nest boundaries away from coarse domain boundaries - as a rough approximation, keep about 1/3 of the coarse-grid domain surrounding each side of the nest - this does not have to be exact, and the nest does not have to be perfectly centered, but this helps to prevent boundary issues during wrf.exe; If prevailing winds are westerly and the nest will not be centered, it is better to place the nest further away from the west boundary, than the east.

Try to keep nest boundaries away from complex terrain to prevent instability (CFL) errors during wrf.exe

When using nests, start by setting up one domain, then use a program such as ncview or WPS/util/plotgrids_new.ncl to explore the nest starting and ending locations of the coarse domain. Nest domain dimensions will be (ending index - starting index)*3+1

e_we
e_sn

Each domain’s full west-east and south-north dimensions (or grid spaces)

For nested domains e_we and e_sn must be one greater than an integer multiple of the nest’s parent_grid_ratio. This ensures that a nest always starts and ends on a parent grid point. (i.e., e_we=n*parent_grid_ratio+1 for some integer n)

Domains should not be smaller than 100x100 grid spaces. Note that there will be about 10 grid points (minimum of 5) on each side, in the boundary zone. If domains are too small, the solution will be determined by forcing data, which defeats the purpose of running a simulation.

When considering the size of the coarse domain, there is no need to be economical. Doubling the size of the coarse grid domain will only result in a 25% nested forecast time increase. It is also important to consider the speed at which systems are moving through the simulated region. A multi-day forecast needs a much larger domain than a short forecast. If cost is prohibitive, consider adding an external domain.

geog_data_res

Resolution of input static geographical data to be used for geogrid.exe. The default setting uses MODIS IGBP 21-category data

When using USGS static terrestrial data, instead of the default MODIS data, geog_data_res should be specified as: geog_data_res = ‘usgs_30s+default’, ‘usgs_30s+default’

Prior to V3.8 USGS was the default. If using a version of WPS prior to V3.8 and want to use the default USGS data, it is only necessary to specify: geog_data_res = ‘10m’, ‘2m’, ’30s’

Prior to V3.8, to use MODIS data, specify: geog_data_res = ‘modis_30s+10m’, ‘modis_30s+2m’, ‘modis_30s+30s’

Available resolutions are 10m (~19km), 5m (~9km), 2m (~4km), and 30s (~0.9km)

When there are multiple resolutions available for geographical input data, choose a resolution that is slightly better than the grid resolution. For example, if the grid resolution is 9km, it would be ideal to use 2 minute static data

dx
dy

Grid distance (or grid resolution) in the x and y directions

This is given in meters for the Lambert, Polar, and Mercator projections, and in degrees for the ‘lat-lon’ projection

Only the coarse domain resolution needs to be specified - nest domains are calculated based on parent_grid_ratio.

It is recommended that dx and dy have the same value for Mercator, Polar, and Lambert projections.

See the description for parent_grid_ratio for relevant/useful information for this parameter.

map_proj

A character string specifying the projection of the simulation domain; accepted projections are ‘lambert’, ‘polar’, ‘mercator’, and ‘lat-lon.’

All domains must use the same projection.

lambert: well-suited for mid-latitudes; domain cannot contain poles; domain cannot be periodic in west-east direction

mercator: well-suited for low-latitudes; may be used for a “channel” domain (periodic in west-east direction)

polar: good for high-latitude domains, especially if the domain contains a pole

lat-lon: also called cylindrical equidistant; required for global domains (but does not have to be global); can be used in its normal or rotated aspect.

It is best to check the range of the map scale factor (e.g., MAPFRAC_M for the map factor in the center of a grid cell) after running geogrid.exe (this can be checked easily with the ncview program). Values should be close to 1 to ensure the projection is not causing distortion.

ref_lat
ref_lon

Real values specifying the latitude and longitude of a location whose (i,j) location in the simulation is known

It is recommended that these are set to the center of the coarse domain - To change this, ref_x and ref_y must also be specified - see the WPS chapter of the WRF User’s Guide for more information.

truelat1

A real value specifying the first true latitude for the Lambert conformal conic projection, or the true latitude for the polar stereographic projection, or the Mercator projection

truelat2

A real value specifying the second true latitude for the Lambert conformal conic projection

stand_lon

A real value specifying the longitude that is parallel with the y-axis in conic and azimuthal projections

If this longitude is set to the same value as ref_lon, the coarsest domain will be centered.

geog_data_path

A string that represents the location where the static geographical data is stored

It is best to set this to the absolute path, as occasionally problems can occur when using relative paths or symbolic links.

opt_geog_tbl_path

A string representng the location where the desired GEOGRID.TBL is stored

This is an optional parameter that can be useful when using shared compiled code.




&ungrib Namelist Record


parameter name

Description

Notes & Best Practice(s)

out_format

The file format of the intermediate file

For WRF-ARW this should always be set to WPS

prefix

The prefix that will be assigned to intermediate files (produced from the ungrib.exe program)

This can be left set to the default FILE or can be changed to any name preferred

If using more than one type of input data, and will need to run ungrib twice, consider setting this to something that is meaningful to the data type (e.g., SST for sea surface temperature data).




&metgrid Namelist Record


parameter name

Description

Notes & Best Practice(s)

fg_name

The prefix of the intermediate files

To combine multiple data sources, list all prefixes (e.g., fg_name = ‘FILE’,’SST’)

When multiple path-prefixes are given, and the same meteorological field is available from more than one of the sources, data from the last-specified source takes priority over all preceding sources.

constants_name

A list of character strings specifying the path and full filename of ungribbed data files which are time-invariant

The path may be relative or absolute
The filename should be the complete filename

Since the data are assumed to be time-invariant, no date will be appended to the specified filename

The default value is an empty list (i.e., no constant fields)

This is an optional namelist parameter.

opt_metgrid_tbl_path

A string representing the location where the desired METGRID.TBL is stored

This is an optional parameter that can be useful when using shared compiled code.

opt_output_from_metgrid_path

A string representing the location where metgrid output (met_em* files) should be stored

This is an optional namelist parameter that can be useful when running in a shared directory, when permission settings do not allow writing to the WPS/ directory, of if sufficient storage is not available to write the files to the WPS/ directory.