Earthquake

oksar3

Program to calcuate forward models of interferograms, strain tensor, etc. from Okada subroutine.

Heritage:
  • originally fringes.c written by Barry Parsons
  • updated to oksar tjw
  • oksar_strain: added strain tensor calculation tjw
  • oksar3: added new line of sight calculator tjw feb 2003
  • Modified into Python by RowanCockett, 3point Science Aug 2014
class geoana.earthquake.oksar.EarthquakeInterferogram(**kwargs)

Bases: properties.base.base.HasProperties

Required Properties:

  • copyright (String): copyright, a unicode string
  • data (Array): Processed interferogram data (unwrapped), a list or numpy array of <class ‘float’> with shape (*)
  • data_source (String): data_source, a unicode string
  • date1 (DateTime): date1, a datetime object
  • date2 (DateTime): date2, a datetime object
  • event_country (String): Earthquake country, a unicode string
  • event_date (DateTime): Date of the earthquake, a datetime object
  • event_gcmt_id (String): GCMT ID, a unicode string
  • event_name (String): Earthquake name, a unicode string
  • local_earth_radius (Float): Earth radius, a float, Default: 6371000.0
  • local_rigidity (Float): Local rigidity, a float, Default: 30000000000.0
  • location (Vector2): interferogram location (bottom N, left E), a 2D Vector of <class ‘float’> with shape (2)
  • location_UTM_zone (Integer): UTM zone, an integer
  • pixel_size (Array): Size of each pixel (northing, easting), a list or numpy array of <class ‘float’> with shape (2)
  • processed_by (String): processed_by, a unicode string
  • processed_date (DateTime): processed_date, a datetime object
  • ref (Vector2): interferogram reference, a 2D Vector of <class ‘float’> with shape (2)
  • ref_incidence (Float): Incidence angle, a float
  • satellite_altitude (Float): satellite_altitude, a float
  • satellite_azimuth (Float): satellite_azimuth, a float
  • satellite_fringe_interval (Float): Fringe interval, a float, Default: 0.028333
  • satellite_name (String): Name of the satelite., a unicode string
  • scaling (Float): Scaling of the interferogram, a float, Default: 1.0
  • shape (Array): number of pixels in the interferogram, a list or numpy array of <class ‘int’> with shape (2)
  • title (String): name of the earthquake, a unicode string

Optional Properties:

  • description (String): description of the event, a unicode string
copyright

copyright (String): copyright, a unicode string

data

data (Array): Processed interferogram data (unwrapped), a list or numpy array of <class ‘float’> with shape (*)

data_source

data_source (String): data_source, a unicode string

date1

date1 (DateTime): date1, a datetime object

date2

date2 (DateTime): date2, a datetime object

description

description (String): description of the event, a unicode string

event_country

event_country (String): Earthquake country, a unicode string

event_date

event_date (DateTime): Date of the earthquake, a datetime object

event_gcmt_id

event_gcmt_id (String): GCMT ID, a unicode string

event_name

event_name (String): Earthquake name, a unicode string

get_LOS_vector(locations)

calculate beta - the angle at earth center between reference point and satellite nadir

local_earth_radius

local_earth_radius (Float): Earth radius, a float, Default: 6371000.0

local_rigidity

local_rigidity (Float): Local rigidity, a float, Default: 30000000000.0

location

location (Vector2): interferogram location (bottom N, left E), a 2D Vector of <class ‘float’> with shape (2)

location_UTM_zone

location_UTM_zone (Integer): UTM zone, an integer

pixel_size

pixel_size (Array): Size of each pixel (northing, easting), a list or numpy array of <class ‘float’> with shape (2)

plot_interferogram(wrap=True, ax=None)
plot_mask(ax=None, opacity=0.2)
processed_by

processed_by (String): processed_by, a unicode string

processed_date

processed_date (DateTime): processed_date, a datetime object

ref

ref (Vector2): interferogram reference, a 2D Vector of <class ‘float’> with shape (2)

ref_incidence

ref_incidence (Float): Incidence angle, a float

satellite_altitude

satellite_altitude (Float): satellite_altitude, a float

satellite_azimuth

satellite_azimuth (Float): satellite_azimuth, a float

satellite_fringe_interval

satellite_fringe_interval (Float): Fringe interval, a float, Default: 0.028333

satellite_name

satellite_name (String): Name of the satelite., a unicode string

scaling

scaling (Float): Scaling of the interferogram, a float, Default: 1.0

shape

shape (Array): number of pixels in the interferogram, a list or numpy array of <class ‘int’> with shape (2)

title

title (String): name of the earthquake, a unicode string

class geoana.earthquake.oksar.Oksar(**kwargs)

Bases: properties.base.base.HasProperties

Required Properties:

  • O (Vector2): Origin of the simulation domain, a 2D Vector of <class ‘float’> with shape (2)
  • U (Vector2): U direction of the simulation domain, a 2D Vector of <class ‘float’> with shape (2)
  • V (Vector2): V direction of the simulation domain, a 2D Vector of <class ‘float’> with shape (2)
  • beta (Float): beta, a float, Default: 30000000000.0
  • center (Vector2): Center of the fault plane., a 2D Vector of <class ‘float’> with shape (2)
  • depth_bottom (Float): Bottom of fault, a float in range [0, inf], Default: 10000
  • depth_top (Float): Top of fault, a float in range [0, inf]
  • dip (Float): Dip, a float in range [0, 90], Default: 45
  • length (Float): Fault length, a float in range [0, inf], Default: 10000.0
  • mu (Float): mu, a float, Default: 30000000000.0
  • rake (Float): Rake, a float in range [-180, 180], Default: 90
  • shape (Array): number of pixels in the simulation, a list or numpy array of <class ‘int’> with shape (2), Default: (300, 300)
  • slip (Float): Slip, a float in range [0, inf], Default: 0.5
  • strike (Float): Strike, a float in range [0, 360]
O

O (Vector2): Origin of the simulation domain, a 2D Vector of <class ‘float’> with shape (2)

U

U (Vector2): U direction of the simulation domain, a 2D Vector of <class ‘float’> with shape (2)

V

V (Vector2): V direction of the simulation domain, a 2D Vector of <class ‘float’> with shape (2)

beta

beta (Float): beta, a float, Default: 30000000000.0

center

center (Vector2): Center of the fault plane., a 2D Vector of <class ‘float’> with shape (2)

depth_bottom

depth_bottom (Float): Bottom of fault, a float in range [0, inf], Default: 10000

depth_top

depth_top (Float): Top of fault, a float in range [0, inf]

dip

dip (Float): Dip, a float in range [0, 90], Default: 45

displacement_vector
length

length (Float): Fault length, a float in range [0, inf], Default: 10000.0

mu

mu (Float): mu, a float, Default: 30000000000.0

plot_displacement(eq=None, ax=None, wrap=True, mask_opacity=0.2)
rake

rake (Float): Rake, a float in range [-180, 180], Default: 90

shape

shape (Array): number of pixels in the simulation, a list or numpy array of <class ‘int’> with shape (2), Default: (300, 300)

simulation_grid
slip

slip (Float): Slip, a float in range [0, inf], Default: 0.5

strike

strike (Float): Strike, a float in range [0, 360]

geoana.earthquake.oksar.example()