CDM class

class csi.CDM(name, utmzone=None, ellps='WGS84', lon0=None, lat0=None, verbose=True)
computePotency()

Computes potency change (m3) of three orthogonal point tensile dislocations, given the semimajor axes.

Returns:
  • A : Ratio of horizontal potency (volume) to total potency (volume) variation

  • B : Ratio of vertical potency (volume) variation

  • self.DV : Change in potency

createShape(x, y, z0, ax, ay, az, dip, strike, plunge, latlon=True)

” Defines the shape of the CDM pressure source.

Args:
  • x0, y0 : Center of pressure source in lat/lon or utm

  • z0 : Depth

  • ax, ay, az : Semi-axes of the CDM along the x, y and z axes respectively, before applying rotations.

  • dip : Clockwise around N-S (Y) axis; dip = 90 means vertical source

  • strike : Clockwise from N; strike = 0 means source is oriented N-S

  • plunge : Clockwise along E-W (X) axis

Returns:

None

opening2potency()

Converts opening (m) to potency change (m3) for CDM.

Uses formula from : Nikkhoo, M., Walter, T. R., Lundgren, P. R., and Prats-Iraola, P. (2017). Compound dislocation models(CDMs) for volcano deformation analyses.Geophysical Journal International, 208(2):877–894

Returns:
  • deltapotency : strength of dislocation source, or volume available to host fluids intruding into cavity from the outside

pressure2dis(data, delta='volume', volume=None)

Computes the surface displacement at the data location using pCDM. ~~~ This is where the good stuff happens ~~

Args:
  • data : data object from gps or insar.

  • delta : total potency change, in units of volume

Returns:
  • u : x, y, and z displacements

setOpening(opening)

Set deltavolume given deltapressure.

Returns:
  • deltapressure : Pressure change