Wolfram Research

Function Repository Resource:

ContinentalPlateMaps (1.0.3) current version: 1.0.4 »

Source Notebook

Plot the positions of the continental plates during various geological periods

Contributed by: Jeff Bryant

ResourceFunction["ContinentalPlateMaps"][]

plots the current positions of the continental plates.

ResourceFunction["ContinentalPlateMaps"][entity]

plots the positions of the continental plates for the geological time entity.

ResourceFunction["ContinentalPlateMaps"][entityclass]

plots the positions of the continental plates for all of the entities within the entityclass.

ResourceFunction["ContinentalPlateMaps"][quant]

plots the positions of the continental plates at the times nearest to time quantity quant in the past.

ResourceFunction["ContinentalPlateMaps"][date]

plots the positions of the continental plates at the times nearest to date object date.

Details and Options

Data is only available for discrete instants in the past.
The time spacing between available discrete sets of data may range from about 5 million years to about 150 million years, with spacing typically being larger the further back in time one goes.
Data is available back to one billion years ago.
Time quantity arguments refer to values in the past.
Specifying a time quantity returns an association of configurations within the geological period that corresponds to that quantity, unless the time quantity exactly matches one of the available time keys.
ResourceFunction["ContinentalPlateMaps"][entity, "Dates"] returns the association keys corresponding to the available data within the specified entity.
ResourceFunction["ContinentalPlateMaps"]["Entities"] returns a list of valid entities that can be operated on.
Specifying a geological period entity returns an association of configurations within that period.
Specifying an entity class returns an association with the member entities as keys.
ResourceFunction["ContinentalPlateMaps"] takes the same options as GeoGraphics, with the following additions and changes:
"ContinentStyle"GrayLevel[.7]style specification for continental plates
GeoBackgroundLightBluestyle specification for the background
GeoGridLinesAutomaticgeographic grid lines using default styling
GeoProjection"Mollweide"type of projection
"Outlines"Noneoutlines of the continental plates

Examples

Basic Examples (5) 

The default plate configuration is for the Holocene epoch:

In[1]:=
ResourceFunction["ContinentalPlateMaps"][]
Out[1]=

Query for available plate configurations during a specified geological period:

In[2]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "EdiacaranPeriod"]]
Out[2]=

Some geological periods have more than one set of configurations available:

In[3]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "PermianPeriod"]]
Out[3]=

Request the continental plates of the geological period corresponding to a specified time in the past:

In[4]:=
ResourceFunction["ContinentalPlateMaps"][Quantity[370, "Megayears"]]
Out[4]=

A single result may be returned if the provided value exactly matches one of the available time keys:

In[5]:=
ResourceFunction["ContinentalPlateMaps"][DateObject[{-360000000}]]
Out[5]=

Scope (2) 

The available dates for a given geological period can be requested:

In[6]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "PermianPeriod"], "Dates"]
Out[6]=

Some geological periods have no available data:

In[7]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "ArcheanEon"], "Dates"]
Out[7]=

ContinentalPlateMaps can be applied to any of the following geological periods:

In[8]:=
ResourceFunction["ContinentalPlateMaps"]["Entities"]
Out[8]=

Options (6) 

ContinentStyle (1) 

Continent colors can be specified using any valid graphics directive:

In[9]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "JurassicPeriod"], "ContinentStyle" -> Brown]
Out[9]=

GeoBackground (1) 

Set the background to white:

In[10]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "PleistoceneEpoch"], GeoBackground -> White]
Out[10]=

GeoCenter (1) 

Change the center:

In[11]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "CryogenianPeriod"], GeoCenter -> {0, 180}]
Out[11]=

GeoGridLines (1) 

Do not show the grid lines:

In[12]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "CambrianPeriod"], GeoGridLines -> None]
Out[12]=

GeoProjection (1) 

Use an orthographic projection:

In[13]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "PermianPeriod"], GeoProjection -> "Orthographic"]
Out[13]=

Outlines (1) 

Continental plate outlines are set to None by default but can be specified:

In[14]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "SilurianPeriod"], "Outlines" -> Red]
Out[14]=

Applications (4) 

Visualize the continental configuration when the supercontinent Rodinia existed:

In[15]:=
ResourceFunction["ContinentalPlateMaps"][
  Entity["GeologicalPeriod", "StenianPeriod"], GeoCenter -> {0, 180}][
 DateObject[{-1000000000}, "Year"]]
Out[15]=

Visualize the continental configuration when the supercontinent Pangaea existed:

In[16]:=
ResourceFunction["ContinentalPlateMaps"][
  Entity["GeologicalPeriod", "TriassicPeriod"]][
 DateObject[{-250000000}, "Year"]]
Out[16]=

Visualize the position of India as it was moving northward during the Cenozoic era:

In[17]:=
Grid[Partition[
  Reverse[Values[
    Union@ResourceFunction["ContinentalPlateMaps"][
      Entity["GeologicalPeriod", "CenozoicEra"], GeoCenter -> {0, 60},
       GeoProjection -> "Orthographic"]]], 3]]
Out[17]=

The Appalachian Mountains began to form when volcanic island arcs collided with Laurentia (core of modern North America):

In[18]:=
Grid[{Reverse[
   Values[ResourceFunction["ContinentalPlateMaps"][
     Entity["GeologicalPeriod", "SilurianPeriod"], GeoRange -> Quantity[3400, "Miles"], GeoCenter -> {-25, -60}]]]}]
Out[18]=

Properties and Relations (2) 

Because the result of ContinentalPlateMaps is an Association, the value for any key‐value pair can be obtained by supplying the key of interest:

In[19]:=
ResourceFunction["ContinentalPlateMaps"][
  Entity["GeologicalPeriod", "PermianPeriod"]][
 DateObject[{-260000000}, "Year"]]
Out[19]=

Request the continental plates for a specific date instance:

In[20]:=
ResourceFunction["ContinentalPlateMaps"][Quantity[370, "Megayears"]][
 DateObject[{-360000000}, "Year"]]
Out[20]=

Possible Issues (2) 

Not all geological periods have data available:

In[21]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "MesoarcheanEra"]]
Out[21]=
In[22]:=
ResourceFunction["ContinentalPlateMaps"][Quantity[2, "Gigayears"]]
Out[22]=

Geological time periods are organized hierarchically with eons being the longest span, then becoming shorter through eras, periods, and epochs. As a result, when requesting the continental plate configuration for a time quantity, the result corresponds to the shortest geological period that contains the specified quantity. Epochs are preferred over periods and longer time intervals:

In[23]:=
ResourceFunction["ContinentalPlateMaps"][Quantity[12, "Kiloyears"]]
Out[23]=

This corresponds to the same result as for the Holocene epoch as opposed to the Quaternary period, the Cenozoic era or the Phanerozoic eon, all of which contain the 12,000-years-ago specification:

In[24]:=
ResourceFunction["ContinentalPlateMaps"][
 Entity["GeologicalPeriod", "HoloceneEpoch"]]
Out[24]=

Neat Examples (2) 

To create an animation, first get a list of geological time entities:

In[25]:=
periods = EntityValue["GeologicalPeriod", "Entities"];

Because geological time periods are hierarchical and some are missing data in the most ancient cases, some cleaning, merging and sorting is needed to get a flat list of frames:

In[26]:=
plots = Flatten[
   Values[KeySort[
     Union /@ Merge[DeleteMissing[
        ResourceFunction["ContinentalPlateMaps"] /@ periods], Identity]]]];
In[27]:=
ListAnimate[plots]
Out[27]=

Version History

  • 1.0.4 – 14 February 2024
  • 1.0.3 – 16 September 2022
  • 1.0.2 – 14 December 2021

License Information