Paul Wessel and Walter H.F. Smith
Generic Mapping Tools (GMT) version 3 has been released and is available free of charge via Internet. The package contains all software source codes, manual pages, and documentation as well as the new shoreline databases.
Over the last 4 years we have received many helpful suggestions and bug reports from GMT users. For Version 3 these bugs have been fixed, and some of the easier suggestions for improving version 2.1.4 have been incorporated. In compiling GMT version 3, we have leaped several difficult hurdles to make three major improvements. We have also added six new programs and more map projections, improved the interface, allowed for more flexibility in reading and writing data, added new options to many programs, and fixed numerous programming errors. And for the first time, GMT comes with an "install" script, which should make installation much easier.
In an earlier article in this publication [Wessel and Smith, 1991], we introduced the GMT, a public domain collection of UNIX tools that contains a variety of programs. These programs allow users to manipulate (x,y) and (x,y,z) data (such as filtering, trend fitting, gridding, projecting, etc.) and to make Encapsulated PostScript File (EPS) illustrations, including simple x-y diagrams, contour maps, color images, and artificially illuminated, perspective, shaded-relief plots using a variety of map projections [Wessel and Smith, 1991]. GMT is written in the C language and has been installed on super-computers, workstations, and MacIntosh and IBM-type personal computers, all running some flavor of UNIX; it will likely run on other UNIX platforms with little or no modification.
As of June 1995 about 5000 scientists and engineers worldwide were using GMT in their work. This estimate is based on ftp traffic over the last few years, an electronic survey, and registration forms returned by users. Most users of GMT are geoscientists, but quite a few are not: we have heard from users in medical research, engineering, physics, mathematics, social and biological sciences, and from geographers, fisheries institutes, oil companies, and a wide range of government agencies. Most users were attracted to GMT by its graphics capabilities but some also appreciate other features such as the nonparametric statistics and robust model fitting and filtering capabilities.
Of the three major improvements, the one that we can illustrate with a figure and the most important for some users will be the new high-resolution shoreline, river, and political border database (Figure 1). We have combined the best of two well-known and public-domain databases available over Internet. One is known as the World Data Bank II or CIA Data Bank (WDB) and contains coastlines, lakes, political boundaries, and rivers. The other, the World Vector Shoreline (WVS), has higher resolution than WDB but only contains shorelines between oceans and land, no land-locked bodies of water such as lakes. We have combined these data using WVS where possible and supplementing with WDB. Together these data sets contain about 20 million data points in disjoint strings.
Fig. 1. Example of the levels of resolution available in the new shoreline, river, and political boundary data base distributed with GMT. Plot a) shows a perspective view centered on the San Juan Islands in Puget Sound, Wash. The subsequent plots are all azimuthal equidistant maps at different scales. As we zoom in on the projection center we employ increasingly higher resolution coastline data to portray adequate details at each step. The full resolution data in f) has ~50 m point separation.
Combining these data in a manner optimized for the assembly of closed polygons was not trivial. The process is described in Appendix K of the GMT Version 3 Technical Reference and Cookbook, a document which is supplied with GMT. We have prepared the GMT shoreline database in five different resolutions using a standard line-decimation algorithm. The three lowest resolutions are included with the basic GMT version 3 archive; these alone offer higher resolution than was available with the GMT version 2. Because of their large size, the full (55.7 Mbytes) and high (12.2 Mbytes) resolution versions are archived separately from the basic GMT version 3 package. They are not necessary to run GMT and are an optional installation that may be added at any time.
The second major improvement in GMT version 3 is more flexibility in data input/output (I/O). GMT continues to support ASCII I/O of time series and tabular (spreadsheet) data and netCDF I/O of gridded (image) data. However, programs that are commonly used for large throughput of data now have options for I/O in native binary formats, and programs that do I/O of images support several native binary formats and allow user-defined formats. In version 2, image data I/O was by netCDF only, and this prevented the use of UNIX pipes; in version 3 the native I/O options will allow piping, eliminating the need to read/write temporary files. GMT users who have large data processing tasks will find that these features significantly reduce processing time.
The third major improvement in GMT version 3 is a more helpful and user-friendly interface. GMT programs do not prompt the user for input; they receive all their parameters as arguments on the command line. This allows full use of the UNIX features, and GMT tools can be treated like any other UNIX tool in shell programs and pipes. In version 2, any mistake in argument syntax produced a long "usage message" telling the user how to use the program. In version 3, a complete usage message can still be obtained; however, individual syntax errors produce specific error messages that precisely identify the wrong input and how to fix it. In addition to these major changes, there are many other new features in version 3. New programs have been added to allow direct triangulation, contouring, and graphical operations on raw xyz data by constructing linear finite element triangulations of the data. Another program has been added to simplify the rendering of vector fields. Also, the map projections have been improved: all projections now allow specification of map scale or map width, making it easier to fit maps on a page. We have also added several new projections: Robinson, Eckert VI, Plate Carre, and a generic cylindrical equal area projection. This last accepts any standard latitude; by setting this to 0 degrees, 30 degrees, 37.4 degrees, or 45 degrees the Lambert, Behrmann, Trystan-Edwards, and Peters (Gall) cylindrical projections are obtained, respectively. These additions bring the number of map projections supported by GMT to 20.
Some users have sent us software they have written to interface with GMT, such as task-specific programs for plotting focal-mechanisms used by seismologists, error ellipses employed by geodesists, and routines to access GMT files from within Matlab. This software is distributed in an optional "supplements" archive. For version 3 we have added some tools to this archive to help geophysicists take advantage of data sets available over Internet and on CD-ROM.
For the version 3 release, we have distribution sites in Hawaii, the mainland United States, and Norway to make worldwide distribution more efficient. To obtain a copy, send electronic mail to listserver@soest.hawaii.edu containing the single message information gmtgroup. You will receive a shell-script that you may run automatically to install GMT on your computer. Or, see the GMT World Wide Web page (URL: http://www.soest.hawaii.edu/soest/gmt.html). If you do not have access to the Internet you may request GMT on an "exabyte" 8 mm tape, QIC-24 data cartridge, or 9-track tape (floppy diskette distribution is not available). To order a tape, include your return address and media preference and send a check for $100 payable to the University of Hawaii to Paul Wessel, SOEST, 2525 Correa Road, Honolulu, HI 96822; e-mail wessel@soest.hawaii.edu. The fee covers all materials, shipping, and handling of the tape distribution.
Acknowledgments: We thank those of you who have contributed ideas, bug reports, and advice since version 2 was released. We will continue to promote the sharing of research software and data among scientists worldwide, and will update GMT as our time and funding permits. Direct support of GMT occurred for the first time when the addition of the high-resolution coastline data was made possible by grant EAR-93-02272 from the National Science Foundation, which we gratefully acknowledge. (School of Ocean and Earth Science and Technology contribution 3918.)
Paul Wessel, School of Ocean and Earth Science and Technology, University of Hawaii at Manoa; Walter H. F. Smith, Geosciences Laboratory, National Ocean Service, NOAA
Wessel, P., and W. H. F. Smith, Free software helps map and display data, Eos Trans., AGU, 72, 441, 1991.