pyacs.lib.faultslip package¶
Submodules¶
pyacs.lib.faultslip.fault_to_corners module¶
- pyacs.lib.faultslip.fault_to_corners.fault_to_corners(lon, lat, depth, length, width, strike, dip)[source]¶
- Parameters
lon – origin longitude for fault
lat – origin latitude for fault
length – fault length in km
width – fault width in km
strike – fault strike in degrees
dip – fault dip in degrees
- Returns
lonc, latc, depthc 1D numpy arrays of the 4 fault corners
- Note
use a flat Earth approximation, depth is negative
pyacs.lib.faultslip.geo_to_strike module¶
- pyacs.lib.faultslip.geo_to_strike.geo_to_strike(ilon, ilat, elon, elat)[source]¶
for a given fault segment starting at ilon,lat and ending at elon, elat , returns the strike.
- Parameters
ilon,ilat – geographical coordinates of fault segment start point in decimal degrees
elon,elat – geographical coordinates of fault segment end point in decimal degrees
- Returns strike
in decimal degrees clockwise from north
- Note
strike here is taken as the initial bearing. Be cautious with long segments
pyacs.lib.faultslip.rake_from_euler module¶
- pyacs.lib.faultslip.rake_from_euler.rake_from_euler(longitude, latitude, strike, dip, euler)[source]¶
predicts rake for a given fault according to an Euler pole, position and strike of the fault
- Parameters
longitude,latitude – in decimal degrees
strike – fault strike from north in decimal degrees
dip – fault dip from north in decimal degrees
euler – Euler pole as a string ‘/long/lat/w/style’ (style among ‘inverse’, ‘normal’, ‘leftlateral’,’rightlateral’)
- Return rake
in decimal degrees
- Note
style needs to be provided to ensure the correct sense of slip.
pyacs.lib.faultslip.slip_rake_2_ds_ss module¶
- pyacs.lib.faultslip.slip_rake_2_ds_ss.slip_rake_2_ds_ss(slip, rake)[source]¶
Converts a slip vector provided as slip and rake to dip slip and strike-slip components
- Parameters
slip – slip
rake – rake in degrees
:return ( slip*np.sin( np.radians(rake) ) , slip*np.cos( np.radians(rake) ))
- Note
ds will be positive for rake in [0,180] that is reverse motion ss will be positive for left-lateral motion
pyacs.lib.faultslip.ss_ns_2_ve_vn module¶
- pyacs.lib.faultslip.ss_ns_2_ve_vn.ss_ns_2_ve_vn(ss, ns, strike)[source]¶
Converts strike-slip and normal slip components of a fault to ve, vn
- Parameters
ss – vector of strike-slip
ns – vector of normal-slip
strike – vector of fault strike, counter-clockwise from north in degrees
- Returns
ve, vn, same unit as ss and ds
- Note
ss is assume to be positive for left-lateral motion ds will be positive for reverse motion
pyacs.lib.faultslip.strike_dip_rake_to_dir module¶
pyacs.lib.faultslip.v_to_n_ss module¶
- pyacs.lib.faultslip.v_to_n_ss.v_to_n_ss(ve, vn, strike)[source]¶
for a given relative horizontal velocity (ve,vn) between two blocks separated by a fault of a given strike , returns normal and strike-slip component of motion. The convention is that the point is in the left-domain with respect to the fault. Shortening & right-lateral are positive, extension and left-lateral negative
- Parameters
ve,vn – east and north components of motion (any unit)
strike – in decimal degrees
- Returns normal,strike-slip
same units as ve,vn
pyacs.lib.faultslip.v_to_rake module¶
- pyacs.lib.faultslip.v_to_rake.v_to_rake(ve, vn, strike, dip, style='inverse')[source]¶
for a given relative horizontal velocity (ve,vn) between two blocks separated by a fault of a given strike & dip , returns the expected rake for the eq. Input can be single float or 1D numpy array
- Parameters
ve,vn – east and north components of motion (any unit)
strike,dip – in decimal degrees
style – string among {‘inverse’, ‘normal’, ‘leftlateral’,’rightlateral’}
- Returns rake
in decimal degrees
- Note
Because only providing ve,vn is ambiguous (we don’t know whether if ve,vn is hanging wall motion wrt the footwall or the opposite) an additional information (style) in the form of one of {‘inverse’, ‘normal’, ‘leftlateral’,’rightlateral’} must be provided.
Module contents¶
Various routines relating fault parameters, slip and motion across faults