A Graphical User Interface to Localize Domains for the
WRFSI GUI Version 1.3.2
A Graphical User Interface to Prepare the
Standard Initialization for WRF
September 2003
Paula McCaslin, John Smart, Brent Shaw, Paul Schultz, Steve Albers, Dan Birkenheuer, John McGinley and Linda Wharton
NOAA/Forecast System Laboratory
Boulder, Colorado
1.0 Introduction
A graphical user interface (GUI) is a commonly used computer tool that allows a user to more easily interact with underlying software and files. Though the GUI itself can be quite involved and contain several levels of interactivity, it ultimately allows a safer and more efficient method to manipulate the software and modify files. A great advantage is that users do not have to remember the file paths or executable names, and therefore they do not have to remember their interdependencies. The GUI also prevents users from making potentially serious mistakes or becoming confused about the intricacies of the system software.
The Weather Research and Forecasting (WRF) system is being developed with the latest scientific knowledge and computer technologies. Several organizations are participating in this development and are using established software as well as writing new software as the system evolves. The Forecast Systems Laboratory (FSL) has developed the SI system (Ref) an important and necessary first step in setting up WRF. The SI provides two mandatory parts of WRF:
1. To define and localize a three dimensional grid; hereafter this is referred to as domain localization; and,
2. To provide the initial and lateral boundary condition files by interpolating larger scale model data to the domain.
The SI is designed to allow significant flexibility achieved using three primary directory structures: one for the source software, one for the installed executables and one for the output data. These are further described in section 3.0. The purpose of this document is not to describe the details of the SI since this can be obtained from other documentation (see references); on the other hand, a general understanding of the system is required and knowledge of the three-directory structure is important.
This initial step in preparing SI presumes that a user has obtained and installed the software. This means the executable programs have been successfully downloaded (from the SI tape archive (tar) file via the WRF web site: http://wrf-model.org/si) and compiled. Completing an implementation requires that users have some understanding of the SI system design and interdependencies. Installation is manual and instructions are detailed in the README information file found in the SI tar file.
The primary objective of this report is to describe the WRF GUI and provide an understanding of its functionality. The GUI runs all SI processes to generate domain localization, initial and lateral boundary condition data and display graphics.
Details of the GUI software and how to install it are presented in section 2.0. Section 3.0 describes its design and layout and gives an example of localizing a domain over Australia. Future work is discussed in section 4.0. A brief summary is found in section 5.0.
1.1 Domain Localization
The SI satisfies global domain localizations in the commonly used map projections: Lambert Conformal (both tangent and secant), Mercator, and Polar Stereographic. Some basic understanding of map projections is valuable but not mandatory. The phrase domain localization means to complete the following tasks:
· Prepare a directory structure where the WRF data will be written.
· Choose a rectangular domain on earth, with a fixed center point and projection type.
· Edit the domain for the specific number of grid points, grid spacing, standard latitude and longitude values to insure the resulting map covers the desired area with this set of parameters.
· Determine the distribution of vertical levels.
· Set the paths to geography data including: terrain, land-use, greenness fraction, albedo, soil type, and global mean temperature.
· Run the localization Perl scripts which, in turn, run the localization Fortran software.
· Verify that the localization is correct with generation of graphics images.
1.2 Interpolation of Data
In addition to domain localization, SI also includes software that prepares large-scale model output for WRF model initialization and lateral boundary conditions. This step requires successful completion of domain localization, which, in turn is a condition that influenced the GUI design.
2.0 Software
2.1
Selecting Perl/Tk
Perl is
the scripting language used to configure WRF. It is a powerful software tool
automating many aspects of the software setup. These scripts, however, have
environment and file variables that need to be set prior to running them as
well as setting many command-line arguments. This can be a complex task for
users. The idea for a graphical user interface was an obvious solution to
accomplish this task efficiently and accurately. Many GUI languages and tools
were considered and evaluated. The GUI was written Perl/Tk. One key motivation
for this choice was compatibility with the existing SI scripts. Key
justifications for this choice follow.
Perl is
arguably the most popular scripting language in use today. It is used for a wide variety of tasks,
including file processing, system administration, web programming and database
connectivity. Early Perl users had to be content with command-line interfaces.
But the splitting-off of the Tk widget library from the Tcl language opened a
whole new world to Perl. Perl programmers could now easily create graphical
interfaces for their programs using Tk's flexible and friendly widget set and,
with little effort, those programs could be made to work across Windows and
Unix platforms.
The relatively recent advent of the web browser would seem to have made the Tk interface obsolete. CGI programmers are almost inherently cross-platform and provide many of the same widgets as Tk (this includes Menus, Buttons, text entry fields, and so on). However, the inherent statelessness of the Web makes it difficult to write some programs for it. Perl/Tk provides a richer widget set than available to the CGI programmer. Server push and client pull try to get around some limitations, while JavaScript fills in other gaps, but the fact is, the user experience still fall short in many instances. It is for precisely this reason that Perl/Tk continues to flourish.
The Tk
module gives the Perl programmer full access to the powerful Tk widget set.
This rich and diverse library, like Perl itself, makes the easy things easy and
the hard things possible. [LIDI02]
Perl/Tk
programs are written in an object-oriented (OO) style. Perl/Tk widgets (such as Buttons) are
objects that have methods we use to control them. Besides widgets, Perl/Tk has
images, which are also objects. Each different widget belongs to a class. A
widget's class defines its initial appearance and behavior, but individual
widgets of the same class can be customized. As an example, we could create two
Buttons that have different textual labels but are otherwise identical. The
widget class constructor instances a widget. The class also defines a widget's
initial behavior by creating bindings.
A binding associates an event such as a button press with a callback,
which is a subroutine that handles the event. [LIDI02]
Using
Perl/Tk allows the user to call Perl module subroutines directly. To contrast, choosing another user interface
language would add a layer of communication between two different languages --
a step not necessary using Perl/Tk.
Further
motivation in selecting Perl/Tk is that it is free, platform independent
without modification or recompiling and it is open source software that is very
well supported in the community.
2.2 Other
software used in GUI (Perl, C, Fortran)
As
mentioned, Perl is the scripting language used to configure the SI. Many Perl scripts directly edit, modify, and
create files and directories used by the WRF system and its processes. There
are several Perl scripts invoked from the GUI by simply pushing a button. For
example, window_domain_rt.pl is called from the GUI with all the necessary
command-line arguments resolved by the GUI.
The
projection mapping software is written in C. The C compiled software allows for
faster code than would be possible in Perl since it is, generally, interpreted
code. One approach than might be considered in the future is to extend Perl by
creating a C library that Perl can understand and link with. Forgoing this, we
currently execute C code from Perl, which generates and writes output files to
/tmp that are subsequently read as input to Perl/Tk.
The SI
software is written in Fortran, Fortran90 and C. It is fully dynamic by virtue of the Fortran namelist entries for
domain size and configuration. Much of the software has roots from the FSL Local
Analysis and Prediction System,
(LAPS). LAPS has been in existence for
many years and the grid localization software is particularly robust. It is used by many researchers, operational
weather centers and organizations world-wide and has gone through numerous
2.3
Installing
The Tk
extension does not come with the standard Perl distribution. You will need
Perl/Tk version 800.023 or higher. If this is not on your system it is easy to
install by visiting the CPAN (Comprehensive Perl Archive Network) at www.cpan.org/authors/id/NI-S and
look for the version in the form of Tk800.023.tar.gz. It is recommended that
your system administrator install Perl/Tk on your system.
During
installation of the SI the user is asked, “Would you like to install the WRFSI
GUI?” If the response is ‘Yes’ and Perl/Tk cannot be found, then the Perl/Tk
will be installed from the tar file ported with SI version 1.3.2.
The
location for WRF GUI source code is within the SI source code directory,
specifically in SOURCE_ROOT/gui.

Figure 1:
Display of WRF GUI application at start-up.
3.0 Layout and Design
The GUI described here is customized for WRF and a banner image is displayed upon start-up (Figure 1). The GUI automatically determines a WRF realization through a simple evaluation of the system design and file structure. The GUI is capable of running other systems besides WRF and, as such, a different banner would be displayed. We allow this capability because other weather analysis and forecasting systems can use this GUI to configure and localize domains (in particular, LAPS).
The SI UNIX environment, in which the GUI runs, allows the source software directory to be located in one area (hereafter, SOURCE_ROOT), the executable software to be located in a second directory (hereafter, INSTALLROOT) and the I/O directory in a third area (hereafter, DATAROOT). The nature of this design allows full flexibility of the system but it also adds a degree of complexity making it difficult to set up and initially run. Experienced users are more likely to succeed on the first try; however, it is typical for users that fail on the first try to give up. The three-directory structure approach is implemented in SI by using environment variables. Because the GUI is delivered with the tar file, the SOURCE_ROOT is known (i.e. the location in which the tar file was “un-tarred”). Users run the GUI from the INSTALLROOT so this is also known. In a typical SI implementation the SOURCE_ROOT and INSTALLROOT share the same directory path name.
3.1
Application Layout
The design
of the WRF GUI is to present graphical tools to completely run all of the SI
processes in a robust manner that makes sense to the users of the application.
Instead of making users read significant documentation to begin these tasks,
the GUI provides partially and fully completed solutions (e.g. filled in entry
box values) for users to edit, if need be, to satisfy their objectives. Users
can bypass very complicated procedures, especially for those unfamiliar with
scripting. They can get useful results
without otherwise knowing how to proceed from scratch.
The
application layout consists of process buttons from the tool selector to the left
of the window and a display containing the editing tool to the right of the
window. Always present in the GUI window are the standard menubar at the top of
the window. The user can exit the application or query the help pages and
version information by selecting options found on the File and Help buttons of
the menu bar, respectively (upper left and right corners). We also find at the
bottom of the GUI window a ‘Hints & Information’ area sometimes suggesting
steps to be taken and other times summarizing the success of the step that has
been completed. See Figure 1.
There are
several components to SI and a specific sequence of processes that take place.
The buttons of the tool selector (on the left side of the window) with its
arrows direct the user in moving through these steps. The steps are: Domain
Selection, Initial Data, and Interpolate Data. Once a user presses a button
from the tool selector, a corresponding editing tool is displayed. These are
described in detail in sections 3.2 – 3.4.
Displaying
a lot of information in a small space is a big challenge in a GUI application.
The tabbed panel approach, where tabs are located across the top of each panel,
is designed to address this. A tabbed panel for Domain Selection’s editing tool
interface is shown in Figure 2. It allows the application to have many panels
of information, but allows only one to be shown at a time. An additional
advantage of the tabbed panel approach is sequential navigation.
The
over-all design includes suppressing detail and complexity until the user needs
it. As such, some controls are disabled and others are not displayed until they
are relevant to the user accomplishing a task. Tool tips (small information
boxes) are also displayed when the user places the cursor on certain widgets
within the application.
The GUI
design was influenced by applications that FSL evaluated during this
development, including: the Air Force
Weather Agency (AFWA) System GUI and the National Center for Atmospheric
Research (NCAR/ARMY) MM5 GUI. (We’ll
need some references here).
3.2 Domain
Selection Tool
The Domain
Selection Tool has the following panels: Domain, Horizontal Grid, Vertical
Grid, Localization Parameters, Localize Domain and Domain Graphics. The order
in which the panels appear reflect the order in which the steps of localization
need to be performed, starting from the left and proceeding to right. Below the
panels are two control buttons: ‘<Back’, and ‘Next>’ for the user to navigate step-by-step through an
otherwise complicated process with instructions and choices specified as
needed.

Figure 2:
Display of Domain Selection Tool, showing the Domain panel.
3.2.1
Domain Panel
The Domain
panel initiates the first task of the localization process; this is to declare
a domain.
There are
four choices available on the pull-down menu shown near the top of the panel
allowing the user to create, load, copy or delete a domain. Once a domain is
initially created, it can subsequently be edited, copied or deleted (Figure 3).
The GUI application includes a default domain, called ‘default’, to serve as an
example of steps in the process of domain localization. This particular domain
cannot be edited or deleted only copied then edited.
The top of
the Domain panel (Figures 2-4) contains four entry fields: domain name, path to
your data or DATAROOT (with a file Browser widget), simulation description and
user description. The user can accept
default values suggested by the GUI or enter new values by typing them in. Users
typically enter useful names for their domain; in this example an area
encompassing Australia will be localized and ‘Australia’ was entered as the
domain name. A disabled entry signifies that an entry or button is un-editable
as a function of the selected mode (e.g. copy existing domains).
Once a
domain has been created and localized the GUI generates files that reference
its DATAROOT. Because the DATAROOT
directory contains the localization results and model output, the directory
path entered must have ample disk space (or a disk partition). The environment
variable called “MOAD_DATAROOT’ is actually the DATAROOT/domain name. DATAROOT
and MOAD_DATAROOT are synonymous in this paper.
We limit
the discussion to new localizations; however, the GUI allows modification or
review of existing domains. This is accomplished by selecting the option
‘Choose what you want to do’ from the pull-down menu shown on the Domain
panel.

Figure 3:
Display of Domain panel showing "Load existing domain" mode. Notice
that there is a preview image of the domain.
The domain
selection choice ‘Load’ will load an existing domain into the GUI. Everything
about the domain can be edited except for the disabled domain name.
The domain
selection choice ‘Copy ’ will create a new domain from an existing one. The
automatic name for the new domain is generated from the original name adding a
case number. For example, if Alaska were selected by the user to be copied its
automatic domain name would be Alaska_001 for the first domain copy, with a
limit of 999. The user is free to edit any parameter for this copied domain
including its name.

Figure 4: Display of Domain panel showing "Delete existing domain" mode.
The domain
selection choice ‘Delete’ will highlight the domain selection in red then asks
the user to confirm the action before a recursive remove is performed.
3.2.2
Horizontal Grid Panel
The
Horizontal Grid panel (Figure 5) is comprised of two panels containing tools
that allow the user to define a new model domain by drawing a bounding box on a
map (left panel) and editing map projection variables (right panel). The map
window initially shows a Cylindrical Equidistant projection map of the world
centered at Latitude 0 and Longitude 0.
The entire global map is not displayed, but the panel has a sliding
scroll bar on the bottom and right sides to reposition it in the panel. The global map can be increased or decreased
in size by pressing the appropriate zoom-in or zoom-out icon buttons just above
the map.

Figure 5:
Display of Horizontal Grid panel.
As the
user presses mouse button 1, on the global map, and drags the mouse to a new
location on the map a white domain bounding box will be drawn to specify the
domain. This was done for the area over Australia seen in Figure 5. The process
of creating a domain bounding box, then moving and resizing the bounding box is
described for the user by pressing the information icon button ‘i’ located just above the map.
Experimenting with pressing mouse button 1, dragging the cursor and pressing
the ‘Clear’ button is also a good way to learn the functionality of creating a
domain bounding box and fine-tuning its location and size.
Once a
domain bounding box is created status information is displayed in the Hints
& Information panel, specifically, the lower left (LL) and upper right (UR)
corner latitudes and longitudes of the domain bounding box and the total number
of X, Y grid points in the selected domain.
The top
sections of the right control panel are used to set a background map, the
projection type, and the center point values. As the domain bounding box is
moved or resized, the values in the right control panel will update. Likewise,
the user can manually edit the center point values in the right panel and the
domain bounding box will update.
The GUI has built in criteria to assist the user in chosing
a projection based on domain’s the center point latitude. The ‘Map Projection’
label suggests Lambert Conformal based on center latitude of 63 degrees, but
Polar Stereographic could be chosen instead (see Figure 5).
At the
bottom of the right control panel are four action buttons: Clear, Start Over,
Reset Values and Update Map. The Update Map button will draw a new map with the
listed projection parameters. The Start Over button will undo all updates to
the domain map but will leave the original domain bounding box. The Clear
button resets all widgets and deletes the domain bounding box. The user can fine-tune
the domain bounding box and press ‘Reset Values’ if these changes are not
acceptable and to press ‘Update Map’ if they are.
A warning
dialog box that will appear suggesting steps for the user if parameter values
are not chosen prior to pressing the ‘Update Map’ or ‘Next>’ buttons. Notice that ‘Update Map’ is highlighted
yellow (Figure 5) suggesting this that button needs to be pressed. Any change
to a parameter will cause the ‘Update Map’ to highlight indicating that the
map’s image and the projection parameters are out of sync with each other. One
of two things needs to happen, either press ‘Update Map’ to draw a new map, or
press ‘Reset Values’ to return to the current maps parameters to the entry
boxes.

Figure 6:
Display of Horizontal Grid panel following the user action of pressing ‘Update
Map’.
When the
user presses ‘Update Map’ both left and right panels of the Horizontal Grid
editor update as seen in Figure 6. The domain is now displayed in projection
space (in this example, Lambert Conformal) based on user-selected information.
You may notice that the lower left and upper right corner points have changed
slightly due to the transformation from the previous map to the new gridded map
in projection space. The new corner points are accurate. To obtain this gridded
map, we first assume that ‘Horizontal Dimension X’ equals 100. The great circle distance between the east
and west sides of the domain is computed which, in turn, is used to estimate
‘Grid Spacing’. Similarly, computing the north-south great circle distance and
multiplying this by the grid spacing from the previous step determine
‘Horizontal Dimension Y’. Additional
editing options are available on the right control panel. These allow for exact
adjustments to the map. (The staggered grid when applied in gridgen_model will
affect the lower left and upper right corner points by slightly changing these
values further.)
It is
common for the user to refine the domain bounding box. There are two choices to
do fine scale editing: the domain bounding box or the grid values. The ‘Domain
Bounding Box’ mode allows the user to interactively resize the domain bounding
box using the cursor to manipulate the white bounding box in the left panel
(Figure 6) while keeping the center point and grid spacing values fixed. The
‘Grid Values’ mode allows the user to enter values to adjustment the domain
bounding box (Figure 7). When the Grid Values is selected the domain bounding
box looses its tags to inforce that the box is not interactive. When the user
is satisfied with the domain’s map they proceed to the ‘Vertical Grid’ panel by
pressing on ‘Next>’. This step automatically creates a template directory
and writes or updates the wrfsi.nl, dataroot.txt and domain.gif files.

Figure 7:
Display of Horizontal Grid panel with 'Grid Values' selected as the method to
fine-tune the domain.
3.2.3
Vertical Grid Panel
The
Vertical Grid panel (Figure 8) is comprised of two panels containing tools that
allow a user to view sigma levels (left side) and edit these levels (right
side). Included in the right control panel are several options to edit the
sigma levels that update the display. One option allows the user to enter a
desired number of levels and choose one of three sigma level scheme that
automatically generate levels. The schemes are calculate linear levels in
sigma, calculate square root levels in sigma, or calculate the top 1/3 of the
requested levels in linear and the lower 2/3 of the requested levels in square
root in sigma. A second option is to load an existing file. A third option
allows the user to add or remove sigma levels via a text editing window. Status
information is sent to the Hints & Information panel. It contains the
minimum and maximum sigma height distance values, which are affected by the
surface pressures and temperatures and the highest pressure level at the top of
the domain. Vertical sigma levels can be displayed in log pressure with the
press of a button.

Figure 8:
Display of Vertical Grid panel.
3.2.4
Localization Parameters Panel
The SI
FORTRAN namelist file (called wrfsi.nl located in SOURCE_ROOT) is read in when
the WRF GUI is started. From the beginning of the session to create or edit a
domain the user selections and entered values change the variables in the
domain’s namelist. If the user is not satisfied with the values in the
namelist, they should be edited. The paths to surfaces geography files are
editable. Please refer to the SI README file (Appendix A) to learn more about
the geography data and how to acquire it.

Figure 9: Display of Localization Parameters panel.
When the
user is satisfied with the values in the previous and current Domain Selection
panels the next step is domain localization.
3.2.5
Localize Domain Panel
At this point the user is ready to run the Perl and Fortran programs to localize the domain.
The window_domain_rt.pl command and all its command line arguments are shown in a (non-editable) text window (Figure 10). To run this process, the user presses ‘Localize’. Depending on the grid size and grid spacing of the configured domain, this process can take seconds to several minutes to complete. Output from the process, otherwise sent to the screen, is redirected to the same text window mentioned.

Figure 10: Display of Localize Domain panel.
The end product of domain localization is a defined and
localized three-dimensional grid. Of specific interest is a netCDF (network
Common Data Format) file in the DATAROOT called ‘static.wrfsi’ (hereafter,
static file). The static file contains all non-varying information required for
the WRF model, including terrain, land-use, latitudes and longitudes, map
factor and several other quantities.

Figure
10: Display of
Domain Graphics panel. This user has NCAR Graphics NCL available and as such,
they are able to create and view output from domain localization.
3.2.6 Domain Graphics
There is a capability built into the GUI to create and display graphics of the localization results. Currently this is only possible if NCAR Graphics 4.3.0 is installed with NCARG_ROOT and NCL_COMMAND properly set. Example images of graphics output from the Australia localization include terrain (Figure 11), land use (Figure 12) and maximum greenness (Figure 13). These were generated by NCAR Graphics NCL and are viewable by NCAR Graphics idt launched from the GUI. The full graphic output (ncarg meta) files include the following variables:

Figure
11: Image of terrain for the Australia domain localized in the example.

Figure
12: Image of land use for the Australia domain localized in the example.

Figure
13: Image of max greenness for the Australia domain localized in the example.
3.3 Initial Data Tool
The Initial Data Tool performs the first of a two part task to provide the initial and lateral boundary condition data files. This section of the user interface runs a script (grib_prep.pl), which acquires background data then uses specified directories to decode and store this data.
Please note that the values entered in the Interpolate Data Tool in the ‘Controls’ panel (Section 3.4.1, Figure 17) need to correspond to choices made here, specifically, the values for ANALPATH and LBCPATH need to be considered.
3.3.1 Sources Panel
The grib_prep Fortran executable is responsible for decoding GRIB files. The grib_prep.nl namelist is a file that controls the execution of the grib_prep executable. This section of the GUI assists a user to edit their grib_prep.nl file for their system configuration.

Figure 15: Display of Initial Data Tool - Sources panel.
As can be seen in the user interface (Figure 15) each entry line in the table of GRIB information is separated into five columns that need to be edited for the users system configuration. These values can be edited or deleted by using the keyboard. An entire entry line can be left blank but for the underlying software to be successful, no values on a valid line should be left empty. To delete the GRIB source name (the first entry) is to invalidate and delete the entire line.
‘Add’ creates a new blank line for user input. ‘Save’ both writes the grib_prep.nl namelist file and updates the pull-down menu seen in the ‘Script’ panel (Figure 16). Note that ‘Save’ is automatically invoked when ‘Script’ tab is pressed. ‘Reload’ reloads the current EXT_DATAROOT/extdata/static/grib_prep.nl
3.3.2 Script Panel
This section of the GUI assists a user to configure their Perl grib_prep.pl script, which runs the Fortran executable grib_prep (which in turn reads the file grib_prep.nl).
First, the Script panel assists the user in composing command line arguments for grib_prep.pl. By choosing a Data Source, for example AVN, a command is created in an editable text window shown at the bottom of the panel. A list of command line option switches is shown on the panel resulting from running grib_prep.pl with the help option (grib_prep.pl -h). Second, the user is able to immediately run this command by pressing ‘Run’, or save the script to a file with ‘Save’. (See Figure 16.) If Save is pressed the script will be located in INSTALLROOT/user_scripts available to be run at a later time, or in the case of real-time runs used as input for a cron file.

Figure 16: Display of Initial Data Tool - Script panel.
The grib_prep.pl script accepts only one data source at a time. Thus, an additional grib_prep.pl command needs to be created for each GRIB source to process. Please note that the values entered in the Interpolate Data Tool in the ‘Controls’ panel (Section 3.4.1, Figure 17) need to correspond to choices made here, specifically the values for INIT_ROOT and LBC_ROOT need to be considered. For instance, if INIT_ROOT=’AVN’ then grib_prep.pl needs to run with the argument AVN. A default of –t 1 is an option that instructs the script to create an hourly data file.
3.4 Interpolate Data Tool
The Interpolate Data Tool (Figure 17) performs the second of two tasks in providing the initial and lateral boundary condition data files. This section of the user interface runs a script (wrfprep.pl), which interpolates background data to a specific domain. In fact, the button to invoke this tool is disabled and appears gray unless a newly created domain is localized or an existing localized domain is loaded via the Domain Selection Tool.
3.4.1 Controls Panel
The
Controls panel (Figure 17) contains parameters to interpolate initial and
lateral boundary condition files to the domain. The values are written to the
namelist and are used by Perl scripts to prepare initial and lateral boundary
file discussed in sections 3.3 Initial Data Tool.

Figure
17: Display of Interpolate Data - Controls panel.
3.4.2 Script Panel
This section of the GUI assists a user to configure their wrfprep.pl script.
As can be seen in the user interface (Figure 18) this Script panel assists the user in adding arguments to wrfprep.pl. A list of command line option switches are shown on the panel resulting from running wrfprep.pl the help option (wrfprep.pl -h). The user is able to immediately run this command by pressing ‘Run’, or to save the script to a file with ‘Save’. If Save is pressed the script will be located in INSTALLROOT/user_scripts available to be run at a later time, or in the case of real-time runs used as input for a cron file.
A text window labeled ‘Data files’ lists the data files found in ANALPATH, LBCPATH, LSMPATH and CONSTANTS_PATH created by running grib_prep.pl in the Initial Data Tool (Section 3.3.2, Figure 16).

Figure 18: Display of Interpolate Data - Script panel.
The time
option (-t) and forecast length (-f) switches used with grib_prep.pl directly
relate to the option switches needed for wrfprep.pl to generate interpolated
data. To illustrate, if you were to run grib_prep using -t 3 for the ETA files,
you would get 12Z, 15Z, etc. If you
were to run wrfprep.pl with no time arguments, it would run for the current
hour (let’s say, 16Z), which requires 16Z, 19Z, etc. for the ETA data. The
result would be no interpolated files.
To generate
desired file in this illustration, you could do one of many things:
1. Run grib_prep with -t 1, so you get hourly
ETA output, thereby satisfying our ability to run the WRF for any hour.
-OR-
2. Use either -o or -s with wrfprep to start
the model at a time for which you have some ETA data. Since you, to continue the example, executed the scripts at 16Z,
grib_prep determined that the 12Z ETA was the latest run and created output
files for 12Z, 15Z, 18Z, etc. You could run wrfprep.pl with -o -4 to say you
want the initial hour 4 hours prior to the current hour (16-4 = 12Z). You could also run with -o -1 to use a 15Z
initial time.
3.5 Path Preferences
The ability to edit path preferences allows users to enter new paths specifically to external and geographical data from the values that were defined when the install script (install_wrfsi.pl) ran. Changes to the path for external data (EXT_DATAROOT) will require an update to the path choices found in the Standard Initialization Paths in the Interpolate Data in the ‘Controls’ panel (Section 3.4.1, Figure 17). Changes to the path for geographical data (GEOG_DATAROOT) require an update to the path choices of the Static Geographical Data paths in the Domain Selection Tool in the ‘Localization Parms’ panel (Section 3.2.4, Figure 9).

Figure
19: Display of the Path Preferences panel.
The Path Preferences menu button to display the Path Preferences panel is found under the toolbar’s Edit pull-down menu.
4.0 Future Work
4.1 Model Setup Tool
The GUI does not yet have a Model Setup tool allowing the
user to set up the remaining part of SI but we have plans to incorporate this
functionality soon.
4.2 Acquiring Static Geographic Data
Localizing a WRF domain requires geography data files for 7 separate types of static land states information. These are listed in section 3.2.6 as the GUI generates the image displays after domain localization. More information is available in the README on the location, description and size of these static data sets.
5.0
Summary
The WRF GUI is not a finished product and there are plans for upgrades. On the other hand, the current GUI is capable of doing difficult first steps of numerical weather prediction set up in domain localization and generating interpolated initial and lateral boundary condition files. We envision the GUI to be capable of assisting the user with many other tasks associated with WRF system set up, running and evaluation.
6.0 References (incomplete at the moment)
LIDI02 Lidie, Steve, and Nancy Walsh. Mastering Perl/Tk. Sebastoopol (CA): O'Reilly & Associates, 2002.
JOHN00 Johnson, Jeff. GUI Bloopers: don'ts and do's for software developers and Web designers. San Diego: Academic Press, 2000.