NOAA Technical Report NOS CO-OPS 030

NWLON/DMS Quality Control Software (QC):

Functional Requirements Document

Joann Nault

Information Systems Division

Silver Spring, Maryland

June 2000

Revised, February 2002

Revised, September 2004

Revised, November 2004

noaa National Oceanic And Atmospheric Administration

U.S. DEPARTMENT OF COMMERCE

National Ocean Service

Center for Operational Oceanographic Products and Services (CO-OPS)

TABLE OF CONTENTS
1.0 General Information. ....... ....... ....... ....... ....... ....... . 3

1.1 Summary ....... ....... ....... ....... ....... ....... ..... 3

1.2 Environment ....... ....... ....... ....... ....... ....... . . 3

1.3 References ....... ....... ....... ....... ....... ....... .... 4

2.0 Scope and Overview ....... ....... ....... ....... ....... ....... . 4

2.1 Background ....... ....... ....... ....... ....... ....... ... 4

2.2 Summary of Data Flow ....... ....... ....... ....... ....... . 5

3.0 Requirements ....... ....... ....... ....... ....... ....... ....... 5

3.1 Quality Control Checks ....... ....... ....... ....... ....... 5

3.2 Inputs and Outputs ....... ....... ....... ....... ....... ... 13

3.3 Error and Recovery ....... ....... ....... ....... ....... ... 15

3.4 Testing ....... ....... ....... ....... ....... ....... ...... 16

4.0 Operating Environment ....... ....... ....... ....... ....... ..... 16

4.1 Hardware Requirements ....... ....... ....... ....... ...... 16

4.2 Support Software ....... ....... ....... ....... ....... .... 16

4.3 Interfaces ....... ....... ....... ....... ....... ....... .... 16

4.4 Security ....... ....... ....... ....... ....... ....... ..... 17

Figure 1 - Existing Water Level Quality Control Flow Diagram . . . . . . . . . . . . . . 5

Figure 2 - Sensor Offset Flow Chart Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Appendix A - QC Requirements Team. ....... ....... ....... ....... ... A.1

Appendix B - Equations ....... ....... ....... ....... ....... ....... . B.1

Appendix C - Station Information Sample File . . . . . . . . . . . . . . . . . . . . . . . . . C.1

Glossary ....... ....... ....... ....... ....... ....... ....... ....... D.1
-3-

1.0 General Information

The National Ocean Service (NOS) operates and maintains the National Water Level

Observation Network (NWLON) to accomplish its mission requirement to collect and

disseminate water level data. A key component of the NWLON is data ingestion into a central

data repository. In May, 1997, an external technical review of the current data processing and

analysis components of NWLON was performed. The review found the most serious

performance problems to be with the data ingestion and the associated quality control software. 

The software was found to be aging, cumbersome, unstable, and inefficient. In 1999, CO-OPS

modernized the processes by which data is ingested. CO-OPS now plans to modernize the

associated quality control software. A team was established to verify existing software

requirements and solicit new ones. Participants can be found in Appendix A. 

This document defines the general functional requirements for the software which will perform

the initial quality control of NWLON data ingested into the Data Ingestion System (DIS) and

subsequently place the data into the NWLON Database Management System (DMS). 

The remainder of this section contains a brief summary of the flow of data from an NWLON

water level gauge to CO-OPS. In Section 2, a top-level data flow of the existing data ingestion

and QC software is presented. The functional requirements of the NWLON data ingestion

software are outlined in Section 3. The operating environment is described in Section 4, and

includes equipment, support software, security and privacy, and operational control requirements. 

1.1 Summary

This document contains the functional requirements for the application software

associated with the quality control process executed during the ingestion of data

into DIS and the process for placing data into the NWLON DMS. The task of

preparing these requirements is the responsibility of the Information Systems

Division (ISD), with guidance from the Products and Services Division (PSD) and

the Requirements and Development Division (RDD). 

1.2 Environment

• NOS responsibilities for collecting, processing, and analyzing tidal and Great

Lakes data are held by the Center for Operational Oceanographic Products and

Services (CO-OPS) located in Silver Spring, MD. The Center directs the

establishment, operation, and maintenance of the NWLON, to provide

oceanographic data, and produce tide and current predictions for direct use in

marine navigation, civil engineering, environmental protection, and for

correlation and analysis in scientific research. 

• The NWLON software for collecting, analyzing, and disseminating water

level data and associated hardware is operated and maintained by ISD. 

Primarily, ISD collects water level gauge data via the Internet from the
-4-

National Weather Service’s (NWS), Office of System Operations (OSO). 

OSO receives its data directly from Wallops Island, Virginia. The water level

gauges have transmitters, which transmit via a GOES data collection system to

a receiver at Wallops. ISD also collects water level gauge data via telnet to

Wallops, direct phone calls to gauges, Mitroned Analog to Digital Recorder

(ADR), and diskettes from CO-OPS system personnel. 

1.3 References

• Federal Information Processing Standards, Publication Number 38

• Quality Assurance of OLLD Data, January 4, 1995, William Stoney

• Mero, T.N. and W.M. Stoney, A Description of the National Ocean Service

(NOS) Next Generation Water Level Measurement System, Proc. of the third

biennial NOS International Hydrographic Conference, Baltimore, MD 109-

116, 1988.

• Bethem,Thomas; External Technical Review: Data Processing and Analysis

Subsystem (DPAS); May 1997. pp16.

2.0 Scope and Overview

This document will limit the scope of the requirements to only the applications associated with

the QC processes. Gauge transmission and decoding requirements will not be addressed. This

document is for the QC process only.

This section provides background information on the existing CO-OPS NWLON data ingestion

QC process. Section 2.1 contains a diagram of the existing data flow through the QC process

(Figure 1). 

2.1 Background

The CO-OPS original water level quality control software (QC) was written around 1991

by Telos contractors and then modified throughout the years. The control program

consisted of 49 different SYBASE SQL stored procedures which are used to process

water level data recorded using five different types of gauges: 1) Acoustic, 2) Shaft Angle

Encoder (SAE), 3) Single Pressure, 4) Dual Pressure, and 5) Ancillary. Ancillary data

from other oceanographic and meteorological sensors are also collected by CO-OPS. The

ancillary data have only maximum and minimum checks applied. CO-OPS modified to

the now existing software in January 2000, which is FORTRAN based.
-5-

2.2 Summary of Data Flow

The front-end processes which bring data to the NWLON data ingestion server would be

identical in the proposed data flow to those in the existing data flow. In the existing

system, once DIS has been ingested and decoded the data, the data are bulk copied to

temporary tables in the NWLON DMS, then the “QC” software is run. In the proposed

process, the data would be QC’d before ingestion into the NWLON DMS. 

Figure 1

A separate program collects information about the gauge on an hourly basis. The station

information file contains: station id, DCP#, platform id, datum offset, accepted datum

offset, sensor offset, accepted sensor offset, accepted orifice offset, water level min, water

level max, water level temp max, water level temp min, water level sigma max, air temp

max, air temp min, dew point max, dew point min, rainfall max, rainfall min, wind speed

max, wind speed min, wind gust max, water current max, water current min, water

conductivity max, water conductivity min, temperature correction flag, pressure density

delta, aquatrak calibration length, temperature gradiance correction factor, temperature

gradiance correction tolerance, height correction tolerance, primary versus predicted

tolerance, primary versus backup tolerance, accepted backup gain, accepted backup

offset, and accepted harmonic constituents. Also a valid sensor file is created and

contains all valid sensors installed for each station. 

Having the most recent data quality controlled prior to the ingestion into the database

allows other processes to use this data without retrieving it directly from the database. 

This is useful for the Tides Online application as well as CREX and SHEF data bulletins

which are provided to NWS. This will provide a consistent level of quality control for

all outgoing CO-OPS water level data and products. 

3.0 Requirements

3.1 Quality Control Checks

For the following sensor types, the water level value is calculated using the

following quality control checks as follows:
-6-

For Acoustic, SAE, and Air Gap: 

WL = Datum Offset - sensor offset - raw sensor measurement

For Pressure - Single Orifice: 

 WL = raw sensor measurement + accepted orifice offset

For Pressure - Dual Orifice:

Instantaneous density Rho in gm/cm3 = (N1 press - T1 press) *

1000000 / [ (HN - HT) * g ]

N1 and NT WL = N1 press * 1000000 / [Rho * g] + accepted

orifice offset N1

T1 = T1 press * 1000000 / [Rho * g] + accepted orifice offset

T1

 Acoustic, SAE, ADR, Single and Dual Pressure, and Air Gap Sensor

Checks/flags:

• Datum Offset Value/Check: A datum offset and an accepted datum offset are

maintained for each station in the dpasman.dbo.SENSOR_PARAMETER

table in the NWLON DMS. The datum offset in the

dpasman.dbo.SENSOR_PARAMETER table is used for the water level

equation above. A line is written to the error file when the incoming datum

offset value do not match with the datum offset stored in the database. 

• Sensor Offset Value/Check: An accepted sensor offset and a sensor offset are

maintained for each station in the dpasman.dbo.SENSOR_PARAMETER

table in the NWLON DMS. If the incoming sensor offset is equal to the

sensor offset in the dpasman.dbo.SENSOR_PARAMETER table, then the

incoming sensor offset is used in the above water level equation. If the

incoming sensor offset is not equal to the sensor offset in the table, then add a

new record to the SENSOR_PARAMETER table. Provided that the

difference between the two values is less than 0.010 meters. If the incoming

sensor offset is not equal to the sensor offset in the table and the difference

between the two values is greater than .010, then use the sensor offset in the

SENSOR_PARAMETER table for the above water level equation (see

Figure 2 for Sensor Offset flow chart).
-7-

Figure 2

• Water Level Maximum/Minimum Flag – The water level

maximum/minimum flag gets set for a given 6-minute interval water level 

data point if this 6-minute value exceeds the prescribed tolerances (is above

the maximum tolerance plus 3 m or is below the minimum tolerance minus 3

m). This flag, when set to 1, indicates that either the maximum or minimum

observed water level height limit was exceeded.

The maximum and minimum tolerances are prescribed for each station in the

dpasman.dbo.STATION_PARAM table in the NWLON DMS. Default

values for tide stations were originally derived from the maximum and

minimum observed water levels for the time period of record at each station. 

These defaults have been refined over time to narrow the maximum and

minimum tolerances, in order to catch more than just the most severe

problems. Operationally, these flags typically get set when sensor or datum

offset problems occur and when abnormally high and/or low waters occur

due to tsunami or storm events. The offline QC check program for the

NWLON DMS also uses these tolerances.

• Water Level Flat Flag – The water level flat flag, when set to 1, indicates that

the water level data value is identical to the two values before and two values

after the current value.

• Water Level Third Difference Flag – The third difference (rate of change) flag

is used to manage potential anomalous water level data points in a 6-minute

data series. This flag, when set to 1, indicates that the third difference (or rate

of change) maximum limit is exceeded. The flag is set on the first water level

value which is greater than the tolerance. Tolerance for each station is found

in the dpasman.dbo.STATION_PARAMETER in NWLON DMS. The

NWLON DMS offline QC check program is typically used to obtain and set

the third difference tolerance value for each station.
-8-

Third difference is calculated as follows:

Diff (I) = Height (I-3) - 3*Height (I-2) + 3*Height(I-1) - Height (I)

(height = water level value)

Tolerances are determined from looking at the distribution and standard

deviations of these third differences over time. The offline QC check program

provides a suggested third difference limit by computing a value of 5 times the

standard deviation of the differences. Operationally, third difference flags get

set when the 6-minute data are abnormally “noisy” due to sensor problems or

due to local sea state and waves from storm, tsunami, or seiche events. Open

coast stations with high energy wave environments generally have higher third

difference tolerances than inside “quiet’ stations.

• Temperature Correction Required Parameter (TEMP_CORR) - This

parameter is unique to the acoustic sensors only. This parameter is set

manually in dpasman.dbo.SENSOR_STATUS for a selected few stations that

need temperature correction applied during the processing of data. 

Temperature Correction Required Parameter, when set to 0, indicates that the

station does not need temperature correction applied during processing. 

Temperature Correction Required Parameter, when set to 1, indicates that the

station needs temperature correction applied during processing.

• Height Correction Flag (HEIGHT_CORR_FLAG)- This flag is also unique to

acoustic sensors only. The flag provides information regarding correction

required due to temperature effects related to the length of the protective

well. 

 The height correction = (Acoustic measurement) * (T1-T2) * (TGCF)

Where TGCF is Temperature Gradient Correction Factor which can be set for

each station based upon the local protective well height and other factors. 

HEIGHT_CORR_TOL is a tolerance (Default value is set as 5 cm) in the 

dpasman.dbo.SENSOR_PARAM table. The height correction is computed

for all acoustic stations but is not applied, at present, to the water level data. 

The Height Correction Flag, when set to 0, indicates that the height

correction value was less than or equal to the HEIGHT_CORR_TOL. The

Height Correction Flag, when set to 1, indicates that the height correction

value exceeded the HEIGHT_CORR_TOL. 

• Water Level Temperature Adjustment - Two separate flags are set during this

check. The TEMP_FLAG, when set to 1, indicates that the temperature

difference was greater than the temperature gradient tolerance (Param id =

109, Param name = TEMP_GRAD_TOL1, default = 5). The TEMP_FLAG,

when set to 2, indicates that the temperature difference was greater than the
-9-

temperature gradient tolerance (Param id = 111, Param name =

TEMP_GRAD_TOL2, default = 20). Thus Temperature Gradient Flag provides

information about working or non working condition of the two thermistors. 

A temperature gradient develops inside a protective well at the station due to

differential heating or cooling and lack of air circulation in the protective

well, or if one or both of the thermistors are malfunctioning. If there is a true

chronic problem, then either the protective well needs to be reconfigured to

mitigate the problem or the station needs to be flagged in the NWLON DMS

as one requiring on-the-fly temperature corrections. This correction is

applied to the acoustic sensor measurement before the datum and sensor

offset corrections are applied.

When the dpasman.dbo.SENSOR_STATUS table TEMP_CORR_FLAG

value is set to 1, then compute the Sutron or Bartex equation below (as is

done now for the selected few stations). The TEMP_CORR_FLAG flag,

when set to1, indicates that thermistors difference was less than the

Temperature correction tolerance (TEMP_GRAD_TOL2) and the

Temperature Correction Required flag was set to 1 and the below equation

was applied to the water level value. The TEMP_CORR_FLAG flag, when

set to 2, indicates that the thermistors difference exceeded the temperature

correction tolerance (TEMP_GRAD_TOL2) and the below equation was not

applied.

Sutron Aquatrak Equation:

Water level = datum offset - (Aquatrak reading +

sensor offset) - [(Aquatrak reading * (air temp1 - air

temp2) * TGCF)]

Bartex Aquatrak Equation:

Water level = datum offset - (Aquatrak reading + sensor

offset) - [(Aquatrak reading - calibration length(m) *

(air temp1 - air temp2) * TGCF)]

To determine controller type (Sutron or Bartex):

If sensor offset is greater than zero, then use Sutron

Aquatrack equation, else use Bartex Aquatrak

equation. Temperature Correction Flag

(TEMP_CORR_FLAG)- The water level correction

due to the Temperature Gradient Flag and Temperature

Correction Required Parameter are combined into this

final phase. This flag is also unique to acoustic

sensors. This Temperature Correction Flag is set as

PARAM_ID 125 in dpasman.dbo.SENSOR_PARAM

table. This flag’s status reports whether temperature

correction was applied to the data or not.
-10-

 

The Temperature Correction Flag, when set to 0, indicates that the

Temperature Correction Required Parameter was set to 0. The

Temperature Correction Flag, when set to 1, indicates that the

Temperature Gradient Flag was not equal to 2 (good working

thermistors) and Temperature Correction Required Flag was equal to

1 (temp correction required at those selected few stations), and

temperature correction was applied to the data. The temperature

Correction Flag, when set to 2, indicates that the above two

conditions were not met and temperature correction was not applied

to the data. 

Here are the equations for the above flags and parameters:

TEMP_FLAG = 0 (T1-T2) <= TEMP_GRAD_TOL1

TEMP_FLAG = 1 TEMP_GRAD_TOL1 < (T1-T2) < TEMP_GRAD_TOL2

TEMP_FLAG = 2 (T1-T2) >= TEMP_GRAD_TOL2

TEMP_CORR= 0 No temperature correction required for the data

TEMP_CORR=1 Temperature correction is required for the data

HEIGHT_CORR_FLAG=0 Height Correction <= HEIGHT_CORR_TOL

HEIGHT_CORR_FLAG=1 Height Correction > HEIGHT_CORR_TOL

TEMP_CORR_FLAG=0 No temperature correction applied because

TEMP_CORR=0

TEMP_CORR_FLAG=1 Temperature correction applied to data because 

 TEMP_CORR=1 and TEMP_FLAG < 2

TEMP_CORR_FLAG=2 No temperature correction applied because 

 temperature sensor data is out of range;

 i.e. TEMP_FLAG = 2 and TEMP_CORR=1

• Water Level Outlier Flag - The outlier flag is set for the given 6-minute

interval water level data point when the associated incoming outlier value

(number of individual one second acoustic sensor measurements which were

omitted for averaging because they exceeded the three sigma criteria) is

greater than the outlier value stored in the

dpasman.dbo.STATION_PARAMETER table.

• Water Level Sigma Flag -The sigma flag is set for a given 6-minute interval

water level data point when the associated incoming sigma value (standard

deviation) is greater than the sigma stored in the

dpasman.dbo.STATION_PARAMETER table. 

Acoustic and SAE Sensor Checks/flags:

• Primary Water Level versus Backup Water Level – Check the difference

between the primary water level value and backup water level value with the
-11-

gain and offset value applied (should remain nearly constant for a given

station), and set a flag if the difference exceeds a specified tolerance.

Acoustic, SAE, Single and Dual Pressure Sensor Checks/flags:

• Predicted value check – Check the difference between the primary water level

value relative to station datum for Acoustic, Single and Dual Pressure; and the

predicted value relative to station datum; and set a flag if a specified tolerance

limit is exceeded.

Single Pressure Sensor Checks/flags:

• N1 value versus Predicted – Check the difference between the N1 water level

value plus accepted orifice offset against the predicted water level and set a

flag if the difference exceeds a specified tolerance. 

Dual Pressure Sensor Checks/flags:

• N1 Pressure versus T1 Pressure – Check the difference between the N1

pressure sensor value, with the T1 pressure sensor value plus the delta H

correction value (separation of two orifices); and set a flag if the difference

exceeds a specified tolerance.

• NT value versus Predicted – Check the difference between the NT water level

value plus accepted orifice offset against the predicted water level on the

station datum; and set a flag if the difference exceeds a specified tolerance. If

NT value does not exist check N1 plus accepted orifice offset against the

predicted water level value.

Ancillary Sensor Flags (Air Temperature, Barometric Pressure, Dew Point,

Rainfall, Wind Speed, Water Conductivity, Water Temperature, Wind Gust, 

Water Current):

• Air Temperature – Maximum flag is set if the measurement is greater than the

dpasman..STATION_PARAMETER table AIR_TEMP_MAX value in the

NWLON DMS. 

Minimum flag is set if the measurement is less than the

dpasman..STATION_PARAMETER table AIR_TEMP_MIN value in the

NWLON DMS.

• Barometric Pressure – Maximum flag is set if measurement is greater than the

dpasman..STATION_PARAMETER table BAROMETRIC_MAX in the

NWLON DMS. 
-12-

Minimum flag is set if the measurement is less than the

dpasman..STATION_PARAMETER table BAROMETRIC_MIN value in the

NWLON DMS.

• Dew Point – Maximum flag is set if measurement is greater than the

dpasman..STATION_PARAMETER table DEW_POINT_MAX value in the

NWLON DMS. 

Minimum flag is set if the measurement is less than the

dpasman..STATION_PARAMETER table DEW_POINT_MIN value in the

NWLON DMS.

• Rainfall – Maximum flag is set if incoming value is greater than the

dpasman..STATION_PARAMETER table RAINFALL_MAX value in the

NWLON DMS. 

Minimum flag is set if the measurement is less than the

dpasman..STATION_PARAMETER table RAINFALL_MIN value in the

NWLON DMS.

• Wind Speed – Maximum flag is set if measurement is greater than the

dpasman..STATION_PARAMETER table WIND_SPEED_MAX value in the

NWLON DMS. 

Minimum flag is set if the measurement is less than the

dpasman..STATION_PARAMETER table WIND_SPEED_MIN value in the

NWLON DMS.

• Wind Gust – Maximum flag is set if measurement is greater than the

dpasman..STATION_PARAMETER table WIND_GUST value in the

NWLON DMS or if wind gust value is less than zero.

• Wind Direction – Maximum flag is set if measurement is less than zero or

greater than 360.

• Water Conductivity – Maximum flag is set if measurement is greater than the

dpasman..STATION_PARAMETER table H2OCON_MAX value in the

NWLON DMS. 

Minimum flag is set if the measurement is less than zero.
-13-

• Water Temperature – Maximum flag is set if measurement is greater than the

dpasman..STATION_PARAMETER table H2OTEMP_MAX value in the

NWLON DMS. 

Minimum flag is set if the measurement is less than the

dpasman..STATION_PARAMETER table H2OTEMP_MIN value in the

NWLON DMS.

• Water Current – Maximum flag is set if speed value is greater than the

dpasman..STATION_PARAMETER table H2OCURRN_MAX value in the

NWLON DMS, or if the value is less than zero, or if the wind direction value

is greater than 360.

3.2 Inputs and Outputs

Input files:

• Valid Sensor file: station id, dcp number, sensor ids, primary or secondary.

• XXX.QC: station id, dcp number, space, water level time, space, sensor id,

space, data source, space, primary or redundant, pressure_value, water

level value, water level sigma, water level outlier, backup water level value, 

backup water level sigma, backup water level outlier, water temperature,

first air temperature, second air temperature, datum offset, sensor offset,

backup water level gain, backup water level offset

(a7,a1,1x,a18,1x,a2,1x,a1,1x,a1,14(1x,i6))

• Station information file: station id, harmonic constituent number, status of

harmonic constituent number, algorithm used for harmonic constituents,

state, common name, station location (lat/lon), time zone correction

information, datum offsets (MLLW, MHW, MTL, MSL, etc.), station

datum and sensor offsets, tolerances for testing (max/min water level, rateof-change, sigma max, air temp max/min, etc.), and harmonic constituents.

• PORTS file: see Information Systems Branch PORTS Uniform Flat File

Format (PUFFF) document.

• Some existing input files may be modified, these will be provided in the

next revision of this document.

Output files:

• Adjusted water level values with QC values used for ingestion into

NWLON dms: Acoustic (*.ACO_QCd), Backup water level
-14-

(*,BWL_QCd), Shaft Angle Encoder (*.SAE_QCd), and

PRESSURE (*.PRE_QCd) have the same format:

 station id, dcp number, water level time, two spaces, sensor id, space, data

source, two spaces, water level value, two spaces, water level max/min

flag, two spaces, flat flag, two spaces, rate-of-change flag, two spaces,

water level sigma, two spaces, sigma max/min flag, two spaces, water

level outlier, two spaces, outlier flag, two spaces, pressure value, two

spaces, first air temperature, two spaces, second air temperature, two

spaces, temperature flag, two spaces, temperature correction flag, two

spaces, primary versus backup flag, two spaces, primary versus predicted

flag (a7, a1, a20, 2x, a2, 1x, a1, 2x, f9.3, 2x, i1, 2x, i1, 2x, i1, 2x, f9.3, 2x,

i1, 2x, i8, 2x, i1, 2x, f9.3, 2x, f9.3, 2x, f9.3, 2x, i1, 2x, i1, 2x, i1, 2x, i1)

• Primary water levels data file (*.WaterLevels) used for Tides Online and

NWS bulletins (CREX and SHEF):

Station id, dcp number, water level time, mllw water level, mllw residual,

mllw predicted water level, crex flag, number of parity errors, storm surge

flag (a7, a1, a20, 2x, f9.3, 2x, f9.3, 2x, f9.3, 2x, a2, 2x, i6, 2x, a3)

• Error file (*.ERR_QCd) used for ingestion into NWLON DMS. Error file

contains, datum offset, sensor offset, invalid sensor, gain, and/or

backup offset:

station id, dcp number, two spaces, sensor id, two spaces, processing time,

two spaces, dcp error time, two spaces, error type, space, incoming value,

database value, two spaces, description (a7, a1, 2x, a2, 2x, a17, 2x, a17,

2x, a1, 1x, 3(f10.3), 2x, a80)

• Ancillary data file (*.ANC_QCd) used for ingestion into NWLON DMS. 

Format for all ancillary data is (a7, a1, a20, 2x, a2, 1x, f9.3, 2x, i1, 2x, i1,

2x, i1, 2x, f9.3, 2x, i1, 2x, f9.3, 2x, i1, 2x, a1):

Wind (C1) line contains: station id, dcp number, dcp time, sensor id, wind

speed, minimum flag (not used), maximum flag, rate-of-change flag, wind

direction, extra, wind gust, wind gust maximum flag, data source.

Air temperature (D1) line contains: station id, dcp number, dcp time,

sensor id, air temperature, minimum flag, maximum flag, rate-of-change

flag, four fields not used and data source. 

Water temperature (E1) line contains: station id, dcp number, dcp time,

sensor id, water temperature, minimum flag, maximum flag, rate-ofchange flag, four fields not used, and data source.
-15-

Barometric pressure (F1) line contains: station id, dcp number, dcp time,

sensor id, barometric pressure, minimum flag, maximum flag, rate-ofchange flag, four fields not used, and data source.

Water conductivity (G1) line contains: station id, dcp number, dcp time,

sensor id, water conductivity, minimum flag, maximum flag, rate-ofchange flag, four fields not used, and data source.

Water current (H1) line contains: station id, dcp number, dcp time, sensor

id, water current speed, minimum flag, current maximum flag, rate-ofchange flag, direction, three fields not used, and data source.

Dew point (I1) line contains: station id, dcp number, dcp time, sensor id,

dew point value, minimum flag, maximum flag, rate-of-change flag, four

fields not used, and data source.

Rain fall (J1) line contains: station id, dcp number, dcp time, sensor id,

rain fall value, minimum flag, maximum flag, rate-of-change flag, four

fields not used, and data source.

Solar radiation (K1) line contains: station id, dcp number, dcp time,

sensor id, solar radiation value, minimum flag, maximum flag, rate-ofchange flag, four fields not used, and data source.

 

Analog sensors (L1 and M1) lines contains: station id, dcp number, dcp

time, sensor id, data value, minimum flag, maximum flag, rate-of-change

flag, four fields not used, and data source.

• Ancillary data file (*.Met) used for Tides Online and NWS bulletins

(CREX and SHEF).

Station id, dcp number, dcp time, wind speed, wind speed flag, wind

direction, wind direction CREX flag, wind gust, barometric pressure,

pressure CREX flag, air temperature, data source, storm surge flag (a7,

a1, a20, 2x, f9.3, 2x, i1, 2x, f9.3, 2x, i1, 2x, f9.3, 2x, f9.3, 2x, i1, 2x, f9.3,

2x, f9.3, 2x, a1, 2x, a3) 

3.3 Error and Recovery

The current QC program has error handling for a number of items: valid sensors

for gauge, error when applying temperature corrections, datum and sensor offset

differences, and ingestion errors. Email messages will be sent to ISD stand-by

staff, RDD, FOD, PSD, and CORMS for major problems as appropriate. Data

would be QC’d even if the database is not available, making data available to the

Near-Real-time Tides On-Line web pages, CREX bulletins, and SHEF bulletins.
-16-

3.4 Testing 

The Acoustic, Backup Water Level, Pressure, Wind, Water Temperature,

Barometric Pressure, Water Conductivity, Ancillary tables will be verified against

the production database for a four week time period. Selected values for a given

time period in each table will be evaluated. A test plan will be written and used

prior to operation, that will explain testing methodology.

4.0 Operating Environment

ISD has chosen SGI as the data ingestion workstation platform. This allows for a

homogeneous development environment within the office. 

4.1 Hardware Requirements

Processor: 200 MHz MIPS R5000 (IP32) 

Memory: 192 MB

Disk: 9 GB

Peripherals: Mouse; Monitor

Operating System: SGI IRIX UNIX

4.2 Support Software

• The major software components will be written in the C or C++ programming

language.

• Some components of the software will use the SYBASE query language and

Open Client object programming language to interface with the database. 

• Some software components will use the IRIX/UNIX Korn shell scripting

language.

4.3 Interfaces

The process will consist of several components performing various tasks. One

component would get the water level gauge offset information from the database

hourly; another component would put QC’d data into an archive directory. From

the archive directory, data will be inserted into the NWLON DMS, and used to

create CREX and SHEF messages to be sent to NWS Forecast Offices over

AWIPS.
-17-

4.4 Security

• Since the product will be the property of the federal government, there should

not be any proprietary regulation imposed on the product. 

• Access to the DIS platform and the NWLON DMS is restricted and controlled

via user names and passwords. Both platforms are behind the CO-OPS

firewall.
A.1

Appendix A - QC Requirements Team

Name CO-OPS Division

Joann Nault (project manager) Information Systems Division

Thomas Bethem Information Systems Division, Chief

Janet Burton Information Systems Division, Deputy

Steve Gill CO-OPS Staff

Leonard Hickman Products and Services Division, Deputy

Jeannine Kimball James Information Systems Division

Thomas Landon Requirements and Development Division

Phil Libraro Field Operations Division

Thomas Mero Requirements and Development Division, Chief

Mike O’Hargan Field Operations Division, Chief

William Stoney Products and Services Division, Chief

George Story Information Systems Division (contractor)

Other Reviewers:

Thomas Huppmann Products and Services Division

Manoj Samant Requirements and Development Division

Bruce Servary Requirements and Development Division
B.1

Appendix B - Equations

Water Level at Station Datum:

Datum Offset - (aquatrak measurement + sensor offset)

Third difference:

Diff (I) = Height (I-3) - 3*Height (I-2) + 3*Height(I-1) - Height (I)

Water Level Temperature Adjustment for Sutron Aquatrak Equation:

Water level = datum offset - (Aquatrak reading + sensor offset) - [(Aquatrak reading * (air

temp1 - air temp2) * TGCF)]

Water Level Temperature Adjustment for Bartex Aquatrak Equation:

Water level = datum offset - (Aquatrak reading + sensor offset) - [(Aquatrak reading -

calibration length(m) * (air temp1 - air temp2) * TGCF)]

For Acoustic and SAE: 

WL = Datum Offset - sensor offset - raw sensor measurement

For Pressure - Single Orifice: 

 WL = raw sensor measurement + accepted orifice offset

For Pressure - Dual Orifice:

Instantaneous density Rho in gm/cm3 = (N1 press - T1 press) * 1000000. / 

[(HN - HT) * g ]

N1 and NT WL = N1 press * 1000000 / [Rho * g] + accepted orifice offset N1

T1 = T1 press * 1000000 / [Rho * g] + accepted orifice offset T1
C.1

Sta---tio941---n H429Lat - -ARM--- 0 De --- 37 # --- gL-.00 --4at ---- 0 Sta MH --- 25 Min ------ 48. tusHW --- A 3.5La --- Acc -- 400 Al -- --- 36 t D -- Da --- N gor M --- C --- ir --- tum --- ith 6.9 HW -- WL --- 3.3 Lon --- Of -- m S --- 05 --- Max --- 53 De - - f A --- 122 tat --- M --- C -- g L --- 4.4 cc --- .00 e C AIR -- TL - - A WL --- 2.7 on - - --- 62 Sen -- 0 omm -TE-- 1 --- S 2 Min --- 28 Min --- --- sor --- 27. on MP --- .11 M --- an 5.1 --- Lo --- DEW --- 0.9 Of --- 900 Nam Max -- 9 SL -- Fra --- 00 WL --- 2.7 n D --- -PN-- 45 f D -- We 99 AI --- --- nci --- ROF - - 13 ir --- T M -- atu --- 9.9 R-T -- M -- sco H20 --- C --- TZ --- ax --- 0.2 m O --- --- 99 EMP -- 6 LW --- -TE- 2. WL --- 2.1 Cor --- 1 DEW --- 30 ff -- 8. --- Mi --- .90 --- MP --- 600 Out -- 03r T --- 7.7 -PN-- 99 Sen --- 00 AQ --- 99 n A --- 5 ML - - Max --- lie --- Z C --- --- 00 T M -- 9.9 sor --- P CAL --- 9.9 IR- -- LW --- 99 H2 --- rs --- 1.7 har --- --- in --- 99 Of -- LE-- 99 TEM -- 1.1 --- 9.9 0-T - 999 WL --- 59 T --- C# --- DEW --- f A --- N T --- P R --- 19 H-- --- 99 EMP --- .99 Sig - - Mer --- Am - - 8. -PN-- 99 cc --- 1 1 P G --- 99 OFC --- WI --- -- Mi --- 9 ma --- 7.5 --- 2 plt --- 900 T R --- 9.9 Ori -- 20. RAD --- 9.9 BA -- 999 -- 3 --- 999 n H --- TEM --- 60 TMD --- d--- OFC -- 99 fic --- 00 40. CO - - 99 RO --- .99 L --- --- .99 20- -- 10 P C --- 50. --- RA --- e O --- W 580 RR --- Max --- 9 WI 0. -- 9 TEM -- 35. orr --- 0.8 137 Pha -- 999 IN --- ff -- 0. 0 TP --- 9 B --- 123 --- P R --- 700 Fl -- 30 0. 0 se--- .99 Max - - Acc 368 21 GRA --- 99. ARO --- 00 --- 99 OFC --- ag --- 023 1 --- 9 RA --- T1 00.6 D T --- 999 Mi -- 99 18 --- 9.9 H2-- 988 PRE --- 00 8.4 --- IN --- 0 Or 22 000 OL -- 9 n --- 9.9 4.9 - 99 0-C -- .80 S D --- 14 000 -- 9 Min -- 99 ifi 6.5 0 TP --- 99. BAR --- 99 000 URR --- 0 ELT --- 2.0 0 --- 99. RA --- 9.9 ce 000 COR --- 999 O R --- 0 99 Ma-- 999 A --- 000 --- 999 IN --- 99 Off 0 R T --- 9 OFC - 9.9 x H --- 9.9 --0 -- RO-- O- 9  

Appendix C - Station Information Sample File
D.1

GLOSSARY

ADR Analog to Digital Recorder

AFOS Automation of Field Operations and Services

AWIPS Advanced Weather Information Processing System

BCP Bulk Copy for Sybase

CO-OPS Center for Operational Oceanographic Products and Services

DCP Data Collection Platform

DIS Data Ingestion System

DMS Database Management System

GOES Geostationary Operational Environmental Satellite

H2O Water

IGLD International Great Lakes Datum

ISD Information Systems Division

MLLW Mean Lower Low Water

N1 Single or Dual Orifice Digibub Primary Sensor

NOAA National Oceanic And Atmospheric Administration

NT Water level derived from N1 and T1 Sensors

NWLON National Water Level Observation Network

NWS National Weather Service

OSO Office of System Operations

PSD Products and Services Division

RDD Requirements and Development Division

SAE Shaft Angle Encoder

SGI Silicon Graphics Inc.

SHEF Standard Hydrometeorological Exchange Format

SYBCHAR Sybase character field

T1 Dual Orifice Digibub Secondary Sensor

TGCF Temperature Gradient Correction Factor