Friday, January 6, 2012

Well-Log Data

Pembahasan mengenai beberapa konsep well logging telah dijelaskan pada artikel Gamma Ray, Resistivity, Neutron Porosity dan Density Logging.

Untuk keperluan studi dan penelitian, well log data dapat anda peroleh di sini, yang dipublikasikan oleh Department of the Interior U.S. Geological Survey untuk 14 Wildcat Wells di Alaska.

Ke-14 data well tersebut memiliki data log dengan format LAS yang anda dapat buka dengan text editor biasa seperti notepad, nedit atau gedit.

Berikut adalah contoh well-log untuk Tulageak-1 (klik untuk memperbesar):

Data well-log dengan format LAS dapat ditampilkan dengan software gratis dengan platform Windows seperti LASReader atau dengan software gratis lainnya seperti octave atau gnuplot.

Berikut adalah contoh cara menampilkan dan memanipulasi Tulageak-1 well log data dengan octave atau matlab.

Dengan Text editor bukalah TL1.LAS sehingga anda memperoleh penampilan seperti di bawah ini:

Baris 1 s/d 35 merupakan LAS header yang berisikan informasi mengenai data ini i.e. kolom pertama merupakan measured depth dengan satuan ft, kolom kedua merupakan data Spontaneous Potential (MV), dst.

Perhatikan pada tabel tersebut terdapat angka -999.00000, angka ini merupakan null value yang artinya tidak ada informasi pengukuran.

Pada terminal Linux, gunakan perintah sed untuk mengganti nilai -999.0000 dengan NaN (Not a Numeric).

sed -e 's/-999.00000/NaN/g' TL1.LAS > TL1_edit.LAS

Lalu gunakan kode berikut untuk membaca dan menampilkan. Download function hdrload.m terlebih dahulu.

clear; clc
[h, d] = hdrload('TL1_edit.LAS');
%plot gammaray
subplot(1,4,1);
plot(d(:,3),d(:,1),'r');
set (gca (), 'ydir', 'reverse','XGrid','on','YGrid','on');
axis([min(d(:,3)) max(d(:,3)) min(d(:,1)) max(d(:,1))]);
xlabel('GR(API)');
ylabel('Measured Depth(ft)');

%plot LLD
subplot(1,4,2);
semilogx(d(:,6),d(:,1),'m');
set (gca (),'ydir', 'reverse','XGrid','on','YGrid','on');
axis([min(d(:,6)) max(d(:,6)) min(d(:,1)) max(d(:,1))]);
xlabel('LLD(ohmM)');

%plot density
subplot(1,4,3);
plot(d(:,8),d(:,1),'b');
set (gca (), 'ydir', 'reverse','XGrid','on','YGrid','on');
axis([min(d(:,8)) max(d(:,8)) min(d(:,1)) max(d(:,1))]);
xlabel('Density(g/cc)');

%plot sonic
subplot(1,4,4);
plot(d(:,10),d(:,1),'g');
set (gca (), 'ydir', 'reverse','XGrid','on','YGrid','on');
axis([min(d(:,10)) max(d(:,10)) min(d(:,1)) max(d(:,1))]);
xlabel('Sonic(us/ft)');

Lalu kita akan melakukan smoothing atau despike dengan metoda Whittaker Method, dimana kodenya bisa didownload di sini.

Perhatikan manipulasi NaN values sebelum diterapkan whittf.

figure;
sonic=d(:,10);
depth=d(:,1);
loc=find(isnan(sonic) == 0);
sonic=sonic(loc);
depth=depth(loc);
plot(sonic,depth,'g',whittf(sonic,10^3),depth,'r',whittf(sonic,10^9),depth,'b');
legend('original','smooth-10^3','smooth-10^9')
set (gca (), 'ydir', 'reverse', 'xdir', 'reverse','XGrid','on','YGrid','on');
axis([min(sonic) max(sonic) min(depth) max(depth)]);
xlabel('Sonic(us/ft)');
ylabel('Measured Depth(ft)');
Di bawah ini saya melakukan despike untuk data sonic dan density, konversi data sonic menjadi kecepatan serta kedalaman dari feet ke meter dan lalu menyimpannya dalam format ascii.

%sonic
sonic=d(:,10);
depth=d(:,1);
loc_sonic=find(isnan(sonic) == 0);
sonic_edited=whittf((1000000./(3.28084.*sonic(loc_sonic))),10^4);
depth_sonic=depth(loc_sonic)./3.28084;
subplot(1,2,1)
plot(sonic_edited,depth_sonic);set (gca (), 'ydir', 'reverse','XGrid','on','YGrid','on');
xlabel('Velocity(m/s)');
ylabel('Measured Depth(m)');

%%%density
density=d(:,8);
depth=d(:,1);
loc_density=find(isnan(density) == 0);
density_edited=whittf(density(loc_density),10^4);
depth_density=depth(loc_density)./3.28084;
subplot(1,2,2)
plot(density_edited,depth_density);set (gca (), 'ydir', 'reverse','XGrid','on','YGrid','on');
xlabel('density(g/cc)');
ylabel('Measured Depth(m)');

dvfile=[depth_sonic,sonic_edited];
drfile=[depth_density,density_edited];

save dvfile.asc dvfile -ascii
save drfile.asc drfile -ascii

Konversi ascii ke binary, dan membuat seismogram sintetik dengan Seismic Unix.
a2b n1=2 < dvfile.asc > dvfile.bin
a2b n1=2 < drfile.asc > drfile.bin

suwellrf dvfile=dvfile.bin drfile=drfile.bin ntr=100 nval=7591 | suxwigb &

No comments: