The MB-System
Cookbook

Val Schmidt

LDEO
Research Engineer
Columbia University
Lamont-Doherty Earth Observatory

Dale Chayes

LDEO
Lamont Resarch Engineer (Senior Staff Associate)
Columbia University
Lamont-Doherty Earth Observatory

Dave Caress

MBARI
Senior Research Specialist
Monterey Bay Aquarium Research Institute
Monterey Bay Research Institute

Table of Contents

Version
1. Introduction
1.1. What Is This Document About?
1.2. How Do I Get The Most Current Version?
1.3. What is MB-System
1.4. What Kind of Data Sets Can MB-System™ be Used On?
1.5. Important Notes Regarding the Data Used in the MB-System™ Cookbook
2. Multibeam Sonar Basics
2.1. How Sound Travels Through Water
2.1.1. Speed of Sound
2.1.2. The Effects of Sound Speed Errors
2.1.3. Spreading Loss
2.1.4. Absorption
2.1.5. Reverberation
2.2. How Sound Interacts with the Sea Floor
2.3. Acoustic Interference
2.3.1. Radiated Noise or Self Noise
2.3.2. Flow Noise
2.3.3. Bubble Sweep Down
2.3.4. Cross Talk
2.4. Signal to Noise Ratio
2.5. Swath Mapping Sonar Systems
2.5.1. Multibeam Echo Sounders MBES
2.5.2. Sidescan Swath Bathymetric Sonars SSBS
3. Surveying Your Survey with MB-System
3.1. Managing Your Data With mbdatalist
3.2. Plotting Data
3.3. Extracting Statistics
4. Processing Multibeam Data with MB-System
4.1. Overview
4.1.1. Many Types of Sonar
4.1.2. Strategy
4.2. Identifying the MB-System™ Data Format
4.3. Format Conversion
4.3.1. Background
4.3.2. SeaBeam 2100
4.3.3. Converting Your Data
4.4. Survey and Organize the Data
4.4.1. Integrating Your Data into a Larger Set
4.4.2. Organize The Data Set Internally
4.4.3. Ancillary Files
4.4.4. Surveying your Survey - Revisited
4.5. Determine Roll and Pitch Bias
4.5.1. Roll Bias
4.5.2. Pitch Bias
4.6. Determine Correct SSP's
4.6.1. Variations in Sound Speed and Your Data
4.7. Smooth The Navigation Data
4.7.1. MBnavedit
4.8. Flag Erroneous Bathymetry Data
4.8.1. Automated Flagging of Bathymetry
4.8.2. Interactive Flagging of Bathymetry
4.9. Determine Amplitude and Grazing Angle Functions for Side Scan
4.10. The Final Step: Reprocessing the Bathymetry and Sidescan
4.10.1. Mbset
4.10.2. The Parameter File
4.10.3. Mbprocess
5. Advanced Sonar Data Statistics
5.1. Advanced Statistics with mbinfo
5.2. Advanced Statistics with mblist
5.3. Advanced Statistics with mbgrid
A. Acknowledgments
B. MB-System™ Command Reference
C. Installing MB-System
C.1. Overview
C.2. Downloading MB-System
C.3. Installing GMT and netCDF
C.4. Creating a Directory Structure for MB-System
C.5. Editing "install_makefiles"
C.6. Run install_makefiles and Compile MB-System
D. Other Useful Tools
E. References
E.1. Acoustic References
E.2. Sonar References
F. History of MB-System
G. Shipboard Multi-Beam Sonar Installations

List of Figures

2.1. Typical SSP
2.2. Diagram of Planar Soundwaves Orthogonally Incident on a Linear Hydrophone Array.
2.3. Diagram of Beam Forming Performed by A Linear Array
2.4. Snell's Law
3.1. Survey Navigation Plot
3.2. Color Bathymetry Plot
3.3. Color Bathymetry Plot with Contours
3.4. High Intensity Color Bathymetry Plot with Contours
3.5. Shaded Relief Color Bathymetry Plot
3.6. Sidescan Plot
4.1. Lo'ihi Archive Data Structure
4.2. Lo'ihi Survey Navigation Data
4.3. Lo'ihi Survey Navigation Plot
4.4. Lo'ihi Survey Contour Plot
4.5. Plot of First Data Leg for Roll Bias Calculation
4.6. Plot of Second Data Leg for Roll Bias Calculation
4.7. mbedit Screen Shot
4.8. Plot of compositefirsttrackp.mb183
4.9. Plot of compositesecondtrackp.mb183
4.10. MB-VelocityTool
4.11. MB-VelocityTool
4.12. MB-VelocityTool with SSP's Loaded
4.13. MB-VelocityTool with Plot Scaling Dialog
4.14. MB-VelocityTool with Sonar Data Loaded
4.15. MB-VelocityTool with Edited Profile
4.16. MBnavedit
4.17. MBnavedit
4.18. MBnavedit Time Interval and Longitude Plots
4.19. MBnavedit Latitude and Speed Plots
4.20. MBnavedit Heading and Sonar Depth Plots
4.21. MBnavedit Towed Sonar Time Difference and Longitude Plots
4.22. MBnavedit Towed Sonar Latitude and Speed Plots
4.23. MBnavedit Towed Sonar Speed Plot
4.24. MBnavedit Towed Sonar Heading and Depth Plots
4.25. MBnavedit Towed Sonar Heading and Depth Plots with "Made-Good" plots Removed
4.26. Speed and Heading Plots Zoomed
4.27. MBnavedit Heading and Sonar Depth Plots
4.28. Interpolated Points
4.29. Nav Modeling Window
4.30. Dead Reckoning Position Plots
4.31. Sumer Loihi Unedited Data
4.32. Sumer Loihi Data with Outer Beams Flagged from MBclean
4.33. Sumner Loihi Data with Outer Beams and Slope Greater than 1 Flagged from MBclean
4.34. Sumner Loihi Data with Slope Greater than 1 Flagged and the Loss of Good Data
4.35. MBedit GUI
4.36. MBedit Open Sonar Swath File Dialog Box
4.37. MBedit With Sonar Data Loaded
4.38. MBedit With Display Adjustments
4.39. MBedit Bathymetry Filters
4.40. MBedit Bathymetry
4.41. MBedit Filter by Beam Number
4.42. MBedit Filter Results
4.43. Unedited Data for Demonstration
4.44. Interactive Editing Results
5.1. Flat Bottom - STDEV vs Beam Number
5.2. Nadir Beam Depth Plot
5.3. Ping Interval vs. Bottom Depth
5.4. R/V Ewing Survey: Gridded Data
5.5. R/V Ewing Survey: Data Density Plot
5.6. R/V Ewing Survey: Gridded Standard Deviation
5.7. R/V Ewing Survey: Gridded Standard Deviation With New Color Map

Version

Version Information

$Id: mbcookbook.xml,v 1.15 2006/02/16 11:39:16 dale Exp $

Like the MB-System™ sources, this is a working document and as such is subject to change without notice.

$Log: mbcookbook.xml,v $
Revision 1.15  2006/02/16 11:39:16  dale
Change the "Version" section to show the RCS-style log file tags.

Revision 1.14  2006/02/16 11:06:32  dale
Removed the "pre-release" note
  
Revision 1.13  2004/02/20 14:10:58  vschmidt
Added pseudo-attribute to xml declaration to specifiy UTF-8 encoding. Required for Xerces parser used by Oxygen.
  
Revision 1.12  2004/01/15 18:13:24  vschmidt
Fixed syntax to fully support xml/xslt processing.
  
Revision 1.11  2003/09/08 13:58:04  vschmidt
Added a new chapter "Statistics" and the relative entity entries.  Also modified the identifier to allow compilation from a local DTD and note regarding how to access the public one.
  
Revision 1.10  2003/07/27 20:54:36  vschmidt
Added or fixed rcs/cvs keyword identiifers for Id, Name and Log
  
Revision 1.9  2003/07/27 20:33:50  vschmidt
Fixed rcs/cvs keyword identiifers for Id, Name and Log

Chapter 1. Introduction

1.1. What Is This Document About?

The MB-System™ Cookbook provides detailed examples regarding the processing of swath mapping data using the MB-System™ open-source software package. Step-by-step instructions, explanations, code (scripts), data files and processed results are provided for each example. The examples use real data files, with typical data irregularities.

MB-System™ supports many of the data formats and their variations that have evolved over the years. Accommodating these changes is a forever and ongoing process. The MB-System™ Cookbook is an attempt, in part, to document when data formats require special techniques in the processing.

1.2. How Do I Get The Most Current Version?

The most up to date version of this document can be obtained from the MB-System™ web page at

http://www.ldeo.columbia.edu/MB-System/MB-System.intro.html

where it can be found in both Portable Document Format (PDF) and Hypertext Markup Language (HTML). Alternatively, it can be downloaded via anonymous ftp from the Lamont-Doherty Earth Observatory at:

ftp.ldeo.columbia.edu

1.3. What is MB-System

MB-System™ is a collection tools used to process research grade swath mapping sonar data in more than four-dozen formats from sonar equipment manufactured and operated around the world. MB-System™ is used in conjunction with the Generic Mapping Tools (GMT) created by Paul Wessel of the University of Hawaii and Walter Smith of NOAA. GMT is a powerful set of processes used to manipulate data and to create Encapsulated Post Script maps and charts.

1.4. What Kind of Data Sets Can MB-System™ be Used On?

MB-System™ rides atop a library of functions for reading and writing swath mapping sonar data files called MBIO,(Multi Beam Input-Output).While largely unseen by the user, MBIO is where the rubber meets the road. MBIO takes into account multitudes of details, including existence of side scan or and or amplitude data, interpolation of navigation to ping times, geometry of specific sonar models, and of course the various data formats themselves. While MBIO does not support every possible data type, it has grown to accommodate the bulk of the sonar data formats common the the multibeam community. Indeed, considerable development is ongoing to support ever greater variations in sonar data formats, created both by commercial vendors and research institutions.

In addition to the native data formats, MBIO defines many MB-System™-only data formats. These have been created out of necessity when vendor-native formats fail to accommodate the needs required of sonar processing, or are too unwieldy to store. For example, some Simrad sonars have traditionally stored navigation information separate from the bathymetry information, requiring interpolation of navigation to ping times each time the data is read. MBIO defines a data format stores the bathymetry and the interpolated navigation in a single composite file. Similarly, native Hydrosweep DS-2 data contain no less than 9 separate data files with multitudes of ancillary information regarding the sonar's operational settings, far more information than the sonar data itself. In this case, MBIO defines an alternate format that condenses the necessary navigation, bathymetry and sidescan information into a single, more manageable and considerably smaller file. Many research institutions have found the MB-System™ formats preferable to the native sonar formats and perform a real time conversion of sonar data for their users.

Stating which sonar and sonar formats are supported by MB-System™ is something of a moving target, however as of the time of this writing the following sonars were supported:

  • SeaBeam "classic" 16 beam multibeam sonar

  • Hydrosweep DS 59 beam multibeam sonar

  • Hydrosweep MD 40 beam mid-depth multibeam sonar

  • SeaBeam 2000 multibeam sonar

  • SeaBeam 2112, 2120, and 2130 multibeam sonars

  • Simrad EM12, EM121, EM950, and EM1000 multibeam sonars

  • Simrad EM120, EM300, EM1002, and EM3000 multibeam sonars

  • Hawaii MR-1 shallow tow interferometric sonar

  • ELAC Bottomchart 1180 and 1050 multibeam sonars

  • ELAC/SeaBeam Bottomchart Mk2 1180 and 1050 multibeam sonars

  • Reson Seabat 9001/9002 multibeam sonars

  • Reson Seabat 8101 multibeam sonars

  • Simrad/Mesotech SM2000 multibeam sonars

  • WHOI DSL AMS-120 deep tow interferometric sonar

  • AMS-60 interferometric sonar

1.5. Important Notes Regarding the Data Used in the MB-System™ Cookbook

In an effort to demonstrate MB-System™ in as realistic manner as possible we have provided several real datasets as examples. These are available in three separate archives that may be optionally download from the MB-System™ ftp site.

The standard MB-System™ distribution comes with an archive of example data sets and scripts generated using MB-System™ (MB-SystemExamples.X.Y.Z.tar.Z). These are referenced on occasion in the Cookbook, and since their size is small they can readily be downloaded. When uncompressed and un-archived, the resulting directory tree will resemble the lines below.

[vschmidt@val-LDEO mbexamples]$ ls 
data mbbath mbgrid mbinfo mblist mbm_plot README xbt

The ~/data directory contains several sample data files used in these examples. The other directories contain scripts that briefly demonstrate the use of several of the tools in MB-System™ .

For the purposes of the MB-System™ Cookbook, however these data sets were not sufficient to demonstrate the intricacies of various processing techniques, nor the art of managing a data set within a larger archive. Therefore, for the purposes of the examples contained herein, you will find two additional collections of data that are freely download-able such that you may follow along with each step we demonstrate.

The first collection of data has been added to the mbexamples.tgz archive file which is a superset of the standard set of examples described above. That is to say, this archive contains all the examples in the standard set, plus a collection of "other data sets" for illustration of svp corrections, roll bias corrections and general survey plotting. A directory called ~mbexamples/cookbook_examples has been created which will serve as a home directory for calculations utilizing these data sets.

These smaller data sets do not illustrate the processing and management of data within a larger archive however. To this end, we have provided a completely separate archive containing several data sets mapping the volcanic seamount Loihi, south of the Big Island of Hawaii. Within the loihi data archive you will find four data sub directories, each with their own Loihi data sets. The entire archive is some 660 MB in size.

Chapter 2. Multibeam Sonar Basics

2.1. How Sound Travels Through Water

The basic measurement of most sonar systems is the time it takes a sound pressure wave, emitted from some source, to reach a reflector and return. The observed travel time is converted to distance using an estimate of the speed of sound along the sound waves travel path. Estimating the speed of sound in water and the path a sound wave travels is a complex topic that is really beyond the scope of this cookbook. However, understanding the basics provides invaluable insight into sonar operation and the processing of sonar data, and so we have included an abbreviated discussion here.

2.1.1. Speed of Sound

The speed of sound in sea water is roughly 1500 meters/second. However the speed of sound can vary with changes in temperature, salinity and pressure. These variations can drastically change the way sound travels through water, as changes in sound speed between bodies of water, either vertically in the water column or horizontally across the ocean, cause the trajectory of sound waves to bend. Therefore, it is imperative to understand the environmental conditions in which sonar data is taken.

2.1.1.1. Affects of Temperature, Salinity and Pressure

The speed of sound increases with increases in temperature, salinity and pressure. Although the relationship is much more complex, to a first approximation, the following tables provides constant coefficients of change in sound speed for each of these parameters. Since changes in pressure in the sea typically result from changes in depth, values are provided with respect to changes in depth.

  • Change in Speed of Sound per Change in Degree C

    ---> + 3 meters/sec)

  • Change in Speed of Sound per Change in ppt Salinity

    ---> + 1.2 meters/sec

  • Change in Speed of Sound per Change in 30 Meters of Depth

    ---> + .5 meters/sec)

[1]

Temperature has the largest effect on the speed of sound in the open ocean. Temperature variations range from 28 F near the poles to 90 F or more at the Equator. Of course, relevant temperature differences with regard to multibeam sonar systems are the variations that occur over relatively short distances, in particular those that occur with depth. These are discussed further below.

While the salinity of the world's oceans varies from roughly 32 to 38 ppt. These changes are gradual, such that within the range of a multibeam sonar, the impact on the speed of sound in the ocean is negligible. However near land masses or bodies of sea ice, salinity values can change considerably and can have significant effects on the way sound travels through water.

While the change in the speed of sound for a given depth change is small, in depth excursions where temperature and salinity are relatively constant, pressure changes as a result of increasing depth becomes the dominating factor in changes in the speed of sound.

2.1.1.2. The Sound Speed Profile

The composite effects of temperature, salinity and pressure are measured in a vertical column of water to provide what is known as the "sound speed profile or SSP . A typical SSP is shown below:

Figure 2.1. Typical SSP

Typical SSP

From the SSP above, one can see an iso-speed layer from the surface down to a few tens of meters due to mixing of water from wave action. This layer is called the "mixed surface layer" and is characterized by a flat or slightly negative (slanting down to the right) sound speed profile. The iso-speed layer is followed by a seasonal thermocline down to about 250 meters. Below, a larger main thermocline exists. These variations in the SSP are almost entirely due to changes in temperature of the water. Below the main thermocline, the temperature becomes largely constant and changes in pressure due to depth have the dominant effect on the SSP causing it to gradually increase.

2.1.2. The Effects of Sound Speed Errors

There are two fundamental sound speed measurement inputs into multibeam sonar systems. These are 1) the speed of sound at the keel of the ship in the vicinity of the sonar array, and 2) the profile of sound speed changes vertically in the water column. The former is used in the sonar's beam forming while the latter is used more directly in the the bathymetry calculations.

2.1.2.1. Sound Speed Errors at the Keel

In an effort to understand the effect on sonar performance of an incorrect sound speed at the keel, we must discuss the process of beam forming. This discussion surrounds a single simplified beam forming method, of which there are many. However it illustrates the effects well and the results can be applied to any sonar system.

The sound speed at the keel of the ship, local to the array, affects the directivity of the beams produced by the sonar. The result is that the sonar is not exactly looking in the direction we expect, introducing considerable error.

In multibeam sonar, a beam is formed by summing the sounds measured by multiple hydrophones time delayed by a specific amount with respect to each other. The following illustration depicts an array of hydrophones with an incident planar sound wave.

Figure 2.2. Diagram of Planar Soundwaves Orthogonally Incident on a Linear Hydrophone Array.

Diagram of Planar Soundwaves Orthogonally Incident on a Linear Hydrophone Array.

From this figure above, it is clear that the hydrophones will measure the incoming sounds simultaneously. However when the sound wave is incident from some angle , the hydrophones closer to the source will detect the sound prior to those farther away. Look at the figure below.

Figure 2.3. Diagram of Beam Forming Performed by A Linear Array

Diagram of Beam Forming Performed by A Linear Array

To listen in that direction, therefore, sonar systems sum the sounds measured from each hydrophone after delaying its measurement by the amount of time it would take for the sound to travel from the closest hydrophone. The result is an imaginary hydrophone array shown in the figure above, where the angle with respect to the actual array might be considered the direction the sonar beam is pointing. In this way, sounds coming from this direction are measured at each hydrophone in the imaginary array simultaneously.

As an example, assume the array is attempting to listen in a direction 30 degrees from its orientation. The sonar calculates the distance between the first hydrophone and the last hydrophone in the direction it is listening. This distance, X is simply

X = Z Sin (30)

The sonar divides the speed of sound at the keel into this distance X to get the time it will take the sound return to travel from the closer hydrophone to the further one.

t=X/ss

The measurements of the closer hydrophone are then summed with those of the further hydrophone delayed by this interval such that the arrival of the sound signal at the last hydrophone coincides with the delayed measurement of this closer hydrophone.

If the sound speed used to calculate this delay time is too low, the calculated delay time will be too large. A larger delay time results in a beam that is pointed further away from orthogonal than has been assumed.

If all this is confusing, just try to remember:

SS(Keel) Too Low - > Beam Fan Pattern Too Wide

SS(Keel) Too High - > Beam Fan Pattern Too Narrow

It is important to realize that the beam perpendicular to the plane of the sonar array is directionally unaffected. Only the beams formed by delaying the signals from individual hydrophones look in the wrong direction when the speed of sound at the keel is in error. This implies, of course, that the effect a sound speed error has on any given data set are largely dependent on the orientation of the installed sonar.

Many sonar arrays are installed flush with the hull of the ship and parallel to the sea (nominal) floor. A sonar array installed parallel to the sea floor sees little or no error in the nadir beam due to errors in the keel sound speed. However, because of the high beam angles at the outer beams, the errors are exacerbated at the edges of the swath. When the value is too low, the beam fan shape is erroneously wide, causing the measured bathymetry at the outer beams to be too deep. (Sound travel times are erroneously longer for the wider beams.) This causes the cross track shape of a swath to "frown". The converse is true, of course, for keel sound speeds that are too high.

Other sonar arrays are installed on a V-shaped structure mounted to the bottom of the ship or towfish. For these sonars, the zero angle beam, whose direction is unaffected by the keel sound speed, is that which is formed perpendicular to the array at some angle from nadir. The effect on the beam pattern, is the same - keel sound speed too low -> beam pattern is too wide - keel sound speed too high -> beam pattern too narrow. However, in this case, the effects on the data set are slightly different. A wider beam pattern does indeed cause erroneously deep bathymetry values at the beams furthest from the ship's track, but the beams directly beneath the ship will be erroneously shallow. Similarly, a narrower beam pattern causes erroneously shallow bathymetry values at beams furthest from the ship's track and erroneously deep values directly beneath the ship.

In both sonar installation orientations positive keel sound speed errors result in "frowns" in the cross track swath profile, while negative errors result in "smiles". The distinction to make is that the beams unaffected by these errors are beneath the ship for the former and at an angle orthogonal to the sonar array for the latter.

One final effect to point out. Multibeam sonars use beam forming both for projection as well as for reception of sound pulses. Moreover, beam forming is done, not only in the athwartships direction to create a swath, but fore and aft to increase measurement resolution. Typically the beam footprint created by the projectors on the sea floor is large compared to that created by the receivers. In this way, errors in the receive footprint still fall within that of the projection footprint. However significant sound speed errors at the keel can upset this balance lowering the signal to noise ratio of the sonar and compromising data quality.

Here's the kicker. ERRORS IN KEEL SOUND SPEED ARE (typically) NOT RECOVERABLE! Let us say that again:

Warning

ERRORS IN KEEL SOUND SPEED ARE NOT RECOVERABLE!

Because sonar systems do not save wave forms from individual hydrophones, one cannot go back and apply corrected sound speed values to beam forming calculations. This value must be correct the first time. Therefore, and it cannot be stressed enough, sonar operators must always be conscience of the correct operation of any device that provides the keel sound speed measurement to the sonar.

2.1.2.2. Sound Speed Profile Errors

Bathymetric sonar systems calculate water depths by measuring the time it takes a sound pulse to travel to the bottom and back to the receiver. To translate these time measurements into distances, one must know the speed at which sound travels through water and the general trajectory the sound traveled. As we have seen, temperature, pressure, and salinity all contribute to the speed of sound in water. Moreover, differences in sound speed across the water column acts as a lens bending the path that sound travels. For these reasons, it is imperative to have accurate sound speed profiles for any data set.

Inaccurate sound speed profiles may be the single largest correctable cause of bathymetry errors in multibeam sonar data. Understanding the various effects errors in sound speed can have on sonar data is challenging and deserves careful consideration. Even more difficult, is recognizing these errors from other sources of error in the data. A solid theoretical understanding is essential.

Errors in the sound speed profile produce predictable, although often confused, results in the data.

For example, a simple step offset in the sound speed profile will cause the calculated bathymetry to be shallower for higher sound speeds, and deeper for lower sound speeds. Not so obvious, is that relative changes in sound speed down through the water column cause sound to bend, a process called refraction. Therefore, errors in the relative changes in sound speed through the water column cause errors in the calculated sound trajectory. Because the bending is larger for sound traveling at oblique angles to the gradient, oblique beams (usually the outer ones) have more error. All of this is further complicated by the fact that sound speed profile errors high in the water column can exacerbate or offset the effects of those lower in the water column.

2.1.2.2.1. Refraction

It is convenient, when talking about sound and its travel path from a point, to consider the path as a ray. This is a common technique in wave theory, used in optics and other sciences. In a homogeneous medium sound does indeed travel in a straight line. However, when a sound wave passes between two mediums having different sound speeds its direction is bent. This is a property of waves more than sound itself, and many theories and explanations, with varying degrees of success, have been put forth over they years. While not true in all cases a simple one for illustration is offered here.

Figure 2.4. Snell's Law

Snell's Law

Consider sound wave incident on a boundary between two bodies of water having differing sound speeds as shown in the figure above. Snell's Law states that the Cosine of the initial angle of incidence divided by the initial sound speed is a constant as the sound passes from regions of differing sound speeds.

Cos (A)/ Co = Constant

Therefore, if the new region has lower sound speed, the Cosine of the angle of incidence must be less than that of the previous region. Hence the new angle of incidence is less. So one might imagine the sound bending "toward" regions of lower sound speed, in the sense that the angle of sound travel is more steep, and "away" from regions of higher sound speed in the sense that the angle of incidence is more shallow.

Then if one knows the angle that a sound wave left its source, and the sound speed profile of the medium it passes through, one can calculate the path the wave takes over its entire trip.

A slightly more complicated example is one where the sound speed of a single medium changes linearly with depth rather than at discrete depth intervals. In this scenario, the sound ray bends continuously over its travel path. It can be shown that the path the sound travels is that of the arc of a circle whose radius, R, is the ratio of the initial sound speed and the slope of the gradient (R = Co/g).[2]

This process, of calculating the course of travel of a sound ray through a water column of varying sound speed, is called "ray tracing" and is essential to sonar performance. Since sound does not travel as a straight line though the ocean, sonar systems must calculate propagation paths for both the the ping and return to calculate the correct distance and direction of the reflecting object.

2.1.2.2.2. SSP Errors and the Resulting Bathymetry

To be sure, the most likely source of sound speed profile errors is simply not measuring it frequently enough. Sound speed profiles change as bodies of waters change and whether, due to insufficiently frequent measurements or plain old inattention, inevitably sound speeds change before sonar operators notice.

But assuming your monitoring the sonar performance, and measurements have been carefully planned, we can consider the likely sources of error. Since in the open ocean temperature and pressure are the largest contributors to changes in sound speed, errors in the sensors aboard XBT and CTD sensors are of central concern. Over the relatively small temperature variation seen by these devices, temperature measurement response is typically quite linear. However inexpensive and non-calibrated sensors common on XBT's and CTD's often have step offset errors (the measurement will be off by a fraction of a degree or more over the entire range). Conversely, because pressure sensors must operate over such a large range (over to 2000 psi), they are much more prone to non-linearity (the measurement error will typically increase with depth).

Consider how these two errors would affect a sound speed profile. An constant temperature error will most significantly affect the portions of the sound speed profile in the thermocline with a proportionally smaller affect in the other regions. Conversely, a depth sensor non-linearity will most significantly affect the deep depth areas and have less proportional affect on the regions where changes in temperature dominate.

2.1.3. Spreading Loss

The energy radiated from a omni-directional transducer spreads spherically through a body of water. Since all the energy is not directed in a single direction but in all directions, much of the energy is lost. This is called spreading loss. In deep water, to a first approximation, sound spreads spherically from the source, and the power loss due to this spreading increases with the square of the distance from the source. The classical equation is TL=10 Log (r^2) or 20 Log (r) where TL is the transmission loss and r is the distance from source.[3]

In shallow water beyond a certain distance the travel of sound is bounded by the surface and the sea floor resulting in cylindrical spreading. In this case, sound power loss increases linearly with the distance from the source. The classical equation in this case is TL= 10 Log (r), again where TL is the transmission loss and r is the distance from the source.[4]

2.1.4. Absorption

As sound travels through a body of water, some of the energy in the sound waves is absorbed by the water itself resulting in an attenuation of the amplitude of the original sound wave. The amount of energy that is attenuated in the water column is frequency dependent, larger frequencies exhibiting much larger attenuation than lower ones. [5]

To a first approximation, spherical spreading and absorption losses can be approximated by TL=20 Log (r) + ar where a is a frequency dependent constant with units of dB per unit distance.

2.1.5. Reverberation

Reverberation is a measure of the time it takes a the energy of a sound pulse to dissipate within the water column. Imagine yelling "Hellooooooooo!" from the center of large arena. You'd hear all kinds of echos from the surrounding walls and seats, and since they are distant, the echoes would be delayed from your initial shout. The result would be lots of echos that might last up to several seconds "HELLOOO, Hellooo hellooooo." This is reverberation.

In music halls, reverberation is a desirable thing, as it reinforces the sound waves in a wonderful way to create a more full-sounding experience for the listeners. However in theaters reverberation is not desirable, as the repetitive echos tend to interfere with the clarity and understanding of speech.

As you might expect, the repetitive echos are also a problem for sonars. Sonars attempting to find the bottom can become confused by loud repetitive echos. The result is a drop in the signal-to-noise ratio which results in a higher concentration of false bottom detects. Of course, as the signal of interest becomes smaller the echoes become more of a problem. Hence high reverberation will tend to affect the outer beams somewhat more than the closer ones.

The conditions that cause high reverberation are similar in the ocean to those with which we are more familiar. Like a stairwell with brick walls, deep waters with acoustically hard sea floors act as good reflectors. These conditions cause the largest problems.

To be quite honest, most operators of multibeam sonar systems pay little attention to reverberation levels in the ocean. Indeed, sonars are not designed to provide any indication to the operator that reverberation levels are high. And while ocean sea floor acoustic hardness data is available these are not typically consulted prior to a cruise.

Instead, sonar operators see an increased noise level in their sonar and perhaps a narrowing of the effective swath width due to noise in the outer beams. Because these effects can be caused by any of a multitude of problems and tend to come and go, reverberation level is rarely identified as the cause.

2.2. How Sound Interacts with the Sea Floor

The amount of sound reflected from the sea floor is highly variable. It is dependent on the angle of incidence of the sound wave, (called the grazing angle), the smoothness of the sea floor, the sea floor composition, and the frequency of the sound.

Sound energy is well reflected when it bounces off a flat surface normal to the sound waves path of travel. However at an oblique angle, much of the sound is reflected at a complementary angle away from the receiver. Similarly rough surfaces tend to scatter the sound energy in directions away from the source. This generally dissipates the received sound level, but can enhance it when the angle of interception with the surface would otherwise reflect most of the sound energy away.

Some of the sound energy is lost into the sea floor itself. The amount sound energy will propagate into the sea floor is highly dependent on the frequency and bottom composition. For a typical bottom type and nominal source level, frequencies above 10kHz penetrate very little. From 1kHz to 10kHz sound often penetrates to several meters of depth. From 100 Hz to 1kHz sound can penetrate to several 10s of meters or more. Below 100 Hz sound waves have been detected traveling at various depths in the earth's crust around the globe.

2.3. Acoustic Interference

Acoustic interference is somewhat loosely defined as any unwanted acoustic source that increases the sound levels detect by the sonar with respect to the bottom signal.

2.3.1. Radiated Noise or Self Noise

For example, an increase in noise levels in and around the sonar transducers as a result of radiated noise from the host ship is one common type of interference. Typically sonar transducers are installed in the bow of a ship, well away from the engineering spaces and heavy machinery, to reduce the chances of interference problems. However sometimes the best attempts during installation to prevent radiated noise interference fail, resulting in a particularly poor performing sonar. After installation, these problems tend to be systematic and are not easily fixed.

Also common are the occasional sound shorts that radiate noise into the water column and result in poor sonar performance. These occur from improper installation of new pumps or motors, poor maintenance of devices designed to acoustically isolate pumps and other machinery from the hull, or improper stowage of gear around pumps and motors.

While research ships occasionally undergo radiated noise acoustic measurements which might identify sound shorts, they are not common. More frequently the sonar will begin to produce poor, noisy data with little or no warning. While interference of this type may affect a handful of transducers, it is important to remember that the effect won't be seen in a corresponding number of beams. Each transducer contributes to each and every beam. Therefore the increased noise levels will be seen across the entire swath. (Or in the case of a split Port/Stbd array, maybe across half the swath.) In troubleshooting these kinds of symptoms, frequently the last thing considered is an interview of the ship's Captain, First Mate and Engineer for newly installed equipment or other changes that might cause the problem. However it should not be forgotten.

2.3.2. Flow Noise

Turbulent flow in the boundary layer around the hydrophone(s) can result in flow noise that can cause acoustic interference. Careful attention to detail at the design and installation can reduce flow noise.There is a good discussion of flow noise in Chapter 11 of Urick[1983].

2.3.3. Bubble Sweep Down

Bubbles originating at the sea surface and drawn under the hull along flow lines and bubbles that result from cavitation separation are a common problem. Bubbles generate noise which can cause reception problems and they absorb acoustic energy which can cause problems on both transmit and receive.

The effects of bubble sweep down can be reduced by careful attention to detail in the design of transducer installation location and in by minimizing sharp edges and projections that can can result in separation.

2.3.4. Cross Talk

One other form of interference that is worth mentioning, is cross talk. Cross talk occurs in sonars with separate port and starboard transducer arrays and is the effect seen when signal and returns produced from one side are inadvertently detected on the other. Considerable design and thought goes into preventing this, yet, under certain configurations it can still occur. Typically the effect is seen in beams near nadir.

2.4. Signal to Noise Ratio

In the preceding sections we have talked qualitatively about "signal to noise ratio" (SNR), but we have not yet defined it in any formal way. While our goal is to provide only a cursory introduction to acoustics as it applies to sonar systems, it is instructive to look at the equation for SNR, if only briefly.

First we can define a bunch of terms, each of which are represented in decibels (dB):

SL = Source Level or the amount of sound energy that we "ping" into the water.

TS = Target Strength or the amount of sound energy that is reflected from an object (in our case the sea floor).

PL = Propagation Loss or the amount of energy lost to absorption and spreading of sound energy in the water column.

N = Noise or the amount of sound energy from other sources including reverberation, other ships, own ship, sea life, you name it. This term also includes electronic noise that is not "acoustic" in origination.

Armed with these definitions we can then write an equation for SNR, but before we do, we could review some quick math so it makes more sense. Remember that these values are expressed in dB, which is the log of the ratio of the sound intensity level to some standard level. Our "ratio" is a ratio of sound intensities, so when writing these as logarithms, to multiply the sound intensities we add the logarithms and to divide the sound intensities we subtract the logarithms. Now for the equation:

SNR = SL - PL + TS - PL - N

Reading left to right this equation makes perfect sense. Our signal starts with the source level from the transducer array (SL). The level is then reduced during propagation to the sea floor target (PL). Some amount of signal is reflected from the target (TS). This target signal is then decreased again by propagation loss back to the transducers (PL). The received signal is then reduced by are ability to discern it from the surrounding noise (N).

Written more compactly:

SNR = (SL + TS) - (2PL + N)

It is helpful to consider this equation when considering the possible sources of poor sonar performance and data quality.

2.5. Swath Mapping Sonar Systems

Blackinton(199_) defines a useful terminology for describing swath mapping sonar systems that produce bathymetric data...

2.5.1. Multibeam Echo Sounders MBES

Something about MBES.

2.5.2. Sidescan Swath Bathymetric Sonars SSBS

Something about SSBS.



[1] Ulrich p 114.

[2] Ulrich pg 123-125.

[3] Ulrich p 101.

[4] Ulrich p 102.

[5] The topic of absorption is a very interesting one. It has been found be have a much more complex mechanism than a simple viscous heating. Ionic relaxations of MgSO4 and Boric Acid (which are themselves depth, temperature and pH dependent) have been shown to have effects on the absorption of sound (> ~ 5 kHz) in sea water. (Ulrich pgs 102-111.)

Chapter 3. Surveying Your Survey with MB-System

As a start, we want to demonstrate the how to use MB-System™ to survey a data set, without any special processing. This chapter might by skipped by more experienced users, but it is a good place to start for those new to sonar data processing and MB-System™.

The standard MB-System™ distribution comes with an archive of example data sets and scripts generated using MB-System™ (MB-SystemExamples.X.Y.Z.tar.Z). When uncompressed and un-archived, the resulting directory tree will resemble the lines below.

[vschmidt@val-LDEO mbexamples]$ ls 
data mbbath mbgrid mbinfo mblist mbm_plot README xbt

The ~/data directory contains several sample data files used in some of the examples in this chapter an the next. The other directories contain scripts that demonstrate the use of several of the tools in MB-System™ .

For the purposes of the MB-Cookbook examples, a directory called ~/mbexamples/cookbook_examples has been created. While some of the data sets provided in the mbexamples archive will be used in these illustrations, other data sets have been chosen to augment them. These data sets have been placed in ~/mbexamples/cookcook_examples/other_data_sets.

3.1. Managing Your Data With mbdatalist

It is common when working within a survey, to want to plot the whole thing, and then take a closer look at a few particular points of interest. "Lets look at the data around this sea mount!" "How about a plot of yesterday's data." "What about a plot of the old data, with the new data." We can do all this with mbdatalist.

Note

While this chapter covers the processing of a single survey, Chapter 4 will explain how to organize the data from several surveys, or even several cruises, into a larger archive. Managing large data sets of this type is greatly simplified with recursive data lists created by mbdatalist.

We will first use mbdatalist to create a master file list of all the files in the survey. This list will have proper relative references, will contain the MBIO format of the files, and will have an appropriate grid weighting factor.

Note

Weighting, referred to in the paragraph above, is the process of assigning relative weights to collocated data sets, such that only those deemed most accurate or up to date are used for subsequent processing and plotting. This feature will be demonstrated more in Chapter 4: "Processing Multibeam Data".

We will then use mbdatalist to create three ancillary files for each data file. These ancillary files will greatly speed the processing of subsequent tasks. The three files are referred to as "info", "fast bathymetry" and "fast navigation." The info (".inf" suffix") contains meta-data and statistics about its parent data file. The information it contains is, in fact, identical to that created by mbinfo as we will see later. The fast bathymetry (.fbt suffix) and fast navigation (.fnv) files contain bathymetry and navigation data, respectively, in a format that can be read and processed more quickly than the original swath file format.

We can use mbdatalist to create a geographically windowed list of the files we are interested in.

Finally, we can make some cool, quick plots.

Perhaps we need an example.

In the ~/mbexamples/cookbook_examples/other_data_sets/ew0204survey/ directory you will find a collection of data files recorded with the Atlas Hydrosweep DS2 sonar aboard the R/V Ewing. These files will be used for the following examples.

First we need an initial list of the data files. This list needs to be in the directory that contains the data files themselves. This is done easily enough with the following:

cd ew0203survey/

ls -1 | grep mb183$ > tmplist 

Note

Sometimes the data files are in a write protected archive, that prevents you from just making your own local data list. What do you do then? Generate the file list with the following: find <pathtoarchivedir> -type f | grep mb183$ > tmplist. This will create a file list with relative path names to the data files, which will be carried through the subsequent steps below. Clever eh?

Now that we have a list of the files in our data directory, we can use mbdatalist to create a properly formatted data list for our subsequent MB-System™ processing.

mbdatalist -F-1 -I tmplist > datalist-1

Let us take a moment to peek inside and see what mbdatalist has done for us.

00020504090010.mb183 183 1.000000
00020504091010.mb183 183 1.000000
00020504092010.mb183 183 1.000000
00020504093010.mb183 183 1.000000
00020504094010.mb183 183 1.000000
00020504095010.mb183 183 1.000000
00020504100010.mb183 183 1.000000
...

Here we see, for each file, the file name, the format, and a default grid weight of 1. Perfect!

With our new data list in hand, we can go ahead and create the ancillary data files. Using mbdatalist again:

mbdatalist -F-1 -I other_data_sets/ew0204survey/filelist.124 -N 

The data directory now looks like this:

00020504090010.mb183
00020504090010.mb183.fbt
00020504090010.mb183.fnv
00020504090010.mb183.inf
00020504091010.mb183
00020504091010.mb183.fbt
00020504091010.mb183.fnv
00020504091010.mb183.inf
00020504092010.mb183
00020504092010.mb183.fbt
00020504092010.mb183.fnv
00020504092010.mb183.inf
...

Now that we have the ancillary files created (particularly the statistics file which is used by mbdatalist for geographic windowing) we can create a new file list geographically windowed around a particular area. In this instance, I know from my exemplary notes during the cruise, that a small survey was taken of an area bounded by the following coordinates: (W/E/S/N) 170.133/170.35/42.2/42.4. The following line creates a list of data files within the geographic bounds of interest, with all the proper details required by other MB-System™ tools.

mbdatalist -F-1 -I datalist-1 -R170.133/170.35/42.2/42.4 \
 > survey-datalist

The resulting survey-datalist looks something like this:

00020504100010.mb183 183 1.000000
00020504101010.mb183 183 1.000000
00020504102010.mb183 183 1.000000
00020504103010.mb183 183 1.000000
00020504104010.mb183 183 1.000000
00020504105010.mb183 183 1.000000
....

As you can see, each data file is listed appropriately, each format type (183) is specified, and the default weighting factor of 1 is included as well.

Now lets make some plots.

3.2. Plotting Data

Now that we've got a list of the data files of interest, we want to make some quick plots to see what we've got. These will not be the prettiest plots, as none of the data has been edited. None-the-less, MB-System™ will create nicely formatted plots, even if the data is a little unpolished.

First, perhaps we'd like to look at just the navigation data and see the ship track for this survey. To do that we call mbm_plot as shown below:

mbm_plot -F-1 -I survey-datalist -N

Here, -F-1 specifies the format, in this case "-1" indicates that the input is a list of files rather than an individual file and that the format for each file is specified in the list. Of course, -I survey-datalist is our list of data files. A navigation plot is specified with -N. With this simple line, and nothing more, we get a script that will create a navigation plot with default annotations, grid lines, tick marks, etc.. The results of executing the line above are shown below.

Plot generation shellscript <survey-datalist.cmd> created.

Instructions:
  Execute <survey-datalist.cmd> to generate Postscript plot 
<survey-datalist.ps>.
  Executing <survey-datalist.cmd> also invokes ghostview to
  view the plot on the screen.

A script was created called survey-datalist.cmd. When executed the script will create the navigation plot as a post script file and then execute ghostview to view the plot immediately. When we execute the resulting script the following plot is created:

Figure 3.1. Survey Navigation Plot

Survey Navigation Plot

Wasn't that easy? mbm_plot sets default tick marks, grid lines, and longitude and latitude annotations as well as track annotations. It takes care of centering your plot onto a single page and even adds a title. All of these details, of course, can be changed though the myriad of options to mbm_plot. Have a look at the man page for the details.

Note

For the remaining examples, only the initial mbm_plot line and the plot created from execution of the subsequent script will be shown, for the sake of brevity.

Now let us take a look at the bathymetry data itself. We might start with a color plot of the bathymetry data. One specifies plotting of the bathymetry data by indicating a "graphics" mode utilizing the "-G" flag to mbm_plot. Five graphics modes are supported:

  • mode = 1: Color fill of bathymetry data.

  • mode = 2: Color shaded relief bathymetry.

  • mode = 3: Bathymetry shaded using amplitude data.

  • mode = 4: Grayscale fill of amplitude data.

  • mode = 5: Grayscale fill of sidescan data.

Then to create a color fill of the bathymetry data, we execute the following:

mbm_plot -F-1 -I survey_filelist.124 -G1

Here is the resulting plot.

Figure 3.2. Color Bathymetry Plot

Color Bathymetry Plot

Now perhaps we'd like to add some contours to our color plot, and maybe add the navigation back in as well. A quick contour plot with default parameters can be specified with the "-C" flag.

mbm_plot -F-1 -I survey_filelist.124 -G1 -N -C

The resulting plot is shown below:

Figure 3.3. Color Bathymetry Plot with Contours

Color Bathymetry Plot with Contours

What a nice plot of the data set! We can quickly see the lay of the sea floor, maximum and minimum contours, the ship track's coverage, and oddly shaped contours here and there already give hints as to where we we might need to spend special attention in our data editing.

Just for fun, lets create the same plot with a different color scheme. mbm_plot has a few predefined palettes that do not require us to create our own color map. These can be specified with the "-W" flag followed by the color style (continuous or discrete intervals), and optionally the palette (1-5) and number of colors(11 default).The following will create the same plot with mbm_plot's "high intensity" color palette.

mbm_plot -F-1 -I survey_filelist.124 -G1 -N -C -W1/2

Here's the resulting plot:

Figure 3.4. High Intensity Color Bathymetry Plot with Contours

High Intensity Color Bathymetry Plot with Contours

mbm_plot can also quickly create shaded relief maps. These are specified with graphics mode "2" listed above, and by default produce a plot with artificial illumination from the north. The direction of illumination may be modified with the -A flag. See "COMPLETE DISCRIPTION OF OPTIONS" in the man page for more details.

mbm_plot -F-1 -I survey_filelist.124 -G2

Here's the resulting plot.

Figure 3.5. Shaded Relief Color Bathymetry Plot

Shaded Relief Color Bathymetry Plot

Finally we might wish to see a plot of the side scan data. Sidescan plotting is also specified by a graphics mode, in this case mode "5".

mbm_plot -F-1 -I survey_filelist.124 -G5

Here is the plot:

Figure 3.6. Sidescan Plot

Sidescan Plot

The plot above is not as nice as we might like. Much of shading is lost on erroneously high sidescan values which have incorrectly weighted the grayscales. The result is a fuzzy, washed out side scan image. This particular data set covers such a large range of side scan values (due to a change of several 1000's of meters in depth plus normal noise) that the side scan image looks quite poor. In this case, we will have to edit the data to remove the erroneous data spikes and then renormalize the gray scaling to get a good side scan image. We leave that to another chapter.

Now that we've explored the data sets graphically one might be interested to extract some statistics about the data set. This leads us to the next section.

3.3. Extracting Statistics

MB-System™ provides mbinfo as a simple tool to extract statistics about a data set. Actually we've already used mbinfo and didn't know it. It was called in the background on our first call to mbdatalist to create the ".inf" files for each data file. However we could have executed mbinfo on each file individually as shown below.

mbinfo -F 183 -I 00020504090010.mb183

The results are sent to STDOUT by default rather than an ".inf" file. One can optionally redirect the results to a file of the same name as the original with ".inf" appended to the end with the -O flag. The resulting file will be automatically read and utilized by several of the other MB-System™ processes.

Here is the result of executing the mbinfo line above.

Swath Data File:      00020504090010.mb183
MBIO Data Format ID:  183
Format name:          MBF_HSDS2LAM
Informal Description: L-DEO HSDS2 processing format
Attributes:           STN Atlas multibeam sonars, 
                      Hydrosweep DS2, Hydrosweep MD, 
                      Fansweep 10, Fansweep 20, 
                      bathymetry, amplitude, and sidescan,
                      up to 1440 beams and 4096 pixels,
                      XDR binary, L-DEO.

Data Totals:
Number of Records:               37
Bathymetry Data (140 beams):
  Number of Beams:             5180
  Number of Good Beams:        5106     98.57%
  Number of Zero Beams:          74      1.43%
  Number of Flagged Beams:        0      0.00%
Amplitude Data (140 beams):
  Number of Beams:             5180
  Number of Good Beams:        5106     98.57%
  Number of Zero Beams:          74      1.43%
  Number of Flagged Beams:        0      0.00%
Sidescan Data (2180 pixels):
  Number of Pixels:           73815
  Number of Good Pixels:      55276     74.88%
  Number of Zero Pixels:      18539     25.12%
  Number of Flagged Pixels:       0      0.00%

Navigation Totals:
Total Time:             0.1593 hours
Total Track Length:     3.4493 km
Average Speed:         21.6521 km/hr (11.7038 knots)

Start of Data:
Time:  05 04 2002 08:59:56.460000  JD124
Lon:  169.8792     Lat:   42.1343     Depth:  5057.7613 meters
Speed: 23.1530 km/hr (12.5151 knots)  Heading:  46.1206 degrees
Sonar Depth:    5.8000 m  Sonar Altitude: 5051.9613 m

End of Data:
Time:  05 04 2002 09:09:29.968000  JD124
Lon:  169.9084     Lat:   42.1563     Depth:  4950.8452 meters
Speed: 21.0345 km/hr (11.3700 knots)  Heading:  43.9014 degrees
Sonar Depth:    5.1000 m  Sonar Altitude: 4945.7452 m

Limits:
Minimum Longitude:     169.8268   Maximum Longitude:     169.9605
Minimum Latitude:       42.0966   Maximum Latitude:       42.1970
Minimum Sonar Depth:     4.6000   Maximum Sonar Depth:     6.7000
Minimum Altitude:     4817.2718   Maximum Altitude:     5051.9613
Minimum Depth:        4770.9467   Maximum Depth:        5347.7265
Minimum Amplitude:       7.0000   Maximum Amplitude:     241.0000
Minimum Sidescan:        2.0000   Maximum Sidescan:      255.0000

We could also have executed mbinfo on a list of data files to see summary statistics for all of them. As an example we'll use our survey list created earlier:

[vschmidt@val-ldeo cookbook_examples]$ mbinfo -F-1 -I survey-datalist

And the results...

...
Data Totals:
Number of Records:             2412
Bathymetry Data (140 beams):
  Number of Beams:           337680
  Number of Good Beams:      329580     97.60%
  Number of Zero Beams:        8100      2.40%
  Number of Flagged Beams:        0      0.00%
Amplitude Data (140 beams):
  Number of Beams:           337680
  Number of Good Beams:      329580     97.60%
  Number of Zero Beams:        8100      2.40%
  Number of Flagged Beams:        0      0.00%
Sidescan Data (4094 pixels):
  Number of Pixels:         8746103
  Number of Good Pixels:    7680282     87.81%
  Number of Zero Pixels:    1065821     12.19%
  Number of Flagged Pixels:       0      0.00%

Navigation Totals:
Total Time:             7.0001 hours
Total Track Length:   128.0750 km
Average Speed:         18.2963 km/hr ( 9.8899 knots)

Start of Data:
Time:  05 04 2002 09:59:44.485000  JD124
Lon:  170.0626     Lat:   42.2726     Depth:  4508.8810 meters
Speed:  0.0000 km/hr ( 0.0000 knots)  Heading:  44.6704 degrees
Sonar Depth:    6.0000 m  Sonar Altitude: 4502.8810 m

End of Data:
Time:  05 04 2002 16:59:44.722000  JD124
Lon:  170.2718     Lat:   42.4209     Depth:  1446.6716 meters
Speed: 21.4741 km/hr (11.6076 knots)  Heading:  35.9473 degrees
Sonar Depth:    5.4000 m  Sonar Altitude: 1441.2716 m

Limits:
Minimum Longitude:     170.0040   Maximum Longitude:     170.3616
Minimum Latitude:       42.1619   Maximum Latitude:       42.4469
Minimum Sonar Depth:     3.6000   Maximum Sonar Depth:     7.9000
Minimum Altitude:      990.7620   Maximum Altitude:     4740.1799
Minimum Depth:         973.2481   Maximum Depth:        6223.7055
Minimum Amplitude:       0.0000   Maximum Amplitude:     250.0000
Minimum Sidescan:        1.0000   Maximum Sidescan:      255.0000

Here mbinfo has created summary statistics for the entire survey . We can see that the survey lasted some seven hours covering some 128 km at an average ship speed of about 10 knots. We can see the number of beams recorded, and had any processing been done on these data files, we would see the number of beams that had been flagged for removal. We can also see the data bounds, in latitude, longitude, minimum and maximum water depth, and start and stop times.

Now that we've seen how to quickly make some nice plots and extract some basic meta-data about our data files, we can turn to the topic of processing that data.

Chapter 4. Processing Multibeam Data with MB-System

Now that we have seen how one can quickly survey a data set, both graphically and statistically, we now turn to the task of post processing sonar data with MB-System™.

4.1. Overview

4.1.1. Many Types of Sonar

MB-System™ supports many types of sonar, each of which as its own data file format. The details of processing data from each are slightly different, however, in general, the core set of steps is the same. We have attempted to capture this core set of steps in the ensuing chapter.

That said, we should quickly note that the devil is in the details. Sonar data formats, vary between sonar models - even from the same vendor. Occasionally the same model sonar differs from one ship installation to the next. In as much as possible, MB-System™ rides atop an input/output layer, MBIO, which handles these differences in the form of format identifiers as we have described. However it is a constant struggle to cater to the evolving needs of the scientific and sonar development communities, and in some instances special processing techniques are required. We have added an appendix entitled "Shipboard Multibeam Sonar Installations" in an attempt to document the varied idiosyncrasies of particular sonar systems we know about and, when appropriate, provide hints regarding how to handle their data.

4.1.2. Strategy

The processing strategy is to first survey the data and organize it in some meaningful way. Then, when they have not been provided for us by the survey ship, we calculate physical constants such as roll and pitch bias of the sonar system from sections of our own carefully taken data. Next we conduct automated and manual editing of the data to remove unwanted artifacts and erroneous segments. We edit the navigation data to ensure continuity and "reasonableness". We identify high quality sound speed profiles for regions in the data set. For sonars that produce sidescan data, we generate amplitude and grazing angle tables. Finally we apply all our physical constants, bathymetry and navigation editing changes, sound speed profiles and grazing angle tables to the data to create the final, processed, data set.

Rather that creating intermediate incremental files with each processing step, changes are tabulated in a processing parameter file. These changes are applied in the last step to create the final post processed data file. The next section is describes the parameter file in detail.

Interactive tools provided by MB-System™ utilize the editing already recorded in the parameter file to display the current state of the edited data. In this way, while the final processed file is not produced until the final step, one always works with the most recent changes applied. Because the changes are not irrevocably applied to the data files, one can conduct these steps in any order or return to any intermediate step and make changes.

A summary of the processing steps might look like the following:

  1. Determine the make and model of the sonar that recorded the data as well as the format of the data. The combination of these two will map to an MB-System™ format type, explicit delineation of which is required in many of the subsequent steps.

  2. Survey the data to get an idea of its coverage and quality. Organize the data files into directories and create data lists to aid in processing. Also make a qualitative assessment of the quality of the navigation data.

  3. Determine the sonar system characteristics, including the roll and pitch bias. Typically these values are measured periodically and kept on record by the ship's science officer, however it is never a bad idea to verify their values through independent measurement. It is a common misconception that these values do not change over the life of a ship or sonar.

  4. Identify bathymetry data that is erroneous. This is a several step process using both automated and interactive techniques to identify processing errors in the data and data plagued by excessive noise or other interference.

  5. SSP information is assumed by the sonar when calculating bathymetry from its measurements. The SSP used by the sonar may come from historical data of the survey area, direct measurements via a CTD or an XBT, or may be pulled out of thin air by the science party or ship's crew. The next step is to identify the correct SSP 's for the data set. Rarely is a single SSP sufficient for a survey. The SSP should be reevaluated on periodic intervals, with changes in bodies of water, and when the quality of the calculated data indicates a change in the SSP .

  6. Smooth incongruities from the navigation data.

  7. For sidescan data, determine amplitude and grazing angle functions.

  8. Recalculate bathymetry and sidescan data from the system constants, SSP(s), smoothed navigation, amplitude and grazing angle functions and flagged data errors to produce a final processed data file.

Remember that each of these steps are autonomous in that one may go back and recalculate, for example, the system's roll bias, creating a revised parameter file which may be then used to reprocess the original data without recalculating any of the other steps.

The following sections illustrate each of the steps above, providing examples and results along the way. While most of the examples utilize a single data set for continuity, we have included other data sets in the sound speed profile and roll bias discussions. We hope no loss of clarity results.

From Section 1.5, you will recall that these examples will primarily utilize datasets mapping the volcanic seamount Lo'ihi off the southern coast of the Big Island of Hawaii.

Now on to the processing!

4.2. Identifying the MB-System™ Data Format

The first step in processing sonar data files with MB-System™ is to identify the type of sonar that was used to record the data and the format the data files are in. MB-System™ uses this information not only for successfully reading from and writing to the data files, but behind the scenes details regarding these sonars are used in reprocessing the data files.

Hopefully this information has been recorded by the science party when the data was taken and is readily available. However at times those with the task of post processing the data are not always the ones who participated in the cruise.

MB-System™ uses a standard set of libraries for reading sonar data files. MB-System™ version 5 supports the following sonar systems, among others:

  • SeaBeam "Classic" 16 Beam Multibeam Sonar

  • Hydrosweep DS 59 Beam Multibeam Sonar

  • Hydrosweep MD 40 Beam Mid-depth Multibeam Sonar

  • SeaBeam 2000 Multibeam Sonar

  • SeaBeam 2112, 2120, and 2130 Multibeam Sonars

  • Simrad EM12, EM121, EM950, and EM1000 Multibeam Sonars

  • Simrad EM120, EM300, EM1002, and EM3000 Multibeam Sonars

  • Hawaii MR-1 Shallow Tow Interferometric Sonar

  • ELAC Bottomchart 1180 and 1050 Multibeam Sonars

  • ELAC/SeaBeam Bottomchart Mk2 1180 and 1050 Multibeam Sonars

  • Reson Seabat 9001/9002 Multibeam Sonars

  • Reson Seabat 8101 Multibeam Sonars

  • Sim-rad/Mesotech SM2000 Multibeam Sonars

  • WHOI DSL AMS-120 Deep Tow Interferometric Sonar

  • AMS-60 Interferometric Sonar

MB-System™ supports several file formats unique to each sonar type - more than can be easily listed here. However they are all clearly delineated in the man page for MBIO allowing one to easily determine the MB-System™ format for the specified sonar and file type.

You can use the mbformat tool provided by MB-System™ to determine the sonar data Format ID. Each sonar writes data files with standard naming conventions. mbformat, typically uses these naming conventions to identify the sonar data format from which it looks up the numerical Format ID.

In some cases, the naming convention doesn't provide enough clues to determine the correct format ID. For example, Simrad recently changed their sonar data format, although their file naming convention is the same (*.raw). mbformat must open these files and begin to read the data to determine if the correct format ID is 51 - for the old format, or 56 - for the new format.

If the files are renamed with some naming conventions other than that provided by the sonar system or the standard MB-System™ convention, mbformat will not recognize them. In this case one must know details regarding the sonar system and sift through the MBIO man page for the appropriate format.

For example, suppose it is known, from notes provided with the data set, that the data was taken using the SeaBeam™ - 19 beam sonar on the R/V Thomas. I might further know that the data is bathymetry only (no sidescan) and is stored in binary format. I could then look in the man page for MBIO and see the following:

           ...
           MBIO Data Format ID:  16
           Format name:          MBF_SBSIOSWB
           Informal Description: SIO Swath-bathy SeaBeam
           Attributes:           Sea Beam, bathymetry, 19 beams,
                                 binary, centered, SIO.
           ...

There we have it - "MBIO Data Format ID: 16".

4.3. Format Conversion

4.3.1. Background

Many sonar systems provide data in unwieldy or un-editable formats. Hydrosweep DS2™ data in its raw format, produces no less than 9 data files for each 10 minute segment. Simrad data files encode navigation information at non-periodic intervals within the data such that there is not a specific position associated with each ping. Some sonars do not embed automated and or manual comments into their data files. Some do not have data structures to allow the flagging of beams for editing to occur. To cope with these differences MB-System™ provides for the conversion the the "raw" data formats into one of several alternative formats defined by MBIO . These formats are native only to MB-System™ but provide, in many cases, the only way to manage, manipulate, and process the data.

Since each sonar vendor format is somewhat different, we are forced to provide specific instructions for each. While not all raw sonar data formats supported by MB-System™ are discussed here, most will fall into one of the following sections.

Note

Typically, vendor provided sonar data viewing and editing software will not be able to read the MB-System™ -only formats. If there is a chance that you will need the data in its raw format, it is best to keep backup copies of the raw data before converting it. In the case of Hydrosweep DS2™ data, the nine files are such a burden that most ships convert the data to an alternate format immediately as an automated process and provide only the condensed MB-System™ file format to scientists unless the raw data is requested.

4.3.2. SeaBeam 2100

Lucky for us, SeaBeam 2100 series multibeam sonars provide data in an amenable format right out of the box. This format is MB-System™ format 41. Typical raw data files however are named with a date-time stamp followed by ".rec". All that is required is a renaming of the files to "date-time_stamp.mb41" to facilitate operations with MB-System™.

4.3.3. Converting Your Data

If it hasn't been done already, early on in the post processing we will want to convert our sonar data to one of the condensed MB-System™ data formats. This is done with the mbcopy process. mbcopy reads data files of a specific format, optionally windows them in time or space, may average specified numbers of pings, adds comments specifying when and by whom the data was converted (if the output format supports comments), and finally converts the data to a new MB-System™ format. mbcopy can read and write from STDIN and to STDOUT making it ideal for real-time automated processes. Alternatively, it may read and write to and from specific files. The general form of mbcopy with no ping averaging looks something like the following:

mbcopy -F182/183 -I 00011209011010.fsw -O 00011209011010.mb183

Here the input and output file formats are specified (182/183), as well as the names of the files from which to read and write (-I 00011209011010.fsw -O 00011209011010.mb183). Notice that we've renamed the file with MB-System™ 's standard naming conventions of .mbID#. This will allow interactive tools such as mbedit to automatically identify the data format.

At the time of this writing, mbcopy did not yet have a built-in way to convert multiple data files. Therefore I've provided a short script I call multi-copy that can be quite helpful with larger data sets.

#!/usr/bin/perl
#
#
# Usage: ls -1 | multi-copy
#
# Val Schmidt
# Lamont Doherty Earth Observatory
# 
# This script takes a directory full to 182 format multi
# beam files and converts them to 183 format files.

while (<>){
        if (/.*fsw$/){
            chomp;
            s/\.fsw//;
            $cmd="mbcopy -F182/183 -I$_"."\.fsw"." -O".$_."\.mb183";
            #print $cmd;
            system($cmd);
        }
    }

This script works as it is to convert Hydrosweep DS2™ data in the 182 format to the 183 format. You'll have to modify it to suite your particular data format and naming conventions. For example, raw Hydrosweep files end in "fsw", so I screen the file list with the statement "if (/.*.fsw$/)". If your files end in something else you'll have to edit that line and the others appropriately.

Before we move on, we should take am moment to discuss some other details regarding translation between data formats. With few exceptions, mbcopy will translate between any two data formats - even to those of other sonars. When the input and output formats are associated with the same sonar system the complete data stream is copied to the output file. When they are not, however, only the time stamp, navigation, and beam values are copied. This allows conversion of the bulk of the data, even though some formats do not make provisions for comments or other details in the data stream.

Note

Note however, typically data that has been edited cannot be translated back into the raw sonar format to be further viewed/edited in their proprietary software.

You will find that the data files in our example data set, (loihi/MBARI1998EM300) have already been converted to MB-System™ Format ID 57.

AUTHOR'S NOTE: THERE IS MORE TO BE ADDED HERE REGARDING THE DETAILS OF INDIVIDUAL FILE AND SONAR TYPES. INVESTIGATE THE DETAILS SURROUNDING PARTICULAR SONAR SYSTEMS AND DOCUMENT THEM HERE (I.E. WHAT SUPPORTS EDITING, WHEN IT WILL BE LOST, WHAT'S RECOMMENDED FOR EACH SONAR TYPE, ETC.)

4.4. Survey and Organize the Data

With the MB-System™ Format ID identified and the files copied to a manageable format, the next step is to take a look at the data. The things we want to accomplish are:

  • Organize the data set into a larger body of data you may already have.

  • Organize the data set internally, identifying specific areas that may require special processing.

  • Get a qualitative feel for the data to better understand what we are up against. Is the data generally free of errors or are there frequent outliers in the contours? Are there any longitudinal striations that might be caused by excessive ship noise? Do the outer beams exhibit depth excursions that might be indicative of large SSP errors? The idea is not to conduct an exhaustive examination, but to pick a few files through the data set to get a rough feel for how things look.

  • Extract the Latitude and Longitude as well as depth bounds of the data set. These values aid in future calculations and provide a framework for splitting up the processing of the data into chunks based on similar environmental conditions.

  • Evaluate the navigation information embedded in the data set. Is the navigation information smooth, or are there frequent outliers? Do data sets measured over the same area result in similar bathymetry, or are they offset due to navigation errors?

4.4.1. Integrating Your Data into a Larger Set

Often research institutions may maintain an single archive of several multibeam data sets from various cruises and various surveys. We might quickly consider how one might organize such an archive, to ease the task of processing and data retrieval.

4.4.1.1. The Method

Consider our example Lo'ihi data set. The top level directory of the Lo'ihi archive provided is entitled loihi. This is actually an unfortunate name on our part. Data sets should not be organized based on geographic location, as we shall explain. It might have been more appropriately entitled multibeam_archive. But for the time being we'll stick with loihi.

Organization below the top level directory can be quite varied, however should follow a single axiom - Data sets should not be organized by parameters that are easily managed by MB-System™. Two particular examples come to mind: time and space.

Managing data sets manually, by the time or location, is difficult, if not impossible to do. A common way to organize data sets is by cruise. (Alternatively, some institutions will organize data sets by principle investigator to allow administrative control over "ownership" and release of the data.) Cruises can be further broken down into segments, such that data is grouped in portions that require like processing or are simply in smaller chunks.

An example follows with segment directories shown for just one of the cruises.

archive/ewing_0101
archive/ewing_0101/segment_001
archive/ewing_0101/segment_002
archive/ewing_0101/segment_003
archive/ewing_0102
archive/ewing_0103
archive/knorr_0101
archive/knorr_0102
archive/knorr_0103
archive/knorr_0104
archive/thom_0101
archive/thom_0102
archive/thom_0103

The granularity of the file system within the archive will differ greatly from implementation to implementation, but the general idea is the same. With the hierarchy of directories and data files in place, we then create a series of recursive datalists within each directory.

Now consider our example data. Within our top archive directory, loihi we have subdirectories for each cruise. We might have broken these down further into segments if the data warranted, but in this case it did not. A diagram of the structure and a listing of the loihi directory are provided below.

Figure 4.1. Lo'ihi Archive Data Structure

Lo'ihi Archive Data Structure
>ls -1 loihi
datalist.mb-1
datalistp.mb-1
HUGO97
MBARI1998EM300
SumnerLoihi1997
TUNE04WT

Note

For the moment disregard the file datalistp.mb-1. This data list will be used to specify that processed files are to take precedence over their unprocessed originals. The utility of this file will be covered in detail later on.

In the loihi directory we create the archive data list - datalist.mb-1. This file is a text file containing the relative path and name of each of the data lists in the successive lower level subdirectories. With each list file name is a special MB-System™ Format ID ("-1") denoting that formats will be specified in the lower recursed data lists. Also included a data weighting factor or "grid weight". The contents of datalist.mb-1 are shown below:

>cat datalist.mb-1
HUGO97/datalist.mb-1 -1 100.0
MBARI1998EM300/datalist.mb-1 -1 1.0
SumnerLoihi1997/datalist.mb-1 -1 0.1
TUNE04WT/datalist.mb-1 -1 0.001

Before we continue, consider the weighting factors above. The grid weighting factor is a way to merge multiple data sets over the same geographic area and prioritize which data will be extracted for display. Larger weighting factors take priority over smaller ones. While occasionally mitigating factors affect individual sonar performance, usually the difference in sonar quality between sonar vendor and even by vendor models are quite significant. Therefore, weighting data sets by "sonar model" is often a good practice. One might further refine the weighting factor by sonar model and ship, since differences in ship size and construction can significantly affect sonar data results. Increments between weights should be large to allow further refinement without added hassle. Toward that end, some organizations weight their datasets logarithmically as we have done here.

If we now consider the lower level data lists we see the format is similar, except now, instead of referring to lower level data lists, we refer directly to the data files themselves. For example, MBARI1998EM300/datalist.mb-1 contains a list of the data files and their format:

cat MBARI1998EM300/datalist.mb-1
mbari_1998_53_msn.mb57 57
mbari_1998_54_msn.mb57 57
mbari_1998_55_msn.mb57 57
mbari_1998_56_msn.mb57 57
mbari_1998_57_msn.mb57 57
mbari_1998_58_msn.mb57 57
mbari_1998_59_msn.mb57 57
mbari_1998_60_msn.mb57 57
mbari_1998_61_msn.mb57 57

Here no grid weight is included, although we could have specified one if a further level of granularity was required.

Note

The default behavior is for any grid weight in a particular datalist entry to override values derived from higher levels in the recursive structure. This behavior can be reversed if the text $NOLOCALWEIGHT is inserted in the data list (or in a datalist higher up in the structure).

In our Lo'ihi archive, we have only two layers of subdirectories, however we could have more. Recursive data lists would be created in a similar way, referring down through the structure until the actual data files are referenced. Typically upper level data lists are maintained manually, as they are small and easy to manipulate. However, in the lowest levels, creating a data list for a directory of hundreds of files can be cumbersome. mbdatalist can be used to generate these lists.

As an example, we'll create another data list for the MBARI1998EM300 data directory. First we need a text file with a list of the data files in the directory. To do that execute the following:

ls -1 | grep mb57 > list

We can then use this list with mbdatalist to create a data list as follows:

mbdatalist -F-1 -Ilist
mbari_1998_53_msn.mb57 57 1.000000
mbari_1998_54_msn.mb57 57 1.000000
mbari_1998_55_msn.mb57 57 1.000000
mbari_1998_56_msn.mb57 57 1.000000
mbari_1998_57_msn.mb57 57 1.000000
mbari_1998_58_msn.mb57 57 1.000000
mbari_1998_59_msn.mb57 57 1.000000
mbari_1998_60_msn.mb57 57 1.000000
mbari_1998_61_msn.mb57 57 1.000000

The results of the above command are sent to STDOUT, however the could have been redirected to a text file named datalist.mb-1 and we would essentially have the list we looked at earlier. We have now added a default grid weight of 1. Remember, the weights assigned here take precedence over those assigned higher in the recursion structure.

Note

Note that mbdatalist does not currently provide the ability to specify a weighting factor other than the default. It is primarily a data list parsing tool as we shall see in future examples. One can either manually specify the weight at a higher level in the data list recursion structure, or adjust the default grid weight via a simple shell script. The following example changes the default value to 100.

 cat datalist_old | sed 's/1\.000000/100/' > datalist_new

Finally we should remove our interim list

rm list

4.4.1.2. The Benefit

So what is the benefit of having our data in this archive, with all these recursive data lists?

Suppose you were interested in the highest quality data you have covering Lo'ihi and the surrounding area. You can now quickly make a mosaic of the various data sets, simply by referring to the archive data list rather than sorting through a myriad of data files to decide the best quality data to then refer to the files directly. Where two data sets are collocated, the data with the highest grid weight will be extracted.

As we continue with data processing, we'll create post-processed data files adjacent to the raw data files in the archive. mbdatalist allows us to insert a flag ("$PROCESSED") into any data list causing the processed versions of the data in that list, and those beneath it in the recursion structure, to be extracted rather than the raw, unprocessed data. In this way we may selectively extract the processed or non-processed data files within our data structure. As an illustration, you'll find a secondary data list in the highest level directory called datalistp.mb-1 which contains only two entries - the $PROCESSED flag and the original archive data list datalist.mb-1.

Note

Alternatively, mbdatalist can be called with the -P flag which sets the $PROCESSED flag and overrides all others.

Similar to the discussion above, a "$RAW" flag in a data list or the -U flag on the command line can be specified to explicitly extract only the unprocessed data files, either by data list or universally as above.

Suppose we want to know the geographic bounds of the entire Lo'ihi archive. We simply run mbinfo and refer to the highest level data list to get statistics regarding the entire archive.

 mbinfo -F-1 -I datalist.mb-1
...

Data Totals:
Number of Records:           191764
Bathymetry Data (135 beams):
  Number of Beams:         12119082
  Number of Good Beams:     8745488     72.16%
  Number of Zero Beams:     1590395     13.12%
  Number of Flagged Beams:  1783199     14.71%
Amplitude Data (135 beams):
  Number of Beams:          7285751
  Number of Good Beams:     5519648     75.76%
  Number of Zero Beams:      608084      8.35%
  Number of Flagged Beams:  1158019     15.89%
Sidescan Data (1024 pixels):
  Number of Pixels:        10155008
  Number of Good Pixels:    4023419     39.62%
  Number of Zero Pixels:    6131589     60.38%
  Number of Flagged Pixels:       0      0.00%

Navigation Totals:
Total Time:         -49797.0534 hours
Total Track Length: 36092.8118 km
Average Speed:          0.0000 km/hr ( 0.0000 knots)

Start of Data:
Time:  06 21 1997 19:01:07.393000  JD172
Lon: -155.2214     Lat:   18.8823     Depth:   301.0800 meters
Speed:  1.9631 km/hr ( 1.0611 knots)  Heading: 229.1400 degrees
Sonar Depth:    0.3000 m  Sonar Altitude:  300.7800 m

End of Data:
Time:  10 16 1991 21:57:55.000000  JD289
Lon: -157.8782     Lat:   21.2853     Depth:    33.0000 meters
Speed: 20.5175 km/hr (11.0906 knots)  Heading:  31.2014 degrees
Sonar Depth:    0.0000 m  Sonar Altitude:   33.0000 m

Limits:
Minimum Longitude:    -157.8801   Maximum Longitude:    -153.3829
Minimum Latitude:       18.5684   Maximum Latitude:       21.2853
Minimum Sonar Depth:    -0.4100   Maximum Sonar Depth:  1530.3800
Minimum Altitude:      -92.9500   Maximum Altitude:     5482.8000
Minimum Depth:          33.0000   Maximum Depth:        5605.0000
Minimum Amplitude:     -60.0000   Maximum Amplitude:     255.0000
Minimum Sidescan:        0.1600   Maximum Sidescan:       90.5000

In these results we see that information regarding track length, speed, and duration are incorrect. mbinfo as they become meaningless when considering multiple overlapping data sets taken on different ships at different times. However the geographic and depth "Limits" are reported correctly as are the beam statistics. For example, here we see the archive has a minimum depth of 33 meters and maximum depth of 5604 meters.

Suppose you are interested in which data files contain data covering the top of Lo'ihi. We can use mbdatalist to create an extraction data list that covers only data files containing data within specified geographic bounds, for example:

mbdatalist -F-1 -I datalist.mb-1 -R-155.5/-155/18.7/19.2

results in the following data list containing with data within the bounds -155.5/-155/18.7/19.2. :

HUGO97/mba97172L05.mb121 121 100.000000
HUGO97/mba97174L01.mb121 121 100.000000
HUGO97/mba97174L02.mb121 121 100.000000
HUGO97/mba97174L04.mb121 121 100.000000
HUGO97/mba97174L05.mb121 121 100.000000
HUGO97/mba97174L06.mb121 121 100.000000
HUGO97/mba97174L07.mb121 121 100.000000
HUGO97/mba97175L01.mb121 121 100.000000
HUGO97/mba97175L03.mb121 121 100.000000
MBARI1998EM300/mbari_1998_53_msn.mb57 57 1.000000
MBARI1998EM300/mbari_1998_54_msn.mb57 57 1.000000
MBARI1998EM300/mbari_1998_55_msn.mb57 57 1.000000
MBARI1998EM300/mbari_1998_56_msn.mb57 57 1.000000
MBARI1998EM300/mbari_1998_57_msn.mb57 57 1.000000
MBARI1998EM300/mbari_1998_58_msn.mb57 57 1.000000
MBARI1998EM300/mbari_1998_59_msn.mb57 57 1.000000
MBARI1998EM300/mbari_1998_60_msn.mb57 57 1.000000
MBARI1998EM300/mbari_1998_61_msn.mb57 57 1.000000
SumnerLoihi1997/61mba97043.d01 121 0.10000