Interactive tool to explore AVO classes.
2016-2017, Alessandro Amato del Monte
Four functions are provided in the accompanying library avo_explorer_library
:
make_avoclasses
: to plot a reference chart with the AVO classes.avomod1
: to build AVO curves, synthetic gather and Intercept-Gradient crossplot for a half-space model.avomod2
: like above but for two different configurations for the lower medium (usually different fluids).make_avo_explorer
: builds on top avomod2
a simple selection to plot the reference AVO classes given by Hilterman (2001) for shale/brine sand scenarios and performs fluid replacement to make gas and oil sands.%matplotlib inline
import matplotlib as mpl
mpl.rcParams['figure.dpi'] = 100
from ipywidgets import interact, interactive, fixed
from avo_explorer_library import make_avoclasses,avomod1,avomod2,make_avo_explorer
C:\Users\ag19324\GOOGLEDRIVE\PYTHON\avo_explorer_library.py:209: SyntaxWarning: "is not" with a literal. Did you mean "!="? if polarity is not 'normal': C:\Users\ag19324\GOOGLEDRIVE\PYTHON\avo_explorer_library.py:336: SyntaxWarning: "is" with a literal. Did you mean "=="? if fluid is 'gas':
make_avoclasses()
Upper layer elastic properties are specified by vp1
, vs1
, rho1
.
Lower layer elastic properties are vp2
, vs2
, rho2
.
P-wave and S-wave velocities ar in m/s, density in g/cc.
Maximum angle of incidence in degrees is angmax
.
When setting polarity to normal
it means SEG-normal, i.e. increase in acoustic impedance is a peak or positive number.
The checkbox black
draws the synthetic seismogram by filling peaks in black, otherwise peaks are blue and troughs are red.
The parameter mx
controls the scale of the intercept and gradient crossplot as well as the vertical scale (i.e., reflection magnitude) of the AVO plot.
interact(avomod1,vp1=(1500,6000,100),vp2=(1500,6000,100),vs1=(1000,3000,100),vs2=(1000,3000,100),rho1=(1.5,3.0,0.1),rho2=(1.5,3.0,0.1), angmin=fixed(0), angmax=(30,60,10), polarity=['normal','reverse'], black=(False), mx=(0.1,1.0,0.2), continuous_update=False);
interactive(children=(IntSlider(value=3094, description='vp1', max=6000, min=1500, step=100), IntSlider(value=…
In the plot below, black is always brine, red is either gas or oil according to the selection in the drop-down box.
interact(make_avo_explorer,phimod=(-0.1,0.1,0.02),avoclass={'Class 1':1,'Class 2':2,'Class 3':3,'Class 4':4},fluid=['oil','gas'], continuous_update=False);
interactive(children=(Dropdown(description='avoclass', index=2, options={'Class 1': 1, 'Class 2': 2, 'Class 3'…