2.8.4. ADCP Transducer-GPS offset

The horizontal offset between the ADCP transducer and the GPS (used to calculate ship speed) can cause errors in the calculated ocean velocity. This only occurs when the ship is manuvering (turning) while underway. Slow speeds and “no turning” reduce the error.

maneuvering error if ADCP not aligned with GPS

CODAS Python processing estimates the offset during the “calibration” steps. A python script and the output are in cal/watertrk; the script is Guess_Xducerxy_script.py and the output is appended to guess_xducerxy.out.

Note

This correction can be made more than once. For example, applying xducer_dy=25 once is the same as applying xducer_dy=20 followed by xducer_dy=5.

2.8.4.1. Example:

wh300 processed with positions from "gps" (unknown gps feed)

    guessing ADCP (dx=startboard, dy=fwd) meters from GPS
    fixfile is aship.gps
    calculation done at 2012/05/20 19:08:34
    xducer_dx = 1.128891
    xducer_dy = -31.007850
    signal = 6826.635561

2.8.4.2. Conclusions:

  1. The GPS feed and the WH300 are pretty well aligned in the alongship direction (1m ofset from

  2. “signal” is an indication of how robust the calculation is

    • “signal” < 1000 (weak confidence)

    • “signal: 1000-4000 (probably worth using)

    • “signal” > 4000 (pretty strong indication)

  3. so we probably have

    • aft: WH300

    • 30m forward of that is the GPS

2.8.4.3. Calibration (Action)

We rerun quick_adcp.py using the guidance from the guess_xducerxy.out file.

quick_adcp.py --steps2rerun navsteps:calib --xducer_dx 1 --xducer_dy -31 --auto

Note

TWO CAVEATS

  1. you must have entries for both xducer_dx and xducer_dy (use zero (0) if necessary)

  2. use integers

    • poor coding choice makes this necessary for the moment

    • we don’t know the value that well anyway

2.8.4.4. Road Map (Details)

2.8.4.4.1. Summary:

Using headings and GPS position, project the GPS position to where the ADCP is, based on the numbers provided. Then use that new file for all further navigation calculations.

For a database aship, the default position “fix” file would be nav/aship.gps. After the correction, the new file would be nav/aship.agt. The Python script to do this calculation and write out the new file is XducerXY_script.py. The change is recorded in dbinfo.txt

2.8.4.4.2. Before:

We look in dbinfo.txt to see what the “fixfile” is. The entry is None (i.e. unchanged), meaning the default is used, i.e. nav/aship.gps.

2.8.4.4.3. After:

Look in dbinfo.txt to see what is now used. The “fixfile” entry is aship.agt, i.e. nav/aship.agt.

All future calculations will use positions in this file.

Note that the “guess” has improved:

Example entry in cal/watertrk/guess_xducerxy.out AFTER correction

**BEFORE**

guessing ADCP (dx=startboard, dy=fwd) meters from GPS
fixfile is aship.gps
calculation done at 2012/05/20 19:08:34
xducer_dx = 1.128891
xducer_dy = -31.007850
signal = 6826.635561


**AFTER**

guessing ADCP (dx=startboard, dy=fwd) meters from GPS
fixfile is aship.agt
calculation done at 2012/05/20 20:55:25
xducer_dx = 0.202440
xducer_dy = -2.191074
signal = 6826.635561

... and the data are obviously improved:

ocean velocities after xducerxy correction

2.8.4.5. Redoing the Calibration:

These numbers are additive, so apply the closest integer to the numbers given in the calibration block

  • look at guess_xducerxy.out again

  • apply the residual that it indicates