======================================== 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. | .. code-block:: &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 ====================== | .. csv-table:: :escape: \ :header: parameter name, Description, Notes & Best Practice(s) :widths: 15, 40, 45 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 |br| |br| 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 ======================== | .. csv-table:: :escape: \ :header: parameter name, Description, Notes & Best Practice(s) :widths: 15, 40, 45 parent_id, The domain number (ID) of each domain's parent, The coarsest domain (d01) should be set to 1 |br| |br| 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) |br| |br| Recommended ratios between domain resolution are 3:1 or 5:1 |br| |br| 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 |br| |br| 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 |br| 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 |br| |br| *i_parent_start* and *j_parent_start* should be set to *1* for the coarsest domain (d01) |br| |br| 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. |br| |br| Try to keep nest boundaries away from complex terrain to prevent instability (CFL) errors during wrf.exe |br| |br| When using nests\, start by setting up one domain\, then use a program such as `ncview <../online_learning/online_tutorial/ncview.html>`_ 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 |br| 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*) |br| |br| 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. |br| |br| 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'* |br| |br| 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'* |br| |br| Prior to V3.8\, to use MODIS data\, specify: *geog_data_res = 'modis_30s+10m'\, 'modis_30s+2m'\, 'modis_30s+30s'* |br| |br| Available resolutions are 10m (~19km)\, 5m (~9km)\, 2m (~4km)\, and 30s (~0.9km) |br| |br| 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 |br| 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 |br| |br| Only the coarse domain resolution needs to be specified - nest domains are calculated based on *parent_grid_ratio*. |br| |br| It is recommended that dx and dy have the same value for Mercator\, Polar\, and Lambert projections. |br| |br| 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. |br| |br| lambert: well-suited for mid-latitudes; domain cannot contain poles; domain cannot be periodic in west-east direction |br| |br| mercator: well-suited for low-latitudes; may be used for a "channel" domain (periodic in west-east direction) |br| |br| polar: good for high-latitude domains\, especially if the domain contains a pole |br| |br| 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. |br| |br| 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 |br| 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 ======================= | .. csv-table:: :escape: \ :header: parameter name, Description, Notes & Best Practice(s) :widths: 15, 40, 45 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 |br| |br| 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 ======================== | .. csv-table:: :escape: \ :header: parameter name, Description, Notes & Best Practice(s) :widths: 15, 40, 45 fg_name, The prefix of the intermediate files, To combine multiple data sources\, list all prefixes (e.g.\, *fg_name = 'FILE'\,'SST'*) |br| |br| 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 |br| The filename should be the complete filename |br| |br| Since the data are assumed to be time-invariant\, no date will be appended to the specified filename |br| |br| The default value is an empty list (i.e.\, no constant fields) |br| |br| 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. | | | | |