Wolfram Mathematica v geofiziki

Hvala avtorju bloga Anton Ekimenko za njegovo poročilo

Predstavitev

Ta zapis je bil napisan po konferenci Ruska tehnološka konferenca Wolfram in vsebuje povzetek poročila, ki sem ga podal. Dogodek je potekal junija v Sankt Peterburgu. Glede na to, da delam v bližini mesta konference, si nisem mogel kaj, da se tega dogodka ne bi udeležil. V letih 2016 in 2017 sem poslušala poročila s konference, letos pa sem imela predstavitev. Prvič, pojavila se je zanimiva (se mi zdi) tema, ki jo razvijamo Kiril Belov, in drugič, po dolgem preučevanju zakonodaje Ruske federacije glede politike sankcij sta se v podjetju, kjer delam, pojavili kar dve licenci Wolfram Mathematica.

Preden preidem na temo svojega govora, bi rad omenil dobro organizacijo dogodka. Na strani za obisk konference je prikazana podoba Kazanske katedrale. Katedrala je ena glavnih znamenitosti Sankt Peterburga in je zelo dobro vidna iz dvorane, v kateri je potekala konferenca.

Wolfram Mathematica v geofiziki

Na vhodu v Državno ekonomsko univerzo v Sankt Peterburgu so udeležence pričakali pomočniki iz vrst študentov - niso dovolili, da bi se izgubili. Ob prijavi so bili podeljeni majhni spominki (igrača - svetleča konica, pisalo, nalepke z Wolfram simboli). V urnik konference so bili vključeni tudi odmori za kosilo in kavo. Na steni skupine sem že opazil okusno kavo in pite - kuharji so odlični. S tem uvodnim delom želim poudariti, da že sam dogodek, njegova oblika in lokacija prinašajo pozitivna čustva.

Poročilo, ki sva ga pripravila jaz in Kirill Belov, se imenuje »Uporaba Wolfram Mathematica za reševanje problemov v uporabni geofiziki. Spektralna analiza seizmičnih podatkov ali »kje so tekle starodavne reke«. Vsebina poročila zajema dva dela: prvič, uporabo algoritmov, ki so na voljo v Wolfram Mathematica za analizo geofizičnih podatkov, in drugič, to je, kako geofizične podatke vnesemo v Wolfram Mathematico.

Potresne raziskave

Najprej morate narediti kratek izlet v geofiziko. Geofizika je veda, ki preučuje fizikalne lastnosti kamnin. No, ker imajo kamnine različne lastnosti: električne, magnetne, elastične, obstajajo ustrezne metode geofizike: elektroprospekcija, magnetna prospekcija, potresna prospekcija ... V okviru tega članka bomo podrobneje obravnavali samo potresno prospekcijo. Potresno raziskovanje je glavna metoda iskanja nafte in plina. Metoda temelji na vzbujanju elastičnih vibracij in kasnejšem snemanju odziva kamnin, ki sestavljajo preučevano območje. Vibracije vzbujamo na kopnem (z dinamitom ali neeksplozivnimi viri elastičnih vibracij) ali na morju (z zračnimi puškami). Elastična nihanja se širijo skozi kamninsko gmoto, se lomijo in odbijajo na mejah plasti z različnimi lastnostmi. Odbiti valovi se vračajo na površje in jih posnamejo geofoni na kopnem (običajno elektrodinamične naprave, ki temeljijo na gibanju magneta, obešenega v tuljavi) ali hidrofoni v morju (na podlagi piezoelektričnega učinka). Po času prihoda valov lahko ocenimo globino geoloških plasti.

Seizmična oprema za vleko plovil
Wolfram Mathematica v geofiziki

Zračna pištola vzbuja elastične vibracije
Wolfram Mathematica v geofiziki

Valovi prehajajo skozi kamnino in jih snemajo hidrofoni
Wolfram Mathematica v geofiziki

Raziskovalno plovilo za geofizične raziskave "Ivan Gubkin" na pomolu blizu Blagoveščenskega mostu v Sankt Peterburgu
Wolfram Mathematica v geofiziki

Model seizmičnega signala

Kamnine imajo različne fizikalne lastnosti. Za potresne raziskave so pomembne predvsem elastične lastnosti - hitrost širjenja elastičnih nihanj in gostota. Če imata dve plasti enake ali podobne lastnosti, potem val "ne bo opazil" meje med njima. Če se hitrosti valov v plasteh razlikujejo, bo prišlo do odboja na meji plasti. Večja kot je razlika v lastnostih, intenzivnejši je odsev. Njegova intenzivnost bo določena s koeficientom odbojnosti (rc):

Wolfram Mathematica v geofiziki

kjer je ρ gostota kamnine, ν je hitrost valovanja, 1 in 2 označujeta zgornjo in spodnjo plast.

Eden najpreprostejših in najpogosteje uporabljenih modelov seizmičnih signalov je konvolucijski model, ko je posneta seizmična sled predstavljena kot rezultat konvolucije zaporedja odbojnih koeficientov s sondirnim impulzom:

Wolfram Mathematica v geofiziki

kjer je s(t) — seizmična sled, tj. vse, kar je bilo posneto s hidrofonom ali geofonom v določenem času snemanja, w(t) - signal, ki ga ustvari zračna pištola, n(t) - naključen hrup.

Izračunajmo za primer sintetično seizmično sled. Kot začetni signal bomo uporabili Rickerjev impulz, ki se pogosto uporablja pri seizmičnih raziskavah.

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]

Začetni seizmični impulz
Wolfram Mathematica v geofiziki

Postavili bomo dve meji na globinah 300 ms in 600 ms, koeficienti odboja pa bodo naključna števila

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]]

Zaporedje odbojnih koeficientov
Wolfram Mathematica v geofiziki

Izračunajmo in prikažimo seizmično sled. Ker imata odbojna koeficienta različne predznake, dobimo na potresni sledu dva izmenjujoča se odboja.

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]]

Simulirana proga
Wolfram Mathematica v geofiziki

Za ta primer je treba rezervirati - v resnici je globina plasti določena seveda v metrih, izračun seizmične sledi pa se zgodi za časovno domeno. Bolj pravilno bi bilo določiti globine v metrih in izračunati čase prihoda ob poznavanju hitrosti v plasteh. V tem primeru takoj nastavim sloje na časovno os.

Če govorimo o terenskih raziskavah, potem se kot rezultat takih opazovanj zabeleži ogromno število podobnih časovnih serij (seizmičnih sledi). Na primer, če preučujemo območje dolžine 25 km in širine 15 km, kjer vsaka sled kot rezultat dela označuje celico velikosti 25 x 25 metrov (takšna celica se imenuje koš), bo končni niz podatkov vseboval 600000 sledi. S časom vzorčenja 1 ms in časom snemanja 5 sekund bo končna podatkovna datoteka večja od 11 GB, obseg izvirnega "surovega" materiala pa je lahko več sto gigabajtov.

Kako delati z njimi Wolfram Mathematica?

Paket GeologijaIO

Začel se je razvoj paketa vprašanje na steni VK rusko govoreče podporne skupine. Zahvaljujoč odzivom skupnosti je bila rešitev najdena zelo hitro. In posledično je prerasel v resen razvoj. Dopisovanje Stenska objava skupnosti Wolfram Označili so ga celo moderatorji. Trenutno paket podpira delo z naslednjimi vrstami podatkov, ki se aktivno uporabljajo v geološki industriji:

  1. uvoz kartografskih podatkov v formatih ZMAP in IRAP
  2. uvoz meritev v vrtine LAS formata
  3. vnos in izhod formata seizmičnih datotek SEGY

Za namestitev paketa morate slediti navodilom na strani za prenos sestavljenega paketa, tj. izvedite naslednjo kodo v katerem koli Matematični zvezek:

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

Po tem bo paket nameščen v privzeto mapo, pot do katere lahko dobite na naslednji način:

FileNameJoin[{$UserBasePacletsDirectory, "Repository"}]

Kot primer bomo prikazali glavne zmogljivosti paketa. Klic poteka tradicionalno za pakete v jeziku Wolfram:

Get["GeologyIO`"]

Paket je razvit z uporabo Delovna miza Wolfram. To vam omogoča, da glavno funkcionalnost paketa spremljate z dokumentacijo, ki se v obliki predstavitve ne razlikuje od same dokumentacije Wolfram Mathematica, in da paketu zagotovite testne datoteke za prvo seznanitev.

Wolfram Mathematica v geofiziki

Wolfram Mathematica v geofiziki

Takšna datoteka je zlasti datoteka "Marmousi.segy" - to je sintetični model geološkega odseka, ki ga je razvil Francoski inštitut za nafto. S tem modelom razvijalci testirajo lastne algoritme za modeliranje valovnega polja, obdelavo podatkov, inverzijo seizmičnih sledi itd. Sam model Marmousi je shranjen v repozitoriju, od koder je bil sam paket prenesen. Če želite pridobiti datoteko, zaženite naslednjo kodo:

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

Rezultat uvoza - objekt SEGYData
Wolfram Mathematica v geofiziki

Format SEGY vključuje shranjevanje različnih informacij o opazovanjih. Prvič, to so besedilni komentarji. To vključuje podatke o lokaciji del, imena podjetij, ki so izvajala meritve itd. V našem primeru to glavo kliče zahteva s ključem TextHeader. Tukaj je skrajšana glava besedila:

Short[marmousi["TextHeader"]]

"Nabor podatkov Marmousi je bil ustvarjen na inštitutu ... najmanjša hitrost 1500 m/s in največja 5500 m/s)"

Dejanski geološki model lahko prikažete z dostopom do seizmičnih sledi s tipko »sledi« (ena od lastnosti paketa je, da tipke ne razlikujejo med velikimi in malimi črkami):

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

Model Marmousi
Wolfram Mathematica v geofiziki

Trenutno paket omogoča tudi nalaganje podatkov v delih iz velikih datotek, kar omogoča obdelavo datotek, katerih velikost lahko doseže več deset gigabajtov. Funkcije paketa vključujejo tudi funkcije za izvoz podatkov v .segy in delno dodajanje na konec datoteke.

Ločeno je treba omeniti funkcionalnost paketa pri delu s kompleksno strukturo datotek .segy. Ker vam omogoča ne samo dostop do posameznih sledi in glav z uporabo ključev in indeksov, temveč tudi njihovo spreminjanje in nato zapisovanje v datoteko. Številne tehnične podrobnosti izvedbe GeologyIO presegajo obseg tega članka in si verjetno zaslužijo ločen opis.

Pomen spektralne analize pri potresnih raziskavah

Možnost uvoza seizmičnih podatkov v Wolfram Mathematico vam omogoča uporabo vgrajene funkcije obdelave signalov za eksperimentalne podatke. Ker vsaka seizmična sled predstavlja časovno vrsto, je eno glavnih orodij za njihovo preučevanje spektralna analiza. Med predpogoji za analizo frekvenčne sestave seizmičnih podatkov lahko navedemo na primer naslednje:

  1. Za različne vrste valov je značilna različna frekvenčna sestava. To vam omogoča, da poudarite uporabne valove in zatrete interferenčne valove.
  2. Lastnosti kamnin, kot sta poroznost in nasičenost, lahko vplivajo na frekvenčno sestavo. To omogoča identifikacijo kamnin z najboljšimi lastnostmi.
  3. Različno debele plasti povzročajo anomalije v različnih frekvenčnih območjih.

Tretja točka je glavna v kontekstu tega članka. Spodaj je fragment kode za izračun seizmičnih sledi v primeru sloja z različno debelino - klinasti model. Ta model se tradicionalno preučuje pri seizmičnih raziskavah za analizo učinkov motenj, ko se valovi, ki se odbijajo od številnih plasti, prekrivajo drug na drugega.

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 izkleščene formacije
Wolfram Mathematica v geofiziki

Hitrost valovanja znotraj klina je 4500 m/s, zunaj klina 4000 m/s, gostota pa je predpostavljena konstantna 2200 g/cm³. Za tak model izračunamo odbojne koeficiente in seizmične sledi.

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]

Potresne sledi za model klina
Wolfram Mathematica v geofiziki

Zaporedje seizmičnih sledi, prikazanih na tej sliki, se imenuje seizmični odsek. Kot lahko vidite, je njegovo interpretacijo mogoče izvesti tudi na intuitivni ravni, saj geometrija odbitih valov jasno ustreza modelu, ki je bil določen prej. Če sledove analizirate podrobneje, boste opazili, da se sledovi od 1 do približno 30 ne razlikujejo – odsev od strehe formacije in od dna se ne prekrivata. Od 31. sledi začnejo odsevi motiti. In čeprav se v modelu koeficienti refleksije ne spreminjajo vodoravno - seizmične sledi spreminjajo svojo intenzivnost, ko se spreminja debelina formacije.

Upoštevajmo amplitudo odboja od zgornje meje formacije. Od 60. poti začne intenzivnost odboja naraščati in na 70. poti postane največja. Tako se kaže interferenca valov s strehe in dna plasti, ki v nekaterih primerih vodi do pomembnih anomalij v potresnem zapisu.

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]

Graf amplitude odbitega vala od zgornjega roba klina
Wolfram Mathematica v geofiziki

Logično je, da se pri nizkofrekvenčnem signalu motnje začnejo pojavljati pri velikih debelinah nanosa, pri visokofrekvenčnem signalu pa pri manjših debelinah. Naslednji delček kode ustvari signal s frekvencami 35 Hz, 55 Hz in 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]

Nabor izvornih signalov s frekvencami 35 Hz, 55 Hz, 85 Hz
Wolfram Mathematica v geofiziki

Z izračunom seizmičnih sledi in izrisom grafov amplitud odbitih valov lahko vidimo, da se za različne frekvence opazi anomalija pri različnih debelinah formacije.

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]

Grafi amplitud odbitega vala od zgornjega roba klina za različne frekvence
Wolfram Mathematica v geofiziki

Sposobnost sklepanja o debelini formacije na podlagi rezultatov seizmičnih opazovanj je izjemno koristna, saj je ena glavnih nalog pri iskanju nafte ocena najbolj obetavnih točk za polaganje vrtine (tj. tistih območij, kjer je formacija debelejši). Poleg tega so v geološkem odseku lahko predmeti, katerih geneza povzroči močno spremembo debeline formacije. Zaradi tega je spektralna analiza učinkovito orodje za njihovo preučevanje. V naslednjem delu članka bomo podrobneje obravnavali takšne geološke objekte.

Eksperimentalni podatki. Kje ste jih dobili in kaj iskati pri njih?

Materiali, analizirani v članku, so bili pridobljeni v Zahodni Sibiriji. Regija, kot verjetno vsi brez izjeme vedo, je glavna naftna regija naše države. Aktiven razvoj nahajališč se je v regiji začel v 60. letih prejšnjega stoletja. Glavna metoda iskanja nahajališč nafte je potresno raziskovanje. Zanimivo je pogledati satelitske posnetke tega ozemlja. V majhnem merilu lahko opazite ogromno število močvirij in jezer, s povečavo zemljevida lahko vidite vrtine gručastih vrtin, s povečavo zemljevida do meje pa lahko ločite tudi čistine profilov, po katerih seizmično opazovanja so bila izvedena.

Satelitska slika zemljevidov Yandex - območje mesta Noyabrsk
Wolfram Mathematica v geofiziki

Mreža vrtin na enem od polj
Wolfram Mathematica v geofiziki

Naftonosne kamnine Zahodne Sibirije se pojavljajo v širokem razponu globin - od 1 km do 5 km. Glavnina kamnin, ki vsebujejo nafto, je nastala v juri in kredi. Jursko obdobje verjetno marsikdo pozna iz istoimenskega filma. Jursko podnebje je bil bistveno drugačen od sodobnega. Enciklopedija Britannica ima vrsto paleozemljevidov, ki označujejo vsako heloško dobo.

Sedanjost
Wolfram Mathematica v geofiziki
Jursko obdobje
Wolfram Mathematica v geofiziki

Upoštevajte, da je bilo ozemlje Zahodne Sibirije v času jure morska obala (zemlja, ki jo prečkajo reke in plitvo morje). Ker je bilo podnebje udobno, lahko domnevamo, da je tipična pokrajina tistega časa izgledala takole:

Jurska Sibirija
Wolfram Mathematica v geofiziki

Na tej sliki nam niso pomembne toliko živali in ptice, ampak podoba reke v ozadju. Reka je isti geološki objekt, pri katerem smo se ustavili prej. Dejstvo je, da aktivnost rek omogoča kopičenje dobro sortiranih peščenjakov, ki bodo nato postali rezervoar nafte. Ti rezervoarji imajo lahko bizarno, zapleteno obliko (kot rečna struga) in imajo spremenljivo debelino - ob bregovih je debelina majhna, bližje središču kanala ali v meandrih pa se poveča. Tako so reke, nastale v juri, zdaj na globini približno treh kilometrov in so predmet iskanja naftnih rezervoarjev.

Eksperimentalni podatki. Obdelava in vizualizacija

Naj takoj naredimo pridržek glede seizmičnih materialov, prikazanih v članku - zaradi velike količine podatkov, uporabljenih za analizo - je v besedilo članka vključen le delček originalnega nabora seizmičnih sledi. To bo omogočilo vsakomur, da ponovi zgornje izračune.

Pri delu s potresnimi podatki geofizik običajno uporablja specializirano programsko opremo (obstaja več vodilnih v industriji, katerih razvoj se aktivno uporablja, na primer Petrel ali Paradigm), ki vam omogoča analizo različnih vrst podatkov in ima priročen grafični vmesnik. Kljub vsej priročnosti ima tovrstna programska oprema tudi svoje slabosti – implementacija sodobnih algoritmov v stabilne različice na primer zahteva veliko časa, možnosti za avtomatizacijo izračunov pa so običajno omejene. V takšni situaciji postane zelo priročna uporaba sistemov računalniške matematike in programskih jezikov na visoki ravni, ki omogočajo uporabo široke algoritemske baze in hkrati prevzamejo veliko rutine. To je princip, ki se uporablja za delo s potresnimi podatki v Wolfram Mathematici. Neprimerno je pisati bogato funkcionalnost za interaktivno delo s podatki - bolj pomembno je zagotoviti nalaganje iz splošno sprejetega formata, nanje uporabiti želene algoritme in jih naložiti nazaj v zunanji format.

Po predlagani shemi bomo naložili originalne seizmične podatke in jih prikazali v 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]

Tako preneseni in uvoženi podatki so posnete poti na območju velikosti 10 krat 5 kilometrov. Če podatke pridobimo s tridimenzionalno metodo seizmične raziskave (valovi se ne snemajo vzdolž posameznih geofizičnih profilov, temveč po celotnem območju hkrati), je mogoče pridobiti kocke seizmičnih podatkov. To so tridimenzionalni objekti, katerih navpični in vodoravni odseki omogočajo podrobno preučevanje geološkega okolja. V obravnavanem primeru imamo opravka s tridimenzionalnimi podatki. Nekaj ​​informacij lahko pridobimo iz glave besedila, takole

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

C 1 TO JE DEMO DATOTEKA ZA TEST PAKETA GEOLOGYIO
C 2
C 3
C 4
C 5 DATUM UPORABNIŠKO IME: UPORABNIK WOLFRAM
C 6 IME ANKETE: NEKJE V SIBIRIJI
C 7 VRSTA DATOTEKE 3D SEIZMIČNI VOLUME
C 8
C 9
C10 Z DOMET: PRVI 2200M ZADNJI 2400M

Ta nabor podatkov nam bo zadostoval za prikaz glavnih stopenj analize podatkov. Sledi v datoteki se snemajo zaporedno in vsaka od njih izgleda nekako tako kot naslednja slika - to je porazdelitev amplitud odbitih valov vzdolž navpične osi (globinske osi).

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]

Ena od sledi seizmičnega odseka
Wolfram Mathematica v geofiziki

Če veste, koliko sledi se nahaja v vsaki smeri proučevanega območja, lahko ustvarite tridimenzionalni podatkovni niz in ga prikažete s funkcijo 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]]

3D slika seizmične podatkovne kocke. (Navpična os - globina)
Wolfram Mathematica v geofiziki

Če zanimive geološke značilnosti ustvarjajo intenzivne seizmične anomalije, se lahko uporabijo orodja za vizualizacijo s preglednostjo. »Nepomembne« dele posnetka lahko naredite nevidne, vidne pa ostanejo le anomalije. V Wolfram Mathematici je to mogoče storiti z uporabo Motnost[] и Raster 3D[].

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]

Slika kocke seizmičnih podatkov z uporabo funkcij Opacity[] in Raster3D[]. Wolfram Mathematica v geofiziki

Tako kot v sintetičnem primeru lahko na odsekih prvotne kocke prepoznamo nekatere geološke meje (plasti) s spremenljivim reliefom.

Glavno orodje za spektralno analizo je Fourierjeva transformacija. Z njegovo pomočjo lahko ocenite amplitudno-frekvenčni spekter vsake sledi ali skupine sledi. Po prenosu podatkov v frekvenčno domeno pa se izgubi informacija o tem, v katerih trenutkih (beri v kakšnih globinah) se frekvenca spremeni. Da bi lahko lokalizirali spremembe signala na časovni (globinski) osi, se uporabljata okenska Fourierjeva transformacija in valovna dekompozicija. Ta članek uporablja valovno razgradnjo. Tehnologija Wavelet analiza se je začela aktivno uporabljati v seizmičnih raziskavah v 90. letih. Prednost pred okensko Fourierjevo transformacijo je boljša časovna ločljivost.

Z naslednjim fragmentom kode lahko eno od seizmičnih sledi razstavite na posamezne komponente:

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]

Razgradnja sledi na komponente
Wolfram Mathematica v geofiziki

Za oceno, kako se odbojna energija porazdeli ob različnih časih prihoda valov, se uporabljajo skalogrami (analogno spektrogramu). Praviloma v praksi ni potrebe po analizi vseh komponent. Običajno so izbrane nizko-, srednje- in visokofrekvenčne komponente.

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]

Skalogram. Rezultat funkcije WaveletScalogram[]
Wolfram Mathematica v geofiziki

Jezik Wolfram uporablja funkcijo za valovno transformacijo ContinuousWaveletTransform[]. In uporaba te funkcije za celoten niz sledi bo izvedena z uporabo funkcije miza[]. Tukaj je vredno omeniti eno od prednosti Wolfram Mathematica - sposobnost uporabe paralelizacije ParallelTable[]. V zgornjem primeru ni potrebe po paralelizaciji - količina podatkov ni velika, vendar je pri delu z eksperimentalnimi nizi podatkov, ki vsebujejo več sto tisoč sledi, to nujno.

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

Po uporabi funkcije ContinuousWaveletTransform[] Prikažejo se novi nizi podatkov, ki ustrezajo izbranim frekvencam. V zgornjem primeru so te frekvence: 38Hz, 33Hz, 27Hz. Izbira frekvenc najpogosteje poteka na podlagi testiranja - pridobijo učinkovite karte za različne kombinacije frekvenc in izberejo najbolj informativno z vidika geologa.

Če morate rezultate deliti s sodelavci ali jih posredovati stranki, lahko uporabite funkcijo SEGYExport[] paketa 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];

S tremi od teh kock (nizkofrekvenčne, srednjefrekvenčne in visokofrekvenčne komponente) se mešanje RGB običajno uporablja za vizualizacijo podatkov skupaj. Vsaki komponenti je dodeljena lastna barva - rdeča, zelena, modra. V Wolfram Mathematici je to mogoče storiti s funkcijo ColorCombine[].

Rezultat so slike, iz katerih je mogoče narediti geološko interpretacijo. Meandri, ki so posneti na odseku, omogočajo razmejitev paleokanalov, ki so bolj verjetno rezervoarji in vsebujejo zaloge nafte. Iskanje in analiza sodobnih analogov takšnega rečnega sistema nam omogoča, da določimo najbolj obetavne dele meander. Za same kanale so značilne debele plasti dobro sortiranega peščenjaka in so dober rezervoar nafte. Območja zunaj "čipkastih" anomalij so podobna sodobnim nanosom poplavnih ravnic. Poplavna nahajališča so v glavnem predstavljena z glinastimi kamninami in vrtanje v ta območja bo neučinkovito.

RGB rezina podatkovne kocke. V središču (nekoliko levo od sredine) lahko sledite vijugasti reki.
Wolfram Mathematica v geofiziki
RGB rezina podatkovne kocke. Na levi strani lahko sledimo vijugasti reki.
Wolfram Mathematica v geofiziki

V nekaterih primerih kakovost seizmičnih podatkov omogoča bistveno jasnejše slike. To je odvisno od metodologije terenskega dela, opreme, ki jo uporablja algoritem za zmanjšanje šuma. V takšnih primerih niso vidni samo fragmenti rečnih sistemov, ampak tudi celotne razširjene paleoreke.

RGB mešanje treh komponent seizmične podatkovne kocke (horizontalna rezina). Globina približno 2 km.
Wolfram Mathematica v geofiziki
Satelitska slika reke Volge pri Saratovu
Wolfram Mathematica v geofiziki

Zaključek

Wolfram Mathematica vam omogoča analizo seizmičnih podatkov in reševanje uporabnih problemov, povezanih z raziskovanjem mineralov, paket GeologyIO pa naredi ta postopek bolj udoben. Struktura potresnih podatkov je takšna, da z uporabo vgrajenih metod pospešimo izračune (ParallelTable[], ParallelDo[],…) je zelo učinkovit in omogoča obdelavo velikih količin podatkov. To v veliki meri olajšajo funkcije shranjevanja podatkov paketa GeologyIO. Mimogrede, paket se lahko uporablja ne le na področju aplikativnega potresnega raziskovanja. Skoraj enake vrste podatkov se uporabljajo v zemeljskem radarju in seizmologiji. Če imate predloge, kako izboljšati rezultat, kateri algoritmi za analizo signalov iz arzenala Wolfram Mathematica so uporabni za take podatke, ali če imate kritične pripombe, prosimo, Pustite komentar.

Vir: www.habr.com

Dodaj komentar