pyacs.lib.euler module¶
Euler poles manipulation
-
pyacs.lib.euler.
rot2euler
(Wx, Wy, Wz)[source]¶ Converts a rotation rate vector Wx Wy Wz in radians/yr into an Euler pole (long. lat. deg/Myr) into geographical (spherical) coordinates and angular velocity
- Parameters
Wx,Wy,Wz – rotation rate vector in geocentric cartesian coordinates with units of radians/yr
- Returns longitude,latitude,omega
longitude and latitude of the Euler pole in radians and the
angular velocity in decimal degrees per Myr.
- Note
longitude and latitude are relative to the sphere, not the ellipsoid. This is because
Euler pole and rigid rotations only have sense on a sphere.
-
pyacs.lib.euler.
euler2rot
(lon, lat, omega)[source]¶ - Converts Euler poles (long., lat., deg/Myr) into cartesian geocentric
rotation rate vector Wx Wy Wz in radians/yr
- Parameters longitude,latitude,omega
longitude and latitude of the Euler pole in decimal degrees and the
angular velocity in decimal degrees per Myr. :returns Wx Wy Wz: in radians/yr
- Note
longitude and latitude are relative to the sphere, not the ellipsoid.
-
pyacs.lib.euler.
euler_uncertainty
(w, vcv)[source]¶ Calculates Euler pole parameters uncertainty
- Parameters
w – rotation vector in XYZ coordinates as numpy 1D array
vcv – covariance of w as numpy 2D array
- Returns
vcv_euler as numpy 2D array
-
pyacs.lib.euler.
vel_from_euler
(lonp, latp, lon_euler, lat_euler, omega_euler)[source]¶ Return the horizontal velocity predicted at lonp,latp from an Euler pole
- Parameters
lonp,latp – longitude,latitude in decimal degrees where velocity will be predicted
lon_euler,lat_euler_omega_euler – longitude and latitude of the Euler pole in decimal degrees and the
angular velocity in decimal degrees per Myr.
- Returns
ve,vn in mm/yr
-
pyacs.lib.euler.
pole_matrix
(coor)[source]¶ Calculates the matrix relating the horizontal velocity to a rotation rate vector. Given a 2D-numpy array of n positions [lonp , latp] in decimal degrees the return matrix is W so that np.dot( W , w ) gives a 2D-numpy array of [ve1,vn1,ve2,vn2,….] expressed in m/yr for a rotation rate vector in rad/yr
- Parameters
coor – 2D numpy array of [lon, lat] in decimal degrees
- Returns
the pole matrix as a 2D-numpy array
-
pyacs.lib.euler.
pole_matrix_fault
(coor, strike, order=None)[source]¶ Calculates the matrix relating the along strike and normal slip components of a fault to a rotation rate vector. Given a 2D-numpy array of n positions [lonp , latp] in decimal degrees and strike counter-clockwise from north the return matrix is W so that np.dot( W , w ) gives a 2D-numpy array of [ss1,ns1,ss2,ns2,….] expressed in m/yr for a rotation rate vector in rad/yr
:param coor : 2D numpy array of [lon, lat] in decimal degrees :param strike: 1D numpy array of [strike] in decimal degrees
- Returns
the pole matrix as a 2D-numpy array
- Note
np.dot( W , w ).reshape(-1,2) gives the along strike,and normal components in two columns
- Note
the value are given for the hanging-wall block (right-polygon)