The WRF model is a fully compressible and nonhydrostatic model (with a run-time hydrostatic option). Its vertical coordinate is selectable as either a terrain-following (TF) or (beginning in Version 3.9) hybrid vertical coordinate (HVC) 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
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
The build for the WRF model allows for a few options to be used with the configure command.
./configure –d build the code with debugging turned on
./configure –D same as –d, plus bounds and range checking, uninitialized variables, floating traps
./configure –r8 build the code to use 64 bit reals for computation and output
./configure –hyb build the hybrid vertical coordinate option
For any of the ./configure commands, 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), 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: /glade/apps/opt/netcdf/4.3.0/intel/12.1.5
HDF5 not set in environment. Will configure WRF for use without.
PHDF5 not set in environment. Will configure WRF for use without.
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 x86_64 options:
1. (serial) 2. (smpar) 3. (dmpar) 4. (dm+sm) PGI (pgf90/gcc)
5. (serial) 6. (smpar) 7. (dmpar) 8. (dm+sm) PGI (pgf90/pgcc): SGI MPT
9. (serial) 10. (smpar) 11. (dmpar) 12. (dm+sm) PGI (pgf90/gcc): PGI accelerator
13. (serial) 14. (smpar) 15. (dmpar) 16. (dm+sm) INTEL (ifort/icc)
17. (dm+sm) INTEL (ifort/icc): Xeon Phi (MIC architecture)
18. (serial) 19. (smpar) 20. (dmpar) 21. (dm+sm) INTEL (ifort/icc): Xeon (SNB with AVX mods)
22. (serial) 23. (smpar) 24. (dmpar) 25. (dm+sm) INTEL (ifort/icc): SGI MPT
26. (serial) 27. (smpar) 28. (dmpar) 29. (dm+sm) INTEL (ifort/icc): IBM POE
30. (serial) 31. (dmpar) PATHSCALE (pathf90/pathcc)
32. (serial) 33. (smpar) 34. (dmpar) 35. (dm+sm) GNU (gfortran/gcc)
36. (serial) 37. (smpar) 38. (dmpar) 39. (dm+sm) IBM (xlf90_r/cc_r)
40. (serial) 41. (smpar) 42. (dmpar) 43. (dm+sm) PGI (ftn/gcc): Cray XC CLE
44. (serial) 45. (smpar) 46. (dmpar) 47. (dm+sm) CRAY CCE (ftn/cc): Cray XE and XC
48. (serial) 49. (smpar) 50. (dmpar) 51. (dm+sm) INTEL (ftn/icc): Cray XC
52. (serial) 53. (smpar) 54. (dmpar) 55. (dm+sm) PGI (pgf90/pgcc)
56. (serial) 57. (smpar) 58. (dmpar) 59. (dm+sm) PGI (pgf90/gcc): -f90=pgf90
60. (serial) 61. (smpar) 62. (dmpar) 63. (dm+sm) PGI (pgf90/pgcc): -f90=pgf90
64. (serial) 65. (smpar) 66. (dmpar) 67. (dm+sm) INTEL (ifort/icc): HSW/BDW
68. (serial) 69. (smpar) 70. (dmpar) 71. (dm+sm) INTEL (ifort/icc): KNL MIC
72. (serial) 73. (smpar) 74. (dmpar) 75. (dm+sm) FUJITSU (frtpx/fccpx): FX10/FX100 SPARC64 IXfx/Xlfx
Enter selection [1-75] : ------------------------------------------------------------------------
Compile for nesting? (0=no nesting, 1=basic, 2=preset moves, 3=vortex following) [default 0]:
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 dmpar or smpar code. Remember to type ‘./clean –a’ between each build when you either change one of the Registry files or when you change an option during the configure step.
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 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 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). The './clean –a' command is required if you have edited the configure.wrf or any of the Registry files.
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.
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.
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.
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.
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 variables in the &time_control and &domains sections of the namelist.input file (the description of the namelists can be found in the later part of this chapter):
&time_control
run_days = 0,
run_hours = 24,
run_minutes = 0,
run_seconds = 0,
start_year = 2000, 2000, 2000,
start_month = 01, 01, 01,
start_day = 24, 24, 24,
start_hour = 12, 12, 12,
end_year = 2000, 2000, 2000,
end_month = 01, 01, 01,
end_day = 25, 25, 25,
end_hour = 12, 12, 12,
interval_seconds = 21600
input_from_file = .true.,.true.,.true.,
history_interval = 180, 60, 60,
frames_per_outfile = 1000, 1000, 1000,
/
&domains
time_step = 180,
max_dom = 1,
e_we = 74, 112, 94,
e_sn = 61, 97, 91,
e_vert = 30, 30, 30,
p_top_requested = 5000,
num_metgrid_levels = 27,
num_metgrid_soil_levels = 4,
dx = 30000, 10000, 3333.33,
dy = 30000, 10000, 3333.33,
grid_id = 1, 2, 3,
parent_id = 0, 1, 2,
i_parent_start = 1, 31, 30,
j_parent_start = 1, 17, 30,
parent_grid_ratio = 1, 3, 3,
parent_time_step_ratio = 1, 3, 3,
/
Make sure that the dates and dimensions of the domain match those set in WPS. If only one domain is used, entries in other columns will be ignored.
Other options for use to assist vertical interpolation in &domains are:
interp_type = 2
extrap_type = 2
t_extrap_type = 2
lowest_lev_from_sfc = .false.
use_levels_below_ground = .true.
use_surface = .true.
lagrange_order = 1
force_sfc_in_vinterp = 1
zap_close_levels = 500
sfcp_to_sfcp = .false.
adjust_heights = .false.
smooth_cg_topo = .false.
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 is determined by 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(s) should have the following naming convention
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
or
mpiexec_mpt ./wrf.exe (on NCAR’s cheyenne)
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 (default 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 namelist entries 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
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
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 in 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 the 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.
Running ndown.exe for Three or More Domains
It is possible to use the ndown program to run for more than one nest, but the procedure is a bit cumbersome. Because of the way the code it written, it expects particular file names (specifically for d01 and d02), and therefore it is important to follow these steps precisely:
Note: This example is for nesting down to a 3rd domain (3 domains total), and assumes that you already have wrfout_d01* files from a previous run.
Step A: Run the geogrid.exe and metgrid.exe programs for 3 domains. You should have files met_em.d01.<date>, met_em.d02.<date>, and met_em.d03.<date>.
Step B: Run real.exe for 3 domains.
- Copy the met_em*
files into the directory in which you will be running real.exe.
- Edit the namelist.input
file, changing ‘max_dom = 3’, and making sure columns 1, 2 and 3 are set-up for
a 3 domain run, editting the correct start time and grid dimensions.
- Run real.exe.
This will produce a wrfinput_d01,
wrfinput_d02, a wrfinput_d03 file, and a wrfbdy_d01 file.
- Rename the wrfinput_d02 file
to wrfndi_d02.
Step C: Make the domain 02 grid initial and boundary condition files, by running ndown.exe (see the details in step 4 above)
Step D: Make the domain 2 WRF run (see the details in step 5 above). You will now have new files named wrfout_d01* which will correspond to domain 02.
Step E: Make the domain 03 grid initial and boundary condition files, by running ndown.exe
- Rename the wrfinput_d03 file to wrfndi_d02 (this is the name the program expects)
-Make sure the namelist still has io_form_auxinput2 = 2 in the &time_control section.
- 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 the ndown program.
- Run ndown.exe, which uses input from the (new) coarse grid wrfout file(s), and the wrfndi_d02 file. This will produce a wrfinput_d02 and wrfbdy_d02 file (which will actually correspond to domain 03).
Step F: Make the fine-grid (d03) WRF run.
- Rename wrfinput_d02 and wrfbdy_d02 to wrfinput_d01 and wrfbdy_d01, respectively.
- Rename (or move) the wrfout_d01*
files to something else (or another directory) so as to not overwrite them
(recall that these files correspond to d02).
- Edit namelist.input, moving
all of the fine-grid domain data from column 3 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.
After running wrf.exe, you will have new wrfout_d01* files. These will
correspond to domain 03. If you need to add any more nests, follow the same
format, keeping the naming convention the same.
The figure on the next page summarizes the data flow for a one-way nested run using the program ndown.
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 has been added 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 the environment variable, TERRAIN_AND_LANDUSE to 1. In cshell,
setenv TERRAIN_AND_LANDUSE 1
followed by configuring and compiling the code.
- 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.
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.
A different surface data nudging option is added in V3.8, and activated by setting
grid_sfdda = 2
This option nudges surface air temperature and water vapor mixing ratio similar to that with option 1, but uses the tendencies generated from the direct nudging approach to constrain surface sensible and latent heat fluxes, thus ensuring thermodynamic consistency between the atmosphere and land surface. This works with YSU PBL and Noah LSM. (Alapaty et al. JAMC, 2008)
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
In addition to the usual input data preparation using WPS, station observation files are required. See the Observation Nudging User's Guide and http://www2.mmm.ucar.edu/wrf/users/wrf_files/wrfv3.1/How_to_run_obs_fdda.html for details. 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 The Observation Nudging User's Guide, 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.
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.
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.
The WRF model physics do not predict sea-surface temperature, vegetation fraction, albedo or sea ice. For long simulations, the model provides an alternative to read-in the time-varying data and to 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.
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 4*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. 3*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.
n. Stochastic parameterization schemes
The stochastic parameterization suite comprises a number of stochastic parameterization schemes, some widely used and some developed for very specific applications. It can be used to represent model uncertainty in ensemble simulations by applying a small perturbation at every time step to each member. Each of these schemes generates its own random perturbation field characterized by spatial and temporal correlations and an overall perturbation amplitude defined in the namelist record &stoch (since version 3.6).
Random perturbations are generated on the parent domain at every time step and by default, interpolated to the nested domain(s). The namelist settings determine on which domains these perturbations are applied. By setting, e.g. sppt=0,1,1 the perturbations would be applied on the nested domains only.
Since the scheme uses Fast Fourier Transforms (FFTs) provided in the library FFTPACK, we recommend the number of gridpoints in each direction to be a 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.
Random perturbation field (rand_perturb=1)
This option generates a 3-D Gaussian random perturbation field for user-implemented applications.The perturbation field is saved as rand_pert in the history files (available starting with version 3.7).
Stochastically perturbed physics tendencies (SPPT) (sppt=1)
A random pattern is used to perturb the accumulated physics tendencies (except those from micro-physics) of potential temperature, wind and humidity. For details on the WRF implementation see Berner et al., 2015 (http://journals.ametsoc.org/doi/abs/10.1175/MWR-D-14-00091.1). The perturbation field is saved as rstoch in the history files (available starting with version 3.9).
Stochastic kinetic-energy backscatter scheme (SKEBS) (skebs=1)
A random pattern is used to perturb the potential temperature and rotational wind component. The perturbation fields are saved as ru_tendf_stoch, rv_tendf_stoch, rt_tendf_stoch in the history files for u,v and θ, respectively. For details on the WRF implementation see Berner et al., 2011 http://journals.ametsoc.org/doi/abs/10.1175/2010MWR3595.1) and. http://www.cgd.ucar.edu/~berner/skebs.html) Wind perturbations are proportional to the square root of the kinetic-energy backscatter rate, and temperature perturbations are proportional to the potential energy backscatter rate (Details available at http://www.cgd.ucar.edu/~berner/skebs.html).
Default parameters are for synoptic-scale perturbations in the mid-latitudes. Tuning strategies are discussed in Romine et al. 2014 (http://journals.ametsoc.org/doi/citedby/10.1175/MWR-D-14-00100.1) and Ha et al. 2015 (http://journals.ametsoc.org/doi/10.1175/MWR-D-14-00395.1)
Stochastically perturbed parameter scheme (SPP) (spp=1)
A random pattern is used to perturb parameters in selected physics packages, namely the GF convection scheme, the MYNN boundary layer scheme and the RUC LSM. Parameter perturbations to a single physics package can be achieved by setting spp_conv=1, spp_pbl=1 or spp_lsm=1. For implementation details see Jankov et al. (http://journals.ametsoc.org/doi/abs/10.1175/MWR-D-16-0160.1). The perturbation fields are saved as pattern_spp_conv, pattern_spp_pbl, pattern_spp_lsm in the history files. (Available starting with version 3.9).
Stochastic Perturbations to the boundary conditions (perturb_bdy)
For perturb_bdy=1, the stochastic random field is used to perturb the boundary tendencies for wind and potential temperature. 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.
For perturb_bdy=2, a user-provided pattern is used to perturb the boundary tendencies. 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
Stochastic perturbations to the boundary tendencies in WRF-CHEM (perturb_chem_bdy)
The random pattern created by the option rand_perturb=1 (see above) is used to perturb the chemistry boundary tendencies in WRF-CHEM. For this application, WRF-Chem should be compiled at the time of the WRF compilation.
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 to apply the perturbations in the lateral boundary zone, thus computation time may increase. When running WRF-Chem with have_bcs_chem = .true. in &chem, chemical LBCs read from wrfbdy_d01 are perturbed with the random pattern created by rand_perturb=1 (available from version 3.7).
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.
If you are interested in outputting variables into a new stream (i.e., not the default history stream 0), then the following namelist variables will also be necessary (example for stream 7):
auxhist7_outname = “yourstreamname_d<domain>_<date>”
auxhist7_interval = 360, 360,
frames_per_auxhist7 = 1, 1,
io_form_auxhist7 = 2
The 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).
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 &diags, and set p_lev_diags = 1. The option can output U, V, wind speed, T, dew point T, RH and geopotential height at a number of pressure levels.
&diags
p_lev_diags = 1
num_press_levels = 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 the daily max and min, etc., it is advisable to do a restart at the 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).
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.
Beginning in Version 3.9, an option to use physics suites was introduced. There is currently 1 available approved suite ("CONUS") that requires a one-line specification in namelist.input, and consists of a combination of physics options that have been highly tested and have shown good and reasonable results. We expect more approved suites in future releases.
To use this option, simply set the "physics_suite" parameter in namelist.input, within the &physics namelist record, e.g.,
physics_suite = 'CONUS'
and this will set the packaged physics options for the chosen suite (specifically mp_physics, cu_physics, ra_lw_physics, ra_sw_physics, bl_pbl_physics, sf_sfclay_physics, and sf_surface_physics). At runtime, the model prints to the rsl files a summary of the physics schemes that will be used in the simulation, which are as follows (note: this is an example for a 2 domain run. All nests are assumed to use the same physics options unless the user specifically overrides these options - see example below):
physics_suite = 'CONUS'
mp_physics = 8, 8
cu_physics = 6, 6
ra_lw_physics = 4, 4
ra_sw_physics = 4, 4
bl_pbl_physics = 2, 2
sf_sfclay_physics = 2, 2
sf_surface_physics = 2, 2
It is possible to override any of the above options by simply adding that particular parameter to the namelist. For example, if you wish to use the CONUS suite but would like to turn off cu_physics for domain 3:
physics_suite = 'CONUS'
cu_physics = -1, -1, 0
If you wish to use CONUS suite but would like to use a different cu_physics option, and to turn cu_physics off for domain 3:
physics_suite = 'CONUS'
cu_physics = 2, 2, 0
Beginning in Version 3.9, the option is available to use either a terrain following (TF) vertical coordinate (the vertical coordinate in the WRF model that has been used for the Eulerian mass model since the initial release) or a hybrid vertical coordinate (HVC). Here, the HVC is a coordinate that is terrain following near the ground and becomes isobaric at a pre-defined user level.
The new definition of the coordinate has been implemented with a modification to the meaning of the variable “mu”. Previously, this variable was both the 2d column pressure and the 2d d(PDRY)/d(h). With the selection of the hybrid vertical coordinate, now the dry pressure is defined as:
PDRY(i,j,k) = B(k) (PDRY SFC(i,j) – PTOP) + (h(k) – B(k)) (P0 – PTOP) + PTOP
where the B(k) field is a 1d weighting array computed internally.
When B(k) ≡ h(k), this definition simplifies to the current TF coordinate.
When B(k) ≡ 0, this definition simplifies to an isobaric coordinate system.
The vertical value where the B(k) arrays transitions to isobaric, hC, determines how many of the h layers (downward from the model lid) are isobaric. The default value for ETAC is set in a registry file, and is safe for usage across the globe. Figure 5.1 shows the transitioning of the coordinate surfaces from TF to HVC under several values of ETAC.
Fig. 5.1 The transition of the h coordinate surfaces from terrain following (TF) to isobaric is a function of the critical value of h at which the user requests that an isobaric surface be achieved. The fundamental property of the TF vs. the HVC system is seen when tracing a horizontal line from any value on the “Weighting Term B(h)” axis. The degree of model coordinate “flatness”, for example, is the same in the TF system at h = 0.2 as in the HVC system for hC = 0.4 when the approximate value of h = 0.6.
The depiction of the vertical location of an h surface for an isobaric coordinate (figure 5.2a), a terrain following coordinate (figure 5.2b), and a hybrid coordinate (figure 5.2c) is given with a simple 2d cross section. The depth of the atmosphere (m) is and the pressure are shown.
Fig. 5.2 Three cross section plots show the vertical location of the h surfaces for a given model lid (25 km is approximately 25 hPa) and for a given hC = 0.2.
There are two steps required to select the HVC option.
1. WRF must be built for the HVC option.
At the configure step, the user must add the “-hyb” flag
./configure –hyb
2. The user must select the namelist option hybrid_opt
&dynamics
hybrid_opt = 2
It is important that the real.exe and the wrf.exe programs both run with the same hybrid_opt value.
The “mu” fields in the WRF model have changed meaning. Due to the large number of source lines that needed to modified, an automatic text processing method was chosen to introduce the changes. This automatic method is employed during the build process. Users are strongly warned against modifying any source code line that has any of the various “mu” arrays.
Users must also use care when pushing the HVC data through post-processors. The post-processors must know the new definition of dry pressure. It is preferable that either the hydrostatic pressure (P_HYD) or the total pressure (PB + P) be used for diagnostics and for vertical interpolations.
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 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 problems. For the first potential issue, 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 are the problem, use ncview or another netCDF file browser to check the fields in the 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.
- If the model did not run to completion, one possibility is that the model may have become numerically unstatble, which means the time step used for advancing the model in time is too large for a stable solution. Even if one observes the standard rule for setting the model time step (to be ~ 6*DX in kilometers in physical space), other configurations of the model domain may affect the outcome. For example, if one has thin model layers, or if one uses a very large domain and the corners of the domain may have a very large map-scale factor that reduces the equivalent earth distance to be a lot smaller than the model grid size. One can find out whether this is the case by searching for CFL prints in the standard output/error files (e.g. the rsl files):
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.
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.
s. P3 (Morrison and Milbrandt): Predicted Particle Property scheme. This has one ice category that represents a combination of ice, snow and graupel, and also carries prognostic arrays for rimed ice mass and rimed ice volume. Double moment rain and ice. P3-nc: As P3 but adds supersaturation dependent activation and double-moment cloud water.
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_shading = 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. Aerosol input for RRTMG radiation scheme from climatological water- and ice-friendly aerosols (aer_opt = 3). It works with Thompson microphysics option 28. New in V3.8.
e. Effective cloud water, ice and snow radii from Thompson (since 3.5.1), WSM, WDM and NSSL 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 (new in V3.7, fixed in V3.8).
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. (1)5-layer thermal diffusion: Soil temperature only scheme, using five layers.
b. (2) 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. (3) RUC Land Surface Model: This model has a layer approach to the solution of energy and moisture budgets in that the atmospheric fluxes, as well as soil fluxes, are computed in the middle of the first atmospheric layer and the top soil layer, respectively, and these fluxes modify the heat and moisture storage in the layer spanning the ground surface. The RUC LSM currently uses 9 levels in soil with higher resolution near the interface with the atmosphere. (NOTE: if initialized from the model with low resolution near the surface, like the Noah LSM, the top levels could be too moist causing moist/cold biases in the model forecast. Solution: cycle soil moisture and let it spin-up for at least several days to fit the vertical structure of RUC LSM).
The prognostic variable for soil moisture is volumetric soil moisture content minus the residual soil moisture tied to soil particles and therefore not participating in moisture transport. The RUC LSM takes into account freezing and thawing processes in the soil. It is able to use the explicit mixed-phase precipitation provided by the cloud microphysics schemes. It has a simple treatment of sea ice which solves heat diffusion in sea ice and allows evolving snow cover on top of sea ice. In the warm season, RUC LSM corrects soil moisture in the cropland areas to compensate for irrigation in these regions.
Snow, accumulated on top of soil, can have up to two layers depending on snow depth (ref S16). When snow layer is very thin, it is combined with the top soil layer to avoid excessive radiative cooling at night. The grid cell can be partially covered with snow, when snow water equivalent is below a threshold value of 3 cm. When this condition occurs, surface parameters, such as roughness length and albedo, are computed as a weighted average of snow-covered and snow-free areas. The energy budget utilizes an iterative snow melting algorithm. Melted water can partially refreeze and remain within the snow layer, and the rest of it percolates through the snow pack, infiltrates into soil and forms surface runoff. Snow density evolves as a function of snow temperature, snow depth and compaction parameters. Snow albedo is initialized from the maximum snow albedo for the given vegetation type, but it can also be modified depending on snow temperature and snow fraction. To obtain a better representation of snow accumulated on the ground, the RUC LSM has introduced estimation of frozen precipitation density.
The most recent modifications to RUC LSM include refinements to the interception of liquid or frozen precipitation by the canopy, and also the “mosaic” approach for patchy snow with a separate treatment of energy and moisture budgets for snow-covered and snow-free portions of the grid cell, and aggregation of the separate solutions at the end of time step.
The datasets needed to initialize RUC LSM include:
1. High-resolution dataset for soil and land-use types;
2. Climatological albedo for snow-free areas;
3. Spatial distribution of maximum surface albedo in the presence of snow cover;
4. Fraction of vegetation types in the grid cell to take into account sub-grid-scale heterogeneity in computation of surface parameters;
5. Fraction of soil types within the grid cell;
6. Climatological greenness fraction;
7. Climatological leaf area index;
8. Climatological mean temperature at the bottom of soil domain;
9. Real-time sea-ice concentration;
10. Real-time snow cover to correct cycled in RAP and HRRR snow fields.
The recommended namelist options:
sf_surface_physics = 3
num_soil_layers = 9,
usemonalb = .true.,
rdlai2d = .true.,
mosaic_lu = 1
mosaic_soil = 1
References:
Smirnova et al (2016, Mon. Wea. Rev., S16);
RAP and HRRR that use RUC LSM as their land component: https://rapidrefresh.noaa.gov/RAP and https://rapidrefresh.noaa.gov/hrrr/HRRR.
(from Tanya Smirnova, GSD/NOAA)
d. (7) 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. (4) 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. (8) 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. (5) 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)
The orban physics options work with Noah LSM since V3.1, and with NoahMP since V3.9.
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 with significant update in V3.8.
- icloud_bl: = 1, option to couple subgrid-scale clouds from MYNN to
radiation;
- bl_mynn_cloudpdf: = 1, Kuwano et al (2010); = 2, Chaboureau and Bechtold
(2002, JAS, with mods, default);
- bl_mynn_cloudmix: = 1, mixing cloud water and ice (qnc and qni are mixed when
scalar_pblmix = 1);
The above three options are new in V3.8.
- bl_mynn_edmf = 1, activate mass-flux in MYNN (ok to try since v3.9);
- bl_mynn_mixlength = 2: 1 is from RAP/HRRR, 2 is from blending (also available
from v3.9).
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. New in V3.7.
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 (16): this version is similar to the Tiedtke scheme used in REGCM4 and ECMWF cy40r1. New in V3.7, updated in V3.8.
n. Kain-Fritsch-Cumulus Potential scheme (10): this option modifies the KF ad-hoc trigger function with one linked to boundary layer turbulence via probability density function (PDFs) using cumulus potential scheme. The scheme also computes the cumulus cloud fraction based on the time-scale relevant for shallow cumuli. (Berg et al. 2013.) New in V3.8.
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
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). This option can be used with real-data cases since V3.6.1.
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.
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.
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).
d. To obtain more accurate solution with moisture, one can add
use_q_diabatic: which considers moisture tendency from
microphysics in small steps. This option could make time-step more restrictive.
use_theta_m: which considers moisture effect on pressure in small steps.
The current implementation may cost a bit more to run.
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.
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 |
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 |
50/51 |
P3 |
Morrison and Milbrandt (2015, JAS) |
2017 |
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 |
50 |
P3 |
ARW |
Qc Qr Qi |
Nr Ni Ri+ Bi++ |
51 |
P3-nc |
ARW |
Qc Qr Qi |
Nc Nr Ni Ri Bi |
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 |
10 |
KF-CuP |
Berg et al. (2013, MWR) |
2016 |
11 |
Multi-scale KF |
Zheng et al. (2015, MWR) |
2015 |
14 |
New SAS |
Han and Pan (2011, Wea. Forecasting) |
2011 |
16 |
New Tiedtke |
Zhang and Wang (2016) |
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 |
10 |
KF-CuP |
ARW |
Qc Qr Qi Qs |
no |
yes |
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 |
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_
|
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_
|
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 |
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 |
0 |
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 (in seconds) (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 (max_dom) |
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 (max_dom) |
0 |
beginning year to write 3DVAR data |
inputout_begin_d (max_dom) |
0 |
beginning day to write 3DVAR data |
inputout_begin_h (max_dom) |
3 |
beginning hour to write 3DVAR data |
inputout_begin_m (max_dom) |
0 |
beginning minute to write 3DVAR data |
inputout_begin_s (max_dom) |
0 |
beginning second to write 3DVAR data |
inputout_end_y (max_dom) |
0 |
ending year to write 3DVAR data |
inputout_end_d (max_dom) |
0 |
ending day to write 3DVAR data |
inputout_end_h (max_dom) |
12 |
ending hour to write 3DVAR data |
inputout_end_m (max_dom) |
0 |
ending minute to write 3DVAR data |
inputout_end_s (max_dom) |
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 |
set to =1 to add 36 surface diagnostic arrays (max/min/mean/std) |
|
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 |
set to =1 to add 7 history_interval max diagnostic fields |
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 |
|
smoothing option for parent domain; used only with feedback |
|
0 |
turned off |
|
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 |
wif_input_opt |
0 |
(default is 0=off) whether to process the Water Ice Friendly Aerosol input from metgrid (set to =1 to turn on); used for mp_physics = 28; see run/README.namelist for additional information |
num_wif_levels |
27 |
(default) number of levels in the Thompson Water Ice Friendly Aerosols (mp_physics = 28); see run/README.namelist for additional information |
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 |
ideal_init_method (new since V3.8) |
|
method to compute albedo in idealized cases in start_em |
|
1 |
(default) albedo from phb |
|
2 |
albedo from t_init |
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); not used for current vertical grid refinement |
vert_refine_method (max_dom) (new since V3.7) |
0 |
(default) no vertical refinement |
|
1 |
integer vertical refinement |
|
2 |
use specified or computed eta levels for vertical refinement |
Options for Preset Moving Nest |
|
|
num_moves |
0 |
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 4*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 8*dx. 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 3*dx. 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 depths for for ocean (in meters). See /run/README.namelist for more details. |
ocean_t |
(values for # of ocean_levels) |
vertical profile of ocean temps (K). See /run/README.namelist for more details |
ocean_s |
(values for # of ocean_levels |
vertical profile of salinity. See /run/README.namelist for more details |
|
|
|
&physics |
|
|
chem_opt (max_dom) |
0 |
chemistry option - use WRF-Chem |
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 |
|
15 |
High-resolution Ferrier microphysics, with advection |
|
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 |
(new since V3.9) |
50 |
P3 1-category |
(new since V3.9) |
51 |
P3 1-category plus double moment cloud water |
|
95 |
Ferrier (old Eta), operational NAM (WRF NMM) |
|
98 |
Thompson scheme in V3.0 |
do_radar_ref |
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 |
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 the NSSL 1-moment scheme. For the 1- and 2-moment schemes, the shape parameters for graupel and hail can also be set. |
||
nssl_alphah |
0 |
shape parameter for graupel |
nssl_alphahl |
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) |
use_mp_re (new since V3.8) |
|
whether to use effective radii computed in mp schemes in RRTMG (the mp schemes that compute effective radii are 3, 4, 6, 8, 14, 16, 17-21) |
|
0 |
off; do not use |
|
1 |
(default) on; use effective radii |
ra_lw_physics (max_dom) |
0 |
(default) no longwave radiation |
|
1 |
rrtm scheme |
|
3 |
CAM scheme |
|
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 |
|
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 |
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) |
(new since V3.8) |
3 |
using G. Thompson's water/ice-friendly climatological aerosol |
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 (max_dom) |
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 (max_dom) |
0.12 |
(default) value to be used with aer_aod550_opt = 1 |
aer_angexp_opt (max_dom) |
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 (max_dom) |
1.3 |
(default) value to be used with aer_angexp_opt = 1 |
aer_ssa_opt (max_dom) |
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 (max_dom) |
0.85 |
(default) value to be used with aer_ssa_opt = 1 |
aer_asy_opt (max_dom) |
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 (max_dom) |
0.9 |
(default) value to be used with aer_asy_opt = 1 |
aer_type (max_dom) |
|
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 |
|
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 |
icloud_bl (new since V3.8) |
|
option to couple the subgrid-scale clouds from the PBL scheme (MYNN only) to the radiation scheme |
|
0 |
no coupling |
|
1 |
(default) activate coupling to radiation |
bl_mynn_cloudmix (max_dom) (new since V3.8) |
|
option to activate mixing of qc and qi in MYNN (NOTE: qnc and qni are mixed when scalar_pblmix = 1) |
|
0 |
(default) no mixing of qc and qi |
|
1 |
activates mixing of qc and qi in MYNN |
bl_mynn_mixlength (new since V3.8) |
|
option to change mixing length formulation in MYNN |
|
0 |
original, as in Nakanishi and Niino 2009 |
|
1 |
(default) RAP/HRRR (including BouLac in free atmosphere) |
|
2 |
experimental (includes cloud-specific mixing length and a scale-aware mixing length; following Ito et al. 2015, BLM); this option has been well-tested with the edmf options |
bl_mynn_cloudpdf |
|
option to switch to diffrent cloud PDFs to represent subgrid clouds |
|
0 |
original (Sommeria and Deardorf 1977) |
|
1 |
Kuwano et al. 2010; similar to option 0, but uses resolved scale gradients, as opposed to higher order moments |
|
2 |
(default) from Chaboureau and Bechtold 2002 (JAS, with mods) |
bl_mynn_edmf (max_dom) (new since V3.8) |
|
option to activate mass-flux scheme in MYNN |
|
0 |
(default) regular MYNN |
|
1 |
for StEM |
|
2 |
for TEMF |
bl_mynn_edmf_mom (max_dom) (new since V3.8) |
|
option to activate momentum transport in MYNN mass-flux scheme (assuming bl_mynn_edmf > 0) |
|
0 |
no momentum transport |
|
1 |
(default) momentum transport activated |
bl_mynn_edmf_tke (max_dom) (new since V3.8) |
|
option to activate TKE transport in MYNN mass-flux scheme (assumumg bl_mynn_edmf > 0) |
|
0 |
(default) no TKE transport |
|
1 |
activate TKE transport |
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 |
opt_thcnd (new since V3.8) |
|
option to treat thermal conductivity in Noah LSM |
|
1 |
(default) original |
|
2 |
McCumber and Pielke for silt loam and sandy loam |
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 |
Scale-aware GFS Simplified Arakawa-Schubert (SAS) scheme |
|
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) |
10 |
Modified Kain-Fritsch scheme with trigger function based on PDFs (ARW-only) |
(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 |
(option 3 before V3.5) |
93 |
Grell-Devenyi ensemble scheme |
|
94 |
2015 GFS Simplified Arakawa-Schubert scheme (HWRF) |
|
95 |
Previous GFS Simplified Arakawa-Schubert scheme (HWRF) |
|
99 |
previous Kain-Fritsch scheme |
cudt (max_dom) |
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. |
(new since V3.3) |
2 |
moisture-advection based trigger (Ma and Tan 2009; ARW only) |
|
3 |
relative humidity-dependent |
ishallow |
0 |
=1 turns on shallow convection used with cu_physics=3 or 5 (default is 0 = off) |
cu_diag (max_dom) |
0 |
additional t-averaged stuff for cu physics (cu_physics = 3, 5, and 93 only) |
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 |
For the KF-CuP Scheme: |
||
shallowcu_forced_ra (max_dom) (new since V3.8) |
.false. |
radiative impact of shallow Cu by a prescribed maximum cloud fraction [cu_physics = 10 only; default = .false. (off); if =.true., radiative impact of shallow cu with a cloud fraction value of 0.36 ] |
numbins (max_dom) (new since V3.8) |
1 |
number of perturbations for potential temperature and mixing ratio in the CuP PDF (cu_physics = 10 only ; default is 1; should be an odd number - recommended value is 21) |
thBinSize (max_dom) (new since V3.8) |
1 |
bin size of potential temperature perturbation increment: 0.01 K ( cu_physics = 10 only; default is 1) |
rBinSize (max_dom) (new since V3.8) |
1 |
bin size of mixing ratio perturbation increment: 1.0e-4 kg/kg (cu_physics = 10 only; default is 1) |
minDeepFreq (max_dom) (new since V3.8) |
1 |
minimum frequency required before deep convection is allowed: 0.333 (cu_physics = 10 only; default is 1) |
minShallowFreq (max_dom) (new since V3.8) |
1 |
minimum frequency required before shallow convection is allowed: 1.0e-2 (cu_physics = 10 only; default is 1) |
shcu_aerosols_opt (max_dom) (new since V3.8) |
|
whether to include aerosols in shcu (cu_physics = 10 only; run with WRF-Chem) |
|
0 |
(default) none |
|
2 |
prognostic |
cu_diag (max_dom) |
0 |
Additional time-averaged diagnostics from cu_physics (use only with cu_physics=3,5,and 93) |
kf_edrates (max_dom) (new since V3.8) |
|
option to add entrainment/detrainment rates and convective timescale output variables for KF-based cumulus schemes (cu_physics = 1, 11, and 99 only) |
|
0 |
(default) no output |
|
1 |
additional output |
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) It also controls surface fluxes when diff_opt = 2 and km_opt = 3, and a
PBL isn’t used |
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 prior to V3.8) WPS/geogrid, but with dominant categories recomputed in real |
|
2 |
GRIB data from another model (only if arrays VEGCAT/SOILCAT exist) |
|
3 |
(default begining in V3.8) 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 prior to V3.8) for USGS |
|
20 |
for MODIS |
|
28 |
for USGS if including lake category |
|
21 |
(default beginning with V3.8) 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 |
|
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 |
³ 0 |
initial ocean mixed layer depth value (m); constant everywhere (50 is default) |
|
< 0 |
use input |
oml_gamma |
0.14 |
(K m-1) lapse rate in deep water (below the mixed layer) for oml |
oml_relaxation_time (new since V3.8) |
0. |
relaxation time (seconds) of mixed layer ocean model back to original values (e.g. value: 259200 sec - 3 days) |
ocean_levels |
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,3,4,5,7 or 91 |
|
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 |
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 |
1000 |
(default) 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 (max_dom) |
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 (max_dom) (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 |
hailcast_opt (max_dom) |
0 |
whether to use the hailcasting option (=1 to turn on) |
&stoch |
|
For Stochastic Kinetic-Energy Backscatter Scheme (SKEB; used to perturb a forecast) See pages 5-26 – 5-27 |
rand_perturb (max_dom) |
|
Whether to turn on random perturbations |
|
0 |
(default) no random perturbations |
|
1 |
create random perturbation field |
lengthscale_rand_pert (max_dom) |
500000 |
(default) perturbation correlation lengthscale (in meters) |
timescale_rand_pert (max_dom) |
21600 |
(default) temporal decorrelation of random field (in seconds) |
gridpt_stddev_rand_pert (max_dom) |
0.03 |
(default) standard deviation of random perturbation field at each grid point |
stddev_cutoff_rand_pert (max_dom) |
3.0 |
(default) cutoff tails of perturbation pattern above this threshold standard deviation |
rand_pert_vertstruc |
|
vertical structure for random perturbation field |
|
0 |
(default) constant |
|
1 |
random phase with tilt |
nens |
1 |
(default) 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 are created for forecasts starting from different intial times. Changing this seed changes the random number streams for all activated stochastic parameterization schemes. |
iseed_rand_pert |
17 |
(default) 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 are created for forecasts starting from different initial times and for different ensemble members. |
* The following are stochastically perturbed physical tendencies (SPPT) (sppt=1) |
||
sppt (max_dom) |
|
Whether to turn on stochastically perturbed physics tendencies (SPPT) |
|
0 |
(default) off |
|
1 |
on |
lengthscale_sppt (max_dom) |
150000 |
(default) random perturbation lengthscale (in meters) |
timescale_sppt (max_dom) |
21600 |
(default) temporal decorrelation of random field (in seconds) |
gridpt_stddev_sppt (max_dom) |
0.5 |
(default) standard deviation of random perturbation field at each grid point |
stddev_cutoff_sppt (max_dom) |
2.0 |
(default) cutoff tails of perturbation pattern above this threshold standard deviation |
nens |
1 |
(default) 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. Changing this seed changes the random number streams for all activated stochastic parameterization schemes. |
iseed_sppt |
53 |
(default) seed for random number stream for sppt. Will be combined with parameter 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. |
* The following are for stochastic kinetic-energy backscatter scheme (SKEBS) (skebs=1) |
||
skebs (max_dom) |
|
Whether to turn on the stochastic kinetic-energy backscatter scheme (SKEBS) *Note: this replaces the namelist parameter stoch_forc_opt which was used up to V3.6. Latter is still maintained, but obsolete |
|
0 |
(default) no stochastic parameterization |
|
1 |
stochastic kinetic-energy backscatter scheme (SKEBS) turned on |
tot_backscat_psi (max_dom) |
1.0E-05 |
(default) total backscattered dissipation rate for streamfunction; controls amplitude of rotational wind perturbations (in m2/s2) |
tot_backscat_t (max_dom) |
1.0E |
(default) total backscattered dissipation rate for potential temperature; controls amplitude of potential temperature perturbations ( in m2/s2) |
ztau_psi |
10800.0 |
(default) decorrelation time (in seconds) for streamfunction perturbations |
ztau_t |
10800.0 |
(default) decorrelation time (in seconds) for potential temperature perturbations |
rexponent_psi |
-1.83 |
(default for a kinetic-energy forcing spectrum with slope -5/3) spectral slope for streamfunction perturbations |
rexponent_t |
-1.83 |
(default for a potential energy forcing spectrum with slope -1.832) spectral slope of potential temperature perturbations |
kminforc |
1 |
(default) minimal forcing wavenumber in longitude for streamfunction perturbations |
lminforc |
1 |
(default) minimal forcing wavenumber in latitude for streamfunction perturbations |
kminforct |
1 |
(default) minimal forcing wavenumber in longitude for potential temperature perturbations |
lminforct |
1 |
(default) minimal forcing wavenumber in latitude for potential temperature perturbations |
kmaxforc |
1000000 |
(default is maximal possible wavenumbers determined by number of gridpoints in longitude) maximal forcing wavenumber in longitude for streamfunction perturbations |
lmaxforc |
1000000 |
(default is maximal possible wavenumbers determined by number of gridpoints in latitude) maximal forcing wavenumber in latitude for streamfunction perturbations |
kmaxforct |
1000000 |
(default is maximal possible wavenumbers determined by number of gridpoints in longitude) maximal forcing wavenumber in longitude for potential temperature perturbations |
lmaxforct |
1000000 |
(default is maximal possible wavenumbers determined by number of gridpoints in latitude) maximal forcing wavenumber in latitude for potential temperature perturbations |
zsigma2_eps |
0.0833 |
(default) noise variance in autoregressive process defining streamfunction perturbations |
zsigma2_eta |
0.0833 |
(default) noise variance in autoregressive process defining potential temperature perturbations |
skebs_vertstruc (max_dom) |
|
defines the vertical structure of random pattern generator *Note: this replaces the namelist parameter stoch_vertstruc_opt which was used up to V3.6. Latter is still maintained, but obsolete |
|
0 |
(default) constand vertical structure of random pattern generator |
|
1 |
random phase vertical structure with westward tilt |
nens |
1 |
(default) 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. Changing this seed changes the random number streams for all activated stochastic parameterization schemes |
iseed_skebs |
811 |
(default) 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 |
* The following are for stochastically perturbed parameter scheme (SPP) (spp=1) |
||
spp (max_dom) |
|
whether to turn on stochastically perturbed parameter scheme (SPP) for GF convection schemes, MYNN boundary layer scheme, and RUC LSM |
|
0 |
(default) off |
|
1 |
on |
spp_conv (max_dom) |
|
whether to perturb parameters of GF convective scheme |
|
0 |
(default) off |
|
1 |
on |
lengthscale_spp_conv (max_dom) |
150000 |
(default) perturbation length scale (in meters) |
timescale_spp_conv (max_dom) |
21600 |
(default) temporal decorrelation of random field (in seconds) |
gridpt_stddev_spp_conv (max_dom) |
0.3 |
(default) standard deviation of random perturbation feild at each grid point |
stddev_cutoff_spp_conv (max_dom) |
3.0 |
(default) cutoff tails of perturbation pattern above this threshold standard deviation |
iseed_spp_conv |
171 |
(default) seed for random number stream for spp_conv |
spp_pbl (max_dom) |
|
whether to perturb parameters of MYNN convection scheme |
|
0 |
(default) off |
|
1 |
on |
lengthscale_spp_pbl (max_dom) |
700000 |
(default) perturbation length scale (in meters) |
timescale_spp_pbl (max_dom) |
21600 |
(default) temporal decorrelation of random field (in seconds) |
gridpt_stddev_spp_pbl (max_dom) |
0.15 |
(default) standard deviation of random perturbation field at each gridpoint |
stddev_cutoff_spp_pbl (max_dom) |
2.0 |
(default) cutoff tails of perturbation pattern above this threshold standard deviation |
iseed_spp_pbl |
217 |
(default) seed for random number stream for spp_pbl |
spp_lsm (max_dom) |
|
whether to perturb parameters of RUC LSM |
|
0 |
(default) off |
|
1 |
on |
lengthscale_spp_lsm (max_dom) |
50000 |
(default) perturbation length scale (in meters) |
timescale_spp_lsm (max_dom) |
86400 |
(default) temporal decorrelation of random field (in seconds) |
gridpt_stddev_spp_lsm (max_dom) |
0.3 |
(default) standard deviation of random perturbation field at each grid point |
stddev_cutoff_spp_lsm (max_dom) |
3.0 |
(default) cutoff tails of perturbation pattern above this threshold standard deviation |
iseed_spp_lsm |
317 |
(default) seed for random number stream for spp_lsm |
nens |
1 |
(default) 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. Changing this seed changes the random number streams for all activated stochastic parameterization schemes |
&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) |
|
6 |
on; use FVEG - SHDFAC from input |
|
7 |
off; use input LAI; use FVEG - SHDFAC from input |
|
8 |
off; use input LAI; calculate FVEG |
|
9 |
off; use input LAI; use maximum vegetation fraction |
|
10 |
crop model on; use maximum vegetation 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 |
|
Noah-MP runoff and groundwater option |
|
1 |
TOPMODEL with groundwater |
|
2 |
TOPMODEL with equilibrium water table |
|
3 |
(default) 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 |
|
3 |
semi-implicit, where ts uses snow cover fraction |
opt_gla (new since V3.8) |
|
Noah-MP glacier treatment option |
|
1 |
(default) includes phase change |
|
2 |
slab ice (Noah) |
opt_rsf (new since V3.8) |
|
Noah-MP surface evaporation resistence option |
|
1 |
Sakaguchi and Zeng 2009 |
|
2 |
Sellers 1992 |
|
3 |
adjusted Sellers to decrease RSURF for wet soil |
|
4 |
option 1 for non-snow; rsurf = rsurf_snow for snow (set in MPTABLE -added in V3.8) |
(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 |
0. |
time (min) for ramping function; |
grid_sfdda (max_dom) |
|
surface fdda switch |
|
0 |
(default) off |
|
1 |
nudging selected surface fields |
(new since V3.8) |
2 |
FASDAS (flux-adjusted surface data assimilation system) |
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 (max_dom) |
0. |
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 |
0 |
max number of observations used on a domain during any given time windown (default is 0) |
(max_dom) |
0. |
obs nudging start time (min) |
fdda_end (max_dom) |
0. |
obs nudging end time (min) |
obs_nudge_wind (max_dom) |
1 |
nudge wind on |
|
0 |
(default) off |
obs_coef_wind (max_dom) |
0 |
nudging coefficient for wind (s-1) |
obs_nudge_temp (max_dom) |
0 |
set to =1 to nudge temperatures (default is 0=off) |
obs_coef_temp (max_dom) |
0 |
nudging coefficient for temp (s-1) |
obs_nudge_mois (max_dom) |
0 |
set to =1 to nudge water vapor mixing ratio (default is 0=off) |
obs_coef_mois (max_dom) |
6.e-4 |
nudging coefficient for water vapor mixing ratio (s-1) |
obs_rinxy (max_dom) |
0. |
horizontal radius of influence (km; |
obs_rinsig |
0 |
vertical radius of influence in eta |
obs_twindo (max_dom) |
0.666667 |
half-period time window over which an observation will be used for nudging (hrs) |
obs_npfi |
0 |
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 |
0. |
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 |
|
|
|
&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 (max_dom) |
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 (max_dom) (new since V3.7) |
0.25 |
(default) Smagorinsky coeff |
c_k (max_dom) (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. |
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 |
91. |
the latitude above which the polar filter is turned on (degrees) for global model; -45 is a reasonable latitude to start using polar filters |
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); this may cause different restart results in V3.8 |
have_bcs_moist (max_dom) (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 (max_dom) (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 |
|
output fields on pressure levels |
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 |
z_lev_diags (new since V3.7.1) |
0 |
switch to vertically interpolate diagnostics to z-levels; (default is off) |
num_z_levels (new since V3.7.1) |
0 |
number of height levels to interpolate to |
z_levels (new since V3.7.1) |
0 |
list of height values (m) to interpolate data to; positive numbers are for height above mean sea level (i.e., a flight level), negative numbers are for level above ground |
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_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 |
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 ;
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)