Reproducing plots from Muller et al 2019

As part of my project, I am trying to extract trench data from the Muller et al 2019 GPaltes model. When I plot the data in GPlates I get odd locations for the trenches near the deformed areas. The location of the trench is different when I load the data using the project files and when I load each feature collection separately (attached are two examples for the South America trench at 40 Ma). I think the issue is probably related to how I load the plate rotation files.
Any help with this would be greatly appreciated!


Hi Lior,

Yes loading the project file is the way to go.

If you just load the individual data files then you’ll get a yellow rotation layer for each rotation file, but they all need to be combined into a single rotation layer (otherwise only one of the rotation files is being used). When you load the project file it means someone has already done that for you (in addition to setting up other things like colours, etc).

Thank you! This makes sense

My final goal is to use pygplates to export some data. Is there a quick way to combine the rot files in pygplates? alternatively, is there a quick way to export the conbined rot file that is loaded using the project (which can then be loaded using pygplates)?

You can load multiple rotation files into a single rotation model in pyGPlates using something like:

rotation_files = ['rotation_file1.rot', 'rotation_file2.rot']
rotation_model = pygplates.RotationModel(rotation_files)

…and then all pyGPlates functions that accept rotation file(s) also accept a RotationModel, for example pygplates.reconstruct. You can see this in some of the sample codes in the pyGPlates docs, for example here.

Thank you! This worked like a charm
I ended up merging the .rot files into a single file with python for convenience. This required removing the empty lines which are generated automatically. Below is my merging code snippet, I hope it will help someone:

NewRotFile = "MergedRot.rot"
if NewRotFile not in os.listdir(Data_Folder): #Make sure not to overwrite existing file
    print("Merging .rot files:")
    temp = ""
    for name in os.listdir(Data_Folder): #Find all .rot files in Data_Folder
        if (name.endswith(".rot")) and (name != NewRotFile): #Skip non .rot files and the combined file 
            file = os.path.join(Data_Folder,name)
            print("  writing ",name)
            fp = open(file, encoding="utf8") #Encoding is important!
            temp += fp.read()
    with open (os.path.join(Data_Folder,NewRotFile), 'w', encoding="utf8") as fp:
        Data = "".join([s for s in temp.strip().splitlines(True) if s.strip()]) #Remove empty lines
        fp.write(Data) #Write combined file
rotation_filename = os.path.join(Data_Folder, NewRotFile)
rotation_model = pygplates.RotationModel(rotation_filename)

Data_Folder is where the .rot files are stored.