User’s Guide for Advanced Research WRF (ARW) Modeling System Version 2

 

Chapter 4: WRF Initialization

Table of Contents

Introduction

The WRF model has two large classes of forecasts that it is able to generate: those with an ideal initialization and those utilizing real data. The WRF model itself is not altered by choosing one initialization over another, but the WRF pre-processors are specifically built based upon a user's selection.

The ideal vs real cases are divided as follows:

  • Ideal cases
    • 3d
      • em_b_wave - barclinic wave
      • em_quarter_ss - super cell
    • 2d
      • em_grav2d_x
      • em_hill2d_x
      • em_squall2d_x
      • em_squall2d_y
  • Real data cases
    • em_real

The selection of the type of forecast is made when issuing the ./compile statement. If the user chooses ./compile em_real, then the initialization program is built using the target module (one of the ./WRFV2/dyn_em/module_initialize_*.F files). In each of these modules, the same sort of activities go on:

  • read data from the namelist
  • allocate space
  • compute a base state
  • compute the perturbations from the base state
  • initialize rest of variables
  • generate initial condition file

The real-data case does some additional work:

  • read input data from the Standard Initialization (SI)
  • compute reference temperature profile (differently than with ideal cases, to allow for seasonal norms)
  • with input total dry surface pressure, partition into base and perturbation mu
  • prepare soil fields for use in model (usually, vertical interpolation to the requested levels)
  • checks to verify soil categories, land use, land mask, soil temperature, sea surface temperature are all consistent with each other
  • multiple input time periods are processed to generate the lateral boundary conditions
  • 3d boundary data (u, v, t, q, ph) are coupled with map factors (on the correct staggering) and total mu

Both the real.exe and the 3d ideal.exe programs may be run as a distributed memory jobs. 

Initialization for Ideal Cases

The program "ideal" is an alternative in the WRF system to running with real-data inputs (which uses program "real".) Typically this program requires no inputs except for the namelist.input and the input_sounding files (except for the b_wave case which uses a 2d binary sounding file). The program outputs the wrfinput_d01 file that is read by the WRF model executable ("wrf.exe".)

Idealized runs can use any of the boundary conditions except "specified", and are not, by default, set up to run with sophisticated physics apart from microphysics. There are no radiation, surface fluxes or frictional effects in these cases, so they are mostly useful for dynamical studies and idealized cloud modeling.

There are 2d and 3d examples of idealized cases, with and without topography, and with and without an initial thermal perturbation. The namelist can control the size of domain, number of vertical levels, model top height, grid size, time step, diffusion and damping properties, and microphysics options.

The input_sounding can be any set of levels that goes at least up to the model top height (ztop) in the namelist. The first line is the surface pressure (hPa), potential temperature (K) and moisture mixing ratio (g/kg). The following lines are five digits: height (meters above sea-level), potential temperature (K), mixing ratio (g/kg), x wind component, y wind component (m/s). In the hill2d case, the topography is accounted for properly in setting up the initial 3d arrays, so that example should be followed for any topography cases. The base state sounding for idealized cases is the initial sounding minus the moisture, and so does not have to be defined separately. [b_wave Note: For the b_wave case the input_sounding is not used because the initial 3d arrays are read in from file input_jet. This means for b_wave the namelist.input file cannot be used to change the dimensions either.]

Making modifications apart from namelist-controlled options or soundings has to be done by editing the Fortran code. Such modifications would include changing the topography, the distribution of vertical levels, the properties of an initialization bubble, or preparing a case to use more physics, such as a land-surface model. The Fortran code to edit is contained in module_initialize_[case].F, where [case] is the case chosen in compilation, e.g. module_initialize_squall2d_x.F. The subroutine is init_domain_rk. To change the vertical levels, only the 1d array znw must be defined containing the full levels starting from 1 at k=1 and ending with 0 at k=kde. To change the topography, only the 2d array ht(i,j) must be defined, making sure it is periodic if those boundary conditions are used. To change the bubble, search for the string "bubble" to locate the code to change.

Available Ideal Test Cases

The available test cases are

  1. squall2d_x (test/em_squall2d_x)
    • 2D squall line (x,z) using Kessler microphysics and a fixed 300 m^2/s viscosity.
    • periodicity condition used in y so that 3D model produces 2D simulation.
    • v velocity should be zero and there should be no variation in y in the results.
  2. squall2d_y (test/em_squall2d_y)
    • Same as squall2d_x, except with (x) rotated to (y).
    • u velocity should be zero and there should be no variation in x in the results.
  3. 3D quarter-circle shear supercell simulation (test/em_quarter_ss).
    • Left and right moving supercells are produced.
    • See the README.quarter_ss file in the test directory for more information.
  4. 2D flow over a bell-shaped hill (x,z) (test/em_hill2d_x)
    • 10 km half-width, 2 km grid-length, 100 m high hill, 10 m/s flow, N=0.01/s, 30 km high domain, 80 levels, open radiative boundaries, absorbing upper boundary.
    • Case is in linear hydrostatic regime, so vertical tilted waves with ~6km vertical wavelength.
  5. 3D baroclinic waves (test/em_b_wave)
    • Baroclinically unstable jet u(y,z) on an f-plane.
    • Symmetric north and south, periodic east and west boundaries.
    • 100 km grid size 16 km top with 4 km damping layer.
    • 41x81 points in (x,y), 64 layers.
  6. 2D gravity current (test/em_grav2d_x)
    • Test case is described in Straka et al, INT J NUMER METH FL 17 (1): 1-22 JUL 15 1993.
    • See the README.grav2d_x file in the test directory.

Initialization for Real Data Cases

The real-data WRF cases are those that have the input data to the real.exe program provided by the Standard Initialization (SI) system. The data from the SI originally came from a previously run, external analysis or forecast model. The original data was probably in GriB format and was probably ingested into the SI by first ftp'ing the raw GriB data from one of the national weather agencies’ anonymous ftp sites.

For example, suppose a WRF forecast is desired with the following criteria:

  • 2000 January 24 1200 through 25 1200
  • the original GriB data is available at 6 h increments

The following files will be generated by the SI:

  • wrf_real_input_em.d01.2000-01-24_12:00:00
  • wrf_real_input_em.d01.2000-01-24_18:00:00
  • wrf_real_input_em.d01.2000-01-25_00:00:00
  • wrf_real_input_em.d01.2000-01-25_06:00:00
  • wrf_real_input_em.d01.2000-01-25_12:00:00

The convention is to use "wrf_real_input" to signify data that is output from the SI and input into the real.exe program. The "d01" part of the name is used to identify to which domain this data refers. The trailing characters are the date, where each SI output file has only a single time-slice of processed data.

The SI package delivers data that is ready to be used in the WRF system.

  • The data adheres to the WRF IO API.
  • The data has already been horizontally interpolated to the correct grid-point staggering for each variable.
  • The 3D data have already been vertically interpolated to the model's computational surfaces.
  • 3D meteorological data from the SI: u, v, theta, mixing ratio
  • 3D surface data from the SI: soil temperature, soil moisture, soil liquid
  • 2D meteorological data from the SI: total dry surface pressure minus ptop
  • 2D static data: LOTS! terrain, land categories, soil info, map factors, Coriolis, projection rotation, temporally interpolated monthly data
  • 1D array of the vertical coordinate
  • constants: domain size, date, lists of available optional fields, corner lat/lons

 

 

Real Data Test Case: 2000 January 24/12 through 25/12

  • A test data set is accessible from the WRF download page. Under the "WRF Model Test Data (regenerated for V2.0 WRF)" list, select the January data. This is a 74x61, 30-km domain centered over the eastern US.
  • make sure you have successfully built the code, so that ./WRFV2/main/real.exe and ./WRFV2/main/wrf.exe exist
  • in the ./WRFV2/test/em_real directory, copy the namelist for the January case to the default name  (cp namelist.input.jan00 namelist.input)
  • link the SI files (the wrf_real* files from the download) into the ./WRFV2/test/em_real directory
  • for a single processor, to execute the real program, type real.exe (this should take less than a minute for this small case with five time periods)
  • after running the real.exe program, the files wrfinput_d01 and wrfbdy_d01 should be in the directory, these will be directly used by the WRF model
  • the wrf.exe program is executed next, this should take a few minutes (only a 12 h forecast is requested in the namelist)
  • the output file wrfout_d01:2000-01-24_12:00:00 should contain a 12 h forecast at 3 h intervals