Proximity Alarm Design
by Xiangbao Jing and Jim Fluke
FSL
Created on 01/05/01
Updated on 05/21/01
1.0 Overview
Based on the Requirements (RWP 0107 on 12/05/00)),
we designed the proximity alarm monitor. It monitors the configured incoming
text messages, generates alarm/alert and performs other configurable actions
if an area in the message is matched with the AOR.
The design includes an implementation in build5.1.2
and the means to extend it in the future.
In the implementation, we will merge the proximity
alarm(PA) monitor with current alarm/alert(AA) monitor. The key different
between the PA and AA monitor is that the PA monitor uses AOR or UGC codes
to match a product, but the AA monitor uses a text string. In the other
words, we can call the AA monitor as a "string monitor" and the PA monitor
as an "area monitor".
1.1 Proximity Alarm Requirements (RWP 0107)
1.AWIPS shall allow users to configure their system
to monitor incoming text messages for products containing either LAT...LON
polygons or UGC codes; products containing LAT...LON polygons and UGC codes
will be identifiable by their AWIPS ID
2.AWIPS shall allow users to define the triggering
of alarm/alert features, by product, based on the:
1).intersection of the LAT...LON polygon with their
office's area of responsibility (AOR), or
2).proximity of the LAT...LON polygon within a user
selectable distance from the office's AOR, or
3).if the product contains one or more UGCs that are
specified by the user.
3.AWIPS shall allow users to configure their system
to initiate any or all of the AWIPS alarm/alert functionality when criteria
in item #1 and #2 are satisfied; alarm/alert functionality that can be
initiated by a proximity alarm include pop-up window text alerts and audible
tone alarms.
4.AWIPS shall provide the proximity alarm functionality
during service back-up.
1.2 Design
-
Proximity alarm configuration tables allow the user to define
the product, proximity area, alarm type and additional action. Similar
to the AA monitor, there are two new tables for the PA monitor. One is
fixed and generated during localization, it is available to all text workstations
at a site. The other table is editable by using the GUI. It is available
to the local text workstation only. The PA monitor knows what product should
be monitored, how to match and how to alarm or alert by checking these
tables. It allows users to configure AWIPS to alarm any or all text workstation
when alert/alarm functionality is triggered
-
Action table, defines the additional action names entered in
the above configuration tables. Each entry consists of an action name,
action type, display screen and action executable. The PA monitor uses
it to generate an action. For 5.1.2 actions run only on the text workstation,
and the table file can only be edited manually.
-
Product editor is the GUI used to create, modify and delete
a PA product in the local Configuration-table. The AA and PA product lists
can be saved and reloaded, because different users or sites need different
product lists. When backed up the AA and PA lists are concatenated in to
one file.
-
PA checker monitors the incoming text product ID to see if it
is inside the configuration-tables. If so, it searches a lat-long polygon
or UGC in the product message, notifies the alert/alarm and action generator
if an area is matched with the configured AOR or UGC list.
-
Product display, is shared with the current AA monitor.
-
Alarm/alert generator, is as same as the current AA monitor,
but will now automatically pop up the "Current Alert Queue" window to display
the matched warning product list.
-
Local non-window action generator, starts a non-window
action process on the local text workstation.
-
Action manager will not be implemented for 5.1.2. It receives
action messages from the PA checker of the text workstation. For each message
it generates an action process on a graphics workstation, and communicates
with the fxa process to, for example, display a procedure. The design must
allow the user to control action generation.
-
Service back up, do proximity alarm for a failed site.
1.3 Implementation
The implementation goals are to use the current string
search AA monitor code as much as possible, make the proximity Alarm monitor
easy to extend.
1.3.1 Processes
We will extend the current AA monitor by adding a
simple GUI. This should require a minimal amount of code. A separate PA
monitor process to do searching and area matching will provide better performance.
Action processes (not window base) can be started on the local text workstation
only. We can implement the action manager to start action processes on
the graphics workstation and do procedure display on D2D in the future.
1.3.2 Table Definition
The Fixed proximity alarm configurable table
is,
$FXA_HOME/data/localizationDataSites/$FXA_LOCAL_SITE/textPAProducts.txt.
We also moved the master(fixed) alert/alarm products
file, the textAlertAlermProducts.txt from $FXA_HOME/data/ to $FXA_HOME/data/localizationDataSites/$FXA_LOCAL_SITE/.
The user's proximity alarm configurable table
is,
$FXA_DATA/textWSwork/$DISPLAY/textPAProducts.txt.
$FXA_DATA/textWSwork/AA-PA-userFiles/*.dat
The format of above files is:
"Product ID, Alert/Alarm, Action
Name, Area Definition"
Items definition:
Product ID::= CCCNNNXXX //currently, It's the AFOSID.
Area Definition::= AOR|AOR+distance|UGC-county-list|UGC-zone-list
AOR::= AOR //Means the local site area.
AOR+distance::= AOR+##...#KM |AOR+##...#MI
UGC-list::= UGC-code1>code2>...coden
code::= County code | Zone code
County code::= SSC### //COC033
Zone code::= SSZ### //COZ021
See the UGC code definition at
http://wsom.nws.noaa.gov/manual/CHAPTERC/NC638910.HTML
and
http://iwin.nws.noaa.gov/emwin/winugc.htm
Alert/Alarm::= Alert | Alarm |None
Action Name::= String|NONE //An action command ID,
See the action
//configuration-table.
"#"::= 0~9.
An example table is,
DENSPENES Alarm NONE AOR
DENSPENES Alert action1 AOR+50MI
DDCTORDDC Alarm action2 UGC-COC024>033
CYSNOWCYS ALert NONE UGC-WAZ000-COZ034>035-039
DENSPENES Alert NONE AOR+100KM
We define the action names in the file,
$FXA_HOME/data/localizationDataSites/$FXA_LOCAL_SITE/textPAActions.config.
The format of the proximity alarm actions table:
"Action Name, Screen Number,
Type, Command String "
Items definition:
Action Name::= a text string
Screen Number::= #|NONE
Type::= PROCEDURE | WINDOW |NONWINDOW|...
Command String::= executable
The path in the Command String should be complete
if there is any.
Like /usr/local/ddd/bin/ddd.
The default path is the $FXA_HOME/bin/.
For example,
action1 0 WINDOW actio1.csh>arg1>arg2
action2 NONE NONWINDOW managedP1
1.3.2 Service Back up
The localized data of the back up site is kept on
the back up workstation, so we just change the site name, the FXA_LOCAL_SITE,
and restart the back up workstation, then the CWA and PA product table
are switched to the back up site.
The user can use the editor to save and load the AA
and PA product lists.
This allows the user to store a pre-prepared list for
a service backup site and use it when doing service backup.
1.3.3 GUI
The PA GUI is extended from the current AA monitor;
they share a lot of tcl/tk code.
The Current Alarm Queue window displays the matched
product list. Clicking on the "Open Display" button will pop up the Alert/Alarm
Display window to show the selected product. And Clicking on the "Product
List" button will pop up the "Alert/Alarm and Proximity Alarm Product"
window, the AA and PA product editor GUI.
The AA and PA Product Editor GUI lets user edit the
configurable AA or PA product tables. The user can add, delete, or modify
a product in these tables.
Adding or changing a product will bring up the AA or
PA product creating window. An interface for AA and PA product lists save
and load is needed.
The "Save & Exit" button is replaced by the "File"
menu button. In this menu, clicking on "Save & Exit" saves AA and PA
product lists in the standard
files, the textAlarmAlertProducts.txt(for AA) and textPAProducts.txt(for
PA); Clicking on the "Save as..." and typing a file name in the "Save as..."
window will merge and store AA and PA product lists into this file(the
first part is the AA product list and second is the PA product list in
this file); And Clicking the "Load..." and selecting a file name in the
"Load" window will reload the AA and PA product lists into the AA and PA
product editor. They will replace the standard files too. The "Delete"
button in the "Load" Window will delete the selected file. The loaded file
name is shown in the title of AA/PA product editor.
In the PA products creating window, user can type
a product ID, select alert/alarm and action options, and define an area.
The area could be the AOR, AOR + a distance or a UGC list. There is a nice
UGC format checker to asure you typed UGCs are correct. It removes the
character except the A to Z, 0 to 9, > and - from the list, scans list
again, and shows up dialog to tell user the error location if the list
has any format problem.
The PA Alert bell and Alarm sound are same as the
current AA.
1.4 Issues
-
Action, What actions should be put in the action table? And
what is the maximum size of this table? Do we need a editor GUI for this
table? we need more information about it.
-
Service Back up, We use one workstation to do the service back
up, but adding the back up site name in the AA and PA configuration-tables
maybe is another solution, what is better? Are there any other way?. We
supposed that an office do as the service back up for one site only at
same time on one node, could it be more than one? However you can do more
on differeent node.
-
Security, Although in this version we limit the PA actions to
the local text workstation only, be careful - you can put any executable
in the configuration-table as an action. Don't put dangerous executables,
such as window based executables, in the table! The menu label is disabled
temporally.
-
Text procedure in a text window, should we display a text script
procedure in a text window as an action? How? We needn't it in this version.
-
Action manager and graphics procedure. In a future version,
the action manager will send a message to the fxa process to display a
graphics procedure in the D2D window. Are users comfortable for this? Will
this cause any problems in D2D?
-
AOR for RFC and NCEP: We defined the AOR for the WFO
only. Should we define AOR for REC and NCEP? And if so, how? We treat RFC
as WFO by create AOR as CWA for it.
-
Two User's Tables for the AA and PA products? There are two
reasons: converting the table and the current architecture (design) of
alarm/alert. Using separate tables is a better way.
-
Selectable Distance to extend AOR, should we limit it? We set
it as 3000mi.