The Generic Mapping Tools (GMT) is a software package for analyzing and displaying geoscience data. GMT includes more than 80 modules that share a common set of command options, file structures, and documentation. Its power to produce publication-quality graphic presentations with complete flexibility has made it the de facto standard for a large scientific community that now includes more than 25,000 individual registered users. GMT permeates work published in journals such as Nature Geoscience, the Journal of Geophysical Research and Geophysical Journal International. The peer- reviewed publications announcing new releases of GMT have been cited more than 8000 times, the GMT website is visited by over 20,000 times per month, and logs indicate ~2000 full downloads per month.
Since 1993, the Geoscience directorate within the U.S. National Science Foundation (NSF) has supported the development, maintenance, documentation, and distribution of GMT. The community of scientists using GMT in their work has grown from the Marine Geology & Geophysics (MGG) program to include seismologists, geodesists, geodynamicists, and geologists. Although GMT serves the community’s map-making needs quite well, several aspects of GMT require updating. In addition, new scientific opportunities prompt a targeted expansion. Accordingly, PIs Wessel, Sandwell, and Feigl propose to undertake “software development and code hardening” in four areas:
(1) Extend GMT to analyze and display more diverse types of data: the proposed project will improve code for plotting velocity vectors and their uncertainties as arrows with confidence ellipses (e.g., “Q- tips”) and earthquake focal mechanisms as hemispherical projections (e.g., “beach-balls”) on cartographically correct maps. In addition, the proposers will strengthen GMT in the areas of time-series analysis, ternary diagrams, and geologic symbols.
(2) Build an Application Programming Interface (API) between GMT and Python. Currently, most users of GMT run its modules using a series of commands in shell scripts. Increasingly, the high-level language Python is emerging as a common framework for modern computational workflows. The proposed work will develop an API that will allow calling GMT modules directly from Python. This effort will build on the prototype API that is already under development in GMT5.
(3) Build tools for Interferometric Synthetic Aperture Radar: InSAR is a geodetic method for measuring the deformation of the Earth’s surface associated with earthquake-generating faults, active volcanoes, moving glaciers, and unstable landslides, as well as the engineered withdrawal and/or injection of petroleum, natural gas, geothermal fluids, and carbon dioxide. Using version 4 of GMT, Co- PI Sandwell and colleagues have developed a prototype GMTSAR supplemental package to focus, register, and analyze InSAR data. This proposed work will extend the InSAR tools to: (a) enable the interface between GMTSAR and GMT5; (b) develop two pre-processor sub-packages to ingest the new data to be provided by two new satellite missions to be launched in late 2013 — Sentinel-1 and ALOS-2; (c) further develop the ScanSAR-to-ScanSAR InSAR processing capabilities for these new data; (d) resampling phase values using a quad-tree algorithm; (e) filtering using a smoothed version of the power spectrum; (f) improve speed and portability by leveraging the new API between GMT and Python.
(4) Develop scripts for deploying GMT on the Open Science Grid (OSG). High-throughput computing will facilitate large applications of GMT involving production-mode analysis of large global data sets that can run many independent jobs in parallel. High-performance computing will speed up inverse modeling using iterative, stochastic algorithms.
Intellectual merit of the proposed activity: After more than twenty years of application, GMT has demonstrated its power to enable scientific research by facilitating both quantitative analysis and graphic display of quantitative results. The proposed activity will solidify and extend this capability using modern enabling information technology. The Python API will both streamline and accelerate workflows for modern research in geoscience and beyond.
Broader impacts of the proposed activity: The source code will be distributed, free of charge, under the GNU Lesser General Public License. The software tools to be developed under the proposed research activity will serve and enlarge a large community that already includes more than 25,000 scientists. A post-doctoral researcher who specializes in scientific data analysis and software development will receive broad training.