New NSF-EAR grant awarded to help make GMT sustainable by its community

The NSF grant number 1948602 has been awarded to the GMT team for a 3 year period to fund several aspects of GMT development, including:

  • Establishing a sustainable governance model
  • Much much needed general maintenance and restructuring of the code base (no new features, just making sure the existing code continues to work and is maintainable)
  • Bringing the community together and helping eager users transition to active project developers (let us know if that sounds like you!)

To kick off the development, we held our first GMT Online Call with participation of the core GMT team and community members. We plan to hold these regularly and post the meeting notes and recording. If you want to know what we’re up to, watch this weeks meeting:

Here is the abstract for a glimpse of what we plan to do:

The Generic Mapping Tools (GMT) is open source software infrastructure used in the Earth, ocean, and planetary geosciences. GMT supports other software platforms and delivers data processing and visualizations (graphs, charts, maps) that promote new discoveries and their dissemination to society. The primary goal of this project is to transition GMT to a governance structure that includes a broader and more diverse community of developers. This project will (1) recruit and train new and diverse developers, (2) build a broad and sustainable developer community, and (3) modernize, simplify, and strengthen the GMT software. The first two tasks are critical social activities while the last is technical, involving code hardening, interoperability improvements, interface modernization, documentation completion, and data upgrades. This project will provide training in cutting-edge computational software development and data analysis, along with engaging undergraduate students in scientifically challenging tasks related to the GMT project. The project will also facilitate ongoing user training and developer workshops.

This project is based on a vision for the future of GMT that incorporates how governance, communications, developer recruitment and training will evolve in the next decade. The project will design and implement a sustainable model for GMT maintenance and curation, and execute a series of essential technical improvements. These improvements will address a) automated testing and verification of results, b) development of GMT-powered software libraries in other languages (Python, MATLAB, Julia) and c) the recruitment of new and enthusiastic developers so that GMT may continue to be maintained and evolve in a changing computational landscape. In addition, GMT products such as coastline maps will be revised with modern high-resolution data as well as technical documentation of how updates are produced. Finally, this project will advance GMT to a sustainable environment that results in lower maintenance, greater confidence in GMT products, and a more engaged community of users and developers.

This project is jointly funded by the Geoinformatics program in the Division of Earth Sciences and the Marine Geology and Geophysics program in the Division of Ocean Sciences.


Hi @leouieda. I think it sounds like me. Is there are any requirement or skills needed to do it? Thanks.

@Esteban82, nice to hear that. What areas would you be interested in? Can you code in C? Maybe writing more using examples?

I would like to be know to code. Maybe with time I could learn C. Or do you suggest another python?

So, right know I think that could make more examples. I like to do it. In my blog I published 68 figures that I have no problem to share.

I don’t know if you need help with something else.

I don’t know exactly what should I proceed in order to collaborate. Should I go here ( Thanks.

Hi @Esteban82, sorry for delay (many things happening at same time).
Yes, that page generically explains things people can do to contribute.
And more specifically, we would like to have an ensemble of simple examples much like the mapplotlib samples

1 Like

Hi. I also have few time available. I see the examples from mapplotlib. I can do it. I have no experience with github so I don’t know exactly where I should put/write the examples. Should I create a folder? I don’t want to mess anything.

Keep an eye in this issue discussion and feel free to show up in Thursday’s meeting