pygplates.calculate_velocities(domain_points, finite_rotation, time_interval_in_my[, velocity_units=pygplates.VelocityUnits.kms_per_my][, earth_radius_in_kms=pygplates.Earth.mean_radius_in_kms])

Calculate velocities at a sequence of points assuming movement due to a finite rotation over a time interval.

  • domain_points (Any sequence of PointOnSphere or LatLonPoint or tuple (float,float,float) or tuple (float,float)) – sequence of points at which to calculate velocities
  • finite_rotation (FiniteRotation) – the rotation pole and angle
  • time_interval_in_my (float) – the time interval (in millions of years) that the rotation angle encompasses
  • velocity_units (VelocityUnits.kms_per_my or VelocityUnits.cms_per_yr) – whether to return velocities as kilometres per million years or centimetres per year (defaults to kilometres per million years)
  • earth_radius_in_kms (float) – the radius of the Earth in kilometres (defaults to pygplates.Earth.mean_radius_in_kms)
Return type:

list of Vector3D

Calculating velocities (in cms/yr) of all points in a ReconstructedFeatureGeometry (generated by reconstruct()):

rotation_model = pygplates.RotationModel(...)

# Get the rotation from 11Ma to 10Ma, and the feature's reconstruction plate ID.
equivalent_stage_rotation = rotation_model.get_rotation(
    10, reconstructed_feature_geometry.get_feature().get_reconstruction_plate_id(), 11)

# Get the reconstructed geometry points.
reconstructed_points = reconstructed_feature_geometry.get_reconstructed_geometry().get_points()

# Calculate a velocity for each reconstructed point over the 1My time interval.
velocities = pygplates.calculate_velocities(


Velocities can be converted from global cartesian vectors to local (magnitude, azimuth, inclination) coordinates using pygplates.LocalCartesian.convert_from_geocentric_to_magnitude_azimuth_inclination().