The GMT ecosystem

A bit about main GMT, the external interfaces, and derived projects (GMTSAR, MB-System).

Core GMT

The core GMT API library lies at the center of GMT. It powers the command-line modules typically scripted in shell languages (bash, csh, etc). It can also be linked with a user’s custom C or C++ program to extend GMT into discipline-specific processing or plotting for applications not currently supported by the core GMT package.

GMT interfaces


The GMT/MATLAB toolbox allows users of MATLAB and Octave to write scripts in those environments that calls the GMT modules directly. Users can pass and retrieve data from and to their environment and benefit from the best of both worlds.


The GMT.jl wrapper is intended not only to access GMT from within the Julia language but also to provide a more modern interface to the GMT modules by fully expanding the compact syntax into long options names.


A Python library for accessing GMT’s plotting and data processing capabilities from a simplified, object-oriented interface that is compatible with the Jupyter notebook.

Software relying on GMT


An open source (GNU General Public License) InSAR processing system based on GMT and designed for users familiar with Generic Mapping Tools (GMT). The code is written in C and will compile on any computer where GMT and NetCDF are installed.


An open source software package for the processing and display of bathymetry and backscatter imagery data derived from multibeam, interferometry, and sidescan sonars.