Chapter 5: WRF Model

Table of Contents

Introduction

The WRF model is a fully compressible and nonhydrostatic model (with a run-time 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 the 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 an initialization program (either for real-data, real.exe, or idealized data, ideal.exe; see Chapter 4), a numerical integration program (wrf.exe), a program to do one-way nesting (ndown.exe), and a program to do tropical storm bogussing (tc.exe). The WRF model, Version 3, supports a variety of capabilities. These include

 

Other References

 

 

Installing WRF

Before compiling the 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 the 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, gfortran or g95 compilers are are used on a Linux computer, make sure netCDF is installed using the same compiler. Use the NETCDF environment variable to point to the PGI/Intel/g95 compiled netCDF library.

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, unless you intend to use the compression capability from netCDF-4 (supported in V3.5. More info below).

The WRF source code tar file can be downloaded from http://www.mmm.ucar.edu/wrf/users/download/get_source.html. Once the tar file is unzipped (gunzip WRFV3.TAR.gz), and untared (tar –xf WRFV3.TAR), it will create a WRFV3/ directory. This contains:

Makefile

Top-level makefile

README

General information about the WRF/ARW core

README_test_cases

Explanation of the test cases

README.NMM

General information for the WRF/NMM core

README.DA

General information for WRFDA

README.rsl_output

Information for dealing with rsl files

README.io_config

Information for runtime IO

README.windtrubine

Information on using wind farm parameterization

README.hydro

Information on WRF-Hydro

Registry/

Directory for WRF Registry files

arch/

Directory where compile options are gathered

clean

script to clean created files and executables

compile

script for compiling the WRF code

configure

script to create the configure.wrf file for compiling

chem/

WRF chemistry, supported by NOAA/GSD

dyn_em/

Directory for ARW dynamics and numerics

dyn_exp/

Directory for a 'toy' dynamic core

dyn_nmm/

Directory for NMM dynamics and numerics, supported by DTC

external/

Directory that contains external packages, such as those for IO, time keeping and MPI

frame/

Directory that contains modules for the WRF framework

inc/

Directory that contains ‘include’ files

main/

Directory for main routines, such as wrf.F, and all executables after compilation

phys/

Directory for all physics modules

run/

Directory where one may run WRF

share/

Directory that contains mostly modules for the WRF mediation layer and WRF I/O

test/

Directory that contains test case directories, may be used to run WRF

tools/

Directory that contains tools for developers

The steps to compile and run the model are:

1.     configure: generate a configuration file for compilation

2.     compile: compile the code

3.     run the model

Go to the 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 a 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-pgi32

PHDF5 not set in environment. Will configure WRF for use without.

./configure:  WRF operating system set to "Linux" via environment variable $WRF_OS

Will use 'time' to report timing information

$JASPERLIB or $JASPERINC not found in environment, configuring to build without grib2 I/O...

 

-----------------------------------------------------------------------

Please select from among the following Linux ARCH options:

 

  1. (serial)   2. (smpar)   3. (dmpar)   4. (dm+sm)   NEC SX (sxf90/sxcc)

  5. (serial)   6. (smpar)   7. (dmpar)   8. (dm+sm)   GNU (gfortran/gcc)

  9. (serial)               10. (dmpar)                GNU (g95/gcc)

 11. (serial)  12. (smpar)  13. (dmpar)  14. (dm+sm)   PGI (pgf90/gcc)

 15. (serial)  16. (smpar)  17. (dmpar)  18. (dm+sm)   PGI (pgf90/pgcc): SGI MPT

 19. (serial)  20. (smpar)  21. (dmpar)  22. (dm+sm)   PGI (pgf90/gcc): PGI accelerator

 23. (serial)  24. (smpar)  25. (dmpar)  26. (dm+sm)   INTEL (ifort/icc)

                                         27. (dm+sm)   INTEL (ifort/icc): Xeon Phi (MIC architecture)

 28. (serial)  29. (smpar)  30. (dmpar)  31. (dm+sm)   INTEL (ifort/icc): Xeon (SNB with AVX mods)

 32. (serial)  33. (smpar)  34. (dmpar)  35. (dm+sm)   INTEL (ifort/icc): SGI MPT

 36. (serial)  37. (smpar)  38. (dmpar)  39. (dm+sm)   INTEL (ifort/icc): IBM POE

 40. (serial)  41. (smpar)  42. (dmpar)  43. (dm+sm)   INTEL (ifort/icc): ia64

 44. (serial)  45. (smpar)  46. (dmpar)  47. (dm+sm)   INTEL (ifort/icc): SGI Altix

 48. (serial)               49. (dmpar)                PATHSCALE (pathf90/pathcc)

 50. (serial)  51. (smpar)  52. (dmpar)  53. (dm+sm)   GNU (gfortran/gcc)

 54. (serial)  55. (smpar)  56. (dmpar)  57. (dm+sm)   IBM (xlf90_r/cc_r)

 58. (serial)  59. (smpar)  60. (dmpar)  61. (dm+sm)   PGI (ftn/gcc): Cray XC CLE

 62. (serial)  63. (smpar)  64. (dmpar)  65. (dm+sm)   CRAY CCE (ftn/gcc): Cray XE and XC

 66. (serial)  67. (smpar)  68. (dmpar)  69. (dm+sm)   INTEL (ftn/icc): Cray XC

 70. (serial)  71. (smpar)  72. (dmpar)  73. (dm+sm)   FUJITSU (frtpx/fccpx): FX10 SPARC64 IXfx

                            74. (dmpar)                IBM (blrts_xlf90/blrts_xlc): ppc64 Blue Gene\L

               75. (smpar)  76. (dmpar)  77. (dm+sm)   IBM (mpixlf90_r/mpixlc_r): ppc64 Blue Gene\P

                            78. (dmpar)                IBM (xlf90_r/xlc_r): ppc64 IBM Blade

 79. (serial)  80. (smpar)  81. (dmpar)  82. (dm+sm)   PGI (pgf90/pgcc)

 83. (serial)  84. (smpar)  85. (dmpar)  86. (dm+sm)   PGI (pgf90/gcc): -f90=pgf90

 87. (serial)  88. (smpar)  89. (dmpar)  90. (dm+sm)   PGI (pgf90/pgcc): -f90=pgf90

 

Enter selection [1-90] :

Compile for nesting? (0=no nesting, 1=basic, 2=preset moves, 3=vortex following) [default 0]: 1

Enter the appropriate options that are best for your computer and application.

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 (in c-shell):

setenv WRFIO_NCD_LARGE_FILE_SUPPORT 1

Hint: If you would like to use parallel netCDF (p-netCDF) developed by Argonne National Lab (http://trac.mcs.anl.gov/projects/parallel-netcdf), you will need to install p-netCDF separately, and use the environment variable PNETCDF to set the path:

setenv PNETCDF path-to-pnetcdf-library

Hint:  Since V3.5, compilation may take a bit longer due to the addition of the CLM4 module.  If you do not intend to use the CLM4 land-surface model option, you can modify your configure.wrf file by removing -DWRF_USE_CLM from ARCH_LOCAL.

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 em_b_wave
compile em_convrad (new in V3.7)
compile em_esmf_exp
(example only)
compile em_grav2d_x
compile em_heldsuarez
compile em_hill2d_x
compile em_les
compile em_quarter_ss
compile em_real
compile em_seabreeze2d_x
compile em_squall2d_x
compile em_squall2d_y
compile em_tropical_cyclone
compile em_tropical_cyclone
compile exp_real (example of a toy solver)
compile 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 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 the 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 files.

Hint: If you have trouble compiling routines, like solve_em.F, you can try to run the configure script with the 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 the configure script with option ‘-d’:

./configure –d

Beginning with V3.5, the compression function in netCDF4 is supported. This option will typically reduce the file size by more than 50%. It will require netCDF4 to be installed with the option --enable-netcdf-4. Before compiling WRF, you will need to set the environment variable NETCDF4. In a C-shell environment, type setenv NETCDF4 1, followed by ‘configure’ and ‘compile’.

For more detailed information, visit: http://www.mmm.ucar.edu/wrf/users/wrf_files/wrfv3.5/building-netcdf4.html

a. Idealized case

For any 2D test case (labeled in the case names), serial or OpenMP (smpar) compile options must be used.  Additionally, you must only choose the ‘0=no nesting’ option when you configure. For all other cases, you may use serial or parallel (dmpar) and nesting.  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 are not present, this output is useful to help diagnose the compile errors.

b. Real-data case

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 the 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 the 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 the namelist.input file (see README.namelist in the 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.

*Note:  when running em_fire, you must copy everything from the ‘hill_simple’ directory into your current working directory in order for it to run correctly.

cp hill_simple/* .

To run the initialization program, type

./ideal.exe

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 a 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 the ‘wrf.out’ or rsl.*.0000 files should be: ‘wrf: SUCCESS COMPLETE WRF’. Output files wrfout_d01_0001-01-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 the namelist.input template file in the directory and 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 the namelist.input file:

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

num_metgrid_levels:

number of incoming data levels (can be found by using the ncdump command on the met_em.* file)

num_metgrid_soil_levels:

number of incoming soil data levels

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 dz.

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 the 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 or log(p) (default)

lagrange_order

vertical interpolation order, linear or quadratic (default)

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 diurnally- averaged surface temp can be computed using the WPS utility avg_tsfc.exe. This option can be used when SKINTEMP is not present.

To run the 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 the real.out file. It should also produce wrfinput_d01 and wrfbdy_d01 files. In the real data case, both files are required. 

Run the 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 <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 by using the namelist option frames_per_outfile). You may also create restart files if you have a restart frequency (restart_interval in the namelist.input file) set within your total integration time. The restart file should have names like

wrfrst_d<domain>_<date>

The time stamp on a restart file is the time at which that restart file is valid.

For DM (distributed memory) parallel systems, some form of the mpirun command will be needed to run the executables. For example, on a Linux cluster, the command to run MPI code, using 4 processors, may look like:

mpirun -np 4 ./real.exe
mpirun -np 4 ./wrf.exe

On some IBMs, the command for a batch job may be:

poe ./real.exe
poe ./wrf.exe

or

mpirun.lsf ./wrf.exe (on NCAR’s yellowstone) 

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 a restart file. This is done by setting the namelist variable restart_interval (unit is in minutes) to be equal to or less than 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_*:             start and end times for restart model integration
restart:                   logical to indicate whether the run is a restart or not

If the history and restart intervals are changed in a restart run, and the outcome isn’t what is expected to be, use namelist ‘override_restart_timers = .true.’.

If history output is desired at the time of restart, use namelist ‘write_hist_at_0h_rst = .true.’

Hint: Typically the restart file is a lot bigger in size than the history file, hence one may find that it is even ok to write a single model history output time to a file in netCDF format (frame_per_outfile=1), but 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 the 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 the section on “Installing WRF” in this chapter).

d. Two-way Nested Runs

A two-way nested run is a run in which 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. Start with a namelist template. The following are the key namelist variables to modify:

start_*, end_*: start and end simulation times for the nest

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 and landuse), and masked surface fields (such as skin temperature, soil moisture and temperature). Useful for a 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 an 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 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 better 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.

smooth_option: this a smoothing option for the parent domain in the 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 = T, F,

 

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 the 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, and time-varying surface fields from the nest wrfinput; hence it 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 nested case starting at 1200 UTC Jan 24 2000. Then the following 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 a 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 nested domains. For a two-domain example, these are created:

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 options. In this section, one-way nesting is defined as a finer-grid-resolution run, made as a subsequent run after the coarser-grid-resolution 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, 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. Do not change physics options when running ndown (you can change some physics options when making wrf runs), and do not remove fields from Registry if you plan to use ndown.

Step 1: Make a coarse grid run.

This is no different than any of the single-domain WRF runs, as described above. Do output history files as often as you can, and this will provide better and more frequent boundary conditions for the next model run.

Step 2:  Run geogrid.exe (gives geo_em.d01 and geo_em.d02 files) and metgrid.exe for two domains (as if you are making a 2-way nested run).

This will generate WPS output files for domain 1 (met_em.d01.<date>) and domain 2 (met_em.d02.<date>). 

Step 3:  Run real.exe for 2 domains.

The purpose of this step is to ingest higher resolution terrestrial fields and corresponding land-water masked soil fields.

- Copy the met_em* files into the directory from which you will be running real.exe.
- Edit the namelist.input file, changing ‘max_dom = 2’, and making sure columns 1 and 2 are set-up for a 2 domain run, editting the correct start time and grid dimensions.
- Run real.exe.  This will produce a wrfinput_d01 file, a wrfinput_d02 file, and a wrfbdy_d01 file.
- Rename the wrfinput_d02 file to wrfndi_d02.

Step 4: Make the final fine-grid initial and boundary condition files, by running ndown.exe

- Since V3.2, one must add io_form_auxinput2 = 2 in the &time_control section of namelist.input to run ndown.exe successfully. (If one desires to refine the 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 the utility program v_interp (see the chapter for ‘Utilities and Tools’ for details)).

- Change namelist variable interval_seconds to reflect the history output interval from the coarse domain model run.

- Do not change physics options until after running ndown program.

- Run ndown.exe, which uses input from the coarse grid wrfout file(s), and the wrfndi_d02 file generated from Step 3 above. This will produce a wrfinput_d02 and wrfbdy_d02 file.

Note that the 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 5: Make the fine-grid WRF run

- Rename wrfinput_d02 and wrfbdy_d02 to wrfinput_d01 and wrfbdy_d01, respectively.

- Rename (or move) the original wrfout_d01* files to something else (or another directory) so as to not overwrite them.
- Edit namelist.input,moving all of the fine-grid domain data from column 2 to column 1 so that this run will be for the fine-grid domain only.  Make sure that the time_step is set to comply with the fine-grid domain (typically 6*DX).  It may be beneficial to save namelist.input to something else prior to this step in case you need to repeat this process in the future.  Save the newly-edited namelist as namelist.input.

- The WRF model’s physics options may be modified between runs (the WRF model before ndown and the WRF model after ndown, but do use the same physics from the first run when running ndown), except generally for the land surface scheme option which has different number of soil depths depending on the scheme.  Users may take advantage of a feature that allows both the initial and lateral boundaries to use the moist and scalar arrays (have_bcs_moist and have_bcs_scalar, respectively).  This option is only to be used during the WRF model run which follows the ndown processing.  With this option, a user must keep the microphysics options the same between forecasts.  The advantage is that the previous WRF model provides realistic lateral boundary tendencies for all of the microphysical variables, instead of a simple “zero inflow” or “zero gradient outflow”.

- Run WRF for this grid.

*Keep in mind that the output from this run will be in the form wrfout_d01* but it will actually be output for domain 2.  It may help to rename these to avoid future confusion.

The figure on the next page summarizes the data flow for a one-way nested run using the program ndown.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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 the 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 changing 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 from the beginning of the run until 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 the number of grid points and direction of the nest move (positive numbers indicate moving toward east and north, while negative numbers indicate moving toward west and south).

Parameter max_moves is set to be 50, but can be modified in the 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 the 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 the &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 search radius for the new vortex center position (default is 40 m/sec).

corral_dist: the distance in the number of coarse grid cells that the moving nest is allowed to get near the mother domain 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.

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 the automatic moving nest is employed, the model dumps the vortex center location, with minimum mean sea-level pressure and maximum 10-m winds in a standard-out file (e.g. rsl.out.0000). Typing ‘grep ATCF rsl.out.0000’ will produce a list of storm information at a 15-minute interval:

ATCF    2007-08-20_12:00:00            20.37   -81.80     929.7 133.9
ATCF    2007-08-20_12:15:00            20.29   -81.76     929.3      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.

Since V3.6, a capability to incorporate high-resolution terrain and landuse input in a moving nest run (Chen, Shuyi S., Wei Zhao, Mark A. Donelan, James F. Price, Edward J. Walsh, 2007: The CBLAST-Hurricane Program and the Next-Generation Fully Coupled Atmosphere–Wave–Ocean Models for Hurricane Research and Prediction. Bull. Amer. Meteor. Soc., 88, 311–317.doi: http://dx.doi.org/10.1175/BAMS-88-3-311). To activate this option,

- At compile time, one needs to set environment variable, TERRAIN_AND_LANDUSE to 1. In cshell,

setenv TERRAIN_AND_LANDUSE 1

followed by doing ‘configure’ and ‘compile’.

- At run time, add these namelists in &time_control:

input_from_hires       = .true., .true.,

rsmas_data_path        = “terrain and landuse data directory”

The automatic moving nest works best for a 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 the namelists in examples.namelist in the 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 good practice to fill them all in 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 grid-nudging in hours

 

 

See http://www2.mmm.ucar.edu/wrf/users/wrf_files/docs/How_to_run_grid_fdda.html and README.grid_fdda in WRFV3/test/em_real/ for more information.

 

Spectral Nudging is a new upper-air nudging option since 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://www2.mmm.ucar.edu/wrf/users/wrf_files/wrfv3.1/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 in &fdda:

 

obs_nudge_opt = 1
fdda_start    = 0 (obs nudging start time in minutes)
fdda_end      = 360 (obs nudging end time in minutes)

 

and in &time_control

 

auxinput11_interval_s = 180, 180, 180, (set the interval to be small enough so

                                                         that all observations will be checked)

 

Look for an example to set other obs nudging namelist variables in the file examples.namelists in test/em_real/ directory. See http://www2.mmm.ucar.edu/wrf/users/wrf_files/wrfv3.1/How_to_run_obs_fdda.html and README.obs_fdda in WRFV3/test/em_real/ for more information.

i. Global Run

WRFV3 supports global capability. To make a global run, run WPS, starting with the 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 that they are set similarly or the same. WRF and WPS assume the earth is a sphere, and its radius is 6370 km. There are 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 the WPS programs as usual but only for one time period. This is because the domain covers the entire globe, and lateral boundary conditions are no longer needed.

 

Run the program real.exe as usual and for one time period only. The lateral boundary file wrfbdy_d01 is not needed.

 

Copy namelist.input.global to namelist.input, and edit it. Run the model as usual.

Note:  since this is not a commonly-used configuration in the model, use it with caution. Not all physics and diffusion options have been tested with it, and some options may not work well with polar filters. Also, positive-definite and monotonic advection options do not work with polar filters in a global run because polar filters can generate negative values of scalars. This implies, too, that WRF-Chem cannot be run with positive-definite and monotonic options in a global WRF setup.

As an extension to the global lat-lon grid, the regional domain can also be set using a lat-lon grid. To do so, one needs 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 the 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 starts the forecast. In WRF implementation, this is all done in a single job. With the V3.3 release, DFI can be used for multiple domains with concurrent nesting, with feedback disabled.

There is no special requirement for data preparation.

Start with the 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 (Note:  if doing a restart, this must be changed to 0)
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 when you run wrf.

 

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.

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 of vegetation fraction and albedo are available from the geogrid program. Once these fields are processed via WPS, one may activate the following options in the namelist record &time_control before running the program real.exe and wrf.exe:

 

io_form_auxinput4    = 2
auxinput4_inname     = “wrflowinp_d<domain>” (created by real.exe)
auxinput4_interval   =
360, 360, 360,

 

and in &physics

 

sst_update = 1

 

Note that this option doesn’t work with sf_ocean_physics options.

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 (called the Courant-Friedrichs-Lewy (CFL) condition). 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 = the actual value or -1 (which 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-43.

m. Option to stochastically perturb forecast

Stochastic kinetic-energy backscatter scheme (SKEBS)

Since Version 3.3, WRF has an option to stochastically perturb forecasts via a stochastic kinetic-energy backscatter scheme (SKEBS; Shutts, 2005, QJRMS). The scheme introduces temporally and spatially correlated perturbations to the rotational wind components u, v, and potential temperature θ. An application and verification of this scheme to mesoscale ensemble forecast in the mid-latitudes is available in Berner et. al, 2011, Monthly Weather Review, 139, 1972—1995 (http://journals.ametsoc.org/doi/abs/10.1175/2010MWR3595.1).

 

SKEBS generates perturbation tendency fields ru_tendf_stoch (in m2/s3), rv_tendf_stoch

(m2/s3), rt_tendf_stoch (K/s2) for u,v and θ, respectively. For new applications we recommend to output the magnitude and spatial patterns of these perturbation fields and compare them to the physics tendency fields for the same variables.  Within the scheme, these perturbation fields are then coupled to mass and added to physics tendencies of u,v, and θ. The stochastic perturbations fields for wind and temperature are controlled by the kinetic and potential energy they inject into the flow. The injected energy is expressed as backscattered dissipation rate for streamfunction and temperature respectively.

 

Since the scheme uses Fast Fourier Transforms (FFTs) provided in the library FFTPACK, we recommend the number of gridpoints in each direction to be product of small primes. If the number of gridpoints is a large prime in at least one of the directions, the computational cost may increase substantially. Multiple domains are supported by interpolating the forcing from the largest domain for which the scheme is turned on (normally the parent domain) down to all nested domain.

 

At present, default settings for the scheme have been thoroughly tested on synoptic and meso-scale domains over the mid-latitudes and as such offer a starting point. Relationships between backscatter amplitudes and perturbation fields for a given variable are not necessarily proportional due to the complexity of the scheme.

 

To facilitate adjustment of the scheme parameters to user-specific applications, many parameters previously hard-coded in the scheme have become namelist parameters in version WRFV3.6.

Users wishing to adjust default settings are strongly advised to read details addressed in the technical document available at http://www.cgd.ucar.edu/~berner/skebs.html, which also contains details on version history, derivations, and examples.

 

Restart capability was added starting with version V3.7.

 

Further documentation is available at http://www.cgd.ucar.edu/~berner/skebs.html

 

The namelist parameters to control the stochastic schemes are found in the namelist.input file currently under the &stoch section (new namelist record since V3.6):

 

skebs

Replaces the namelist parameter stoch_forc_opt which was used up to V3.6. Latter is still maintained, but obsolete.


= 0, 0, 0: No stochastic parameterization


= 1, 1, 1: Use SKEB scheme

tot_backscat_psi

Total backscattered dissipation rate for streamfunction; Controls amplitude of rotational wind perturbations Default value is 1.0E-5 m2/s3.

tot_backscat_t

Total backscattered dissipation rate for potential temperature; Controls amplitude of potential temperature perturbations. Default value is 1.0E-6 m2/s3.

ztau_psi

Decorrelation time (in s) for streamfunction perturbations. Default is 10800s (=3h). 

ztau_t

Decorrelation time (in s) for potential temperature perturbations. Default 21600s.

rexponent_psi

Spectral slope for streamfunction perturbations. Default is -1.83 for a kinetic-energy forcing spectrum with slope -5/3.

rexponent_t

Spectral slope of potential temperature perturbations. Default is -1.83 for a potential energy forcing spectrum with slope -1.832.

kminforc

Minimal forcing wavenumber in longitude for streamfunction perturbations. Default is 1.

lminforc

Minimal forcing wavenumber in latitude for streamfunction perturbations. Default is 1.

kminforct

Minimal forcing wavenumber in longitude for potential temperature perturbations. Default is 1.

lminforct

Minimal forcing wavenumber in latitude for potential temperature perturbations. Default is 1.

kmaxforc

Maximal forcing wavenumber in longitude for streamfunction perturbations. Default is maximal possible wavenumbers determined by number of gridpoints in longitude.

lmaxforc

Maximal forcing wavenumber in latitude for streamfunction perturbations. Default is maximal possible wavenumbers determined by number of gridpoints in latitude.

kmaxforct

Maximal forcing wavenumber in longitude for potential temperature perturbations. Default is maximal possible wavenumbers determined by number of gridpoints in longitude.

lmaxforct

Maximal forcing wavenumber in latitude for potential temperature perturbations. Default is maximal possible wavenumbers determined by number of gridpoints in latitude.

zsigma2_eps

Noise variance in autoregressive process defining streamfunction perturbations.

zsigma2_eta

Noise variance in autoregressive process defining in potential temperature perturbations.

skebs_vertstruc

Replaces the namelist parameter stoch_vertstruc_opt which was used up to V3.6. Latter is still maintained, but obsolete.

= 0, 0, 0: Constant vertical structure of random pattern generator

= 1, 1, 1: Random phase vertical structure with westward tilt

nens

Seed for random number stream for both stochastic schemes. For ensemble forecasts this parameter needs to be different for each member. The seed is a function of initial start time to ensure different random number streams for forecasts starting from different initial times.

iseed_skebs

Seed for random number stream for skebs. Will be combined with seed nens signifying ensemble member number and initial start time to ensure different random number streams for forecasts starting from different initial times and for different ensemble members.

 

 

(From Berner

Option to generate a random perturbation field 

This option generates a random perturbations field. The stochastic pattern is centered on 0 and has a prescribed standard deviation. This pattern can be used for user-implemented perturbations of e.g., lower boundary conditions or parameters in the physic parameterizations. Currently it is only used to generate perturbations of the boundary tendencies of the WRF-CHEM. The namelist parameters to control the random perturbation option are found in the namelist.input file under the &stoch section (new namelist record since V3.6):

 

rand_perturb

= 0, 0, 0: No random perturbations
= 1, 1, 1: Create random perturbation field

lengthscale_rand_pert

Random Perturbation Lengthscale (in m). Default is 500000m.

timescale_rand_pert

Temporal decorreleation of randomn field (in s). Default is 21600s.

gridpt_stddev_rand_pert

Standard deviation of random perturbation field at each gridpoint. Default is 0.03.

stddev_cutoff_rand_pert

Cutoff tails of perturbation patternf above this threshold standard deviation. Default is 3.0 (standard deviations).

rand_pert_vertstruc

Vertical structure for random perturbation field: 0=constant; 1=random phase with tilt

nens

Seed for random number stream. For ensemble forecasts this parameter needs to be different for each member. The seed is a function of initial start time to ensure different random number streams for forecasts starting from different initial times.

iseed_rand_pert

Seed for random number stream for rand_perturb. Will be combined with seed nens signifying ensemble member number and initial start time to ensure different random number streams for forecasts starting from different initial times and for different ensemble members.

 

 

(From Berner

 

Option to perturb the boundary conditions 

 

This option allows for the addition of perturbations to the boundary tendencies for u and v wind components and potential temperature in WRF stand-alone runs.  Users may provide a pattern or use the pattern generated by SKEBS.

 

The perturb_bdy option runs independently of SKEBS and as such may be run with or without the SKEB scheme, which operates solely on the interior grid.  However, selecting perturb_bdy=1 will require the generation of a domain-size random array, thus computation time may increase. 

 

Selecting perturb_bdy=2 will require the user to provide a pattern.  Arrays are initialized and called: field_u_tend_perturb, field_v_tend_perturb, field_t_tend_perturb.  These arrays will need to be filled with desired pattern in spec_bdytend_perturb in share/module_bc.F or spec_bdy_dry_perturb in dyn_em/module_bc_em.F. 

 

The namelist parameters to control the perturb boundary conditions option are found in the namelist.input file under the &stoch section:

 

          perturb_bdy  = 0 :  No boundary perturbations (default)

                                = 1 :  Use SKEBS pattern for boundary perturbations

                                = 2 :  Use other user provided pattern for boundary perturbations

(From Fossell, nee Smith

 

Option to perturb the boundary tendencies in WRF-CHEM  

 

This option adds random perturbations to the chemistry boundary tendencies in WRF-CHEM.  The random perturbation pattern is controlled by all the parameters for the namelist option "rand_perturb", and stored as the variable named "RAND_PERT" in the wrfout file.

 

The perturb_chem_bdy option runs independently of RAND_PERTURB and as such may be run with or without the RAND_PERTURB scheme, which operates solely on the interior grid.  However, selecting perturb_bdy_chem=1 will require the generation of a domain-size random array, thus computation time may increase. 

 

          perturb_chem_bdy  = 0 :  No boundary perturbations to tendencies in WRF-                                                                          CHEM(default)

                                          = 1 :  Use RAND_PERTURB pattern for boundary

                                                   perturbations

(From Ha)

 n. Run-Time IO

With the release of WRF version 3.2, IO decisions may now be updated as a run-time option.  Previously, any modification to the IO (such as which variable is associated with which stream) was handled via the Registry, and changes to the Registry always necessitate a cycle of clean –a, configure, and compile.  This compile-time mechanism is still available and it is how most of the WRF IO is defined.  However, should a user wish to add (or remove) variables from various streams, that capability is available as an option.

 

First, the user lets the WRF model know where the information for the run-time modifications to the IO is located.  This is a text file (my_file_d01.txt), one for each domain, defined in the namelist.input file, located in the time_control namelist record.

 

&time_control

iofields_filename = “my_file_d01.txt”, “my_file_d02.txt”

ignore_iofields_warning = .true.,

/

The contents of the text file associates a stream ID (0 is the default history and input) with a variable, and whether the field is to be added or removed.  The state variables must already be defined in the Registry file.  Following are a few examples:

-:h:0:RAINC,RAINNC

would remove the fields RAINC and RAINNC from the standard history file.

 

+:h:7:RAINC,RAINNC

would add the fields RAINC and RAINNC to an output stream #7.

 

The available options are:

            + or -, add or remove a variable

            0-24, integer, which stream

            i or h, input or history

            field name in the Registry – this is the first string in quotes. Note: do not include

                                                         any spaces in between field names.

 

It is not necessary to remove fields from one stream to insert them in another.  It is OK to have the same field in multiple streams.

The second namelist variable, ignore_iofields_warning, tells the program what to do if it encounters an error in these user-specified files. The default value, .TRUE., is to print a warning message but continue the run.  If set to .FALSE., the program will abort if there are errors in these user-specified files.

Note that any field that can be part of the optional IO (either the input or output streams) must already be declared as a state variable in the Registry.  Care needs to be taken when specifying the names of the variables that are selected for the run-time IO.  The "name" of the variable to use in the text file (defined in the namelist.input file) is the quoted string from the Registry file. Most of the WRF variables have the same string for the name of the variable used inside the WRF source code (column 3 in the Registry file, non-quoted, and not the string to use) and the name of the variable that appears in the netCDF file (column 9 in the Registry file, quoted, and that is the string to use).

o. Output Diagnostics

1. Time series output. To activate 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  |

#-----------------------------------------------#

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 the 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.

 

Starting in V3.5, in addtion to surface variables, vertical profiles of earth-relative U and V, potential temperature, water vapor, and geopotential height will also be output. The default number of levels in the output is 15, but can be changed with namelist variable max_ts_level.

 

2. Pressure level output. This is activated by adding a namelist record &diag, and set p_lev_diag = 1. The option can output U, V, wind speed, T, dew point T, RH and geopotential height at a number of pressure levels.

 

&diag

p_lev_diag = 1

num_press_level = 4,

press_levels = 85000, 70000, 50000, 20000,

 

The output goes to auxiliary output stream 23, so the following should be set in &time_control:

 

auxhist23_interval = 360, 360,

frames_per_auxhist23 = 100, 100,

io_form_auxhist23 = 2

 

3. nwp_diagnostics = 1 in &time_control. Convective storm diagnostics. This option outputs maximum 10 m wind speed, max helicity in 2 - 5 km layer, maximum vertical velocity in updraft and downdraft below 400 mb, mean vertical velocity in 2 - 5 km layer, and maximum column graupel in a time-window between history output times. The extra fields go to history file.

 

4. output_diagnostics = 1 in &time_control. Climate diagnostics. This option outputs 36 surface diagnostic variables: maximum and minimum, times when max and min occur, mean value, standard deviation of the mean for T2, Q2, TSK, U10, V10, 10 m wind speed, RAINCV, RAINNCV (the last two are time-step rain). The output goes to auxiliary output stream 3, and hence it needs the following:

 

auxhist3_outname = “wrfxtrm_d<domain>_<date>”

auxhist3_interval = 1440, 1440,

frames_per_auxhist3 = 100, 100,

io_form_auxhist3 = 2

 

Since this option computes daily max and min, and so on, it is adviceable to do restart at daily interval.

 

5. do_avgflx_em = 1 in &dyanmics. This option outputs history-time averaged, column-pressure coupled U, V and W for downstream transport models. If Grell-type of schemes is used, do_avg_cugd = 1 will output time-averaged convective mass-fluxes.

 

6. afwa_diag_opt = 1 in &afwa. Main control option to turn on weather diagnostics contributed by AFWA. Output goes to auxiliary stream 2. (see full documentation at http://www2.mmm.ucar.edu/wrf/users/docs/AFWA_Diagnostics_in_WRF.pdf).  NOTE:  These options cannot be used with OpenMP.

 

afwa_ptype_opt = 1   precipitation type

afwa_severe_opt = 1 severe weather diagnostics

afwa_vil_opt = 1          vertically integrated liquid

afwa_radar_opt = 1   radar

afwa_icing_opt = 1   icing

afwa_vis_opt = 1          visibility

afwa_cloud_opt = 1   cloud

afwa_therm_opt = 1   thermal index

afwa_turb_opt = 1    turbulence

afwa_buoy_opt = 1    buoyancy

 

7. Others in &physics

 

do_radar_ref = 1: compute radar reflectivity using microphysics-specific parameters in the model. Works for mp_physics = 2,4,6,7,8,10,14,16.

 

prec_acc_dt = 60: Time interval for outputing precipitation variables (rain from cumulus and microphysics schemes, and snow from microphysics scheme) (unit in minutes).

p. WRF-Hydro

This is a new capability in V3.5. It couples WRF model with hydrology processes (such as routing and channeling). Using WRF-Hydro requires a separate compile by using environment variable WRF_HYDRO. In c-shell environment, do

setenv WRF_HYDRO 1

before doing ‘configure’ and ‘compile’. Once WRF is compiled, copy files from hydro/Run/ directory to your working directory (e.g. test/em_real/). A separately prepared geogrid file is also required. Please refer the following web site for detailed information: http://www.ral.ucar.edu/projects/wrf_hydro/. (From W. Yu)

q. Using IO Quilting

This option allows a few processors to be set aside to be responsible for output only. It can be useful and performance-friendly if the domain size is large, and/or the time taken to write an output time is becoming 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.

 

*Note:  This option is only used for wrf.exe.  It does not work for real or ndown.

 

Examples of namelists for various applications

A few physics options sets (plus model top and the 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 a 1- 3 day run (as used for the NCAR spring real-time convection forecast over the US in 2013):

mp_physics                          = 8,
ra_lw_physics                       = 4,
ra_sw_physics                       = 4,
radt                                = 10,
sf_sfclay_physics                   = 2,
sf_surface_physics                  = 2,
bl_pbl_physics                      = 2,
bldt                                = 0,
cu_physics                          = 0,

ptop_requested                      = 5000,
e_vert                              = 40,

b. 10 – 20 km grid distances, 1- 3 day runs (e.g., NCAR daily real-time runs over the US):

mp_physics                          = 8,
ra_lw_physics                       = 4,
ra_sw_physics                       = 4,
radt                                = 15,
sf_sfclay_physics                   = 1,
sf_surface_physics                  = 2,
bl_pbl_physics                      = 1,
bldt                                = 0,
cu_physics                          = 3,
cudt                                = 0,

ptop_requested                      = 5000,
e_vert                              = 39,

c. Cold region 10 – 30 km grid sizes (e.g. used in NCAR’s Antarctic Mesoscale Prediction System):

mp_physics                          = 4,
ra_lw_physics                       = 4,
ra_sw_physics                       = 2,
radt                                = 15,
sf_sfclay_physics                   = 2,
sf_surface_physics                  = 2,
bl_pbl_physics                      = 2,
bldt                                = 0,
cu_physics                          = 1,
cudt                                = 5,
fractional_seaice                   = 1,
seaice_threshold                    = 0.0,

ptop_requested                      = 1000,
e_vert                              = 44,

d. Hurricane applications (e.g. 36, 12, and 4 km nesting used by NCAR’s real-time hurricane runs in 2012):

mp_physics                          = 6,
ra_lw_physics                       = 4,
ra_sw_physics                       = 4,
radt                                = 10,
sf_sfclay_physics                   = 1,
sf_surface_physics                  = 2,
bl_pbl_physics                      = 1,
bldt                                = 0,
cu_physics                          = 6,
(only on 36/12 km grid)
cudt                                = 0,
isftcflx                            = 2,

ptop_requested                      = 2000,
e_vert                              = 36,

e. Regional climate case at 10 – 30 km grid sizes (e.g. used in NCAR’s regional climate runs):

mp_physics                          = 6,
ra_lw_physics                       = 3,
ra_sw_physics                       = 3,
radt                                = 30,
sf_sfclay_physics                   = 1,
sf_surface_physics                  = 2,
bl_pbl_physics                      = 1,
bldt                                = 0,
cu_physics                          = 1,
cudt                                = 5,
sst_update                          = 1,
tmn_update                          = 1,
sst_skin                            = 1,
bucket_mm                           = 100.0,
bucket_J                            = 1.e9,
ptop_requested                      = 1000,
e_vert                              = 51,

spec_bdy_width                      = 10,
spec_zone                           = 1,
relax_zone                          = 9,
spec_exp                            = 0.33,

 

Check Output

Once a model run is completed, it is 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.

Check the output times written to the wrfout* file by using the netCDF command:

  ncdump –v Times wrfout_d01_yyyy-mm-dd_hh:00:00

Take a look at either the rsl.out.0000 file or other standard-out files. This file logs the times taken to compute for one model time step, and to write one history and restart output file:


Timing for main: time 2006-01-21_23:55:00 on domain  2:    4.91110 elapsed seconds.

Timing for main: time 2006-01-21_23:56:00 on domain  2:    4.73350 elapsed seconds.

Timing for main: time 2006-01-21_23:57:00 on domain  2:    4.72360 elapsed seconds.

Timing for main: time 2006-01-21_23:57:00 on domain  1:   19.55880 elapsed 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            1 at time   4.200000 

  MAX AT i,j,k:          123          48          3 cfl,w,d(eta)= 4.165821

21 points exceeded cfl=2 in domain            1 at time   4.200000 

  MAX AT i,j,k:          123          49          4 cfl,w,d(eta)= 10.66290
 
When this happens, consider using the namelist option w_damping, and/or reducing the 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 another netCDF file browser to check the fields in wrfinput files.

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 the namelist.input file with 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.

 

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. For fine resolutions (< 5km) use option (5) and for coarse resolutions use option (95).

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. (Note: Do not use this scheme in V3.6 and V3.6.1.)

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. Stony Brook University (Y. Lin) scheme (13). This is a 5-class scheme with riming intensity predicted to account for mixed-phase processes. New in Version 3.3.

n. NSSL 2-moment scheme (17, 18). New since Version 3.4, this is a two-moment scheme for cloud droplets, rain drops, ice crystals, snow, graupel, and hail. It also predicts average graupel particle density, which allows graupel to span the range from frozen drops to low-density graupel. There is an additional option to predict cloud condensation nuclei (CCN, option 18) concentration (intended for idealized simulations). The scheme is intended for cloud-resolving simulations (dx <= 2km) in research applications.  Since V3.5, two more one-moment schemes have been added (19 and 21). Option 19 is a single-moment version of the NSSL scheme, and option 21 is similar to Gilmore et al. (2004). Option 22 (new in V3.7) is the two moment scheme (option 17) without hail.

o. CAM V5.1 2-moment 5-class scheme.

p. Thompson aerosol-aware (28). This scheme considers water- and ice-friendly aerosols. A climatology dataset may be used to specify initial and boundary conditions for the aerosol variables (Thompson and Eidhammer, 2014, JAS.) New in Version 3.6.

q. HUJI (Hebrew University of Jerusalem, Israel) spectral bin microphysics, full (32) and ‘fast’ (30) versions are available since Version 3.6.

 

2.1 Longwave Radiation (ra_lw_physics)

a. RRTM scheme (ra_lw_physics = 1): Rapid Radiative Transfer Model. An accurate scheme using look-up tables for efficiency. Accounts for multiple bands, and microphysics species. For trace gases, the volume-mixing ratio values for
CO2=330e-6, N2O=0. and CH4=0. in pre-V3.5 code; in V3.5, CO2=379e-6, N2O=319e-9 and CH4=1774e-9. See section 2.3 for time-varying option.

b. GFDL scheme (99): Eta operational radiation scheme. An older multi-band scheme with carbon dioxide, ozone and microphysics effects.

c. CAM scheme (3): from the CAM 3 climate model used in CCSM. Allows for aerosols and trace gases. It uses yearly CO2, and constant N2O (311e-9) and CH4 (1714e-9). See section 2.3 for the time-varying option.

d. RRTMG scheme (4): A new version of RRTM added in Version 3.1. It includes the MCICA method of random cloud overlap. For major trace gases, CO2=379e-6, N2O=319e-9, CH4=1774e-9. See section 2.3 for the time-varying option. In V3.7, a fast version is introduced as option 24.

e. New Goddard scheme (5). Efficient, multiple bands, ozone from climatology. It uses constant CO2=337e-6, N2O=320e-9, CH4=1790e-9. New in Version 3.3.

f. Fu-Liou-Gu scheme (7). multiple bands, cloud and cloud fraction effects, ozone profile from climatology and tracer gases. CO2=345e-6. New in Version 3.4.

 

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. In V3.7, a fast version is introduced as option 24.

f. New Goddard scheme (5). Efficient, multiple bands, ozone from climatology. New in Version 3.3.

g. Fu-Liou-Gu scheme (7). multiple bands, cloud and cloud fraction effects, ozone profile from climatology, can allow for aerosols. New in Version 3.4.

h. Held-Suarez relaxation. A temperature relaxation scheme designed for idealized tests only (31).

Related options:

- 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.

- swrad_scat: scattering turning parameter for ra_sw_physics = 1. Default value is 1, which is equivalent to 1.e-5 m2/kg. When the value is greater than 1, it increases the scattering.

- swint_opt: Interpolation of short-wave radiation based on the updated solar zenith angle between SW calls. Available since V3.5.1.

2.3 Input to radiation options

a. CAM Green House Gases: Provides yearly green house gases from 1765 to 2500. The option is activated by compiling WRF with the macro –DCLWRFGHG added in configure.wrf. Once compiled, CAM, RRTM and RRTMG long-wave schemes will see these gases. Five scenario files are available: from IPCC AR5: CAMtr_volume_mixing_ratio .RCP4.5, CAMtr_volume_mixing_ratio.RCP6, and CAMtr_volume_mixing_ratio.RCP8.5; from IPCC AR4: CAMtr_volume_mixing_ratio.A1B, and CAMtr_volume_mixing_ratio.A2. The default points to the RCP8.5 file. New in Version 3.5.

b. Climatological ozone and aerosol data for RRTMG: The ozone data is adapted from CAM radiation (ra_*_physics=3), and it has latitudinal (2.82 degrees), height and temporal (monthly) variation, as opposed to the default ozone used in the scheme that only varies with height. This is activated by the namelist option o3input = 2, which becomes the default option in V3.7. The aerosol data is based on Tegen et al. (1997), which has 6 types: organic carbon, black carbon, sulfate, sea salt, dust and stratospheric aerosol (volcanic ash, which is zero). The data also has spatial (5 degrees in longitude and 4 degrees in latitudes) and temporal (monthly) variations. The option is activated by the namelist option aer_opt = 1. New in Version 3.5.

c. Aerosol input for RRTMG and Goddard radiation options (aer_opt = 2). Either AOD or AOD plus Angstrom exponent, single scattering albedo, and cloud asymmetry parameter can be provided via constant values from namelist or 2D input fields via auxiliary input stream 15. Aerosol type can be set too. New in V3.6.

d. Effective cloud water, ice and snow radii from Thompson (since 3.5.1), WSM and WDM microphysics schemes (new in V3.7) are used in RRTMG.

 

2.4 Cloud fraction option

icloud: = 1, use Xu-Randall method; = 2, use threshold method which gives either 0 or 1 cloud fraction; = 3, use a RH-based method that follows Sundqvist et al. (1989). The threshold of RH depends on grid sizes.

 

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 = 91). In V3.7, the thermal and moisture roughness lengths (or exchange coefficients for heat and moisture) over ocean are changed to COARE 3 formula (Fairall et al. 2003)

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. TEMF surface layer. Total Energy – Mass Flux surface layer scheme. New in Version 3.3.

g. Revised MM5 surface layer scheme (option 11 prior to V3.6, renamed to option 1 since V3.6): Remove limits and use updated stability functions. New in Version 3.4. (Jimenez et al. MWR 2012). In V3.7, the code is sped up to give similar timing as with the old MM5 scheme. The thermal and moisture roughness lengths (or exchange coefficients for heat and moisture) over ocean are changed to COARE 3 formula (Fairall et al. 2003) in V3.7.

h. Other: iz0tlnd = 1 (works with sf_sfclay_physics = 1, 91, and 5), Chen-Zhang thermal roughness length over land, which depends on vegetation height, 0 = original thermal roughness length in each sfclay option. New in Version 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.

- In V3.6, a sub-tiling option is introduced, and it is activated by namelist sf_surface_mosaic = 1, and the number of tiles in a grid box is defined by namelist mosaic_cat, with a default value of 3.

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. For a more detailed description of the PX LSM, including pros/cons, best practices, and recent improvements, see http://www2.mmm.ucar.edu/wrf/users/docs/PX-ACM.pdf

Two-layer scheme with vegetation and sub-grid tiling (7). New in Version 3.0:  The Pleim-Xiu land surface model (PX LSM; Pleim and Xiu 1995; Xiu and Pleim 2001) was developed and improved over the years to provide realistic ground temperature, soil moisture, and surface sensible and latent heat fluxes in mesoscale meteorological models.  The PX LSM is based on the ISBA model (Noilhan and Planton 1989), and includes a 2-layer force-restore soil temperature and moisture model.  the top layer is taken to be 1 cm thick, and the lower layer is 99 cm.  Grid aggregate vegetation and soil parameters are derived from fractional coverage of land use categories and soil texture types.  There are two indirect nudging schemes that correct biases in 2-m air temperature and moisture by dynamic adjustment of soil moisture (Pleim and Xiu, 2003) and deep soil temperature (Pleim and Gilliam, 2009).

Users should recognize that the PX LSM was primarily developed for retrospective simulation, where surface-based observations are available to inform the indirect soil nudging.  While soil nudging can be disabled using the FDDA namelist.input setting "pxlsm_soil_nudge," little testing has been done in this mode, although some users have reported reasonable results.  Gilliam and Pleim (2010) discuss the implementation in the WRF model and provide typical configurations for retrospective applications.  If soil nudging is activated, modelers must use the Obsgrid objective re-analysis utility to produce a surface nudging file with the naming convention "wrfsfdda_d0*."  Obsgrid takes WPS "met_em*" files and LittleR observation files and produces the "wrfsfdda_d0*" file.  The PX LSM uses 2-m temperature and mixing ratio re-analyses from this file for the deep soil moisture and temperature nudging.  If modelers want to test PX LSM in forecast mode with soil nudging activated, forecasted 2-m temperature and mixing ratio can be used with empty observation files to produce the "wrfsfdda_d0*" files, using Obsgrid, but results will be tied to the governing forecast model.

 f. Noah-MP (multi-physics) Land Surface Model: uses multiple options for key land-atmosphere interaction processes. Noah-MP contains a separate vegetation canopy defined by a canopy top and bottom with leaf physical and radiometric properties used in a two-stream canopy radiation transfer scheme that includes shading effects. Noah-MP contains a multi-layer snow pack with liquid water storage and melt/refreeze capability and a snow-interception model describing loading/unloading, melt/refreeze, and sublimation of the canopy-intercepted snow. Multiple options are available for surface water infiltration and runoff, and groundwater transfer and storage including water table depth to an unconfined aquifer. Horizontal and vertical vegetation density can be prescribed or predicted using prognostic photosynthesis and dynamic vegetation models that allocate carbon to vegetation (leaf, stem, wood and root) and soil carbon pools (fast and slow). New in Version 3.4. (Niu et al. 2011)

g. SSiB Land Surface Model: This is the third generation of the Simplified Simple Biosphere Model (Xue et al. 1991; Sun and Xue, 2001). SSiB is developed for land/atmosphere interaction studies in the climate model. The aerodynamic resistance values in SSiB are determined in terms of vegetation properties, ground conditions and bulk Richardson number according to the modified Monin–Obukhov similarity theory. SSiB-3 includes three snow layers to realistically simulate snow processes, including destructive metamorphism, densification process due to snow load, and snow melting, which substantially enhances the model’s ability for the cold season study. To use this option, ra_lw_physics and ra_sw_physics should be set to either 1, 3, or 4. The second full model level should be set to no larger than 0.982 so that the height of that level is higher than vegetation height. New in Version 3.4.

h. 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, 5, and 7, and sf_surface_physics = 2, 3, and 7 in the present release. New in Version 3.1.

i. CLM4 (Community Land Model Version 4, Oleson et al. 2010; Lawrence et al. 2010): CLM4 was developed at the National Center for Atmospheric Research with many external collaborators and represents a state-of-the-science land surface process model. It contains sophisticated treatment of biogeophysics, hydrology, biogeochemistry, and dynamic vegetation. In CLM4, the land surface in each model grid cell is characterized into five primary sub-grid land cover types (glacier, lake, wetland, urban, and vegetated). The vegetated sub-grid consists of up to 4 plant functional types (PFTs) that differ in physiology and structure. The WRF input land cover types are translated into the CLM4 PFTs through a look-up table. The CLM4 vertical structure includes a single-layer vegetation canopy, a five-layer snowpack, and a ten-layer soil column. An earlier version of CLM has been quantitatively evaluated within WRF in Jin and Wen (2012; JGR-Atmosphere), Lu and Kueppers (2012; JGR-Atmosphere), and Subin et al. (2011; Earth Interactions) (from Jin). New in Version 3.5. Updated for 20/21 category MODIS landuse data in V3.6.

 

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. In V3.7, a green roof option is added.

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.

3.4 Lake Physics (sf_lake_physics)

a. CLM 4.5 lake model (1). The lake scheme was obtained from the Community Land Model version 4.5 (Oleson et al. 2013) with some modifications by Gu et al. (2013). It is a one-dimensional mass and energy balance scheme with 20-25 model layers, including up to 5 snow layers on the lake ice, 10 water layers, and 10 soil layers on the lake bottom. The lake scheme is used with actual lake points and lake depth derived from the WPS, and it also can be used with user defined lake points and lake depth in WRF (lake_min_elev and lakedepth_default). The lake scheme is independent of a land surface scheme and therefore can be used with any land surface scheme embedded in WRF. The lake scheme developments and evaluations were included in Subin et al. (2012) and Gu et al. (2013) (Subin et al. 2012: Improved lake model for climate simulations, J. Adv. Model. Earth Syst., 4, M02001. DOI:10.1029/2011MS000072; Gu et al. 2013: Calibration and validation of lake surface temperature simulations with the coupled WRF-Lake model. Climatic Change, 1-13, 10.1007/s10584-013-0978-y). 

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).

- topo_wind: = 1: Topographic correction for surface winds to represent extra drag from sub-grid topography and enhanced flow at hill tops (Jimenez and Dudhia, JAMC 2012). Works with YSU PBL only. New in Version 3.4. = 2: a simpler terrain variance-related correction. New in Version 3.5.

- ysu_topdown_pblmix: = 1: option for top-down mixing driven by radiative cooling. New in V3.7.

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 (Available since 3.1). Daytime part uses eddy diffusivity mass-flux method with shallow convection (mfshconv = 1) which is added in Version 3.4.

f. Mellor-Yamada Nakanishi and Niino Level 2.5 PBL (5). Predicts sub-grid TKE terms. New in Version 3.1.

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. UW (Bretherton and Park) scheme (9). TKE scheme from CESM climate model. New in Version 3.3.

j. Total Energy - Mass Flux (TEMF) scheme (10). Sub-grid total energy prognostic variable, plus mass-flux type shallow convection. New in Version 3.3.

k. 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.

l. Grenier-Bretherton-McCaa scheme (12): This is a TKE scheme. Tested in cloud-topped PBL cases. New in Version 3.5.

m. Shin-Hong scheme (11): Include scale dependency for vertical transport in convective PBL. Vertical mixing in the stable PBL and free atmosphere follows YSU. This scheme also has diagnosed TKE and mixing length output.

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).

-  kfeta_trigger = 1 – default trigger; = 2 – moisture-advection modulated trigger function [based on Ma and Tan (2009, Atmospheric Research)]. May improve results in subtropical regions when large-scale forcing is weak.

- cu_rad_feedback = true – allow sub-grid cloud fraction interaction with radiation. New in V3.6. (Alapaty et al. 2012, Geophysical Research Letters)

b. Betts-Miller-Janjic scheme. Operational Eta scheme. Column moist adjustment scheme relaxing towards a well-mixed profile (2).

c. Grell-Devenyi (GD) ensemble scheme: Multi-closure, multi-parameter, ensemble method with typically 144 sub-grid members (moved to option 93 in V3.5).

d. Simplified Arakawa-Schubert (4). Simple mass-flux scheme with quasi-equilibrium closure with shallow mixing scheme (and momentum transport in NMM only). Adapted for ARW in Version 3.3.

e. Grell 3D is an improved version of the GD scheme that may also be used on high resolution (in addition to coarser resolutions) if subsidence spreading (option cugd_avedx) is turned on (5). New in Version 3.0.

f. Tiedtke scheme (U. of Hawaii version) (6). Mass-flux type scheme with CAPE-removal time scale, shallow component and momentum transport. New in Version 3.3.

g. Zhang-McFarlane scheme (7). Mass-flux CAPE-removal type deep convection from CESM climate model with momentum transport. New in Version 3.3.

h. New Simplified Arakawa-Schubert (14). New mass-flux scheme with deep and shallow components and momentum transport. New in Version 3.3.

i. New Simplified Arakawa-Schubert (84, HWRF version). New mass-flux scheme with deep and shallow components and momentum transport. New in Version 3.4.

j. Grell-Freitas (GF) scheme (3): An improved GD scheme that tries to smooth the transition to cloud-resolving scales, as proposed by Arakawa et al. (2004). New in Version 3.5.

k. Old Kain-Fritsch scheme: Deep convection scheme using a mass flux approach with downdrafts and CAPE removal time scale (99).

l. Multi-scale Kain-Fritsch scheme (11): using scale-dependent dynamic adjustment timescale, LCC-based entrainment. Also uses new trigger function based on Bechtold.

m. New Tiedtke scheme: this version is similar to the Tiedtke scheme used in REGCM4 and ECMWF cy40r1.

6. Shallow convection option (shcu_physics)

a. ishallow = 1, shallow convection option on. Works together with Grell 3D scheme (cu_physics = 5) – will move to shcu_physics category in the future.

b. UW (Bretherton and Park) scheme (2). Shallow cumulus option from CESM climate model with momentum transport. New in Version 3.3.

c. GRIMS (Global/Regional Integrated Modeling System) scheme: it represents the shallow convection process by using eddy-diffusion and the pal algorithm, and couples directly to the YSU PBL scheme. New in Version 3.5.

7. Other physics options

a. Options to use for tropical storm and hurricane applications:

- sf_ocean_physics = 1 (renamed from omlcall in previous versions): 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 a temperature lapse rate below the mixed layer (oml_gamma). Since V3.2, this option works with all sf_surface_physics options.

- sf_ocean_physics = 2: New in V3.5. 3D Price-Weller-Pinkel (PWP) ocean model based on Price et al. (1994). This model predicts horizontal advection, pressure gradient force, as well as mixed layer processes. Only simple initialization via namelist variables ocean_z, ocean_t, and ocean_s is available in V3.5.

- 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)

- 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. Land model input options:

- usemonalb: When set to .true., it uses monthly albedo fields from geogrid, instead of table values

- rdlai2d: When set to .true., it uses monthly LAI data from geogrid (new in V3.6) and the field will also go to wrflowinp file if sst_update is 1.

d. 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. It is recommended that this option is used only with unrotated lat/long (e.g. global) or Mercator projections because the input orographic sub-grid asymmetry arrays assume this grid orientation. New in Version 3.1.

e. windfarm_opt: Wind turbine drag parameterization scheme. It represents sub-grid effects of specified turbines on wind and TKE fields. The physical charateristics of the wind farm is read in from a file and use of the manufacturers’ specification is recommeded. An example of the file is provided in run/wind-turbine-1.tbl. The location of the turbines are read in from a file, windturbines.txt. See README.windturbine in WRFV3/ directory for more detail. New in Version 3.3, and in this version it only works with 2.5 level MYNN PBL option (bl_pbl_physics=5), and updated in V3.6.

8. Physics sensitivity options

a. 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.
b. icloud: When set to 0, it turns off cloud effect on optical depth in shortwave radiation options 1, 4 and longwave radiation option 1, 4. Note since V3.6, this namelist also controls which cloud fraction method to use for radiation.
c. isfflx: When set to 0, it turns off both sensible and latent heat fluxes from the surface. This option works for sf_sfclay_physics = 1, 5, 7, 11.
d. ifsnow: When set to 0, it turns off snow effect in sf_surface_physics = 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 = 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 short-wave 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.

d. WENO (weighted essentially non-oscillatory) (option 3 for 5th order WENO; option 4 for 5th order WENO with positive definite limiter): for moisture (moist_adv_opt), scalar (scalar_adv_opt), chemistry variables (chem._adv_opt) and TKE (tke_adv_opt). For momentum, momentum_adv_opt = 3.

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 positive-definite transport options conserve scalar mass locally and globally and are consistent with the ARW mass conservation equation. We recommend using the positive-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). 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 positive-definite).  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.  

Other Dynamics Options

a. The model can be run hydrostatically by setting the non_hydrostatic switch to .false.

b. The 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 the 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 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.

spec_exp: exponential multiplier for the relaxation zone ramp, used with a specified boundary condition. 0. = linear ramp, default; 0.33 = ~3*dx exp decay factor. This 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

9

UW

Bretherton and Park (2009, JC)

2011

10

TEMF

Angevine, Jiang and Mauriten (2010, MWR)

2011

12

GBM

Grenier and Bretherton (2001, MWR)

2013

99

MRF

Hong and Pan (1996, MWR)

2000

11

Shin-Hong

Shin and Hong (2015, MWR)

2015

 

bl_pbl_

physics

 

Scheme

 

Cores

 

sf_sfclay_

physics

 

Prognostic variables

 

Diagnostic variables

 

Cloud mixing

 

1

 

YSU

 

ARW/ NMM

 

1, (91)*

 

 

 

exch_h

 

QC,QI

 

2

 

MYJ

 

ARW/ NMM

 

2

 

TKE_PBL

 

el_myj, exch_h

 

QC,QI

 

3

 

GFS

(hwrf)

 

NMM

 

3

 

 

 

 

 

QC,QI

 

4

 

QNSE-EDMF

 

ARW/ NMM

 

4

 

TKE_PBL

 

el_pbl, exch_h, exch_m

QC,QI

 

5

 

MYNN2

 

ARW

 

1,2,5,(91)

 

QKE

 

Tsq, Qsq, Cov, exch_h, exch_m

 

QC

 

6

 

MYNN3

 

ARW

 

1,2,5,(91)

 

QKE, Tsq, Qsq, Cov

 

exch_h, exch_m

 

QC

 

7

 

ACM2

 

ARW

 

1,7,(91)

 

 

 

 

 

QC,QI

 

8

 

BouLac

 

ARW

 

1,2,(91)

 

TKE_PBL

 

el_pbl, exch_h, exch_m, wu_tur, wv_tur, wt_tur, wq_tur

QC

 

9

UW

ARW

1,2,(91)

TKE_PBL

exch_h, exch_m

QC

10

TEMF

ARW

10

TE_TEMF

*_temf

QC, QI

12

GBM

ARW

1,(91)

TKE_PBL

el_pbl, exch_tke

 

QC, QI

99

 

MRF

 

ARW/ NMM

 

1,(91)

 

 

 

 

 

QC, QI

 

11

Shin-Hong

ARW

1,(91)

 

 exch_h, tke_diag

QC, QI

* sfclay option 11 was renamed to 1, and original option 1 to 91 in Version 3.6.

 

Summary of Microphysics Options

mp_physics

Scheme

Reference

Added

 

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

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

Thompson

Thompson, Field, Rasmussen and Hall (2008, MWR)

2009

9

Milbrandt 2-mom

Milbrandt and Yau (2005, JAS)

2010

10

Morrison 2-mom

Morrison, Thompson and Tatarskii (2009, MWR)

2008

11

CAM 5.1

Neale et al. (2012, NCAR Tech Note)

2013

13

SBU-YLin

Lin and Colle (2011, MWR)

2011

14

WDM5

Lim and Hong (2010, MWR)

2009

16

WDM6

Lim and Hong (2010, MWR)

2009

17

NSSL 2-mom

Mansell, Ziegler and Bruning (2010, JAS)

2012

18

NSSL 2-mom w/

CCN prediction

Mansell, Ziegler and Bruning (2010, JAS)

2012

19

NSSL 1-mom

 

2013

21

NSSL 1-momlfo

 

2013

22

NSSL 2-mom w/o hail

 

2015

28

Thompson aerosol-aware

Thompson and Eidhammer (2014, JAS)

2014

30

HUJI SBM ‘fast’

Khain et al. (2010, JAS)

2014

32

HUJI SBM full

Khain et al. (2004, JAS)

2014

 

mp_physics

Scheme

Cores

Mass Variables

Number Variables

1

Kessler

ARW

Qc Qr

 

 

2

Lin (Purdue)

ARW (Chem)

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

 

 

8

Thompson

ARW/NMM

Qc Qr Qi Qs Qg

Ni Nr

9

Milbrandt 2-mom

ARW

Qc Qr Qi Qs Qg Qh

Nc Nr Ni Ns Ng Nh

10

Morrison 2-mom

ARW (Chem)

Qc Qr Qi Qs Qg

Nr Ni Ns Ng

11

CAM 5.1

ARW

Qc Qr Qi Qs Qg

Nr Ni Ns Ng

13

SBU-YLin

ARW

Qc Qr Qi Qs

 

14

WDM5

ARW

Qc Qr Qi Qs

Nn** Nc Nr

16

WDM6

ARW

Qc Qr Qi Qs Qg

Nn** Nc Nr

17

NSSL 2-mom

ARW

Qc Qr Qi Qs Qg Qh

Nc Nr Ni Ns Ng Nh

18

NSSL 2-mom

+CCN

ARW

Qc Qr Qi Qs Qg Qh

Nc Nr Ni Ns Ng Nh Nn Vg

19

NSSL 1-mom

ARW

Qc Qr Qi Qs Qg Qh

Vg***

21

NSSL 1-momlfo

ARW

Qc Qr Qi Qs Qg

 

22

/nssl 2-mom

ARW

Qc Qr Qi Qs Qg

Nc Nr Ni Ns Ng

28

Thompson aerosol-aware

ARW/NMM

Qc Qr Qi Qs Qg

Ni Nr Nwf Nif

30

HUJI fast

ARW

Qc Qr Qs Qg Qi

Nc Nr Ns Ni Ng Nn

32

HUJI full

ARW

Qc Qr Qs Qg Qh Qip Qic Qid Qnn

Nc Nr Ns Ng Nip Nic Nid Nn

* Advects only total condensates   ** Nn = CCN number  *** Vg: graupel volume

 

Summary of Cumulus Parameterization Options

cu_physics

Scheme

Reference

Added

 

1

Kain-Fritsch

Kain (2004, JAM)

2000

2

Betts-Miller-Janjic

Janjic (1994, MWR; 2000, JAS)

2002

3

Grell-Freitas

Grell et al. (2013)

2013

4

Old Simplied Arakawa-Schubert

Pan and Wu (1995), NMC Office Note 409

 

2005/

2011

5

Grell-3

-

2008

6

Tiedtke

Tiedtke (1989, MWR), Zhang et al. (2011, MWR)

2011

7

Zhang-McFarlane

Zhang and McFarlane (1995, AO)

2011

11

Multi-scale KF

Zheng et al. (2015, MWR)

2015

14

New SAS

Han and Pan (2011, Wea. Forecasting)

2011

16

New Tiedtke

 

2015

84

New SAS (HWRF)

Han and Pan (2011, Wea. Forecasting)

2012

93

Grell-Devenyi

Grell and Devenyi (2002, GRL)

2002

99

Old Kain-Fritsch

Kain and Fritsch (1990, JAS; 1993, Meteo. Monogr.)

2000

 

cu_physics

Scheme

Cores

Moisture Tendencies

Momentum Tendencies

Shallow Convection

1

Kain-Fritsch

ARW / NMM

Qc Qr Qi Qs

no

 

yes

2

BMJ

ARW / NMM

-

no

 

yes

3

GF

ARW

Qc Qi

no

yes

4

OSAS

ARW / NMM

Qc Qi

yes (NMM)

yes (ARW)

5

G3

ARW

Qc Qi

no

yes

6

Tiedtke

ARW / NMM

Qc Qi

yes

yes

7

Zhang-McFarlane

ARW

Qc Qi

yes

no

11

Multi-scale KF

ARW

Qc Qr Qi Qs

no

yes

14

NSAS

ARW

Qc Qr Qi Qs

yes

yes

16

New Tiedtke

ARW

Qc Qi

yes

yes

84

NSAS (HWRF)

NMM

Qc Qi

yes

 

93

GD

ARW

Qc Qi

no

no

99

old KF

ARW

Qc Qr Qi Qs

no

no

 

Summary of Radiation Physics Options

ra_sw_physics

Scheme

Reference

Added

1

Dudhia

Dudhia (1989, JAS)

2000

2

Goddard

Chou and Suarez (1994, NASA Tech Memo)

2000

3

CAM

Collins et al. (2004, NCAR Tech Note)

2006

4

RRTMG

Iacono et al. (2008, JGR)

2009

24

RRTMG

Fast version

2015

5

New

Goddard

Chou and Suarez (1999, NASA Tech Memo)

2011

7

FLG

Gu et al. (2011, JGR), Fu and Liou (1992, JAS)

2012

99

GFDL

Fels and Schwarzkopf (1981, JGR)

2004

 

ra_sw_
physics

Scheme

Cores+Chem

Microphysics Interaction

Cloud Fraction

Ozone

1

Dudhia

ARW NMM + Chem(PM2.5)

Qc Qr Qi Qs Qg

1/0

none

2

GSFC

ARW+Chem(τ)

Qc Qi

1/0

5 profiles

3

CAM

ARW

Qc Qi Qs

max-rand overlap

lat/month

4

RRTMG

ARW + Chem (τ), NMM

Qc Qr Qi Qs

max-rand overlap

1 profile or lat/month

24

RRTMG

 

 

 

 

5

New Goddard

ARW

Qc Qr Qi Qs Qg

1/0

5 profiles

7

FLG

ARW

Qc Qr Qi Qs Qg

1/0

5 profiles

99

GFDL

ARW NMM

Qc Qr Qi Qs

max-rand overlap

lat/date

 

ra_lw_physics

Scheme

Reference

Added

1

RRTM

Mlawer et al. (1997, JGR)

2000

3

CAM

Collins et al. (2004, NCAR Tech Note)

2006

4

RRTMG

Iacono et al. (2008, JGR)

2009

24

RRTMG

Fast version

2015

5

New

Goddard

Chou and Suarez (1999, NASA Tech Memo)

2011

7

FLG

Gu et al. (2011, JGR), Fu and Liou (1992, JAS)

2012

31

Held-Suarez

 

2008

99

GFDL

Fels and Schwarzkopf (1981, JGR)

2004

 

ra_lw_
physics

Scheme

Cores+Chem

Microphysics Interaction

Cloud Fraction

Ozone

GHG

1

RRTM

ARW NMM

Qc Qr Qi Qs Qg

1/0

1 profile

constant or yearly GHG

3

CAM

ARW

Qc Qi Qs

max-rand overlap

lat/month

yearly CO2 or yearly GHG

4

RRTMG

ARW + Chem (τ), NMM

Qc Qr Qi Qs

max-rand overlap

1 profile or lat/month

constant or yearly GHG

24

RRTMG

 

 

 

 

 

5

New Goddard

ARW

Qc Qr Qi Qs Qg

1/0

5 profiles

constant

7

FLG

ARW

Qc Qr Qi Qs Qg

1/0

5 profiles

constant

31

Held-Suarez

ARW

none

none

 

none

99

GFDL

ARW NMM

Qc Qr Qi Qs

max-rand overlap

lat/date

constant


Description of Namelist Variables

The following is a description of the namelist variables. The variables that are a function of nests are indicated by (max_dom) following the variable. Also see the Registry/Registry.EM and run/README.namelist files in the WRFV3/ for more detailed information.

Variable Names

Input Option

Description

 

 

 

&time_control

 

options for time control

run_days

1

run time in days

run_hours

0

run time in hours *note: if it is more than 1 day, you 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_minutes

0

run time in minutes

run_seconds

0

run time in seconds

start_year (max_dom)

2012

4 digit year of starting time

start_month (max_dom)

06

2 digit month of starting time

start_day (max_dom)

11

2 digit day of starting time

start_hour (max_dom)

12

2 digit hour of starting time

start_minute (max_dom)

00

2 digit minute of starting time

start_second (max_dom)

00

2 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

end_year (max_dom)

2012

4 digit year of ending time

end_month (max_dom)

06

2 digit month of ending time

end_day (max_dom)

12

2 digit day of ending time

end_hour (max_dom)

12

2 digit hour of ending time

end_minute (max_dom)

00

2 digit minute of ending time

end_second (max_dom_

00

2 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.  You 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 the end times.  The program real.exe uses start and end times only

interval_seconds

10800

time interval between the incoming real data, which will be the interval between the lateral boundary condition file (for real only)

input_from_file (max_dom)

.true.

(logical); whether the nested run will have input files for domains other than domain 1

fine_input_stream (max_dom)

 

selected fields from nest input

 

0

(default) all fields from nest input are used

 

2

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_interval (max_dom)

60

history output file interval in minutes (integer only)

history_interval_d (max_dom)

1

history output file interval in days (integer only); used as an alternative to history_interval

history_interval_h (max_dom)

1

history output file interval in hours (integer only); used as an alternative to history_interval

history_interval_m (max_dom)

1

history output file interval in minutes (integer only); used as an alternative to history_interval and is equivalent to history_interval

history_interval_s (max_dom)

1

history output file interval in seconds (integer only); used as an alternative to history_interval

frames_per_outfile (max_dom)

1

number of output times bulked into each history file; used to split output files into smaller pieces

restart

.false.

(logical); whether this run is a restart

restart_interval

1440

restart output file interval in minutes

override_restart_timers (new since V3.5.1)

.false.

(default) uses all output intervals (including history) given by the wrfrst files

 

.true.

uses restart output intervals given by the namelist

write_hist_at_0h_rst

.false.

(default) does not give a history file at the initial time of restart (prevents overwriting original history file at this time)

 

.true.

gives a history file at the initial time of restart

output_ready_flag (new since V3.7)

.true.

asks the model to write-out an empty file with the name 'wrfoutReady_d<domain>_<date>; Useful in production runs so that post-processing code can check on the completeness of this file.

reset_simulation_start

.false.

whether to overwrite the simulation start date with the forecast start time

auxinput1_inname

"met_em.d<domain><date>"

(default); name of input file from WPS

auxinput4_inname

"wrflowinp_d<domain>"

name of input file for lower boundary file; works with sst_update = 1

auxinput4_interval (max_dom)

360

file interval in minutes for lower boundary file; works with sst_update = 1

io_form_auxinput4

2

IO format for wrflowinp files; required for V3.2; works with sst_update = 1

io_form_history

 

the format in which the history output file will be

 

2

netCDF

 

102

split netCDF files, one per processor  *note:  no supported post-processing software for split files

 

1

binary format *note:  no supported post-processing software available

 

4

PHDF5 format *note:  no supported post-processing software available

 

5

GRIB1

 

10

GRIB2

 

11

parallel netCDF

io_form_restart

 

the format in which the restart output files will be

 

2

nedCDF

 

102

split netCDF files, one per processor (must restart with the same number of processors)

io_form_input

 

the format of the input files

 

2

netCDF

 

102

allows the program real.exe to read in split met_em* files, and write split wrfinput files.  No split file for the wrfbdy file.

io_form_boundary

 

the format for the wrfbdy file

 

2

netCDF format

 

4

PHD5 format

 

5

GRIB1 format

 

10

GRIB2 format

 

11

pnetCDF format

ncd_nofill

.true.

(default) only a single write, not the write/read/write sequence (new in V3.6)

io_form_auxinput2

 

IO format for input stream 2 data

 

2

netCDF format

 

4

PHD5 format

 

5

GRIB1 format

 

10

GRIB2 format

 

11

pnetCDF format

diag_print

0

(default) When set to 1 or 2, it allows some simple diagnostic fields to be output

 

1

domain-averaged 3-hourly hydrostatic surface pressure tendency (Dpsfc/Dt), and dry-hydrostatic column pressure tendency (Dmu/Dt) will appear in stdout file.

 

2

in addition to those listed above, domain-averaged rainfall, surface evaporation, and sensible and latent heat fluxes will be output in stdout file.

debug_level

0

giving this a larger value (50, 100, 200, etc.) increases the debugging print-outs when running WRF

auxhist2_outname

"rainfall_d<domain>"

file name to write additional output to a different unit or output stream.. If not specified, auxhist2_d<domain>_<date> will be used.  Also note that to write variables in output other than the history file requires either a change in the Registry.EM_COMMON file, or the use of the option iofields_filename option.

auxhist2_interval (max_dom)

10

the interval in minutes for the output

io_form_auxhist2

 

output format for using auxhist2

 

2

netCDF format

 

4

PHD5 format

 

5

GRIB1 format

 

10

GRIB2 format

 

11

pnetCDF format

frames_per_auxhist2 (max_dom)

1000

how many output times will be in each output file

auxinput11_interval

10

interval in minutes for obs nudging input.  It should be set as the same (or more) frequency as obs_ionf (with the unit of the coarse domain time step)

auxinput11_end_h

6

end of the observation time (in hours), when using the diag_print option

nocolons

.false.

when set to .true. this replaces the colons with underscores in the output file names

write_input

.true.

write input-formatted data as output for 3DVAR application

inputout_interval

180

interval in minutes when using the write_input option

input_outname

"wrf_3dvar_input_d<domain>_<date>"

Output file name from 3DVAR

inputout_begin_y

0

beginning year to write 3DVAR data

inputout_begin_d

0

beginning day to write 3DVAR data

inputout_begin_h

3

beginning hour to write 3DVAR data

inputout_begin_m

0

beginning minute to write 3DVAR data

inputout_begin_s

0

beginning second to write 3DVAR data

inputout_end_y

0

ending year to write 3DVAR data

inputout_end_d

0

ending day to write 3DVAR data

inputout_end_h

12

ending hour to write 3DVAR data

inputout_end_m

0

ending minute to write 3DVAR data

inputout_end_s

0

ending second to write 3DVAR data

 

 

*NOTE:  The above example shows that the input-formatted data are output starting from hour 3 to hour 12 in a 180-min interval.

all_ic_times

.false.

when set to .true., allows you to output a wrfinput file for all time periods

adjust_output_times

.false.

(default); adjust output times to the nearest hour

output_ready_flag (new since V3.6.1)

.true.

(default = .false.); when turned on, the model will write out an empty file with the name wrfoutReady_d<domain>_<date>. This is useful in production runs so that post-processing code can check on the existence of this file to start doing processing.

output_diagnostics (new since V3.3.1)

0

turned off

 

1

36 surface diagnostic arrays (max/min/mean/std) in the time interval are specified.  The output goes to auxiliary history output stream 3 with default file name 'wrfxtrm_d<domain>_<date>.'  You must also set io_form_auxhist3 =2, auxhist3_interval = 1440, 1440, and frames_per_auxhist3 = 1000, 1000. Note: do restart only at multiple of auxhist3_intervals

nwp_diagnostics (new since V3.5)

0

turned off

For automatic moving nests

input_from_hires (max_dom) (new since V3.6)

.false.

When set to .true., high-resolution terrain and landuse will be used in the nests (requires special input data, and environment variable TERRAIN_AND_LANDUSE set at compile time). This optin will overwrite input_from_file option for nest domains.

rsmas_data_path

high-res-data-directory

Directory path where the high-res data is

 

1

output 7 history-interval maximum or mean diagnostic fields in wrfout: 10 m surface wind max, max positive and negative w, max helicity in the 2-5 km layer, mean w, max column-integrated graupel

iofields_filename (max_dom)

"my_iofields_list.txt"

an option to request particular variables to appear in output, if they are not already, or to not appear if they do and you do not want them to.  You must also create a text file (my_iofields_list.txt) in which you will declare the variables to be output.  It will be a single line of text, e.g.:  +:h:7:RAINC,RAINNC or -:h:0:RAINC,RAINNC

ignore_iofields_warning

.true.

tells the model to continue if an error is encountered in the user-specified files

 

.false.

tells the model to abort if an error is encountered in the user-specified files

 

 

 

&domains

 

dimensions, nesting, parameters

time_step

60

time step for integration seconds (recommended 6*dx in km for a typical case)

time_step_fract_num

0

numerator for fractional time step

time_step_fract_den

1

denominator for fractional time step.  E.g., 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_dfi

60

time step when setting dfi_opt = 1, may be different from the regular time step

max_dom

1

the number of domains over which you are running

s_we (max_dom)

1

start index in x (west-east) direction (leave as is)

e_we (max_dom)

91

end index in x (west_east) direction (staggered dimension)

s_sn (max_dom)

1

start index in y (south-north) direction (leave as is)

e_sn (max_dom)

82

end index in y (south-north) direction (staggered dimension)

s_vert (max_dom)

1

start index in z (vertical) direction (leave as is)

e_vert (max_dom)

30

end index in z (vertical) direction (staggered dimension -- this refers to full levels).  Most variables are on unstaggered levels.  *Note:  Vertical dimensions need to be the same for all nests

dx (max_dom)

30000

grid length in x-direction (in meters)

dy (max_dom)

30000

grid length in y-direction (in meters)

ztop (max_dom)

19000

height in meters; used to define model top for idealized cases

grid_id (max_dom)

1

domain identifier

parent_id (max_dom)

0

ID of the parent domain

i_parent_start (max_dom)

1

the starting lower-left corner i-indice from the parent domain

j_parent_start (max_dom)

1

the starting lower-left corner j_indice from the parent domain

parent_grid_ratio (max_dom)

1

parent-to-nest domain grid size ratio.  *Note:  for real data cases the ratio must be odd; for ideal data cases, the ratio can be even if feedback is set to 0.

parent_time_step_ratio (max_dom)

1

parent-to-nest time step ratio; this can be different from the parent_grid_ratio

feedback

0

no feedback

 

1

feedback from nest to its parent domain

smooth_option

0

no smoothing

 

1

1-2-1 smoothing option for parent domain; used only with feedback=1

 

2

(default) smoothing-desmoothing option for parent domain; used only with feedback=1

hypsometric_opt

2

(default changed to 2 beginning V3.4)

(default) computes height in program real.exe and pressure in the model (ARW only) by using an alternative method (less biased when compared against input data)

 

1

original method                       

max_ts_locs

5

maximum number of time series locations

max_ts_level (new since V3.7)

15

highest model level for profile output

Options for Program real.exe

 

 

num_metgrid_levels

40

number of vertical levels in WPS output (type ncdump -h on one of the met_em* files to find out this number)

num_metgrid_soil_levels

4

number of soil levels or layers in WPS output (type ncdump -h on one of the met_em* files to find out this number)

eta_levels

1.0, 0.99, ...0.0

model eta levels from 1 to 0.  If not given, real will provide a set of levels

Horizontal interpolation options, coarse grid to fine grid

 

 

interp_method_type (new since V3.7)

 

The default is to use the Smolarkiewicz "SINT" method; however, this is known to break with the implementation inside of WRF for large refinement ratios (such as 15:1).  For those extreme and rare occurrences, other schemes ar available.  For options 1, 3, 4, and 12, the FG lateral boundaries use the same horizontal scheme for the lateral BC computations

 

1

bi-linear interpolation

 

2

(default) SINT

 

3

nearest-neighbor - only to be used for testing purposes

 

4

overlapping quadratic

 

12

for testing only, uses SINT horizontal interpolation, and same scheme for computation of FG lateral boundaries

Vertical interpolation options

 

 

force_sfc_in_vinterp

1

(default) use the surface level as the lower boundary when interpolating through this many eta levels

 

0

perform traditional trapping interpolation

maxw_horiz_pres_diff (new since V3.6.1)

5000

(default) Pressure threshold (Pa).  For using the level of max winds when the pressure difference between neighboring values exceeds this maximum, the variable is NOT inserted into the column for vertical interpolation.  ARW real only.

trop_horiz_pres_diff (new since V3.6.1)

5000

(default) Pressure threshold (Pa).  For using the tropopause level when the pressure difference between neighboring values exceeds this maximum, the variable is NOT inserted into the column for vertical interpolation.  ARW real only.

maxw_above_this_level (new since V3.6.1)

30000

(default) minimum height (it is actually pressure in Pa) to allow using the level of max wind information in real.  With a value of 300 hPa, then a max wind value at 500 hPa will be ignored.  ARW real only.

use_maxw_level (new since V3.7.1)

1

use max wind speed level in vertical interpolation inside of the ARW real program (default = 0; do not use level)

use_trop_level (new since V3.7.1)

1

same as above, but with tropopause level data (default = 0; do not use)

interp_theta (new since V3.3.1)

.false.

(default changed to .false. beginning V3.4)

(default) vertically interpolates temperature (which may reduce bias when compared with input data)

 

.true.

vertically interpolates potential temperature

p_top_requested

5000

pressure top (in Pa) to use in the model; must be available in WPS data

interp_type

2

(default) vertical interpolation that is linear in log(pressure)

 

1

vertical interpolation that is linear in pressure

extrap_type

2

(default) vertical extrapolation of non-temperature variables, using the lowest level as constant below ground

 

1

vertical extrapolation of non-temperature variables, using the 2 lowest levels

t_extrap_type

 

vertical extrapolation for potential temp:

 

2

(default) -6.5 K/km lapse rate for temperature

 

1

isothermal

 

3

constant theta

use_levels_below_ground

 

in vertical interpolation, whether to use levels below input surface level

 

.true.

(default) use input isobaric levels below input surface

 

.false.

extrapolate when WRF location is below input surface level

use_surface

.true.

(default) uses input surface level data in vertical interpolation

 

.false.

do not use input surface data

lagrange_order

2

(default changed to 2 beginning V3.4)

(default) quadratic vertical interpolation order

 

1

linear vertical interpolation order

 

9

Cubic spline

lowest_lev_from_sfc

.false.

(default) use traditional interpolation

 

.true.

use surface values for the lowest eta (u,v,t,q)

sfcp_to_sfcp

.true

optional method to compute model's surface pressure when incoming data only has surface pressure and terrain, but not sea-level pressure (default is .false.)

use_tavg_for_tsk

.true.

uses diurnally-averaged surface temp as skin temp.  The diurnally-averaged surface temp can be computed using WPS utility avg_tsfc.exe.  May use this option when SKINTEMP is not present (default is .false.)

rh2qv_wrt_liquid (new since V3.3)

.true.

(default) computes qv with respect to liquid water

 

.false.

computes qv with respect to ice

rh2qv_method (new since V3.3)

 

which method to use to computer mixing ratio from RH: 

 

1

(default) old MM5 method

 

2

uses a WMO recommended method (WMO-No. 49, corrigendum, August 2000)

smooth_cg_topo

.true.

smooths the outer rows and columns of the domain 1 topography with respect to the input data (default is .false.)

vert_refine_fact

1

vertical refinement factor for ndown (1 = same number of vertical levels as the coarse domain, 2 = double the vertical resolution, and so on)

Options for Preset Moving Nest

 

 

num_moves

2

total # of moves for all domains

move_id (max_moves)

2, 2,

a list of nest domain ID's, one per move

move_interval (max_moves)

60, 120,

time in minutes since the start of this domain

move_cd_x (max_moves)

1, -1,

the # of parent domain grid cells to move in the i-direction

move_cd_y (max_moves)

-1, 1,

the # of parent domain grid cells to move in the j-direction (positive in increasing i/j directions, and negative in decreasing i/j directions.  Only 1, 0, and -1 is permitted.

Options for Automatic Moving Nest

 

 

vortex_interval (max_dom)

15

how often the new vortex position is computed (in mins)

max_vortex_speed (max_dom)

40

used to compute the search radius for the new vortex position (in m/s)

corral_dist (max_dom)

8

how close the moving nest is allowed to get to the coarse grid boundary.  This # sets the minimum limit of grid cells allowed between them.

track_level

50000

pressure level value (Pa) at which the tropical storm vortex is tracked

time_to_move (max_dom)

0.,

time (in mins) to start moving nest

Options for Adaptive Time Step

 

 

use_adaptive_time_step

.true.

use adaptive time step (default is .false.)

step_to_output_time

.true.

modifies the time step so that the exact history time is reached

target_cfl (max_dom)

1.2., 1.2., 1.2.,

if vertical CFL £ this value, then time step is increased

target_hcfl (max_dom) (new since V3.3)

0.84, 0.84, 0.84,

if horizontal CFL £ this value, the time step is increased

max_step_increase_pct (max_dom)

5, 51, 51,

percentage of previous time step to increase if the max CFL is £ target_cfl

starting_time_step (max_dom)

-1, -1, -1,

flag -1 implies 6*dx is used to start the model.  Any positive integer specifies the time step the model will use to start (in seconds).  *Note:  when use_adapative_time_step = .true., the value specified for time_step is ignored.

starting_time_step_den (max_dom) (new since V3.6)

0

denominator for starting_time_step (so that fractional time step can be used)

max_time_step (max_dom)

-1, -1, -1,

flag -1 implies the maximum time step is 3*starting_time_step.  Any positive integer specifies the maximum time step (in seconds).

max_time_step_den (max_dom) (new since V3.6)

0

denominator for max_time_step

min_time_step (max_dom)

-1, -1, -1,

flag -1 implies the minimum time step is 0.5*starting_time_step.  Any positive integer specifies the minimum time step (in seconds).

min_time_step_den (max_dom) (new since V3.6)

0

denominator for min_time_step

adaptation_domain

1

(default) specifies which domain to use to drive adaptive time stepping

Options to Control Parallel Computing

 

 

tile_sz_x

0

number of points in tile x direction (open MP only)

tile_sz_y

0

number of points in tile y direction; can be determined automatically (open MP only)

numtiles

1

number of tiles per patch (alternative to above 2 items; open MP only)

nproc_x

-1

(default) turned off; code will do automatic decomposition (MPI only)

 

>1

number of processors in x for decomposition (MPI only)

nproc_y

-1

(default) turned off; code will do automatic decomposition (MPI only)

 

>1

number of processors in y for decomposition (MPI only)

Options for 3D Ocean Model

 

 

ocean_levels

30

(default) number of ocean levels when using sf_ocean_physics = 2

ocean_z

(values for # of ocean_levels)

vertical profile of layer depth (m) for number of ocean_levels.  See /run/README.namelist for more details.

ocean_t

(values for # of ocean_levels)

vertical profile of ocean temps (K) for number of  ocean_levels.

ocean_s

(values for # of ocean_levels

vertical profile of salinity.

 

 

 

&physics

 

 

mp_physics (max_dom)

0

(default) no microphysics

 

1

Kessler scheme

 

2

Lin et al. scheme

 

3

WSM 3-class simple ice scheme

 

4

WSM 5-class scheme

 

5

Ferrier (new Eta) microphysics, operational High-Resolution Window

 

6

WSM 6-class graupel scheme

 

7

Goddard GCE scheme (also uses gsfcgce_hail and gsfcgce_2ice)

 

8

Thompson graupel scheme (2-moment scheme in V3.1)

 

9

Milbrandt-Yau 2-moment scheme

 

10

Morrison 2-moment scheme

(new since V3.5)

11

CAM 5.1 5-class scheme

(new since V3.3)

13

SBU_YLin, 5-class scheme

 

14

WRF double moment, 5-class scheme

 

16

WRF double moment, 6-class scheme

(new since V3.4)

17

NSSL 2-moment 4-ice scheme (steady background CCN)

(new since V3.4)

18

NSSL 2-moment 4-ice scheme with predicted CCN (better for idealized than real cases); to set a global CCN value, use nssl_cccn = 0.7e9 (CCN for NSSL scheme 18).  Also sets same value to ccn_conc for mp_physics = 18.

(new since V3.5)

19

NSSL 1-moment, 6-class scheme

(new since V3.5)

21

NSSL-LFO 1-moment, 6-class; very similar to Gilmore et al. 2004; can set intercepts and particle densities in physics namelist, e.g., nssl_cnor for NSSL 1-moment schemes, intercept and particle densities can be set for snow, graupel, hail, and rain.  For the 1- and 2-moment schemes, the shape parameters for graupel and hail can be set.  See /WRFV3/run/README.namelist file for specifics

(new since V3.7)

22

NSSL 2-moment 3-ice scheme, no hail.

(new since V3.6)

28

aerosol-aware Thompson scheme with water- and ice-friendly aerosol climatology (new for V3.6); this option has 2 climatological aerosol input options: use_aero_icbs = .F. (use constant values), and use_aero_icbc = .T. (use input from WPS)

(new since V3.6)

30

HUJI (Hebrew University of Jerusalem, Israel) spectral bin microphysics, fast version

(new since V3.6)

32

HUJI spectral bin microphysics, full version

 

95

Ferrier (old Eta), operational NAM (WRF NMM)

 

98

Thompson scheme in V3.0

do_radar_ref
(new since V3.4.1)

0

allows radar reflectivity to be computed using mp-scheme- specific parameters. Currently works for mp_physics = 2,4,6,7,8,10,14,16
0: off
1: on

mp_zero_out

 

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 the moist_adv_opt.

 

0

(default) no action taken; no adjustment to any moisture field

 

1

except for Qv, all other moisture arrays are set to zero if they fall below a critical value

 

2

Qv ³ 0 and all other moisture arrays are set to zero if they fall below a critical value

mp_zero_out_thresh

1.e-8

critical value for moisture variable threshold, below which moisture arrays (except for Qv) are set to zero (unit:  kg/kg)

mp_tend_lim

10.

limit on temp tendency from microphysics latent heating when radar data assimilation is used

gsfcgce_hail

0

(default) running gsfcgce scheme with graupel

 

1

running gsfcgce scheme with hail

gsfcgce_2ice

0

(default) running gsfcgce scheme with snow, ice, and graupel/hail

 

1

running gsfcgce scheme with only ice and snow (gsfcgce_hail is ignored)

 

2

running gsfcgce scheme with only ice and graupel (used only in very extreme situation; gsfcgce_hail is ignored)

ccn_conc (new name since V3.7)

1.0E8

(default) CCN concentration; used by WDM schemes (previously afwa_ccn_conc, new in V3.6.1)

hail_opt (new name since V3.7)

 

hail/graupel switch for WSM6, WDM6, and Morrison schemes (previously afwa_hail_opt, new in V3.6.1)

The following 9 namelists are for NSSL 1-moment schemes

nssl_alpha

0

shape parameter for graupel

nssl_alphal

2

shape parameter for hail

nssl_cnoh

4.e5

graupel intercept

nssl_cnohl

4.e4

hail intercept

nssl_cnor

8.e5

rain intercept

nssl_cnos

3.e6

snow intercept

nssl_rho_qh

500.

graupel density

nssl_rho_ghl

900.

hail density

nssl_rho_qs

100.

snow density

no_mp_heating

1

turn off latent heating from a microphysics scheme (0 is off and is default)

ra_lw_physics (max_dom)

0

(default) no longwave radiation

 

1

rrtm scheme
(Default values for GHG in V3.5: co2vmr=379.e-6, n2ovmr=319.e-9, ch4vmr=1774.e-9; Values used in previous versions: co2vmr=330.e-6, n2ovmr=0., ch4vmr=0.)

 

3

CAM scheme
*Note: restart must be at 6-hourly interval; also requires levsiz, paerlev, cam_abs_dim1(2); see below

 

4

rrtmg scheme
(Default values for GHG in V3.5: co2vmr=379.e-6, n2ovmr=319.e-9, ch4vmr=1774.e-9)

(new since V3.7)

24

fast rrtmg scheme for GPU and MIC

(new since V3.3)

5

Goddard scheme

(new since V3.4)

7

FLG (UCLA) scheme

 

31

Earth Held-Suarez forcing

 

99

GFDL (Eta) longwave (semi-supported); also must use co2tf = 1 for ARW

ra_sw_physics (max_dom)

0

(default) no shortwave radiation

 

1

Dudhia scheme (ptop > 50 mb)

 

2

(old) Goddard shortwave scheme

 

3

CAM scheme (restart must be at 6-hourly interval); must set levsiz, paerlev, cam_abs_dim1/2

 

4

rrtmg scheme

(new since V3.7)

24

fast rrtmg scheme for GPU and MIC

(new since V3.3)

5

Goddard scheme

(new since V3.4)

7

FLG (UCLA) scheme

 

99

GFDL (Eta) longwave (semi-supported); must use co2tf = 1 for ARW

radt (max_dom)

30

minutes between radiation physics calls.  Recommended 1 minute per km of dx (e.g. 10 for 10 km grid); use the same value for all nests

swint_opt (new since V3.5.1)

 

Interpolation of shortwave radiation based on the updated solar zenith angle between radiation calls

 

0

no interpolation

 

1

use interpolation

ra_call_offset

0

default; call radiation after output time

 

-1

may call radiation just before output time.

co2tf

1

CO2 transmission function flag for GFDL radiation only.  Set it to 1 for ARW, which allows generation of CO2 function internally

* Note:  The following 5 variables for CAM are automatically set since V3.2

cam_abs_freq_s

21600

default CAM clear sky longwave absorption calculation frequency (recommended minimum value to speed scheme up)

levsiz

59

(default) number of ozone data levels for  CAM radiation

paerlev

29

(default) number of aerosol data levels for CAM radiation

cam_abs_dim1

4

(default) dimension for absnxt (absorption save array) in CAM radiation

cam_abs_dim2

same as e_vert

(default) dimension for abstot (2nd absorption save array) in CAM radiation

o3input (new since V3.5)

 

ozone input option (RRTMG only)

 

0

using  profile inside the scheme

 

2
(became default in V3.7)

using CAM ozone data (ozone.formatted)

aer_opt

 

aerosol input option (RRTMG only)

 

0

off

(new since V3.5)

1

using Tegen climatology

(new since V3.6)

2

using J. A. Ruiz-Arias method (see other aer* options)

alevsiz

12

no of vertical levels in aerosol data. Value set automatically.

no_src_types

6

no of aerosol types: organic and black carbon, sea salt, sulfate, dust and stratospheric aerosol (volcanic ash – currently 0).  Value set automatically.

 

0

do not interpolate (default)

 

1

interpolate

*The following aerosol options allow RRTMG and new Goddard radiation schemes to see it, but the aerosols are constant during the model integration

aer_aod550_opt

1

(default) input constant value for AOD at 550 nm from namelist; in this case, the value is read from aer_aod550_val

 

2

input value from auxiliary input 5; it is a time-varying 2D grid in netcdf wrf-compatible format.

aer_aod550_val

0.12

(default) value to be used with  aer_aod550_opt = 1

aer_angexp_opt

1

(default) input constant value for Angstrom exponent from namelist.  In this case, the value is read from aer_angexp_val

 

2

input value from auxiliary input 5, as in aer_aod550_opt

 

3

Angstrom exponent value estimated from the aerosol type defined in aer_type, and modulated with the RH in WRF. 

aer_angexp_val

1.3

(default) value to be used with  aer_angexp_opt = 1

aer_ssa_opt

1

(default)  input constant value for single scattering albedo from namelist.  In this case, the value is read from aer_ssa_val

 

2

input value from auxiliary input 5, as in aer_aod550_opt

 

3

single scattering albedo value estimated from the aerosol type defined in aer_type, and modulated with the RH in WRF. 

aer_ssa_val

0.85

(default) value to be used with  aer_ssa_opt = 1

aer_asy_opt

1

(default)  input constant value for asymmetry parameter from namelist.  In this case, the value is read from aer_asy_val

 

2

input value from auxiliary input 5, as in aer_aod550_opt

 

3

asymmetry parameter value estimated from the aerosol type defined in aer_type, and modulated with the RH in WRF. 

aer_asy_val

0.9

(default) value to be used with  aer_asy_opt = 1

aer_type

 

aerosol type to be used with the above aerosol options

 

1

(default) rural

 

2

urban

 

3

maritime

sf_sfclay_physics (max_dom)

 

surface layer option

 

0

(default) no surface-layer

 (since V3.6; option 11 for V3.4 and V3.5)

1

Revised MM5 Monin-Obukhov scheme (Jimenez, renamed in v3.6)

 

2

Monin-Obukhov (Janjic Eta) scheme

 

3

NCEP GFS scheme (NMM only)

 

4

QNSE

 

5

MYNN

 

7

Pleim-Xiu (ARW only), only tested with Pleim-Xiu surface and ACM2 PBL

(new since V3.3)

10

TEMF (ARW only)

(since V3.6; option 1 in earlier versions)

91

old MM5 surface layer scheme (previously option 1)

iz0tlnd (new since V3.2)

 

switch to control land thermal roughness length

 

0

(default) old, or non-vegetation dependent thermal roughness length over land

 

1

veg dependent Chen-Zhang Czil

sf_surface_physics (max_dom)

 

land-surface option (set this before running real.exe; also make sure num_soil_layers is set correctly)

 

0

(default) no surface temp prediction

 

1

thermal diffusion scheme

 

2

unified Noah land-surface model

 

3

RUC land-surface model

(new since V3.4)

4

Noah-MP land-surface model (additional options under the &noah_mp section)

(new since V3.5)

5

CLM4 (Community Land Model Version 4)

 

7

Pleim-Xiu scheme (ARW only)

(new since V3.4)

8

SSiB land-surface model (ARW only).  Works with ra_lw_physics = 1, 3, or 4, and ra_sw_physics = 1, 3, or 4

sf_urban_physics

 

activate urban canopy model (in Noah LSM only)

 

0

(default) off

 

1

Single-layer, UCM

 

2

Multi-layer, Building Environment Parameterization (BEP) scheme (works only with the MYJ and BouLac PBL)

 

3

Multi-layer, Building Environment Model (BEM) scheme (works only with MYJ and BouLac PBL)

ua_phys (new since V3.5)

.false.

Option to activate UA Noah LSM changes to use a different snow-cover physics. Aimed toward improving treatment of snow as it relates to the vegetation canopy.

num_soil_layers

 

number of soil layers in land surface model (set before running real.exe)

 

5

(default) thermal diffusion scheme for temp only

 

4

Noah land-surface model

 

6 or 9

RUC land-surface model

 

10

CLM4 land-surface model

 

2

Pleim-Xu land-surface model

 

3

SSiB land-surface model

bl_pbl_physics (max_dom)

 

boundary layer option

 

0

(default) no boundary-layer

 

1

YSU scheme; use sf_sfclay_physics =1

 

2

Mellor-Yamada-Janjic (Eta) TKE scheme; use sf_sfclay_physics=2

 

3

NCEP GFS scheme (NMM only); use sf_sfclay_physics=3

 

4

QNSE-EDMF; use sf_sfclay_physics=4

 

5

MYNN 2.5 level TKE; use sf_sfclay_physics=1, 2, or 5

 

6

MYNN 3rd level TKE; use sf_sfclay_physics=5

 

7

ACM2 (Pleim) scheme (ARW only); use sf_sfclay_physics=1 or 7

 

8

Bougeault and Lacarrere (BouLac) TKE; use sf_sfclay_physics=1 or 2

(new since V3.3)

9

Bretherton-Park/UW TKE scheme; use sf_sfclay_physics=1 or 2

(new since V3.3)

10

TEMF scheme (ARW only); use  sf_sfclay_physics=10

(new since V3.7)

11

Shin-Hong 'scale-aware' PBL scheme

(new since V3.5)

12

GBM TKE-type scheme (ARW only); use  sf_sfclay_physics=1

 

99

MRF scheme (to be removed in the future)

mfshconv (max_dom)

1

turns on day-time EDMF for QNSE (0=off)

bldt (max_dom)

0

minutes between boundary-layer physics calls (0=call every time step)

topo_wind (max_dom) (new since V3.4)

 

turns on topographic surface wind correction, and  requires extra input from geogrid. YSU PBL only

 

0

off

 

1

Jimenez method

 

2

UW method

bl_mynn_tkebudget (max_dom) (new since V3.4.1)

0

(default) off

 

1

adds MYNN tke budget terms to output

bl_mynn_tkeadvect (max_dom) (new since V3.5)

.false.

(default) off; does not advect tke in MYNN scheme (default)

 

.true.

do MYNN tke advection

 

0

(default) turned off

scalar_pblmix (new since V3.6)

0

(default) off

 

1

mix scalar fields consistent with PBL option (exch_h)

tracer_pblmix (new since V3.6)

0

(default) off

 

1

mix tracer fields consistent with PBL option (exch_h)

shinhong_tke_diag (max_dom) (new since V3.7)

0

diagnostic TKE and mixing length from Shin-Hong PBL

sf_surface_mosaic (new since V3.6)

 

option to mosaic landuse categories for Noah LSM

 

0

(default) use dominant category only

 

1

use mosaic landuse categories

mosaic_lu (new since V3.4)

1

option to specify landuse parameters based on a mosaic approach, when using the RUC land surfce model; default is 0 (off)

mosaic_soil (new since V3.4)

1

option to specify soil parameters based on a masaic approach, when using the RUC land surface model; default is 0 (off)

mosaic_cat (new since V3.6)

3

(default) number of mosaic landuse categories in a grid cell

grav_settling (max_dom) (new since V3.5.1)

 

gravitational settling of fog/cloud droplets (Now works for any PBL scheme, since V3.5.1)

 

0

(default) no settling of cloud droplets

 

1

settling from Dyunkerke 1991 (in atmosphere at at surface)

 

2

Fogdes (vegetation and wind speed dependent; Katata et al. 2008) at surface, and Dyunkerke in the atmosphere

ysu_topdown_pblmix (new since V3.7)

1

turns on top-down radiation-driven mixing (default is 0=no)

cu_physics (max_dom)

 

cumulus parameterization option

 

0

(default) no cumulus parameterization

 

1

Kain-Fritsch (new Eta) scheme

 

2

Betts-Miller-Janjic scheme

(new since V3.5, replacing Grell-Devenyi scheme)

3

Grell-Freitas ensemble scheme

(new to ARW since V3.3)

4

Old GFS Simplified Arakawa-Schubert (SAS)

 

5

New Grell scheme (G3)

(new since V3.3)

6

Tiedtke scheme (ARW only)

(new since V3.3)

7

Zhang-McFarlane from CESM (works with MYJ and UW PBL)

(new since V3.7)

11

Multi-scale Kain-Fritsch scheme

(new since V3.3)

14

New GFS SAS from YSU (ARW only)

(new since V3.7)

16

A newer Tiedke scheme

 

84

New SAS (HWRF)

(option 3 before V3.5)

93

Grell-Devenyi ensemble scheme

 

99

previous Kain-Fritsch scheme

cudt

0

minutes between cumulus physics calls; should be set to 0 when using all cu_physics except Kain-Fritsch (0 = call every time step)

kfeta_trigger

1

The way to determines whether a grid point is convective; used only with cu_physics=1.
= 1, default, original.

(new since V3.3)

2

moisture-advection based trigger (Ma and Tan 2009; ARW only)

 

3

relative humidity-dependent

ishallow

1

shallow convection used with cu_physics=3 or 5 (default is 0 = off)

shcu_physics (max_dom)

 

independent shallow cumulus option (not tied to deep convection)

 

0

no independent shallow cumulus

(new since V3.3)

2

Park and Bretherton shallow cumulus from CAM5

(new since V3.5)

3

GRIMS scheme

*Note:  The following 5 options show recommended #'s.  If you would like to use any other number, consult the code to understand what you are doing.

maxiens

1

Grell-Devenyi and G3 only

maxens

3

Grell-Devenyi only

maxens2

3

Grell-Devenyi only

maxens3

16

Grell-Devenyi only

ensdim

144

Grell-Devenyi only

cugd_avedx

1

(default) number of grid boxes over which subsidence is spread, for large grid distances

 

3

for small grid distances (DX < 5 km)

nsas_dx_factor (New since V3.6)

0

(default); off

 

1

nsas grid distance dependent option

cu_diag (max_dom)

0

Additional time-averaged diagnostics from cu_physics (use only with cu_physics=3,5,and 93)

convtrans_avglen_m

30

averaging time for convective transport output variables (in minutes; only use with cu_physics=3,5 and 93)

cu_rad_feedback (max dom)

.true.

sub-grid cloud effect to the optical depth in radiation currently it works only for GF, G3, GD, and KF schemes; also need to set cu_diag = 1 for GF, G3, and GD schemes (default is .false. = off)

isfflx

 

heat and moisture fluxes from the surface for real-data cases and when a PBL is used (only works with sf_sfclay_physics=1, 5, 7, or 11)
1 = fluxes are on
0 = fluxes are off

It also controls surface fluxes when diff_opt = 2 and km_opt  = 3, and a PBL isn’t used
0 =  constant fluxes defined by tke_drag_coefficient and 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

ideal_xland (new since V3.7)

 

sets XLAND for ideal cases with no input land-use run-time switch for wrf.exe physics_init

 

1

land

 

2

water

ifsnow

 

snow-cover effects (only works for sf_surface_physics=1)

 

1

(default) with snow-cover effect

 

0

without snow-cover effect

icloud

 

(default) cloud effect to the optical depth in radiation (only works with ra_sw_physics=1,4 and ra_lw_physics=1,4); since V3.6 this also controls the cloud fraction options

 

1

(default) with cloud effect, and use cloud fraction option 1 (Xu-Randall mehod)

 

0

without cloud effect

 

2

with cloud effect, and use cloud fraction option 2, 0/1 based on threshold

(new since V3.7)

3

with cloud effect, and use cloud fraction option 3, a Sundqvist method (Sundqvist et al. 1989)

swrad_scat

1

scattering tuning parameter; default 1 is 1.e-5 m-2 kg-1 (only for ra_sw_physics=1).  Increase for more scattering.

surface_input_source

 

where landuse and soil category data come from

 

1

(default) WPS/geogrid, but with dominant categories recomputed in real

 

2

GRIB data from another model (only if arrays VEGCAT/SOILCAT exist)

 

3

use dominant land and soil categories from WPS/geogrid

pxlsm_smois_init (max_dom)

 

Pleim-Xu land-surface model soil moisture initialization option

 

0

from analysis

 

1

(default) from LANDUSE.TBL (SLMO, or moisture availability)

num_land_cat

 

number of land categories in input data

 

24

(default) for USGS

 

20

for MODIS

 

28

for USGS if including lake category

 

21

for MODIS if including lake category

 

40

NLCD2006 (North America only)

num_soil_cat

16

number of soil categories in input data

usemonalb

.true.

use monthly albedo map instead of table values (recommended for sst_update=1)

 

.false.

(default) use table values

rdmaxalb

.true.

(default) use snow albedo from geogrid

 

.false.

use snow albedo from table

rdlai2d (data available to use this option since V3.6)

.true.

use LAI  (Leaf Area Index) from input data. If sst_update is 1, then LAI will also appear in wrflowinp file

 

.false.

(default) use LAI from table

seaice_threshold

100.

(default value of 100 since V3.5.1; was 271 in earlier versions)

If skin temp (TSK) is less than this value, water points are changed to sea ice. If water point + 5-layer slab scheme, set to land point and permanent ice; if water point + Noah scheme, set to land point, permanent ice, set temps from 2 m to surface, and set smois and sh2o.   The default value was changed to 100. From 271. in 3.5.1 to avoid mixed-up use with fractional seaice input. Used by sf_surface_physics = 1,2,3,4,8

sst_update

 

option to use time-varying SST, seaice, vegetation fraction, and albedo during a model simulation (set before running real.exe)

 

0

(default) no SST update

 

1

real.exe will create wrflowinp file(s) at the same time interval as the available input data.  These files contain SST, XICE, ALBEDO, and VEGFRA.  Also set auxinput4_inname = "wrflowinp_d<domain>", auxinput4_interval and (in V3.2) io_form_auxinput4 in namelist section &time_control

tmn_update

1

update deep layer soil temperature, useful for long simulations (multi-year runs; default is 0 = off)

lagday

150

days over which tnm (deep layer soil temp) is computed using skin temperature

sst_skin

1

calculate skin SST, useful for long simulations (multi-year runs; default is 0 = off)

bucket_mm

 

bucket reset values for water accumulation (unit in mm), useful for long simulations (multi-year runs)

 

-1

(default) inactive

bucket_j

 

bucket reset value for energy accumulations (unit in Joules); useful for long simulations (multi-year runs)

 

-1

(default) inactive

slope_rad (max_dom)

1

use slope-dependent radiation; for ra_sw_physics

 

0

(default) off

topo_shading (max_dom)

1

applies neighboring-point shadow effects for ra_sw_physics

 

0

(default) off

shadlen

25000

maximum length of orographic shadow (in meters); use with topo_shading=1

sf_ocean_physics
(replacing omlcall beginning with V3.5)

 

activate ocean model

 

0

off

 

1

activate a simple ocean mixed layer (oml) model

(new since V3.5)

2

activate a 3D PWP ocean model

 

 

 

 

 

 

 

 

 

 

 

 

omdt

1.

3D PWP time step (minutes).  It can be set t the same as the WRF time step in corresponding nested grids, but omdt should be no less than 1.0 minute.

oml_hml0
(for sf_ocean_physics=1)

³ 0

initial ocean mixed layer depth value (m); constant everywhere (50 is default)

 

< 0

use input

oml_gamma
(for sf_ocean_physics=1)

0.14

(K m-1) lapse rate in deep water (below the mixed layer) for oml

ocean_levels
(for sf_ocean_physics=2)

30

number of vertical levels in 3D ocean model

isftcflx

 

alternative Ck (exchange coefficient for temp and moisture), Cd (drag coefficient for momentum) formulation for tropical storm application

 

0

(default) off for Ck

 

1

Donelan Cd + constant Z0q for Ck

 

2

Donelan Cd + Garratt Ck

fractional_seaice

1

treats seaice as a fractional field; works with sf_sfclay_physics = 1, 2, 4, 5, or 7
Also set seaice_threshold=0.

 

0

(default) either ice or no ice flag

seaice_albedo_opt (new since V3.4)

 

option to set albedo over sea ice

 

0

seaice albedo is a constant value from namelist option seaice_albedo_default

 

1

seaice albedo is a function of air temp, skin temp, and snow

 

2

seaice albedo read in from input variable ALBSI

seaice_albedo_default

0.65
(changed from 0.8)

default value of seaice albedo for seaice_albedo_opt=0

 

seaice_snowdepth_opt (new since V3.5)

 

method for treating snow depth on sea ice

 

0

snow depth on sea ice is bounded by seaice_snowdepth_min and seaice_snowdepth_max

 

1

snow depth on sea ice read in from input array SNOWSI (bounded by seaice_snowdepth_min and seaice_snodepth_max)

 

seaice_snowdepth_max

1.e10

maximum allowed accumulation of snow (m) on sea ice

seaice_snowdepth_min

0.001

minimum snow depth (m) on sea ice

seaice_thickness_opt

 

option for treating seaice thickness

 

0

seaice thickness is uniform value taken from namelist variable seaice_thickness_default

 

1

seaice_thickness is read in from input variable ICEDEPTH

seaice_thickness_default

3.0

default value of seaice thickness for seaice_thickness_opt=0

prec_acc_dt (max_dom)

0.

bucket reset time interval between outputs for cumulus or grid-scale precipitation (in minutes).  If set >0, this will output 3 new 2d fields:  prec_acc_c, prec_acc_nc, and snow_acc_nc (descriptions of these can be found in the Registry.EM_COMMON file)

traj_opt (new since V3.5)

1

activate forward trajectories (default 0)

num_traj

0

number of trajectories to be released

* The following are options for the lake model

sf_lake_physics (max_dom) (new since V3.6)

1

lake model on (default is 0 = off)

lakedepth_default (max_dom)

50

(default) lake depth (in meters).  If there is no lake depth information in the input data, then lake depth is assumed to be 50m)

lake_min_elev (max_dom)

5

(default) minimum elevation of lakes; may be used to determine whether a water point is a lake in the absence of a lake category.  If the landuse type includes 'lake' (i.e., Modis_lake andn USGS_LAKE); this variable is of no effects

use_lakedepth

1

(default) option to use lake depth data. Lake depth data is available beginning in the V3.6 geogrid program. If the lake depth data was not processed, but this switch is set to 1, the program will stop and tell the user to go back to geogrid program.                                                 

lightning_option (max_dom)  (new since V3.5)

 

Lightning parameterization option to allow flash rate prediction without chemistry. Requires do_radar_ref on.

 

0

off

 

 

1

PR92 based on maximum w, redistributes flashes within dBZ > 20 (for convection resolved runs)

 

2

PR92 based on 20 dBZ top, redistributes flashes within dBZ > 20 (for convection resolved runs)

(New since V3.6.1)

3

Predicting the potential for lightning activity (based on Yair et al., 2010)

 

11

PR92 based on level of neutral buoyancy from convective parameterization (for scale where a CPS is used, intended for use at 10 < dx < 50 km

lightning_dt (max_dom) (new since V3.5)

0.

time interval (seconds) for calling lightning parameterization. Default uses model time step

lightning_start_seconds (max_dom) (new since V3.5)

0.

start time for calling lightning parameterization. Recommends at least 10 minutes for spin-up

flashrate_factor (max_dom) (new since V3.5)

1.0

Factor to adjust the predicted number of flashes. Recommends 1.0 for lightning_option = 11 between dx=10 and 50 km. Manual tuning recommended for all other options independently for each nest.

cellcount_method (max_dom)

 

method for counting storm cells. Used by CRM options (lightning_options=1,2)

 

0

model determines method used

 

 

1

tile-wide, appropriate for large domains

 

2

domain-wide, appropriate for sing-storm domains

cldtop_adjustment (max_dom)

0.

adjustment from LNB in km. Used by lightning_option=11. Default is 0, but recommends 2 km

iccg_method (max_dom)

 

IC:CG partitioning method (IC: intra-cloud; CG: cloud-to-ground)

 

 

0

Default method depending on lightning option, currently all options use iccg_method=2 by default

 

1

Constant everywhere, set with namelist options iccg_prescribed (num|den)#, default is 0./1. (all CG)

 

2

Coarsely prescribed 1995-1999 NLDN/OTD climatology based on Boccippio et al. (2001)

 

 

3

Parameterization by Price and Rind (1993) based on cold-cloud depth

 

4

Gridded input via arrays iccg_in_(num|den) from wrfinput for monthly mapped ratios. Points with 0/0 values use ratio defined by iccg_prescribed_(num|den)

 

iccg_prescribed_num (max_dom)

0.

Numerator of user-specified prescribed IC:CG

 

iccg_prescribed_den (max_dom)

1.

Denominator of user-specified prescribed IC:CG

For Wind Turbine Drag Parameterization

 

 

windfarm_opt (new since V3.3)

1

simulates the effets of wind turbines in the atmospheric evolution (default is  0 = off)

windfarm_ij (new since V3.3)

 

whether to use lat-lon or i-j coordinate as wind turbine locations

 

0

(default) the coordinates of the turbines are defined in terms of lat-lon

 

1

the coordinates of the turbines are defined in terms of grid points

 

&stoch

 

For Stochastic Kinetic-Energy Backscatter Scheme (SKEB; used to perturb a forecast)

See pages 5-27 – 5-29

skebs (max_dom) (name change new since V3.7)

1

Stochastic kinetic-energy backscatter scheme turned on (0=off) (previously stoch_force_opt; new since V3.3)

 

 

 

&noah_mp

 

Options for NoahMP LSM

dveg

 

dynamic vegetation option

 

1

off [LAI (Leaf Area Index) from table; FVEG (veg fraction) = shdfac (model variable for veg fraction)]

 

2

 on (LAI predicted; FVEG calculated)

 

3

off (LAI from table; FVEG calculated)

 

4

(default) off (LAI from table; FVEG = maximum veg. fraction)

(new since V3.7)

5

on (LAI predicted; FVEG = maximum veg. fraction)

opt_crs

 

stomatal resistance option

 

1

(default) Ball-Berry

 

2

Jarvis

opt_sfc

 

surface layer drag coefficient calculation

 

1

(default) Monin-Obukhov

 

2

original Noah

(option removed in 3.7)

3

MYJ consistent

(option removed in 3.7)

4

YSU consistent

opt_btr

 

soil moisture factor for stomatal resistance

 

1

Noah

 

2

CLM

 

3

SSiB

opt_run

1

(default) TOPMODEL with groundwater

 

2

TOPMODEL with equilibrium water table

 

3

original surface and subsurface runoff (free drainage)

 

4

BATS  (Biosphere-Atmosphere Transfer Scheme) surface and subsurface runoff (free drainage)

opt_frz

 

supercooled liquid water option

 

1

(default) no iteration

 

2

Koren's iteration

opt_inf

 

soil permeability option

 

1

(default) linear effect, more permeable

 

2

non-linear effect, less permeable

opt_rad

 

radiative transfer option

 

1

modified two-stream

 

2

two-stream applied to grid cell

 

3

(default) two-stream applied to vegetated fraction

opt_alb

 

ground surface albedo option

 

1

BATS

 

2

(default) CLASS (Canadian Land Surface Scheme)

opt_snf

 

precipitation partitioning between snow and rain

 

1

(default) Jordan (1991)

 

2

BATS; snow when SFCTMP < TFRZ+2.2

 

3

show when SFCTMP < TFRZ

(new since V3.7)

4

use WRF precipitation partitioning

opt_tbot

 

soil temp lower boundary condition

 

1

zero heat flux

 

2

(default) TBOT at 8 m from input file

opt_stc

 

snow/soil temperature time scheme

 

1

(default) semi-implicit

 

2

fully-implicit

(new since V3.7)

3

semi-implicit where Ts uses snow cover fraction

 

 

 

&fdda

 

options for grid, obs and spectral nudging

(For Grid Nudging)

 

 

grid_fdda (max_dom)

0

(default) off

 

1

grid analysis nudging on

 

2

spectral analysis nudging option

gfdda_inname

"wrffdda_d<domain>"

name of fdda input file that will be produced when running real

gfdda_interval_m (max_dom)

360

time interval (in mins) between analysis times

gfdda_end_h (max_dom)

6

time (hr) to stop nudging after the start of the forecast

io_form_gfdda

 

analysis data format

 

2

netCDF format

 

4

PHD5 format

 

5

GRIB1 format

 

10

GRIB2 format

 

11

pnetCDF format

fgdt (max_dom)

0

calculation frequency (in mins) for anlaysis nudging; 0=every time step (which is recommended)

if_no_pbl_nudging_uv (max_dom)

0

(default) nudging in the PBL

 

1

no nudging of u and v in the PBL

if_no_pbl_nudging_t (max_dom)

0

(default) nudging in the PBL

 

1

no nudging of temp in the PBL

if_no_pbl_nudging_q (max_dom)

0

(default) nudging in the PBL

 

1

no nudging of qvapor in the PBL

if_zfac_uv (max_dom)

0

(default) nudge u and v in all layers

 

1

limit nudging to levels above k_zfac_uv

k_zfac_uv

10

model level below which nudging is switched off for u and v

if_zfac_t (max_dom)

0

(default) nudge temp in all layers

 

1

limit nudging to levels above k_zfac_t

k_zfac_t

10

model level below which nudging is switched off for temp

if_zfac_q (max_dom)

0

(default) nudge qvapor in all layers

 

1

limit nudging to levels above k_zfac_q

k_zfac_q

10

model level below which nudging is switched off for qvapor

guv (max_dom)

0.0003

nudging coefficient for u and v (s-1)

gt (max_dom)

0.0003

nudging coefficient for temp (s-1)

gq (max_dom)

0.0003

nudging coefficient for qvaopr (s-1)

if_ramping

0

(default) nudging ends as a step function

 

1

ramping nudging down at the end of the 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 (default is 0=off)

sgfdda_inname

"wrfsfdda_d<domain>"

defined name for surface nuding input file (from program obsgrid)

sgfdda_interval_m (max_dom)

360

time interval (in mins) between surface analsysis times

sgfdda_end_h (max_dom)

6

time (in hours) to stop surface nudging after start of the forecast

io_form_sgfdda

2

surface analysis format (2=netCDF)

guv_sfc (max_dom)

0.0003

nudging coefficient for u and v (s-1)

gt_sfc (max_dom)

0.0003

nudging coefficient for temp (s-1)

gq_sfc (max_dom)

0.0003

nudging coefficient for qvapor (s-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.

(For Spectral Nudging)

 

 

fgdtzero (max_dom)

1

nudging tendencies are set to zero in between fdda calls

 

0

(default) not active

if_no_pbl_nudging_ph (max_dom)

1

no nudging of ph in the PBL

 

0

(default) nudging of ph in the PBL

if_zfac_ph (max_dom)

0

(default) nudge ph in all layers

 

1

limit nudging to levels above k_zfac_ph

k_zfac_ph

10

model level below which nudging is switched off for water ph

gph (max_dom)

0.0003

nudging coefficient for ph (s-1)

dk_zfac_uv (max_dom)

1

depth in k between k_zfac_uv to dk_zfac_uv where nuding increases linearly to full strength

dk_zfac_t (max_dom)

1

depth in k between k_zfac_t to dk_zfac_t where nuding increases linearly to full strength

dk_zfac_ph (max_dom)

1

depth in k between k_zfac_ph to dk_zfac_ph where nuding increases linearly to full strength

xwavenum

3

top wave number to nudge in x-direction (0 is default)

ywavenum

3

top wave number to nudge in y-direction (0 is default)

(For Obs Nudging)

 

 

obs_nudge_opt (max_dom)

1

obs-nudging fdda on for each domain (default is 0=off); also must set auxinput11_interval and auxinput11_end_h under  &time_control

max_obs

150000

max number of observations used on a domain during any given time windown (default is 0)

fdda_start (max_dom)

0.

obs nudging start time (min)

fdda_end (max_dom)

180.

obs nudging end time (min)

obs_nudge_wind (max_dom)

1

nudge wind on

 

0

(default) off

obs_coef_wind (max_dom)

6.e-4

nudging coefficient for wind (s-1)

obs_nudge_temp (max_dom)

1

nudge temperature on

 

0

(default) off

obs_coef_temp (max_dom)

6.e-4

nudging coefficient for temp (s-1)

obs_nudge_mois (max_dom)

1

nudge water vapor mixing ratio

 

0

(default) off

obs_coef_mois (max_dom)

6.e-4

nudging coefficient for water vapor mixing ratio (s-1)

obs_coef_pstr

0.

nudging coefficient for surface pressure (s-1) (not used)

obs_rinxy

200.

horizontal radius of influence (km; 200 is a reasonable value, but should be adjusted, based on data density)

obs_rinsig

0.1

vertical radius of influence in eta (0.1 is a reasonable value, but should be adjusted, based on data density)

obs_twindo (max_dom)

0.666667

half-period time window over which an observation will be used for nudging (hrs)

obs_npfi

10

frequency in coarse grid timesteps for diagnostic prints

obs_ionf (max_dom)

1

frequency in coarse grid timesteps for obs input and err calc

obs_idynin

1

for dynamic initialization using a ramp-down function to gradually turn off the FDDA before the pure forecast (default is 0=off)

obs_dtramp

40.

time period (mins) over which the nudging is ramped down from one to zero

obs_prt_max

1000

maximum allowed obs entries in diagnostic printout

obs_prt_freq (max_dom)

1000

frequency in obs index for diagnostic printout

obs_ipf_in4dob

.true.

print obs input diagnostics (default is .false.=off)

obs_ipf_errob

.true.

print obs error diagnostics (default is .false.=off)

obs_ipf_nudob

.true.

print obs nudge diagnostics (default is .false.=off)

obs_ipf_init

.true.

(default) enable obs printed warning messages

obs_no_pbl_nudge_uv (max_dom)

1

no wind-nudging within the PBL

 

0

(default) wind-nudging within the PBL

obs_no_pbl_nudge_t (max_dom)

1

no temperature-nudging within the PBL

 

0

(default) temperature-nudging within the PBL

obs_no_pbl_nudge_q (max_dom)

1

no moisture-nudging within the PBL

 

0

(default) no moisture-nudging within the PBL

obs_nudgezfullr1_uv

50

Vertical influence full weight height for LML obs, regime 1, winds

obs_nudgezrampr1_uv

50

vertical influence ramp-to-zero height for LML obs, regime 1, winds

obs_nudgezfullr2_uv

50

Vertical influence full weight height for LML obs, regime 2, winds

obs_nudgezrampr2_uv

50

vertical influence ramp-to-zero height for LML obs, regime 2, winds

obs_nudgezfullr4_uv

-5000

Vertical influence full weight height for LML obs, regime 4, winds

obs_nudgezrampr4_uv

50

Vertical influence ramp-to-zero height for LML obs, regime 4, winds

obs_nudgezfullr1_t

50

Vertical influence full weight height for LML obs, regime 1, temperature

obs_nudgezrampr1_t

50

Vertical influence ramp-to-zero height for LML obs, regime 1, temperature

obs_nudgezfullr2_t

50

Vertical influence full weight height for LML obs, regime 2, temperature

obs_nudgezrampr2_t

50

Vertical influence ramp-to-zero height for LML obs, regime 2, temperature

obs_nudgezfullr4_t

-5000

Vertical influence full weight height for LML obs, regime 4, temperature

obs_nudgezrampr4_t

50

Vertical influence ramp-to-zero height for LML obs, regime 4, temperature

obs_nudgezfullr1_q

50

Vertical influence full weight height for LML obs, regime 1, temperature

obs_nudgezrampr1_q

50

Vertical influence ramp-to-zero height for LML obs, regime 1, temperature

obs_nudgezfullr2_q

50

Vertical influence full weight height for LML obs, regime 2, temperature

obs_nudgezrampr2_q

50

Vertical influence ramp-to-zero height for LML obs, regime 2, temperature

obs_nudgezfullr4_q

-5000

Vertical influence full weight height for LML obs, regime 4, temperature

obs_nudgezrampr4_q

50

Vertical influence ramp-to-zero height for LML obs, regime 4, temperature

obs_nudgefullmin

50

minimum depth (m) through which vertical influence function remains 1.0

obs_nudgezrampmin

50

minimum depth (m) through which vert infl fcn decreases from 1 to 0

obs_nudgezmax

3000

max depth (m) in which vert infl function is non-zero

obs_sfcfact

1.0

scale factor applied to time window for surface obs

obs_sfcfacr

1.0

scale factor applied to horiz radius of influence for surface obs

obs_dpsmx

7.5

max pressure change (cb) allowed within horiz radius of influence

obs_sfc_scheme_horiz

 

horizontal spreading scheme for surface obs

 

0

(default) WRF scheme

 

1

original MM5 scheme

obs_sfc_scheme_vert

 

vertical spreading scheme for surface obs

 

0

(default) regime vif scheme

 

1

original scheme (simple scheme)

obs_max_sndng_gap

20

max allowed pressure gap between soundings for interpolation (cb)

obs_scl_neg_qv_innov (new since V3.6)

0

0: default behavior
1: prevent nudging toward negative Qv

 

 

 

&dynamics

 

Diffusion, damping options, advection options

rk_ord

 

time-integration scheme option

 

2

Runge-Kutta 2nd order

 

3

(default/recommended) Runge-Kutta 3rd order

diff_opt (max_dom)

 

turbulence and mixing option

 

0

no turbulence or explicit spatial numerical filters (km_opt is ignored)

 

1

(default) evaluates 2nd order diffusion term on coordinate surfaces, uses kvdif for vertical diffusion unless PBL option is used, may be used with km_opt = 1 (recommended for real-data case) and 4

 

2

evaluates mixing terms in physical space (stress form) (x,y,z); turbulence parameterization is chosen by specifying km_opt

km_opt (max_dom)

 

eddy coefficient option

 

1

(default) constant (use khdif and kvdif)

 

2

1.5 order TKE closure (3D) ** Not recommended for DX > 2 km

 

3

Smagorinsky first order closure (3D) **Not recommended for DX > 2 km

 

4

horizontal Smagorinsky first order closure (recommended for real-data case)

diff_6th_opt (max_dom)

 

6th-order numerical diffusion

 

0

(default) no 6th-order diffusion

 

1

6th-order numerical diffusion

 

2

6th-order numerical diffusion, but prohibit up-gradient diffusion

diff_6th_factor

0.12

6th-order numerical diffusion non-dimensional rate (max value 1.0 corresponds to complete removal of 2dx wave in one timestep)

damp_opt

 

upper-level damping flag

 

0

(default) no damping

 

1

with diffusive damping; maybe used for real-data cases (dampcoef nondimensional ~ 0.01 to 0.1)

 

2

with Rayleigh damping (dampcoef inverse time scale [1/s], e.g. 0.003)

 

3

with Rayleigh damping (dampcoef inverse time scale [1/s], e.g. 0.2; for real-data cases)

use_theta_m (new since V3.7)

1

uses theta(1+1.61Qv); (default 0=off)

use_q_diabatic (new since V3.7)

1

includes QV and QC tendencies in advection;  this helps to produce correct solution in an idealized 'moist benchmark' test case (Bryan, 2014).  In real data testing, time step needs to be reduced to maintain a stable solution (default 0=off)

c_s (new since V3.7)

0.25

(default) Smagorinsky coeff

c_k (new since V3.7)

0.15

(default) TKE coeff

zdamp (max_dom)

5000

damping depth (m) from model top

dampcoef (max_dom)

0.

damping coefficient (see damp_opt)

w_damping

 

vertical velocity damping flag (for operational use)

 

0

(default) no damping         

 

1

with damping

base_pres

100000

base state surface pressure (Pa); real only., not recommended to change.

base_temp

290.

base state temperature (K); real only

base_lapse

50.

real-data ONLY, lapse rate (K), not recommended to change

iso_temp

200.

(default value changed to 200 in V3.5)

isothermal temperature in statosphere; enables model to be extended to 5 mb; real only. Default value changed to 200 since V3.5

base_pres_strat (New since V3.6.1)

0.
(default value set to 0 mb in V3.7)

real data, em ONLY, base state pressure (Pa) at bottom of the stratosphere, US Standard atmosphere 55 hPa.

base_lapse_strat (new since V3.6.1)

-11.

(default) real-data; em ONLY, base state lapse rate (dT/d(lnP)) in stratosphere, approx to US standard atmosphere -12K

use_baseparm_fr_nml

.false.

for backward compatibility; to use with old wrfinput file produced prior to V3.4

use_input_w (new since V3.3.1)

. false.

whether to use vertical velocity from input file

khdif (max_dom)

0.

horizontal diffusion constant (m2/s)

kvdif (max_dom)

0.

vertical diffusion constant (m2/s)

smdiv (max_dom)

0.1

divergence damping (0.1 is typical)

emdiv (max_dom)

0.01

external-mode filter coef for mass coordinate model (0.01 is typical for real-data cases)

epssm (max_dom)

0.1

time off-centering for vertical sound waves

non-hydrostatic (max_dom)

.true.

(default) running the model in non-hydrostatic mode

 

.false.

running the model in hydrostatic mode

pert_coriolis (max_dom)

.false.

coriolis only acts on wind perturbation (only for idealized)

top_lid (max_dom)

.false.

zero vertical motion at top of domain (only for idealized)

mix_full_fields

.false.

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 (only for idealized)

mix_isotropic (max_dom)

0

(default) anistropic vertical/horizontal diffusion

 

1

isotropic; for km_opt = 2, 3

mix_upper_bound (max_dom)

0.1

non-dimensional upper limit for diffusion coefficients; for km_opt = 2, 3

h_mom_adv_order (max_dom)

5

horizontal momentum advection order; 5 (default) = 5th, etc.

v_mom_adv_order (max_dom)

3

vertical momentum advection order; 3 (default) = 3rd, etc.

h_sca_adv_order (max_dom)

5

horizontal scalar advection order; 5 (default) = 5th, etc

v_sca_adv_order (max_dom)

3

vertical scalar advection order; 3 (default) = 3rd, etc.

time_step_sound (max_dom)

4

number of sound steps per timestep (if using a time_step much larger than 6*DX (in km), increase number of sound steps (default is 0)

moist_adv_opt (max_dom)

 

advection options for moisture

 

0

simple

 

1

(default) positive-definite

 

2

monotonic

 

3

5th-order WENO (Weighted Essentially Non-Oscillatory)

(new since V3.4)

4

5th-order WENO with positive definite

scalar_adv_opt (max_dom)

 

advection options for scalars

 

0

simple

 

1

(default) positive-definite

 

2

monotonic

 

3

5th-order WENO

 

4

5th-order WENO with positive definite

tke_adv_opt (max_dom)

 

advection options for TKE

 

0

simple

 

1

(default) positive-definite

 

2

monotonic

 

3

5th-order WENO

 

4

5th-order WENO with positive definite

chem_adv_opt (max_dom)

 

advection options for chem variables

 

0

simple

 

1

(default) positive definite

 

2

monotonic

 

3

5th-order WENO

 

4

5th-order WENO with positive definite

tracer_adv_opt (max_dom)

 

advection options for tracer variables

 

0

simple

 

1

(default) positive definite

 

2

monotonic

 

3

5th-order WENO

 

4

5th-order WENO with positive definite

momentum_adv_opt

 

advection options for momentum

 

1

(default) standard

(new since V3.4)

3

5th-order WENO

tke_drag_coefficient (max_dom)

0

surface drag coefficient (Cd, dimensionless) for diff_opt = 2 only

tke_heat_flux (max_dom)

0

surface thermal flux (H/rho*cp), K ms-1, for diff_opt = 2 only

fft_filter_lat

45.

the latitude above which the polar filter is turned on for global model

coupled_filtering (new since V3.7)

.true.

(default) mu coupled scalar arrays are run through the polar filters

pos_def (new since V3.7)

.false.

(default) remove negative values of scalar arrays by setting minimum value to zero

swap_pole_with_next_j (new since V3.7)

.false.

(default) replace the entire j=1 (jds-1) with the values from j=2 (jds-2)

actual_distance_average (new since V3.7)

.false.

(default) average the field at each i location in the j-loop with a number of grid points based on a map-factor ratio

gwd_opt

1

gravity wave drag option; use when grid size > 10 km (default is 0=off)

do_avgflx_em (max_dom)

1

outputs time-averaged mass-coupled advective velocities (default is 0 = off)

do_avgflx_cugd (max_dom)

1

outputs time_averaged convective mass-fluxes from the Grell-Devenyi ensemble scheme (default is 0 = off; only takes effect if do_avgflx_em =1, and cu_physics = 93

sfs_opt (max_dom)

 

nonlinear backscatter and anisotrophy (NBA)

 

0

(default) off

 

1

NBA, using diagnostic stress terms (km_opt = 2, 3 for scalars)

 

2

NBA, using tke-based stress terms (km_opt = 2, 3 needed)

m_opt (max_dom)

1

adds output of Mij stress terms when NBA is not used (default is 0 = off)

tracer_opt (max_dom)

2

activates 8 pre-defined tracers in the Registry (default is 0 = off)

rad_nudge

1

option to nudge toward initial sounding in idealized TC case (default is 0 = off)

 

 

 

&bdy_control

 

boundary condition control

spec_bdy_width

5

total number of rows for specified boundary value nudging (real only)

spec_zone

1

number of points in specified zone (specified b.c. option; real only)

relax_zone

4

number of points in relaxation zone (spec b.c. option; real only)

specified

.true.

specified boundary condition; only can be used for domain 1 (default is .false.; real only)

spec_exp

0.

exponential multiplier for relaxation zone ramp for specified = .true.; default is 0. = linear ramp; 0.33 = ~3*DX exp decay factor (real only)

periodic_x (max_dom)

.true.

periodic boundary conditions in x-direction (default is .false.)

symmetric_xs (max_dom)

.true.

symmetric boundary conditions at x start (west; default is .false.)

symmetric_xe (max_dom)

.true.

symmetric boundary conditions at x end (east; default is .false.)

open _xs (max_dom)

.true.

open boundary conditions at x start (west; default is .false.)

open _xe (max_dom)

.true.

open boundary conditions at x end (east; default is .false.)

periodic_y (max_dom)

.true.

periodic boundary conditions in y-direction (default is .false.)

symmetric_ys (max_dom)

.true.

symmetric boundary conditions at y start (south; default is .false.)

symmetric_ye (max_dom)

.true.

symmetric boundary conditions at y end (north; default is .false.)

open_ys (max_dom)

.true.

open boundary conditions at y start (south; default is .false.)

open_ye (max_dom)

.true.

open boundary conditions at y end (north; default is .false.)

nested (max_dom)

.false., .true., .true.

nested boundary conditions (must be set to .true for nests)

polar (max_dom)

.true.

polar boundary condition (v=0 at polarward-most v-point) for global application (default is .false.)

constant_bc

.true.

constant boundary condition used with DFI (default is .false.)

spec_bdy_final_mu (new since V3.7)

1

call spec_bdy_final for mu (default is 0=off)

have_bcs_moist (new since V3.5.1)

.false.

do not use microphysics variables in boundary file in model run after ndown (default)

 

.true.

use microphysics variables in boundary file

have_bcs_scalar (new since V3.5.1)

.false.

do not use scalar variables in boundary file in model run after ndown (default)

 

.true.

use scalar variables in boundary file

 

 

 

&namelist_quilt

 

options for asynchronized I/O for MPI applications

nio_tasks_per_group

0

(default) no quilting

 

>0

# of processors used for IO quilting per IO group

nio_groups

1

default; may be set to higher value for nesting IO or history and restart IO

 

 

 

&grib2

 

 

background_proc_id

255

(default); 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

forecast_proc_id

255

(default) 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

255

(default) production status of processed data in the grib2 message; see Code Table 1.3 of the grib2 manual; this is octect 20 of Section 1 in the grib2 record.

compression

 

the compression method to encode the output grib2 message; only jpeg2000 and PNG are supported.

 

40

(default) for jpeg2000

 

41

PNG

 

 

 

&dfi_control

 

digital filter options control (does not yet support nesting)

dfi_opt

0

(default) no digital filter initialization

 

1

digital filter launch (DFL)

 

2

diabatic DFI (DDFI)

 

3

(recommended) twice DFI (TDFI)

dfi_nfilter

0

uniform filter

 

1

Lanczos filter

 

2

Hamming filter

 

3

Blackman filter

 

4

Kaiser filter

 

5

Potter filter

 

6

Dolph window filter

 

7

(default; recommended) Dolph filter

 

8

recursive high-order filter

dfi_write_filtered_input

.true.

whether to write wrfinput file with filtered model state before beginning forecast

dfi_write_dfi_history

.false.

whether to write wrfout files during filtering integration

dfi_cutoff_seconds

3600

cutoff period (s) for the filter; should not be longer than the filter window

dfi_time_dim

1000

maximum number of time steps for filtering period; this value can be larger than necessary

 

 

for a model that starts from 2001061112, the below setup specifies 1 hour backward integration

dfi_bckstop_year

2001

4-digit year of stop time for backward DFI integration

dfi_bckstop_month

06

2-digit month of stop time for backward DFI integration

dfi_bckstop_day

11

2-digit day of stop time for backward DFI integration

dfi_bckstop_hour

11

2-digit hour of stop time for backward DFI integration

dfi_bckstop_minute

00

2-digit minute of stop time for backward DFI integration

dfi_bckstop_second

00

2-digit second of stop time for backward DFI integration

 

 

for a model that starts at 2001061112, the below setup specifies 30 minutes of forward integration

dfi_fwdstop_year

2001

4-digit year of stop time for forward DFI integration

dfi_fwdstop_month

06

2-digit month of stop time for forward DFI integration

dfi_fwdstop_day

11

2-digit day of stop time for forward DFI integration

dfi_fwdstop_hour

12

2-digit hour of stop time for forward DFI integration

dfi_fwdstop_minute

30

2-digit minute of stop time for forward DFI integration

dfi_fwdstop_second

00

2-digit second of stop time for forward DFI integration

dfi_radar

0

DFI radar data assimilation switch

 

 

 

&scm

 

for the single-column model (SCM) option only

scm_force

0

(default) single column forcing turned off

 

1

single column forcing on

scm_force_dx

4000.

DX for SCM forcing (m)

num_force_layers

8

number of SCM input forcing layers

scm_lu_index

2

SCM landuse category (2 = dryland, cropland, and pasture; others can be found in the LANDUSE.TBL)

scm_isltyp

4

SCM soil category (4 = silt loam; others can be found in the SOILPARM.TBL)

scm_vegfra

0.5

SCM vegetation fraction

scm_canwat

0.0

SCM canopy water (kg m-2)

scm_lat

36.605

SCM latitude

scm_lon

-97.485

SCM longitude

scm_th_adv

.true.

turn on theta advection in SCM

scm_wind_adv

.true.

turn on wind advection in SCM

scm_qv_adv

.true.

turn on moisture advection in SCM

scm_vert_adv

.true.

turn on vertical advection in SCM

scm_ql_adv

.true.

turn on liquid advection in SCM (default is .false. = off)

num_force_soil_layers

5

number of SCM soil forcing layers

scm_soilt_force

.true.

turn on soil temperature forcing in SCM (default is .false. = off)

scm_soilq_force

.true.

turn on soil moisture forcing in SCM (default is .false. = off)

scm_force_th_largescale

.true.

turn on large-scale theta forcing in SCM (default is .false. = off)

scm_force_qv_largescale

.true.

turn on large-scale qv forcing in SCM (default is .false. = off)

scm_force_ql_largescale

.true.

turn on large-scale ql forcing in SCM (default is .false. = off)

scm_force_wind_largescale

.true.

turn on large-scale wind forcing in SCM (default is .false. = off)

 

 

 

&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 (max_dom)

-999.

wind max of bogus storm (m s-1)

rmax

-999.

maximum radius outward from storm center of bogus TC

vmax_ratio (max_dom)

-999.

ratio for representative maximum winds, 0.75 for 45 km grid, and 0.9 for 15 kim grid

rankine_lid

-999.

top pressure limit for the TC bogus scheme

 

 

 

&diags
(new since V3.4.1)

 

output fields on pressure levels
Also need to set
auxhist23_outname=”wrfpress_d<domain>_<date>”
io_form_auxhist23 = 2,
auxhist23_interval = 180, 180,
frames_per_auxhist23 = 100, 100,

p_lev_diags

0

0/1 whether to output pressure level diagnostics

num_press_levels

4

Number of pressure levels

press_levels (max_plevs)

0

Pressure levels in Pa

use_tot_or_hyd_p

2

1: use total pressure
2: use hydrostatic pressure

p_lev_missing

-999.

Missing value below ground

 

 

 

&afwa (new since V3.6) Cannot be used with OpenMP

 

 

afwa_diag_opt (max_dom)

0

(default) AFWA diagnostic opton (1 = on)

afwa_ptype_opt (max_dom)

0

(default) precip type option (1 = on)

afwa_vil_opt (max_dom)

0

(default) vertical int liquid option (1 = on)

afwa_radar_opt (max_dom) 

0

(default) radar option (1 = on)

afwa_severe_opt (max_dom) 

0

(default) severe weather option (1 = on)

afwa_icing_opt (max_dom)

0

(default) icing option (1 = on)

afwa_vis_opt (max_dom)

0

(default) visibility option (1 = on)

afwa_cloud_opt (max_dom)

0

(default) cloud option (1 = on)

afwa_therm_opt (max_dom) (new since V3.6.1)

0

thermal indices option (default is 0=off)

afwa_turb_opt (max_dom) (new since V3.6.1)

0

turbulence option (default is 0=off)

afwa_buoy_opt (max_dom) (new since V3.6.1)

0

buoyancy option (default is 0=off)

afwa_hailcast_opt (max_dom) (new since V3.6.1)

0

hailcast option (default is 0=off)

afwa_ptype_ccn_tmp

264.15

(default) CCN temperature for precipitation type calculation

afwa_ptype_tot_melt

50

(default) total melting energy for precipitation type calculation

 

1

(default) hail

 

0

 graupel

progn (max_dom) (new since V3.7)

0

(default) switch to use mix-activate scheme (only for Morrison, WDM6, WDM5, and NSSL_2MOMCCN/NSSL_2MOM



WRF Output Fields

List of Fields

The following is an edited output list from the netCDF command 'ncdump -h'. 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>

 

   netcdf wrfout_d01_2000-01-24_12:00:00

dimensions:

       Time = UNLIMITED ; // (1 currently)

       DateStrLen = 19 ;

       west_east = 73 ;

       south_north = 60 ;

       bottom_top = 29 ;

       bottom_top_stag = 30 ;

       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" ;

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 P_HYD(Time, bottom_top, south_north, west_east) ;

       P_HYD:description = "hydrostatic pressure" ;

       P_HYD:units = "Pa" ;

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 = "" ;

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" ;

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 SSTSK(Time, south_north, west_east) ;

       SSTSK:description = "SKIN SEA SURFACE TEMPERATURE" ;

       SSTSK:units = "K" ;

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" ;

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 T00(Time) ;

       T00:description = "BASE STATE TEMPERATURE" ;

       T00:units = "K" ;

 float P00(Time) ;

       P00:description = "BASE STATE PRESURE" ;

       P00:units = "Pa" ;

 float TLP(Time) ;

       TLP:description = "BASE STATE LAPSE RATE" ;

       TLP:units = "" ;       

 float TISO(Time) ;

        TISO:description = "TEMP AT WHICH THE BASE T TURNS CONST" ;

        TISO:units = "K" ;

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 RAINSH(Time, south_north, west_east) ;

       RAINSH:description = "ACCUMULATED SHALLOW CUMULUS PRECIPITATION" ;

       RAINSH: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 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 SWNORM(Time, south_north, west_east) ;

       SWNORM:description = "NORMAL SHORT WAVE FLUX AT GROUND SURFACE" ;

       SWNORM: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" ;

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 NOAHRES(Time, south_north, west_east) ;

       NOAHRES:description = "RESIDUAL OF THE NOAH SURFACE ENERGY BUDGET" ;

       NOAHRES:units = "W m{-2}" ;

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 ZNT(Time, south_north, west_east) ;

       ZNT:description = "TIME-VARYING ROUGHNESS LENGTH" ;

       ZNT:units = "m" ;

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 = "" ;

int SAVE_TOPO_FROM_REAL(Time) ;

       SAVE_TOPO_FROM_REAL:description = "1=original topo from real/0=topo
                 modified by WRF" ;

     SAVE_TOPO_FROM_REAL:units = "flag" ; 

List of Global Attributes


// global attributes:          

:TITLE = " OUTPUT FROM WRF V3.6 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 ;

:STOCH_FORCE_OPT = 0 ;

:GRIDTYPE = "C" ;

       :DIFF_OPT = 1 ;

:KM_OPT = 4 ;

       :DAMP_OPT = 0 ;

       :DAMPCOEF = 0.2f ;

       :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 ;

:SF_LAKE_PHYSICS = 0 ;

:SURFACE_INPUT_SOURCE = 1 ;

:SST_UPDATE = 0 ;

:GRID_FDDA = 0 ;

:GFDDA_INTERVAL_M = 0 ;

:GFDDA_END_H = 0 ;

:GRID_SFDDA = 0 ;

:SGFDDA_INTERVAL_M = 0 ;

:SGFDDA_END_H = 0 ;

:HYPSOMETRIC_OPT = 2 ;

:SF_URBAN_PHYSICS = 0 ;

:SHCU_PHYSICS = 0 ;

:MFSHCONV = 0 ;

:FEEDBACK = 1 ;

:SMOOTH_OPTION = 0 ;

:SWRAD_SCAT = 1.f ;

:W_DAMPING = 0 ;

:DT = 180.f ;

:RADT = 30.f ;

:BLDT = 0.f ;

:CUDT = 5.f ;

:AER_OPT = 0 ;

:SWINT_OPT = 0 ;

:AER_TYPE = 1 ;

:AER_AOD550_OPT = 1 ;

:AER_ANGEXP_OPT = 1 ;

:AER_SSA_OPT = 1 ;

:AER_ASY_OPT = 1 ;

:AER_AOD550_VAL = 0.12f ;

:AER_ANGEXP_VAL = 1.3f ;

:AER_SSA_VAL = 0.f ;

:AER_ASY_VAL = 0.f ;

: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 ;

:SF_OCEAN_PHYSICS = 0 ;

:ISFTCFLX = 0 ;

:ISHALLOW = 0 ;

:ISFFLX = 1 ;

:ICLOUD = 1 ;

:ICLOUD_CU = 0 ;

:TRACER_PBLMIX = 1 ;

:SCALAR_PBLMIX = 0 ;

:GRAV_SETTLING = 0 ;

:DFI_OPT = 0 ;

        :WEST-EAST_PATCH_START_UNSTAG = 1 ;

        :WEST-EAST_PATCH_END_UNSTAG = 73 ;

        :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 = "Lambert Conformal"  ;

        :MMINLU = "USGS" ;

        :NUM_LAND_CAT = 24 ;

        :ISWATER = 16 ;

        :ISLAKE = -1 ;

        :ISICE = 24 ;

        :ISURBAN = 1 ;

        :ISOILWATER = 14 ;

 

Special WRF Output Variables

The 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 the following definitions for reconstructing meteorological variables are necessary:

total geopotential

   PH + PHB

total geopotential height in m

   ( PH + PHB ) / 9.81

total potential temperature in_ K

   T + 300

total pressure in mb

   ( P + PB ) * 0.01

wind compoments, grid relative

   U, V

surface pressure in Pa

   psfc

surface winds, grid relative

   U10, V10 (valid at mass points)

surface temperature and mixing ratio

   T2, Q2

 
The definitions for map projection options:

map_proj =              1: Lambert Conformal

                                  2: Polar Stereographic

                 3: Mercator

                 6: latitude and longitude (including global)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 (back to t