ADCP Transducer-GPS offset --------------------------- .. _xducer_dxdy: 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. .. image:: /images/adcp-gps-horizontal-offset/maneuver_lag_error.png :alt: maneuvering error if ADCP not aligned with GPS :scale: 60 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. 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 .. 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 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 Road Map (Details) ~~~~~~~~~~~~~~~~~~~~~ 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`` 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``. 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: .. image:: /images/adcp-gps-horizontal-offset/xducerxy_annot.png :alt: ocean velocities after xducerxy correction :scale: 80 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 .. toctree:: :hidden: