Poster: Integrating the Generic Mapping Tools with the Scientific Python Ecosystem

2018-06-04T01:15:14Z (GMT) by Leonardo Uieda Paul Wessel
<div>Poster presented at the Asia Oceania Geosciences Society (AOGS) 2018 15th Annual Meeting at Honolulu, HI, USA.<br><b></b></div><div><b><br></b></div><div><b>Abstract</b></div><div><br></div><div>The Generic Mapping Tools (GMT) are used throughout the geosciences to processes spatial data and create publication quality data visualizations, such as contour maps, earthquake focal mechanism solutions, and animations. The software is programmed in the C language and is accessed through a command-line interface. Recent versions of GMT also provide an Application Programming Interface (API) that allows access to the core functionality from other programming languages, potentially expanding the reach of GMT far beyond the current user base. A GMT toolbox for Matlab using the API has already been released, and an experimental interface from the Julia language is being developed. We are building a software library to interface GMT with the Python programming language. Popularity of Python has grown steadily in the Earth Sciences due to its simplicity and powerful set of scientific libraries. However, there is still great need for the geospatial processing and mapping capabilities of GMT. The GMT/Python library integrates with the scientific Python ecosystem through the support of common Python data types: numpy "ndarrays" and Pandas "DataFrames" for tabular data and xarray "Datasets" for grids. We have also implemented support for the Jupyter notebooks, a web-based interactive computing environment (an example is available at <a href="http://try.gmtpython.xyz" rel="nofollow">http://try.gmtpython.xyz</a>). These features will help make GMT more accessible to students and professional geoscientists who lack an extensive background in Unix tools and shell scripting. GMT/Python is an open-source project in early stages of development. The current focus is on the implementation of a robust set of core routines that implement the bridge between Python and GMT. Later, we will expand the library to cover the entire functionality of GMT. A first release is predicted for the late 2018. The latest documentation and source code can be accessed through the website <a href="http://www.gmtpython.xyz" rel="nofollow">http://www.gmtpython.xyz</a>.<br><br><b>Notes</b><br><br>The source files for this poster can be found at <a href="https://github.com/leouieda/aogs2018-gmtpython">github.com/leouieda/aogs2018-gmtpython</a><br><br>I used the fonts Roboto Mono for code, Roboto for headings, and Barlow for other text. All can be downloaded from <a href="https://fonts.google.com/" rel="nofollow">Google Fonts</a>. The poster was made using <a href="https://inkscape.org/" rel="nofollow">Inkscape</a>. The background image is linked in the SVG file so you'll need to have it together with the SVG poster.<br></div>