codas processing overview

CODAS (Common Ocean Data Access System) is more than a database. The word has come to be associated with a suite of open-source programs for processing ADCP data. CODAS consists of C, Matlab, and scripts that will run on Windows, Linux, SunOS, or Mac OSX, and can process pingdata from a Narrowband ADCP or Broadband or Ocean Surveyor data collected by VmDAS. Older scripts were written in Perl, but we have shifted to Python for the newer versions of these scripts.

Some kind of data treatment is necessary because the acquisition programs write binary files to the disk that are not readable by commercial plotting packages. In fact, there are not actually any ocean velocities stored in the files. A shipboard ADCP reports currents measured along each of its beams. These currents must be transformed into earth coordinates, and the motion of the ship taken out. Ancillary data such as heading and position are used to extract the ocean velocity from the measured velocies. There are at present three different generations of ADCPs collecting data on ships. CODAS processing can deal with data collected by any of the instruments, under DAS2.48 (for narrowband instruments) or VmDAS (for broadband or phased array instruments).

There are at least four necessary processing steps which are performed by (or made possible) by the CODAS routines. First, an ocean reference layer is used to remove the ship's speed from the measured velocities. By assuming the ocean reference layer is relatively smooth, positions can be nudged to smooth the ship's velocity, which directly results in the smooth reference layer velocity. (This was more important when fixes were rare or jumpy (such as with LORAN) or dithered (such as SA GPS signals prior to 2001).

Second, calibration routines are available to estimate the heading misalignment from either bottomtrack or watertrack data. Watertrack calibration routines use sudden accelerations (such as stopping and starting of the ship when doing station-work) to derive a heading misalignment. For a ship travelling at 10 kts, a 1-degree heading error results in a 10 cm/s cross-track veliocity error. It is critical that the misalignment be accounted for if one is to avoid cross-track biases in the velocities.

Third, a GPS-derived heading source (such as Ashtech, POSMV, or Seapath) may provide a more accurate (though often less reliable) heading source than a gyro. Routines are in place for pingdata (and are under development for VmDAS-acquired data) to correct the gyro heading with the GPS-derived heading, using a quality-controlled difference in headings. Gyro headings may be reliable but they can vary with oscillations of several degrees over several hours, thus creating spurious "eddies" which are soley the result of cross-track velocity errors (from the associated gyro heading errors).

Fourth, it is crucial that bad data be edited out prior to use. Traditionally, the data available from the DAS2.48 narrowband data was averaged in 5 minute groups. VmDAS also outputs time-averaged data (in LTA or STA files). With CODAS processing, a graphical interface allows identification fo the bottom and selection of bad profiles or bad bins based on a variety of criteria. To some extent this can be automated, but under some conditions it still requires a user to visually inspect all the averages from a cruise. The graphic interface vastly speeds up editing to the point where it takes only a few minutes of user time per day of data for a typical cruise.

Finally, CODAS processing is moving beyond averaged data to the realm of single-ping data. Whatever acquisition program was used to record the data also averages it. Prior to averaging, some attempt is made to eliminate bad pings. CODAS processing now includes routines that average single-ping data collected by VmDAS or UHDAS (open source acquisition software that runs narrowband or Ocean Surveyor instruments). These routines allow the single-ping data to be screened more extensively prior to averaging. Under certain conditions, this may be necessary to avoid subtle underway biases caused by bubbles or ice near the transducer. This includes the ability to read single-ping data files and look at the characteristics of the instrument (such as acoustic backscatter or beam velocities) one ping at a time.

We are beginning to deal with a new generation of instruments (the RDI Phased Arrays) and CODAS processing is changing to meet the new data.


jules hummon
Last modified: Fri May 14 08:00:55 HST 2004