NovaStar Reference / Data Formats / ALERT2
- Overview
- Standard NovaStar Properties
- Limitations
- Importing Data into NovaStar
- Exporting Data from NovaStar
Overview
The ALERT2 protocol is used to transmit data for flood warning systems, and replaces the older ALERT specification, also called "legacy ALERT".
The ALERT2 specification resources are listed below. These documents are copies from the following sources and other sources, as a documentation archive:
- National Hydrologic Warning Council Online Document Portal
- Blue Water Design - BWD provides the A2X and A2M ALERT2 encoder/decoder hardware
ALERT2 specification documents:
- ALERT2 Description (Overview and Specifications), October 2011
- ALERT2 AirLink Specification:
- ALERT2 MANT Specification:
- ALERT2 Application Layer Specification:
- ALERT2 Intelligent Network Device Application Program Interface Specification:
- ALERT2 Intelligent Network Device Application Program Interface Specification Version 2.0, June 2020
- ALERT2 Intelligent Network Device Application Program Interface Specification Version 1.1, February 2016
- ALERT2 Intelligent Network Device Application Program Interface Specification Version 1.1 (DRAFT), June 2015
- ALERT2 Intelligent Network Device Application Program Interface Specification Version 1.0, April 2013
- Other documents:
- Blue Water Design ALERT2 API Guide for A2X and A2M - API implementation for A2 hardware
- Configurable forward error correction, April 18, 2018 - defines the MANT block size and reduces the minimum TDMA frame size to 250ms
Specification Errors and Omissions
The following are known errors and omissions in the ALERT2 specification documents.
ALERT2 Specification Errors and Omissions
Error or Omission | Document | Page/Section |
---|---|---|
The time quality flag is described in the specification but is not implemented. The value is not present. See also the IND API "ALERT2 Data Envelope" type 0x10 TLV, which includes time quality. | IND API 1.1 Draft, June 2015 |
|
The specification does not include enhanced forward error correction. See the Configurable forward error correction, April 18, 2018 document for information about block sizes used with FEC modes. | ||
Some IND API message types are not documented. The NovaStar nsrecdata software processes data from message types that have reports (types 1024 - 1027) but ignores other message types by skipping the payload length. See the ALERT2 IND API Undocumented Message Types section below. |
ALERT2 IND API Undocumented Message Types
Some undocumented message types have been seen in data received by nsrecdata
.
An explanation from David Van Wie is:
I am aware that the current state of ALERT2 documentation leaves something to be desired,
especially on the binary front.
That was one of the main reasons for making the API 2.0 push.
Getting the API documentation complete and approved took a lot more time than we anticipated and,
unfortunately, we just haven't had the bandwidth to complete the implementation.
I'm hopeful that we'll be able to make some hires in the first part of this year and then make some progress on this change.
The following are (decimal) values for the headers used by the A2X in its binary output:
#define BIN_HDR_AIRLINK_DATA 19
#define BIN_HDR_MANT_DATA 20
#define BIN_HDR_FEC_MODE 1000
#define BIN_HDR_SYMERR 1001
#define BIN_HDR_ALLEN 1002
#define BIN_HDR_NLVL 1003
#define BIN_HDR_MANT_HDR 1024
#define BIN_HDR_MANT_PAY 1025
#define BIN_HDR_MANT_TIME 1026
#define BIN_HDR_MANT_TIMEQ 1027
#define BIN_HDR_MANT_ENC 1028
#define BIN_HDR_MS_TIME 125
Please remember, any value greater than 127 will go to two bytes, with the high bit of the first byte set, so 1000 becomes 0x83E8.
The message type is specified as type/length/value (TLV) data. The message type may be one or two bytes, as follows:
01111111 If first byte has 0 in high bit (leftmost bit):
- one byte is used for the message type
- a decimal value of >= 128 for the first byte indicates that the high bit is set
- the remaining 7 bits indicate the message type
11111111 11111111 If first byte has 1 in the high bit (leftmost bit)
- two bytes are used for the message type, ignoring the highest bit (leftmost bit in the first byte)
- the remaining 7 bits of the first byte and 8 bits from the second byte indicate the message type
For example, hex value of 83 E8 for the message type would decode as:
100000011 11101000
Given that the leftmost (high) bit is 1, it is a two-byte value and the actual value is:
000000011 11101000
which has a decimal value of 1000.
ALERT2 IND API Undocumented Message Types
Message Type | Description | Default | Range | Access | Support | Feature Set |
---|---|---|---|---|---|---|
Hex: 0x83E8 , decimal: 1000 |
FEC mode. | 1 | 1-3 | |||
Hex: 0x83E9 , decimal: 1001 |
SYMERR? | |||||
Hex: 0x83EA , decimal: 1002 |
ALLEN? | |||||
Hex: 0x83EB , decimal: 1003 |
NLVL? |
Standard NovaStar Properties
- The ALERT2 source address is mapped to NovaStar database field
station.remote_tag
.
Limitations
Importing Data into NovaStar
ALERT2 data are read into NovaStar using the following programs:
nsrecdata
- used in production systemsnsalertxmt
- used for testing
Exporting Data from NovaStar
Once ALERT2 data have been read into NovaStar, the original ALERT2 encoding is typically not exported in its original ALERT2 form. Data can be exported using various programs and web services.