Copyright: © RD Instruments (September 2003).  All Rights Reserved
Citation: © RD Instruments (September 2003).  All Rights Reserved


Welcome

VmDas is a software package for use with RDI Vessel Mount Acoustic Doppler Current Profilers.  This software package supports the Broadband, Workhorse, and Ocean Surveyor PD0 Binary Output Data Formats for data collection and replay.

VmDas is a Windows Multiple Document Interface (MDI) program, and supports three modes of operation: Data collection, data reprocessing, and playback.  Several document windows may be open simultaneously within the main application window, where each document window is running in a different mode, or where multiple document windows are running independent sessions of the same mode.  For example, you could playback data from several files at the same time, each in a separate window, or playback data from a file in one window, while simultaneously collecting data from the instruments in another.

Help file last revised on January 22, 2004.


Software History

Version 1.40.

•	Fixed the problem with the year being set to number bigger than 100.

•	Changed format of displaying a date.

•	Changed Copyright dates in About box.

•	Fixed problem with names with too many underscores.

•	Tied up Speed Log output rate to LTA.

•	Fixed the problem with reprocessing that would stop at end of first N2R file.

•	Fixed problem with OS when Use Options for low-resolution mode would send W commands instead of N commands.

•	Changed the time out message for ADCP and NMEA devices.

•	Changed equatorial radius and flattening to match WGS-84 standard.

•	Improved speed of reprocessing the data.

•	Added ability to select an ENS file to the drop down list for the WinADCP read file selection.

•	Fixed typo in WH600def.txt file.

•	Added Reference Layer source selection in Speed Log output.

•	Changed the names of the averaging intervals on the Averaging Tab.

•	Removed the grayed out spatial averaging interval selections from the Averaging tab.

•	Removed the grayed out Application Selection items in the User Exit tab.

•	Changed version number string to match new standard.

•	Fixed the problem with program crashing when Bottom Track was selected as reference in ASCII out and Bottom Track was not available.

•	Added ability to use COM port above 9.

•	Added ability to pass a file name for playback on the command line.

•	Fixed problem with internal heading to be more than 360 degrees.

•	Activated "Preview" button under "ADCP Setup from File" and renamed it to "View/Edit".

•	Made Reference Layer labels consistent.

•	Disabled display of serial product number if not necessary.

•	Added sending of "CR1" command before any other commands.

Version 1.41.

•	Fixed improper error validation of the PASHR validity byte

•	Fixed problem with errors in the PASHR sentence are stated to be errors with the PRDID sentence

Version 1.42.

•	Fixed problem with TE0 and TP0 always sent


Program Modes

When the program is first started, it displays an empty main window with a menu.  Click the File menu, then click the mode you want to start.  For example, to start a new data collection session, click File, Collect Data.  This will open a new document window that displays the appropriate data and has the appropriate behavior for the mode selected.

Data Collect Mode

Data Reprocessing Mode

Data Playback Mode


Data Collect Mode

After opening a data collect mode document window, click Options on the menu bar to configure the session for data collection and processing.  See Setting up Data Options for a description of how to set the options.

After the options are set, click Control on the menu and select Go to start collecting data.  During data collection, data is saved to disk using file names constructed from the deployment name specified in the program options.  The options in effect at the start of data collection are automatically saved to a file using the same naming convention, with the .VMO extension.  VMO files are identical in format to the files you save using the Options menu, and may be loaded via the Options menu if you desire to use the same settings for another deployment.

During data collection, you will not be able to change the options.  If the options need to be changed, stop the deployment by clicking Control, Stop on the menu, change the options, then restart the deployment.  This will automatically create a new set of deployment files using a different deployment number.

TIP

Use the Go and Stop buttons on the toolbar.


Data Reprocessing Mode

To reprocess previously collected raw data, click Reprocess Data from the File menu.  You will then be presented with an Open File dialog box, where you can select a .VMO file to open.  The .VMO file contains the option settings that were used when the data was collected.   Select the .VMO file that represents the deployment you want to reprocess.

The VmDas software gets the raw data file names from the .VMO file, and displays a window that has three control buttons.  Using the Option button, modify the options to set the new processing parameters you want to use for reprocessing the data.  Click the Play button to begin reprocessing the data.  The ensemble number being processed is shown in the status display to the right of the control buttons.

Reprocessing will automatically stop after all the data has been processed, but you may stop the processing early by clicking on the Stop button.  The status display will indicate "Done" when processing has finished.  You may then close the reprocessing document window and open a file for playback using the File menu in the main program window.


Data Playback Mode

To play back data previously collected, click Playback Data from the File menu.  An Open File dialog box will be displayed where you can select the file to open for playback.  Using the playback control buttons, you may then step through the data one ensemble at a time, or play continuously.  If you hold down the shift key as you click the left or right arrow buttons, you step 100 ensembles instead of one at a time.  Use the speed slider control to adjust the playback speed.

You may open additional files for viewing, and each will be displayed in a separate document window within the main program window.  You may also run multiple instances of the program to view additional files.


Overview

Note

Move your cursor over sections of the graphic and click to go to the description.


Velocity Plot

The Velocity plot shows the Velocity in mm/s and the direction in degrees.  The magnitude scale is along the top, in mm/s, and the direction scale is along the bottom, in degrees.  Use the Graph Toolbar to change the scale of the plot.  If the graph toolbar is not visible, click View, Graph Bar.

The velocity units can be set to ms, mm/s, f/s, or knots.  The depth units can be meters, centimeters, or feet.  To change them, click Options, Edit Display Options.  Note that changing the display options only changes how data is displayed, not what is saved in data files.


Data Quality Plot

The Data Quality plot shows the Amplitude, Correlation, and Percent Good values.  The scale along the top is for the amplitude and correlation (in counts).  The depth units can be meters, centimeters, or feet.  To change them, click Options, Edit Display Options.  Note that changing the display options only changes how data is displayed, not what is saved in data files.

The scale along the bottom is for percent good (in percent).


Ship Track Plot

The Ship Track plot shows the path of the vessel and up to three current sticks to display currents at different depths at each plotted ship position.  VmDas has two ship track plots.  They display the same ship track, but may be configured differently; For example, they may have different position sources or use different bins for current sticks.

Ship track configuration is set by clicking Options, Edit Display Options.  Most configurations use the Ship Track tab, though current stick velocity units are set in the Reference tab.

Changes made to Ship Track tab may require that the ship track be re-plotted.  VmDas will issue a warning before accepting these changes.  If the ship track must be re-plotted, the ship track is erased.  Plotting continues from the current position.

When collecting data, this means it is a good idea to settle on desired configurations early.  Once erased from the display, the ship track cannot be redisplayed until the deployment files are played back.

Holding the cursor over a ship track position causes a tool tip to be displayed.  It shows the position and current stick data for the point.

Use the Graph Toolbar to change the scale of the ship track or current sticks.  If the graph toolbar is not visible, click View, Graph Bar.

The ship track plots may be zoomed and moved independently.  The Keep on Screen check box moves the plot to put the current position on screen each time a new point is plotted.  This check box affects both plots.

NOTE

In Data Collection mode, the ship track plots are not available in the raw data view.


Leader Data

The leader data shows a text box of the ADCP’s leader data.


Bottom Track Data

The Bottom Track Data shows a text box of the ADCP’s Bottom Track Data.


Water Track Data

The Water Track Data shows a text box of the ADCP’s Water Track Data.


Navigation Data

The Navigation Data shows a text box of the position and velocity data from a NMEA navigation device.


System Configuration Data

The System Configuration Data shows a text box of the ADCP’s System Configuration Data.


Profile Data

The Profile Data display shows a tabular view of the ADCP’s Profile Data, and includes the following fields:

Bin - The ADCP depth cell number that the row of tabular data applies to.  This field is repeated at the far right of the table for easy reference when looking at data in the rightmost columns of the table when the entire table is not in view.

Depth - The depth of the center of the depth cell.  If a transducer depth has not been entered, this is the range to the depth cell from the ADCP transducer.  If a transducer depth has been entered, this is the range to the depth cell from the water surface, measured in the selected depth units.

Bm1 through Bm4 - When viewing raw data, these are the individual beam velocities at the depth cell, measured in the selected velocity units.  Bm1 through Bm4 are replaced by East, North, Up, and Err when viewing averaged data, and then refer to the Earth-referenced velocity components at the depth cell, and are also shown in the selected velocity units.

Amp1 through Amp4 - The echo intensities (amplitudes) for each beam at the depth cell, measured in counts.  The Amplitude plot in the data quality profile graph is produced from the average of Amp1 through Amp4 for each depth cell.

Cor1 through Cor4 - The correlation magnitude values for each beam at the depth cell, measured in counts.  The Correlation plot in the data quality profile graph is produced from the average of Cor1 through Cor4 for each depth cell.

PctGd1 through PctGd4 - The percent good data at the depth cell, measured in percent.  In the raw data view, PctGd1 through PctGd4 refer to individual beam percentages, however percent good data is typically not by the ADCP output for single-ping data.  These fields are more useful when looking at the averaged data views, where PctGd1 through PctGd4 have the following meaning:

•	PctGd1 - is the percentage of good 3-beam measurements in the averaging period for the depth cell.

•	PctGd2 - is the percentage of measurements rejected due to high error velocity in the averaging period for the depth cell.

•	PctGd3 - is the percentage of measurements that were rejected due to having fewer than three beams good for the averaging period in the depth cell.

•	PctGd4 - is the percentage of good 4-beam measurements in the averaging period for the depth cell.

The percent good plot in the data quality profile graph is produced by summing PctGd1 and PctGd4 for each depth cell.


Status Bar

The Status Bar tells you what COM ports are open and their status.


Tool Bars

The toolbars control VmDas processing and displays.  There are three tool bars; Window Tool Bar, Graph Tool Bar, and Playback/Processing Tool Bar.

The Window and Playback/Processing toolbars provide shortcuts.  Each button on these toolbars does the same thing as a menu item.  There is no matching menu for the Graph toolbar.

Toolbars are available in each program mode.  In collect mode, they look like this.

They are much the same in Playback mode.  Reprocessing does very little displaying, so there is one very small toolbar.

Holding the cursor over a button displays a tool tip with a brief explanation of the button.  The toolbars are normally docked together at the top of the main window.  If more screen space is desired, they can be hidden with the View menu.  The View menu also restores hidden toolbars.

Toolbars can also be moved around or undocked.  To do so, move the cursor over a toolbar between the buttons, left click, and drag.  Release the mouse button to drop the toolbar.


Window Tool Bar

The Window toolbar turns display windows on or off.  In collect mode the Window toolbar looks like this.

In Playback mode, the Raw Data, Short-Term, and Long-Term averaged data buttons (three buttons on the left) will not be displayed.  Each button does the same thing as a Chart menu item.  See the Chart menu for more details.

NOTE

In Data Collection mode, the ship track plots are not available in the raw data view.


Graph Tool Bar

The Graph toolbar controls the appearance of the graphs.  In Collect and Playback modes, the Graph toolbar looks like this.

The radio buttons to the left select which graph is affected by the controls on the right.

The arrow buttons move the plotted data in the indicated directions, while the zoom buttons change the scale ranges.  The two zoom buttons with the red, green, and blue lines re-scale the current sticks on the Ship Track plots.

Click the Keep on Screen box to keep the leading edge of the Ship Track plot always on the graph.

	NOTE.  There is no menu to do the Graph toolbar commands.  Even if you hide the other two toolbars to make more space, you might want to keep this toolbar visible until the graphs are set up the way you like them.


Playback / Processing Tool Bar

This toolbar is available in all three modes.  It controls how VmDas reads and/or processes ensembles.

Data Collect Mode

In Collect mode, it looks like this.  The left button starts data collection.  The right button stops data collection.

Data Playback Mode

In Playback mode, it looks like this.

The buttons work like tape recorder controls.  From left to right, they

•	Rewind to the first ensemble in the file

•	Step to the next ensemble

•	Step back to the previous ensemble,

•	Start playing ensembles

•	Stop playing ensembles

The slider controls playback speed.  If you hold down the shift key as you click the Step Next or Step Previous buttons, VmDas steps 100 ensembles.

Data Reprocess Mode

In Reprocess mode, it looks like this.

The left button brings up the options dialog so that options can be edited.  The middle button starts reprocessing.  The right button aborts reprocessing.  This button in not used in normal reprocessing.  Reprocessing normally stops when all data reprocessing has been done.


File Naming Conventions

Data files produced by VmDas during data collect mode has the following filename format:

DeployName000_000000.Ext,

Where:

DeployName	is a user-entered name for the deployment (up to 128 characters),
000	is the deployment number (changes with each stop/restart),
000000	is the file sequence number, which is incremented when the specified maximum file size is reached, and
Ext	is the file extension, and reflects the type of data in the file

Reprocessed files have a similar format:

DeployName000_000_000000.Ext,

Where:

000	Represents the reprocessing number, and gets incremented each time the same raw data is reprocessed.  The other fields are the same as for the data collect mode format, and identify the raw data source that was reprocessed.

The file extensions have the following meaning:

.ENR	Raw ADCP data file.
.LTA	ADCP (plus NAV) data that has been averaged using the long time period specified in the Options, Edit Data Options, Averaging tab (see STA and LTA Output Data Format for the output data format).
.STA	ADCP (plus NAV) data that has been averaged using the short time period specified in the Options, Edit Data Options, Averaging tab (see STA and LTA Output Data Format for the output data format).
.ENS	ADCP data after having been screened for RSSI and correlation by VmDas, or adjusted by the customer via a User Exit.  Also has NAV records merged into the ensembles from the .NMS file.
.ENX	ADCP single-ping data (plus NAV) after having been bin-mapped, transformed to Earth coordinates, and screened for error velocity, vertical velocity, and false targets.  This data is ready for averaging.
.N1R, .N2R	Raw NMEA data files - text files; includes ADCP time stamps with the following format: $PADCP,eeeee,yyyymmdd,hhmmss,-nnnnn.nn<CR><LF> Where: eeeee = ADCP ensemble number yyyymmdd = Year, Month, Day (date of ADCP ping) hhmmss.ss = Hour, minute, seconds.hundredths (Time of ADCP ping) -nnnnn.nn = (signed) PC clock offset from UTC in seconds; includes time zone difference). The .N1R extension is used for single-port NMEA data collection, or for GPS position data (Nav) in dual-port collection mode.  The .N2R extension is used for Roll/Pitch/Heading (RPH) data collection when using two serial ports for NMEA data collection.
.NMS	Binary format NAV data file after having been screened and pre-averaged.
.VMO	The option settings used for collecting the data (text file).
.VMP	The option settings used for reprocessing the data (text file).
.ENJ	ADCP raw data after adjustment by a user-exit application.
.N1J, .N2J	Raw NMEA data after being adjusted by a user-exit application.
.LOG	ASCII file containing any errors found in NEA, ASCII Ensemble Output, or ADCP communications.


File Menu

When the program is first started, it displays an empty main window with a menu.  Click the File menu, then click the mode you want to start.  For example, to start a new data collection session, click File, Collect Data.  This will open a new document window that displays the appropriate data and has the appropriate behavior for the mode selected.

 See Also

 Program Modes


View Menu

Use the View menu to turn on or off the Window or Graph tool bars.  The ADCP and NMEA communication windows are available when in Collect mode. The ADCP communication window shows the ADCP setup commands, and communication faults, and the NMEA window shows the NMEA input data and communication faults. When using two serial ports for NMEA data input, the raw data from both ports is displayed in the NMEA communication window.


Options Menu

There are two kinds of options the user can edit. The Options menu is divided into two parts to reflect this.  Loading or saving applies to all options.

The Data Options determine how data is collected or processed.

•	They must be set for modes that generate data (collect and reprocess data).

•	They must be set before collection or reprocessing starts, and cannot be changed until it ends or is interrupted.

•	Changes to these options make changes to data.

•	In playback mode, the options that were in effect when data was generated can be viewed.

The Display Options determine how data is displayed.

•	They can be set for modes that display data (playback and collect).

•	They can be changed at any time when one of those two modes is active, whether or not data is being played or collected.

•	Graphs or charts may be erased and re-plotted because of changes to these options, but it makes no change to the data itself.

•	In reprocess mode, data is not displayed, so there are no settings to determine how it is displayed.

When you open the program in Data Collection, Reprocess or Playback mode, the Options menu will be visible.  The Reprocess mode also has a tool bar button that takes you straight to Options, Edit Data Options so you can change the processing options before reprocessing the data.

The Options menu has the following selections.

•	Load.  When the Load Options file dialog box is displayed, the files listed are those with a .INI extension by default.  You may, however, type any file name you choose, provided that the file specified contains valid program options.

•	Save.  The options may be saved to a file for later retrieval.  You may wish to save several sets of options, to be used as starting points for different deployments.  Option files that are created this way may have any name you choose, however if you do not specify an extension the default of .INI is used.

•	Edit Data Options.  Clicking Edit Data Options will display a tabbed dialog box from which you can change the processing options.

•	View Data Options. Clicking View Data Options will display a tabbed dialog box from which you can view the processing options.  No changes may be made.

•	Edit Display Options.  Select the velocity reference and the ship track ship position source.

 See Also

 File Naming Conventions

Setting Up Data Options


Options Menu - Edit Data Options

Click Options, Edit Data Options to display a tabbed dialog box from which you can change the program options.  Clicking OK or Apply on the Edit Data Options dialog box causes VmDas to do a consistency check and save the new settings as the current data options if no errors are found (see Error Messages).

Communications

ADCP Setup

Recording

Transforms

Averaging

Data Screening

Users Exits

Simulated Inputs


Program Options - Communications Setup

When you click the Communications tab in the Program Options dialog box, the following communications settings are displayed and may be changed to match the communication parameters to those of the device you have connected to the computer.

The section labeled Select Item to Set has several radio buttons.  Select one of these buttons to choose which input/output you want to configure.

The section labeled Set Parameters Here allows you to enable or disable the selected input/output, and configure the serial port or network port that will be used for that input/output.  Click the checkbox to enable or disable the port for the selected item, then set the port parameters as desired and click the Set button to apply the new configuration.  Your new settings will be reflected in the Current Settings section after the Set button is clicked.

The section labeled Current Settings shows which inputs/outputs are currently enabled, and what their current port configurations are.

The term Ensemble-Output refers to sending ASCII or Binary formatted ADCP data ensembles out a serial port to a receiving device.  The receiving device could be another program or a dumb terminal.  Selecting the Binary-Formatted Ensemble Output will send a copy of the current Secondary Averaging Interval (see Averaging Tab) to the computer selected in binary format.

The Set Ensemble Output Configuration Here box lets you select the following for the ASCII-formatted Ensemble Output only.

•	Data Select - Lets you select between single-ping beam data, single-ping transformed data, or averaged data as the output source.

•	Data Type Switches - Select the type of data to send to the ensemble-out device during data collection.  Check the appropriate checkbox for each type of data you want sent to the ASCII ensemble-out port.

•	Velocity Ref - Lets you select the reference velocity to subtract from the profile output.  None causes raw profile velocity data without ADCP motion removed to be output.  Water Current Profile Layer sets the reference velocity to the average of the user-defined bin range in the "Profile Layer" column, and causes the reference velocity to be subtracted from the profile before data output.  Bottom Track sets bottom track as the reference velocity, and causes the reference velocity to be subtracted from the profile before output.  Other choices use navigational data.

•	Output Start/End Bin - Lets you select the portion of the ADCP profile (depth cell range) to send to the ASCII ensemble-out port.

•	Profile Layer Start/End Bin - Lets you select the bin (depth cell) range for the Water Current Profile Layer velocity reference.

	NOTE. If the start and end bins are out of range (e.g., the ADCP ensemble contains 40 bins, and you set the Output Start Bin = 1 and the Output End Bin = 50), VmDas automatically adjusts the output bin range to the ADCP ensemble (i.e., Output End Bin = 40).
If the Speed Log Output box is selected and enabled, the Set Speed Log Output Configuration Here section lets you select the following parameters for the speed log output only.

•	Data Select - Lets you select between STA Short-term avg Earth or LTA Long-term avg Earth as the output source.

•	Water Reference Layer Source - Lets you select the reference velocity to subtract from the profile output.  Water Current Profile Layer sets the reference velocity to the average of the user-defined bin range in the "Profile Layer" column, and causes the reference velocity to be subtracted from the profile before data output.  Bottom Track Water Mass Reference Layer sets bottom track as the reference velocity, and causes the reference velocity to be subtracted from the profile before output.

•	Start/End Bin - Lets you select the bin (depth cell) range for the Water Current Profile Layer velocity reference.


Program Options - ADCP Setup

Use this dialog box to setup the ADCP.  Select either Use Options to set the ADCP commands on this tab or select Use File to use a command file.

Ensemble Time is set on this tab for both Use Options and Use File.  Select the Set time between ensembles button to specify a ping interval (see Table below).  Select the Ping as fast as possible button to let the processing and I/O time dictate the ping rate.

Recommended Minimum Ensemble Time

Frequency (kHz)	With Bottom Track (sec)	Without Bottom Track (sec)
38	4	2
75	2	1
150	1	1
300	Select Ping as Fast as possible
600
1200
To set the ADCP commands using this dialog box, select the Use Options button.

•	Select the Set Profile Parameters box in the Water Current Profile section to set the following parameters; Number of Bins (WN), Bin Size (WS), Blank Distance (WF), and Transducer Depth (ED).

•	Select the Set Processing Mode box to switch between high and low resolution modes.

•	Select the Set BT on/off box to enable or disable bottom track pings (BP1) and set the maximum search range (BX command).

•	Select the Heading Sensor Set Sensor Type box in this section to switch between using the ADCP's internal sensor or an external analog gyro (synchro/stepper) (EZ command).

•	Select the Tilt Sensor Set Sensor Type box in this section to switch between using the ADCP's internal sensor or an external analog gyro (synchro) (EZ command).  When this box is not checked, the default ADCP setup will be used.

To set the ADCP commands using a command file, select the Use File button.  Enter the name of an ADCP command file in the Command File box, or click the Browse button to navigate to a file using a File Open dialog box.  This should be a text file with one ADCP command per line.  The contents of this file will be sent to the ADCP during initialization.


Program Options - Recording

The Recording property page allows you to set deployment name and the path to where the data files are recorded, and has the following fields:

Deployment Files

•	Name:  Enter a name that identifies your deployment.  This name will be used as part of the filename for each file that is part of this deployment.

•	Starting Number: Normally, you do not need to enter anything here, as it is handled automatically by the software.  This deployment number is used to identify the specific data collection run, and also becomes part of the filename of each data file recorded for the deployment.  If you do not enter a deployment number, the software will automatically assign one for each deployment.

•	Maximum File Size: Enter the desired maximum file size.  Each file type in your deployment will be limited to the specified size.  Each file has a sequence number as part of the filename, and as each recorded file reaches the specified size limit, the sequence number will be incremented and a new file started.

Output Directories

•	Primary Path: Enter the Primary Path where the raw, intermediate, and processed data files are to be stored.  Clicking the Browse button to the right of the Primary Path edit box will allow you to browse your computer to select a folder to record to.  You will be presented with a Choose Directory dialog box, which will have the default path of C:\RDI\ADCP selected.  Select the primary path (note the directory must already exist) and click OK.

•	Duel Output Directories: Check the Duel Output Directories box to create two copies of the raw data files and to allow a backup path to be entered.  If this box is not checked, only the Primary Path is enabled.

Enter the Backup Path where optional backup copies of raw data and option files are stored.  These files are not used for data processing.  They are made available in case the primary files are lost.  If the backup copies are needed, copy them to the primary directory and reprocess them to create intermediate and processed data files.


Program Options - Transforms

Heading Source

Select the ADCP radio button to have the software get heading data from the ADCP leader (internal compass or external synchro/stepper analog gyro).  Otherwise, select the radio button for the NMEA message type that you wish to decode heading data from, or select the Fixed Heading radio button and enter a fixed heading value to use for the processing.  Heading data from the selected source will be written into the ADCP variable leader in the ENX, STA, and LTA data files.

Tilt Source

Select ADCP to have the software get tilt data from the ADCP leader data.  Select NMEA to have the software get tilt data from the $PRDID string on the NMEA port, or select Fixed Tilts to enter fixed values for pitch and roll to use for processing.

Heading Correction

Click the Enable checkbox to enable if heading correction is desired.  Enter magnetic offsets such as magnetic variation in the EV edit box.  Enter transducer compass alignment offsets in the EA edit box.

Tilt Correction

In the Tilt Correction box, click the Enable checkbox if tilt correction is desired.  Enter the transducer heading alignment offset in the EA edit box.  Enter transducer pitch and roll alignment offsets in the EJ and EI edit boxes.


Program Options - Averaging

The Averaging property page allows you to set the ensemble averaging period and reference layer averaging properties, and has the following fields:

Temporal Averaging

•	First Time Interval (STA): Enter the short-term averaging.  Use the short-term average to get more frequent updates for a data quality check.

•	Second Time Interval (LTA): Enter the long-term averaging period. Use the long-term average to get you’re intended results.

Profile Ping Normalization Reference Layer

•	Enable: Click this checkbox to turn on or off the reference layer averaging feature. Reference layer averaging does not affect profile data that is 100% good, but improves the quality of the data near the end of the profile where the percent good is lower.

•	Start Bin: Enter the bin number at the start of the desired reference layer.

•	End Bin: Enter the bin number at the end of the desired reference layer.


Program Options - Data Screening

Click the checkboxes for the data screening options you wish to enable.  When a box is checked, its associated edit box becomes enabled, and you may enter a threshold value for screening the data.

For RSSI (amplitude), Correlation, and Percent Good screening, the threshold value represents a minimum allowed value.  For example, if you set the RSSI threshold to 35 counts, then any beam with an RSSI value below 35 counts will be discarded and not used in the processed data.  RSSI and correlation screening for each beam are performed on the raw data.  Percent good screening is performed on the averaged data.

For Error Velocity and Vertical Velocity screening, the threshold value represents a maximum allowed value.  For example, if you set the Error Velocity threshold to 1500 mm/s, then any transformed ensemble that has an error velocity greater than 1500 mm/s will be discarded and not used in the processed data.  Error Velocity and Vertical Velocity screening are performed on the transformed data, before averaging.

For Fish screening (also known as false-target detection), the threshold used for bottom track has a different meaning than that used for the water track ping or the profile ping.  In screening water data, the amplitudes of all the beams are compared, and if the amplitude of the weakest beam differs from the amplitude of the strongest beam by more than the specified number of counts (i.e. the threshold value), then the weaker beam is discarded.  The process is repeated with the remaining beams until either the test passes with three or more good beams, or more than one beam has been marked bad, in which case the profile bin is discarded.

In fish screening bottom track data, the depths of all four beams are compared.  If the depth of the shallowest beam is less than the average depth of the remaining beams by more than the specified percentage (i.e. the threshold value), then the shallowest beam is discarded.  This process is repeated until either the test passes with three or more good beams, or more than one beam has been marked bad, in which case the measurement is discarded.

Check the box labeled Mark Data Bad Below Bottom to have the software mark bad all profile bins that fall below the sea bottom.  The formula is LastGoodBin = (ShallowestBeam) * (COS (BeamAngle)) + (1BinLength).

	NOTE. The ADCP has its’ own internal thresholds, and setting thresholds on this page that are lower than those used by the ADCP will have no effect.  Also, while it is possible for advanced users to modify the ADCP command file to disable some of the internal thresholds, this practice is not recommended, as the ADCP internal thresholds are factory set for optimum performance.


Program Options - User Exits

User exits are hooks at various points in the processing where the user can modify the data with an external program.  The external user application needs to be written so that it will keep trying to look for the appropriate file names, which will not exist until VmDas creates them some time after starting the program.  It then needs to monitor the file size to determine when new data is available, and it has to observe the same file size limits specified for VmDas and automatically advance to the next file in the sequence when the size limit is reached.

This property page has the following controls:

WinAdcp Application

•	Launch WinAdcp: Click this checkbox to have VmDas automatically start the WinADCP application in monitor mode when data collection is started.  When in monitor mode, WinADCP will periodically refresh its displays from the data recorded by VmDas, and will allow you to view time series and contour graphs of the data.  From the WinADCP application menu, you can exit monitor mode to change the WinADCP setup, then reenter monitor mode to continue the data updates.  The WinADCP application must be installed on the computer for this option to work.

•	WinADCP Path: Enter the WinADCP program file name in this box, including the entire path for the directory in which it resides.  VmDas uses this information to find the WinADCP application.  Alternatively, you may click the Browse button to navigate using the File Open dialog.

•	Data File to Open: Select which type of data to view with WinADCP.  Choose from single-ping beam data, single-ping screened beam data, single-ping Earth data, short-term averaged data, or long-term averaged data.  Once data collection has started, you can use the WinADCP application menu to open a different file type if desired.  Just remember to exit monitor mode in order to make the change, then reenter monitor mode to continue the automatic data refreshing.

•	Refresh Interval (sec): Enter the number of seconds that WinADCP should wait between screen refreshes.

External Raw ADCP Data Screening

•	Enable: Click the External Raw ADCP Data Screening checkbox to give an external user-supplied program access to the raw ADCP data before the initial screening.  The user-supplied program is expected to read raw ADCP ensemble data from the .ENR file and write the modified ensembles to an .ENJ file.  This occurs before VmDas performs its data screening (does not bypass it), and if additional screening by VmDas is desired, it may be enabled.

External Raw Nav Data Screening

•	Enable: Click the External Raw Nav Data Screening checkbox to give an external user-supplied program access to the raw NMEA data.  Normally the VmDas NMEA data screening logic reads data from the .N1R/N2R raw NMEA data file, screens the data and averages the data between ADCP time stamps, then writes the averaged data out in binary format to a .NMS file.  When this user exit option is enabled, the user-supplied program is expected to read data from the .N1R/N2R files, and write the modified data to a .N1J or N2J text file with the same NMEA format.  The VmDas NMEA data screening and averaging functions will then read the NMEA data from the .N1J (or N2J) file instead of the .N1R (or N2R) file.


Program Options - Simulated Inputs

Use the simulated data files to help learn how to use VmDas or to test the User Exits.

	NOTE. Enabling the simulated data will automatically disable the serial port communications setting for the corresponding items on the communication setup tab


Options Menu - Edit Display Options

Click Options, Edit Display Options to display a tabbed dialog box from which you can change the display options.  Click the Reference tab to select the display units, or the velocity reference to use for profiles.  Click the Ship Track tab to select the ship position source and the profile bins to use for the current stick plots.

Reference

Ship Track


Display Options - Reference

When you click the Reference tab in the Display Options dialog box, the following display units and velocity reference settings are displayed and may be changed.

Velocity Reference - Choose between None, Bottom Track, Bottom Track Water Mass Reference Layer, Water Current Profile Layer, Delta Position, Speed, and Speed/Dir Made Good.

•	Bottom Track Water Mass Reference Layer refers to the water reference layer output that some ADCP instruments output along with the bottom track data.

•	Water Current Profile Layer sets the reference velocity to the user defined bin rage (Start/End Bin).

•	Delta Position calculates a reference velocity as delta position divided by delta time, where the position data is obtained from the NMEA GGA message.  The position used in the calculation is the last GGA position received in each ADCP data interval.

•	Speed calculates a reference velocity from speed and direction, obtained from the NMEA VTG message, by resolving them into East and North components.

•	Speed/Dir Made Good calculates a reference velocity from speed-made-good and direction-made-good, which are in turn calculated from the averages of position and time, as received in the NMEA GGA messages, for each ADCP data interval.

Velocity Units - Choose between millimeters per second, meters per second, knots, or feet per second for all displayed velocity data.

Depth Units - Choose between meters, centimeters, or feet for all displayed depth data.


Display Options - Ship Track

When you click the Ship Track tab in the Display Options dialog box, the following settings are displayed and may be changed.

Ship Position Source - For each ship track plot, choose between NAV, BT, Water Mass Reference Layer (WMRL), and Current Profile Layer.

•	If NAV is selected, the last NMEA GGA position received in each ADCP data interval is used to calculate the ship track, and can be displayed as a Lat/Lon position, or as a distance from the initial position.  The initial position is the first valid GGA position received that also is the last position received within an ADCP data interval.

•	If Bottom Track (BT) is selected, the ADCP bottom track velocity data are integrated to calculate a ship track.

•	If BT Water Mass Reference Layer is selected, the ADCP water reference layer data are integrated to calculate a ship track.

•	If Water Current Profile Layer is selected, the layer velocity is defined to be the average of the range of profile bins selected as the velocity reference, and that velocity is integrated to calculate a ship track.

•	If Bottom Track (BT), BT Water Mass Reference Layer, or Water Current Profile Layer is selected, the ship track is shown as a distance from the initial position, where the initial position is 0,0.

Chart units for distances - Choose between Kilometers, Meters, Miles (statute), or Feet.

Current Sticks - Choose to display up to three current sticks at each ship position, and select which profile bin each stick represents.


Control Menu

Use the Control menu to start or stop data collection.


Chart Menu

The Chart Menu selects what charts are displayed.  Shortcuts for this menu are on the Graph Tool Bar.

The first three options select the data to be displayed - Raw, Short term averaged, or long Term averaged.  A new selection among these three hides all the visible windows and replaces them with a new set.

Raw data is ensembles as received from the ADCP.  It is in beam coordinates.  NAV and ship track data cannot be obtained from raw data.

STA and LTA data shows processed ensembles.  Depending on the data options, ensembles may have had one or more of the following items done.

•	NAV data merged into the ensemble,

•	Been bin mapped,

•	Had bad data filled in with 3 beam solutions,

•	Been transformed to Earth coordinates (always done)

•	Had ship velocity removed from the profile data,

•	Been screened for bad data, or

•	Been averaged (always done).

NAV and Ship track data can be viewed.

The second group of options shows or hides windows that display different portions of the ensemble.  Units are converted for display as configured in Options, Edit Display Options.

The third group of options shows or hides windows containing graphs and tables.  These may be resized as desired.

When a window is made visible, it sometimes does not show up because it has size zero, or its neighbors take up all the room.  Use the Resize button to make all windows visible.

The last group of options changes the appearance of windows.

Resize adjusts the size of the windows so that all are visible and take up approximately the same amount of room.

The Legends button shows or hides legends in various windows.  This is useful if there is not enough room to see the data.

	NOTE. When collecting data, the Ship Track display is not available when viewing the raw velocity.  Switch to the Short or Long Average Velocity displays to view the Ship Track.


Window Menu

Menu Item	Description
New	Opens a new document window.
Cascade	Arranges all open windows so that the title bar for all files is visible.
Tile	Arranges all open windows so that each file is visible.
Arrange Icons	Arranges all icons at the bottom of the window.
Open Windows	Lists all open documents.  A check mark indicates the open window.


Collect Data

1.	On the File menu, click Collect Data.

2.	Set up the options.  This means one (or more) of the following.

•	Use the same options as were used last time.  For this, nothing need be done in this step.

•	Load options saved in a file.  Click Options, Load.  Choose a file (INI, VMO, and VMP files contain options).

•	View and edit options.  Click Options, Edit Data Options.  Set the options as desired.  Click OK or Apply to set them as the current options.  See Create a User Option File for help.

3.	On the Control menu, click GO.

	NOTE. The VmDas program uses an INI file to store all of your settings for Communication Setup, Recording file name and path, ADCP Configuration File path, VmDas coordinate transformation setup, VmDas screening and filtering, and VmDas User Exit screens.  Once you have setup these items, save the INI file.  Use a file name that you will remember.  This is done with the Save As key under the Options Menu. When data collection starts, the current options are saved in a VMO file.  The file name matches the data file names.   When data reprocessing starts, the options used for reprocessing are stored in a VMP file.  The file name matches the reprocessed data file names.
 See Also

Setting up Data Options


Reprocess Data

a.	Start VmDas.  Click File, Reprocess Data.

b.	Browse and locate the *.vmo file for the data you wish to reprocess.  Click Open (see File Naming Conventions).

c.	Click Options, Edit Data Options.

d.	Click the Recording tab (see Recording Tab).

•	Enter the Name of the data set you wish to reprocess.

•	Enter the Number of the data set you wish to reprocess.

e.	Click the Transforms tab (see Transforms Tab).

•	The Heading Source needs to be selected for the input you intend to use.  If you will use the gyro heading being fed into the ADCP real time then leave it selected to ADCP.

•	The Tilt Source needs to be selected for the input you intend to use.

f.	Click the Averaging tab (see Averaging Tab).

•	Enter a time value for the First Time Interval. This is the Short Term Average (which will become file name with a *.sta extension).  Enter a time value for the Second Time Interval. This is the Long Term Average (which will become file name with a *.lta extension).  You can set these to any times you like and they may even be the same.

g.	Click the Data Screening tab.

•	You are able to screen data based on the items in this menu and the thresholds you decide.  This screening will affect what is displayed on the screen and what data is recorded to the *.sta and *.lta files.  The original raw data will be unaffected by what is setup here.

h.	Save the User Option file by clicking Options, Save As.

•	Enter a file name for the *.ini file that you have just created.

i.	To start data reprocessing, on the Control menu, click Go.

 See Also

File Naming Conventions


Playback Data

1.	On the File menu, click Playback Data.

2.	Select the data file to view.  VmDas will automatically search for *.enr, *.enx, *.sta, and *.lta files.  You may also enter *.* to search for all files, or enter any filename as long as the file contains valid ADCP data in the proper format.  See File Naming Conventions for details of what each file extension means.

3.	On the Playback Tool Bar, click Play.

	NOTE. The VmDas program uses an INI file to store all of your settings for Communication Setup, Recording file name and path, ADCP Configuration File path, VmDas coordinate transformation setup, VmDas screening and filtering, and VmDas User Exit screens.  Once you have setup these items, save the INI file.  Use a file name that you will remember.  This is done with the Save As key under the Options Menu.
 See Also

Setting up Data Options


Setup the ADCP

1.	On the File menu, click Collect Data.

2.	On the Options menu, Click Edit Data Options.  If you have created a User Option File, click Load.

3.	On the Communications tab, select the ADCP Input button.  Click the Enable Serial checkbox, and set the ADCP's COM port, baud rate, parity, data bits, and stop bits.  Click the Set button to apply the new configuration, and verify that the parameters you have selected appear in the Current Settings section.  Set the baud rate to the ADCP's wakeup baud rate, i.e. that used by the ADCP after a <BREAK> is sent (typically 9600).  The baud rate used for actual data collection may be specified in the ADCP command file by using a CB command.  Configure other desired inputs and outputs in a similar way.

4.	On the ADCP Setup tab, select the desired settings.  Select either Use Options to set the ADCP commands on this tab or select Use File to use a command file.

5.	On the ADCP Setup tab, set the Ensemble Time.  Select the Set time between ensembles button to specify a ping interval (see table below).  Select the Ping as fast as possible button to let the processing and I/O time dictate the ping rate.

Table  1:	Ensemble Time

Frequency (kHz)	With Bottom Track (sec)	Without Bottom Track (sec)
38	4	2
75	2	1
150	1	1
300	Select Ping as Fast as possible
600
1200
 See Also

Command Files

VmDas ADCP Initialization

	NOTE. The VmDas program uses an INI file to store all of your settings for Communication Setup, Recording file name and path, ADCP Configuration File path, VmDas coordinate transformation setup, VmDas screening and filtering, and VmDas User Exit screens.  Once you have setup these items, save the INI file.  Use a file name that you will remember.  This is done with the Save As key under the Options Menu.


Setup a NMEA Port

1.	On the File menu, click Collect Data.

2.	On the Options menu, click Edit Data Options.  If you have created a User Option File, click Load.

3.	On the Communications tab, select the Navigation Input (NMEA) button.  Click the Enable Serial checkbox, and set the COM port, baud rate, parity, data bits, and stop bits.  Click the Set button to apply the new configuration, and verify that the parameters you have selected appear in the Current Settings section.  If a second NMEA input port is desired for heading and tilt inputs, select the RPH Input (NMEA) button, and enable and setup the COM port in a similar way.  When both ports are enabled, GPS position and speed messages will only be processed from the Navigation input port, while heading and tilt messages are processed only from the RPH input port.  If only the Navigation input port is enabled, all NMEA messages will be processed from that port.

 See Also

VmDas and NMEA Data


Create a User Option File

1.	On the File menu, click Collect Data.

2.	On the Options menu, click Edit Data Options.  Set the desired options.

3.	On the Options menu, click Save As.  The options may be saved to a file for later retrieval.  You may wish to save several sets of options, to be used as starting points for different deployments.  Option files that are created this way may have any name you choose, however if you do not specify an extension the default of .INI is used.

 See Also

Command Files

Setting Up Data Options

VmDas ADCP Initialization

	NOTE. The VmDas program uses an INI file to store all of your settings for Communication Setup, Recording file name and path, ADCP Configuration File path, VmDas coordinate transformation setup, VmDas screening and filtering, and VmDas User Exit screens.  Once you have setup these items, save the INI file.  Use a file name that you will remember.  This is done with the Save As key under the Options Menu.


Record Data

1.	On the File menu, click Collect Data.

2.	On the Options menu, click Edit Data Options.

3.	Click the Recording Tab.

4.	Choose a Name for the deployment.

5.	Select the Path and Maximum File Size for the Recording Information.  See File Naming Conventions for details on the file sequence number, which is incremented when the specified maximum file size is reached.

	NOTE. The VmDas program uses an INI file to store all of your settings for Communication Setup, Recording file name and path, ADCP Configuration File path, VmDas coordinate transformation setup, VmDas screening and filtering, and VmDas User Exit screens.  Once you have setup these items, save the INI file.  Use a file name that you will remember.  This is done with the Save As key under the Options Menu.


Screen Data

1.	On the File menu, click Collect Data.

2.	On the Options menu, click Edit Data Options.

3.	Click the Data Screening Tab.  Select the desired options.

	NOTE. The VmDas program uses an INI file to store all of your settings for Communication Setup, Recording file name and path, ADCP Configuration File path, VmDas coordinate transformation setup, VmDas screening and filtering, and VmDas User Exit screens.  Once you have setup these items, save the INI file.  Use a file name that you will remember.  This is done with the Save As key under the Options Menu.


Set the Averaging Method

1.	On the File menu, click Collect Data.

2.	On the Options menu, click Edit Data Options.

3.	Click the Averaging Tab.  Select the desired options.

	NOTE. The VmDas program uses an INI file to store all of your settings for Communication Setup, Recording file name and path, ADCP Configuration File path, VmDas coordinate transformation setup, VmDas screening and filtering, and VmDas User Exit screens.  Once you have setup these items, save the INI file.  Use a file name that you will remember.  This is done with the Save As key under the Options Menu.
 See Also

Set a Reference Layer


Set a Reference Layer

There are five types of reference layers available.

Profile Ping Normalization Reference Layer

Bottom Track Water Mass Reference Layer

Water Current Profile Layer

Bottom Track Water Mass Reference Layer - Ship Track

Water Current Profile Layer - Ship Track

Profile Ping Normalization Reference Layer

1.	On the File menu, click Collect Data.

2.	On the Options menu, click Edit Data Options.

3.	Click the Averaging Tab.

4.	Enable the Profile Ping Normalization Reference Layer checkbox to turn on or off the reference layer averaging feature.

5.	Set the Start Bin and the End Bin to be used as the "meaning" reference layer.

Using a Reference Layer helps removes biases caused from accelerations on platforms or ships.  Noise, introduced by platform accelerations, can overwhelm the velocity measurements.  We have found keeping track of velocities relative to a stable reference layer can improve the data in such Cases.  As an example, suppose we have a four-ping ensemble.  Because signal amplitude falls off with distance, the deeper bins will have more of the data flagged as bad.  Bad data are not included in averages.  As a result, the average profile might be erratic when the percent good is low.  In the data below, a constant profile is assumed for bins 20 to 22, yet the average of good data shows it to be sheared.

	Ping #
	1	2	3	4
Bin	Velocities	AVG #1
1	5	6	18	19	12
2	3	4	16	17	10
↓	↓	↓	↓	↓	↓
20	bad	bad	bad	16	16
21	2	bad	bad	bad	2
22	bad	bad	15	bad	15
Bins 1 and 2 have all good data; and in this example, are used as the reference layer.  Averaging these bins for each ping gives a reference velocity of:

       Ping #:             1   2    3    4

Layer Average:             4   5   17   18

Mean Layer Average = 11 : (4 + 5 + 17 + 18) / 4

When the layer average is subtracted from the velocities within each ping the data become:

Bin	Velocities	Average #1	Average #2
1	1	1	1	1	1	12
2	-1	-1	-1	-1	-1	10
↓	↓	↓	↓	↓	↓	↓
20	bad	bad	bad	-2	-2	9
21	-2	bad	bad	bad	-2	9
22	bad	bad	-2	bad	-2	9
The last column, Average #2, gives a better picture of the velocities at the deeper bins than the algorithm for obtaining Average #1.

	NOTE. When using a reference layer, use bins in the upper part of the profile and bins that have a high percent good (more than 85%).  If you select a bad bin range, the averages will be wrong and data will be bad.

Bottom Track Water Mass Reference Layer

The Bottom Track Water Mass Reference Layer is located in the Edit Display Options, Reference tab.  This layer is only available from the BroadBand and WorkHorse ADCPs.  This data is collected and recorded by these ADCPs only when the BK command is set to collect Water Mass Layer and the BL command has been set to select the section of water that will be measured to record a speed through the water.  This speed through the water is stored in a separate location in the bottom track data.  Enabling this feature will reference all of the profile velocities to this recorded speed through the water.  This feature is typically enabled only when the bottom track is not possible and navigation data will not be collected.

Water Current Profile Layer

The Water Current Profile Layer is located in the Edit Display Options, Reference tab.  This layer is setup as a totally independent water layer to reference the averaged data in either the STA or LTA files.  The user should set this to a number of consecutive bins that will represent only the vessel motion (i.e. that has as little real water motion as possible).  The start and stop bins selected will all be averaged together to produce a single speed through the water.  This speed through the water is stored in a separate location in computer RAM.  If not used it is discarded and not recorded.  Enabling this feature will reference all of the profile velocities to this recorded speed through the water.  This feature is only used when there is no bottom track or navigation data available.

Bottom Track Water Mass Reference Layer - Ship Track

The Bottom Track Water Mass Reference Layer is located in the Edit Display Options, Ship Track tab.  This layer is only available from the BroadBand and WorkHorse ADCPs.  This data is collected and recorded by these ADCPs only when the BK command is set to collect Water Mass Layer and the BL command has been set to select the water depths to collect a speed through the water.  The delta speed and delta time between consecutive averaging intervals is then used to calculate a distance traveled and direction and plotted on the Ship Track graph.  This feature is typically enabled only when the bottom track is not possible and navigation data will not be collected.

Water Current Profile Layer – Ship Track

The Water Current Profile Layer is located in the Edit Display Options, Ship Track tab.  This layer is setup as a totally independent water layer to reference the averaged data in either the STA or LTA files.  The user should set this to a number of consecutive bins that will represent only the vessel motion (i.e. that has as little real water motion as possible).  The start and stop bins selected will all be averaged together to produce a single speed through the water.

The delta speed and delta time between consecutive averaging intervals is then used to calculate a distance traveled and direction and plotted on the Ship Track graph.  This feature is typically enabled only when there is no bottom track or navigation data available.


Change Chart Properties

Whenever you right-click on any profile plot, a pop-up property menu is displayed from which you can change many attributes for the profile graphs.

Profile Plots

•	Manually set the ranges for the plot axes?  Select the Axes tab.  On the right, click the tab that contains the attribute that you want to change for the axis, in this case Scale.  On the left, click on the label of the axis you want to change.  On the right, enter new numbers for Max and Min and click OK or Apply.

•	Put symbol markers on my data points?  Select the Chart Styles tab.  On the right, click the Symbol Style tab.  On the left, click on the label for the series you want to mark (i.e. Style1, Style2, etc.).  Click the box labeled Shape and select a shape for the symbol.  Click the box labeled Size to set the size of the symbol.  Click the Name box to set the desired color for the symbol.  Click OK or Apply.  Note that from the Chart Styles tab you can also set the line width, pattern, and color of each line in the graph.

Ship Track Plots

•	Manually set the ranges for the plot axes?  Right-click the ship track plot and click on Properties.  Click the Plot Area tab.  Manually enter values for Left, Right, Top, and Bottom.  On this property page you may also turn on or off the grid lines and set their style, and change the aspect ratio method.  Click OK.

	NOTE. The VmDas program uses an INI file to store all of your settings for Communication Setup, Recording file name and path, ADCP Configuration File path, VmDas coordinate transformation setup, VmDas screening and filtering, and VmDas User Exit screens.  Once you have setup these items, save the INI file.  Use a file name that you will remember.  This is done with the Save As key under the Options Menu.


Output Ensemble Data to a Serial or Ethernet Port

Long term averaged ensemble data is output in the RDI standard binary ensemble (PD0) output format.

1.	On the File menu, click Collect Data.

2.	On the Options menu, click Edit Data Options.  If you have created a User Option File, click Load.

3.	On the Communications tab, select the Long Term Avg Data Output button.

4.	To output the data to a serial port, click the Enable Serial box, and configure the serial port parameters, then click the Set button to apply the new configuration.  Verify that the new settings appear in the Current Settings section.

5.	To output the data to a network port, click the Enable Network box, and set the Local IP Port number.  VmDas will be the server, and the local machine's IP address will be used automatically.  After data collection has started, a remote client can request a TCP/IP connection using the specified port number and the IP address of the computer running VmDas to receive the data.

	NOTE. The VmDas program uses an INI file to store all of your settings for Communication Setup, Recording file name and path, ADCP Configuration File path, VmDas coordinate transformation setup, VmDas screening and filtering, and VmDas User Exit screens.  Once you have setup these items, save the INI file.  Use a file name that you will remember.  This is done with the Save As key under the Options Menu.


Output Speed Log Data to a Serial or Ethernet Port

Speed log data output consists of the NMEA VBW and DBT messages, and is calculated from the short-term averaged data.  Use the following procedure to enable speed log data output.

1.	On the File menu, click Collect Data.

2.	If you have created a User Option File, on the Options menu, click Load.  Choose your file and click OK.

3.	On the Options menu, click Edit Data Options.

4.	On the Communications tab, select the Speed Log Output button.  In the Select Item to Set box, choose Speed Log Output.

5.	To output the data to a serial port, click the Enable Serial box, and configure the serial port parameters, then click the Set button to apply the new configuration.  Verify that the new settings appear in the Current Settings section.  Make sure the On box is checked.

6.	To output the data to a network port, first choose an IP port number.  VmDas uses 5434 by default, which should be fine for most users.  Remote clients will need to know the IP port number and the IP address of the computer running VmDas to receive data.

Click the Enable Network box, and set the Local IP Port number.  VmDas will use the local machine's IP address automatically.  Click the Set button to apply the new configuration.  Verify that the new settings appear in the Current Settings section.  Make sure the On box is checked.

After data collection has started, a remote client can request a TCP/IP connection using the specified port number and the IP address of the computer running VmDas to receive the data.

Tips for Advanced Users

Advanced users can get more control over the Speed Log data by using the following tips.

Speed Log data will only be output if the serial and/or Ethernet port(s) are configured for that purpose.

•	If a port is configured for speed log output, speed log output will be produced.  If there is no data or the data is invalid, the NMEA messages will indicate that they contain invalid data.

The data will only be received if something is listening to the port(s).  This requires a cable and usually a second computer.

•	One device may listen to a serial port.  When sending speed log data out an Ethernet port, VmDas is a TCP/IP server and supports up to 100 clients.

Speed log data is calculated from ensembles in the short-term averaged data.  There will be one VBW and one DBT message for each short-term average ensemble.

•	To control the time between messages, on the Options menu, click Edit Data Options, choose the Averaging tab, and change the First Time Interval.

The speed log will contain valid data only if the ADCP is configured to produce the data.  The data comes from the bottom track field in the short-term average data.

•	The VBW message will contain water speed data only if the ADCP has been configured to produce water reference layer data.  The BK and BL commands are useful here.

•	The VBW message will contain bottom speed data only if the ADCP has been configured to produce bottom velocity data.  The BP command is useful here.

•	The DBT message will contain depth data only if the ADCP has been configured to produce bottom track range data.  This data is present whenever bottom track data is being produced, and the bottom is in range.  The BP and BX commands are useful here.

•	The Options on the ADCP Setup tab can override the BP and BX commands in a command file.  To use the ADCP defaults for these commands or to set them from a command file, the Set BT On/Off box must be unchecked.


Output ASCII Ensemble Data to a Serial or Ethernet Port

ASCII ensemble data output has the same format as the "Ensemble Out" feature in the RDI DOS TRANSECT software.

1.	On the File menu, click Collect Data.

2.	On the Options menu, click Edit Data Options.  If you have created a User Option File, click Load.

3.	On the Communications tab, select the Ensemble Output (ASCII) button.

4.	To output the data to a serial port, click the Enable Serial box, and configure the serial port parameters, then click the Set button to apply the new configuration.  Verify that the new settings appear in the Current Settings section.

5.	To output the data to a network port, click the Enable Network box, and set the Local IP Port number.  VmDas will be the server, and the local machine's IP address will be used automatically.  After data collection has started, a remote client can request a TCP/IP connection using the specified port number and the IP address of the computer running VmDas to receive the data.

6.	In the Set Ensemble Output Configuration Here section, check the box for each type of data within the ensemble that you want output.  In the Data Select box, select the desired data source.  In the Velocity Ref box, select the desired reference velocity to be applied to the profile data.  In the Output column, select the desired depth cell range to output by setting the Start Bin and End Bin.   If Water Current Profile Layer is selected as the velocity reference, then in the Profile Layer column, select the desired depth cell range to use as the reference velocity by setting the Start Bin and End Bin.


ASCII Ensemble Output Format

This section explains the format of the data sent from the ADCP to the ensemble-out serial device after each ADCP ensemble.  Sending ensemble-out data is an option in the Options, Program Options, Communications Setup menu.  You set the communications protocol and select the data to send to the ensemble-out device through the Communication options.  Ensemble-out data are in ASCII with fixed field lengths.

The transmission of ensemble-out data occurs after VmDas finishes recording ADCP data after each ADCP ensemble.  The next page shows a sample ensemble-out data transmission.  The first byte in the ensemble-out data stream is a START OF TEXT (^B) byte.  This byte is also known as STX, ASCII character 2, or Control-B (^B).  VmDas always sends the STX byte when data transmission begins.  After the STX byte, VmDas sends a 2-byte flag that represents the data type that will be sent next.  See Ensemble-Out Data Format Description for an explanation of all the flags and associated fields used in the ensemble-out data stream.


Sample Ensemble-Out Data Transmission

^B 0     96 91 10  2  9 54 30<CR/LF>

 1   4   4   1   4     0     0     0     0<CR/LF>

       6   -1375     -38      33<CR/LF>

     -23   -1453      -2      -3<CR/LF>

      85   -1465     -44     -52<CR/LF>

      49   -1464     -76      30<CR/LF>

 2   4 4   1   4<CR/LF>

     128     119     133     142<CR/LF>

     129     103     120     110<CR/LF>

     117     133     141     142<CR/LF>

     134     141     134     127<CR/LF>

 3   4 4   1   4<CR/LF>

     167     155     159     168<CR/LF>

     162     151     149     161<CR/LF>

     154     145     137     154<CR/LF>

     146     138     130     152<CR/LF>

 4   4 4   1   4<CR/LF>

     100     100     100     100<CR/LF>

     100     100     100     100<CR/LF>

     100     100     100     100<CR/LF>

     100     100     100     100<CR/LF>

 5   4 4   1   4<CR/LF>

 -32678 -32678 -32678 -32678<CR/LF>

 -32678 -32678 -32678 -32678<CR/LF>

 -32678 -32678 -32678 -32678<CR/LF>

 -32678 -32678 -32678 -32678<CR/LF>

 6  0  0  0  10  100  25  25  2  0  0  0  0  5000  25  0  0  0  2500  0  0  0  35  1480<CR/LF>

 7  2  4<CR/LF>

     -33   -1414     -62  -32768<CR/LF>

     833     878       0     783<CR/LF>

 8  13856000 -324937000    634   4786    425    470<CR/LF>

^C^B 0     97 91 10  2  9 55 00<CR/LF>

 1   4   4   1   4     0     0     0     0<CR/LF>

       7   -1373     -40      29<CR/LF>

     -19   -1456      -1      -4<CR/LF>

      89   -1462     -46     -51<CR/LF>

      48   -1466     -73      34<CR/LF>

 2   4 4   1   4<CR/LF>

     121     123     130     139<CR/LF>

     127     100     122     114<CR/LF>

     130     135     140     141<CR/LF>

     130     140     138     129<CR/LF>

 3   4 4   1   4<CR/LF>

     167     156     153     166<CR/LF>

     163     155     147     162<CR/LF>

     156     143     138     153<CR/LF>

     147     140     132     151<CR/LF>

 4   4 4   1   4<CR/LF>

     100     100     100     100<CR/LF>

     100     100     100     100<CR/LF>

     100     100     100     100<CR/LF>

     100     100     100     100<CR/LF>

 5   4 4   1   4<CR/LF>

 -32678 -32678 -32678 -32678<CR/LF>

 -32678 -32678 -32678 -32678<CR/LF>

 -32678 -32678 -32678 -32678<CR/LF>

 -32678 -32678 -32678 -32678<CR/LF>

 6  0  0  0  10  100  25  25  2  0  0  0  0  5000  25  0  0  0  2500  0  0  0  35  1480<CR/LF>

 7  2  4<CR/LF>

     -31   -1420     -58    -768<CR/LF>

     840     862     845     850<CR/LF>

 8  13857000 -324938000    634   4787    426    471<CR/LF>

^C


Ensemble-Out Data Format Description

Each ASCII ensemble-out data stream begins with a Start Of Text code <^B> and ends with an End Of Text code <^C>.  VmDas identifies each data type with an integer flag.  At least one space separates the fields within each data type.  Each line of data ends with a carriage return <CR> and line feed <LF> sequence.

Flag	Field	Description
0	1	Flag 0 identifies the ensemble number just processed by the ADCP and the date/time that data collection for the ensemble began.  The fields identified by this flag contain:
	2	The ensemble number just processed by the ADCP.
	3	The year data collection began for this ensemble.
	4	The month data collection began for this ensemble.
	5	The day data collection began for this ensemble.
	6	The hour data collection began for this ensemble.
	7	The minute data collection began for this ensemble.
	8	The second data collection began for this ensemble.
1	1	Flag 1 marks the start of velocity data.  VmDas scales the water current velocity data in millimeters per second (mm/s).  A value of -32768 indicates bad or missing data.  VmDas lists water profile velocity data in columns beginning with the next output line.  The fields identified by this flag contain:
	2	The number of bins selected for transmission.
	3	The number of beams used by the ADCP to collect the data.  This value corresponds to the number of COLUMNS of data beginning with the next output line.
	4	The first bin selected for transmission in the Communication options.
	5	The last bin selected for transmission in the Communication options.
	6	The east(+)/west(-) water-current velocity of the reference layer if VELOCITY REF is set to BOTTOM or MEAN (Communication options).
	7	The north(+)/south(-) water-current velocity of the reference layer if VELOCITY REF is set to BOTTOM or MEAN (Communication options).
	8	The up(+)/down(-) water-current velocity of the reference layer if VELOCITY REF is set to BOTTOM or MEAN (Communication options).
	9	The error velocity of the reference layer if VELOCITY REF is set to BOTTOM or MEAN (Communication options).
	10	Column data for the east(+)/west(-) water-current velocities for the bin range selected in the Communication options.
	11	Column data for the north(+)/south(-) water-current velocities for the bin range selected in the Communication options.
	12	Column data for the up(+)/down(-) water-current velocities for the bin range selected in the Communication options.
	13	Column data for the error velocities for the bin range selected in the Communication options.
2	1	Flag 2 marks the start of correlation magnitude data.  A value of -32768 indicates missing data.  VmDas lists correlation data in columns beginning with the next output line.  The fields identified by this flag contain:
	2	The number of bins selected for transmission.
	3	The number of beams used by the ADCP to collect the data.  This value corresponds to the number of COLUMNS of data beginning with the next output line.
	4	The first bin selected for transmission in the Communication options.
	5	The last bin selected for transmission in the Communication options.
	6	Column data for the Beam #1 correlation data for the bin range selected in the Communication options.
	7	Column data for the Beam #2 correlation data for the bin range selected in the Communication options.
	8	Column data for the Beam #3 correlation data for the bin range selected in the Communication options.
	9	Column data for the Beam #4 correlation data for the bin range selected in the Communication options.
3	1	Flag 3 marks the start of echo intensity data.  VmDas scales echo intensity data in ADCP counts.  A value of -32768 indicates missing data.  VmDas lists echo intensity data in columns beginning with the next output line.  The fields identified by this flag contain:
	2	The number of bins selected for transmission.
	3	The number of beams used by the ADCP to collect the data.  This value corresponds to the number of COLUMNS of data beginning with the next output line.
	4	The first bin selected for transmission in the Communication options.
	5	The last bin selected for transmission in the Communication options.
	6	Column data for the Beam #1 echo intensity data for the bin range selected in the Communication options.
	7	Column data for the Beam #2 echo intensity data for the bin range selected in the Communication options.
	8	Column data for the Beam #3 echo intensity data for the bin range selected in the Communication options.
	9	Column data for the Beam #4 echo intensity data for the bin range selected in the Communication options.
4	1	Flag 4 marks the start of percent-good data.  VmDas scales percent-good data in percentage points (0-99).  A value of -32768 indicates bad or missing data.  VmDas lists percent-good data in columns beginning with the next output line.  The fields identified by this flag contain:
	2	The number of bins selected for transmission.
	3	The number of beams used by the ADCP to collect the data.  This value corresponds to the number of COLUMNS of data beginning with the next output line.
	4	The first bin selected for transmission in the Communication options.
	5	The last bin selected for transmission in the Communication options.
	6	Column data for the Beam #1 percent-good data for the bin range selected in the Communication options.
	7	Column data for the Beam #2 percent-good data for the bin range selected in the Communication options.
	8	Column data for the Beam #3 percent-good data for the bin range selected in the Communication options.
	9	Column data for the Beam #4 percent-good data for the bin range selected in the Communication options.
5	1	Flag 5 marks the start of status data.  See the BroadBand ADCP Technical Manual for information on how status data are scaled.  A value of -32768 indicates bad or missing data.  VmDas lists status data in columns beginning with the next output line.  The fields identified by this flag contain:
	2	The number of bins selected for transmission.
	3	The number of beams used by the ADCP to collect the data.  This value corresponds to the number of COLUMNS of data beginning with the next output line.
	4	The first bin selected for transmission in the Communication options.
	5	The last bin selected for transmission in the Communication options.
	6	Column data for the Beam #1 status data for the bin range selected in the Communication options.
	7	Column data for the Beam #2 status data for the bin range selected in the Communication options.
	8	Column data for the Beam #3 status data for the bin range selected in the Communication options.
	9	Column data for the Beam #4 status data for the bin range selected in the Communication options.
6	1	Flag 6 marks the start of leader data.  The fields identified by this flag contain:
	2	The minutes portion of the time between pings as set by the TP-command.
	3	The seconds portion of the time between pings as set by the TP-command.
	4	The hundredths of seconds portion of the time between pings as set by the TP-command.
	5	The number of pings per ensemble as set by the WP-command.
	6	The number of depth cells (bins) as set by the WN-command.
	7	The depth cell (bin) length in centimeters as set by the WS-command.
	8	The blank after transmit in centimeters as set by the WF-command.
	9	The ADCP profiling mode as set by the WM-command.
	10	The Built-In Test result code from the last ADCP ensemble.
	11	The sensor source as set by the EZ-command.
	12	The available sensors as read by the PS1-command.
	13	The low correlation threshold as set by the WC-command.
	14	The error velocity threshold in mm/s as set by the WE-command.
	15	The percent-good minimum as set by the WG-command.
	16	The average ADCP pitch (tilt 1, x-axis) angle in hundredths of degrees (e.g., -70 = -0.7°) during the ADCP data ensemble.  This value comes from the internal pendulums or external gyrocompass.
	17	The average ADCP roll (tilt 2, y-axis) angle in hundredths of degrees (e.g., 430 = 4.3°) during the ADCP data ensemble.  This value comes from the internal pendulums or external gyrocompass.
	18	The average ADCP heading angle in hundredths of degrees (e.g., 7707 = 77.07°) during the ADCP data ensemble.  This value comes from the internal flux-gate compass or external gyrocompass.
	19	The average water temperature in hundredths of degrees C (e.g., 1711 = 17.11°C) at the transducer head during the ADCP data ensemble.
	20	The standard deviation (accuracy) of heading data in degrees during the ADCP data ensemble from the compass.
	21	The standard deviation (accuracy) of pitch (tilt 1, x-axis) data in tenths of degrees (e.g., 15 = 1.5°) during the ADCP data ensemble from the pendulum/gyrocompass.
	22	The standard deviation (accuracy) of roll (tilt 2, y-axis) data in tenths of degrees (e.g., 5 = 0.5°) during the ADCP data ensemble from the pendulum/gyrocompass.
	23	The salinity value in parts per thousand from the ADCP (ES or EZ-command).
	24	The speed of sound value in m/s from the ADCP (EC or EZ-command).
7	1	Flag 7 marks the start of bottom-track data.  A value of -32768 indicates bad or missing velocity data.  A zero indicates bad or missing beam range data.  The fields identified by this flag contain:
	2	The number of lines of bottom-track data sent.  This value corresponds to the number of ROWS of data beginning with the next output line.
	3	The number of beams used by the ADCP to collect the bottom-track data.  This value corresponds to the number of COLUMNS of data beginning with the next output line.
	4	The east(+)/west(-) bottom-track velocity in mm/s.
	5	The north(+)/south(-) bottom-track velocity in mm/s.
	6	The up(+)/down(-) bottom-track velocity in mm/s.
	7	The bottom-track error velocity in mm/s.
	8	The Beam #1 range in meters to the bottom/surface, excluding ADCP depth.
	9	The Beam #2 range in meters to the bottom/surface, excluding ADCP depth.
	10	The Beam #3 range in meters to the bottom/surface, excluding ADCP depth.
	11	The Beam #4 range in meters to the bottom/surface, excluding ADCP depth.
8	1	Flag 8 marks the start of external navigation data collected by VmDas.  A value of 2147483647 indicates bad or missing latitude/longitude data.  A value of -32768 indicates bad or missing data for all other fields. The fields identified by this flag contain:
	2	Navigation device latitude in thousandths of seconds.
	3	Navigation device longitude in thousandths of seconds (-324937000 = W90°15'37").
	4	Navigation device speed in mm/s.
	5	Navigation device course in hundredths of degrees (4786 = 47.86°).
	6	The east(+)/west(-) navigation device velocity in mm/s.
	7	The north(+)/south(-) navigation device velocity in mm/s.


VmDas and NMEA Data

VmDas can read in, decode, and record ensembles from an ADCP and NMEA data from some specific (i.e. GPS and attitude sensors) external devices.  VmDas stores this data in both raw data files (leaving all original data input in its original format) and in a combined, averaged data file.  VmDas uses all of this data to create different displays for the user.

As well as being able to input NMEA strings to VmDas, it can produce NMEA output strings of speed log information.  The speed log contains VDVBW (ground/water speed), VDDBT (depth), VDHDT (Heading True), and VDZDA (UTC Time and Date).


General NMEA Data Format

Much of the following information was abstracted from the NMEA 0183 standard, version 2.30.  Discussion is limited to NMEA strings that VmDas understands.  All NMEA messages are ASCII strings with the general format as shown in the table below.

The NMEA 0183 standard specifies how strings are to be transmitted through a serial port.  The NMEA 2000 standard is being developed for improved performance.  VmDas does not yet support the NMEA 2000 standard.  Never the less, VmDas can accept NMEA 0183 data at speeds that should be comparable to the new standard.

Table  1:	NMEA Data Format

String	Description
$	HEX 24 – start of sentence
<Address field>	Approved address fields consist of five characters defined by the NMEA 0183 standard. The first two characters are the TALKER identifier. The next three characters identify the message. The proprietary address field consists of the proprietary character "P" followed by a three-character Manufacturer’s Mnemonic Code, used to identify the TALKER issuing a proprietary sentence, and any additional characters as required.  (VmDas accepts any two valid characters as the TALKER identifier in approved address fields.) (RD Instruments uses the RDI Mnemonic Code for proprietary address fields, even though it is assigned to Radar Devices. VmDas also uses the unassigned ADC Mnemonic Code for its own data files).
[","<data field>] . . . [","<data field>]	Zero or more data fields, each preceded by a "," (comma, HEX 2C) delimiter. The number of data fields and their content are determined by the address field. Data fields may be null (contain no characters). The comma delimiter is required even when a data field is null.
["*"checksum field ]	Checksum The checksum is the 8-bit exclusive OR (no start or stop bits) of all characters in the sentence, including "," delimiters, between but not including the "$" and the "*" delimiters. The hexadecimal value of the most significant and least significant 4 its of the result are converted to two ASCII characters (0-9, A-F) for transmission, The most significant character is transmitted first.
<CR><LF>	HEX 0D 0A – End of sentence
Data Fields

Detailed descriptions of each message VmDas uses are provided below.  These descriptions use format specifiers for data fields.  The meanings of some of the format specifiers are listed here.

Table  2:	Data Fields

Field	Description
hhmmss.ss	A mixed fixed/variable length time field. 2 fixed digits of hours, 2 fixed digits of minutes, 2 fixed digits of seconds, and a variable number of digits for decimal-fraction of seconds.  Leading zeros are always included for hours, minutes, and seconds to maintain fixed length. The decimal point and associated decimal-fraction are optional if full resolution is not required.
x.x	A variable length integer or floating numeric field with optional leading and trailing zeros. The decimal point and associated decimal-fraction are optional if full resolution is not required.  (example: 73.10 = 73.1 = 073.1 = 73). A negative sign "-" (HEX 2D) is the first character if the value is negative. The sign is omitted if value is positive.
hh	A fixed length HEX number. The most significant digit is on the left.
a aa aaa etc.	A fixed length alpha field. This type of field contains a fixed number of upper-case or lower-case alpha characters.  In all strings recognized by VmDas, all these fields have a length of one character.
x xx xxx etc.	A fixed length numeric field. This type of field contains a fixed number of numeric characters (0 - 9).  Some fields allow negative values. If needed, a negative sign "-" (HEX 2D) is the first character, increasing the length of the field by one. The sign is omitted if value is positive.
A	A single character status field.  A = Yes, Data Valid, or Warning Flag Clear.  V = No, Data Invalid, or Warning Flag Set.
Other single letter	A single character field with fixed content. The letter is the content of the data field.  When used below, the HEX value of the letter is also given.
	NOTE. Spaces should not be used anywhere in these NMEA strings.  Spaces may only be used in variable text fields.  No NMEA string recognized by VmDas uses a variable text field. If data is not available or unreliable, a null field is used.  A null field is a field with no characters in it.  When a null field is present, two delimiters (comma, *, or <CR>) are found side by side.  A null field does NOT contain the zero character (HEX 30), the ASCII NUL character (HEX 00), a space (HEX 20), or other character. VmDas ignores some fields when it decodes messages. The fields it reads are explained in NMEA Input.


Further Information About NMEA Strings

Users who need full details about NMEA data strings can find more information in the NMEA 0183 standard, available from the National Marine Electronics Association at the following address.

P O Box 3435  New Bern, NC  28564-3435	252-638-2626 (voice) 252-638-4885 (fax)	nmea@coastalnet.com (e-mail)  http://www.nmea.org/ (web site)


NMEA Input

The messages VmDas reads are standard GGA, HDG, HDT, VTG, PASHR, PASHR,ATT, PASHR,AT2 messages, and a proprietary PRDID message.

VmDas data files may contain the proprietary PADCP message.  VmDas generates this message and uses it internally.  It is expected to be of no use externally, and is not transmitted to other devices.  It is stored in the *.N1R and *.N2R data files.

NMEA input is not required.  VmDas can just collect ensembles from an ADCP.  If NMEA data is to be used, options must be set in the Communications tab to configure the serial ports to read the data (up to two serial ports are available).

Each enabled port logs all data that arrives, whether it processes the data or not.  The NAV port logs raw data to a file with a N1R extension.  The RPH port logs data to a file with a N2R extension.  The ports are not interchangeable.  When two ports read data, it is always possible for similar data to arrive at both ports.  VmDas must decide what to keep.  VmDas does this by not processing messages that arrive at the wrong port.

The NAV port is intended for decoding either or both GPS data and Attitude Sensor data (Roll, Pitch, and Heading).  If GPS only or GPS and Attitude data are available on one port, then use the NAV port.

The RPH port is intended for decoding only Attitude Sensor data (Roll, Pitch, and Heading data).  If the GPS data and Attitude data are on separate ports then use the NAV port for decoding the GPS input and the RPH port for decoding the sensor data.


GGA - Global Positioning System Fix Data

Time, position, and fix related data for a GPS receiver.

$__GGA,hhmmss.ss,llll.ll,a,yyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh<CR><LF>

Table  3:	GGA NMEA Format

Field	Description
1*	hhmmss.ss	UTC of position - 2 fixed digits of hours, 2 fixed digits of minutes, 2 fixed digits of seconds, and a variable number of digits for decimal-fraction of seconds. Leading zeros are always included for hours, minutes, and seconds to maintain fixed length. The decimal point and associated decimal-fraction are optional if full resolution is not required.
2*	llll.ll	Latitude - Two fixed digits of degrees, 2 fixed digits of minutes, and a variable number of digits for decimal-fraction of minutes. Leading zeros are always included for degrees and minutes to maintain fixed length of the first 4 chars. The decimal point and associated decimal-fraction are optional if full resolution is not required.
3*	a	Latitude hemisphere. N or S.
4*	yyyy.yy	Longitude - 3 fixed digits of degrees, 2 fixed digits of minutes, and a variable number of digits for decimal-fraction of minutes. Leading zeros are always included for degrees and minutes to maintain fixed length of the first 5 chars. The decimal point and associated decimal-fraction are optional if full resolution is not required.
5*	a	Longitude hemisphere. E or W.
6	x	GPS Quality indicator:   0 = fix not available or invalid 1 = GPS fix 2 = Differential GPS fix  3 = GPS PPS Mode, fix valid 4 = Real Time Kinematic. System used in RTK mode with fixed integers 5 = Float RTK. Satellite system used in RTK mode, floating integers 6 = Estimated (dead reckoning) mode 7 = Manual Input Mode 8 = Simulator mode This shall not be a null field.
7	xx	Number of satellites in use, 00 – 12, may be different from the number in view
8	x.x	Horizontal dilution of precision
9	x.x	Antenna altitude above/below mean-sea-level (geoid)
10	M	HEX 4D. Units of antenna altitude, meters
11	x.x	Geoidal separation. The difference between the WGS-84 earth ellipsoid and mean-sea-level (geoid), "-" = mean-sea-level below ellipsoid.
12	M	HEX 4D. Units of geoidal separation, meters
13	x.x	Age of Differential GPS data. Time in seconds since last SC104 Type 1 or 9 update, null field when DGPS is not used.
14	xxxx	Differential reference station ID, 0000-1023
* This field is used by VmDas.


HDG - Heading, Deviation, and Variation

Heading (magnetic sensor reading), which if corrected for deviation, will produce Magnetic heading, which if offset by variation will provide True heading.

$__HDG,x.x,x.x,a,x.x,a*hh<CR><LF>

Table  4:	HDG NMEA Format

Field	Description
1*	x.x	Magnetic sensor heading, degrees
2*	x.x	Magnetic deviation, degrees  This field and the following direction field are null if deviation is unknown.
3*	a	Direction of magnetic deviation. E or W.
4*	x.x	Magnetic variation, degrees This field and the following direction field are null if variation is unknown.
5*	a	Direction of magnetic variation. E or W.
* This field is used by VmDas.

To obtain Magnetic Heading:

a.	Add Easterly deviation (E) to Magnetic Sensor Reading.

b.	Subtract Westerly deviation (W) from Magnetic Sensor Reading.

To obtain True Heading:

a.	Add Easterly variation (E) to Magnetic Heading.

b.	Subtract Westerly variation (W) from Magnetic Heading.


HDT - Heading - True

Actual vessel heading in degrees True produced by any device or system producing true heading.

$__HDT,x.x,T *hh<CR><LF>

Table  5:	HDT NMEA Format

Field	Description
1*	x.x	Heading, degrees True
2	T	HEX 54
* This field is used by VmDas.


VTG - Track Made Good and Ground Speed

The actual track made good and speed relative to the ground.

$__VTG,x.x,T,x.x,M,x.x,N,x.x,K,a*hh<CR><LF>

Table  6:	VTG NMEA Format

Field	Description
1*	x.x	Track, degrees true
2	T	HEX 54
3*	x.x	Track, degrees magnetic
4	M	HEX 4D
5	x.x	Speed, knots
6	N	HEX 4E
7*	x.x	Speed, km/hr
8	K	HEX 4B
9	a	Mode indicator A=Autonomous mode D=Differential mode E=Estimated (dead reckoning) mode M=Manual input mode S=Simulator mode N=Data not valid This shall not be a null field.
* This field is used by VmDas.


PASHR - Heading, Pitch, and Roll

Heading, pitch, and roll from multiple GPS receivers

$PASHR,hhmmss.ssss,xxx.xx,T,RRR.RR,PPP.PP,HHH.HH,a.aaa,b.bbb,c.ccc,d,e,*hh<CR><LF>

Table  7:	PASHR NMEA Format

Field	Description
1	hhmmss.ssss	UTC time of data
2*	xxx.xx	True vessel heading 0 – 359.99 degrees
3	T	True T
4*	RRR.RR	Roll -90.00 to +90.00 degrees, +for starboard down
5*	PPP.PP	Pitch -90.00 to +90.00 degrees, + for bow up
6	HHH.HH	Heave -99.00 to +99.00 meters
7	a.aaa	Accurracy roll, 0 to 9.999 degrees
8	b.bbb	Accurracy pitch, 0 to 9.999 degrees
9	c.ccc	Accurracy heading, 0 to 9.999 degrees
10	d	Flag Accur hdg, 0=No aiding, 1=GPS aiding, 2=GPS and GAMS aiding
11*	e	Flag: IMU, 0=Satisfactory, 1=IMU out
* This field is used by VmDas


PASHR,ATT - Global Positioning System Attitude Data

Heading, pitch, and roll from multiple GPS receivers

$PASHR,ATT, ,ssssss.s,hhh.hh,ppp.pp,rrr.rr,mmm.mm,bbb.bb,r<CR><LF>

Table  8:	PASHR,ATT NMEA Format

Field	Description
1	ATT	Identifies this as a PASHR,ATT string
2	ssssss.s	GPS receive time, seconds of week
3*	hhh.hh	Heading, degrees
4*	ppp.pp	Pitch, degrees, + for starboard down
5*	rrr.rr	Roll, degrees, + for bow up.
6	mmm.mm	Baseline rms error (BRMS), meters
7	bbb.bb	Measurement rem error (MRMS), meters
8*	r	Altitude reset flag, 0=good attitude, 1=bad attitude or rough estimate
* This field is used by VmDas


PASHR,AT2 - Global Positioning System Attitude Data

Heading, pitch, and roll from multiple GPS receivers

$PASHR,AT2,ssssss.s,hhh.hh,ppp.pp,rrr.rr,mmm.mm,bbb.bb,r,l,ddd,P<CR><LF>

Table  9:	PASHR,AT2 NMEA Format

Field	Description
1	AT2	Identifies this as a PASHR,AT2 string
2	ssssss.s	GPS receive time, seconds of week
3*	hhh.hh	Heading, degrees
4*	ppp.pp	Pitch, degrees, + for starboard down
5*	rrr.rr	Roll, degrees, + for bow up.
6	mmm.mm	Baseline rms error (BRMS), meters
7	bbb.bb	Measurement rem error (MRMS), meters
8*	r	Altitude reset flag, 0=good attitude, 1=bad attitude or rough estimate
9	l	Last state, 0=No search in progress, >0=Start from last completed state
10	ddd	Each digit is number of double differences for V12, V13, V14
11	P	PDOP
* This field is used by VmDas


$PRDID

RDI defines a proprietary NMEA message that contains heading, pitch, and roll data.

$PRDID,x.x,x.x,x.x,*hh<CR><LF>

Table  10:	PRDID NMEA Format

Field	Description
1*	x.x	Vessel Pitch, degrees. + = bow up.
2*	x.x	Vessel Roll, degrees. + = port up.
3*	x.x	Vessel Heading, degrees True
* This field is used by VmDas.

	NOTE.  $PRDID pitch and roll are not the standard gimbaled pitch and roll.  They are simple tilts of the mast.  In most cases, the difference is small.  VmDas ignores the difference.


NMEA Output

VmDas writes strings formatted as described in the NMEA 0183 standard to a serial port, a TCP/IP port, or both.

	NOTE. The NMEA 0183 standard specifies how strings are to be transmitted through a serial port.  The standard does not specify network I/O.  VmDas uses data formatted as for NMEA 0183 output for its TCP/IP output.

The NMEA 0183 standard specifies how strings are to be transmitted through a serial port.  The standard does not specify network I/O.

$VDDBT - Depth Below Transducer

$VDHDT - Heading - True

$VDVBW - Dual Ground/Water Speed

$VDZDA - Time and Date


$VDDBT - Depth Below Transducer

Water depth referenced to the transducer

$VDDBT,x.x,f,x.x,M,x.x,F*hh<CR><LF>

Table  11:	VDDBT NMEA Format

Field	Description
1	x.x	Water depth, feet
2	f	HEX 66
3	x.x	Water depth, Meters
4	M	HEX 4D
5	x.x	Water depth, Fathoms
6	F	HEX 46


$VDHDT - Heading - True

Actual vessel heading in degrees True.

$VDHDT,x.x,T*hh<CR><LF>

Table  12:	VDHDT NMEA Format

Field	Description
1	x.x	Heading, degrees True.
2	T	HEX 54


$VDVBW - Dual Ground/Water Speed

Water referenced and ground referenced speed data.

$VDVBW,x.x,x.x,A,x.x,x.x,A*hh<CR><LF>

Table  13:	VDVBW NMEA Format

Field	Description
1	x.x	Longitudinal water speed, knots. "-" = astern.
2	x.x	Transverse water speed, knots. "-" = port.
3	A	Status: water speed, A = Data valid, V = Data invalid.
4	x.x	Longitudinal ground speed, knots. "-" = astern.
5	x.x	Transverse ground speed, knots. "-" = port.
6	A	Status: ground speed, A = Data valid, V = Data invalid.


$VDZDA - Time and Date

UTC, day, month, year, and local time zone.

$VDZDA,hhmmss.ss,xx,xx,xxxx,xx,xx*hh<CR><LF>

Table  14:	VDZDA NMEA Format

Field	Description
1	hhmmss.ss	UTC
2	xx	Day, 01 – 31.
3	xx	Month, 01 – 12.
4	xxxx	Year
5	xx	Local time zone description. –13 to 13 hours.  The number of whole hours added to local time to obtain GMT. Zone description is negative for East longitudes.
6	xx	Local time zone minutes description. –59 to 59 minutes. The number of whole minutes added to local time to obtain GMT. This permits a finer resolution time zone description than is possible using hours alone.  The sign is the same as the hour time zone description. VmDas produces a null field here.


Internal NMEA Messages

RDI defines a proprietary NMEA message for VmDas internal use only that contains VmDas internal timing information.

$PADCP


$PADCP

This message is stored in VmDas N1R and N2R extension data files as a time stamp.  It is not transmitted over any I/O port.

$PADCP, ens,yyyy,xx,xx,xx,xx,ss.ss,x.x*hh<CR><LF>

Table  15:	PADCP NMEA Format

Field	Description
1	ens	Ensemble number. A variable length integer numeric field without leading zeros.
2	yyyy	Year, 4 digits, PC local time.
3	xx	Month, 01 – 12, PC local time.
4	xx	Day, 01 – 31, PC local time.
5	xx	Hours, 00 – 23, PC local time.
6	xx	Minutes, 00 – 59, PC local time.
7	ss.ss	Seconds and hundredths, 00.00 – 59.99, PC local time.
8	x.x	PC clock offset from UTC in seconds. –86399.99 to 86399.99.  VmDas keeps track of the date/time of GGA messages by recording the date/time according to the PC clock when the message is read, and calculating the offset between the times in the PC clock and the GGA message. If the clock offset is added to a GGA message time, the result is a local PC time, The offset corrects for the difference in time zone between local PC time and GGA time (UTC) and any errors because the two clocks are not perfectly synchronized. If no GGA messages have been read, this field is null.
	NOTE. This message is used to synchronize ensemble data and NMEA data. The year, month, day, hour, minute, and second fields describe the time that a ping command was sent to the ADCP. The ens field contains the number of the ensemble generated by the ping command.


Command Files

A command file allows an advanced user more flexibility in setting up an ADCP than can be had with the ADCP Setup Options, on the ADCP Setup tab.  The drawback is that the user must know what commands he wants to use.  It is possible to make mistakes with a command file.  Some of the problems that can arise are not obvious.  Some commands are not allowed by VmDas.

Refer to the ADCP Technical Manual for more information on these direct ADCP commands.  See VmDas ADCP Initialization for details on how the ADCP commands are generated and sent to the ADCP.


Command File Basics

Characters and lines

A command file should contain only ASCII characters.  Each line should end with a CR.

Command files should be created with an editor that does not insert hidden characters.  Notepad is good.  Word or Word Perfect is not a good choice, although an experienced user can make them work.

Every line in a command file should be a command, a comment, or blank.

Lines with a ‘;’ (semicolon) in the first column are comments.  They are often used to explain the commands to a person reading the file.  VmDas ignores comments.  Commands are case insensitive.

Files

VmDas comes with example command files for several different ADCPs.  They can be used as is, or copied and edited to make customer command files.  Filenames with TXT extensions are preferred for command files, though any extension can be used.


How VmDas uses Command Files

Command files can be used for multiple deployments.  Whenever data collection starts, VmDas copies the current options into a VMO file.  This includes the path and filename of the command file, if any.  The command file itself is not copied into the VMO file.

VmDas creates a log file (extension LOG) whenever data collection is started.  This file contains the commands sent to the ADCP, the replies returned by the ADCP, and some auxiliary information generated by VmDas.

VmDas sends commands in the command file to the ADCP one line at a time, and reads a response after each line.  If VmDas does not receive a response or the response is an error message, initialization fails.  VmDas will start initialization over again.  VmDas will keep trying until it succeeds, or is stopped.

Automatically Generated Commands

Any commands that VmDas automatically generates are sent after commands from the command file.  If a command file contains any of these commands, the automatically generated commands overwrite the commands from the command file.

Commands from the options dialog

If a command file is being used, no commands are generated from the options dialog.  If any options dialog commands are desired, they should be added to the command file.

Ensemble time

The ensemble time option is different from the other options on the ADCP Setup tab of the options dialog.  No command is generated by this option.  The ensemble time option must always be set, regardless of what the other options on the ADCP Setup tab are.

VmDas always sets the ADCP to single ping mode.  This means that when a CS command is sent to the ADCP, it pings once and waits for another command.  Timing is controlled by VmDas.  The ensemble time option tells VmDas the desired time between ensembles.  When VmDas decides it is time to collect an ensemble, VmDas issues a CS command.  Then VmDas waits until it is time to collect another ensemble and issues another CS command.

	NOTE.  The command files do not need commands to set the time between ensembles such as TP, TE, TC, or TB.  They have no effect in single ping mode.  The example files contain such commands because they may be used as the basis for an ADCP configuration when VmDas is not used.

BAUD rate

It is sometimes desirable to make the ADCP communicate at a higher BAUD rate while collecting ensembles.  This is done with a CB command.

It is also desirable that an ADCP always wake up with its serial port in a known configuration.  VmDas strongly recommends that this be 9600 BAUD, 8 data bits, no parity, and 1 stop bit.

This presents two potential problems.  VmDas handles both these problems automatically.

•	The ADCP must never store a new BAUD rate to nonvolatile memory, which would make it become the wakeup BAUD rate.  Without safeguards, a CK command in the command file could cause this.

•	If the ADCP changes its serial port settings, the PC must also change to match.

If VmDas detects a CB command in the command file, it stores the command and does not send it immediately. After all other commands have been sent, VmDas sends the stored CB command, and sets the PC serial parameters to match.

	NOTE.  The CB command is delayed so that if the wakeup BAUD rate will be the one stored in nonvolatile memory.  If the command file contains a CB command, the BAUD rate set by the CB command will stay in effect after VmDas stops collecting data, but a break will restore the wakeup BAUD rate.
	NOTE. The ADCP serial parameters set on the Communications tab of the options dialog are the ADCP wakeup settings.  RDI strongly recommends these be 9600, 8, N, 1.

If a command file is being used and a higher BAUD rate is desired while collecting data, the only change needed is to add a CB command to the command file.  No options need be changed.

Ping command

The CS command starts the ADCP pinging.  VmDas controls all pinging directly.  If a CS command is in the command file, VmDas ignores it.

Sleep Command

The CZ command puts the ADCP to sleep.  VmDas requires the ADCP to stay awake and wait for commands from VmDas.  If a CZ command is in the command file, VmDas ignores it.

Bottom Track

Some WorkHorse ADCPs do not support bottom tracking.  The BP command will fail on those systems.  This is OK if the BP command is generated by the ADCP setup tab, but a failed command in the command file aborts startup and causes startup to begin again.  The BP command should be removed from the command file if this problem arises.


Creating a Command File

VmDas comes with example command files for several different ADCPs.  They can be used as is, or copied and edited to make customer command files.  To create your own command file, do the following.

a.	Open one of the default command files in NotePad or a similar type of text editor.

b.	On the File menu, click Save AS.  Give the command file a unique name.

c.	Edit the commands as needed.  Refer to the ADCP Technical Manual for detailed information on each command.  You may want to add commands, but do not delete any command.  The commands shown in the default command file are all required.

	NOTE.  Use the ADCP Setup tab to set the ADCP commands.  Select either Use Options to set the ADCP commands on this tab or select Use File to use a command file.   Ensemble Time must always be set on this tab.
	NOTE. The default command files have comments that explain what each command is used for.  It is a good idea to keep the comments and edit them when you make command changes.
	CAUTION.  In order for VmDas to perform correctly, your command file must use single ping (WP1, NP1, BP1) beam data (EX00000).  See VmDas ADCP Initialization for details on how commands are sent to the ADCP.


Sample Command File

The following shows the printout of the default command file OS38BBDEF.txt.

;--------------------------------------------------------------------------\

; ADCP Command File for use with VmDas software.

;

; ADCP type:     38 Khz Ocean Surveyor

; Setup name:    default

; Setup type:    High resolution, short range profile(broadband)

;

; NOTE:  Any line beginning with a semicolon in the first

;        column is treated as a comment and is ignored by

;        the VmDas software.

;

; NOTE:  This file is best viewed with a fixed-point font (eg. courier).

;--------------------------------------------------------------------------/

; Restore factory default settings in the ADCP

cr1

; set the data collection baud rate to 115200 bps,

; no parity, one stop bit, 8 data bits

; NOTE:  VmDas sends baud rate change command after all other commands in

; this file, so that it is not made permanent by a CK command.

cb811

; Set for broadband profile mode, single-ping ensembles,

; forty 24 meter bins, 16 meter blanking distance, 390 mm/s ambiguity vel

NP0

WP00001

WS2400

WF1600

WN040

WV390

; Enable single-ping bottom track,

; Set maximum bottom search depth to 2000 meters

BP001

BX20000

; Output velocity, correlation, echo intensity, percent good

WD111100000

; Two seconds between bottom and water pings

TP000200

; Four seconds between ensembles

; Since VmDas uses manual pinging, TE is ignored by the ADCP.

; You must set the time between ensemble in the VmDas ADCP Setup tab

TE00000400

; Set to calculate speed-of-sound, no depth sensor,

; External synchro heading sensor, use internal

; transducer temperature sensor

EZ1020001

; Output beam data (rotations are done in software)

EX00000

; Set transducer depth to zero

ED00000

; save this setup to non-volatile memory in the ADCP

CK

	NOTE. These files have been setup for shipboard use.  They can also be used for stationary systems (such as Oil Rig platforms) but you must first open the file (right click on file and select open) and modify the EZ command from EZ1020001 to EZ1111111.  This new setting will enable the use of the internal heading, pitch, and roll sensors.


VmDas ADCP Initialization

When VmDas collect mode starts, one part of the process is to initialize the ADCP.  VmDas sends commands to the ADCP.  The following sections explain how VmDas sends the commands to the ADCP.

Choosing Setup Parameters

Automatically Generated Commands

Commands and How They are Generated

Command Files

Detailed ADCP Initialization Procedure


Choosing Setup Parameters

When VmDas Collect mode starts, one part of the process is to initialize the ADCP.  Sending commands to the ADCP is a major part of the process.

Some commands are generated by VmDas from setup data taken from various tabs of the Edit User Options dialog box or they are read from a command file.  This can lead to conflicts and confusion.

Supported ADCPs

Exactly which commands must be sent depends on the type of ADCP being initialized.  VmDas currently recognizes the following types of ADCPs: Broadband (BB), Workhorse (WH), and Ocean Surveyor (OS).  If VmDas does not recognize the ADCP type but the data format is correct, it will display Unknown (UN).  An Unknown ADCP type may or may not work with VmDas.

	NOTE. For VmDas purposes, a Navigator is a BroadBand ADCP.

VmDas cannot read NarrowBand ADCP data.  An ensemble from a NarrowBand ADCP has a different structure than ensembles from a BroadBand ADCP.  This should not be confused with the narrow bandwidth output of an Ocean Surveyor.  An Ocean Surveyor in narrow bandwidth mode (WP0, NP1) produces ensembles with narrow bandwidth data using the BroadBand ensemble structure.  An Ocean Surveyor in broad bandwidth mode (WP1, NP0) produces ensembles with broad bandwidth data using the BroadBand structure.  Both of these modes are supported.

	NOTE.  An Ocean Surveyor in both broad bandwidth mode and narrow bandwidth modes at the same time (WP1, NP1) is not supported.  Only the broad bandwidth data will be displayed.


Using the ADCP Setup Options

VmDas presents an easy interface for making some setup choices in the ADCP Setup Options dialog.  Most of them are on the ADCP Setup tab.  The serial port settings are on the Communications tab.

The ADCP Setup tab options are used only to initialize the ADCP.  They do not have anything to do with how VmDas processes or displays data.  They only control what data the ADCP collects and makes available.

	NOTE. The options dialog does not completely control initialization.


Using a ADCP File Option

Advanced users can define a command file in the ADCP Setup tab for more flexibility in initializing the ADCP.

	NOTE. The command file does not completely control initialization.


Interactions

VmDas generates some required commands without input from the Edit User Options dialog or a command file.

Use the ADCP Setup tab to setup the ADCP.  Select either Use Options to set the ADCP commands on this tab or select Use File to use a command file.  Ensemble Time must always be set on this tab.

	NOTE. If a command is not sent to the ADCP through either the Use Options or Use File, the setting the ADCP had on wakeup are used.


Automatically Generated Commands

Some commands must be sent to the ADCP for proper functioning of VmDas.  VmDas always generates these commands.

Manual Pinging

Beam Coordinates

Magnetic Corrections


Manual Pinging

When VmDas needs more data, VmDas tells the ADCP to ping once.  VmDas generates a CF 0111x command, where x indicates that the last bit is unchanged from its current setting.  This bit controls the recorder.

This setup places the ADCP in a Manual Ensemble mode.  A Manual Ensemble mode means that VmDas will control the timing of ADCP ensembles and therefore the ADCP TE command is ignored.  VmDas sets up the ADCP for single ping Water Profile and single ping Bottom Track (if Bottom Track is required).  Because of this setting, the ADCP ensemble can be thought of as a ping and thus manual pinging.


Beam Coordinates

VmDas requires ensembles be in beam coordinates.  VmDas generates an EX00000 command.  This places the ADCP in Beam Coordinates.  With the ADCP in Beam Coordinates, VmDas is able to perform the transformations to Earth Coordinates.  The advantage of this is VmDas can interface with external Heading, Pitch, and Roll sensors and therefore it can be setup to use either the internal or the external input for this information.


Magnetic Corrections

VmDas corrects data for Magnetic Offset or Transducer Alignment Error offsets, using the Transforms tab of the options dialog.  The ADCP must not do the correction.  VmDas generates an EA0 and EB0 command (for an Ocean Surveyor, an EV0 command will be generated instead of the EB0 command).


Commands and How They are Generated

The user may specify commands with either the options dialog or a command file, but not both.  The options dialog presents an easy user interface that allows selecting commands good for most situations.  A command file allows an advanced user more flexibility in setting up an ADCP.

The ADCP Setup Options can generate some commands, but only generates the command if the proper check boxes are checked.  If the boxes are checked then the commands created will be sent.

If the ADCP File Option generates the commands, it is important to put them in the command file correctly.  Several default command files are provided with VmDas.  If you change or add commands refer, to your ADCP Technical Manual for proper command syntax.  Some of the problems that can arise are not obvious.  For example, since data is in beam coordinates, it is important not to average data in the ADCP unless the ADCP is in a fixed orientation.  This means that the WP command must be WP1 or in the case of the Ocean Surveyor, a NP1 command may be used.  The BP command must be BP0 to disable bottom tracking, or BP1 to enable it.

	CAUTION.  If a command generates an error in the ADCP, the rest of the command file will not be processed.  VmDas will warn the user and restart initialization.

The commands that can be generated by each check box in the ADCP Setup Options are listed below.

Set Profile Parameters

Set Processing Mode

Set BT On/Off

Heading/Tilt Sensor

Serial Port Setup


Set Profile Parameters

	NOTE. These commands are only generated if the Set Profile Parameters box is checked (see ADCP Setup tab).
•	For WorkHorse and BroadBand ADCPs, WN, WS, WF, and ED commands are generated.

•	For Ocean Surveyor ADCPs, NN, NS, NF, and ED commands are generated.

Data entered in the boxes on the options dialog is used to create the commands.  The option dialog asks that data be entered in meters.  VmDas converts the data to cm for the WS, WF, NS, and NF commands, and to decimeters for the ED command.

Box	Command
Number of Bins	WN or NN
Bin Size	WS or NS
Blank distance	WF or NF
Transducer Depth	ED


Set Processing Mode

	NOTE. These commands are only generated if the Set Processing Mode box is checked (see ADCP Setup tab).

If Hi-resolution (short range) option is selected,

•	For Workhorse ADCPs, WP1, WM1, WB0, and WV480 are generated.

•	For BroadBand ADCPs, WP1, WM1, WB0, and WV650 are generated.

•	For Ocean Surveyor ADCPs, NP0 and WP1 are generated.  This sets the Ocean Surveyor to Broad Bandwidth Profiling mode.

•	For all others, no commands are generated

If Low-resolution (long range) option is selected,

•	For Workhorse and BroadBand ADCPs, WP1, WM1, WB1, and WV330 are generated.

•	For Ocean Surveyor ADCPs, NP1 and WP0 are generated.  This sets the Ocean Surveyor to Narrow Bandwidth Profiling mode.

For all others, no commands are generated


Set BT On/Off

	NOTE. These commands are only generated if the Set BT On/Off box is checked (see ADCP Setup tab).

If Off is selected, a BP0 command is generated.  If On is selected, a BP1 command is generated and a BX command is generated from data in the Maximum Range control box.

	NOTE. Some Workhorse ADCPs do not support bottom tracking.  The BP command will fail on those Workhorses.  This is OK if the ADCP Setup tab generates the BP command, but a failed command in the command file aborts processing of the command file.  The BP command should be removed from the command file in this case.


Heading/Tilt Sensor

	NOTE. These commands are only generated if the Set Sensor Type box is checked (see ADCP setup tab).
The command below is generated if one or both of the Set Sensor Type check boxes are checked.  VmDas sends an EZ? command to the ADCP.  The reply tells VmDas the current EZ settings.  From this, and the options selected on the options dialog, VmDas constructs an EZ command to set the heading and/or tilt sensors.

As far as VmDas is concerned, the format of the command is EZxxHPRxx, where x means keep the current setting.

H means	if Heading Set Sensor Type	and
1	is checked	Internal sensor is selected
2	is checked	External gyro is selected
Keep the current setting	is not checked

and

P and R mean	if Tilt Set Sensor Type	and
1	is checked	Internal sensor is selected
2	is checked	External gyro is selected
Keep the current setting	is not checked


Serial Port Setup

The port settings on the Communications tab control only the PC serial port, not the ADCP serial port.  The PC serial port parameters must be set to match the settings the ADCP will use when it wakes up.

It is possible to change the ADCP serial port settings in a command file with a CB command.  VmDas will detect this command and hold it until all other command file commands are executed.  Then VmDas sends the CB command and makes the same change in the PC serial port.

This is done because the command file might include a CK command to store the ADCP current settings in non-volatile memory.  This makes sure that the CB command is done after any CK command.  The next time the ADCP wakes up, it will have the same serial port settings as before, and the current VmDas serial port options will still work.

	NOTE. Typically the ADCP internal serial port settings is set to 9600 Baud, no parity, 8 data bits, and 1 stop bit.


Detailed ADCP Initialization Procedure

In this section, the following abbreviations are used.

BB = Broadband or Navigator

WH = Workhorse,

OS = Ocean Surveyor,

UN = Unknown, any other type.

When data collection starts or an error occurs that causes the ADCP to be reinitialized, VmDas initializes the ADCP as follows.

a.	Open the serial port using the settings from the Communications tab.

b.	Send a break.

c.	Interpret the ADCP’s response to the break to determine what kind of ADCP is present.

d.	For OS, Initialize the ADCP time to the PC time with a TS command.

e.	If a command file is selected, copy it to the ADCP, one line at a time with the following caveats.  Write all commands and responses to a log file (*.LOG) on the hard disk.

•	Letters are converted to upper case.

•	Comments (lines starting with ;) are removed.

•	CS (Start Pinging) and CZ (Power Down) commands are not sent.

•	Baud rate commands (CB) are held until all other commands in the file have been sent

•	After each line, a check is done for an error message from the ADCP.  If an error is found, no further commands from the file are sent.  Initialization will start over.

•	Immediately after sending a CB command, change the PC serial port parameters to match the new ADCP parameters.

f.	For BB and WH, read the beam-to-instrument transformation matrix.  Write it to a log file (*.LOG) on the hard disk.

g.	Send commands from the ADCP Setup tab and the automatically generated and always sent commands (see below).  Each check box on the ADCP Setup tab enables choices to configure a particular set of commands.  If the check box is unchecked, the ADCP Setup tab will not generate the commands, and the current ADCP settings will be used.

Bottom Track

•	If the Set BT On/Off check box is unchecked, nothing is sent.

•	If Off is selected, BP0 is sent.

•	If On is selected, a BP1 command is generated and a BX command is generated from data in the Maximum Range control box.

Processing Mode

•	If the Set Processing Mode check box is unchecked, nothing is sent.

•	Different commands are sent to different types of ADCP, as shown in the tables below.

Hi-Resolution (Short Range)

•	If Hi-resolution (short range) option is selected, the following commands are sent

Command	Command Description	ADCP Type
NP0	NB mode Pings per Ensemble	Ocean Surveyor
WP1	Pings per Ensemble	OS,BB,WorkHorse
WM1	WT Profiling Mode	BB,WorkHorse
WB0	Mode 1 WT Bandwidth	BB,WorkHorse
WV650	WT Mode 1 Ambiguity Velocity	BB
WV480	WT Mode 1 Ambiguity Velocity	WorkHorse
<none>		All others
Low-Resolution (Long Range)

•	If Low-resolution (long range) option is selected, the following commands are sent

Command	Command Description	ADCP type
WP0	Pings per Ensemble	Ocean Surveyor
NP1	NB mode Pings per Ensemble	Ocean Surveyor
WP1	Pings per Ensemble	BB,WorkHorse
WM1	WT Profiling Mode	BB,WorkHorse
WB1	Mode 1 WT Bandwidth	BB,WorkHorse
WV330	WT Mode 1 Ambiguity Velocity	BB, WorkHorse
<none>		All others
Profile Parameters

•	If the Set Profile Parameters check box is unchecked, nothing is sent,

•	For Ocean Surveyor only, no commands are sent unless it is in either NP1 or WP1 mode.

•	For Ocean Surveyor in NP1 mode, the following commands are constructed and sent.

Command	ADCP setup tab data source
NN	Number of Bins
NS	Bin Size
NF	Blank Distance
ED	Transducer Depth
•	For Ocean Surveyor in WP1 mode or any other type of ADCP, the following commands constructed and are sent.

Command	ADCP setup tab data source
WN	Number of Bins
WS	Bin Size
WF	Blank Distance
ED	Transducer Depth

Automatically Generated Commands

VmDas automatically generates and sends the following commands.

Manual Ping Mode

•	The current CF setting is read.  A new command is generated using the last bit (the recorder bit) of the current setting.

•	CF 0111x is sent.

ADCP Setup Tab

If the dialog options are selected, a command from the ADCP setup tab may be sent.

Heading and Tilt Sensor Source

•	If either the Heading or Tilt check box on the ADCP Setup tab is checked, the current EZ command is read.  A new EZ command is generated and sent with the heading and tilt chars set from the ADCP Setup tab settings.

•	Otherwise, nothing is sent.

Commands that are Always Sent

These commands are always sent.

Heading Alignment

•	EA0 is sent

Heading Bias

•	For all non-OS types, EB0 is sent.

•	For early OS firmware versions (before firmware ver 14.09) EB is sent.

•	For later OS firmware versions (firmware ver 14.09+, ver 23) EV is sent.

Beam coordinates

•	EX00000 is sent.


Setting up Data Options

When data collection or data reprocessing is started, the current data options tell VmDas how to collect and process data.

•	Data options are not used for playing back data.  Editing them is not allowed in playback mode.

•	VmDas stores current data options.  They persist until changed, even if VmDas is closed and restarted.

•	If the current set of data options is not satisfactory, they must be changed before starting data collection or data reprocessing.  Once collection or reprocessing has started, it must be stopped before changes can be made.

•	Current settings can be viewed at any time when a mode is selected.

•	The current data options can be replaced with a set of data options stored in an *.INI, *.VMO, or *.VMP file.  The current options can be edited.


Saving Data Options

When the current data options are changed, the old version is overwritten.  To keep from losing a set of options, they should be stored in a file by clicking Options, Save As.

•	The Save As option is available only when options have been edited but not saved in a file.

•	Choose a file name that suggests the purpose of this set of data options.  VmDas will add the INI extension to the name.  No extension should be supplied by the user.

•	Whenever data collection starts, the current data options are automatically saved in a VMO file.

•	Whenever reprocessing starts, the current data options are automatically saved in a VMP file.

•	All of these files are stored as standard Windows INI files.  They are easy to read with a text editor.  Editing them directly is not recommended.


Error Messages

Some options or combinations of options are illegal.  VmDas detects some of these bad settings and refuses to allow them to be saved or used.

•	Clicking OK or Apply on the Edit Data Options dialog box causes VmDas to do a consistency check and save the new settings as the current data options if no errors are found.

•	The check is also done when starting data collection.

•	If an error is found, a message describing the error will pop up and no changes will be saved.  The user can either correct the problem, or cancel editing and lose all changes made.


Loading Data Options

On the Options menu, click Load.  By default, only INI files are displayed.  VMO files can be displayed by choosing them in the Files of type box.  To display VMP files, choose all files in the Files of type box.

	NOTE. To return to the factory default setting, select the Default.ini file.


View the Current Data Options

On the Options menu, click View Data Options.  The same dialog opens as when editing, but no changes can be made.  You can view the data options in the Playback mode.


Editing the Data Options

On the Options menu, click Edit Data Options.  Data Options can be edited only when collect or reprocess mode is selected, and collection or reprocessing is not in progress.

•	Clicking OK or Apply causes VmDas to do a consistency check and save the new settings as the current data options.

•	If an error is found, a message describing the error will pop up and no changes will be saved.  The user can either correct the problem, or cancel editing and lose all changes made.

•	Editing data options saves them as the current options, not in a file (see Saving Data Options).  If the save to a file step is skipped, the new current options still persist until changed, even if VmDas is closed.

 See Also

Options Menu - Edit Data Options


Mark Bad Below Bottom

When an ADCP creates a profile down to large depths when the bottom is shallow, the bins deeper than the bottom or even near the bottom will not have good data.  The ADCP sometimes returns good data anyway.  If the Mark Bad Below Bottom option is selected, these bins are marked bad by replacing the data with the bad data value, -32768.  In addition, percent good for these bins is set to zero.

The Mark Bad Below Bottom option requires that the ensemble contain bottom track data so VmDas can tell where the bottom is.  Bottom tracking may be turned on in the ADCP Setup page, by selecting the Bottom Track option or selecting a Command File that contains a BP1 command.

	NOTE. If bottom tracking is not turned on or if the bottom track reads invalid, then selecting Mark Bad Below Bottom will have no effect.

If the bottom track data is valid, the range along the beam plus the side lobe is marked as bad.  This calculation is done first at the raw data and therefore no side lobe or bottom data is included in the ENS file.  A second mark bad below bottom check is calculated based on the average depth over the averaging intervals.  Once again data within the side lobe area and further is marked as bad and recorded to the STA and LTA files.


Problems with Raw Data Near the Bottom

Raw data near the bottom cannot be trusted because of side lobe contamination.  Most acoustic energy is confined to the ADCP’s four beams, but some is in a side lobe that travels straight down.  This side lobe is weak enough that the echo from scatterers in the water is not to be a problem.  However, when it hits the bottom, the much stronger echo can make all data received afterward useless.

When the vertical side lobe hits the bottom at a depth d, the beams have reached a shallower depth d * cos (beam angle).  For 30-degree systems, this is 85% of the distance to the bottom.

The extent of a bin is not the bin length.  Each bin extends bin 1 dist – blank below its center.  A better name for bin length would be bin separation.  The water column measured for a bin is usually longer than a bin length, so that neighboring bins overlap.

If the bottom of a bin is bad, then the whole bin is bad (see figure below).  It can be shown that

Critical depth = ADCP depth + range * cos(beam angle) – bin 1 dist + blank

and

First bad bin number = 2 + [range * cos(beam angle) – 2 * bin 1 dist + blank

The first bad bin number must be truncated to the next smaller integer.  1 has been added to the first bad bin number because the first bin is bin 1, and one more has been added to allow truncation instead of taking the next larger integer.

VmDas uses the beam with the shallowest valid range for this calculation.

For very shallow bottoms, the first bad bin number can be less than bin 1.  In this case, bin 1 is the first bad bin so all bins are bad.

For very deep bottoms, the bottom may be out of range, and the bottom track field will show the range as invalid (-32768).  If all four beams have invalid ranges, no data is marked bad.

If the Mark Bad Below Bottom option is selected, VmDas removes data below the bottom in the ENS and ENX raw data files. The ENR, N1R, and N2R files are not changed.

Mark Bad Below Bottom Distance.  This shows how to calculate the critical depth at  which to begin marking data bad and the bin number of the first bad bin.

Note: Advanced users may have seen the formula

bin 1 dist = blank + transmit/2 + lag/2 + bin len/2

This leads to alternate forms of the formulas.

Critical depth = ADCP depth + range * cos(beam angle) – blank - transmit/2 - lag/2 - bin len/2

and

First bad bin number = 1 + [range * cos(beam angle) - blank - transmit – lag] / bin length

As before, the first bad bin number must be truncated to the next smaller integer.


Problems with Averaged Data Near the Bottom

When the raw ensembles are averaged, the bottom track range is the average of the raw ranges, and each averaged bin is the average of the raw bins.  The bottom is deeper than average in some raw ensembles, so the average bin has valid data for bins below its bottom.

If the Mark Bad Below Bottom option is selected, VmDas removes data below the average bottom in the STA and LTA averaged data files.  The same procedure is used as for raw ensembles.


Multi-Turn Stepper Gyros

Question – I do not have a 1:1 synchro gyro on my vessel.  I have connected a multi turn synchro gyro that is either a 36:1, 90:1, 360:1, or a stepper gyro to my ADCP.  Is there anything special I have to worry about?

Answer – Yes, there are special considerations.  Multi-turn gyros or stepper gyros have several increments that repeat for each 1-degree of heading.  For example, a stepper gyro has six combinations of voltages on the three stator (input) lines.  Each combination of these voltages represents a particular 1/6 of degree.  The gyro repeats each of these combinations for each degree.

Since, it repeats the same combination when you first connect to the stepper gyro it is impossible to determine how many times the gyro has cycled through the sequence.  This results in an ambiguity between what the actual gyro states is the heading and what the ADCP Gyro Interface board sees as the heading.  To remove this ambiguity, the Gyro interface must be initialized to correct whole degrees.  This same ambiguity error exists with 36:1, 90:1, 360:1 multi-turn gyros.  The only time this ambiguity will not exist is with a 1:1 gyro.

	NOTE. A 1:1 gyro means that each heading value has a unique output and therefore as soon as it is connected to the ADCP Gyro Interface board the system is initialized.
If you use a multi-turn gyro or stepper gyro, then you must take care in order to have success with your ADCP installation.  The following outlines the minimum requirements that should be done at Dock Side.  This procedure should be done at Dock Side because you are going to "initialize" (lock) the ADCP Gyro Interface board to the vessel’s gyro output.

1.	Connect your gyro to the ADCP as outlined in the Gyro Interface of your Technical Manual.  The Technical Manual provides instructions for cable connections, scaling resistors, and dipswitch settings.  All of these must be set correctly before continuing.

2.	Once the Gyro Interface board is setup correctly, and the Gyro Cable has been connected, apply power to your ADCP.

3.	Do ONE of the following.

•	If your ADCP electronics chassis has an LCD display on the front panel, then verify the heading display (H = xxx.x) is equal to the vessel’s gyro output.  The vessel’s gyro output is typically available on the bridge and sometimes from repeaters located through out the ship.  If the ADCP LCD display is different from the vessel’s gyro, you must initialize the two systems.

This is done by pressing the SET button and then holding either the Up button or the Down button.  The heading value (H = xxx.x) and the offset value (O = xxx.x) will change as you depress these two buttons.  When the heading value matches the vessel’s output release the set button.  The Gyro Interface board is now initialized to the vessel’s gyro.

•	If your ADCP electronics chassis does not have an LCD display on the front panel, then you must start the ADCP operation with the program that you are going to use to collect data.  For this example, we will assume that RDI’s VMDAS program is being used.

VMDAS Initialization –

a.	Click the Raw Data display, so that you are viewing the single ping data coming from the ADCP.

b.	Click the Leader button, so that you are able to view the heading data coming form the ADCP.

c.	Compare the heading data displayed in VMDAS to the vessel’s gyro output.  If they are the same, then the gyro is initialized.  If they are different then use the following formula to calculate a heading offset value:

Heading Offset Value =  (Vessel’s Gyro Reading) – (ADCP Gyro Reading)

d.	Stop data collection.

e.	Click the Options menu.

f.	Click Edit Data Options.

g.	Click the Transforms Tab

h.	Click the Heading Correction box so that it becomes checked.

i.	Enter the Heading Offset Value calculated above into the box next to the EV command.

j.	Click OK.

k.	Click the Options menu.

l.	Click Save or Save As and save the settings to your INI file.

m.	Start data collection change to the Short Term Average screen and verify that the heading value in the leader data box displays the same heading value as the vessel’s gyro.

	NOTE. The heading value in the leader data box for the Raw display will NOT have the correct value.  This is because this value always matches what is sent directly by the ADCP.  Only the Short Term and Long Term average screens will display the "initialized" value.
Special Cautions and Considerations

Once the ADCP is initialized then it will remain initialized provided the following is always true:

•	The ADCP Electronics power is never turned off

•	The gyro interface cable is never removed

•	The gyro interface output or power is never turned off.

If any of the above occurs, then the above procedure must be followed to initialize the systems.  It should be noted that RDI strongly recommends that initialization be performed and verified before each cruise while the vessel is at dock side (or completely stationary).

If for some reason initialization is required while at sea, then for best results drive the vessel in a straight line with no deviations in heading for at least 30 minutes so that the gyro will have stabilized.  Once this is done quickly follow the steps of A or B to initialize the gyro.  It is then recommended the heading be monitored and verified for the next 30 minutes to ensure that the gyro has been correctly initialized.


ADCP Output Data Format and VMDAS

This section shows the format of the VmDas Navigation data when using an ADCP.  This output can only be binary.

The ADCP binary output data buffer contains header data, leader data, velocity, correlation magnitude, echo intensity, percent good, and a checksum.  The ADCP collects all data in the output buffer during an ensemble.  The VmDas program writes this ADCP output into the *.ENR files (see File Naming Conventions).  The *.ENR file format is described in the ADCP Technical Manual, Commands and Output Data Format guide.

The Navigation data is inserted before the checksum (and reserved bytes) when VmDas saves the ENS, ENX, STA and LTA files.  Figure 1 show the sequence in which the VmDas program creates the ENS, ENX, STA and LTA files that make up the binary output buffer.  Figure 2 shows the format of the binary Navigation Data.  Table 1 lists the format, bytes, fields, scaling factors, and a detailed description of every item in the binary navigation output buffer.

Always Output	HEADER
	FIXED LEADER DATA
	VARIABLE LEADER DATA
WD-command  WP-command	VELOCITY
	CORRELATION MAGNITUDE
	ECHO INTENSITY
	PERCENT GOOD
BP-command	BOTTOM TRACK DATA
See Binary Navigation Data Format	NAVIGATION DATA (78 BYTES)
Always Output	RESERVED
	CHECKSUM
Figure 1.	ENS, ENX, STA and LTA Binary Output Data Format

	NOTE. For a full description of the Binary Output Data Format (i.e. Header, Fixed Leader Data, etc.), see the ADCP Technical Manual Commands and Output Data Format guide.  This guide is also available in Adobe Acrobat Reader pdf format on RDI’s website and on the documentation CD sent with your system.


Binary Navigation Data Format

	BIT POSITIONS
BYTE	7	6	5	4	3	2	1	0
1	NAVIGATION ID	LSB 00h
2		MSB 20h
3	UTC DAY
4	UTC MONTH
5	UTC YEAR	LSB
6		MSB
7	UTC TIME OF FIRST FIX	LSB
8
9
10		MSB
11	PC CLOCK OFFSET FROM UTC	LSB
12
13
14		MSB
15	FIRST LATITUDE	LSB
16
17
18		MSB
19	FIRST LONGITUDE	LSB
20
21
22		MSB
23	UTC TIME OF LAST FIX	LSB
24
25
26		MSB
27	LAST LATITUDE	LSB
28		MSB
29		LSB
30		MSB
31	LAST LONGITUDE	LSB
32		MSB
33		LSB
34		MSB
35	AVG SPEED	LSB
36		MSB
37	AVG TRACK TRUE	LSB
38		MSB
39	AVG TRACK MAGNETIC	LSB
40		MSB
41	SPEED MADE GOOD	LSB
42		MSB
43	DIRECTION MADE GOOD	LSB
44		MSB
45	RESERVED
46
47	FLAGS
48
49	RESERVED
50
51	ADCP ENSEMBLE NUMBER	LSB
52
53
54		MSB
55	ADCP ENSEMBLE YEAR	LSB
56		MSB
57	ADCP ENSEMBLE DAY
58	ADCP ENSEMBLE MONTH
59	ADCP ENSEMBLE TIME	LSB
60
61
62		MSB
63	PITCH	LSB
64		MSB
65	ROLL	LSB
66		MSB
67	HEADING	LSB
68		MSB
69	NUMBER OF SPEED AVG SAMPLES	LSB
70		MSB
71	NUMBER OF TRUE TRACK AVG SAMPLES	LSB
72		MSB
73	NUMBER OF MAG TRACK AVG SAMPLES	LSB
74		MSB
75	NUMBER OF HEADING AVG SAMPLES	LSB
76		MSB
77	NUMBER OF PITCH/ROLL AVG SAMPLES	LSB
78		MSB
	NOTE. This data is output in this format only by the VmDas program in the STA and LTA data files.


Binary Navigation Data Format Detailed Description

These fields contain the Navigation Data.  This data is only recorded in the STA and LTA files created by the RDI Windows software program VmDas.  LSB always sent first.  The Workhorse Technical Manual has descriptions of commands used to set these values.

Hex Digit	Binary Byte	Field	Description
1-4	1,2	ID Code	Stores the sum of velocities identification word (2000h).
5-6	3	UTC Day	This field contains the UTC Day.
7-8	4	UTC Month	This field contains the UTC Month.
9-12	5,6	UTC Year	This field contains the UTC Year, i.e. i.e. 07CF = 1999
13-20	7-10	UTC Time of first fix	UTC time since midnight; LSB = 1e-4 seconds
21-28	11-14	PC Clock offset from UTC	PC Time – UTC (signed); LSB = milliseconds
29-36	15-18	First Latitude	This is the first latitude position received after the previous ADCP ping.    LSB = approx. 8E-8 deg (32-bit BAM) In the BAM (Binary Angular Measure) format, the most significant bit of the word has a weight of 180 degrees, and you keep dividing by 2 as you proceed to the right.  The lease significant bit for a 32-bit BAM is about 8E-8 arc degrees (180/2^31), or just under 1 cm of longitudinal distance at the equator, where 1 arc minute = 1 Nautical mile.  If you interpret the BAM word as an unsigned number, the range is 0 to (360-LSB) degrees, and if you interpret the BAM as a signed number, the range is –180 to (180-LSB) degrees.  The least significant bit for a 16-bit BAM is about 0.0055 degrees (180/2^15).  Some 32-bit BAM examples are: UNSIGNED 0x40000000   90 degrees 0x80000000  180 degrees       0xC0000000  270 degrees       0xFFFFFFFF  360 degrees minus one LSB degrees SIGNED 0x40000000   90 degrees 0x80000000  minus 180 degrees 0xC0000000  minus 90 degrees 0xFFFFFFFF  minus one LSB degrees
37-44	19-22	First Longitude	This is the first longitude position received after the previous ADCP ping. LSB = approx. 8E-8 deg (32-bit BAM)
45-52	23-26	UTC Time of last fix	Time since midnight UTC; LSB = 1E-4 seconds
53-60	27-30	Last Latitude	This is the last latitude position received prior to the current ADCP ping. LSB = approx. 8E-8 deg (32-bit BAM)
61-68	31-34	Last Longitude	This is the last longitude position received prior to the current ADCP ping. LSB = approx. 8E-8 deg (32-bit BAM)
69-72	35,36	Avg Speed	Average Navigational Speed mm/sec (signed)
73-76	37,38	Avg Track True	Average True Navigational Ship Track Direction LSB = approx. 0.0055 deg (16-bit BAM)
77-80	39,40	Avg Track Magnetic	Average Magnetic Navigational Ship Track Direction LSB = approx. 0.0055 deg (16-bit BAM)
81-84	41,42	Speed Made Good (SMG)	Speed calculated between navigation positions.  LSB = one mm/sec (signed) The Speed Made Good (SMG) and Direction Made Good (DMG) quantities are calculated from the navigation fixes that enter the system between ADCP outputs, and are calculated as follows: IF: aLat(i) = the average of the latitudes of the nav fixes in interval i aLon(i) = the average of the longitudes of the nav fixes in interval i Ta(i) = the average of the time of validity of the nav fixes in interval i dLat = the difference in average latitude between averaging intervals dLon = the difference in average longitude between averaging intervals VelMGn (i) = the velocity made good in the North direction for interval i VelMGe (i) = the velocity made good in the East direction for interval i LatToDist (dLat) is a function that converts delta Latitude to a distance LonToDist (dLon) is a function that converts delta Longitude to a distance Smg (i) = speed made good in interval i Dmg (i) = direction made good in interval i THEN: dLat = (aLat (i-1) – aLat (i)) dLon = (aLon (i-1) – aLon (i)) VelMgn (i) = LatToDist (dLat) / (Ta(i-1) – Ta(i)) VelMge (i) = LonToDist (dLon) / (Ta(i-1) – Ta(i)) Smg(i) = sqrt(VelMGn(i)^2 + VelMGe(i)^2) Dmg(i) = atan(VelMGe(i) / VelMGn(i))
85-88	43,44	Direction Made Good (DMG)	Direction calculated between navigation positions.  LSB = approx. 0.0055 deg (16-bit BAM)
89-92	45,46	Reserved	Reserved for RDI use.
93-96	47,48	Flags	Describes the validity of the data.  Each bit has represents a separate flag and has its own meaning 1 = true, 0 = false.  The flag bits are defined as follows: bit 0 = Data updated  bit 1 = PSN Valid  bit 2 = Speed Valid  bit 3 = Mag Track Valid  bit 4 = True Track Valid  bit 5 = Date/Time Valid  bit 6 = SMG/DMG Valid  bit 7 = Pitch/Roll Valid  bit 8 = Heading Valid  bit 9 = ADCP Time Valid  bit 10 = Clock Offset Valid  bit 11 = Reserved bit 12 = Reserved bit 13 = Reserved bit 14 = Reserved bit 15 = Reserved
97-100	49,50	Reserved	Reserved for RDI use.
101-108	51-54	ADCP Ensemble Number	This field contains the sequential number of the ensemble to which the data in the output buffer apply. Scaling:  LSD = 1 ensemble; Range = 1 to 4,294,967,296 ensembles
109-112	55,56	ADCP Ensemble Year	This field contains the ADCP year, i.e. 07CFH = 1999
113-114	57	ADCP Ensemble Day	This field contains the ADCP day.
115-116	58	ADCP Ensemble Day	This field contains the ADCP month.
117-124	59-62	ADCP Ensemble Time	Number of seconds since midnight; LSB = 0.01 seconds
125-128	63,64	Pitch	Pitch angle.  LSB = approx. 0.0055 deg (16-bit BAM) Pitch is positive when bow is higher than stern.
129-132	65,66	Roll	Roll angle.  LSB = approx. 0.0055 deg (16-bit BAM) Roll is positive when the port side is higher than the starboard side.
133-136	67,68	Heading	Heading input.  LSB = approx. 0.0055 deg (16-bit BAM)
137-140	69,70	Number of Speed Samples Averaged	The number of speed samples averaged since the previous ADCP ping.
141-144	71,72	Number of True Track Samples Avg	The number of True Track samples averaged since the previous ADCP ping.
145-148	73,74	Number of Magnetic Track Samples Avg	The number of Magnetic Track samples averaged since the previous ADCP ping.
140-152	75,76	Number of Heading Samples Averaged	The number of Heading samples averaged since the previous ADCP ping.
153-156	77,78	Number of Pitch/Roll Samples Averaged	The number of Pitch/Roll samples averaged since the previous ADCP ping.