Continental Drift the gplates Way

Okay. So in the last post we discussed the process of creating vector features with gplates. Now, we’re going to touch on the real bread-and-butter of gplates: simulated continental drift. This is just going to be a getting started course on gplates aimed at people who, like me, are maybe not experts on geology or state of the art tectonic science. For people with those skills, or people who would just like to delve deeper into the science and use of this program, the program’s user documentation is very good. In fact, I’d strongly suggest delving in once you have a basic understanding of how to get around in the program. But, for those of us trying to use the program for what I’m sure the programmers would frankly consider a bit of an edgewise use case for the program it can be a bit hard to figure out where to start. It was for me. I almost accidentally figured out how to do what I know how to do now.

As you can see from the image below, I haven’t been sitting entirely still. I added a few more continents, complete with mountain ranges, unique PlateIDs and their own not-

Some squiggly continents.

Some squiggly continents.

terribly-imaginative names. I have them all gathered together into a supercontinent situated upon, but not centered on the planet’s north pole. I’m willing to wait if you’d like to add some more continents to your own map. It’s just further repetition of the process I described in the last post.

Back with us? Cool. I don’t think you missed anything important.

The first thing you can see, is the advantage of starting with the continents clustered together when you draw them. You can naturally and easily create the interrelated shapes that give at least the illusion of a real world whose continents have been bashing together over geological time spans. The mountain arrangement may also take the continental structure cleverly into account. Something I clearly did not do here…

As we saw in the last post, the Modify Pole tool doesn’t seem to work as it is. What we need to do to make it work is to build a plate model(a process that is described in somewhat painful detail in tutorial 13 on the gplates site). We’ll start creating a rotation file.

The rotation file is a text file consisting of rows, each row representing the position of a single plate at a particular point in time. The first column is the PlateID of the “moving” plate, that is to say the plate we are describing. The second column is the time(this is somewhat abstract at the moment, coming up with realistic rates of movement is a bit of a skill in itself). The third, fourth and fifth columns are the coordinates describing the pole of rotation(latitude, longitude and “rotation”), to start with, we’ll leave these at zero. Rotations will be set magically using the program. The sixth column is the PlateID of the conjugate or “fixed” plate, relative to which this plate will move. To start with, let’s set the conjugate PlateID to zero, which means that the plate moves with the universal stationary coordinates of the globe. I may try at a later time to show how this is useful… The seventh column is a descriptive abbreviation for the plate starting with an exclamation mark or bang(!).

To start with, we need to create a rotation file in a text editor. If you have read through tutorial 13, you’ve seen that a rotation file can get pretty complicated, with dozens of rows for each PlateID. We’re going to distill this down to the simplest case possible. Gplates wants to interpolate positions between known coordinates not extrapolate, so we will need two rows for each PlateID representing the most recent time representable(o.0) and the earliest time representable(I’m using 150.0 “million years” ago).

So, to start with, to represent e.g. Arctica, we have the following two rows

1000 0.0 0.0 0.0 0.0 0 !Arctica
1000 150.0 0.0 0.0 0.0 0 !Arctica

Rinse and repeat for each additional row, changing only the PlateID and descriptive abbreviation appropriately. Once you’ve got a pair of rows for each PlateID, save the resulting plaintext file as, for instance, “gamhang.rot”.

Now that you have that rotation file saved, load it into gplates. Select File>Open Feature Collection… find your .rot file and click “open”. Nothing happened. That’s because all of the rotations were all zeroes. That means no movement. Let’s fix that!

Now click on the Modify Reconstruction Pole toolafrica_pole_rotation_35. Now, as you saw if you read my last post, this allows you to drag around a ghost image of the last selectedafrica_highlight_clicked_35

Set the time using this text box.

Set the time using this text box.

feature. So, let’s start by setting the time to 0.0. We figure the Supercontinent broke up about 150.0 “million years” ago. As I said before, I’m not really being too careful about chronology, here.

Select each of your continents and drag them to what you want to be their present location. With the Modify Reconstruction Pole, holding down the command-key(ctrl-key on windows, I think) allows you to change the orientation of the view, so you can see any part of the globe you like, holding down shift allows you to change the “rotation” of the feature without changing its latitude or longitude. After you move each continent to its desired present location click the Apply button. For the most part, leave everything on the resulting window as it is. Down where it says, “Step 4: Provide Comment,” you might want to put in the name of the continent and maybe append something like, “moved.” That will keep the descriptive information on the .rot file’s rows and also make it clear which rows have been changed. Click OK, and you’ll see that the feature has actually moved. Rinse and repeat for each of your continents. Once everything is where you want it, select File>Manage Feature Collections and click Save All Changes, this will save all those movements you made to the .rot file.

Next to the time box you will see a set of VCR controls and a slider. Hit the play button or drag the slider to see the continents move. Chances are they’ll slide all through each other. Don’t worry about that yet. I do want two of my present continents to move together until they separate later. Open the .rot file in your text editor.

I wanted the continent represented by PlateID 5000 to move with the continent 3000 until 80.0 million years ago, then start moving on its own. In the row representing PlateID 3000 at 0.0 time set the conjugate plate PlateID to 3000. Now add a new row between 0.0 time and 150.0 time. The time on this new row will be 80.0 and the conjugate plate ID will be 3000. The conjugate plate ID at time 0.0 should remain 0. Save the file, and load it into gplates. Now set the time to 80.0. On the Reconstruction Pole parameters to the right, make sure Highlight Children is checked. Now select PlateID 3000 and drag its pole.

When you Apply the move and Play it, you’ll find that the 5000 continent will move with the 3000 continent until 80.0, then it will jump back to its original position and then jump to its final position at time 0.0. This is a headache. Save the .rot file and open it in your text editor. Copy the 80.0 time row for PlateID 5000 and copy the row between 0.0 and the existing 80.0 time row. Change the conjugate row ID for the pre-existing 80.0 row to 3000. On the new 80.0 row, set the three position coordinates to match PlateID 3000’s coordinates for time 80.0. Now, once you’ve saved the modified .rot file and reloaded it into gplates, the movement should be smoother.

Try stepping through the timeline. When continents are crossing, try moving their poles to avoid the conflicts. With a bit of jockeying about and an ungodly amount of patience, you may be able to get the continents to move about smoothly without conflicts. I’m hoping that eventually practice may reduce the need for patience… Save the .rot file and have a look at it in your trusty text editor. You’ll find that in your jockeying about, the program has added a bunch of new rows to the file.

Try observing the interactions between continents as they drift about the globe. The collisions and remaining overlaps may provide insight into where new topographical features might arise.

Now to export useful imagery from gplates. I’ll go with png snapshots showing the initial state of the world at time 150.0 and the current state of the world at time 0.0. Select Reconstruction>Export… from the main menu. In the Export window, choose the Export Single Snapshot Instant radio button and set the time to 150.0, click Add Export, select Raster from Data Type and Portable Network Graphics(*.png) from file format, choose a resolution and click the OK button. Now select a Target Directory and click Export Snapshot. Change the time to 0.0 and click Export Snapshot again.

Equirectangular map of my planet in its present state.

Equirectangular map of my planet in its present state.

Here’s some nice equirectangular maps of Gamhang at 150.0 and 0.0. As a bonus(?!?) I have a nice globe view of the south pole at time 50.0…

I’m not sure how clear I’ve been on all points in this little tutorial, so if you have any questions, the comment function exists to allow you to ask them. Or you can post in any of the forum threads mentioned in the previous post.

An equirectangular map of the supercontinent on the world at time 150.0(distant past)

An equirectangular map of the supercontinent on the world at time 150.0(distant past)

Thank you for your attention. My ego enjoys a little boo every now and again!
The Astrographer

Bonus Picture: A view of the southpole of the world I created at time 150.0. Just 'cause... Globes Are Fun!

Bonus Picture: A view of the southpole of the world I created at time 150.0. Just ’cause… Globes Are Fun!

This entry was posted in Mapping, Planetary Stuff, World Building and tagged , , , , , , , . Bookmark the permalink.

5 Responses to Continental Drift the gplates Way

  1. Pingback: Using gplates for Realistic Worldbuilding | Astrographer

  2. Pingback: More gplates Goodness | Astrographer

  3. Pingback: Plate Tectonics with GPlates and QGIS | Astrographer

  4. Joakim S says:

    Does not work, get bunch of read errors when i import rotation file. and i cant move the continents with modify reconstruction tool. i hit apply and then okay and nothing happens

    • Astrographer says:

      Hmm. I’ve looked at the current docs and they don’t seem to have changed the format. I realize I didn’t upload a sample .rot file for that. I need to do that. Have you tried taking an existing .rot file from the samples folder that comes with GPlates? You need to have a vector file(.shp or gplates internal draw format) with appropriate PlateIDs to match the PlateIDs in the .rot file. I’m currently working on something completely different, but I’ll try to get back to this ASAP. It’s been a bit since I’ve messed about with GPlates unfortunately.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s