Berikut adalah tahapan Instalasi Madagascar dengan platform Linux Ubuntu 10.10.
- Download Madagascar untuk Linux di sini
- Simpanlah file yang telah didownload tersebut pada directory yang bernama madagascar (contoh).
- Masuk ke directory madagascar lalu ketik tar -xvvf madagascar-1.0.tar.gz
- Semua file yang telah diekstrak akan disimpan di dalam directory baru yang bernama madagascar-1.0.
- Pada terminal linux ketik:
sudo apt-get install freeglut3-dev g++ gfortran libc6-dev libg2-dev libglew1.5-dev \
libjpeg62-dev libx11-dev libxaw7-dev libnetpbm10-dev swig python-dev python-scipy \
python-numpy scons units - Masih pada terminal linux ketik
export RSFROOT=/home/agus/madagascar/madagascar-1.0
export PYTHONPATH=$PYTHONPATH:$RSFROOT/lib
export PATH=$PATH:$RSFROOT/bin - Masuk ke directory madagascar, lalu ketik:
./configure lalu enter scons; scons install lalu enter source env.sh lalu enter - Test program dengan mengetikkan pada terminal (satu baris)
sfspike n1=1000 k1=300 title="\s200 Welcome to \c2 RSF" | sfbandpass fhi=2 phase=1 | sfwiggle | sfpen - Jika instalasi dan konfigurasi anda benar, maka anda akan memperoleh gambar seperti di bawah ini.
Setelah reboot atau keluar terminal, kadang-kadang command madagascar tidak dikenal lagi oleh sistem dengan munculnya error message: "....command not found" atau error message yang lainnya, untuk mengantisipasi hal ini, coba ketik lagi kode pada tahap 6 di ./bashrc dengan mengetikkan gedit ~/.bashrcContoh di bawah ini saya melakukan wavefront modeling 2D dengan madagascar, dimana kodenya bisa dilihat di bawah artikel ini.
Berikut adalah tahapan untuk menjalankan kode tersebut.
- Buatlah directory baru katakanlah /demo/2dmodel
- Jika saya ketik pwd saya akan memiliki path /home/agus/madagascar/madagascar-1.0/demo/2dmodel
- Pada path tersebut ketik gedit
- Lalu copy paste kode pemodelan di bawah dan save dengan nama SConstruct
- Ketik scons pada terminal linux, sehingga beberapa file akan digenerate
- Bukalah directory Fig i.e. /home/agus/madagascar/madagascar-1.0/demo/2dmodel/Fig
- Pada directory tersebut saya ketik sfpen < mod1.vpl

- Jika saya ketik sfpen < wave1.vpl
- Maka saya akan memiliki movie penjalaran gelombang dimana snapshotnya seperti ini:

Berikut adalah animasinya (klik untuk memperbesar):

Untuk mempelajari lebih jauh tentang Madagascar, anda bisa mempelajarinya disini
Jika anda bekerja pada ubuntu 11.04 anda dapat menginstall madagascar 1.2 .
Kode Pemodelan Wavefront:
##########################################################
# Created by Kyle Shalek, slightly modified by Agus Abdullah #
# Last Modified: 9-4-09 #
# Creates a 2D model with velocity and density inputs. #
# Acoustic FD modeling with awefd2d (Psava) #
# Single trace output #
##########################################################
from rsf.proj import *
import string
########################################################
#1) create velocity model
# Depth in km
xmax = 4.0
zmax = 2.0
layers = ((0.1,0.1,0.1,0.1,0.1),
(0.1,0.4,0.7,1.0,1.3),
(1.5,1.5,1.5,1.5,1.5))
layer1=0.1
layer2=1.3-0.1
layer3=1.5-1.3
layer4=2-1.5
# Velocity (Vp) in km/s
vp = (0.0,
6,
4.6657,
6)
#Velocity (Vs) in km/s
vs = (0.0,
2,
4,
2)
# Density in g/cc, converted to kg/ckm
densities = (0.1*1000000000000,
2.8*1000000000000,
2.5*1000000000000,
2.8*1000000000000)
def arr2str(array,sep=' '):
return string.join(map(str,array),sep)
n1 = len(layers[0])
n2 = len(layers)
Flow('layers',None,
'''
echo %s
n1=%d n2=%d o1=0 d1=%g
data_format=ascii_float in=$TARGET
''' % (string.join(map(arr2str,layers),' '),
n1,n2,xmax/(n1-1)))
d = 0.01 # sampling steps
Flow('mod1','layers',
'''
spline o1=0 d1=%g n1=%d |
unif2 d1=%g n1=%d v00=%s |
dd form=native
''' % (d,int(1.5+xmax/d),
d,int(1.5+zmax/d),
arr2str(vp,','),))
Flow('rho','layers',
'''
spline o1=0 d1=%g n1=%d |
unif2 d1=%g n1=%d v00=%s |
dd form=native
''' % (d,int(1.5+xmax/d),
d,int(1.5+zmax/d),
arr2str(densities,','),))
Result('mod1',
'''
grey color=j title="Velocity Model"
allpos=y titlesz=8 labelsz=6 screenratio=0.5
scalebar=y barlabel='velocity (km/s)' barlabelsz=6
label1="Depth (km)"
label2="Distance (km)"
''')
# Contour the layers
Plot('modline','mod1','contour title=" " label1='' label2='' wantaxis=n screenratio=0.5')
##############################################################
#2) 2D Acoustic wave FD Modeling
# Source location
sx = 2.5
sz = 0.1
Flow('source',None,
'spike n1=3 nsp=3 k1=1,2,3 mag=%g,%g,1 o1=0 o2=0' % (sx,sz))
# Receiver location
rx=2
rz=0.1
Flow ('receiver',None,
'spike n1=3 nsp=3 k1=1,2,3 mag=%g,%g,1 o1=0 o2=0' % (rx,rz))
########################
time=0.5
timesteps=1500 # timesteps*0.001=sec
frequency=30
##########################
#2)a) Source wavelet
Flow('wavelet',None,
'''
spike nsp=1 n1=%g d1=%g k1=%d |
ricker1 frequency=%g |
transp
''' % (timesteps,0.001,200,frequency))
#2)b) Awefd modeling
Flow('data wave','wavelet mod1 source receiver rho',
'''
awefd2d verb=y free=y expl=y snap=y jsnap=10 dabc=y
db=0 dbx=0 o1=0 o2=0
vel=${SOURCES[1]}
sou=${SOURCES[2]}
rec=${SOURCES[3]}
den=${SOURCES[4]}
wfl=${TARGETS[1]}
''')
#################################################################
#2)c) Movie of wave
Plot('wave',
'''
grey gainpanel=all title=Wave label1=Depth unit1=km label2=Lateral unit2=km
''',view=1)
Result('wave1','wave',
'''
grey color=j scalebar=y barlabel='Amplitude' barlabelsz=6
gainpanel=all title=Wave
label1=Depth unit1=km label2=Lateral unit2=km screenratio=0.5
''')
# Wavefield snapshot at 'time' value
Plot('snap','wave',
'''
window n1=201 n2=401 n3=1 min3=%g |
grey color=j gainpanel=all title="Wave Snapshot"
label1=Depth unit1=km label2=Lateral unit2=km screenratio=0.5
scalebar=y barlabel='Amplitude' barlabelsz=6
'''%(time))
##################################################################
#2)d) Overlay wave and layer contours
Result('snap1',['snap','modline'],'Overlay')
#2)e) Single Trace
Result('trace','data',
'''
transp |
spline o1=0 d1=0.001 n1=%g |
wiggle label1=Time unit1=s label2=Amplitude unit2='' title='Vertical Trace with Source'
'''% (timesteps))
Result('trace_window','data',
'''
transp |
spline o1=0 d1=0.001 n1=%g |
window min1=0.3 |
wiggle label1=Time unit1=s label2=Amplitude unit2='' title='Vertical Trace without Source'
'''% (timesteps))
End()
################################################################################
No comments:
Post a Comment