Sutron Standard Format
[pic] Appendix A
GOES Transmission Formatting
[pic]
Appendix A covers:
▪ Setting up the NOSGOESFormat.txt file
▪ Content and control of the Ports Tag and
▪ Table-controlled dial-in reports
nos goes transmission formatting
1 BACKGROUND
The NOS GOES data transmission format has been under development and refinement since June of 2001. Sutron has worked closey with NOS personnel to provide a formatter that supports the traditional 3-hour GOES transmissions as well as the new 6-minute interval transmissions. Sutron has also worked with NOS to support the traditional “Ports Tag” dial in report as well as a new user-controlled dial-in report.
Controlling the format of NOS GOES transmissions is done by setting up a text table that is loaded into the XPert. The table allows you to change the content and formatting of the GOES message without making changes to the actual XPert software. The XPert encodes data according to the contents of an ASCII table that isread in by the XPert when recording is turned on. Thus, the GOES message can be modified at any time within the limits set by the table design. The parameter code mapping afforded by the table also applies to the Ports Tag report. A second dial-in report, similar in nature to the Ports Tag report, with contents and sequencing set by the table, is also included.
During the fall of 2003, NOS carried out experiments to determine the feasibility of transmitting tide data every six minutes on the GOES self-timed channels. These experiments resulted in several additions to the formatter including:
▪ A new message header to distinguish the 6-minute transmissions
▪ Water level encoding as 3-byte means with no scaling
▪ Some changes to the overall message structure to eliminate unnecessary time blocks
▪ Changes in the handling of redundant data
2 purpose and scope
If you select NOS as the transmission format for your GOES data you MUST have a file called NOSGOESFormat.txt on your flash disk. Data will not be transmitted at all if the file is missing. Data will not be formatted properly unless the contents of the file match the sensor setup in the XPert’s .SSF setup file.
The purpose of this appendix is to document the use of the NOSGOESFormat.txt file.
This document contains:
▪ Description of the format control file and how it controls the GOES format and the two dial-in reports
▪ Instructions for setting up and using the file
▪ Information on troubleshooting
NOSGOESFormat.txt properties
1 FILE NAME AND LOCATION
The format control file is named:
NOSGoesFormat.TXT
THIS FILE MUST BE SAVED IN THE XPERT \\FLASH DISK FOLDER.
NOTE: If you select NOS as the GOES self-timed format and the format control file
is missing, YOU WILL NOT GET ANY GOES TRANSMISSIONS. This
is true no matter how the remainder of the XPert is set up.
2 overall appearance and requirements
The format control table is actually entered into the XPert as a file containing lines of comma-separated variables. This is done for ease of coding. The table can be created as an actual table in a word processor or as cells in a spreadsheet and then saved as a .TXT file. (This may require a “Convert Table to Text” step in the word processor.)
The following is a typical format control table as stored on the XPert.
Sequence #.,Description, DPAS Code, Flag, log label, #ST, #RR, Format, Aux1, Aux2, Aux3, Aux4
1,Aquatrak, A, 1, PWL, 10, 3, AQUATRAK, PWLSIG, PWLOUT, AQT1, AQT2
2,Backup WL, B, ", BWL, 10, 3, MSO, BWLSIG, BWLOUT
Here is how a complex table might appear in a word processor before converting to CSV text form.
|Seq. # |Description|
The Flag is assigned by the table row in which the AQUATRAK format is specified. Normally the flag will be an ASCII one ( 1 ), but can be set to other values.
Offset is a one-byte value computed from the minimum water level from the group of water levels being encoded. Scaling of 0.25 is the default, as discussed earlier.
Grp1 through Grp 10 are sets of information from one time. Each Grp contains:
▪ Offset water level (2 bytes default, 3 bytes of AQUATRAK3 is specified)
▪ Standard deviation (Sigma) (2 bytes)
▪ Outlier count (1 byte)
▪ Tube temperature 1 (2 bytes)
▪ Tube temperature 2 (2 bytes)
The following is a table line for an AQUATRAK format. Note the use of the AUX fields to identify the sigma, outlier, and temperature sensors.
|Description|DPAS Code |
for the P header.
The Flag is assigned by the table row in which the SV format is specified. Normally the flag will be set according to the type of information being encoded (See Section 3.2), but the flag can be set according to the user’s needs and the requirements of the GOES decoder being used.
#1 through #10 are encoded values (2 bytes each or 3 bytes, depending on the trailing modifier). The encoding is in the GOES standard 6-bit Pseudo-Binary format with no consideration for a negative value.
The following is a table line for an SV format. Note the AUX fields are not used.
|Description|DPAS Code |
for the P header.
The Flag is assigned by the table row in which the SVS format is specified. Normally the flag will be set according to the type of information being encoded (See Section 3.2), but the flag can be set according to the user’s needs and the requirements of the GOES decoder being used.
#1 through #10 are encoded values (2 bytes each, or 3 bytes, depending on the trailing modifier). The encoding is done as Two’s Complement 6-bit Pseudo Binary so that negative values have a sign bit.
The following is a table line for an SVS format. Note the AUX fields are not used.
|Description|DPAS Code |
The Flag is assigned by the table row in which the WSWDG format is specified. Normally the flag will be an ASCII one ( 3 ), but can be set to other values.
Grp1 through Grp 10 are sets of information from one time. Each Grp contains:
• Wind speed (2 bytes)
• Wind direction (2 bytes)
• Period Gust (2 bytes)
Unsigned encoding in 6-bit Pseudo-Binary is used for all three items.
The following is a table line for a WSWDG format. Note the use of the AUX fields to identify the direction and gust data.
|Description|DPAS Code |
for the P header.
The Flag is assigned by the table row in which the BAROM format is specified. Normally the flag will be set according to the type of information being encoded (See Section 3.2), but the flag can be set according to the user’s needs and the requirements of the GOES decoder being used.
#1 through #10 are encoded values (2 bytes each or 3 bytes, depending on the trailing modifier). The encoding is in the GOES standard 6-bit Pseudo-Binary format with no consideration for a negative value. The value 800 (presumes that pressure is in mill bars) is subtracted from each number prior to encoding.
he following is a table line for a BAROM format. Note that the AUX fields are not used.
|Description |DPAS Code |Flag |log label |#ST |#RR |Format |
The overall structure of a “P header” NOS GOES self-timed message is as follows:
|Header |WL block |Redundant Water |Block |More Blocks ---- |Trailer |
| | |level | | | |
1 The Standard N Header
The standard N message header is fixed in format and contains the following information:
ASCII “N” indicating NOS “new” message format
Station ID 8 bytes identifying the DCP sending the message. ID starts a left side of field.
Datum 3 bytes
Sensor offset 2 bytes
Unused 5 bytes - system status (2 bytes), #resets (1 byte) and checksum (2 bytes)
These are old Sutron 9000 concepts and are hard coded to zero (@@@@@).
Time offset Binary encoded minute of the hour of the most recent water level
Time block Flag (1 byte - ASCII 0), Sutron Day (2 bytes), hour (1 byte)
Sutron day, counted as the number of days since 12/31/84 modulus, the maximum number of values representable by a 2 byte 6bit binary number (4096). IMPORTANT: Refer to section 5.2 on inserting this time block!
2 The 6-minute P Header
The 6-minute P message header is fixed in format and contains the following information:
ASCII “P” indicating NOS 6-minute message format
Station ID 8 bytes identifying the DCP sending the message. ID starts a left side of field.
Datum 3 bytes
Sensor offset 2 bytes
SysStat 2 bytes - system status (2 bytes)
Time offset Binary encoded minute of the hour of the most recent water level (1 byte)
Time block Flag (1 byte - ASCII 0), Sutron Day (2 bytes), hour (1 byte)
Sutron day, counted as the number of days since 12/31/84 modulus the maximum number of values representable by a 2 byte 6bit binary number (4096) IMPORTANT: Refer to section 5.2 on inserting this time block!
3 Remainder of Message
The remainder of the message is composed of blocks of data. Each block begins with a flag that identifies the type of data in the block.
The message ends with Redundant water levels (if space is available) and a message trailer that contains:
ASCII “ “ space character
Battery (1 byte) (voltage - 9.5) * 10
BWL gain ( 2 bytes) Backup water level gain (Must be labeled BWLG in XPert setup)
BWL offset (3 bytes) Backup water level offset (Must be labeled BWLO in XPert setup)
The standard GOES message includes an EOT character at the end. This character is appended by Satlink/XPert.
Flags and Codes
|DESCRIPTION |GOES FLAG |DPAS CODE |
|TIME TAG |0 | |
|AQUATRAK WATER LEVEL |1 |A |
|REDUNDANT WATER LEVEL (BY WHATEVER MEANS MEASURED) |> | |
|BACKUP WATER LEVEL (BY WHATEVER MEANS MEASURED) |“ |B |
|WIND DATA (SPEED, DIRECTION, GUST) |3 |C |
|AIR TEMPERATURE |4 |D |
|WATER TEMPERATURE |5 |E |
|BAROMETRIC PRESSURE |6 |F |
|FREQUENCY #1 |+ | |
|SHAFT ANGLE ENCODER |! | |
|REDUNDANT SHAFT ANGLE ENCODER |. (DOT) | |
|CONDUCTIVITY |7 |G |
|UNASIGNED |8 | |
|RELATIVE HUMIDITY |9 | |
|RAINFALL |: (COLON) | |
|SOLAR RADIATION |; (SEMICOLON) | |
|ANALOG 1 |< | |
|ANALOG 2 |= | |
|DESCRIPTION |GOES FLAG |DPAS CODE |
|PAROS SCIENTIFIC TRANSDUCER #1 |% |N |
|PARO SCIENTIFIC TRANSDUCER #2 |& |P |
|REDUNDANT PAROS #1 |‘ (SINGLE QUOTE) | |
|REDUNDANT PAROS #2 |* (ASTERISK) | |
Encoding of the data beyond the flag depends on the type of data. The encoding is explained in the description of the block formats in the paragraphs that follow.
Most messages are composed of the header, water level data (primary sensor), backup water level data, ancillary data (e.g. wind speed, direction, gusts), and redundant water level data if space is available.
4 What you can control
1 Mapping of Parameter Codes
The XPert allows treat flexibility in the naming of items saved in its log and the naming of values in the GOES transmission buffers. The table allows you to identify any piece of data beyond the message header by any name you wish. (How this is done is explained later.)
2 Block Formats
The table completely defines the message content beyond the header. You can select what parameters are transmitted, the order in which they are transmitted, the flag that identifies each parameter, and the encoding of the values. (Again, how this is done is explained later.)
3 Number of Values
You have SOME control over the number of values encoded beyond each flag. Control is at two levels:
1. Header type (P or N)
2. XPert setup
The primary control of the number of values is set by the XPert settings. There are only two options. If you have set the XPert up to collect 10 values per hour, you can transmit one, or 10 values. If you have set the XPert up to collect only a single value per hour than that is the only option for number of values in the message blocks.
Selecting the 6-minute P header overrides ALL other XPert settings and will force single-value or value set encoding for all message parameters.
5 What you can’t control
1 Hard-Coded Parameters
The self-timed GOES message format header and trailer contain values that MUST BE IDENTIFIED by hard-coded labels. The hard-coded labels are:
DAT The station datum
SNS The water level sensor offset
BAT The system battery voltage
2 Redundant Water Levels
Redundant water level data is information from previous time steps that has been incorporated in previous transmissions. The amount of redundant water level information is determined by the message header (N or P) and the number of water level sensors specified in the table. The handling of redundant data for the N and P formats is completely different. The differences are described in the following paragraphs.
Redundant data for N header messages is added after the XPert has assembled a message according to the contents of the table and the XPert setup. The formatter determines if there is room for redundant water level data. If room is available, up to three additional hours of primary water level data (the sensor identified in the first line of the table) will be encoded and added to the message before the message trailer. If more than one water level sensor is present then redundant data for that sensor is also included.
Redundant data for P header messages is added immediately after the current data (the value for the current six-minute period A single redundant value (mean only) is added for each water level sensor. For example, if there is a single water level sensor, then a six-minute transmission will contain the current water level (average for last six minute period) and the average for the previous six minute period. If there are two water level sensors (e.g. WL1 and WL2), then the message will contain WL1 current data, WL1 previous six minutes, WL2 current data, WL2 previous six minutes. Redundant data for the six minute messages is always encoded in three bytes, regardless of the formatting specified for the current data.
3 table rows to message blocks
The central portion of the NOS GOES self-timed message between the header and the redundant water level block is entirely controlled by the table. There is a one-to-one correspondence between the table rows and the central blocks.
Message:
|Header |WL block |Backup WL block |Wind data block |Redundant WLs |Trailer |
Table
|Sequence # |Description |
|Error message indicating that the setup does |The XPert is missing hard-coded parameters required for the message header. Check to make |
|not define a GOES message |sure that the DAT and SNS sensors are defined in the setup. BAT should also be defined. |
| |These parameters MUST be connected to Self-timed parameter blocks (Antenna Icon) and the |
| |labels MUST be correct. |
|Data values are missing from the NOS Ports Tag |The NOS Ports Tag report contains several items that require hard-coded parameter labels. |
|report even though the data are being collected|Make sure that your XPert setup contains the correct labels. |
|Block of data is missing |Export the table from the XPert and make sure that the last line is not corrupted. |
| |Occasionally the last line of a table will loose the end-of-line character and cause the |
| |information in the line to be ignored or misinterpreted. |
| | |
| |Check the spelling of the Format. Make sure the format is entered in capital letters. |
|One or more items are missing from the water |Make sure the AUXn fields are entered correctly. The AUX fields must correspond to labels |
|level block or a wind data block |set in the XPert. |
|One or more items in the water level block or a|Make sure the AUXn fields are entered correctly. The AUX fields must correspond to labels |
|wind block are out of order. |set in the XPert. |
|Decoder puts information in the wrong place |Flags in table rows must be set so that the decoder understands the type of information in a |
| |block. For example, an Aquatrak sensor must be encoded with flag = 1 if that is how the |
| |decoder identifies an Aquatrak |
|Not enough data values for a complete block |The appearance of the ?? set is normal for several hours after recording starts because it |
|(several time periods encoded as ?? |takes time for the Self-timed buffers to fill with the specified number of values. If the |
| |number of values in the self-timed setup is set too low (for example 5 instead of 10 or 11 |
| |when collecting data every 6 minutes for an hour) Then you will always see ??s because there |
| |will not be enough data to complete the block each hour. |
|Setup and table appear OK but all values |Check the right digits setting in the XPert setup. Too many right digits may cause the |
|encoded as ?? |resulting numbers to overflow the 6/12 bit Pseudo-Binary encoding. |
|GOES message is OK, but the table-controlled |The labels in the Selft-timed message block do not match the labels in the log. The report |
|report contains no data |gets data from the log and thus for both the GOES message and the report to work at the same |
| |time, the labels must match. |
|No data in table-controlled report |Make sure that at least one line of the table has a non-zero sequence number. |
4 Error and Status messages
The following table lists the specific error messages that may be reported in the XPert Status window. The likely cause and solution are also presented.
|Message in Status Panel |Likely Cause/Solution |
|SelfTimedMsgr::NOSGetFmtIndex Invalid block format xxxx in line n |There are only seven valid formats. They must be entered in capital |
| |letters and spelled correctly. Line “n” identifies where in the table|
| |to look for the error. |
|SelfTimedMsgr::FormatNOS Format table missing or empty |The format control table has not been copied to the XPert \Flash Disk,|
| |or was accidentally deleted. |
| | |
| |An empty table is a table with only the header row. |
|SelfTimedMsgr::FormatNOS Error formatting AQUATRAK |These errors occur when the XPert cannot find data for the specified |
|SelfTimedMsgr::FormatNOS Error formatting MSO |format. The most likely cause is that the Log Label and/or one or |
|SelfTimedMsgr::FormatNOS Error formatting M |more of the AUX fields is entered incorrectly. These labels MUST |
|SelfTimedMsgr::FormatNOS Error formatting SV |match the exact spelling in the XPert setup for the Self-timed |
|SelfTimedMsgr::FormatNOS Error formatting SVS |parameter blocks (which don’t necessarily match the labels in the |
|SelfTimedMsgr::FormatNOS Error formatting WSWDG |Log). |
|SelfTimedMsgr::FormatNOS Error formatting BAROM | |
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.