-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Gaussian reflector Kirchoff modeling
Modeling of a gaussian reflector in a linear velocity gradient (0.5), velocity increases with depth. Near surface velocity is 1.5Km/s. That simulated aquisition has 161 receivers, with 0.025Km sampling; 401 souces, 0.025Km sampling. Ricker wavelet maximun frequency is 10Hz. Time sampling is 0.004s, with 1001 samples. P.S.: Kirchoff modeling needs local reflector dip to work properly, calculate refletor local derivative and put in 'dip' file used by 'sfkirmod' program.
- Loading branch information
Showing
4 changed files
with
132 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
*.rsf | ||
*.o | ||
*.vpl | ||
*.png | ||
!images/*.png | ||
!diagrams/*.png | ||
*.pyc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# CRE Gather interpolation | ||
|
||
> Development of SConstruct to test CRE Gather interpolation algorithm and to get CRE Gathers | ||
> from a modeled data cube A(m,h,t). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
#!/usr/bin/env python | ||
# -*- coding: utf-8 -*- | ||
# | ||
# SConstruct (Madagascar Script) | ||
# | ||
# Purpose: Obtain an interpolated CRE Gather from a modeled data cube A(m,h,t). | ||
# | ||
# Site: http://www.dirackslounge.online | ||
# | ||
# Version 1.0 | ||
# | ||
# Programer: Rodolfo A. C. Neves (Dirack) 18/09/2019 | ||
# | ||
# Email: rodolfo_profissional@hotmail.com | ||
# | ||
# License: GPL-3.0 <https://www.gnu.org/licenses/gpl-3.0.txt>. | ||
|
||
|
||
# Madagascar library | ||
from rsf.proj import * | ||
|
||
# Python math library | ||
import math | ||
|
||
# Ploting functions | ||
from graph_scons import * | ||
|
||
# Modeling: Gaussian reflector in a velocity linear model | ||
# velocity increases with depth and a 0.5 velocity gradient | ||
Flow('gaussianReflector',None, | ||
''' | ||
math d1=0.01 n1=2001 o1=-5 unit1=km label1=Offset | ||
output="4-3*exp(-(x1-5)^2/9)" | ||
''') | ||
|
||
for g in range(2): | ||
gaussianReflector = 'gaussianReflector%d' % g | ||
Plot(gaussianReflector,'gaussianReflector', | ||
''' | ||
graph min2=0 max2=4 min1=0 max1=10 | ||
yreverse=y plotcol=%d plotfat=%d | ||
wantaxis=n wanttitle=n scalebar=y pad=n | ||
''' % ((7,0)[g],(7,3)[g])) | ||
|
||
# Velocity Model | ||
Flow('velocityModel','gaussianReflector', | ||
''' | ||
window min1=0 max1=10 | | ||
spray axis=1 n=451 d=0.01 o=0 label=Depth unit=km | | ||
math output="1.5+0.5*x1+0.0*x2" | ||
''') | ||
|
||
Plot('velocityModel', | ||
''' | ||
grey color=j allpos=y bias=1.5 scalebar=y wanttitle=n | ||
barreverse=y barlabel=Velocity barunit=km/s | ||
''') | ||
|
||
Result('gaussianReflectorVelocityModel','velocityModel gaussianReflector0 gaussianReflector1','Overlay') | ||
|
||
Flow('reflectorDip','gaussianReflector','math output="2/3*(x1-5)*input" ') | ||
|
||
# Kirchoff Modeling | ||
Flow('dataCube','gaussianReflector reflectorDip', | ||
''' | ||
kirmod cmp=y dip=${SOURCES[1]} | ||
nh=161 dh=0.025 h0=0 | ||
ns=401 ds=0.025 s0=0 | ||
freq=10 dt=0.004 nt=1001 | ||
vel=1.5 gradz=0.5 gradx=0.0 verb=y | | ||
put d2=0.0125 label3="CMP" unit3="Km" label2="Offset" unit2="Km" label1=Time unit1=s | ||
''') | ||
|
||
Result('dataCube',grey3('Modeled seismic data cube')) | ||
|
||
# Select a CMP gather m0=5Km | ||
Flow('cmpGather','dataCube', | ||
''' | ||
window n3=1 f3=200 | ||
''') | ||
|
||
Result('cmpGather',grey('CMP Gather 5Km')) | ||
|
||
End() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# coding: utf-8 | ||
# | ||
# graph_scons.py (Python) | ||
# | ||
# Purpose: Definition of ploting functions. | ||
# | ||
# Site: http://www.dirackslounge.online | ||
# | ||
# Version 1.0 | ||
# | ||
# Programer: Rodolfo Dirack 22/08/2019 | ||
# | ||
# Email: rodolfo_profissional@hotmail.com | ||
# | ||
# License: GPL-3.0 <https://www.gnu.org/licenses/gpl-3.0.txt>. | ||
|
||
def wiggle(title): | ||
return ''' | ||
wiggle wheretitle=top yreverse=y transp=y label1=Time unit1=s label2=CMP unit2=km pclip=99.5 title="%s" | ||
''' % title | ||
|
||
def grey(title): | ||
return ''' | ||
grey label1=Time unit1=s label2=CMP unit2=km pclip=99.5 title="%s" | ||
''' % title | ||
|
||
def grey3(title): | ||
return ''' | ||
byte | | ||
transp plane=23 | | ||
grey3 flat=n frame1=500 frame3=80 frame2=200 | ||
label1=Time unit1=s | ||
label3=Offset unit3=km | ||
label2=CMP unit2=km | ||
title="%s" point1=0.8 point2=0.8 | ||
''' % title | ||
|