Wolfram Mathematica ing Geofisika

Thanks kanggo penulis blog Anton Ekimenko kanggo laporane

Pambuka

Cathetan iki ditulis sawise konferensi kasebut Wolfram Konferensi Teknologi Rusia lan ngemot ringkesan laporan sing dakwenehake. Acara kasebut ditindakake ing wulan Juni ing St. Ngelingi yen aku nggarap blok saka situs konferensi, aku ora bisa ngendhaleni acara iki. Ing 2016 lan 2017, aku ngrungokake laporan konferensi, lan taun iki aku menehi presentasi. Kaping pisanan, topik sing menarik (kayane aku) wis muncul, sing lagi dikembangake Kirill Belov, lan kaping pindho, sawise sinau dawa babagan undang-undang Federasi Rusia babagan kabijakan sanksi, ing perusahaan sing aku kerja, nganti rong lisensi muncul. Wolfram Mathematica.

Saderengipun nglajengaken bab pidhato kula, kula badhe ngaturaken adicara ingkang sae. Kaca kunjungan konferensi kasebut nggunakake gambar Katedral Kazan. Katedral iki minangka salah sawijining atraksi utama St.

Wolfram Mathematica ing Geofisika

Ing lawang mlebu ing Universitas Ekonomi Negara St. Sajrone registrasi, souvenir cilik diwenehi (dolanan - spike sumunar, pena, stiker karo simbol Wolfram). Nedha awan lan istirahat kopi uga kalebu ing jadwal konferensi. Aku wis nyathet babagan kopi lan pai sing enak ing tembok grup - koki apik banget. Kanthi bagean pambuka iki, aku pengin nandheske yen acara kasebut dhewe, format lan lokasi wis nggawa emosi positif.

Laporan sing disiapake dening aku lan Kirill Belov diarani "Nggunakake Wolfram Mathematica kanggo ngrampungake masalah ing geofisika terapan. Analisis spektral data seismik utawa "ing ngendi kali-kali kuna mlayu." Isi laporan kalebu rong bagean: pisanan, panggunaan algoritma sing kasedhiya ing Wolfram Mathematica kanggo nganalisa data geofisika, lan kapindho, iki carane sijine data geofisika menyang Wolfram Mathematica.

Eksplorasi seismik

Pisanan sampeyan kudu nggawe kunjungan singkat menyang geofisika. Geofisika minangka ilmu sing nyinaoni sifat fisik watu. Ya, amarga watu duwe sifat sing beda: listrik, magnetik, elastis, ana metode geofisika sing cocog: prospek listrik, prospek magnetik, prospek seismik ... Ing konteks artikel iki, kita mung bakal ngrembug babagan prospek seismik kanthi luwih rinci. Eksplorasi seismik minangka cara utama kanggo nggoleki minyak lan gas. Cara kasebut adhedhasar eksitasi getaran elastis lan rekaman respon saka watu sing nyusun wilayah sinau. Getaran sing bungah ing darat (karo dinamit utawa sumber geter non-mbledhos saka getaran elastis) utawa ing segara (karo bedhil udhara). Getaran elastis nyebar liwat massa watu, dibiasake lan dibayangke ing wates lapisan kanthi sifat sing beda. Gelombang sing dibayangke bali menyang permukaan lan direkam dening geofon ing darat (biasane piranti elektrodinamika adhedhasar gerakan magnet sing digantung ing gulungan) utawa hidrofon ing segara (adhedhasar efek piezoelektrik). Ing wektu tekane ombak, siji bisa ngadili kedalaman lapisan geologi.

Peralatan penarik kapal seismik
Wolfram Mathematica ing Geofisika

Senapan udara excites getaran elastis
Wolfram Mathematica ing Geofisika

Ombak kasebut ngliwati massa watu lan direkam nganggo hidrofon
Wolfram Mathematica ing Geofisika

Kapal riset survey geofisika "Ivan Gubkin" ing dermaga cedhak Jembatan Blagoveshchensky ing St.
Wolfram Mathematica ing Geofisika

Model sinyal seismik

Watu nduweni sifat fisik sing beda. Kanggo eksplorasi seismik, sifat elastis utamane penting - kacepetan panyebaran getaran lan kepadatan elastis. Yen rong lapisan nduweni sifat sing padha utawa padha, mula gelombang kasebut "ora bakal weruh" wates ing antarane. Yen kecepatan gelombang ing lapisan beda-beda, banjur refleksi bakal kedadeyan ing wates lapisan kasebut. Sing luwih gedhe bedane sifat, luwih kuat bayangan. Intensitas bakal ditemtokake dening koefisien pantulan (rc):

Wolfram Mathematica ing Geofisika

ing ngendi ρ minangka kapadhetan watu, ν minangka kacepetan gelombang, 1 lan 2 nuduhake lapisan ndhuwur lan ngisor.

Salah sawijining model sinyal seismik sing paling gampang lan paling kerep digunakake yaiku model konvolusi, nalika jejak seismik sing direkam diwakili minangka asil konvolusi urutan koefisien refleksi kanthi pulsa probing:

Wolfram Mathematica ing Geofisika

ngendi s(t) - tilak seismik, i.e. kabeh sing direkam dening hydrophone utawa geophone sajrone wektu rekaman tetep, w(t) - sinyal sing digawe dening bedhil udara, n(t) - swara acak.

Ayo kita ngetung jejak seismik sintetik minangka conto. Kita bakal nggunakake pulsa Ricker, digunakake digunakake ing eksplorasi seismik, minangka sinyal awal.

length=0.050; (*Signal lenght*)
dt=0.001;(*Sample rate of signal*)
t=Range[-length/2,(length)/2,dt];(*Signal time*)
f=35;(*Central frequency*)
wavelet=(1.0-2.0*(Pi^2)*(f^2)*(t^2))*Exp[-(Pi^2)*(f^2)*(t^2)];
ListLinePlot[wavelet, Frame->True,PlotRange->Full,Filling->Axis,PlotStyle->Black,
PlotLabel->Style["Initial wavelet",Black,20],
LabelStyle->Directive[Black,Italic],
FillingStyle->{White,Black},ImageSize->Large,InterpolationOrder->2]

Impuls seismik wiwitan
Wolfram Mathematica ing Geofisika

Kita bakal nyetel rong wates ing jerone 300 ms lan 600 ms, lan koefisien refleksi bakal dadi nomer acak.

rcExample=ConstantArray[0,1000];
rcExample[[300]]=RandomReal[{-1,0}];
rcExample[[600]]=RandomReal[{0,1}];
ListPlot[rcExample,Filling->0,Frame->True,Axes->False,PlotStyle->Black,
PlotLabel->Style["Reflection Coefficients",Black,20],
LabelStyle->Directive[Black,Italic]]

Urutan koefisien refleksi
Wolfram Mathematica ing Geofisika

Ayo ngetung lan nampilake jejak seismik. Amarga koefisien refleksi duwe pratandha sing beda, kita entuk rong refleksi bolak-balik ing jejak seismik.

traceExamle=ListConvolve[wavelet[[1;;;;1]],rcExample];
ListPlot[traceExamle,
PlotStyle->Black,Filling->0,Frame->True,Axes->False,
PlotLabel->Style["Seismic trace",Black,20],
LabelStyle->Directive[Black,Italic]]

trek simulasi
Wolfram Mathematica ing Geofisika

Kanggo conto iki, perlu kanggo nggawe reservasi - ing kasunyatan, ambane lapisan ditemtokake, mesthi, ing meter, lan pitungan tilak seismik ana kanggo domain wektu. Iku bakal luwih bener kanggo nyetel ambane ing meter lan ngetung kaping rawuh ngerti velocities ing lapisan. Ing kasus iki, aku langsung nyetel lapisan ing sumbu wektu.

Yen kita pirembagan bab riset lapangan, minangka asil saka pengamatan kuwi nomer ageng saka seri wektu padha (ngambah seismik) direkam. Contone, nalika sinau situs dawane 25 km lan ambane 15 km, ing ngendi, minangka asil karya, saben tilak ciri sel ukuran 25x25 meter (sel kuwi disebut bin), susunan data final bakal ngemot 600000 jejak. Kanthi wektu sampling 1 ms lan wektu rekaman 5 detik, file data final bakal luwih saka 11 GB, lan volume materi "mentah" asli bisa atusan gigabyte.

Carane bisa karo wong-wong mau Wolfram Mathematica?

Paket Geologi

Pangembangan paket diwiwiti masalah ing tembok VK saka grup dhukungan sing nganggo basa Rusia. Thanks kanggo respon masyarakat, solusi ditemokake kanthi cepet. Lan minangka asil, tuwuh dadi pangembangan serius. cocog Pos tembok Komunitas Wolfram Malah ditandhani dening moderator. Saiki, paket kasebut ndhukung nggarap jinis data ing ngisor iki sing aktif digunakake ing industri geologi:

  1. ngimpor data peta ing format ZMAP lan IRAP
  2. impor pangukuran ing sumur format LAS
  3. input lan output format file seismik SEGI

Kanggo nginstal paket, sampeyan kudu ngetutake pandhuan ing kaca download saka paket sing dirakit, i.e. nglakokakΓ© kode ing ngisor iki ing sembarang Notebook Matematika Kab:

If[PacletInformation["GeologyIO"] === {}, PacletInstall[URLDownload[
    "https://wolfr.am/FiQ5oFih", 
    FileNameJoin[{CreateDirectory[], "GeologyIO-0.2.2.paclet"}]
]]]

Sawise paket kasebut bakal diinstal ing folder standar, path sing bisa dipikolehi kaya ing ngisor iki:

FileNameJoin[{$UserBasePacletsDirectory, "Repository"}]

Minangka conto, kita bakal nduduhake kemampuan utama paket kasebut. Telpon ditindakake kanthi tradisional kanggo paket ing Basa Wolfram:

Get["GeologyIO`"]

Paket dikembangake nggunakake Wolfram Workbench. Iki ngidini sampeyan kanggo ngiringi fungsi utama paket karo dokumentasi, kang ing syarat-syarat format presentation ora beda saka dokumentasi Wolfram Mathematica dhewe, lan kanggo nyedhiyani paket karo file test kanggo kenalan pisanan.

Wolfram Mathematica ing Geofisika

Wolfram Mathematica ing Geofisika

File kasebut, utamane, yaiku file "Marmousi.segy" - iki minangka model sintetik saka bagean geologi, sing dikembangake dening Institut Petroleum Prancis. Nggunakake model iki, pangembang nguji algoritma dhewe kanggo modeling lapangan gelombang, pangolahan data, inversi jejak seismik, lsp. Model Marmousi dhewe disimpen ing repositori saka ngendi paket kasebut diundhuh. Kanggo entuk file, bukak kode ing ngisor iki:

If[Not[FileExistsQ["Marmousi.segy"]], 
URLDownload["https://wolfr.am/FiQGh7rk", "Marmousi.segy"];]
marmousi = SEGYImport["Marmousi.segy"]

Asil impor - obyek SEGYData
Wolfram Mathematica ing Geofisika

Format SEGY kalebu nyimpen macem-macem informasi babagan pengamatan. Kaping pisanan, iki minangka komentar teks. Iki kalebu informasi babagan lokasi karya, jeneng perusahaan sing nindakake pangukuran, lsp. Ing kasus kita, header iki diarani kanthi panjaluk nganggo tombol TextHeader. Iki judhul teks sing disingkat:

Short[marmousi["TextHeader"]]

"Setelan data Marmousi digawe ing Institut ... kecepatan minimal 1500 m / s lan maksimal 5500 m / s)"

Sampeyan bisa nampilake model geologi sing nyata kanthi ngakses jejak seismik nggunakake tombol "jejak" (salah sawijining fitur paket kasebut yaiku tombol ora sensitif huruf cilik):

ArrayPlot[Transpose[marmousi["traces"]], PlotTheme -> "Detailed"]

Model Marmousi
Wolfram Mathematica ing Geofisika

Saiki, paket kasebut uga ngidini sampeyan mbukak data ing bagean saka file gedhe, saengga bisa ngolah file sing ukurane bisa nganti puluhan gigabyte. Fungsi paket uga kalebu fungsi kanggo ngekspor data menyang .segy lan sebagian ditambahake menyang mburi file.

Kapisah, iku worth kang lagi nyimak fungsi paket nalika nggarap struktur Komplek file .segy. Wiwit ngidini sampeyan ora mung ngakses jejak lan header individu nggunakake tombol lan indeks, nanging uga ngganti lan banjur nulis menyang file. Akeh rincian teknis saka implementasine GeologyIO ngluwihi ruang lingkup artikel iki lan bisa uga kudu diwenehi katrangan sing kapisah.

Relevansi analisis spektral ing eksplorasi seismik

Kemampuan kanggo ngimpor data seismik menyang Wolfram Mathematica ngidini sampeyan nggunakake fungsi pangolahan sinyal sing dibangun kanggo data eksperimen. Amarga saben jejak seismik nggambarake seri wektu, salah sawijining alat utama kanggo sinau yaiku analisis spektral. Antarane prasyarat kanggo nganalisa komposisi frekuensi data seismik, kita bisa jeneng, contone, ing ngisor iki:

  1. Jinis gelombang sing beda-beda ditondoi kanthi komposisi frekuensi sing beda. Iki ngidini sampeyan nyorot gelombang sing migunani lan nyuda gelombang interferensi.
  2. Sifat rock kayata porositas lan saturasi bisa mengaruhi komposisi frekuensi. Iki ndadekake iku bisa kanggo ngenali rocks karo sifat paling apik.
  3. Lapisan kanthi kekandelan beda nyebabake anomali ing rentang frekuensi sing beda.

Titik katelu minangka sing utama ing konteks artikel iki. Ing ngisor iki ana fragmen kode kanggo ngitung jejak seismik ing kasus lapisan kanthi ketebalan sing beda-beda - model wedge. Model iki sacara tradisional diteliti ing eksplorasi seismik kanggo nganalisa efek interferensi nalika gelombang sing dibayangke saka pirang-pirang lapisan ditumpangake siji liyane.

nx=200;(* Number of grid points in X direction*)
ny=200;(* Number of grid points in Y direction*)
T=2;(*Total propagation time*)
(*Velocity and density*)
modellv=Table[4000,{i,1,ny},{j,1,nx}];(* P-wave velocity in m/s*)
rho=Table[2200,{i,1,ny},{j,1,nx}];(* Density in g/cm^3, used constant density*)
Table[modellv[[150-Round[i*0.5];;,i]]=4500;,{i,1,200}];
Table[modellv[[;;70,i]]=4500;,{i,1,200}];
(*Plotting model*)
MatrixPlot[modellv,PlotLabel->Style["Model of layer",Black,20],
LabelStyle->Directive[Black,Italic]]

Model formasi pinch-out
Wolfram Mathematica ing Geofisika

Kacepetan gelombang ing jero wedge yaiku 4500 m/s, ing njaba wedge 4000 m/s, lan kapadhetan dianggep konstan 2200 g/cmΒ³. Kanggo model kasebut, kita ngetung koefisien refleksi lan jejak seismik.

rc=Table[N[(modellv[[All,i]]-PadLeft[modellv[[All,i]],201,4000][[1;;200]])/(modellv[[All,i]]+PadLeft[modellv[[All,i]],201,4500][[1;;200]])],{i,1,200}];
traces=Table[ListConvolve[wavelet[[1;;;;1]],rc[[i]]],{i,1,200}];
starttrace=10;
endtrace=200;
steptrace=10;
trasenum=Range[starttrace,endtrace,steptrace];
traserenum=Range[Length@trasenum];
tracedist=0.5;
Rotate[Show[
Reverse[Table[
	ListLinePlot[traces[[trasenum[[i]]]]*50+trasenum[[i]]*tracedist,Filling->{1->{trasenum[[i]]*tracedist,{RGBColor[0.97,0.93,0.68],Black}}},PlotStyle->Directive[Gray,Thin],PlotRange->Full,InterpolationOrder->2,Axes->False,Background->RGBColor[0.97,0.93,0.68]],
		{i,1,Length@trasenum}]],ListLinePlot[Transpose[{ConstantArray[45,80],Range[80]}],PlotStyle->Red],PlotRange->All,Frame->True],270Degree]

Jejak seismik kanggo model wedge
Wolfram Mathematica ing Geofisika

Urutan jejak seismik sing ditampilake ing gambar iki diarani bagean seismik. Kaya sing sampeyan ngerteni, interpretasi uga bisa ditindakake ing tingkat intuisi, amarga geometri gelombang sing dibayangke cocog karo model sing wis kasebut sadurunge. Yen sampeyan nganalisa jejak kanthi luwih rinci, sampeyan bakal weruh yen jejak saka 1 nganti kira-kira 30 ora beda - bayangan saka atap formasi lan saka ngisor ora tumpang tindih. Miwiti saka jejak kaping 31, refleksi wiwit ngganggu. Lan, sanajan ing model, koefisien refleksi ora owah sacara horisontal - jejak seismik ngganti intensitas minangka owah-owahan kekandelan formasi.

Ayo nimbang amplitudo bayangan saka wates ndhuwur tatanan. Wiwit saka rute kaping 60, intensitas refleksi wiwit mundhak lan ing rute kaping 70 dadi maksimal. Iki minangka interferensi ombak saka atap lan ngisor lapisan kasebut, sing ing sawetara kasus nyebabake anomali sing signifikan ing rekaman seismik.

ListLinePlot[GaussianFilter[Abs[traces[[All,46]]],3][[;;;;2]],
InterpolationOrder->2,Frame->True,PlotStyle->Black,
PlotLabel->Style["Amplitude of reflection",Black,20],
LabelStyle->Directive[Black,Italic],
PlotRange->All]

Grafik amplitudo gelombang sing dibayangke saka pinggir ndhuwur wedge
Wolfram Mathematica ing Geofisika

Logis yen sinyal frekuensi ngisor, gangguan wiwit katon ing ketebalan formasi gedhe, lan ing kasus sinyal frekuensi dhuwur, gangguan dumadi ing ketebalan sing luwih cilik. Snippet kode ing ngisor iki nggawe sinyal kanthi frekuensi 35 Hz, 55 Hz lan 85 Hz.

waveletSet=Table[(1.0-2.0*(Pi^2)*(f^2)*(t^2))*Exp[-(Pi^2)*(f^2)*(t^2)],
{f,{35,55,85}}];
ListLinePlot[waveletSet,PlotRange->Full,PlotStyle->Black,Frame->True,
PlotLabel->Style["Set of wavelets",Black,20],
LabelStyle->Directive[Black,Italic],
ImageSize->Large,InterpolationOrder->2]

Sakumpulan sinyal sumber kanthi frekuensi 35 Hz, 55Hz, 85Hz
Wolfram Mathematica ing Geofisika

Kanthi ngetung jejak seismik lan ngrancang grafik amplitudo gelombang sing dibayangke, kita bisa ndeleng manawa kanggo frekuensi sing beda ana anomali ing ketebalan formasi sing beda.

tracesSet=Table[ListConvolve[waveletSet[[j]][[1;;;;1]],rc[[i]]],{j,1,3},{i,1,200}];

lowFreq=ListLinePlot[GaussianFilter[Abs[tracesSet[[1]][[All,46]]],3][[;;;;2]],InterpolationOrder->2,PlotStyle->Black,PlotRange->All];
medFreq=ListLinePlot[GaussianFilter[Abs[tracesSet[[2]][[All,46]]],3][[;;;;2]],InterpolationOrder->2,PlotStyle->Black,PlotRange->All];
highFreq=ListLinePlot[GaussianFilter[Abs[tracesSet[[3]][[All,46]]],3][[;;;;2]],InterpolationOrder->2,PlotStyle->Black,PlotRange->All];

Show[lowFreq,medFreq,highFreq,PlotRange->{{0,100},All},
PlotLabel->Style["Amplitudes of reflection",Black,20],
LabelStyle->Directive[Black,Italic],
Frame->True]

Grafik saka amplitudo gelombang sing dibayangke saka pinggir ndhuwur wedge kanggo frekuensi sing beda.
Wolfram Mathematica ing Geofisika

Kemampuan kanggo nggawe kesimpulan babagan kekandelan formasi saka asil pengamatan seismik banget migunani, amarga salah sawijining tugas utama ing eksplorasi minyak yaiku kanggo netepake titik sing paling njanjeni kanggo mbikak sumur (yaiku, wilayah sing ana formasi kasebut. luwih kenthel). Kajaba iku, ing bagean geologi bisa uga ana obyek sing genesis nyebabake owah-owahan sing cetha ing kekandelan formasi. Iki ndadekake analisis spektral minangka alat sing efektif kanggo sinau. Ing bagean sabanjure artikel kita bakal nimbang obyek geologi kuwi ing liyane rinci.

Data eksperimen. Ngendi sampeyan entuk lan apa sing kudu digoleki?

Bahan sing dianalisis ing artikel kasebut dipikolehi ing Siberia Kulon. Wilayah kasebut, kaya sing dingerteni kabeh wong, minangka wilayah prodhuksi minyak utama ing negara kita. Pangembangan aktif celengan wiwit ing wilayah ing 60s abad pungkasan. Cara utama kanggo nggoleki simpenan lenga yaiku eksplorasi seismik. Iku menarik kanggo ndeleng gambar satelit saka wilayah iki. Ing skala cilik, sampeyan bisa nyathet akeh rawa lan tlaga; kanthi nggedhekake peta, sampeyan bisa ndeleng situs pengeboran sumur kluster, lan kanthi nggedhekake peta nganti wates, sampeyan uga bisa mbedakake kliring profil sing ana seismik. observasi ditindakake.

Gambar satelit saka peta Yandex - wilayah kutha Noyabrsk
Wolfram Mathematica ing Geofisika

Jaringan bantalan sumur ing salah sawijining lapangan
Wolfram Mathematica ing Geofisika

Watu-watu lenga ing Siberia Kulon dumadi ing ambane ambane - saka 1 km nganti 5 km. Volume utama watu sing ngemot lenga dibentuk ing jaman Jurassic lan Cretaceous. Periode Jurassic mbokmenawa dikenal akeh saka film kanthi jeneng sing padha. Iklim Jurassic beda banget karo sing modern. Encyclopedia Britannica nduwe seri paleomaps sing dadi ciri saben jaman helogical.

Saiki tegang
Wolfram Mathematica ing Geofisika
Periode Jurassic
Wolfram Mathematica ing Geofisika

Wigati dimangerteni manawa ing jaman Jurassic, wilayah Siberia Kulon minangka pesisir segara (tanah sing diliwati kali lan segara cethek). Amarga iklim nyaman, kita bisa nganggep manawa lanskap khas ing wektu kasebut katon kaya mangkene:

Jurassic Siberia
Wolfram Mathematica ing Geofisika

Ing gambar iki, sing penting kanggo kita ora mung kewan lan manuk, nanging gambar kali ing latar mburi. Kali iki minangka obyek geologi sing padha karo sing kita mandheg sadurunge. Kasunyatane yaiku kegiatan kali bisa nglumpukake watu pasir sing diurutake kanthi apik, sing banjur dadi reservoir minyak. Wadhuk iki bisa duwe wangun aneh lan kompleks (kaya amben kali) lan nduweni kekandelan sing beda-beda - ing cedhak bank-bank kekandelane cilik, nanging luwih cedhak karo tengah saluran utawa ing wilayah meander mundhak. Dadi, kali-kali sing dibentuk ing Jurassic saiki ambane kira-kira telung kilometer lan dadi obyek telusuran reservoir minyak.

Data eksperimen. Pangolahan lan visualisasi

Ayo langsung nggawe reservasi babagan bahan seismik sing ditampilake ing artikel kasebut - amarga jumlah data sing digunakake kanggo analisis penting - mung pecahan saka set asli jejak seismik sing kalebu ing teks artikel kasebut. Iki bakal ngidini sapa wae kanggo ngasilake petungan ing ndhuwur.

Nalika nggarap data seismik, ahli geofisika biasane nggunakake piranti lunak khusus (ana sawetara pimpinan industri sing digunakake kanthi aktif, kayata Petrel utawa Paradigm), sing ngidini sampeyan nganalisa macem-macem jinis data lan duwe antarmuka grafis sing trep. Senadyan kabeh penak, jinis piranti lunak iki uga duwe kekurangan - contone, implementasine algoritma modern ing versi stabil mbutuhake wektu akeh, lan kemungkinan kanggo ngotomatisasi petungan biasane diwatesi. Ing kahanan kaya mengkono, dadi trep banget kanggo nggunakake sistem matématika komputer lan basa program tingkat dhuwur, sing ngidini nggunakake basis algoritma sudhut lan, ing wektu sing padha, njupuk akèh tumindake. Iki minangka prinsip sing digunakake kanggo nggarap data seismik ing Wolfram Mathematica. Ora cocog kanggo nulis fungsionalitas sing sugih kanggo karya interaktif karo data - luwih penting kanggo mesthekake loading saka format sing ditampa umum, nglamar algoritma sing dikarepake lan diunggah maneh menyang format eksternal.

Sawise skema sing diusulake, kita bakal mbukak data seismik asli lan nampilake ing Wolfram Mathematica:

Get["GeologyIO`"]
seismic3DZipPath = "seismic3D.zip";
seismic3DSEGYPath = "seismic3D.sgy";
If[FileExistsQ[seismic3DZipPath], DeleteFile[seismic3DZipPath]];
If[FileExistsQ[seismic3DSEGYPath], DeleteFile[seismic3DSEGYPath]];
URLDownload["https://wolfr.am/FiQIuZuH", seismic3DZipPath];
ExtractArchive[seismic3DZipPath];
seismic3DSEGY = SEGYImport[seismic3DSEGYPath]

Data sing diundhuh lan diimpor kanthi cara iki yaiku rute sing dicathet ing wilayah sing ukurane 10 nganti 5 kilometer. Yen data dipikolehi nggunakake metode survey seismik telung dimensi (gelombang dicathet ora ing profil geofisika individu, nanging ing kabeh wilayah bebarengan), dadi bisa diwenehi kubus data seismik. Iki minangka obyek telung dimensi, bagean vertikal lan horisontal sing ngidini sinau rinci babagan lingkungan geologi. Ing conto sing dianggep, kita ngurusi data telung dimensi. Kita bisa njaluk sawetara informasi saka header teks, kaya iki

StringPartition[seismic3DSEGY["textheader"], 80] // TableForm

C 1 IKI DEMO FILE FOR GEOLOGYIO PAKET TES
C 2
C 3
C 4
C 5 DATE NAME USER: WOLFRAM USER
C 6 SURVEY NAME: NANG Endi ing SIBERIA
C 7 JENIS FILE VOLUME SEISMIK 3D
C 8
C 9
C10 Z RANGE: FIRST 2200M LAST 2400M

Set data iki bakal cukup kanggo nuduhake tahapan utama analisis data. Jejak ing file kasebut direkam kanthi urutan lan saben wong katon kaya gambar ing ngisor iki - iki minangka distribusi amplitudo gelombang sing dibayangke ing sumbu vertikal (sumbu ambane).

ListLinePlot[seismic3DSEGY["traces"][[100]], InterpolationOrder -> 2, 
 PlotStyle -> Black, PlotLabel -> Style["Seismic trace", Black, 20],
 LabelStyle -> Directive[Black, Italic], PlotRange -> All, 
 Frame -> True, ImageSize -> 1200, AspectRatio -> 1/5]

Salah sawijining jejak seismik
Wolfram Mathematica ing Geofisika

Ngerti carane akeh ngambah dumunung ing saben arah saka wilayah sinau, sampeyan bisa generate array data telung dimensi lan nampilake nggunakake fungsi Image3D []

traces=seismic3DSEGY["traces"];
startIL=1050;EndIL=2000;stepIL=2; (*ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° Π₯ Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° ΡΡŠΡ‘ΠΌΠΊΠΈ ΠΈ шаг трасс*)
startXL=1165;EndXL=1615;stepXL=2; (*ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° Y Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° ΡΡŠΡ‘ΠΌΠΊΠΈ ΠΈ шаг трасс*)
numIL=(EndIL-startIL)/stepIL+1;   (*количСство трасс ΠΏΠΎ оис Π₯*)
numXL=(EndXL-startXL)/stepIL+1;   (*количСство трасс ΠΏΠΎ оис Y*)
Image3D[ArrayReshape[Abs[traces/Max[Abs[traces[[All,1;;;;4]]]]],{numIL,numXL,101}],ViewPoint->{-1, 0, 0},Background->RGBColor[0,0,0]]

Gambar XNUMXD saka kubus data seismik. (Sumbu vertikal - ambane)
Wolfram Mathematica ing Geofisika

Yen fitur geologi sing narik kawigaten nggawe anomali seismik sing kuat, mula alat visualisasi kanthi transparan bisa digunakake. Wilayah sing "ora penting" saka rekaman bisa digawe ora katon, mung ninggalake anomali sing katon. Ing Wolfram Mathematica iki bisa rampung nggunakake Opacity [] ΠΈ Raster3D[].

data = ArrayReshape[Abs[traces/Max[Abs[traces[[All,1;;;;4]]]]],{numIL,numXL,101}];
Graphics3D[{Opacity[0.1], Raster3D[data, ColorFunction->"RainbowOpacity"]}, 
Boxed->False, SphericalRegion->True, ImageSize->840, Background->None]

Gambar kubus data seismik nggunakake fungsi Opacity [] lan Raster3D []. Wolfram Mathematica ing Geofisika

Kaya ing conto sintetik, ing bagean saka kubus asli bisa ngenali sawetara wates geologi (lapisan) kanthi relief variabel.

Alat utama kanggo analisis spektral yaiku transformasi Fourier. Kanthi bantuan, sampeyan bisa ngevaluasi spektrum amplitudo-frekuensi saben jejak utawa klompok jejak. Nanging, sawise nransfer data menyang domain frekuensi, informasi ilang babagan ing wektu apa (maca apa ambane) owah-owahan frekuensi. Supaya bisa lokalisasi owah-owahan sinyal ing sumbu wektu (ambane), transformasi Fourier windowed lan dekomposisi wavelet digunakake. Artikel iki nggunakake dekomposisi wavelet. Teknologi analisis wavelet wiwit aktif digunakake ing eksplorasi seismik ing taun 90-an. Kauntungan saka transformasi Fourier windowed dianggep minangka resolusi wektu sing luwih apik.

Nggunakake fragmen kode ing ngisor iki, sampeyan bisa ngurai salah sawijining jejak seismik dadi komponen individu:

cwd=ContinuousWaveletTransform[seismicSection["traces"][[100]]]
Show[
ListLinePlot[Re[cwd[[1]]],PlotRange->All],
ListLinePlot[seismicSection["traces"][[100]],
PlotStyle->Black,PlotRange->All],ImageSize->{1500,500},AspectRatio->Full,
PlotLabel->Style["Wavelet decomposition",Black,32],
LabelStyle->Directive[Black,Italic],
PlotRange->All,
Frame->True]

Dekomposisi tilak dadi komponen
Wolfram Mathematica ing Geofisika

Kanggo netepake kepiye distribusi energi refleksi ing wektu tekan gelombang sing beda-beda, scalograms (analog karo spektrogram) digunakake. Minangka aturan, ing laku ora perlu kanggo njelasno kabeh komponen. Biasane, komponen frekuensi rendah, pertengahan lan dhuwur dipilih.

freq=(500/(#*contWD["Wavelet"]["FourierFactor"]))&/@(Thread[{Range[contWD["Octaves"]],1}]/.contWD["Scales"])//Round;
ticks=Transpose[{Range[Length[freq]],freq}];
WaveletScalogram[contWD,Frame->True,FrameTicks->{{ticks,Automatic},Automatic},FrameTicksStyle->Directive[Orange,12],
FrameLabel->{"Time","Frequency(Hz)"},LabelStyle->Directive[Black,Bold,14],
ColorFunction->"RustTones",ImageSize->Large]

Scalogram. Hasil fungsi WaveletScalogram[]
Wolfram Mathematica ing Geofisika

Basa Wolfram nggunakake fungsi kanggo transformasi wavelet ContinuousWaveletTransform[]. Lan aplikasi fungsi iki menyang kabeh set jejak bakal ditindakake nggunakake fungsi kasebut Tabel []. Kene iku worth kang lagi nyimak salah siji saka kekiyatan Wolfram Mathematica - kemampuan kanggo nggunakake parallelization Tabel Paralel[]. Ing conto ing ndhuwur, ora perlu paralelisasi - volume data ora gedhe, nanging nalika nggarap set data eksperimen sing ngemot atusan ewu jejak, iki minangka kabutuhan.

tracesCWD=Table[Map[Hilbert[#,0]&,Re[ContinuousWaveletTransform[traces[[i]]][[1]]][[{13,15,18}]]],{i,1,Length@traces}]; 

Sawise aplikasi fungsi ContinuousWaveletTransform[] Set data anyar katon cocog karo frekuensi sing dipilih. Ing conto ing ndhuwur, frekuensi kasebut yaiku: 38Hz, 33Hz, 27Hz. Pilihan frekuensi paling asring ditindakake kanthi basis tes - entuk peta efektif kanggo kombinasi frekuensi sing beda-beda lan milih sing paling informatif saka sudut pandang ahli geologi.

Yen sampeyan kudu nuduhake asil karo kolega utawa menehi menyang customer, sampeyan bisa nggunakake fungsi SEGYExport [] saka paket GeologyIO

outputdata=seismic3DSEGY;
outputdata["traces",1;;-1]=tracesCWD[[All,3]];
outputdata["textheader"]="Wavelet Decomposition Result";
outputdata["binaryheader","NumberDataTraces"]=Length[tracesCWD[[All,3]]];
SEGYExport["D:result.segy",outputdata];

Kanthi telung kubus kasebut (komponen frekuensi rendah, mid-frekuensi, lan frekuensi dhuwur), campuran RGB biasane digunakake kanggo nggambarake data bebarengan. Saben komponen diwenehi warna dhewe - abang, ijo, biru. Ing Wolfram Mathematica iki bisa rampung nggunakake fungsi Kombinasi Warna[].

Asil kasebut minangka gambar sing bisa digawe interpretasi geologi. Meanders sing dicathet ing bagean kasebut ndadekake bisa nggambarake paleochannels, sing luwih cenderung dadi reservoir lan ngemot cadangan minyak. Panelusuran lan analisis analog modern saka sistem kali kasebut ngidini kita nemtokake bagean sing paling janjeni saka meanders. Saluran kasebut ditondoi kanthi lapisan watu pasir sing diurut kanthi apik lan minangka reservoir minyak sing apik. Wilayah ing njaba anomali "renda" padha karo endapan banjir modern. Endapan banjir utamane diwakili dening watu lempung lan pengeboran menyang zona kasebut bakal ora efektif.

irisan RGB saka kubus data. Ing tengah (rada ing sisih kiwa tengah) sampeyan bisa nglacak kali meandering.
Wolfram Mathematica ing Geofisika
irisan RGB saka kubus data. Ing sisih kiwa sampeyan bisa nelusuri kali sing berkelok-kelok.
Wolfram Mathematica ing Geofisika

Ing sawetara kasus, kualitas data seismik ngidini gambar sing luwih cetha. Iki gumantung saka metodologi kerja lapangan, peralatan sing digunakake dening algoritma pengurangan gangguan. Ing kasus kaya mengkono, ora mung pecahan sistem kali sing katon, nanging uga kabeh paleo-kali lengkap.

Campuran RGB saka telung komponen saka kubus data seismik (irisan horisontal). Ambane kira-kira 2 km.
Wolfram Mathematica ing Geofisika
Gambar satelit Kali Volga cedhak Saratov
Wolfram Mathematica ing Geofisika

kesimpulan

Wolfram Mathematica bisa njelasno data seismik lan ngatasi masalah Applied related kanggo nggoleki mineral, lan paket GeologyIO ndadekake proses iki luwih trep. Struktur data seismik yaiku nggunakake metode sing dibangun kanggo nyepetake petungan (Tabel Paralel[], Paralel[],…) efisien banget lan ngidini sampeyan ngolah data sing akeh. Kanggo ombone gedhe, iki difasilitasi dening fitur panyimpenan data saka paket GeologyIO. Miturut cara, paket bisa digunakake ora mung ing lapangan Applied eksplorasi seismik. Meh jinis data sing padha digunakake ing lemah penetrating radar lan seismology Yen sampeyan duwe saran carane nambah asil, kang sinyal algoritma analisis saka Wolfram Mathematica arsenal ditrapake kanggo data kuwi, utawa yen sampeyan duwe komentar kritis, please ninggalake komentar.

Source: www.habr.com

Add a comment