PaleoProTM for ArcGISTM Pro
The Rothwell Group, L.P., © 2025
PaleoPro Plate Model Manual
Version 2.0
Table of Contents
Single Pole Crossovers - A Common Crossover Error
PaleoPro plates models are contained in file geodatabases. The model must contain certain feature classes and tables to work correctly in PaleoPro. In addition, there are optional feature classes and tables that can be included to improve the user experience with the model or to provide additional supporting data.
The following items are required to be in the plate model: 1) plate model settings table, 2) a rotation table, 3) cookie-cutter feature class 4) a display layer and 4) a timescale table.
The plate model settings table contains a number of required and optional settings that control model operation and appearance. Detailed descriptions for each model setting can be found here.
The plate model settings table must be called “MODEL_SETTINGS” and it must contain the following two columns the indicated column names:
Column Name | Type |
Setting | Text |
Value | Text |
Example model settings table with sample setting values:
The cookie-cutter feature class is a polygon feature class representing present day plates that is used to intersect (i.e., cookie-cut) user layers that are to be reconstructed.
The name of the cookie-cutter feature class must be indicated in the COOKIE_CUTTER_FEATURE_CLASS model setting.
There are three attribute columns that are required to be in the cookie-cutter feature class. You can choose the names for these columns, and the selected names must be indicated in the model settings table.
Required Cookie-Cutter Feature Class Columns:
Column | Type | Name | Setting |
Plate Code | Long | Set by user | COOKIE_CUTTER_PLATE_COLUMN |
Appearance (values in Ma) | Double | Set by user | COOKIE_CUTTER_APPEARS_COLUMN |
Disappearance (values in Ma) | Double | Set by user | COOKIE_CUTTER_DISAPPEARS_COLUMN |
Rotation tables contain the poles of rotation for your plate model. Your model file geodatabase must contain at least one rotation table, but it can have more than one. You can give these tables any name you like. Each rotation table must have a corresponding setting (ROTATION_TABLE_x) in the model settings table. For example, if there are two rotation tables, “MyFirstRotationTable” and “MySecondRotationTable”, you must have ROTATION_TABLE_1 and ROTATION_TABLE_2 settings in the model settings and the value for each setting will be the name of each table:
Setting | Value |
ROTATION_TABLE_1 | MyFirstRotationTable |
ROTATION_TABLE_2 | MySecondRotationTable |
When there are multiple rotation tables, the numeric suffix at the end of each rotation table setting determines how the poles in each table are used by PaleoPro: if there are poles for a certain plate code in multiple tables, the poles in the table with the highest setting suffix number will be used in reconstructions. For example, referring to the table above, if there are poles for plate code 201 in both MyFirstRotationTable and MySecondRotationTable, the poles for for 201 in MySecondRotationTable will used for reconstructions because its setting (ROTATION_TABLE_2) has the highest suffix number.
There are seven required columns for each rotation table and one optional column. You can choose the names for these columns, and the selected names must be indicated in the model settings table.
Required Rotation Table Columns:
Column | Type | Name | Setting |
Plate Code | Long | Set by user | ROTATION_PLATE_COLUMN |
Age (values in Ma) | Double | Set by user | ROTATION_AGE_COLUMN |
Latitude (values in decimal degrees) | Double | Set by user | ROTATION_LATITUDE_COLUMN |
Longitude (values in decimal degrees) | Double | Set by user | ROTATION_LONGITUDE_COLUMN |
Angle | Double | Set by user | ROTATION_ANGLE_COLUMN |
Reference Plate | Long | Set by user | ROTATION_REFPLATE_COLUMN |
Comment | Text | Set by user | ROTATION_COMMENT_COLUMN |
Optional Rotation Table Column:
Column | Type | Name | Setting |
Active (value = 0 or 1) | Short | Set by user | ROTATION_ACTIVE_COLUMN |
The “active” column is used to indicate which poles should be used during reconstructions. If the column value is “1” the pole will be used, and if it is “0” the pole will be ignored. If a rotation table doesn’t have an “active” column, PaleoPro will assume that all poles should be used during reconstructions.
To easily create an empty rotation table, first make sure all of the rotation table settings exist and are populated in the model settings table, then use the PaleoPro Create New Rotation Table tool (Plate Model Tools ribbon > Rotation Table button > Rotation Table Tools dockpane) to create the new table with all of the appropriate columns. The will tool also add a ROTATION_TABLE_x setting for the new table to the model settings table. Instructions for using the Create New Rotation Table tool can be found in the PaleoPro PaleoPro User Manual.
Example rotation table:
Most rotation tables contain “crossovers” where there is a transition between reference plates for a given plate at a given age. Crossovers must be implemented in a specific way to be compatible with PaleoPro. This is explained in detail in the Crossovers section of this document.
Display layers are feature classes contained in the plate model geodatabase that are automatically added to the map when the model is loaded. Models must have at least one display layer. The cookie-cutter feature class is usually (but not always) a display layer. Each display layer must have a corresponding setting (DISPLAY_DATA_LAYER_x) in the model settings table. For example, if there are two feature classes “PlatePolygons” and “Countries” that you want to use as display layers, you must have DISPLAY_DATA_LAYER_1 and DISPLAY_DATA_LAYER_2 settings in the model settings and the value for each setting will be the name of each feature class:
Setting | Value |
DISPLAY_DATA_LAYER_1 | PlatePolygons |
DISPLAY_DATA_LAYER_2 | Countries |
The number at the end of the setting indicates the stacking order of the layers in the map, with “1” being on the bottom. So in the example above, the “PlatePolygons” layer would be the bottom layer in the map and the “Countries” layer would be on top of it.
Display layer feature classes should be pre-cookie-cut (i.e., already intersected with the cookie-cutter feature class). This improves the user experience by allowing the model to load more quickly since these layers would otherwise need cookie-cutting when the model is loaded.
The timescale table can contain any timescale you would like to have in the PaleoPro Age drop-down menu.
There are three columns that are required to be in the timescale table. You have the option of a) choosing the names for these columns, and the selected names must then be indicated in the model settings table, or b) the columns can have the default names shown in the table below, and you do not need to populate the model settings for these columns.
Required Rotation Table Columns:
Column | Type | Name | Setting |
Geologic age name | Text | Set by user or default value: NAME | TIMESCALE_AGE_NAME_COLUMN |
Geologic age older age boundary (values in Ma) | Double | Set by user or default value: OLDER | TIMESCALE_OLDER_COLUMN |
Geologic age younger age boundary (values in Ma) | Double | Set by user or default value: YOUNGE | TIMESCALE_YOUNGER_COLUMN |
Example timescale table:
This section describes ways to improve the user experience and make your model more informative by adding optional content to the model.
Saving display layer symbology (i.e., .lyrx files) in your model makes it so that when the model map loads, display layers are automatically symbolized in a way that makes the map easier to interpret. Symbology can be easily saved using the Symbology tool on the PaleoPro Plate Model Tools ribbon. Instructions for using the Symbology tool can be found in the PaleoPro User Manual.
You can add pre-reconstructed data layers for various ages to your model that can add valuable information to reconstructions. These layers are called “timeslices”, and PaleoPro automatically adds these layers to reconstruction maps if they are available for the selected reconstruction age. To add timeslices to your model, you must save the timeslice feature classes in the plate model geodatabase. Then use the Timeslice Manager tool on the PaleoPro Plate Model Tools ribbon to set up the timeslice in the model and to save symbology for each timeslice. Instructions for using the Timeslice Manager tool can be found in the PaleoPro User Manual.
The plate names table allows you to associate a plate name with each plate code in the model. When the user sets a fixed plate, the plate name for the selected plate is then included in the tooltip that appears when the user hovers their mouse over the Fixed Plate button:
The plate names table must be called “PLATE_NAMES and it must contain the following two columns with the indicated column names:
Column Name | Type |
PLATE_NAME | Text |
PLATE_CODE | Long |
Example plate names table:
Setting | Required | Description |
CITATION | No | Text that will be displayed in the label in each reconstruction/animation map. |
COOKIE_CUTTER_APPEARS_COLUMN | Yes | Cookie-cutter feature class appearance age column name. |
COOKIE_CUTTER_DISAPPEARS_COLUMN | Yes | Cookie-cutter feature class disappearance age column name. |
COOKIE_CUTTER_FEATURE_CLASS | Yes | Name of the polygon feature class that will be used to intersect user layers. |
COOKIE_CUTTER_PLATE_COLUMN | Yes | Cookie-cutter feature class plate code column name. |
DISPLAY_DATA_LAYER_x | No | Name(s) of feature class(es) contained in the plate model geodatabase that are automatically added to the map when the model is loaded. Each display layer feature class must have its own setting, and the “x” in the setting must be replaced with a number, for example DISPLAY_DATA_LAYER_1. The number at the end of the setting indicates the stacking order of the layers in the map, with “1” being on the bottom. |
DISPLAY_PROJECTION | No | The map projection that will be used to display the map when the model is loaded. This value must be the numeric ESRI factory code for the desired projection. These codes are are available in the “Value” column in the tables at the following links: ESRI projected coordinate systems 1 ESRI projected coordinate systems 2 ESRI projected coordinate systems 3 ESRI projected coordinate systems 4 If this setting is missing or its value is empty, the map projection will default to Plate Carree (factory code: 54001). |
MAXIMUM_RECONSTRUCTION_AGE | No | The oldest age (in Ma) for which this model is valid. PaleoPro will not allow the user to reconstruct to ages greater than this value. This setting also determines the maximum timescale age that is available in the PaleoPro Age dropdown menu. This setting value must be numeric. If this setting is missing or its value is empty, the maximum reconstruction age will default to 4500 Ma. |
MINIMUM_RECONSTRUCTION_AGE | No | The youngest age (in Ma) for which this model is valid. PaleoPro will not allow the user to reconstruct to ages lower than this value. This value is usually 0 (present day) or a negative number (future age) This setting also determines the minimum timescale age that is available in the PaleoPro Age dropdown menu. This setting value must be numeric. If this setting is missing or its value is empty, the minimum reconstruction age will default to -100 Ma. |
MODEL_DISPLAY_NAME | No | The model name that will be used in the PaleoPro Models drop-down menu. If this setting is missing or its value is empty, the name of the plate model file geodatabase will be used. |
MODEL_INFORMATION_URL | No | A URL for a website with information about the plate model. When the plate model is loaded in PaleoPro and the Model Info button is clicked, a browser will open to the provided website. If this setting is missing or its value is empty, the Model Info button will be disabled. |
ROTATION_ACTIVE_COLUMN | No | Rotation table column active column name. If this setting is missing or its value is empty, PaleoPro will assume that all poles should be used during reconstructions. Used to indicate which poles should be used during reconstructions. |
ROTATION_AGE_COLUMN | Yes | Rotation table age column name. |
ROTATION_ANGLE_COLUMN | Yes | Rotation table angle column name. |
ROTATION_COMMENT_COLUMN | Yes | Rotation table comment column name. |
ROTATION_LATITUDE_COLUMN | Yes | Rotation table latitude column name. |
ROTATION_LONGITUDE_COLUMN | Yes | Rotation table longitude column name. |
ROTATION_PLATE_COLUMN | Yes | Rotation table plate code column name. |
ROTATION_REFPLATE_COLUMN | Yes | Rotation table reference plate column name. |
ROTATION_TABLE_1 | Yes | Name of the plate model rotation table. Models can contain multiple rotations tables, in which case a “ROTATION_TABLE_x” setting must be added for each additional table. For example, the setting for a second rotation table would be “ROTATION_TABLE_2”. |
TIMESCALE | No | The name of the timescale used by the plate model. Note: This setting is not currently used in PaleoPro, but it may be used in future versions. |
TIMESCALE_AGE_NAME_COLUMN | No | Timescale table geologic age name column name. If this setting is missing or its value is empty, the default value “AGE” will be used and you should verify that this is actually the name of the column in the timescale table. |
TIMESCALE_OLDER_COLUMN | No | Timescale older age column name. If this setting is missing or its value is empty, the default value “OLDER” will be used and you should verify that this is actually the name of the column in the timescale table. |
TIMESCALE_TABLE | Yes | The name of the table timescale table in the plate model file geodatabase. |
TIMESCALE_YOUNGER_COLUMN | No | Timescale younger age column name. If this setting is missing or its value is empty, the default value “YOUNGER” will be used and you should verify that this is actually the name of the column in the timescale table. |
VERSION | No | Plate model version information |
Rotation table crossovers are used to perform a transition between reference plates for a given plate at a given age. Each crossover is represented in the table by two poles of rotation: one containing the reference plate for before the transition and one containing the reference plate for after the transition.
There are two methods (described in detail below) for implementing crossovers in the rotation table that are compatible with PaleoPro:
Method 1) Make age values on both sides of the crossover unique.
Method 2) Use the same age value for both sides of the crossover.
Making the age values on both sides of the crossover unique is the most robust method for implementing crossovers. With this method, the age on the younger side of the crossover should be very slightly less than the age on the older side of the crossover, or the age on the older side of the crossover should be very slightly greater than the age on the younger side of the crossover. The age values can be carried out to up to 15 decimal places in order to minimize the age delta between the two poles.
This method provides complete control over when the reference plate transition occurs. For example, for a plate with a crossover at 20 Ma, if the if the age for the pole on the younger side of the crossover is 19.9999 Ma, and the age for the older side is 20 Ma, reconstructions at 19.9999 Ma and younger will use the younger pole (and its reference plate) to calculate the reconstructed location for the plate and reconstructions to 20 Ma and greater will use the older pole.
Note: For consecutive crossovers (i.e., two more crossovers occurring at ages which are not separated by at least one age with a non-crossover pole) this method must be used to ensure that the correct reference plate is being used for reconstructions at or between the consecutive crossover ages. This is especially important for plates where the reference plate before and after the two crossovers is the same, such as in the example below where the reference plate before 124 Ma and after 132.09999 Ma is 702.
Method 1 for implementing crossovers is illustrated in the figure below where there are three crossovers for plate 501 at 83.5, 124, and 132.1 Ma. The age value of the first record in each crossover pair has been set to be 0.00001 smaller than the second record.
In this method for handling crossovers, the same age value is used for both poles in the crossover pair. In this case, reconstructions to ages younger than the crossover will use the younger pole in the calculation of the interpolated reconstruction pole for the plate, and reconstructions to ages older than the crossover will use the older pole. However, for reconstructions to the exact crossover age, either of the crossover poles might be used for the reconstruction because PaleoPro uses the first pole it encounters when one or more poles exist for an exact age (i.e., if no pole interpolation is required). The ID column numbering of the two poles relative to each other in the table does not guarantee which of the two poles will be selected first during reconstructions to the exact crossover age due to the nature of database queries. As a result, if it is important in your model to have precise control over which pole is used at the exact crossover age, then crossovers should be implemented using Method 1.
Note that crossovers using Method 2 are the only case in PaleoPro where a plate is allowed to have more than one pole at the same age.
Note: For consecutive crossovers (i.e., two more crossovers occurring at ages which are not separated by at least one age with a non-crossover pole) this Method 1 must be used to ensure that the correct reference plate is being used for reconstructions at or between the consecutive crossover ages. This is especially important when there are more than two consecutive crossovers and for cases where the reference plate before and after two crossovers is the same, such as in the example shown in Method 1 where the reference plate before 124 Ma and after 132.09999 Ma is 702.
Method 2 for implementing crossovers is illustrated in the figure below where there is a crossover for plate 501 at 83 Ma.
All crossovers in PaleoPro must be implemented with a pair of poles using either Method 1 or Method 2 described above. Transitions between reference plates using only a single pole at the crossover age will not work correctly in PaleoPro. For example, in the figure below plate 205 changes reference plate from 101 to 201, however, the oldest pole with reference plate 101 is at age 164 Ma, while the youngest pole with reference plate 201 is at age 172 Ma. Therefore, PaleoPro cannot determine if the reference plate transition was supposed to occur at 164 Ma or 172 Ma, and as a result, for reconstructions to ages between 164 Ma and 172 Ma the reference frame is ambiguous so the reconstruction pole cannot be correctly interpolated. In these cases PaleoPro defaults to no rotation for the plate.