MB-System Unix Manual Page

mbsystem

Section: MB-System 5.8 (1)
Updated: 22 January 2024
Index
 

NAME

mbsystem - A set of utilities for the processing and display of seafloor mapping data, particularly bathymetry, amplitude, and sidescan data from multibeam, sidescan, and interferometric sonars.

 

VERSION

Version 5.8

 

MB-SYSTEM AUTHORSHIP

David W. Caress

  Monterey Bay Aquarium Research Institute
Christian do Santos Ferreira

  Center for Marine Environmental Sciences (MARUM)

  University of Bremen
Dale N. Chayes

  Center for Coastal and Ocean Mapping

  University of New Hampshire

 

INTRODUCTION

MB-System is an open source software package for the processing and display of seafloor mapping data, particularly bathymetry and backscatter imagery data derived from multibeam, interferometry, and sidescan sonars. MB-System is freely available for download as source code that can be built and installed on Linux and OS-X computers. Documentation, tutorials, and FAQ are provided in this website. The MB-System discussion email lists allows users to engage with MB-System developers and other users from around the world.

MB-System was originally developed in 1993 at the Lamont-Doherty Earth Observatory (L-DEO) of Columbia University by David W. Caress and Dale N. Chayes with support from the Marine Geology and Geophysics program of the U.S. National Science Foundation (NSF).

MB-System is now a collaborative effort between the Monterey Bay Aquarium Research Institute (MBARI), the Center of Marine Environmental Science (MARUM) at Universität Bremen, and the Center for Coastal and Ocean Mapping (CCOM) at the University of New Hampshire. The David and Lucile Packard Foundation has provided the primary support for MB-System through MBARI since 1998. NSF supported MB-System development from its inception in 1993 through 2018.

 

WEBSITE AND SOURCE CODE REPOSITORY

The website for MB-System is hosted by MBARI, and serves as the primary source of information about this project and software:

     https://www.mbari.org/technology/mb-system/

 

SOURCE CODE REPOSITORY

The source code repository for MB-System is at:

     https://github.com/dwcaress/MB-System

 

COPYRIGHT

MB-System Copyright (C) 1993-2024 by

David W. Caress (caress@mbari.org)
Monterey Bay Aquarium Research Institute
Moss Landing, California, USA

Dale N. Chayes
Center for Coastal and Ocean Mapping
University of New Hampshire
Durham, New Hampshire, USA

Christian dos Santos Ferreira
Zentrum für Marine Umweltwissenschaften (MARUM) | Center of Marine Environmental Science (MARUM)
Universität Bremen | University of Bremen
Bremen, Deutschland | Bremen, Germany

 

LICENSING

The MB-System source code is distributed under the GNU General Public License, version 3, as formulated by the GNU Project. Early MB-System distributions were described as "public domain", which meant there was no restriction whatsoever on the use of the code. For over a decade we have adopted the more restrictive GNU GPL license in order to insure that anyone who distributes software based in whole or in part on MB-System also distributes their modified MB-System source code and any additional source code.

The file "GPL.md", located at the top of the MB-System source code distribution directory structure, contains the text of the GNU GPL version 3. This text and associated explanations are available at the GNU Project website https://www.gnu.org/licenses/gpl-3.0.en.html

The MB-System distribution includes some source code derived from packages that are distributed separately and have been authored by programmers other than the MB-System team. This includes:

The Generic Sensor Format (GSF) library source located in mbsystem/src/gsf
The GSF package is maintained and distributed by Leidos Corporation under contract to the United States Naval Oceanographic Office. The current source code can downloaded from https://www.leidos.com/products/ocean-marine and is licensed using the LGPLv2.1 open source license.

The SURF API (SAPI) library source located in mbsystem/src/surf The SAPI package was released under the GNU General Public License by Atlas Hydrographic in 2001; Atlas Hydrographic has since been acquired by Teledyne Marine Technologies Inc.

The MR1PR library source located in mbsystem/src/mr1pr This package was primarily developed by Roger Davis of the Hawaii Mapping Research Group (HMRG) at the University of Hawaii. The MR1PR source code was released without restriction by HMRG in 2000. This code is licensed as part of MB-System under the GNU General Public License (version 3).

The mb_beaudoin() function found in mbsystem/src/mbio/mb_angle.c This important function that calculates beam angles for multibeam sonars was contributed by Jonathan Beaudoin of CCOM/JHC University of New Hampshire and John Hughes Clarke of the Ocean Mapping Group, University of New Brunswick. This code is licensed as part of MB-System under the GNU General Public License (version 3).

The mb_mergesort() function found in mbsystem/src/mbio/mb_esf.c This implementation of the merge sorting algorithm derives from the GNU-Darwin Distribution. This code is released under both the Apple Public Source License Version 1.1 and the BSD license, with original copyright by the Regents of the University of California.

The Terrain Relative Navigation (TRN) algorithm and related software The TRN software included in MB-System derives from software developed by Steve Rock of Stanford University, many of Steve Rock's graduate students from 2000 through 2020, and Rob McEwen, Rich Henthorn, and Kent Headley of MBARI. The integration of TRN into MB-System was doen by Kent Headley and David Caress, and the relevant source files are found in mbsystem/src/mbtrn, mbsystem/src/mbtrnav, mbsystem/src/mbtrnframe, and mbsystem/src/mbtrnutils. This code is licensed as part of MB-System under the GNU General Public License (version 3).

 

CAVEAT

The MB-System source code and any associated documentation does not come with any warranties, nor is it guaranteed to work on your computer or to do anything useful. The user assumes full responsibility for the use of this system. In particular, David W. Caress, the Monterey Bay Aquarium Research Institute, the Lamont-Doherty Earth Observatory of Columbia University, or any other individuals or organizations involved in the design and maintenance of the MB-System software package are NOT responsible for any damage that may follow from correct or incorrect use of these programs.

 

SEE ALSO

MB-System consists of many programs, some of which are graphical tools. The following libraries, programs and macros have separate manual pages:

mbsystem(1): This manual page for the MB-System software package.
mbio(3): The MB-System input-output (i/o) library supporting many seafloor mapping data formats.

Compiled programs:

mbabsorption(1): Calculates water sound absorption as a function of water properties.
mbareaclean(1): Identifies and flags bad beams in swath sonar bathymetry data within a specified area.
mbauvloglist(1): Generate arbitrary text lists of values from MBARI AUV mission log files.
mbauvnavusbl(1): Merge inertial and surface tracking navigation for submerged sonar platforms (e.g. ROVs and AUVs).
mbbackangle(1): Generates corrections for sidescan and/or amplitude data by calculating average amplitudes as a function of the seafloor grazing angle.
mbclean(1): Identifies and flags bad beams in swath sonar bathymetry data.
mbconfig(1): Provides command line access to the MB-System version and to the locations of the levitus database and the OTPS tidal correction software.
mbcopy(1): Copy swath sonar data files.
mbctdlist(1): List CTD data in swath sonar data files.
mbdatalist(1): Parses recursive datalist files and outputs the complete list of data files and formats.
mbdefaults(1): Set or list default mbio parameters for reading and writing swath sonar data
mbdumpesf(1): mbdumpesf reads an MB-System edit save file and dumps the contents as an ascii table to stdout.
mbedit(1): Interactive editor used to flag bad beams in swath sonar bathymetry data.
mbeditviz(1): Interactive 3D visualization bathymetry editing and attitude bias patch test.
mbextractsegy(1): Extract subbottom profiler or center beam reflection data to segy files.
mbfilter(1): Apply one or more simple filters to sidescan and/or beam amplitude data.
mbformat(1): List information about swath sonar data formats supported by the MBIO library.
mbgetesf(1): Extract bathymetry edits in edit save file format.
mbgpstide(1): Generate tide files from the height above ellipsoid data in the 'h' datagrams of Kongsberg multibeam data files
mbgrdviz(1): Vizualize GMT grids.
mbgrid(1): Grid bathymetry, amplitude, and sidescan data from swath sonar data files.
mbhistogram(1): Obtain histogram of bathymetry, amplitude, or sidescan data from swath sonar data files.
mbinfo(1): Output some basic statistics of swath sonar data files.
mblevitus(1): Create a water velocity profile which is representative of the mean annual water column for a specified 1 degree by 1 degree region.
mblist(1): List data in swath sonar data files.
mbmakeplatform(1): Create or modify an MB-System platform file, which represents a survey system as a set of sensors with positional and angular offsets.
mbmosaic(1): Mosaic sidescan and amplitude data.
mbnavadjust(1): Package that solves for optimal navigation by matching bathymetry of overlapping swathes.
mbnavadjustmerge(1): Merge two mbnavadjust projects.
mbnavedit(1): Interactive editor used to fix problems with navigation in swath sonar data files.
mbnavlist(1): List navigation data in swath sonar data files.
mbotps(1): Generate open ocean tidal model for specified time and location using the Oregon State Tidal Prediction Software (OTPS) package.
mbpreprocess(1): Perform preprocessing of the logged data comprising a survey, including applying lever arm corrections (if necessary) and setting up the MB-System processing environment.
mbprocess(1): Process swath sonar data files, including merging navigation, applying bathymetry edits, recalculating bathymetry by raytracing, and applying a variety of other corrections.
mbrollbias(1): Evaluate the roll bias of a swath sonar system using two pieces of coincident bathymetry data collected with opposing ship headings.
mbrolltimelag(1): Estimate attitude time lag by cross correlation of apparent bottom slope with the roll time series:
mbroutetime(1): Outputs a list of the times when a survey passes the waypoints of a planned survey route.
mbsegygrid(1): Generate time vs. trace number grids of seismic data from segy files.
mbsegyinfo(1): Output some basic statistics of segy seismic data files.
mbsegylist(1): List selected header values in segy seismic data files.
mbsegypsd(1): Calculates the power spectral density function of each trace in a segy data file, outputting the results as a GMT grid file..
mbset(1): Create and modify parameter files used to control mbprocess.
mbsslayout(1): Translate time-based sidescan sonar data into backscatter laid out into a regular array of pixels on the seafloor by projecting onto a topographic model.
mbstripnan(1): Filter to remove NaN nodes.
mbsvplist(1): Extract water sound velocity profiles (SVPs) from swath data files.
mbsvpselect(1): Select the best available sound speed model for each swath file in a survey according to user specified criteria.
mbtime(1): Converts between calendar time and unix time.
mbvelocitytool(1): Interactive program for modeling the affect of the water velocity profile on swath sonar bathymetry calculations.
mbvoxelclean(1): mbvoxelclean identifies and flags artifacts in swath bathymetry data using a 3D density filter. .

Alphabetical List of GMT Modules:
MB-system also includes four plug-in modules for the GMT software package that are built as a shared library that can be called by GMT.


mbcontour(1): GMT plug-in that generates GMT Postscript color contour plots of swath bathymetry.
mbgrdtiff(1): GMT plug-in that generates a GeoTIFF image from gridded data.
mbswath(1): GMT plug-in that generates GMT compatible Postscript color and color shaded relief plots of swath bathymetry and backscatter data.
mbgrd2obj(1): GMT plug-in that translates a topography grid to an OBJ format 3D model file for visualization and 3D printing

Alphabetical List of Macros:
Macros are executable shellscripts which make use of programs from the MB-System and other software packages to accomplish common tasks easily. Some are written in Perl and others in Python3.

mbm_arc2grd(1): Convert an ArcView ASCII grid file to a GMT grid file.
mbm_copy(1): Translate groups of swath data files between formats
mbm_bpr(1): Process data from a Seabird SBE53 pressure sensor into a tidal model for use by mbprocess.
mbm_fmtvel(1): Scans a Hydrosweep swath sonar data file using the program mbhsdump and generates a list in columnar format with time, date, latitude, longitude, C-mean, and C-keel entrys.
mbm_grd2arc(1): Convert a GMT grid file to an ArcView ASCII grid file.
mbm_grd3dplot(1): Reads a GMT GRD grid file and writes a shellscript which will generate a GMT 3D perspective view of the data.
mbm_grdcut(1): Extract a subarea of a GMT grid file.
mbm_grdinfo(1): Get information regarding a GMT grd file when the region of interest is a subset of the area covered in the input file.
mbm_grdplot(1): Reads a GMT GRD grid file and writes a shellscript which will generate a GMT map of the data.
mbm_grdtiff(1): Reads a GMT GRD grid file and writes a shellscript which will generate a TIFF image of the data.
mbm_histplot(1): Create an executable shellscript which will generate a GMT histogram plot of a dataset.
mbm_makesvp(1): Generate a sound velocity profile model from sound speed and depth values in swath files.
mbm_multicopy(1): Translate groups of swath data files between formats using parallel processes.
mbm_multidatalist(1): Generates ancillary files used in data management using parallel processes.
mbm_multiprocess(1): Apply specified processing tasks to a swath data file using parallel processes.
mbm_plot(1): Reads a swath sonar data file and writes a shellscript which will generate a swath and/or contour plot of the data.
mbm_route2mission(1): Translate an mbgrdviz survey route file into an MBARI AUV mission script.
mbm_stat(1): Runs mbinfo on a swath sonar data file and extracts beam statistics from the output of mbinfo.
mbm_utm(1): Performs forward and inverse UTM projections of ASCII data triples.
mbm_xbt(1): Processes a Sparton XBT data file and outputs a sound velocity profile file which can be used to process swath sonar data.
mbm_xyplot(1): Reads one or more xy data files and writes a shellscript which will generate GMT plot of the data.

Deprecated Programs and Macros:
These are programs and macros that are no longer used, and are not built by default when MB-System is installed. If required, these can be built and installed with a special argument to the CMake build system.

mbhsdump(1): List raw information contained in Hydrosweep DS data files (formats 21 and 24).
mbhysweeppreprocess(1): Preprocess Hysweep HSX data (format 201), including applying time lag and biases to attitude and navigation data.
mbkongsbergpreprocess(1): performs preprocessing of data from third generation Kongsberg multibeam sonars (e.g. EM122, EM302, EM710).
mbneptune2esf(1): Extract bathymetry edits from Simrad Neptune software into edit save file format.
mbps(1): Simple perspective views of swath bathymetry in Postscript.
mbswplspreprocess(1): Preprocess SwathPlus SXP data (format 222), including applying time lag and biases to attitude and navigation data.
mb7k2jstar(1): Extract Jstar format (format 132) sidescan and subbottom data from Reson 7k (format 88) data files.
mb7k2ss(1): mb7k2ss extracts Edgetech sidescan sonar data from Reson 7k format data, bins and lays the sidescan onto the seafloor, and outputs files in the MBF_MBLDEOIH formst (MBIO format id 71).
mb7kpreprocess(1): Preprocess Reson 7k data (format 88), including applying time lag and biases to attitude and navigation data.
mbm_grd2geovrml(1): Create and execute commands which generate a TerraVision tileset and GeoVRML set of files that can be combined with other data and viewed in a web browser.
mbm_grid(1): Reads a swath sonar data file and writes a shellscript which will grid bathymetry data or mosaic sidescan (or amplitude) data using reasonable guesses at the appropriate grid bounds and bin size.

 

BUGS

It doesn't do everything we want it to yet, it doesn't work with every kind of seafloor mapping data ever collected, and sometimes it breaks.


 

Index

NAME
VERSION
MB-SYSTEM AUTHORSHIP
INTRODUCTION
WEBSITE AND SOURCE CODE REPOSITORY
SOURCE CODE REPOSITORY
COPYRIGHT
LICENSING
CAVEAT
SEE ALSO
BUGS


Last Updated: 22 January 2024


<< MB-System website | MB-System Documenation>> | MB-System Manual Page List