.. role:: underline :class: underline ============================= Idealized Case Initialization ============================= | The WRF model provides two classes of simulations: `Real-data`_ and Idealized-data. This chapter focuses on **idealized** cases. | .. container:: row m-0 p-0 .. container:: col-md-12 pl-0 pr-3 py-3 m-0 .. container:: card px-0 h-100 .. rst-class:: card-header-def .. rubric:: WRF Idealized Simulation .. container:: card-body-def A WRF model simulation of an "idealized," simplified, and controlled environment. | Idealized simulations are initiated from an an existing sounding (included with the code), and assume a simplified orography. Below are some ways in which idealized test cases can be used: * Since no external data is required, they are a simple method to ensure the model works correctly on a particular architecture and compiler. * They are useful for dynamical studies, reproducing converged or otherwise known solutions for a broad range of space and time scales. * Idealized cloud modeling * Reproducing known solutions * A starting point/template for other idealized experiments * Testing physics development | 1-D, 2-D and 3-D idealized cases are available, and provide a set of default examples for users, with and without topography, and with and without an initial thermal perturbation. For e.g., * To specify a thermal bubble, use the super cell case. * In the hill2d case, the topography is accounted for properly in setting up the initial 3-D arrays, so that example should be followed for any topography cases. * A symmetry example in the squall line cases tests that indexing modifications are correct. | Keep in mind the following limitations with idealized cases: * They can use any boundary condition except *specified*. * They are not generally set up to run with sophisticated physics. * No radiation, surface fluxes, or frictional effects are used (with the exception of the sea breeze, LES, and the global Held-Suarez cases). * The tropical cyclone case lacks only radiation schemes. * The sea breeze case includes a full complement of parameterization options. | | | Available Ideal Test Cases ========================== | .. note:: All idealized test cases are available in the *WRF/test/em_* directory, where ** represents the specific case directory. See the italicized names beneath each case title below. | **2-D Squall Line (x,z)** |br| *em_squall2d_x* * 2D squall line (x,z) using Kessler microphysics and a fixed 300 m\ :sup:`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-D Squall Line (y,z)** |br| *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 | **2-D Flow over a Hill** |br| *em_hill2d_x* * 2-D flow over a bell-shaped hill (x,z) * 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 ~6-km vertical wavelength | **2-D Gravity Current** |br| *em_grav2d_x* * Test case is described in Straka et al, INT J NUMER METH FL 17 (1): 1-22 July 15 1993 * See the *README.grav2d_x* file in the test directory | **2-D Sea Breeze** |br| *em_seabreeze_x* * 2-km grid size, 20-km top, land/water * Can be run with full physics, radiation, surface, boundary layer, and land options | **3-D Quarter-circle Shear Supercell** |br| *em_quarter_ss* * Left and right moving supercells are produced * See the *README.quarter_ss* file in the test directory for more information | **3-D Baroclinic Waves** |br| *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 | **3-D Large Eddy** |br| *em_les* * 100-m grid size, 2-km top * Surface layer physics with fluxes * Doubly periodic | **3-D Held-Suarez** |br| *em_heldsuarez* * Global domain, 625 km in x-direction, 556 km in y-direction, 120-km top * Radiation, polar filter above 45 degrees * Period in x-direction, polar boundary conditions in y-direction | **3-D Surface Fire** |br| *em_fire* * `Geoscientific Model Development Discussions`_ * 50-m, 4.5-km top * 10:1 subgrid ratio, no physics * Open boundaries | **3-D Tropical Cyclone** |br| *em_tropical_cyclone* * Test case described in Jordan, J METEOR 15, 91-97, 1958. * 15-km, 25-km top * f-plane (f=0.5e-5, about 20 N), SST=28 C * Full physics with a simple radiative cooling, no cumulus * Doubly periodic | **3-D Convective-radiative Equilibrium** |br| *em_convrad* * 1 km grid size, 30 km model top * Tropical condition, small f, weak wind, constant SST * Full physics * Doubly periodic | **1-D Single Column Model** |br| *em_scm_xy* * 4-km grid size, 12-km top * Full physics * Doubly periodic | | | | .. _Idealized Case Initialization: Idealized Case Initialization ============================= Idealized cases are typically initialized from an existing sounding (provided with the code), and assume a simplified analytic orography. Initialization programs for idealized cases are responsible for the following: * Computing a base state/reference profile for geopotential and column pressure * Computing perturbations from the base state for geopotential and column pressure * Initializing meteorological variables *u*, *v*, potential temperature, and vapor mixing ratio * Defining a vertical coordinate * Interpolating data to the model's vertical coordinate * Initializing static fields for the map projection and the physical surface; for many of the idealized cases, these are simplified initializations (such as map factors set to one, and topography elevation set to zero) * Moist potential temperature is computed, if requested that the thermal field use it * Reading namelist settings * Allocating space for the requested domain, with model variables specified at run-time * Generating the initial condition file to be used to run wrf.exe | The initialization program (an executable, *ideal.exe*) is compiled as part of the WRF code installation. Each idealized case uses its own initialization program, and therefore, *ideal.exe* for one test case cannot be used for another case. These programs are built using target modules from one of the */WRF/dyn_em/module_initialize_\*.F* files. Below is a list of available idealized WRF cases, along with the initialization target module that builds each one. | .. csv-table:: :header: "Case", "Target Module File" :widths: 30, 30 "em_b_wave", "module_initialize_ideal.F" "em_convrad", "module_initialize_ideal.F" "em_fire", "module_initialize_fire.F" "em_heldsuarez", "module_initialize_heldsuarez.F" "em_les", "module_initialize_ideal.F" "em_quarter_ss", "module_initialize_ideal.F" "em_tropical_cyclone", "module_initialize_tropical_cyclone.F" "em_grav2d_x", "module_initialize_ideal.F" "em_hill2d_x", "module_initialize_ideal.F" "em_seabreeze2d_x", "module_initialize_ideal.F" "em_squall2d_x", "module_initialize_ideal.F" "em_squall2d_y", "module_initialize_ideal.F" "em_scm_xy", "module_initialize_scm_xy.F" | | | Initialization Input -------------------- Typically the only required input to initialize an ideal case are the *namelist.input* and the *input_sounding* files (which are provided with the code). | | input_sounding ++++++++++++++ *input_sounding* files can be any set of reasonable levels that goes up to at least the model top height (*ztop* in the namelist), and are formatted in the following way: * The first line includes surface pressure (hPa), potential temperature (K), and moisture mixing ratio (g/kg). * Each subsequent line includes five input values: height (meters above sea-level), dry potential temperature (K), vapor mixing ratio (g/kg), x-direction wind component (m/s), and y-direction wind component (m/s). | *ideal.exe* interpolates data from the *input_sounding* and extrapolates if enough data is not provided. The base state sounding for idealized cases is the initial sounding, minus moisture, and therefore does not need to be defined separately. .. note:: The baroclinic wave case does not use a 1-D input sounding because initial 3-D arrays are read-in from the *input_jet* file. This means namelist.input cannot be used to change the horizontal or vertical dimensions since they are specified in *input_jet*. | | namelist.input ++++++++++++++ The *namelist.input* controls the size of the domain, number of vertical levels, model top height, grid size, time step, diffusion and damping properties, boundary conditions, and physics options. A large number of settings already exist in the default namelists found in each case directory. | | | | Compiling Idealized Cases ========================= `See the Compiling chapter`_ for detailed information on building both the idealized case initialization programs and WRF. | | | | Running Idealized Simulations ============================= `See Running Idealized Cases`_ for instructions on running an idealized case. | | | | Modifying Ideal Cases ===================== One of the advantages of running idealized simulations is the ability to take a basic, controlled test, and modify it according to research interest. Such modifications can include changing the topography, distribution of vertical levels, properties of an initialization thermal bubble, or preparing a case to use additional physics options (e.g., a land-surface model). Apart from namelist-controlled options or soundings, modifications must be done by editing the model code. * Make modifications in */WRF/dyn_em/module_initialize_.F*, where ** is either the case name, or simply *ideal*. See :ref:`Idealized Case Initialization` for details. * Once inside the file, modify the subroutine *init_domain_rk*. * If changing the vertical levels, the 1-D 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, the 2-D array *ht* must be defined, making sure it is periodic if those boundary conditions are used. * To change the thermal perturbation bubble, search for the string "bubble" to locate the code to modify. | | | | ****KKW**** Add this section somewhere in the running chapter Backward-compatibility ====================== By default, moist potential temperature is used (*use_theta_m=1*) by all ideal cases, and the WRF model uses a hybrid vertical coordinate (*hybrid_opt=1*). To use older *wrfinput* files (generated with WRF code prior to V4.0) as input to wrf.exe: * the moist theta option must be turned off (*use_theta_m=0*) in the namelist.input *&dynamics* record * the hybrid vertical coordinate must be turned off (*hybrid_opt=0*) in the *&dynamics* record * *force_use_old_data=.true.* must be set in the *&time_control* namelist.input record | | | | .. seealso:: `See Running WRF`_ for additional run-time options. | | .. _`Real-data`: real-data.html .. _`Geoscientific Model Development Discussions`: https://gmd.copernicus.org/articles/4/591/2011/gmd-4-591-2011-discussion.html .. _`See the Compiling chapter`: ./compiling.html .. _compiled: ./compiling.html .. _`namelist options`: namelist_variables.html .. _`See Running WRF`: ./running_wrf.html .. _`See Running Idealized Cases`: https://www2.mmm.ucar.edu/wrf/site/users_guide/running_wrf.html#running-idealized-cases