FRAGILE EARTH: Geological Processes from Global to Local Scales and Associated Hazards (4-7 September 2011)

Paper No. 1
Presentation Time: 14:05

THE GENERIC MAPPING TOOLS (GMT) VERSION 5


WESSEL, Paul, Dept. of Geology & Geophysics, SOEST, University of Hawaii at Manoa, 1680 East-West Rd #806, Honolulu, HI 96822, SMITH, Walter H.F., Laboratory for Satellite Altimetry, NODC, NOAA, 1335 East-West Hwy., Room 5408, Silver Spring, MD 20910, SCHARROO, Remko, Altimetrics LLC, Cornish, NH 03745 and LUIS, Joaquim, Universidade do Algarve, Campus de Gambelas, Faro, 8005-139, Portugal, pwessel@hawaii.edu

GMT is a well-established, open source collection of tools for manipulating and plotting geographic and Cartesian data sets (including filtering, trend fitting, gridding, spatial analysis, mapping, etc.). The software produces high-quality PostScript illustrations ranging from simple x-y plots via contour maps to artificially illuminated surfaces and 3-D perspective views. GMT supports ~30 map projections and transformations and comes with basic support data such as coastlines, rivers, and political boundaries; it has an estimated user base that far exceeds 10,000 users worldwide. Open source projects lower the cost of participation in the science enterprise, make sharing of resources and data simpler, facilitate reproduction and verification of results, and allow for rapid development of new capabilities that scientists require. GMT was initially developed as stand-alone executables that linked to loosely defined relatively low-level libraries. One limitation of this approach is the difficulty in leveraging GMT processing from other environments than the Unix command line. Because GMT libraries are low-level, it takes considerable programming effort and expertise to use these in custom applications. Besides, the library was apt to change frequently. For this reason, custom programs that need access to GMT’s capabilities have in practice been limited to system calls, forcing use of temporary files for input and output. Version 5 of GMT has redesigned the libraries so that much of the high-level functionality of the standard GMT executables are now accessible via a well-defined high-level Application Program Interface (API) and the main programs now represent prototype examples for future rapid development of additional tools. Other under-the-hood changes involve support for multiple cores via OpenMP threading and faster FFTs. We expect to make the GMT 5 API accessible from a variety of programming environments such as C/C++, Python, Matlab, and Fortran, and will provide complete documentation of all high-level functions. During the GMT 5 development, many other features have been added, such as improved compatibility between GMT and GIS applications via GDAL and OGR. Here, we present an overview of the new features of GMT and how we envision users and developers may benefit.