Skip to content

A python packages for geophysical data processing modeling, inversion and interpretation.

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.txt
Notifications You must be signed in to change notification settings

Metkom/PyOSGPUP

Repository files navigation

PyOSGPUP

GitHub version Build Status GitHub top language PyPI version PyPI license PyPI - Status PyPI - Wheel

GitHub last commit GitHub Release Date HitCount PyPI download month GitHub All Releases GitHub forks

Inline docs contributions welcome GitHub contributors

A python packages for geophysical data processing modeling, inversion and interpretation. Please check here: for official website and package.

Teknik Geofisika, Universitas Pertamina Jl. Teuku Nyak Arief, Simprug, South Jakarta, DKI Jakarta, Indonesia, 12220. email: [email protected]

Requirement

pip3 install -r requirements.txt

Installation

pip install PyOSGPUP
or
pip3 install PyOSGPUP

User Manual

User manual for this package avalaible in Bahasa (download). Short example:

1. Create wavelet

import numpy as np
import PyOSGPUP.wavelet as wav
import matplotlib.pyplot as plt

t = np.arange(-0.4 / 2, (0.4 / 2) + 0.004, 0.004)
# frequency
fgR = np.array([10])  # 1 freq
fgO = np.array([5, 10, 15, 20])  # 4 fred
fgK = np.array([5, 10])  # 2 fred
gR = wav.getRicker(fgR, t)
gO = wav.getOrmsby(fgO, t)
gK = wav.getKlauder(fgK, t)

plt.figure()
plt.plot(t, gR, linewidth=2, color="blue")
plt.plot(t, gO, linewidth=2, color="red")
plt.plot(t, gK, linewidth=2, color="green")
plt.title('Wavelet')
plt.xlabel('time [ms]')
plt.ylabel('amplitude')
plt.legend(['Ricker', 'Ormsby', 'Kaluder'])
plt.show()

2. Read data segy

Please put shotgather.sgy file in your directory code.

import PyOSGPUP.segypy as segypy

filename = 'shotgather.sgy'

# Set verbose level
segypy.verbose = 1
SH = segypy.getSegyHeader(filename)

# Read Segy File
[Data, SH, STH] = segypy.readSegy(filename)

# Plot Segy filwe
scale = 1e-9

# wiggle plot
segypy.wiggle(Data, SH, 1e-9)

# image plot
segypy.image(Data, SH, scale)

3. Create synthetic seismogram

from PyOSGPUP.synthe_seismo import plotLogsInteract, plotTimeDepth, plotSeismogram
import matplotlib.pyplot as plt

# Synthetic Seismogram
d = [0., 50., 100.]  # Position of top of each layer (m)
v = [500., 1000., 1500.]  # Velocity of each layer (m/s)
rho = [2000., 2300., 2500.]  # Density of each layer (kg/m^3)
wavtyp = 'RICKER'  # Wavelet type
wavf = 50.  # Wavelet Frequency
usingT = False  # Use Transmission Coefficients?

plotLogsInteract(d[1], d[2], rho[0], rho[1], rho[2], v[0], v[1], v[2])
plt.show()

plotTimeDepth(d, v)
plt.show()

plotSeismogram(d, rho, v, 50., wavA=1., noise=0., usingT=True, wavtyp='RICKER')
plt.show()

Citation

If you find this project useful for your research, please use the following BibTeX entry.

About

A python packages for geophysical data processing modeling, inversion and interpretation.

Topics

Resources

License

MIT, MIT licenses found

Licenses found

MIT
LICENSE
MIT
LICENSE.txt

Stars

Watchers

Forks

Packages

No packages published

Languages