CODAS processing stages


As of April 2013, this version of the documentation is no longer maintained; however, it is consistent with the last (now retired) version of CODAS processing that used Matlab. We no longer update or fix the Matlab processing code, but we will maintain the Matlab code that reads CODAS Matlab output. Although the notes refer to both Python and Matlab processing, none of the code here will be maintained. This (now retired) documentation and code will remain available for awhile longer.

Python processing code is actively maintained and developed, and CODAS Python processing is documented here.

CODAS processing operates on data which reside on the disk, i.e. after the acquisition program had done its job. CODAS processing of ADCP data consists of two stages:

  1. getting the data into the CODAS database
  2. editing and calibration of data already in the CODAS database


The term “processing” implies both steps; whereas “post-processing” generally refers to step 2.

This flow chart shows the split between what happens before the data are in the CODAS database (acquisition + averaging + loading the database) and the steps that operate on the CODAS database itself.

This figure is a cartoon showing where CODAS processing fits with LTA and UHDAS datasets.

In more detail, the two stages are:

(1) Load the averages into CODAS

If dealing with single-ping data:

  • read the ADCP and ancillary serial data
  • find UTC time, add position and attitude
  • edit out bad single-ping velocities
  • average the single-ping data; write to disk.

For PINGDATA and VmDAS LTA or STA data, very little single-ping editing is done prior to averaging.

Then we load these files, whatever their source, into the CODAS database

(2) CODAS (Post) Processing

  • Navigation
    • find and smooth the reference layer,
  • Heading Correction
    • obtain a heading correction for the gyro headings, using an accurage (preferrably gps-based) attitude device
    • check the health of the accurate heading device
  • Calibration
    • determine preliminary angle and amplitude calibrations from watertrack and/or bottom track data (using corrected headings)
    • if large corrections are required, do that before editing
  • Editing
    • editing (bottom interference, wire interference, bubbles, ringing, identifying problems with heading and underway bias),
  • Calibration (check)
    • final calibration based on edited data