11/7/2009
Workshop Pengolahan Data Seismik Menggunakan SU Volume 2: CMP Sorting – Multiple Attenuation
Befriko Murdianto
Befriko Murdianto
Workshop Pengolahan Data Seismik Menggunakan SU Volume 2: CMP Sorting – Multiple Attenuation
Geometri dan CMP Sorting Pada volume 2 ini, kita akan melakukan pengolahan data seismik dalam domain common mid-point (CMP). Pengertian dari CMP ini adalah setiap trace yang memiliki harga mid-point yang sama akan dikumpulkan dalam satu kelompok (gather). Gambar di bawah ini menunjukkan bagaimana perubahan data dari common shot gather menjadi CMP gather, kemudian di-stack.
Gambar 1. Proses sorting dari common shot gather menjadi CMP gather, kemudian stacking.
1
Befriko Murdianto
Untuk lebih memahami mengenai geometri data seismik, berikut ini adalah definisi istilah-istilah umum mengenai geometri yang biasa dipakai di dalam pengolahan data seismik: a.
Common shot gather: kumpulan trace-trace seismik yang berasal dari sumber yang sama, direkam oleh beberapa penerima, dan multiple offsets.
Gambar 2. Common shot gather.
b. Common mid-point(CMP) gather: kumpulan trace-trace seismik yang direkam pada beberapa penerima, dari beberapa sumber, multiple offsets, yang memiliki harga CMP yang sama.
Gambar 3. Common mid-point gather.
c.
Common receiver gather: kumpulan trace-trace seismik yang direkam pada satu receiver yang sama, yang berasal dari beberapa sumber, multiple offsets. Common receiver gather ini hanya terdapat pada data seismik darat. Pada data seismik laut, common receiver gather sama dengan common offset gather.
2
Befriko Murdianto
Gambar 4. Common receiver gather.
d. Common offset gather: kumpulan trace-trace seismik yang direkam pada beberapa penerima, berasal dari beberapa sumber, dan memiliki harga offset (jarak antar sumber dan penerima) yang sama.
Gambar 5. Common offset gather.
Koordinat sumber dan penerima data seismik biasanya disimpan dalam format tertentu, misalnya UKOOA P1/90 untuk data seismik laut atau SPS untuk data seismik darat. Gambar 6 dan Gambar 7 menunjukkan contoh data P1/90 dan SPS.
3
Befriko Murdianto
Gambar 6. Contoh data navigasi seismik laut dengan format UKOOA P1/90.
Format SPS sendiri terdiri dari 3 file, yaitu shot file, receiver file dan relationship file. Di bawah ini adalah contoh shot/receiver file dalam format SPS beserta keterangan mengenai isinya:
Gambar 7. Contoh data navigasi seismik darat dengan format SPS.
4
Befriko Murdianto
Berhubung data yang digunakan dalam workshop ini tidak memiliki file navigasi, maka koordinat sumber dan penerima akan kita hitung menggunakan geometri nominal berdasarkan informasi geometri yang kita miliki dari observer’s log. Sebelum geometri kita tentukan, perlu diingat bahwa di awal disebutkan kalau data seismik yang kita gunakan memiliki missing shots sebanyak 2 buah. Karena itu sebelum melakukan pendefinisian geometri, perlu kita masukkan 2 dummy shots agar geometri yang kita buat nantinya sesuai dengan yang kita harapkan. Script 006_Add_Dummy_Traces.sh adalah yang saya gunakan untuk menambahkan dummy shots. #! /bin/sh # Add dummy shot for missing shotpoints DATADIR=/local/lfs1/data/workshop/data INDATA=$DATADIR/startshot_decon.su OUTDATA=$DATADIR/startshot_decon_with_dummy.su # Get number of traces and number of samples per trace ntr=`surange <$INDATA | grep -v traces | awk '{print $6}' | head -5 | tail -1 | sed 1q | sed 's/cdpt=(1,//' | sed 's/)//'` nt=`sugethw <$INDATA key=ns | sed 1q | sed 's/ns=//' | awk '{print $1}'` # Make dummy shot with dead traces, add required headers sunull ntr=$ntr nt=$nt | sushw key=offset a=150 b=25 j=120 >$DATADIR/dummy.su # Put dummy shot into the gathers suwind <$INDATA key=fldr min=9302 max=9342 >$DATADIR/tmp1.su suwind <$INDATA key=fldr min=9343 max=9452 >$DATADIR/tmp2.su suwind <$INDATA key=fldr min=9453 max=9602 >$DATADIR/tmp3.su cat $DATADIR/tmp1.su $DATADIR/dummy.su $DATADIR/tmp2.su $DATADIR/dummy.su $DATADIR/tmp3.su >$OUTDATA # Remove unnecessary files rm -f $DATADIR/tmp1.su $DATADIR/tmp2.su $DATADIR/tmp3.su $DATADIR/dummy.su exit Ingat kembali kalau input data di sini saya letakkan di direktori /local/lfs1/data/workshop/data, silakan ganti direktori ini sesuai dengan letak data kalian masing-masing. Script di atas akan membuat dead traces (traces dengan amplitudo nol) sebanyak ntr dengan interval sampel sebesar nt. Perhatikan di sini harga ntr dan nt tidak saya definisikan secara eksplisit, tetapi saya menggunakan perintah surange dan sugethw untuk mendapatkannya dari data seismik. Lalu dead traces tersebut kita letakkan di antara field file number 9342 dengan 9343 dan 9452 dengan 9453 sesuai informasi yang kita dapatkan dari observer’s log. Tugas: Tentukan berapa harga ntr dan nt! Setelah dummy shots kita masukkan, maka kita dapat mendefinisikan nominal geometri sesuai informasi yang telah kita miliki. Pada workshop 1, informasi ini dibahas pada latar belakang mengenai data yang digunakan. Untuk mengingatnya kembali, berikut ini dituliskan lagi informasi mengenai geometri survey setelah trace drop:
5
Befriko Murdianto
Shotpoint (SP) interval: 25 m
Group interval: 25 m
Arah penembakan: 60 derajat
Near-trace offset: 150 m
Jumlah channel: 120
Nomor trace terdekat: 1
Seperti telah kita hitung bersama di workshop 1, jumlah fold nominal adalah 60. Berikut ini adalah rumus-rumus lain yang mungkin bermanfaat dalam pendefinisian geometri:
Group _ in terval CMP _ in terval 2 Shot _ in terval No _ of _ new _ cmps _ per _ shot ( NCMPS ) CMP _ in terval _ trace _ offset * Far First _ live _ CMP ( FLCMP ) 1 2 CMP _ in terval First _ full _ fold _ CMP ( FFCMP ) FLCMP ( Fold 1 ) NCMPS Last _ full _ fold _ CMP ( LFCMP ) FLCMP ( No _ of _ shots 1 ) NCMPS ( NCMPS 1 ) Last _ live _ CMP ( LLCMP ) LFCMP ( Fold 1 ) NCMPS *Formula
ini berlaku untuk beberapa software lama. Secara default, beberapa software (misalnya Omega) menggunakan angka 1 sebagai first live CMP. Di workshop ini, first live CMP akan kita berikan harga 1. Tugas: Hitunglah berapa first full-fold CMP, last full-fold CMP dan last live CMP untuk data Anda! Jika Anda telah selesai menghitung first live CMP, first full-fold CMP, last full-fold CMP dan last live CMP, berikut ini adalah script 007_CMP_Sort.sh untuk melakukan pendefinisian geometri dan sorting ke dalam CMP gathers. Jika telah selesai, Anda dapat memeriksa hasil script ini dengan hasil dari perhitungan Anda menggunakan perintah sukeycount. #! /bin/sh # Sort shot gathers to cmp gathers DATADIR=/local/lfs1/data/workshop/data INDATA=$DATADIR/startshot_decon_with_dummy.su # Set sushw sushw suchw
cdp numbers <$INDATA key=sx a=9323 c=25 j=120 | key=offset a=150 b=25 j=120 | key1=gx key2=sx key3=offset b=1 c=-1 |
6
Befriko Murdianto
suchw key1=cdp key2=gx key3=sx a=??? b=??? c=??? d=??? >$DATADIR/startshot_cdpset.su # Now sort to cmp susort <$DATADIR/startshot_cdpset.su >$DATADIR/cdp.su cdp offset # Cleanup rm $DATADIR/startshot_cdpset.su exit Tugas: Isilah parameter-parameter a, b,c dan d pada suchw kedua agar penomoran CMP Anda dimulai dengan angka 1! Perhatikan bahwa di sini kita akan menggunakan angka 1 untuk first live CMP. Isilah parameter a, b, c dan d di suchw kedua agar penomoran CMP Anda dimulai dengan angka 1. Pada sushw pertama, saya mengatur agar harga koordinat x untuk posisi sumber (sx) diawali dengan harga 9323, dan setiap 120 traces, harga sx lompat 25 m. Harga 9323 sebenarnya bisa diganti berapa saja karena kita tidak memiliki P1/90 file untuk menentukan harga koordinat. Harga 9323 ini saya ambil dari harga field file number yang pertama. Pada sushw yang kedua, saya mendefinisikan harga offset dimulai dengan 150 m (near trace offset), lompat 25 m setiap dalam kumpulan 120 traces (bedakan ini dengan sushw pertama, di sini saya menggunakan parameter b untuk melompat, sedangkan di sushw pertama saya menggunakan parameter c untuk melompat). Pada suchw pertama, saya menghitung harga koordinat untuk penerima (gx) dari harga sx dikurangi dengan harga offset, lalu pada suchw kedua saya mendefinisikan harga CMP dari harga-harga sx dan gx yang telah dihitung sebelumnya. Langkah terakhir adalah melakukan sorting data ke dalam CMP gathers dengan perintah susort. Perhatikan di dalam susort saya menggunakan kata kunci cdp offset untuk melakukan sorting ke dalam CMP gather, yang mana di dalam tiap-tiap CMP, harga offset akan diurutkan dari kecil ke besar. Jika Anda telah selesai melakukan sorting, Anda dapat memeriksa jumlah fold data Anda dengan menggunakan perintah sukeycount
7
Befriko Murdianto
Fold of Coverage 70
60
50
Fold
40
30
Fold
20
10
0 0
100
200
300
400
500
600
700
800
CDP Number
Gambar 8. Plot antara nomor CMP dengan jumlah fold untuk data workshop.
Menampilkan CMP Gathers Jika geometri dan sorting kita sudah benar, dapat kita tampilkan hasilnya menggunakan SU dengan perintah plotting suxwigb atau suximage seperti biasanya. Script 008_Display_CMP.sh adalah script yang saya gunakan untuk membuat tampilan di Gambar 9. #! /bin/sh DATADIR=/local/lfs1/data/workshop/data INDATA=$DATADIR/cdp.su # Define display parameters mincdp=119 maxcdp=606 inc=40 percentile=99 minclip=-0.5 maxclip=0.5 suwind <$INDATA key=cdp min=$mincdp max=$maxcdp j=$inc | suximage perc=$percentile wclip=$minclip bclip=$maxclip cmap=rgb0 label1="Time (s)" label2="Trace no." title="CMP gathers" & exit
8
Befriko Murdianto
Gambar 9. Tampilan data workshop setelah sorting ke dalam CMP.
9
Befriko Murdianto
Analisa Kecepatan dan Velocity Picking Setelah kita memiliki CMP gathers, kita dapat melakukan analisa kecepatan untuk mendapatkan kecepatan rms yang dapat kita gunakan untuk membuat penampang stack ataupun untuk migrasi. Script 008_IVA.sh adalah script yang akan kita pakai untuk melakukan analisa kecepatan. Berhubung script 008_IVA.sh sangat panjang (397 baris), maka hanya akan ditampilkan sebagian di sini. #! /bin/sh # File: iva.sh ##set -x #================================================== # USER AREA -- SUPPLY VALUE #-------------------------------------------------# CMPs for analysis cmp1=??? cmp4=??? cmp7=??? cmp10=??? cmp13=???
cmp2=??? cmp5=??? cmp8=??? cmp11=???
cmp3=??? cmp6=??? cmp9=??? cmp12=???
numCMPs=13 #-------------------------------------------------# File names indata=/local/lfs1/data/workshop/data/cdp.su outpicks=/local/lfs1/data/workshop/vels/stkvel.p1.iva #-------------------------------------------------# display choices myperc=99 plottype=0 #-------------------------------------------------# Processing variables # Semblances variables nvs=60 dvs=100 fvs=1000 # CVS variables fc=1000 lc=7000 nc=10 XX=11 … (bersambung)
10
Befriko Murdianto
Tugas: Isilah nomor-nomor CMP di atas mulai dari first full-fold CMP dan lompat setiap 500 m.
Gambar 10. Output dari script 008_IVA.sh berupa panel semblance (bawah), panel constant velocity stacks (CVS, tengah) dan CMP gather (atas).
11
Befriko Murdianto
Output dari script 008_IVA.sh adalah 3 panel yang terdiri dari panel semblance, panel constant velocity stacks (CVS) dan panel CMP gather yang belum dikoreksi NMO. Koreksi NMO adalah koreksi dinamik yang dilakukan akibat posisi sumber dan penerima yang tidak berada pada zero offset. Untuk melakukan koreksi NMO ini diperlukan informasi kecepatan yang didapatkan dari analisa kecepatan. Tugas kita selanjutnya adalah melakukan analisa kecepatan. Caranya adalah dengan melakukan “picking” harga kecepatan yang tepat untuk tiap reflektor. Perlu diperhatikan bahwa di SU, analisa kecepatan dilakukan dengan “blind picking”, yang berarti setiap kali kita pick, kita tidak dapat melihat hasil pick kita secara langsung. Picking kecepatan umumnya dilakukan pada panel semblance dengan mengetikkan huruf “s” pada semblance yang memiliki koherensi maksimum. Perlu dipastikan pada saat melakukan picking panel semblance harus aktif, kalau tidak harga pick kita tidak akan tersimpan. Setelah selesai melakukan picking, ketikkan huruf “q” untuk menyimpan hasil pick dan sekaligus menampilkan hasil pick kecepatan kita berupa kurva kecepatan dan CMP gather yang telah di-NMO dengan fungsi kecepatan yang kita pick (Gambar 11).
Gambar 11. Fungsi kecepatan (bawah), CMP gather setelah NMO (tengah) dan stack trace yang diulang sebanyak 8 kali (atas).
12
Befriko Murdianto
Membuat Penampang Stack Setelah kita memiliki file kecepatan dari analisa kecepatan, maka CMP gathers yang kita miliki dapat kita NMO dan stack untuk mendapatkan penampang stack. Stacking adalah proses merata-ratakan semua traces yang terdapat pada satu CMP untuk menghasilkan satu trace output. Proses ini mengakibatkan random noise saling menghilangkan sehingga meningkatkan signal-to-noise ratio. Sebelum melakukan stacking, kita perlu membuat sebuah fungsi outside mute yang bertujuan untuk membuang data yang tertarik (stretched) pada saat dilakukan koreksi NMO. Script 008_Design_CMP_Mute.sh di bawah ini adalah script yang digunakan untuk merancang outside mute menggunakan program suxpicker seperti yang telah kita lakukan di workshop sebelumnya. #! /bin/sh # Design an outside mute on CMP gathers # Input data and directories DATADIR=/local/lfs1/data/workshop/data CDP_NUM=??? INDATA=$DATADIR/cdp.su VELDIR=/local/lfs1/data/workshop/vels VFILE=$VELDIR/stkvel.p1.iva OUTPICK=cdpmute.txt smute=9999 percentile=95 # Select one cdp suwind <$DATADIR/cdp.su key=cdp min=$CDP_NUM max=$CDP_NUM >$DATADIR/cdp${CDP_NUM}.su # Interactively pick mutes sunmo <$DATADIR/cdp${CDP_NUM}.su par=$VFILE smute=$smute | suxpicker f2=150 d2=50 perc=$percentile mpicks=$OUTPICK & exit Perhatikan di sini saya menggunakan parameter smute=9999 di sunmo. Parameter ini adalah parameter untuk stretch mute. Karena stretch mute akan kita buang menggunakan outside mute, maka di sini saya beri harga yang besar agar tidak dilakukan stretch muting pada saat NMO. Tugas: Isilah CDP_NUM dengan first full-fold CMP. Selanjutnya, script 009_CMP_Stack.sh adalah script yang digunakan untuk membuat penampang stack. #! /bin/sh # Stack cmp gathers # Define input data and directories DATADIR=/local/lfs1/data/workshop/data
13
Befriko Murdianto
VELDIR=/local/lfs1/data/workshop/vels INDATA=$DATADIR/cdp.su VFILE=$VELDIR/stkvel.p1.iva # Display parameters cdpmin=119 cdpmax=606 inc=80 Xmute=??? Tmute=??? percentile=99 minclip=-0.5 maxclip=0.5 fx=1 dx=1 # Display cmp without NMO suwind <$INDATA key=cdp min=$cdpmin max=$cdpmax j=$inc |sumute xmute=$Xmute tmute=$Tmute | suximage perc=$percentile wclip=$minclip bclip=$maxclip cmap=rgb1 label1="Time (s)" label2="Trace no." title="CMP gathers" & # NMO the gathers suwind <$INDATA key=cdp min=$cdpmin max=$cdpmax j=$inc | sunmo par=$VFILE smute=9999 | sumute xmute=$Xmute tmute=$Tmute | suximage perc=$percentile wclip=$minclip bclip=$maxclip cmap=rgb1 label1="Time (s)" label2="Trace no." title="CMP gathers, nmo corrected" & # NMO and stack sunmo <$INDATA par=$VFILE smute=9999 >$DATADIR/cdp_nmo.su sumute <$DATADIR/cdp_nmo.su xmute=$Xmute tmute=$Tmute | sustack >$DATADIR/stack.su suximage <$DATADIR/stack.su perc=$percentile wclip=$minclip bclip=$maxclip cmap=rgb1 f2=$fx d2=$dx label1="Time (s)" label2="CMP" title="1st velocity stack" & exit Tugas: Isilah Xmute dan Tmute dengan hasil pick outside mute Anda sebelumnya. Gambar 12 menunjukkan CMP gathers setelah dilakukan NMO dan outside mute. Bandingkanlah gambar ini dengan Gambar 9. Gambar 13 adalah hasil penampang stack yang kita hasilkan menggunakan kecepatan dari hasil picking di script 008_IVA.sh.
14
Befriko Murdianto
Gambar 12. CMP gathers pada Gambar 9 setelah koreksi NMO dan outside mute.
15
Befriko Murdianto
Gambar 13. Penampang stack yang diperoleh dari picking kecepatan yang pertama.
16
Befriko Murdianto
Menghilangkan Multiple dengan Transformasi Radon Pada tahap ini kita akan mencoba menghilangkan salah satu jenis bising koheren, yaitu multiple yang terdapat pada data. Perhatikan kembali CMP gathers pada Gambar 12. Dapat kita lihat untuk event di bawah 1 detik, terdapat beberapa event yang tampak melengkung meskipun gathers sudah dilakukan koreksi NMO. Hal ini terjadi karena pada zona tersebut, multiple yang memiliki kecepatan lebih rendah akan menjadi over-corrected. Salah satu metode yang cukup efektif untuk membuang bising jenis ini adalah dengan melakukan transformasi Radon lalu membuat model multiple berdasarkan perbedaan moveout antara primaries dan multiples. Model multiple ini kemudian digunakan untuk membuang bising pada data. Dalam pemrosesan data seismik, terdapat tiga jenis transformasi Radon: 1.
Transformasi linear, dikenal juga dengan istilah “slant stack”, biasa disingkat tau-p.
2. Transformasi parabolik, biasa dikenal juga dengan istilah “prt” atau tau-q. 3. Transformasi hiperbolik (transformasi ini terlalu mahal untuk dilakukan). Dalam workshop ini, transformasi Radon yang akan kita gunakan adalah transformasi Radon parabolik. Transformasi Radon parabolik dapat digambarkan sebagai berikut:
Gambar 14. Transformasi Radon untuk event parabolik.
Transformasi Radon mengubah data dari domain time-offset (t-x) menjadi domain zero offset timemoveout (tau-q). q pada Gambar 14 adalah besarnya moveout pada offset tertentu (offset acuan, biasanya
17
Befriko Murdianto
diambil pada offset terjauh). Idealnya, kedua domain pada Gambar 14 memiliki jarak offset dan moveout yang tak berhingga. Parabola pada Gambar 14 memiliki moveout sebesar q1, sehingga pada domain tau-q, moveout tersebut akan ditransformasikan menjadi garis q1, di mana posisi waktu q1 ini ditentukan oleh waktu pada zero offset (zero offset time) dari parabola tersebut. Jadi dapat disimpulkan bahwa parabola dalam domain t-x berubah menjadi sebuah paku (spike) pada domain Radon, dengan posisi waktu dari paku tersebut merupakan posisi waktu pada zero offset dari parabola, dan jarak q sejauh besarnya moveout pada offset acuan. Sekarang seandainya kita memiliki sebuah paku dalam domain time-offset, menjadi apakah dia dalam domain zero offset time-moveout? Gambar 15 menggambarkan transformasi Radon untuk sebuah paku. Terlihat bahwa karena sebuah paku memiliki banyak kemungkinan moveout yang menyinggungnya dalam domain time-offset, maka pada domain Radon, dia menjadi sebuah garis lurus. Hal ini menjelaskan mengapa kita tidak boleh memiliki bising berupa bentuk paku dalam input data yang digunakan untuk transformasi Radon karena ia akan tersebar ke segala arah dalam domain Radon sehingga sulit dihilangkan.
Gambar 15. Transformasi Radon untuk event paku.
Idealnya, offset pada data untuk transformasi Radon memiliki jangkauan dari hingga agar hasilnya berupa bentuk titik sempurna. Namun pada kenyataannya, kita hanya memiliki offset yang terbatas. Gambar 16 menunjukkan pengaruh offset yang terbatas pada input data yang digunakan untuk transformasi Radon. Hasil transformasinya bukan lagi berupa titik yang sempurna, tetapi menjadi tersebar (smearing) dengan bentuk silang. 18
Befriko Murdianto
Gambar 16. Pengaruh offset yang terbatas pada transformasi Radon.
Pada workshop ini, sebelum kita melakukan penghilangan multiple dengan transformasi Radon, kita akan melakukan beberapa tes untuk menentukan parameter transformasi yang terbaik sehingga proses penghilangan multiple kita menjadi efektif. Tes pertama yang akan kita lakukan adalah invertibility test. Maksud dari invertibility test adalah kita melakukan transformasi Radon maju, lalu diikuti dengan transformasi Radon mundur. Hal ini dilakukan untuk melihat apakah parameter transformasi kita sudah cukup baik sehingga semua data tertransformasikan secara efektif. Apabila ada data yang tidak ikut tertransformasikan maka data tersebut tidak akan bisa dimodelkan dalam domain Radon sehingga proses penghilangan multiple kita menjadi tidak efektif. Script 009_Radon_Roundtrip_No_Interp.sh adalah scsript yang akan kita gunakan untuk melakukan invertibility test. #! /bin/sh set -x # Radon transform test to see if our transformation params sufficient # Define data directory and input/output file DATADIR=/local/lfs1/data/workshop/data INDATA=$DATADIR/cdp_nmo.su OUTDATA=$DATADIR/cdp_roundtrip_diff.su Xmute=??? Tmute=??? cdpmin=119 cdpmax=606 cdpinc=40
19
Befriko Murdianto
# Display params percentile=99 minclip=-0.5 maxclip=0.5 fx=1 dx=1 # Define radon parameters (not optimized yet) choose=3 # choose=3 to do roundtrip transform igopt=1 offref=3125 # reference offset pmin=??? # min moveout pmax=??? # max moveout dp=??? # moveout increment pmula=9999 # multiple mute times @ max time pmulb=9999 # multiple mute times @ zero time nwin=1 # number of windows fstart=80 # high-end freq where the taper starts fstop=100 # high-end freq where the taper stops prewhite=0.01 # pre-whitening maxtrcens=60 # max number of traces in an ensemble # Select subset of data suwind <$INDATA key=cdp min=$cdpmin max=$cdpmax j=$cdpinc | sumute xmute=$Xmute tmute=$Tmute >$DATADIR/cdp_selected.su # Do a roundtrip transform suradon <$DATADIR/cdp_selected.su choose=$choose igopt=$igopt offref=$offref pmin=$pmin pmax=$pmax dp=$dp pmula=$pmula pmulb=$pmulb nwin=$nwin f1=$fstart f2=$fstop prewhite=$prewhite cdpkey=cdp offkey=offset nxmax=$maxtrcens | sumute xmute=$Xmute tmute=$Tmute >$DATADIR/cdp_roundtrip.su # Roundtrip difference sudiff $DATADIR/cdp_selected.su $DATADIR/cdp_roundtrip.su >$OUTDATA # Remove temporary files rm *.VND0 # Display input, roundtrip and difference CMP gathers suximage <$DATADIR/cdp_selected.su perc=$percentile wclip=$minclip bclip=$maxclip label1="Time (s)" label2="Trace no." f2=$fx d2=$dx title="Input CMP" cmap=rgb1 hbox=700 wbox=1200 & suximage <$DATADIR/cdp_roundtrip.su perc=$percentile wclip=$minclip bclip=$maxclip label1="Time (s)" label2="Trace no." f2=$fx d2=$dx title="Roundtrip CMP" cmap=rgb1 hbox=700 wbox=1200 & suximage <$OUTDATA perc=$percentile wclip=$minclip bclip=$maxclip label1="Time (s)" label2="Trace no." f2=$fx d2=$dx title="Difference" cmap=rgb1 hbox=700 wbox=1200 & exit
20
Befriko Murdianto
Tugas: Isilah Xmute dan Tmute dengan hasil pick outside mute Anda sebelumnya. Isilah pula pmin, pmax dan dp agar transformasi Radon bolak-balik Anda tidak meninggalkan sinyal atau pun multiple yang cukup berarti. Parameter dalam suradon yang perlu Anda perhatikan untuk invertibility test adalah pmin, pmax dan dp. Parameter-parameter ini adalah parameter yang digunakan untuk menentukan minimum moveout, maximum moveout dan moveout increment. Perlu diperhatikan bahwa harga moveout negatif jika delta t (selisih waktu antara zero offset dengan offset acuan) berharga negatif untuk delta x (selisih jarak antara zero offset dengan offset acuan) positif, dan sebaliknya harga moveout positif jika delta t berharga positif untuk delta x positif. Parameter pmin, pmax dan dp ini akan menentukan berapa jumlah p traces dalam domain Radon nantinya. Jumlah p traces ini dapat dihitung sebagai berikut:
p max p min p traces 1 dp Untuk menentukan apakah parameter yang dipilih sudah cukup baik, perlu dilihat tampilan perbedaannya (difference) antara sebelum dan sesudah transformasi Radon bolak-balik. Jika Anda masih melihat ada sinyal atau pun multiple di dalam difference plot tersebut, maka moveout range Anda masih kurang lebar. Gambar 17 adalah gambar CMP gathers seperti di Gambar 12 setelah transformasi Radon bolak-balik, sedangkan Gambar 18 adalah difference plot-nya. Perhatikan bahwa pada difference plot sudah hampir tidak ada sinyal atau pun multiple yang berarti, hal ini menandakan kalau moveout range yang kita gunakan sudah cukup.
21
Befriko Murdianto
Gambar 17. CMP gathers seperti di Gambar 12, setelah transformasi Radon bolak-balik.
22
Befriko Murdianto
Gambar 18. Difference plot antara Gambar 12 dan Gambar 17.
23
Befriko Murdianto
Setelah Anda mendapatkan moveout range yang cukup untuk melakukan transformasi Radon, langkah selanjutnya adalah melihat bagaimana primaries dan multiples saling terpisahkan pada domain Radon. Jika Anda mampu membedakan antara primaries dan multiples dalam domain Radon, maka Anda dapat menentukan mute untuk membuang primaries sehingga Anda akan mendapatkan sebuah multiple model. Perhatikan script 009_Radon_Forward_Transform_No_Interp.sh. Script ini adalah script yang saya gunakan untuk melakukan transformasi Radon maju. Script ini mirip dengan sebelumnya, hanya saja kali ini saya gunakan parameter choose=0 di perintah suradon untuk melakukan transformasi Radon maju. #! /bin/sh set -x # Forward Radon trasform test # Define data directory and input/output file DATADIR=/local/lfs1/data/workshop/data INDATA=$DATADIR/cdp_nmo.su OUTDATA=$DATADIR/cdp_rdnfwd.su Xmute=??? Tmute=??? cdpmin=119 cdpmax=606 cdpinc=40 # Define radon parameters (not optimized yet) choose=0 # choose=0 to do forward transform igopt=1 offref=3125 # reference offset pmin=??? # min moveout pmax=??? # max moveout dp=??? # moveout increment pmula=9999 # multiple mute times @ max time pmulb=9999 # multiple mute times @ zero time nwin=1 # number of windows fstart=80 # high-end freq where the taper starts fstop=100 # high-end freq where the taper stops prewhite=0.01 # pre-whitening maxtrcens=60 # max number of traces in an ensemble # Select subset of data suwind <$INDATA key=cdp min=$cdpmin max=$cdpmax j=$cdpinc | sumute xmute=$Xmute tmute=$Tmute >$DATADIR/cdp_selected.su # Do a forward transform suradon <$DATADIR/cdp_selected.su choose=$choose igopt=$igopt offref=$offref pmin=$pmin pmax=$pmax dp=$dp pmula=$pmula pmulb=$pmulb nwin=$nwin f1=$fstart f2=$fstop prewhite=$prewhite cdpkey=cdp offkey=offset nxmax=$maxtrcens >$OUTDATA # Remove temporary files
24
Befriko Murdianto
rm *.VND0 exit Tugas: Isilah Xmute,Tmute, pmin, pmax dan dp sesuai dengan script Anda sebelumnya. Untuk melihat hasil dari script 009_Radon_Forward_Transform_No_Interp.sh, saya gunakan script 009_Radon_Forward_Display.sh di bawah ini. Script ini akan menanyakan CMP berapa yang akan kita plot dan tampilkan hasil transormasi Radonnya. Silakan Anda pilih dari CMP 120 hingga 600 dengan lompat setiap 40, sesuai dengan perintah suwind kita pada script sebelumnya. #! /bin/sh # Display Radon forward transform based on user's input echo "Which cdp do you want to plot?" read cdpno # Define data directory and input/output file DATADIR=/local/lfs1/data/workshop/data INDATA=$DATADIR/cdp_rdnfwd.su suwind <$INDATA key=cdp min=$cdpno max=$cdpno | suximage perc=99 title="Forward Radon Transform of CDP $cdpno" label1="Time (s)" label2="p traces" cmap=rgb1 hbox=700 wbox=350 & exit Gambar berikut ini adalah hasil keluaran script 009_Radon_Forward_Display.sh untuk lokasi CMP 160.
Gambar 19. Hasil transformasi Radon maju untuk CMP 160.
25
Befriko Murdianto
Tugas: Identifikasikan primaries dan multiples pada Gambar 19. Setelah Anda berhasil mengidentifikasikan primaries dan multiples dari Gambar 19, langkah selanjutnya adalah kita berusaha membuang primaries dari data untuk mendapatkan model multiple sehingga multiple dapat kita buang dari data menggunakan model multiple yang kita buat ini. Script 009_Radon_Test_No_Interp.sh adalah contoh script yang saya buat untuk melakukan hal ini. #! /bin/sh #set -x # Radon test to attenuate multiples # Define data directory and input/output file DATADIR=/local/lfs1/data/workshop/data INDATA=$DATADIR/cdp_nmo.su OUTDATA=$DATADIR/cdp_rdntest_nointp.su Xmute=??? Tmute=??? cdpmin=119 cdpmax=606 cdpinc=40 # Define radon parameters (not optimized yet) choose=2 # choose=2 to model multiples igopt=1 offref=3125 # reference offset pmin=??? # min moveout pmax=??? # max moveout dp=??? # moveout increment pmula=??? # multiple mute times @ max time pmulb=??? # multiple mute times @ zero time nwin=1 # number of windows fstart=80 # high-end freq where the taper starts fstop=100 # high-end freq where the taper stops prewhite=0.01 # pre-whitening maxtrcens=60 # max number of traces in an ensemble # Select subset of data suwind <$INDATA key=cdp min=$cdpmin max=$cdpmax j=$cdpinc | sumute xmute=$Xmute tmute=$Tmute >$DATADIR/cdp_selected.su # Diplay job start time info printf "Job started `todays_date` at `time_now` \n" # Make multiple model suradon <$DATADIR/cdp_selected.su choose=$choose igopt=$igopt offref=$offref pmin=$pmin pmax=$pmax dp=$dp pmula=$pmula pmulb=$pmulb nwin=$nwin f1=$fstart f2=$fstop prewhite=$prewhite cdpkey=cdp offkey=offset nxmax=$maxtrcens | sumute xmute=$Xmute tmute=$Tmute >$DATADIR/cdp_multiple_model.su
26
Befriko Murdianto
# Keep the data above 1 second suwind <$DATADIR/cdp_multiple_model.su itmin=251 >$DATADIR/temp1.su suwind <$DATADIR/cdp_multiple_model.su itmax=250 | sukill min=1 count=780 >$DATADIR/temp2.su suvcat $DATADIR/temp2.su $DATADIR/temp1.su >$DATADIR/cdp_multiple_model2.su # Subtract multiple from data sudiff $DATADIR/cdp_selected.su $DATADIR/cdp_multiple_model2.su >$OUTDATA # Remove temporary files rm $DATADIR/cdp_multiple_model.su $DATADIR/temp1.su $DATADIR/temp2.su $DATADIR/cdp_multiple_model2.su *.VND0 # Display job stop time info printf "Job finished `todays_date` at `time_now` \n" exit Tugas: Isilah Xmute,Tmute, pmin, pmax dan dp sesuai dengan script Anda sebelumnya. Isikan pula harga pmula dan pmulb sesuai dengan karakter primaries dan multiples data Anda. Perhatikan bahwa kali ini parameter pmula dan pmulb di suradon mulai berpengaruh untuk menentukan model multiple yang dibuat. Sebelumnya kedua parameter ini saya beri harga 9999, walaupun sebenarnya kedua parameter ini tidak berpengaruh pada script sebelumnya. Parameter pmula menunjukkan besarnya multiple mute time pada waktu tempuh maksimum (untuk kasus data workshop ini berarti 4 s), sedangkan parameter pmulb menunjukkan besarnya multiple mute time pada waktu tempuh 0 s.
P=0
P=0
PRIMARY
PRIMARY
Mute
Mute
Gambar 20. Pemisahan primaries dan multiples dalam domain Radon menggunakan mute.
27
Befriko Murdianto
Perhatikan Gambar 20, setelah koreksi NMO dengan kecepatan gelombang primary, maka primary events akan berada pada harga p=0, sehingga terpisah dari multiples. Karena itu dapat kita desain suatu mute yang hanya akan mengambil multiple, lalu kita kurangi multiple model ini dari data kita. Mute pada Gambar 20 berupa bentuk sembarang, namun di SU, parameter pmula dan pmulb di suradon hanya dapat memberikan bentuk linear. Karena itu bila kedua parameter diberikan harga yang sama, maka berarti kita melakukan muting pada harga p yang konstan. Untuk menampilkan hasil dari tes Radon ini, saya menggunakan perintah suximage
28
Befriko Murdianto
prewhite=0.01 maxtrcens=60
# pre-whitening # max number of traces in an ensemble
# Diplay job start time info printf "Job started `todays_date` at `time_now` \n" # Make multiple model suradon <$INDATA choose=$choose igopt=$igopt offref=$offref pmin=$pmin pmax=$pmax dp=$dp pmula=$pmula pmulb=$pmulb nwin=$nwin f1=$f1 f2=$f2 prewhite=$prewhite cdpkey=cdp offkey=offset nxmax=$maxtrcens | sumute xmute=$Xmute tmute=$Tmute >$DATADIR/cdp_multiple_model.su # Keep the data above 1 second suwind <$DATADIR/cdp_multiple_model.su itmin=251 >$DATADIR/temp1.su suwind <$DATADIR/cdp_multiple_model.su itmax=250 | sukill min=1 count=$maxtrc >$DATADIR/temp2.su suvcat $DATADIR/temp2.su $DATADIR/temp1.su >$DATADIR/cdp_multiple_model2.su # Subtract multiple from data sudiff $INDATA $DATADIR/cdp_multiple_model2.su >$OUTDATA # Remove temporary files rm $DATADIR/cdp_multiple_model.su $DATADIR/temp1.su $DATADIR/temp2.su $DATADIR/cdp_multiple_model2.su *.VND0 # Display job stop time info printf "Job finished `todays_date` at `time_now` \n" exit Tugas: Isilah parameter-parameter di atas sesuai dengan hasil tes Anda. Gambar 23 adalah gambar penampang stack setelah Radon. Penampang ini dibuat dengan perintah sustack
29
Befriko Murdianto
Gambar 21. CMP gathers seperti pada Gambar 12 setelah aplikasi pembuangan multiple dalam domain Radon.
30
Befriko Murdianto
Gambar 22. Difference plot antara CMP gathers pada Gambar 12 dengan Gambar 21.
31
Befriko Murdianto
Gambar 23. Penampang stack setelah Radon. Bandingkanlah dengan Gambar 13.
32