Setting up GFE and Running GHG on the WES

Updated 03-Jul-2007 for tcvautomater


Link to an example GFE/GHG Training Outline

Step 1: Download the latest version of GFE
If not provided by your region, you can directly download the release at http://www-md.fsl.noaa.gov/eft/AWIPS/17s/index.html
You will want to get the full release for Red Hat 7.2 (254M), and move it to a directory on the WES platform. If using an operating system other than Red Hat 7.2, you may need the Fedora Core 3 or RH Enterprise versions (also available). We used /tmp, but check your disk space if needed (df -h). When the download file is untarred, and the temporary install directory created,
you will need ~510M of space temporarily.

Step 2: Ensure your version of afos2awips.txt is current on the WES
The GFE install relies on having an up to date version of the afos2awips.txt file on the WES. This file will be found
in the /awips/fxa/data directory. If the version you have is old, you should copy a version from one of your operational
workstations (also found in /awips/fxa/data).

Step 3: Install GFE (Note: These are for a RedHat 7.x WES, modify GFE Version for other platforms)

After downloading, you will have a file name IFPS17j_RH7_GFESuite_Linux.tgz. Select the directory on your WES in which you
want the GFESuite directory. We selected /awips/GFESuite, but you will want to check for space here, too. A clean release, with no
model data, is around 370M. This is all that is required for GHG training. If you intend to move in actual forecast databases, and ingest WES data, etc, you'd probably want about 1.5G.
Here are the steps to install GFE, assuming you've downloaded the .tgz file to /tmp:

> cd /tmp

> gunzip IFPS17s_RH7_GFESuite_Linux.tgz

> tar -xvf IFPS17s_RH7_GFESuite_Linux.tar

> cd install

> ./installGFE -h (WES hostname) -s (Three letter AWIPS Site ID) -p 98000000 -d (full path for install)

For instance, for us, it was:
./installGFE -h wes -s arx -p 98000000 -d /awips/GFESuite

Step 4: Start the ifpServer
After a successful install, perform the following command to start the ifpServer:

> cd /awips/GFESuite/bin (or your local directory chosen in step 3)

> ./runIFPServer


Step 5: Start the GFE
After you have started the server (it may take 3-4 minutes the first time to start), you can perform the following
commands to start a GFE:

> cd /awips/GFESuite/bin (or your local directory chosen in step 3)

> ./runGFE

At the startup screen, you can select the user and config (probably fxa and gfeConfig), but you MUST select
a mode of practice_vtec. GFE will start in a pumpkin color. You can now create hazard grids, save them, and create
formatted hazard products (with the exception of SPC Watches, see step 6. More information on using hazard
tools and methodology can be found at:

http://www-md.fsl.noaa.gov/eft/AWIPS/17s/onlinehelp/SmartToolsBaseline.html

Step 6: Using the watchautomater.py script to simulate the SPC WBC process

Note: If either of the scripts, wesgfe.py or watchautomater.py fails to run with an error
"Error: no module named Time"
 
Please change the first line of the script from

#!/usr/bin/python
to
#!/usr/local/python/bin/python


First, you will need to download a copy of the watch automater from http://www.weather.gov/os/vtec/resources/watch.tar
Place the downloaded watch.tar file in the directory selected in step 3 (ie. /awips/GFESuite). Next,

> cd /awips/GFESuite

> tar -xvf watch.tar

You will now have a subdirectory called watch, containing two files, watchautomater.py and watchdata.py. Next:

> cd  watch

> chmod 775 watchautomater.py

> which python
(lists active python executable)

> vi watchautomater.py
(then change the very first line to #!/path/as/listed/by/which/python above)


Finally, you will need to configure the watchdata.py script to run watches in the background.

The way this system works is this:

You specify a watch type, number, the counties involved, the duration, and the minutes at which to send the watch. You can do this
for both the WCL (Coordination product) and WOU (Official Watch Outline). When you run the script, it sleeps until the number of
minutes specified, then writes the WOU or WCL to GFE in the background, allowing the user to have a complete simulation of WBC. In addition, once set up, it can be run over and over, since it uses an offset to the system time to generate the watches.

Here is an example of watchdata.py, with important information in red. As you can see, the file is fully commented.

#
# This program uses a list of watch information to automatically
# trigger GFE to ingest for SPC Watch Methodology Training/Testing.
#

#
# The user must set up two items (below). The first is the location of
# the GFESuite bin directory. This is a string NOT ending in /.
#

GFESuite = '/local/GFESuite' (This needs to be changed to the top level directory for your installation)

#
# The second item is a set of watches to trigger, and when to trigger them.
# This script will go to sleep between watches, and trigger when needed. The
# format of the watch data is:

# ('WCL', 3, ['COC015', 'COC117'], 'PUB', 'TO.A', '0336', 3)

# Each of these fields and their allowable values are:

# Type: 'WCL' or 'WOU' (String)
# Time after start: Minutes from start time at which to display
# watch data. (Integer)
# Counties: Strings of FIPS codes, in a list. (List)
# WFO: Three letter AWIPS ID (String)
# Watch: 'TO.A' or 'SV.A' (String)
# Watch Number: must be four digits, and is STRING, not integer.
# Expiration: Length of watch in hours

# Do not change the "SPC_Data = [" line or the last "]".
# Remember commas after each set of watch data

SPC_Data = [
('Type', Minutes to trigger, ['comma separated list of counties'], 'CWA', 'Watch  Type', 'Number',
'Watch Duration')

('WCL', 2, ['MNC157', 'MNC039', 'MNC109', 'MNC169', 'MNC099', 'MNC045', 'MNC055'], 'ARX', 'SV.A', '0778', 4),
('WOU', 4, ['MNC157', 'MNC039', 'MNC109', 'MNC169', 'MNC099', 'MNC045', 'MNC055'], 'ARX', 'SV.A', '0778', 4),
('WCL', 6, ['MNC045', 'MNC055', 'IAC191', 'IAC005', 'IAC043', 'WIC023', 'WIC103', 'WIC043'], 'ARX', 'TO.A', '0780', 6),
('WOU', 7, ['MNC045', 'MNC055', 'IAC191', 'IAC005', 'IAC043', 'WIC023', 'WIC103', 'WIC043', 'WIC123', \
            'WIC049', 'WIC065', 'IAC065', 'IAC019', 'IAC055', 'IAC061', 'IAC105', 'IAC097', 'ILC085', \
            'ILC177'], 'ARX', 'TO.A', '0780', 6),
]

Step 7: Using the wesgfe.py script to run multiple users

The purpose of the wesgfe.py script is to assist a trainer in running multiple users through a WES simulation
using GHG. Basically, it cleans up the VTEC active table and the Fcst_Prac database, and automatically starts
GFE in Practice mode, along with ghgMonitor on the screen you specify. Basically, it provides a clean run every time,
without having to remember to cancel every product issued, and wait for SPC watches to expire, etc. While the clean up is not as critical with the OB7.2 practice mode enhancements, the script is still useful for start up.

First, you will need to download a copy of the wesgfe script from http://www.weather.gov/os/vtec/resources/wesgfe.tar
Place the downloaded wesgfe.tar file in the directory selected in step 3 (ie. /awips/GFESuite). Next,


> cd /awips/GFESuite

> tar -xvf wesgfe.tar

You will now have a new file, wesgfe.py. Next:
 

> chmod 775 wesgfe.py

> which python
(lists active python executable)

> vi wesgfe.py
(then change the very first line to #!/path/as/listed/by/which/python above)

While editing wesgfe.py, you will want to possibly change the four configuration
variables in the file (fully commented within the file itself):

topGFE - The toplevel GFE directory as selected in step 3.
user - The user to start GFE under.
config - The GFE config file to use when starting
ghgMonitorScreen - The screen on which to start the GHG monitor

Step 8: Using the tcvautomater.py script to simulate the TPC watch/warning process

You can also download a copy of the TCV automater from http://www.weather.gov/os/vtec/resources/tcv.tar
It installs the same as the watch.tar file above.
The setup is more complex due to the segmented nature of the TCV. Closely follow the documentation within the tcvdata.py file.