pCDM class

class csi.pCDM(name, x0=None, y0=None, z0=None, ax=None, ay=None, az=None, dip=None, strike=None, plunge=None, utmzone=None, ellps='WGS84', lon0=None, lat0=None, verbose=True)
computeTotalpotency()

Computes the total potency and ratios A and B

Args:
  • 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, dip, strike, plunge, latlon=True)

” Defines the shape of the pCDM pressure source.

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

  • z0 : Depth

  • A : Horizontal divided by total volume variation ratio, A = DVz/(DVx+DVy+DVz) — ??? or potency ???

  • B : Vertical volume variation ratio, B : DVy/(DVx+DVy) — ??? or potency ???

  • dip : Clockwise around N-S (Y) axis ??? To verify

  • strike : Clockwise from N ??? To verify

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

Examples: A = 1, any B : horizontal sill A = 0, B = 0.5 : vertical pipe A = 0, B = 0 or 1 : vertical dyke A = 1/3, B = 0.5 : isotrope source A > 0, B > 0 : dyke + sill

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 : only total potency, in units of volume, in the pCDM case

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