Data Sources

There are currently four data sources for the buoy system,

There is a core of processing routines that all of these sources feed into. For example, all aanderaa data regardless of source feeds into a routine called aanderaa_processing_stream.m. The other instrument data streams have similarly named core processing routines. Therefore, in order to add aanderaa data from a hypothetical new data stream, all one would have to would be to package up the input data to match that which is expected by aanderaa_processing_stream.m.

Once MATLAB processing has finished, rsync is invoked to mirror the data repository onto the machine gyre.umeoce.maine.edu.

Quality control is guided by the valid_range attribute that is present for each measured parameter in its NetCDF file. For example, temperature on the Aanderaa has a valid range of [-0.5, 30] °C. Each datum is checked against its valid range by a single MATLAB routine. Datums falling outside this range have their quality flags subsequently modified. Each day, a separate process examines how many times a parameter exceeded its valid range and reports it. This information can be used to determine whether or not a valid range needs to be changed. The valid range attribute is a part of the standard set of metadata for NetCDF files and need not be the same across all NetCDF files. For example, it may be determined that a different valid range exists for temperatures at 50 meters depth as opposed to temeperatures at 2 meters depth.

Parameters can also be marked as completely invalid and without need of any range checking. Being without need of range checking can be important if sensor values are fluctuating wildly. Some of those fluctuation values might well be within the stated valid range, but are nonetheless no less questionable. By marking such a parameter as invalid (done with the is_dead flag), this situation is easily dealt with.

Additional quality control checks are being done in realtime on many of the data variables. UPDATE: winds, wave heights, air temperature, barometric_pressure... See specific process_realtime scripts for further details.