Alarms / Overview
NovaStar alarms provide a mechanism to:
- detect when data values exceed a trigger threshold value
- change the state of the system to active alarm
- reset the alarm state to normal due to detection of normal state, via user intervention, or after time has passed
- indicate alarm conditions on map, graph, and other output products
- notify people of the alarm conditions via email, text, twitter, and phone
NovaStar alarms are defined as follows:
- Create an Alarm Group - allows alarm trigger to be associated with one or more data points
- Assign Points to the Alarm Group - associates points with the alarm group for analysis
- Create Alarm Triggers - creates one or more triggers to evaluate
- Assign Triggers to the Alarm Group -
The following sections explain the above steps in more detail.
Create an Alarm Group
The first step to create an alarm is to create an alarm group. Alarm groups facilitate defining alarms when the alarm trigger can be applied in a general way, for example:
- battery voltage dropping below a value indicates battery or solar panel issue
- rain intensity over 1-hour indicates a storm event
The alarm group in this case allows one alarm trigger to be defined, which is then associated with multiple data points (sensors). An alarm group does not provide any additional functionality for site-specific triggers such as stream and reservoir levels. However, in this case an alarm group is still defined with one data point.
TODO smalers 2016-11-28 Is there any way to not use an alarm group?. TODO smalers 2016-11-28 It would be good to allow assignment by a sensor type rather than having to do the point list – NovaStar enhancement for backlog.
Once the alarm group is created, points are assigned to the group. This causes the trigger(s) that are associated with the alarm group to be applied for all sensors that are associated with the alarm group. Although it is possible to assign points that have different data types, it is expected that all points that are assigned have consistent data type, for example, all rain, all battery voltage, etc. This is because the triggers that are assigned to the alarm group are processed on all the points.
The next step is to create alarm triggers with the appropriate thresholds, NovaScore corresponding to the trigger, and reset parameters.
Once the alarm triggers are created they can are assigned to the alarm group.
For reservoirs and stream gages there is typically a one-to-one correspondence between alarm group and point assignment.
The following figure illustrates how the alarm group information, point list, and trigger list are associated with the alarm group.

Assign Points to the Alarm Group
Points that are to be analyzed for alarms are assigned to the alarm group.
Example of Single Point Assignment
For the case of a reservoir or stream gage, only one point is assigned to the alarm group.

Example of Multiple Point Assignment
TODO smalers 2016-11-28 need to create example
Create Alarm Triggers
TODO smalers 2016-11028 Need to split this content into general example and then use other pages for examples of alarms by data type. Is the example below set to avoid triggering an alarm? If so it makes it harder to explain. I have provided comments that make more sense for upper limit.
Alarm triggers are needed to identify the alarm trigger type, threshold value to check, and alarm reset parameters. Note that a trigger can be used by multiple alarm groups and therefore the trigger name should be assigned as clearly being a general trigger (e.g., "Battery voltage < 11, possible battery failure") or specific (e.g., "Exceed 970 feed Puddington Dam - spillway overtopped"). The alarm trigger type will be either an upper or lower limit alarm. TODO smalers 2016-11-29 actually can alarm on other conditions - need to split out reservoir example from general example. For example, if an upper limit and the data report is above this value, an alarm will be triggered. The threshold or “limit” is defined and the reset values indicate the condition when an alarm is automatically reset to not-triggered. An alarm can be reset either by the level coming back down to a defined level or after a certain time interval such as 12 hours. For example (assuming 945 upper):
- If the trigger upper limit is 945, the alarm will be triggered when the reservoir level increases above 945 and will only be automatically reset (cleared) when the reservoir level decreases to 944.5
- The example below uses a reset level of 3 hours, meaning that if the reservoir level remains above 945 for over 1 month, the alarm will still be cleared.
The reset interval is most appropriate in the following situations:
- TODO smalers 2016-11-28 Need to explain better.
TODO smalers 2016-11-28 Need to explain alarm actions better (email, etc.). It seems that the alarm reset interval can be misused and cause too many notifications because of resets. If there is danger of an old notification email being forgotten, why not enhanced NovaStar to resend notifications after some interval (“Notification resend interval”).
Looking forward to maps and graphs, the following general functionality is needed, based on alarm condition:
- Maps:
- Select the map symbol
- Color the map symbol
- Use a flashing map symbol
- General label for map legend for symbol with appropriate information (for example “reservoir level at spillway”)
- Graphs:
- Draw lines or annotate graph with trigger levels
- Label graph with trigger explanation, specific to site (427 Puddingstone Dam Level below 938 feet) or general (Dam level below
The above functionality is achieved using a lookup of the NovaScore to provide guidance on the map symbology, as follows:
- Use the NovaScore to select the map symbol, color, and whether flashing. This requires code in the website unless we enhance the database to have this information. Probably OK to put in the website but could add a JSON configuration file make more configurable.
- Map legend for symbology currently seems to be hard-coded. Could also put in a JSON file to make more configurable. This could theoretically vary by layer type. In other words, reservoirs could use one set of labels, and other data type would use others. Would need to evaluate how far to go with the implementation.
- Similar issues for graphs, except that since graphs are site-specific, the labels and legend would also potentially be site-based. Therefore, need a way to get annotations/labels out of the trigger name. This could be done with an existing NovaStar program or new web services.
- How do we get trigger definitions from NovaStar back to website? Need Mark or someone to weigh in with whether an existing NovaStar program can suffice or do we need something like web services. An example would be good to hand off to Catherine.
Finally, the NovaScore assigned to the trigger is identified. There are 5 discrete NovaScore values that can be assigned to any trigger and they range from 1 to 5 and have general descriptions as follows: TODO SAM 2016-11-28 I think we have determined that we can assign more values, but need to understand impact.
- 1 – no hydrologic activity
- 2 – minor hydrologic activity
- 3 – significant hydrologic activity
- 4 – serious flood threat
- 5 – flooding in progress
The following alarm triggers are assigned for LA County. The NovaScore is intended to allow NovaStar systems to represent conditions in terms that have meaning to users of the system. Although it might be desirable to have standard definitions that apply in all cases, this is difficult for some sensor types. The following two generalized cases are recommended. It is common to define multiple triggers for a sensor (point), indicating increasing levels of severity and urgency, as follows:
- The trigger values increase (or decrease) based on some standard such as storm severity or physical constraint (e.g., spillway, crest elevation). It is recommended that the values correspond to some meaningful standard as described below.
- Set the reset value how? Need to gracefully reset lower alarm and trigger higher alarm, right?
- Set the reset interval how? Need to gracefully reset lower alarm and trigger higher alarm, right?
For stream level, use National Weather Service E19 designations, if available (see: need link). In this case:
1 – corresponds to E19 xxx level (list them all, Markus, Kate?).
For all other data types and if E19 is not available, the NovaScore can adopt the above convention if an equivalent meaning can be inferred. For example, rain of .5 in/hour = NovaScore 1 = minor hydrologic activity. Or, do we recommend using different NovaScore values with different names, for use for reservoirs, etc.? Can the standard NovaScore values be changed or added to in the system or does that cause problems? It is a reference table (nova_score) in the database. Why can’t we define other values such as (101=at spillway, 102=at crest, etc.). The table has “id”, “name” (currently string set to id value) and “description”. For example, define:
- 101, 101, “Reservoir level at spillway”
- 102,102,”Reservoir level at crest”
If this is not possible or desirable, then the website would need to do a mapping like the following. This can get ugly when things magically happen rather than being explicit.
- 1 = “Reservoir level at spillway”
TODO smalers 2016-11-29 need to explain each of the following and perhaps move to the reservoir alarm page





Assign Triggers to the Alarm Group
Once an alarm trigger is created it is then available to be assigned to an alarm group. Note that a trigger can be used by multiple alarm groups. Within the Alarm Group Edit page the specific alarm triggers associated with the group must be selected and assigned to the group using the following interface. As indicated previously, alarm groups for general data types (battery, rain) can share the same triggers. However, site-specific triggers such as stream level and reservoir level are typically assigned to a group with a single point (sensor). The following list illustrates that it is important to name triggers with the station (and if appropriate sensor/point) name so that it is clear what is being selected.

Alarm Group Final Configuration
The final alarm group configuration is shown below. This shows the name of the alarm group “Pudd Dam Level” and a description of the alarm group. The points or point in this case assigned to the alarm group is point 427 Puddingstone Dam Level and the alarm triggers assigned to the group.
TODO smalers 2016-11-28 need a discussion of how the multiple triggers are handled operationally. For example if the highest elevation alarm is active, are all the other alarms also active and how is this reflected in displays.

Notification Configuration
TODO smalers 2016-11-29 Need to document here or another page