Types

This section provides an overview of the types used in PlateKinematics.jl.

Contents

Index

Types

Covariance

PlateKinematics.CovarianceType
struct Covariance

Covariance upper triangle elements. Expressed in radians² for Finite Rotations and in radians²/Myr² for Euler Vectors.

Examples:

julia> PlateKinematics.Covariance()
PlateKinematics.Covariance(0, 0, 0, 0, 0, 0)

julia> PlateKinematics.Covariance(1, 2, 3, 4, 5, 6)
PlateKinematics.Covariance(1, 2, 3, 4, 5, 6)

julia> array = [1, 2, 3, 4, 5, 6];
julia> PlateKinematics.Covariance(array)
PlateKinematics.Covariance(1, 2, 3, 4, 5, 6)
source

Finite Rotations

PlateKinematics.FiniteRotSphType
struct FiniteRotSph

Finite rotation in Spherical coordinates, expressed in degrees.

Fields

  • Lon::Float64: Longitude of the rotation axis in degrees-East
  • Lat::Float64: Latitude of the rotation axis in degrees-North
  • Angle::Float64: Angle of rotation in degrees
  • Time::Union{Float64, Nothing}: Age of rotation in million years
  • Covariance::Covariance: Covariance in radians²

Examples:

julia> PlateKinematics.FiniteRotSph(30, 20, 10)
PlateKinematics.FiniteRotSph:
        Lon        : 30.0
        Lat        : 20.0
        Angle      : 10.0
        Time       : nothing
        Covariance : PlateKinematics.Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

julia> array = [30, 20, 10];
julia> PlateKinematics.FiniteRotSph(array)
PlateKinematics.FiniteRotSph:
        Lon        : 30.0
        Lat        : 20.0
        Angle      : 10.0
        Time       : nothing
        Covariance : PlateKinematics.Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

julia> PlateKinematics.FiniteRotSph(30, 20, 10, 2)
PlateKinematics.FiniteRotSph:
        Lon        : 30.0
        Lat        : 20.0
        Angle      : 10.0
        Time       : 2.0
        Covariance : PlateKinematics.Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

julia> array = [1, 2, 3, 4, 5, 6];
julia> PlateKinematics.FiniteRotSph(30, 20, 10, array)
PlateKinematics.FiniteRotSph(30, 20, 10, nothing, PlateKinematics.Covariance(1, 2, 3, 4, 5, 6))

julia> array = [1, 2, 3, 4, 5, 6];
julia> PlateKinematics.FiniteRotSph(30, 20, 10, 2, array)
PlateKinematics.FiniteRotSph:
        Lon        : 30.0
        Lat        : 20.0
        Angle      : 10.0
        Time       : 2.0
        Covariance : PlateKinematics.Covariance(1.0, 2.0, 3.0, 4.0, 5.0, 6.0)
source
PlateKinematics.FiniteRotCartType
struct FiniteRotCart

Finite rotation in Cartesian coordinates, expressed in degrees.

Fields

  • X::Float64: X-coordinate in degrees
  • Y::Float64: Y-coordinate in degrees
  • Z::Float64: Z-coordinate in degrees
  • TimeRange::Union{Float64, Nothing}: Age of rotation in million years
  • Covariance::Covariance: Covariance in radians²

Examples:

julia> PlateKinematics.FiniteRotCart(1, 2, 3)
PlateKinematics.FiniteRotCart:
        X          : 1.0
        Y          : 2.0
        Z          : 3.0
        Time       : nothing
        Covariance : PlateKinematics.Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

julia> array = [30, 20, 10];
julia> PlateKinematics.FiniteRotCart(array)
PlateKinematics.FiniteRotCart:
        X          : 30.0
        Y          : 20.0
        Z          : 10.0
        Time       : nothing
        Covariance : PlateKinematics.Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

julia> PlateKinematics.FiniteRotCart(1, 2, 3, 1.5)
PlateKinematics.FiniteRotCart:
        X          : 1.0
        Y          : 2.0
        Z          : 3.0
        Time       : 1.5
        Covariance : PlateKinematics.Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

julia> array = [1, 2, 3, 4, 5, 6];
julia> PlateKinematics.FiniteRotCart(30, 20, 10, array)
PlateKinematics.FiniteRotCart:
        X          : 30.0
        Y          : 20.0
        Z          : 10.0
        Time       : nothing
        Covariance : PlateKinematics.Covariance(1.0, 2.0, 3.0, 4.0, 5.0, 6.0)

julia> array = [1, 2, 3, 4, 5, 6];
julia> PlateKinematics.FiniteRotCart(1, 2, 3, 1.5, array)
PlateKinematics.FiniteRotCart:
        X          : 1.0
        Y          : 2.0
        Z          : 3.0
        Time       : 1.5
        Covariance : PlateKinematics.Covariance(1.0, 2.0, 3.0, 4.0, 5.0, 6.0)
source
PlateKinematics.EulerAnglesType
struct EulerAngles

Euler angles that describe the rotation around the three main axes on Earth.

Fields

  • X::Float64: Angle of rotation around the X-axis (0N, 0E)
  • Y::Float64: Angle of rotation around the Y-axis (0N, 90E)
  • Z::Float64: Angle of rotation around the Z-axis (90N, 0E)

Examples:

julia> PlateKinematics.EulerAngles(4, 5, 6)
PlateKinematics.EulerAngles:
        X : 4.0
        Y : 5.0
        Z : 6.0

julia> array = [4, 5, 6];
julia> PlateKinematics.EulerAngles(array)
PlateKinematics.EulerAngles:
        X : 4.0
        Y : 5.0
        Z : 6.0
source

Euler Vectors

PlateKinematics.EulerVectorSphType
struct EulerVectorSph

Euler vector in spherical coordinates with the following parameters:

Fields

  • Lon::Float64: Longitude of the Euler pole in degrees-East
  • Lat::Float64: Latitude of the Euler pole in degrees-North
  • AngVelocity::Float64: Angular velocity in degrees/Myr
  • TimeRange::Union{Matrix, Nothing}: Initial to final age of rotation
  • Covariance::Covariance: Covariance in radians²/Myr²

Examples:

julia> PlateKinematics.EulerVectorSph(1, 2, 3)
PlateKinematics.EulerVectorSph:
        Lon         : 1.0
        Lat         : 2.0
        AngVelocity : 3.0
        TimeRange   : nothing
        Covariance  : PlateKinematics.Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

julia> array = [30, 20, 10];
julia> PlateKinematics.EulerVectorSph(array)
PlateKinematics.EulerVectorSph:
        Lon         : 30.0
        Lat         : 20.0
        AngVelocity : 10.0
        TimeRange   : nothing
        Covariance  : PlateKinematics.Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

julia> array = [1.5 2.5];
julia> length(array) == 2
true
julia> PlateKinematics.EulerVectorSph(30, 20, 10, array)
PlateKinematics.EulerVectorSph:
        Lon         : 30.0
        Lat         : 20.0
        AngVelocity : 10.0
        TimeRange   : [1.5 2.5]
        Covariance  : PlateKinematics.Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

julia> array = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0];
julia> length(array) != 2
true
julia> PlateKinematics.EulerVectorSph(30, 20, 10, array)
PlateKinematics.EulerVectorSph:
        Lon         : 30.0
        Lat         : 20.0
        AngVelocity : 10.0
        TimeRange   : nothing
        Covariance  : PlateKinematics.Covariance(1.0, 2.0, 3.0, 4.0, 5.0, 6.0)
source
PlateKinematics.EulerVectorCartType
struct EulerVectorCart

Euler vector in Cartesian coordinates, expressed in degrees/Myr.

Fields

  • X::Float64: X-coordinate in degrees/Myr
  • Y::Float64: Y-coordinate in degrees/Myr
  • Z::Float64: Z-coordinate in degrees/Myr
  • TimeRange::Union{Matrix, Nothing}: Initial to final age of rotation
  • Covariance::Covariance: Covariance in radians²/Myr²

Examples:

Same outer Constructor Methods as EulerVectorSph.

source

Surface Velocity

PlateKinematics.StatType
struct Stat

Mean and standard deviation of a parameter:

Fields

  • Mean::Float64: Mean (average)
  • StDev::Float64: Standard deviation

Examples:

julia> PlateKinematics.Stat(10.0, 20.0)
PlateKinematics.Stat:
        Mean  : 10.0
        StDev : 20.0

julia> stat = [10.0 20.0]
julia> PlateKinematics.Stat(stat)
PlateKinematics.Stat:
        Mean  : 10.0
        StDev : 20.0
source
PlateKinematics.SurfaceVelocityVectorType
struct SurfaceVelocityVector

Surface velocity vector components, expressed in mm/yr.

Fields

  • Lon::Float64: Longitude of the surface point in degrees-East
  • Lat::Float64: Latitude of the surface point in degrees-North
  • EastVel::Union{Float64, Stat, Nothing}: East-component of the velocity in mm/yr
  • NorthVel::Union{Float64, Stat, Nothing}: North-component of the velocity in mm/yr
  • TotalVel::Union{Float64, Stat, Nothing}: Total velocity in mm/yr
  • Azimuth::Union{Float64, Stat, Nothing}: Azimuth of the velocity vector as measured clockwise from the North

Examples:

julia> PlateKinematics.SurfaceVelocityVector(10.0, 20.0, 4.0)
PlateKinematics.SurfaceVelocityVector:
        Lon      : 10.0
        Lat      : 20.0
        EastVel  : nothing
        NorthVel : nothing
        TotalVel : 4.0
        Azimuth  : nothing

julia> PlateKinematics.SurfaceVelocityVector(10, 20, [2.5, 2])
PlateKinematics.SurfaceVelocityVector:
        Lon      : 10.0
        Lat      : 20.0
        EastVel  : nothing
        NorthVel : nothing
        TotalVel : 2.5 ± 2.0
        Azimuth  : nothing

julia> PlateKinematics.SurfaceVelocityVector(10.0, 20.0, 4.0, 3.0)
PlateKinematics.SurfaceVelocityVector:
        Lon      : 10.0
        Lat      : 20.0
        EastVel  : 4.0
        NorthVel : 3.0
        TotalVel : nothing
        Azimuth  : nothing

julia> PlateKinematics.SurfaceVelocityVector(10.0, 20.0, 4.0, 3.0, 2.0)
PlateKinematics.SurfaceVelocityVector:
        Lon      : 10.0
        Lat      : 20.0
        EastVel  : 4.0
        NorthVel : 3.0
        TotalVel : 2.0
        Azimuth  : nothing
source