pygeopressure.pressure package

Submodules

pygeopressure.pressure.bowers module

Routines to calculate pore pressure

pygeopressure.pressure.bowers.bowers(v, obp, u, start_idx, a, b, vmax, end_idx=None)[source]

Compute pressure using Bowers equation.

Parameters
  • v (1-d ndarray) – velocity array whose unit is m/s.

  • obp (1-d ndarray) – Overburden pressure whose unit is Pa.

  • v0 (float, optional) – the velocity of unconsolidated regolith whose unit is m/s.

  • a (float, optional) – coefficient a

  • b (float, optional) – coefficient b

Notes

\[P = S - \left[\frac{(V-V_{0})}{a}\right]^{\frac{1}{b}}\]

3

3

Bowers, G. L. (1994). Pore pressure estimation from velocity data: accounting from overpressure mechanisms besides undercompaction: Proceedings of the IADC/SPE drilling conference, Dallas, 1994, (IADC/SPE), 1994, pp 515–530. In International Journal of Rock Mechanics and Mining Sciences & Geomechanics Abstracts (Vol. 31, p. 276). Pergamon.

pygeopressure.pressure.bowers.bowers_varu(v, obp, u, start_idx, a, b, vmax, buf=20, end_idx=None, end_buffer=10)[source]

Bowers Method with buffer zone above unloading zone

Parameters
  • v (1-d ndarray) – velocity array whose unit is m/s.

  • obp (1-d ndarray) – Overburden pressure whose unit is Pa.

  • u (float) – coefficient u

  • start_idx (int) – index of start of fluid expansion

  • a (float, optional) – coefficient a

  • b (float, optional) – coefficient b

  • vmax (float)

  • buf (int, optional) – len of buffer interval, buf should be smaller than start_idx

  • end_idx (int) – end of fluid expasion

  • end_buffer (int) – len of end buffer interval

pygeopressure.pressure.bowers.invert_unloading(v, a, b, u, v_max)[source]

invert of Unloading curve in Bowers’s method.

pygeopressure.pressure.bowers.invert_virgin(v, a, b)[source]

invert of virgin curve.

pygeopressure.pressure.bowers.power_bowers(sigma_vc_ratio, u)[source]
pygeopressure.pressure.bowers.unloading_curve(sigma, a, b, u, v_max)[source]

Unloading curve in Bowers’s method.

pygeopressure.pressure.bowers.virgin_curve(sigma, a, b)[source]

Virgin curve in Bowers’ method.

pygeopressure.pressure.bowers_seis module

Routines for Bowers’ pore pressure prediction with seismic velocity

pygeopressure.pressure.bowers_seis.bowers_optimize(bowers_cube, obp_cube, vel_cube, upper_hor, lower_hor)[source]

Bowers prediction with automatic coefficient optimization

pygeopressure.pressure.bowers_seis.bowers_seis(output_name, obp_cube, vel_cube, a=None, b=None, upper=None, lower=None, mode='simple')[source]
pygeopressure.pressure.bowers_seis.bowers_simple(bowers_cube, obp_cube, vel_cube, a=None, b=None)[source]

Bowers prediction with fixed a, b

pygeopressure.pressure.eaton module

Routines for eaton pressure prediction

Created on Sep 20 2018

pygeopressure.pressure.eaton.eaton(v, vn, hydrostatic, lithostatic, n=3)[source]

Compute pore pressure using Eaton equation.

Parameters
  • v (1-d ndarray) – velocity array whose unit is m/s.

  • vn (1-d ndarray) – normal velocity array whose unit is m/s.

  • hydrostatic (1-d ndarray) – hydrostatic pressure in mPa

  • lithostatic (1-d ndarray) – Overburden pressure whose unit is mPa.

  • v0 (float, optional) – the velocity of unconsolidated regolith whose unit is ft/s.

  • n (float, optional) – eaton exponent

Returns

Return type

ndarray

Notes

\[P = S - {\sigma}_{n}\left(\frac{V}{V_{n}}\right)^{n}\]

4

4

Eaton, B. A., & others. (1975). The equation for geopressure prediction from well logs. In Fall Meeting of the Society of Petroleum Engineers of AIME. Society of Petroleum Engineers.

pygeopressure.pressure.eaton.power_eaton(v_ratio, n)[source]

Notes

\[\frac{\sigma}{{\sigma}_{n}}= \left(\frac{V}{V_{n}}\right)^{n}\]
pygeopressure.pressure.eaton.sigma_eaton(es_norm, v_ratio, n)[source]

calculate effective pressure with the ratio of velocity and normal velocity

Notes

\[{\sigma}={\sigma}_{n}\left(\frac{V}{V_{n}}\right)^{n}\]

pygeopressure.pressure.eaton_seis module

Routines for eaton seismic pressure prediction

Created on Sep 24 2018

pygeopressure.pressure.eaton_seis.eaton_seis(output_name, obp_cube, vel_cube, n, a=None, b=None, upper=None, lower=None)[source]

pygeopressure.pressure.hydrostatic module

Function to calculate hydrostatic pressure

Created on Fri Nov 11 2016

pygeopressure.pressure.hydrostatic.hydrostatic_pressure(depth, kelly_bushing=0, depth_w=0, rho_f=1.0, rho_w=1.0)[source]
Parameters
  • depth (scalar or 1-d ndarray) – measured depth, unit: meter

  • rho_f (scalar) – density of pore fluid, g/cm3

  • kelly_bushing (scalar) – kelly bushing elevation, in meter

  • depth_w (scalar) – sea water depth

  • rho_w (scalar) – sea water density

Returns

pressure – unit: mPa

Return type

scalar or 1-d ndarray

pygeopressure.pressure.hydrostatic.hydrostatic_trace(depth, rho=1.01, g=9.8, shift=0)[source]
pygeopressure.pressure.hydrostatic.hydrostatic_well(depth, kb=0, wd=0, rho_f=1.0, rho_w=1.0)[source]
Returns

Hydrostatic pressure as a Log

Return type

Log

pygeopressure.pressure.multivariate module

Routines for multivariate pressure prediction

Created on Sep 20 2018

pygeopressure.pressure.multivariate.effective_stress_multivariate(vel, phi, vsh, a_0, a_1, a_2, a_3, B, U, vmax, start_idx, end_idx=None)[source]
pygeopressure.pressure.multivariate.effective_stress_multivariate_varu(vel, phi, vsh, a_0, a_1, a_2, a_3, B, U, vmax, start_idx, buf=20, end_idx=None, end_buffer=10)[source]
pygeopressure.pressure.multivariate.invert_multivariate_unloading(vel, phi, vsh, a_0, a_1, a_2, a_3, B, U, vmax)[source]

Calculate effective stress using multivariate unloading curve

pygeopressure.pressure.multivariate.invert_multivariate_virgin(vel, phi, vsh, a_0, a_1, a_2, a_3, B)[source]

Calculate effective stress using multivariate virgin curve

Parameters
  • vel (1-d ndarray) – velocity array whose unit is m/s.

  • phi (1-d ndarray) – porosity array

  • vsh (1-d ndarray) – shale volume

  • a_0, a_1, a_2, a_3 (scalar) – coefficients

Returns

sigma

Return type

1-d ndarray

pygeopressure.pressure.multivariate.multivariate_unloading(sigma, phi, vsh, a_0, a_1, a_2, a_3, B, U, vmax)[source]

Calculate velocity using multivariate unloading curve

pygeopressure.pressure.multivariate.multivariate_virgin(sigma, phi, vsh, a_0, a_1, a_2, a_3, B)[source]

Calculate velocity using multivariate virgin curve

Parameters
  • sigma (1-d ndarray) – effective pressure

  • phi (1-d ndarray) – effective porosity

  • vsh (1-d ndarray) – shale volume

  • a_0, a_1, a_2, a_3 (float) – coefficients of equation

  • B (float) – effective pressure exponential

Returns

out – velocity array

Return type

1-d ndarray

Notes

\[V = a_0 + a_1\phi + a_2{V}_{sh} + a_3 {\sigma}^{B}\]

5

5

Sayers, C., Smit, T., van Eden, C., Wervelman, R., Bachmann, B., Fitts, T., et al. (2003). Use of reflection tomography to predict pore pressure in overpressured reservoir sands. In submitted for presentation at the SEG 2003 annual meeting.

pygeopressure.pressure.multivariate.pressure_multivariate(obp, vel, phi, vsh, a_0, a_1, a_2, a_3, B, U, vmax, start_idx, end_idx=None)[source]

Pressure Prediction using multivariate model

pygeopressure.pressure.multivariate.pressure_multivariate_varu(obp, vel, phi, vsh, a_0, a_1, a_2, a_3, B, U, vmax, start_idx, buf=20, end_idx=None, end_buffer=10)[source]

Pressure Prediction using multivariate model

pygeopressure.pressure.obp module

Functions related to density and Overburden Pressrue Calculation

pygeopressure.pressure.obp.gardner(v, c=0.31, d=0.25)[source]

Estimate density with velocity

Parameters
  • v (1-d ndarray) – interval velocity array

  • c (float, optional) – coefficient a

  • d (float, optional) – coefficient d

Returns

out – density array

Return type

1-d ndarray

Notes

\[\rho = c{V}^{d}\]

typical values for a and b in GOM coast are a=0.31, b=0.25 1.

1

G. Gardner, L. Gardner, and A. Gregory, “Formation velocity and density - the diagnostic basics for stratigraphic traps,” Geophysics, vol. 39, no. 6, pp. 770-780, 1974.

pygeopressure.pressure.obp.gardner_seis(output_name, vel_cube, c=0.31, d=0.25)[source]
Parameters

output_name (str) – output file name without extention

Returns

Return type

SeiSEGY

pygeopressure.pressure.obp.obp_section(rho_inline, step)[source]
pygeopressure.pressure.obp.obp_seis(output_name, den_cube)[source]
pygeopressure.pressure.obp.obp_trace(rho, step)[source]

Compute Overburden Pressure for a trace

Parameters

rho (1-d array) – density in g/cc

Returns

out – overburden pressure in mPa

Return type

1-d ndarray

pygeopressure.pressure.obp.obp_well(den_log, kb=41, wd=82, rho_w=1.01)[source]

Compute Overburden Pressure for a Log

Parameters
  • den_log (Log) – density log (extrapolated)

  • kb (scalar) – kelly bushing elevation in meter

  • wd (scalar) – from sea level to sea bottom (a.k.a mudline) in meter

  • rho_w (scalar) – density of sea water - depending on the salinity of sea water (1.01-1.05g/cm3)

Returns

out – Log containing overburden pressure in mPa

Return type

Log

pygeopressure.pressure.obp.overburden_pressure(depth, rho, kelly_bushing=41, depth_w=82, rho_w=1.01)[source]

Calculate Overburden Pressure

Parameters
  • depth (1-d ndarray)

  • rho (1-d ndarray) – density in g/cm3

  • kelly_bushing (scalar) – kelly bushing elevation in meter

  • depth_w (scalar) – from sea level to sea bottom (a.k.a mudline) in meter

  • rho_w (scalar) – density of sea water - depending on the salinity of sea water (1.01-1.05g/cm3)

Returns

obp – overburden pressure in mPa

Return type

1-d ndarray

pygeopressure.pressure.obp.traugott(z, a, b)[source]

estimate density with depth

Parameters
  • depth (1-d ndarray)

  • a, b (scalar)

Notes

\[\overline{\rho (h)}=16.3+{h/3125}^{0.6}\]

gives the average sediment density in pounds per gallon (ppg) mud weight equivalent between the sea floor and depth h (in feet) below the sea floor.

So, density variation with depth takes the form 2:

\[\rho(z) = {\rho}_{0} + a{z}^{b}\]
2

Traugott, Martin. “Pore/fracture pressure determinations in deep water.” World Oil 218.8 (1997): 68-70.

pygeopressure.pressure.obp.traugott_trend(depth, a, b, kb=0, wd=0)[source]

pygeopressure.pressure.utils module

some utilities regarding pressure calculation

pygeopressure.pressure.utils.create_seis(name, like)[source]
Parameters
  • name (str)

  • like (SeiSEGY)

pygeopressure.pressure.utils.create_seis_info(segy_object, name)[source]
Parameters
  • segy_object (SeiSEGY)

  • name (str)

Module contents