[GPlates-discuss] How to check the min and max velocities in GPlates?

John Cannon john.cannon at sydney.edu.au
Thu Jan 28 22:20:14 AEDT 2016


Actually with the upcoming pygplates release (very soon) there will be a way to calculate velocities in dynamic plate polygons (as Simon reminded me). But not deforming plates (yet).

To give an idea, the following example calculates velocities of (non-deforming) topological plates at static point locations (this will be a sample code covered in more detail in the release documentation).



import pygplates


# Load one or more rotation files into a rotation model.
rotation_model = pygplates.RotationModel('rotations.rot')

# Load the topological plate polygon features.
topology_features = pygplates.FeatureCollection('dynamic_polygons.gpml')

# Load the features that contain the geometries we will calculate velocities at.
# These can be generated in GPlates via the menu 'Features > Generate Velocity Domain Points'.
velocity_domain_features = pygplates.FeatureCollection('lat_lon_velocity_domain_90_180.gpml')

# Calculate velocities using a delta time interval of 1My.
delta_time = 1

# Our geological times will be from 0Ma to 'num_time_steps' Ma (inclusive) in 1 My intervals.
num_time_steps = 140

# 'time' = 0, 1, 2, ... , 140
for time in range(num_time_steps + 1):
    
    print 'Time: %d' % time
    
    # All domain points and associated (magnitude, azimuth, inclination) velocities for the current time.
    all_domain_points = []
    all_velocities = []
    
    # Partition our velocity domain features into our topological plate polygons at the current 'time'.
    partitioned_domain_features = pygplates.partition_into_plates(
        topology_features,
        rotation_model,
        velocity_domain_features,
        reconstruction_time = time)
    
    for partitioned_domain_feature in partitioned_domain_features:
        
        # We need the newly assigned plate ID to get the equivalent stage rotation of that tectonic plate.
        partitioning_plate_id = partitioned_domain_feature.get_reconstruction_plate_id()
        
        # Get the stage rotation of partitioning plate from 'time + delta_time' to 'time'.
        equivalent_stage_rotation = rotation_model.get_rotation(time, partitioning_plate_id, time + delta_time)
        
        # A velocity domain feature usually has a single geometry but we'll assume it can be any number.
        # Iterate over them all.
        for partitioned_domain_geometry in partitioned_domain_feature.get_geometries():
            
            partitioned_domain_points = partitioned_domain_geometry.get_points()
            
            # Calculate velocities at the velocity domain geometry points.
            # This is from 'time + delta_time' to 'time' on the partitioning plate.
            partitioned_domain_velocity_vectors = pygplates.calculate_velocities(
                partitioned_domain_points,
                equivalent_stage_rotation,
                delta_time)

            # Convert global 3D velocity vectors to local (magnitude, azimuth, inclination) tuples (one tuple per point).
            partitioned_domain_velocities = pygplates.LocalCartesian.convert_from_geocentric_to_magnitude_azimuth_inclination(
                    partitioned_domain_points,
                    partitioned_domain_velocity_vectors)

            # Append results for the current geometry to the final results.
            all_domain_points.extend(partitioned_domain_points)
            all_velocities.extend(partitioned_domain_velocities)


> -----Original Message-----
> From: gplates-discuss-bounces at mailman.sydney.edu.au [mailto:gplates-discuss-
> bounces at mailman.sydney.edu.au] On Behalf Of John Cannon
> Sent: Thursday, 28 January 2016 2:52 PM
> To: GPlates general discussion mailing list
> Subject: Re: [GPlates-discuss] How to check the min and max velocities in GPlates?
> 
> Hi Nan,
> 
> > After I open the Kinematics tool (attached snapshot), I clicked the "velocity magnitude" and
> did get any response.
> 
> You also need to select a feature with the Choose Feature tool and then click 'Use focused
> feature' in the Kinematics Tool dialog.
> 
> But that gives you the velocities of the selected feature using its plate ID to calculate
> velocity (actually the velocities of the first point in the selected feature I believe).
> Whereas it looks like you want the traditional velocities of the plates that the static points
> reside in - which it doesn't calculate. Sorry, that all sounds confusing I'm sure.
> 
> In any case I think you might want the suggestions made by others on this list which
> essentially boils down to exporting the velocities from GPlates and processing them outside of
> GPlates.
> 
> Very soon we will release a GPlates Python library (pygplates) for those familiar with Python
> programming. The first release of pygplates unfortunately will not calculate the traditional
> surface velocities (inside dynamic plate boundaries), but the second release will. So, at
> least for the second release, there will also be the option (in addition to what the others
> have already suggested) to use Python to calculate the velocities (using pygplates library)
> and then post-process them (eg, calculate min/max).
> 
> Regards,
> John
> 
> ________________________________________
> From: gplates-discuss-bounces at mailman.sydney.edu.au [gplates-discuss-
> bounces at mailman.sydney.edu.au] on behalf of Nan Zhang [nan.zhang at curtin.edu.au]
> Sent: Thursday, 28 January 2016 2:21 PM
> To: GPlates general discussion mailing list
> Subject: Re: [GPlates-discuss] How to check the min and max velocities in GPlates?
> 
> Hi Christian,
> 
> After I open the Kinematics tool (attached snapshot), I clicked the "velocity magnitude" and
> did get any response.
> 
> When you mentioned "chose GMT (*.xy) as output and then batch process the output files with
> GMT's "gmt gmtinfo" (formerly minmax).", what is the exact command line for "batch the output
> files with gmtinfo", given my file name velocity_200Ma.xy?
> 
> I am trying to find the max velocity magnitude for different time frames, because when I put
> Seton's model to the velocity .gpml file for ASPECT, ASPECT returns me the max velocity at
> 200Ma is 28 m/yr?
> 
> Bests,
> Nan
> 
> 
> 
> -----Original Message-----
> From: gplates-discuss-bounces at mailman.sydney.edu.au [mailto:gplates-discuss-
> bounces at mailman.sydney.edu.au] On Behalf Of Christian.Heine at shell.com
> Sent: Wednesday, 27 January 2016 10:54 PM
> To: gplates-discuss at mailman.sydney.edu.au
> Subject: Re: [GPlates-discuss] How to check the min and max velocities in GPlates?
> 
> Nan,
> 
> in GPlates: Go to Utilities -> Kinematics tool (or CTRL+k). This is the only place in the GUI
> where you can directly look at/query velocity information. However, that tool only allows you
> to use a single feature. If you want to do this for more features and in a more extensive way,
> you'd have to use the data mining capabilities and Python to code up workflows yourself (or
> even extend this using the Qt interface to build a GUI widget).
> 
> The way Bruce and I suggested earlier will allow you to do a batch analysis of velocity data
> outside of GPlates. I'd say this is probably the fastest and easiest option to get this done.
> In case that doesn't answer your questions you maybe have to explain in more detail of what
> you are trying to achieve.
> 
> Christian (not Christina ;-)
> 
> 
> 
> > -----Original Message-----
> > From: gplates-discuss-bounces at mailman.sydney.edu.au [mailto:gplates-
> > discuss-bounces at mailman.sydney.edu.au] On Behalf Of Nan Zhang
> > Sent: Wednesday, 27 January 2016 2:50 PM
> > To: GPlates general discussion mailing list
> > Subject: Re: [GPlates-discuss] How to check the min and max velocities
> > in GPlates?
> >
> > Hi Sabin, I read through your paper. It is a good paper, while it does
> > address my issue. My question is how to find a tool in GPlates
> > interface, to do a statistics for the loaded velocity field (the max,
> > min, and mean velocity magnitude). Besides Christina's suggestion
> > early on, is there a direct tool in GPlates?
> >
> >
> >
> >
> >
> > ________________________________
> >
> > From: gplates-discuss-bounces at mailman.sydney.edu.au <gplates-discuss-
> > bounces at mailman.sydney.edu.au> on behalf of Sabin Zahirovic
> > <sabin.zahirovic at sydney.edu.au>
> > Sent: Wednesday, 27 January 2016 4:28 PM
> > To: GPlates general discussion mailing list
> > Subject: Re: [GPlates-discuss] How to check the min and max velocities
> > in GPlates?
> >
> > Hi Nan,
> >
> > Please check this paper that talks about all of these things:
> > http://www.earthbyte.org/tectonic-speed-limits-from-plate-kinematic-
> > reconstructions/
> >  <http://www.earthbyte.org/tectonic-speed-limits-from-plate-kinematic-
> > reconstructions>
> > Tectonic speed limits from plate kinematic reconstructions ...
> > <http://www.earthbyte.org/tectonic-speed-limits-from-plate-kinematic-
> > reconstructions>
> > www.earthbyte.org
> > Citation Zahirovic, S., Müller, R. D., Seton, M., & Flament, N. (2015).
> > Tectonic speed limits from plate kinematic reconstructions. Earth and
> > Planetary Science ...
> >
> > http://www.sciencedirect.com/science/article/pii/S0012821X15001235
> >
> > Hope that helps!
> >
> > Cheers,
> > Sabin
> >
> >
> > --
> >
> > DR SABIN ZAHIROVIC | Postdoctoral Research Associate School of
> > Geosciences | Faculty of Science
> >
> >
> > THE UNIVERSITY OF SYDNEY
> > Rm 403, Madsen Building F09 | The University of Sydney | NSW | 2006 M
> > +61
> > 416 775 589 P +61 2 9351 3625 E sabin.zahirovic at sydney.edu.au | W
> > http://www.earthbyte.org <http://www.earthbyte.org/>  | R
> > http://www.researchgate.net/profile/Sabin_Zahirovic
> > <http://www.researchgate.net/profile/Sabin_Zahirovic>
> > F https://www.facebook.com/earthbyte | T
> > https://twitter.com/EarthByteGroup
> >
> > CRICOS 00026A
> > This email plus any attachments to it are confidential. Any
> > unauthorised use is strictly prohibited. If you receive this email in
> > error, please delete it and any attachments.
> >
> > From: <gplates-discuss-bounces at mailman.sydney.edu.au> on behalf of Nan
> > Zhang <nan.zhang at curtin.edu.au>
> > Reply-To: GPlates general discussion mailing list <gplates-
> > discuss at mailman.sydney.edu.au>
> > Date: Wednesday, 27 January 2016 at 7:13 PM
> > To: "gplates-discuss at mailman.sydney.edu.au" <gplates-
> > discuss at mailman.sydney.edu.au>
> > Subject: [GPlates-discuss] How to check the min and max velocities in
> > GPlates?
> >
> >
> >
> > Hi all,
> >
> >
> >
> > I loaded Seton et al., 2012 data to generate some plate velocity files
> > from 200Ma to the present day. One thing I want to check is the
> > minimum and maximum velocity magnitudes. Who can give me some instruction?
> >
> >
> >
> > Bests,
> >
> > Nan
> 
> _______________________________________________
> GPlates-discuss mailing list
> GPlates-discuss at mailman.sydney.edu.au
> http://mailman.sydney.edu.au/mailman/listinfo/gplates-discuss
> _______________________________________________
> GPlates-discuss mailing list
> GPlates-discuss at mailman.sydney.edu.au
> http://mailman.sydney.edu.au/mailman/listinfo/gplates-discuss



More information about the GPlates-discuss mailing list