Dalam contoh ini, mute desain berubah dari satu cdp ke cdp yang lainnya.
Pastikan anda memiliki data dalam domain cdp-offset yang menghindari stretch mute pada saat nmo yang mana dapat dilakukan dengan meningkatkan nilai smute pada parameter sunmo.
1. Lakukan pemecahan data su dengan perintah suplit dengan kunci cdp.
susplit < data_cdp_nmo.su > cdp_split key=cdp
#!/bin/sh
a=1
for i in *.su;
do
new=$(printf "%0d.su" ${a})
mv ${i} ${new}
let a=a+1
done
3. Ekstrak informasi header dari masing-masing cdp lalu meng-outputkannya ke sebuah file.
#! /bin/sh
datamin=300
datamax=500
k=$datamin
while [ $k -le $datamax ]
do
surange < $k.su > surange_$k
k=$((k+1))
done
4. Lakukan display mute dan pick
#!/bin/sh
datamin=300
datamax=350
interval=10
k=$datamin
while [ $k -le $datamax ]
do
offset=`sed -n "11p" surange_$k |awk '{print $2} '`
suximage < $k.su d1=0.002 f1=0 d2=100 f2=$offset perc=95 title=$k mpicks=mute$k.txt wbox=500 hbox=800 &
read response
k=$((k+$interval))
done
Pastikan display data seismik dalam sumbu y adalah TWT dalam (second) dan sumbu x dalam offset (meter)-lihat gambar di bawah Hal ini bisa dikontrol dengan d1=0.002 (sampling interval 2ms), f1=0 waktu pertama, d2=100 penambahan offset (m) dan f2 adalah offset trace pertama dari cdp yang bersangkutan yang diekstrak oleh perintah sed dan awk dengan input surange_$k. Proses mute biasanya dilakukan untuk keperluan stack, sehingga eliminasi noise seperti groundroll harus dilakukan terlebih dahulu. Pada gambar tersebut saya belum menerapkan groundroll removal.
Jika proses tersebut selesai, maka data pick akan disimpan pada file mute$k.txt.
Buat list perintah copy:
#!/bin/sh
min=300
max=350
n=$min
while [ $n -le $max ]
do
echo cp mutenew$n.txt >>junk1
n=$((n+1))
done
Kumpulkan mute$k.txt menjadi sebuah file, gandakan 10 kali dan membuang 4 data pertama dan 5 data terakhir.
ls *.txt* | awk '{ for (i = 1; i <=10 ; i++) print }' | awk '(NR>4 && NR<56) {print $0} '> junk2
Lalu gabungkan:
paste junk1 junk2 | awk '{print $1,$3,$2}' > junk3
Copy-paste text yang terbentuk pada junk3 pada terminal.
more junk3
cp mute300.txt mutenew300.txt
cp mute300.txt mutenew301.txt
cp mute300.txt mutenew302.txt
cp mute300.txt mutenew303.txt
cp mute300.txt mutenew304.txt
cp mute300.txt mutenew305.txt
cp mute310.txt mutenew306.txt
cp mute310.txt mutenew307.txt
cp mute310.txt mutenew308.txt
cp mute310.txt mutenew309.txt
cp mute310.txt mutenew310.txt
cp mute310.txt mutenew311.txt
cp mute310.txt mutenew312.txt
cp mute310.txt mutenew313.txt
.
.
.
#!/bin/sh
datamin=300
datamax=350
interval=1
k=$datamin
while [ $k -le $datamax ]
do
negoffset=`sed -n "11p" surange_$k | awk '{print $2} '`
posoffset=`sed -n "11p" surange_$k | awk '{print $3} '`
awk -v line=1 -v col=2 -v var=$negoffset '{ if(NR==line) { $col=var}; print $0}' mutenew$k.txt | awk -v line=3 -v col=2 -v var=$posoffset '{ if(NR==line) { $col=var}; print $0}' > muteok$k.txt
k=$((k+$interval))
done
7. Menerapkan mute untuk seluruh cdp dengan parameter mute masing-masing.
#!/bin/sh
datamin=300
datamax=350
interval=1
k=$datamin
while [ $k -le $datamax ]
do
mkparfile < muteok$k.txt > muteok$k.par string1=tmute string2=xmute
sumute mode=0 < $k.su par=muteok$k.par > cdp_after_mute$k.su
k=$((k+$interval))
done
No comments:
Post a Comment