Types
This section provides an overview of the types used in PlateKinematics.jl.
Contents
Index
PlateKinematics.Covariance
PlateKinematics.EulerAngles
PlateKinematics.EulerVectorCart
PlateKinematics.EulerVectorSph
PlateKinematics.FiniteRotCart
PlateKinematics.FiniteRotSph
PlateKinematics.Stat
PlateKinematics.SurfaceVelocityVector
Types
Covariance
PlateKinematics.Covariance
— Typestruct 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)
Finite Rotations
PlateKinematics.FiniteRotSph
— Typestruct FiniteRotSph
Finite rotation in Spherical coordinates, expressed in degrees.
Fields
Lon::Float64
: Longitude of the rotation axis in degrees-EastLat::Float64
: Latitude of the rotation axis in degrees-NorthAngle::Float64
: Angle of rotation in degreesTime::Union{Float64, Nothing}
: Age of rotation in million yearsCovariance::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)
PlateKinematics.FiniteRotCart
— Typestruct FiniteRotCart
Finite rotation in Cartesian coordinates, expressed in degrees.
Fields
X::Float64
: X-coordinate in degreesY::Float64
: Y-coordinate in degreesZ::Float64
: Z-coordinate in degreesTimeRange::Union{Float64, Nothing}
: Age of rotation in million yearsCovariance::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)
PlateKinematics.EulerAngles
— Typestruct 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
Euler Vectors
PlateKinematics.EulerVectorSph
— Typestruct EulerVectorSph
Euler vector in spherical coordinates with the following parameters:
Fields
Lon::Float64
: Longitude of the Euler pole in degrees-EastLat::Float64
: Latitude of the Euler pole in degrees-NorthAngVelocity::Float64
: Angular velocity in degrees/MyrTimeRange::Union{Matrix, Nothing}
: Initial to final age of rotationCovariance::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)
PlateKinematics.EulerVectorCart
— Typestruct EulerVectorCart
Euler vector in Cartesian coordinates, expressed in degrees/Myr.
Fields
X::Float64
: X-coordinate in degrees/MyrY::Float64
: Y-coordinate in degrees/MyrZ::Float64
: Z-coordinate in degrees/MyrTimeRange::Union{Matrix, Nothing}
: Initial to final age of rotationCovariance::Covariance
:Covariance
in radians²/Myr²
Examples:
Same outer Constructor Methods as EulerVectorSph
.
Surface Velocity
PlateKinematics.Stat
— Typestruct 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
PlateKinematics.SurfaceVelocityVector
— Typestruct SurfaceVelocityVector
Surface velocity vector components, expressed in mm/yr.
Fields
Lon::Float64
: Longitude of the surface point in degrees-EastLat::Float64
: Latitude of the surface point in degrees-NorthEastVel::Union{Float64, Stat, Nothing}
: East-component of the velocity in mm/yrNorthVel::Union{Float64, Stat, Nothing}
: North-component of the velocity in mm/yrTotalVel::Union{Float64, Stat, Nothing}
: Total velocity in mm/yrAzimuth::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