You are here

GRASS Multibeam Import


New Updated Version Released August 15, 2012 (see notes below)

The GRASS/Mb-Stystem program is designed to import mbio compatible multibeam data directly into the GRASS GIS.
The program is a modified version of Instead of reading an ASCII XYZ file, reads an MB-System compatible list file as shown below.

/data1/MULTIBEAM_DATA/RAW2007/07_Pingos_JD245_RAW/0050_20070902_154139_Petrel.all 56 1.0
/data1/MULTIBEAM_DATA/RAW2007/07_Pingos_JD245_RAW/0051_20070902_155508_Petrel.all 56 1.0
/data1/MULTIBEAM_DATA/RAW2007/07_Pingos_JD245_RAW/0052_20070902_161050_Petrel.all 56 1.0

The program automatically projects the MB coordinates into the current GRASS coordinates. The program also does a simple in-fill (default = 3×3) on the imported GRASS raster. The in-fill routine is taken from the GRASS program r.grow.

The program uses the following new and changed command options from

input MB-System style list-file
width Restrict data by acrosstrack distance (Max)

-a Use amplitude (default = bathymetry)
-s Use sidescan (default = bathymetry)

The percent option of (xyz) allows large datasets to be imported when system memory is restricted.


Step 1:
Create MB-System style data list.

Step 2:
Set GRASS region and resolution for importing multibeam data.

Step 3:
Import bathymetry using … inp=datalist.mb-1 out=mb_bathy_raster
Import backscatter using … -a inp=datalist.mb-1 out=mb_backscatter_raster

Updated Notes: August 15, 2012

A new version of has been released with some new options and code cleanup. A GRASS 7 version is also now available. The new options include:

  • length: allows the user to specify a minimum length for a multibeam file (default = 0.0). This allows shorter lines, such as turn lines, to be ignored during import.
  • speed: restrict data by speed (min,max). If set, it will ignore all data outside of user specified range.
  • min_beam: restrict data by minimum beam number (default = use all beams). All data less than minimum beam will be ignored.
  • max_beam: restrict data by maximum beam number (default = use all beams). All data greater than maximum beam will be ignored.
  • mode: (Simrad only) Restrict amplitude and sidescan gridding by only using pings collected in the user specified mode. Use mblist to obtain complete list of modes used during the survey.

A few options from the original that are not used have been removed.

Building Source

  1. Download the GRASS6 source code tarball here Download


  1. Download the GRASS7 source code tarball here Download
  2. Extract the tar file in GRASS source tree in raster directory.
  3. Change to directory and edit the Makefile. Edit the MB_INSTALL variable at the top of the file to set the installed location of MB-System.
  4. Run make to build program.


  • Port program to GRASS v. 7 . done
  • Improve coordinate handling. Program assumes multibeam data is in geographic coordinates and re-projects to current GRASS coordinates.
  • Improve data in-filling routine.
  • Add more gridding options such as beam restriction, weighted beams, etc.
  • Add program to directly import multibeam navigation as GRASS vector (for setting region and showing coverage). Done see mb_nav_ogr
  • Build stand-alone program that uses mbio and grids using something like the glib N-ary Tree. This would allow fast access to more complex gridding routines such as nearest neighbour.