# GPlates

GPlates is open-source application software offering a novel combination of interactive plate-tectonic reconstructions, geographic information system (GIS) functionality and raster data visualisation.
The GPlates software platform comprises the GPlates desktop software, command line tools, GPlates Python library (pyGPlates), GPlates web service and web application, a high-level Python encapsulation package GPlately, a plate tectonic toolkit PlateTectonicTools and a data server which serves plate reconstruction model datasets from the cloud. GPlates also supports integration with GeoServer and PostGIS databases.
By incorporating this technology stack, GPlates simplifies and streamlines data processing, integration, analysis, and visualisation to ease the workload for geoscientists. The software can be used to create new plate reconstruction models or optimize existing models.

## History

GPlates was conceived in 2002 by the following committee:
* Dietmar Müller [committee chair] (University of Sydney)
* Stuart Clark (University of Sydney)
* Mike Coffin (ORI/IFREE)
* Mike Gurnis (Caltech)
* Lawrence Lawver (PLATES/UTIG)
* Louis Moresi (Monash University/VPAC)
* Tim Redfield (PGP/NGU)
* Walter Roest (GSC)
* Trond Torsvik (PGP/NGU)
The first GPlates prototype ("GPlates 0.5") was released on 30 October, 2003. The first stable version GPlates 1.0.0 was released in 2010. The latest release is GPlates 2.3 and was released in September 2021.
In 2012, the GPlates team won the NeCTAR/ANDS #nadojo competition. And in the same year, the GPlates team started the development of GPlates Portal and Web Service. In 2014, the GPlates Web Portal and Web Service were launched.
In 2016, the first public version of pyGPlates was released. The pyGPlates beta revision 28 was released on 8 August 2020. This is the first version which supports Python3. The latest pyGPlates release is 0.36 and was released in May 2022.
In 2022, the first version GPlately was released. The latest GPlately release is 1.0.0 and was released in April 2023.
After keeping source code on Apache Subversion and SourceForge for nearly 20 years, the GPlates source code was moved to GitHub on 1 August, 2023.

## Functionality

GPlates enables both the visualization and the manipulation of plate-tectonic reconstructions and associated data through geological time:
* Load and save geological, geographic and tectonic feature data.
* Assign feature data to tectonic plates.
* Reconstruct feature data to past geological times.
* Query and edit feature properties and geometries.
* Modify reconstructions graphically.
* Visualize vector and raster data on the globe or in one of the map projections.
* Visualize sub-surface 3D scalar fields as isosurfaces or 2D cross-sections.
* Export reconstructed data as a time-sequence of exported files.
* Use plate polygons (with dynamic boundaries and deformation) to calculate velocity fields.

## Contributors

GPlates is developed by an international team of scientists and professional software developers at:
* the EarthByte group in the school of Geosciences at the University of Sydney
with past contributions from:
* the Division of Geological and Planetary Sciences (GPS) at Caltech
* the Centre for Earth Evolution and Dynamics (CEED) at the Department of Geosciences, University of Oslo, Norway
* the Geodynamics Team at the Geological Survey of Norway (NGU)

## Adoption

GPlates is used by geophysicists, students and researchers in academic institutions, government departments and industry. It has also gained currency in the creative worldbuilding community as a tool for maintaining realism or verisimilitude in geographic features. In 2019, two Australian researchers used the software to create a tectonic map of the continents within the fictional Game of Thrones universe.

## Implementation

GPlates runs on Mac OS X, Microsoft Windows and Linux. GPlates is written in C++ and uses OpenGL to render its 3D globe and 2D map views. It uses Qt as a GUI framework. The Boost C++ library has also been widely used. Other libraries include GDAL, CGAL, proj, qwt and GLEW.
GPlates uses the GPlates Geological Information Model (GPGIM) to represent geological data in a Plate tectonics context. The GPlates Markup Language (GPML) is an XML implementation of the GPGIM derived from the Geography Markup Language (GML).

## People
### Developers

* John Cannon (active) EarthByte group, The University of Sydney
    John joined the GPlates development team in 2009. He is the current lead developer of GPlates.
* Michael Chin(Xiaodong Qin) (active) EarthByte group, The University of Sydney
    Michael joined the GPlates development team in 2010. He is the architect of GPlates Portal and Web service. He is also the development lead of GPlates mobile App.
* Robin Watson (inactive) Geodynamics team, Geological Survey of Norway
* Mark Turner (inactive)
* Enoch Lau (inactive)
* James Clark (inactive)
* James Boyden (inactive)
* Hamish Ivey-Law (inactive)

### Scientists

* Professor Dietmar Müller
    Dietmar is the founder and current lead of the GPlates project.
* Professor Mike Gurnis
    Mike Gurnis is a co-founder of the GPlates project.
* Associate Professor Maria Seton
* Sabin Zahirovic
* Ben Mather
* Simon Williams

## Licensing

GPlates is released under GNU General Public License version 2.0 (GPLv2) and the source code can be found on SourceForge.

## GPlates Python Binding

The GPlates Python library (pyGPlates) enables access to GPlates functionality via the Python programming language. It allows users to use GPlates in a programmatic way and aims to provide more flexibility than the GPlates desktop interface can offer. The pyGPlates is available on Conda (conda-forge channel). The latest pyGPlates release is 0.36 which was released on 06 May, 2022.

## GPlates Web Service

The GPlates Web Service was built upon pygplates. It allows users to access the GPlates functionalities via Internet. The GPlates Web Service has been containerized. Users can deploy the Docker container locally to enhance performance and data security.

## GPlately

The GPlately Python library is a high-level encapsulation of pygplates and PlateTectonicTools. It was created to accelerate the spatio-temporal data analysis. GPlately is available on PyPI and Conda (conda-forge channel). The latest GPlately release is 1.3.0 which was released on 22 December, 2023.

## GPlates Portal

The GPlates Web Portal is a gateway to a series of GPlates-based web applications. Initially the portal was hosted on Nectar Cloud. Later on, it was migrated to Amazon Elastic Compute Cloud. Below is a list of applications in GPlates Web Portal.
* Vertical Gravity Gradient
    3D visualization of the Vertical Gravity Gradient Grid.
* Raster Reconstruction
    Reconstruct raster images through time.
* Paleomap Maker
    Data reconstruction and visualization service.
* Dynamic Topography
* IPython Sandbox
    Demonstrate how to use pyGPlates in IPython Notebook.
* Magnetic Picks
* SRTM15_PLUS Topography
* Seafloor Lithology
The Cesium JavaScript library is used to render the 3D globe in a web browser.

## GPlates Data

The "SampleData" was made available along with very software releases. Since GPlates release 2.2 the "SampleData" underwent rebranding and is now known as "GeoData". More GPlates-compatible data can be found on Research Data Australia which is the data discovery service of the Australian Research Data Commons (ARDC).

## Media

* CNN (This map lets you see where your hometown was on the Earth millions of years ago)
* The Guardian (The most detailed map of the ocean floor ever seen)
* wired.com (Super-Detailed Interactive 3-D Seafloor Map)
* Industry Advocate (Seafloor Mapping first)
* Orma (Earth Without Oceans – Stunning New Interactive Map of the Earth's Seafloor)

## Awards

GPlates was shortlisted for the Australian Research Data Commons Eureka Prize for Excellence in Research Software in 2023.

## Select publications

Below is a list of select publications of GPlates.
* Plate tectonic raster reconstruction in GPlates
* Next-generation plate-tectonic reconstructions using GPlates
* The GPlates Geological Information Model and Markup Language
* An open-source software environment for visualizing and refining plate tectonic reconstructions using high-resolution geological and geophysical data sets
* Plate Reconstructions with Continuously Closing Plates
* Visualizing 3D mantle structure from seismic tomography and geodynamic model predictions of the India-Eurasia and East Asia convergence zone
* Application of open-source software and high-resolution geophysical images to explore the plate tectonic evolution of Australia
* A Custom Implementation for Visualizing Sub-surface 3D Scalar Fields in GPlates
* The GPlates Portal: Cloud-based interactive 3D visualization of global geophysical and geological data in a web browser

## Funding

* Australian Laureate Fellowship
* AuScope
* Science and Industry Endowment Fund (SIEF)
* Australian Research Council