How to Get and Install MB-System
Author: David Caress, Dale Chayes
Description: open source software for processing bathymetry and backscatter data from multibeam and sidescan sonar
Keywords: seafloor,mapping,multibeam,sonar,bathymetry,sidescan,swath processing,open,source,software

  How To Get The MB-System Source Distribution

The source code for MB-System is available as a compressed tar archive by anonymous ftp to the Lamont-Doherty Earth Observatory of Columbia University. This archive file is about 3 megabytes in size and, depending on the speed of your internet connection, may take a few minutes to transfer.

Click here to ftp the current MB-System release as a compressed tar archive.

Click here to get point-and-click ftp access to all of the MB-System related files available from Lamont (these may include data examples and beta distributions of MB-System ).

If access through the above links fails, try running ftp from a terminal shell. The following commands represent a typical anonymous ftp session (note that your@email.address literally means to enter your email address, and that many modern ftp clients do not require the "binary" command).

% ftp ftp.ldeo.columbia.edu
Name: anonymous
Password: your@email.address
> cd pub/MB-System
> binary
> get MB-System.tar.gz
> quit

If anonymous ftp fails with an error message like: "Sorry no DNS entry" after the email address is entered as the anonymous password, this means that the internet address (also called IP address) of the computer in use is not known to the Lamont network to be legitimate. As a security measure, illegitimate IP addresses are not allowed to connect to the Lamont network. The Lamont ftp server attempts to look up or resolve IP addresses using the primary Domain Name Service (DNS) servers associated with the internet as a whole. So, this problem arises when computers use IP addresses are not properly registered with the global DNS servers. This situation sometimes exists for computers connecting through improperly configured firewalls or Network Address Translation (NAT) devices. Users facing this issue can often succeed by running ftp from a "better connected" server in their organization. Otherwise, they will need to contact their internet service provider or their network/computing support staff.

Access MB-System Source Version Control System

The MB-System source code is archived and managed using Subversion, an open source version control system. The MB-System and MB-Cookbook Subversion repositories can be browsed through a web interface at:
  http://svn.ilab.ldeo.columbia.edu/
The MB-System repository is at:
  http://svn.ilab.ldeo.columbia.edu/listing.php?repname=MB-System
The entire repository, or individual files, can be downloaded through this web interface. Clicking the the link above to bring up the WebSVN interface showing the most recent revision to the MB-System code base, along with a list of paths including "branches", "tags", and "trunk". To download the entire code base, click on the "Download" link to the right of "trunk". To browse the structure and download individual files, click on the "trunk" link. Users can build MB-System using this downloaded code base, but should note that the repository stores a number of files that are not included in the MB-System distributions.

Packaged MB-System Distributions

The Scripps Institution of Oceanography's Shipboard Technical Support group maintains a repository of open source software RPM distributions for Red Hat Enterprise Linux and CentOS Linux. This repository includes both source and binary distributions of MB-System, GMT, and netCDF that can be accessed using the yum utility. The MB-System RPMs require the GMT and netCDF RPMs, but have no other external dependencies. This repository can be found at:

http://sts.ucsd.edu/repos/centos-5/local

The SIO-STS gpg signing key is

http://sts.ucsd.edu/repos/centos-5/local/RPM-GPG-KEY-STS

MB-System is included in Poseidon Linux, the "Scientific GNU/Linux". Poseidon is an Ubuntu Linux based distribution including a selection of open source software packages intended to support scientific research. In particular, it offers several specific tools in the areas of GIS, 3D Visualization, Mathematics, Statistics and several other fields of research.

MB-System has been packaged for MacOS X as part of the Fink Project. The MB-System fink package is maintained by Kurt Schwehr of CCOM/JHC UNH.

  Other Required and Suggested Software and Data

MB-System requires a number of other software packages and databases to be fully functional. These are:

- GMT version 4.5 or later: MB-System makes use of the Generic Mapping Tools (GMT) libraries and programs for much of its graphics. GMT also includes a detailed global coastline database. GMT has been developed by Professor Paul Wessel of SOEST (School of Ocean and Earth Science and Technology at the Univeristy of Hawaii) and Dr. Walter H. F. Smith of NOAA. The GMT source code is available from the GMT web page.
- NetCDF version 3.5.1 or later: Both GMT and MB-System require the NCAR netCDF library.
- Perl version 5.0 or later: Perl is a fast, well documented scripting language used widely in the Linux/Unix world. MB-System contains a number of perl scripts used both for installation and to ease common tasks. Most of the current Unix operating systems include perl. If you need to obtain the perl source code, first check with your local system administrator - you will probably find perl already available locally. The perl source code can be obtained from the GNU software archives of the Free Software Foundation.
- X11: The interactive graphical utilities in MB-System (MBedit, MBnavedit, MBvelocitytool, MBgrdviz, MBeditviz) use and require the X11 windowing system.
- Motif: The interactive graphical utilities in MB-System (MBedit, MBnavedit, MBvelocitytool, MBgrdviz, MBeditviz) use version 2 of the Motif widget set, and Motif libraries are required for these utilities to be built and to run. Most current Unix/Linux operating systems include the required Motif libraries, either in the original proprietary form (Motif), or the not-quite-open-source form (OpenMotif). If you do not have these libraries, the OpenMotif 2 source is available through Motifzone. An old alternative open source Motif-compatible distribution called LessTif does not work with the new OpenGL based MB-System programs (MBgrdviz, MBeditviz) and should be avoided.
- Levitus Database: The MB-System program mblevitus depends on a 16 MByte data file that is not included in the MB-System tarfile. Click here to ftp this file. Be sure to uncompress the file and to set the "LEVITUS" flag in the install_makefiles appropriately, as described below in the installation section.
- FFTW: The "Fastest Fourier Transform in the West" package is used by the sonagram calculation program MBbsegypsd to calculate, well, Fast Fourier Transforms. FFTW is commonly used and thus available on or for most current Unix operating systems.
- OTPSnc: The Oregon State Ocean Tide Prediction Software package is required for the tidal modeling program MBotps (which in fact is just a convenient front end for the old-style-batch interface of OTPS). The OTPSnc package can be obtained from the tidal modeling group at Oregon State University.

MB-System produces Postscript based graphics. Most current Unix operating systems provide a program which serves as a screen-based Postscript viewer. If you do not have a Postscript viewer, one option is to obtain one of several Ghostscript-based packages from the Free Software Foundation.

- ghostview: Open source screen Postscript viewer. The source code can be obtained from the GNU software archives of the Free Software Foundation.

- gv: Open source screen Postscript viewer. This package is a bit more sophisticated than ghostview and can handle poster-sized plots. The source code can be obtained from the GNU software archives of the Free Software Foundation.

Users of MacOs X should note that many of the above packages can be painlessly installed using the fink package available from the Fink Project.

How to Install MB-System

The MB-System source code is extracted by first uncompressing the tar file and then running tar:

    % tar xvzf MB-System.tar.gz

This will create a directory called (for the 5.2.1880 distribution):

    mbsystem-5.2.1880

In order to configure your installation, you must edit the perl script mbsystem-5.1.3/install_makefiles, and set a number of parameters to reflect the system architecture, the location of the installation, and the locations of certain required libraries. This script will read template makefiles in the MB-System source directories and create makefiles with the correct dependencies, compile flags, and link flags. The important parameters to be set in install_makefiles are listed below. The install_makefiles script includes comments suggesting parameters to use for many common computer systems.

These parameters must be set for all installations:

- MBSYSTEM_HOME - Absolute path to the directory containing install_makefiles.
- OS - Operating system (Recognized options are: DARWIN, LINUX, CYGWIN, SUN, IRIX, IRIX64, SOLARIS, HPUX, LYNX, CYGWIN or OTHER).
- CFLAGS - Compile flags for C source files. These vary with different operating systems and installations.
- LFLAGS - Load flags for all object files.
- NETCDFLIBDIR - Location of NetCDF library libnetcdf.a
- NETCDFINCDIR - Location of NetCDF include file netcdf.h
- GMTLIBDIR- Location of GMT libraries libgmt.a and libpsl.a
- GMTINCDIR - Location of GMT include files gmt.h, grd.h, and pslib.h
- LEVITUS - Path of Levitus global water properties data file. This is usually $MBSYSTEM_HOME/share/annual.
- PROJECTIONS - Path of PROJ4 projections database. This is usually $MBSYSTEM_HOME/share/Projections.dat.

These two parameters are required to build the graphical tools mbedit, mbnavedit, mbvelocitytool, mbnavadjust, mbgrdviz, and mbeditviz. If these parameters are not both set, no graphical tools will be built.

- MOTIFINCDIR - Location of Motif include files.
- MOTIFLIBS - X11 and Motif libraries required for graphical tools.

This parameter must be set to build the openGL tools mbgrdviz and mbeditviz:

- OPENGLLIBS - OpenGL libraries required for new graphical tools, including mbgrdviz and mbeditviz. If this parameter is not set, mbgrdviz and mbeditviz will not be built

This parameter must be set to build the sonogram calculation program mbsegypsd:

- FFTWLIBDIR - location of FFTW library providing fast Fourier transform.
- FFTWINCDIR - location of FFTW include files

This parameter must be set for the tidal modeling program mbotps to work:

- OTPSDIR - location of OTPSnc tide prediction program predict_tide.

This optional parameter can be used to specify a non-default C compiler:

- CC - C compiler to be used.

These optional parameters can be used to specify linking with an independent installation of the PROJ4 library. In this case, the PROJ4 library included with MB-System will not be built.

- PROJLIB - Path to PROJ4 library (usually libproj.a)
- PROJINCDIR - Location of PROJ4 include file proj_api.h

These optional parameters can be used to specify linking with an independent installation of the GSF library. In this case, the GSF library included with MB-System will not be built.

- GSFLIB - Path to GSF library (usually libgsf.a)
- GSFINCDIR - Location of GSF include file gsf.h

To execute install_makefiles, do the following:

    % cd mbsystem-5.2.1880

    % install_makefiles

Because install_makefiles is a perl script, the executable perl must be available in the installer's path. Once install_makefiles has been correctly configured and run, give the command "make all" to generate the executable programs:

    % make all

The make command will descend recursively down through the directory structure, compiling source files, linking object files, and copying executables and manual pages to the appropriate directories. The executables will be placed in mbsystem-5.1.3/bin, the libraries in mbsystem-5.1.3/lib, and the manual pages in mbsystem-5.1.3/man/man1.

Naturally, in order for users to use the MB-System utilities, the directory containing the executables must be included in their path. Altering the user path variable is generally accomplished by editing the initialization files hidden in the user's home directory. Which files need to be edited depends on which command line shell is being used. If the user works with csh, then the .cshrc and .login files need to be changed. If the shell is bash, then the .bashrc and .profile files must be altered. See the manual pages for the relevant shell program to determine how to set the user environment. The executable perl must also be available in the user's path for most of the macros to work.

Most users will also wish to specify which program they generally use to view Postscript plots on their screen. This parameter is set with the mbdefaults program (see the mbdefaults manual page for details). Popular open source options for Postscript display include ghostview and gv. The postscript plots can also be imported into proprietary tools like Adobe Illustrator, Adobe Acrobat, or Preview on MacOs X. On old Unix machines, pageview worked well on Sun workstations running Solaris, and xpsview on on Silicon Graphics machines running Irix.

Last Updated: $Id: mbsystem_how_to_get.html 1880 2010-12-31 08:50:04Z caress $

Back to MB-System Home Page...