Swath_bathy 5			             09 Dec 1999

NAME:

SIO Swath Bathymetry - SIO Swath Bathymetry data format.

DESCRIPTION:

This is the format of the SIO swath bathymetry data file. Each data record consists of three logical records, a header record, a sensor specific record, and a data record.  The header record is a fixed length record. The sensor specific record and data record are variable length. 

The lengths of the sensor specific and data record are recorded in the header record, and are always a multiple of 4 bytes.

This format is used by SIO swath bathy software. All of our data is in this form. The Mbsystem version 4.5 used two different format numbers.  Data collected from the SeaBeam 2000 on the R/V Melville is MB format 32.  Data from the 16 beam SeaBeam (Classic) on the R/V Thomas Washington is MB format number 16.

DATA HEADER RECORD

Byte offset	Data type	description	
0	i2	Year of data (i.e. 1982)	
2	
i2	Julian day of data.  Day of the year (Jan 1 is day 1).  In the range of 1-366.	
4	i2	Minute from start of day.  In the range of 0-1439.	
6	i2	Seconds from start of minute times 100.  In the range of 0-5999.	
8	i4	Latitude degrees.  Number of degrees from equator times 10e6.  In the range of 0 to plus/minus 900000000.	
12	i4	longitude degrees.  Number of degrees from prime meridian times 10e6. In the range of -180000000 to 180000000.	
16	I2	Ships heading at time of ping in degrees * 10.	
18	I2	Ships course from ships navigation equipment in degrees * 10.	
20	I2	Ships forward/aft speed from ships navigation equipment in knots * 100.	
22	I2	Ships port/starboard speed from ships navigation equipment in knots * 100.	
24	I2	Subjective value of data quality, 0 good, larger values worse.	
26	I2	Sensor specific record length, the length of the sensor specific record, in bytes.	
28	i2	Data record length, the length of the following data record, in bytes.	
30	C2	Speed reference, how speed was derived in this data.	
32	C2	Sensor Type, device type which created this swath bathymetry data.	
34	c2	Data Type, type of data recorded.	
		Record length 36 bytes	

The following tables define the valid entries in the character string entries of the header record.

Speed Reference

These entries define how the speed device was obtaining speed. Bottom track means the speed is the true ground speed, water track is relative to a water mass under the ship which may be moving.

Code	description	
W	Water Track	
B	Bottom Track	

Sensor Types

These entries define the type of sensor used to collect the data.  Each record consists of three logical records: navigation header, sensor record and data record.

Data Type	Description	
SB	SeaBeam
Sea Beam system, 16 beam 42 degree such as the one on the R/V T. Washington.	
S2	Sea Beam 2000
Sea Beam 2000 system, 121 beam 120 degrees such as the one on the R/V Melville.	
HY	Hydrosweep
Krupp Atlas system, 59 beam 90 degrees such as the one on the R/V T. Thompson  and the R/V Ewing.	
SS	Sidescan
Sidescan gray level data extracted from the Sea Beam 2000 sidescan data logger.	
IO	Russian Multibeam ?????
Multibeam data from the Russian ship Ioffe. It contains 59 beams.	

Data Types

Each header record precedes a data record. This field defines the type of data in the data record. The data record contains 'data length' bytes of data.

Data Type	Description	
SR	Sonar Record
Depth and Cross track distance pairs are stored in consecutive locations.	
RS	Hydrosweep calibration Record
Depth and long track distance pairs are stored in consecutive locations. 	
SP	Sound Velocity Record
Sound velocity profile, up to 30 points and vertical reference offsets.	
TR	Text Record
Free formatted text.	
IR	Beam Intensity data
Signal to Noise Ratio, Signal Amplitude, and Echo length.	
AT	Angle, travel time
Data consist of angle from vertical and time to return.	
SC	Gray level sidescan
Pixel values for sidescan.	

SENSOR SPECIFIC RECORD

The following tables describe the sensor specific data records. They currently consist of records for three sensors; Sea Beam,Sea Beam 2000, Hydrosweep Sea Beam 2000 sidescan.

Sea Beam Record

The sensor specific information from Sea Beam systems such as the one of the R/V Thomas Washington.
.
Byte Offset	Data Type	Description	
0	I2	Eclipse time, time of day from eclipse computer.	
2	I2	Eclipse heading, heading at time of ping.	
		Length 4 bytes	

Sea Beam 2000 Record

The sensor specific information from a  Sea Beam 2000 system such as the one on the R/V Melville.

Byte Offset	Data Type	Description	
0	I2	Pitch, ship pitch * 100.	
2	I2	Roll, ship roll * 100.	
4	I2	Ping gain, receiver gain.	
6	I2	Sonar correction.	
8	I2	Sea surface sound velocity.	
10	I2	Transmitter pulse width.	
12	I2	Transmitter attenuation.	
14	I2	Spare	
16	I2	Spare	
18	I2	Operation mode.	
20	I2	Data Correction.	
22	I2	SSV source.	
		Total length 24 bytes	

Hydrosweep

The sensor specific record for Hydrosweep systems, such as the system on the R/V Thomas Thompson.

Byte Offset	Data Type	Description	
0	I2	Pitch, ship pitch * 100.	
2	I2	Roll, ship roll * 100.	
4	I2	Heave, ship heave * 100.	
6	i2	Ping gain, receiver gain.	
8	I2	Sonar correction.	
10	I2	Sea surface sound velocity.	
12	I2	Mean sound velocity.	
14	I2	Sound travel time at pfb 30.	
16	3 * i2	Transmitter pulse width.	
22	3 * i2	Transmitter attenuation.	
28	i2	Spare	
30	c2	Operation mode.	
		Total length 32 bytes	

Sidescan Sensor record

The sensor specific record for sidescan data, generally this is data from the Sea Beam 2000 system.

Byte Offset	Data Type	Description	
0	I4	Ping Number	
4	i2	Ping length	
6	I2	Meters per pixel	
8	I2	dB gray level min	
10	I2	dB gray level max	
12	I2	Hydrophone sampling rate (0.1 usec)	
14	I2	First time slice	
16	I2	Total time slice	
18	I2	Number of pixels	
20	i2	cm. per pixel	
22	C10	unused	
		Total length 32 Bytes	

Russian Multibeam Sensor Record

As of yet undefined apr93, working on it.

Byte Offset	Data Type	Description	
		Length ?? bytes	

The following tables define the valid entries for the character strings in the sensor specific data records.

Operation Mode

This defines the current operation mode of the swath bathymetry hardware.

Operation Mode	Description	
Sea Beam 2000		
A	Automatic	
M	Manual	
Hydrosweep		
S	Shallow water survey	
M	Medium water survey	
D	Deep water survey	
s	Shallow water calibration	
m	Medium water calibration	
d	Deep water calibration	

Data Correction

This defines the type of data correction which has been applied to the depth, cross track data.

Data Correction	Description	
1	True cross track, approximate depth (1500 m/sec)	
2	True cross track, true depth	

Sound Velocity Source

This defines the source of the surface sound velocity.

Source	Description	
V	Velocimeter	
M	Manual	
T	Temperature derived	

Depth data sound velocity corrected

Correction	Description	
Y	Yes	
N	No	

DATA RECORD FORMATS

The following tables describe each of the different types of data records available.

Depth and Cross Track Distance Record

The depth and cross track distance record is defined by a "SR" in the data type field of the header record.  The data is stored as depth, cross track pairs, with the values of each multiplied by the scale factor in the header.  The negative cross track distances are the port values.  Data should be stored with the port-most beam in the first data location and the starboard-most in the last.

Byte Offset	Data Type	Description	
0	I2	Number of beams in data record.	
2	i2	Data scale factor.	
4	i2	Depth (1)	
6	i2	cross track distance (1)	
8	i2	depth (2)	
10	i2	cross track distance (2)	
	.		
	.		
	.		
            --	i2	depth (number of points)	
            --	i2	cross track distance (number of points)	
		Length dependent upon number of beams	

Depth and Long Track Distance Record

The depth and long track distance record is defined by a "RS" in the data type field of the header record.  The data is stored as depth, long track pairs in meters with the values of each multiplied by the scale factor in the header. This record is created by the Hydrosweep system in its calibration mode to be used to compute a sound velocity profile. The negative long track distances are the aft values, and data should be stored with the aft most beam in the first data location.

Byte Offset	Data Type	Description	
0	I2	Number of beams in data record.	
2	i2	Data scale factor.	
4	i2	depth (1)	
6	i2	long track distance (1)	
8	i2	Depth (2)	
10	i2	long track distance (2)	
	.		
	.		
	.		
           --	i2	depth (number of points)	
           --	i2	long track distance (number of points)	
		Length dependent upon number of beams	

Sound Velocity Record

The Sound velocity record contains 30 depth, sound velocity pairs.  Not all 30 positions need be filled, the number of  points in the header record will define the length of the sound velocity profile. Depths are stored in meter units and the sound velocity is stored in meters per second times 10. A second data is also stored in this record, it is the Vertical reference offset data.

Byte Offset	Data Type	Description	
0	i4	Mean sound velocity	
4	i2	Number of data points in sound velocity table.	
6	i2	depth 1	
8	i2	sound velocity 1	
10	i2	depth 2	
12	i2	sound velocity 2	
	.		
	.		
	.		
122	i2	depth 30	
124	i2	sound velocity 30	
126	i2	Vertical Reference Unit #1	
128	i2	port location	
130	i2	forward location	
132	i2	vertical location	
134	i2	Vertical Reference Unit #2	
136	i2	port location	
138	i2	forward location	
140	i2	vertical location	
142	i2	Pitch bias	
144	i2	Roll bias	
146	c8	vertical reference device	
		Total Length 154 bytes	

Text Record

The text record is a character string of length of the data record.  These are free format.

Example:	Cruise Name	
	Cruise Number	
	Etc...	
	Length: variable bytes	

Intensity Data

The first data element is the port-most values and the last entry is the starboard-most.
Byte Offset	Data Type	Description	
0	i2	Number of data points in record	
2	i2	Signal Amplitude (1)	
4	i2	Signal to Noise Ratio (1)	
6	i2	Echo Length (1)	
8	i2	Signal Amplitude (2)	
10	i2	Signal to Noise Ratio (2)	
12	i2	Echo Length (2)	
	.		
	.		
	.		
          --	i2	Signal Amplitude (number of points)	
          --	i2	Signal to Noise Ratio (number of points)	
          --	i2	Echo Length (number of points)	
		Length dependent upon number of beams	

Angle and Travel time record

The angle and travel time record are defined by a "AT" in the data type field of the header record.  The data is stored as angle, time pairs. The time is stored in milliseconds and the angle is  stored in hundredths of degrees. Negative angles are to port.

Byte Offset	Data Type	Description	
0	i2	Number of beams in data record.	
2	i2	Data scale factor.	
4	i2	angle (1)	
6	i2	travel time (1)	
8	i2	angle (2)	
10	i2	travel time (2)	
	.		
	.		
	.		
10	i2	angle (number of points)	
10	i2	travel time (number of points)	
		Length dependent upon number of beams	
		
Gray level Sidescan Record

The sidescan data contains a flag as the the type of data. G defines the data as processed gray level data. R is raw sidescan.  The length of the data written is rounded up to a multiple of 4 bytes.

Byte Offset	Data Type	Description	
0	C1	Sidescan type   
            G - Gray Level
            R - Raw sidescan	
1	c1	Sidescan pixel 1	
2	c1	Sidescan pixel 	
	.		
	.		
	.		
             N	c1	Sidescan pixel N	
		Padded to multiple of 4 bytes	
		Length dependent upon number of beams	

SEE ALSO:

swath_bathy_io(3), swath_bathy_read(3), swath_bathy_write(3)

BUGS:

The number of beams should be a odd number so that there is a center beam. The center beam is computed by dividing the number of beams by 2 to get the location of the center beam.  If no center beam exists several options are:

Create a center beam with zero depth, then contour plots will have a gap under the track line.

Create a center beam with an interpolated value for depth.

Do nothing, just use the true data and beam count and see what happens.