Wolfram Mathematica í jarðeðlisfræði

Þökk sé höfundi bloggsins Anton Ekimenko fyrir skýrslu hans

Inngangur

Þessi athugasemd var skrifuð í kjölfar ráðstefnunnar Wolfram rússnesk tækniráðstefna og inniheldur ágrip af skýrslunni sem ég gaf. Viðburðurinn fór fram í júní í Pétursborg. Í ljósi þess að ég vinn blokk frá ráðstefnusíðunni gat ég ekki annað en mætt á þennan viðburð. Árin 2016 og 2017 hlustaði ég á ráðstefnuskýrslur og í ár hélt ég kynningu. Í fyrsta lagi hefur áhugavert (sýnist mér) komið upp efni sem við erum að þróa með Kirill Belov, og í öðru lagi, eftir langa rannsókn á löggjöf Rússlands varðandi refsiaðgerðir, hjá fyrirtækinu þar sem ég vinn, birtust allt að tvö leyfi Wolfram Mathematica.

Áður en ég vík að efni ræðu minnar vil ég benda á gott skipulag viðburðarins. Heimsóknarsíða ráðstefnunnar notar mynd af Kazan-dómkirkjunni. Dómkirkjan er eitt helsta aðdráttarafl Pétursborgar og sést mjög vel úr salnum sem ráðstefnan fór fram í.

Wolfram Mathematica í jarðeðlisfræði

Við innganginn að St. Petersburg State Economic University mættu þátttakendum aðstoðarmenn úr hópi nemendanna - þeir leyfðu þeim ekki að villast. Við skráningu voru gefnir út litlir minjagripir (leikfang - blikkandi gadd, penni, límmiðar með Wolfram táknum). Hádegis- og kaffiveitingar voru einnig innifaldar í dagskrá ráðstefnunnar. Ég hef þegar bent á ljúffengt kaffi og bökur á vegg hópsins - kokkarnir eru frábærir. Með þessum inngangshluta vil ég undirstrika að viðburðurinn sjálfur, snið hans og staðsetning eru þegar að vekja jákvæðar tilfinningar.

Skýrslan sem var unnin af mér og Kirill Belov heitir „Að nota Wolfram Mathematica til að leysa vandamál í hagnýtri jarðeðlisfræði. Litrófsgreining á jarðskjálftagögnum eða „þar sem fornar ár runnu“. Efni skýrslunnar nær yfir tvo hluta: Í fyrsta lagi notkun reiknirita sem til eru í Wolfram Mathematica til að greina jarðeðlisfræðileg gögn, og í öðru lagi er þetta hvernig á að setja jarðeðlisfræðileg gögn inn í Wolfram Mathematica.

Jarðskjálftarannsóknir

Fyrst þarftu að fara í stutta skoðunarferð um jarðeðlisfræði. Jarðeðlisfræði er vísindin sem rannsaka eðliseiginleika steina. Jæja, þar sem berg hefur mismunandi eiginleika: rafmagns, segulmagnaðir, teygjanlegt, þá eru samsvarandi aðferðir jarðeðlisfræðinnar: rafleit, segulleit, jarðskjálftaleit... Í samhengi við þessa grein munum við aðeins fjalla nánar um jarðskjálftaleit. Jarðskjálftaleit er helsta aðferðin við leit að olíu og gasi. Aðferðin byggir á örvun teygjanlegra titrings og skráningu í kjölfarið á svörun frá steinunum sem mynda rannsóknarsvæðið. Titringur er spenntur á landi (með dýnamíti eða ósprengjandi titringsgjafa teygjanlegra titrings) eða á sjó (með loftbyssum). Teygjanlegur titringur breiðist út í gegnum bergmassann, brotnar og endurkastast við mörk laga með mismunandi eiginleika. Endurspeglaðar bylgjur snúa aftur upp á yfirborðið og eru skráðar með jarðfónum á landi (venjulega rafaflfræðilegum tækjum sem byggjast á hreyfingu seguls sem er hengdur í spólu) eða vatnsfónum í sjó (byggt á piezoelectric áhrif). Þegar öldurnar koma er hægt að dæma dýpt jarðfræðilegra laga.

Togbúnaður fyrir jarðskjálftaskip
Wolfram Mathematica í jarðeðlisfræði

Loftbyssan vekur teygjanlegan titring
Wolfram Mathematica í jarðeðlisfræði

Bylgjurnar fara í gegnum bergmassann og eru skráðar með vatnsfónum
Wolfram Mathematica í jarðeðlisfræði

Jarðeðlisfræðileg rannsóknaskip "Ivan Gubkin" við bryggju nálægt Blagoveshchensky brúnni í St.
Wolfram Mathematica í jarðeðlisfræði

Jarðskjálftamerkjalíkan

Steinar hafa mismunandi eðliseiginleika. Fyrir jarðskjálftarannsóknir eru teygjueiginleikar fyrst og fremst mikilvægir - útbreiðsluhraði teygjanlegra titrings og þéttleika. Ef tvö lög hafa sömu eða svipaða eiginleika, mun bylgjan „ekki taka eftir“ mörkunum á milli þeirra. Ef ölduhraðinn í lögunum er mismunandi mun endurkast eiga sér stað á mörkum laganna. Því meiri sem munurinn er á eiginleikum, því sterkari er endurspeglunin. Styrkur hans verður ákvarðaður af endurkaststuðlinum (rc):

Wolfram Mathematica í jarðeðlisfræði

þar sem ρ er þéttleiki bergsins, ν er bylgjuhraði, 1 og 2 gefa til kynna efri og neðri lögin.

Eitt einfaldasta og oftast notaða jarðskjálftamerkjalíkanið er fallsnúningslíkanið, þegar skráð jarðskjálftaspor er táknað sem afleiðing af snúningi röð endurkaststuðla með rannsakandi púls:

Wolfram Mathematica í jarðeðlisfræði

þar sem s(t) — jarðskjálftaspor, þ.e. allt sem var tekið upp með vatnsfóna eða landfóna á föstum upptökutíma, w(t) - merkið sem loftbyssan myndar, n(t) - tilviljunarkennd hávaði.

Við skulum reikna tilbúið jarðskjálftaspor sem dæmi. Við munum nota Ricker púlsinn, sem er mikið notaður í jarðskjálftarannsóknum, sem upphafsmerki.

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]

Upphafsskjálftahvöt
Wolfram Mathematica í jarðeðlisfræði

Við setjum tvö mörk á 300 ms og 600 ms dýpi og endurkaststuðlarnir verða tilviljunarkenndar tölur

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

Röð endurkaststuðla
Wolfram Mathematica í jarðeðlisfræði

Við skulum reikna út og sýna jarðskjálftasporið. Þar sem endurkaststuðlarnir hafa mismunandi merki fáum við tvær endurkast til skiptis á jarðskjálftasporinu.

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

Hermt lag
Wolfram Mathematica í jarðeðlisfræði

Fyrir þetta dæmi er nauðsynlegt að gera fyrirvara - í raun er dýpt laganna að sjálfsögðu ákvörðuð í metrum og útreikningur á jarðskjálftasporinu á sér stað fyrir tímasviðið. Réttara væri að stilla dýpið í metrum og reikna út komutímana með því að þekkja hraðann í lögunum. Í þessu tilfelli setti ég lögin strax á tímaásinn.

Ef við tölum um vettvangsrannsóknir, þá er mikill fjöldi svipaðra tímaraðir (skjálftaspor) skráðar vegna slíkra athugana. Til dæmis, þegar rannsakað er svæði sem er 25 km að lengd og 15 km á breidd, þar sem, vegna vinnu, einkennir hver ummerki frumu sem mælist 25x25 metrar (slík hólf er kölluð bakka), mun lokagagnafylkingin innihalda 600000 ummerki. Með sýnatökutíma 1 ms og upptökutíma upp á 5 sekúndur verður lokagagnaskráin meira en 11 GB og rúmmál upprunalega „hráefnisins“ getur verið hundruð gígabæta.

Hvernig á að vinna með þeim Wolfram Mathematica?

Pakkinn JarðfræðiIO

Þróun pakkans hófst spurning á VK vegg rússneskumælandi stuðningshóps. Þökk sé svörum samfélagsins fannst lausn mjög fljótt. Og fyrir vikið óx það í alvarlega þróun. Samsvarandi Wolfram Community veggpóstur Það var meira að segja merkt af stjórnendum. Eins og er styður pakkinn að vinna með eftirfarandi gagnategundir sem eru virkar notaðar í jarðfræðiiðnaðinum:

  1. innflutningur á kortagögnum á ZMAP og IRAP sniðum
  2. innflutningur mælinga í holum á LAS-sniði
  3. inntak og úttak skjálftaskráasniðs SEGY

Til að setja upp pakkann verður þú að fylgja leiðbeiningunum á niðurhalssíðu hins samsetta pakka, þ.e. framkvæma eftirfarandi kóða í hvaða Mathematica minnisbók:

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

Eftir það verður pakkinn settur upp í sjálfgefna möppunni, slóðin sem hægt er að nálgast á eftirfarandi hátt:

FileNameJoin[{$UserBasePacletsDirectory, "Repository"}]

Sem dæmi munum við sýna fram á helstu eiginleika pakkans. Símtalið er venjulega gert fyrir pakka á Wolfram tungumálinu:

Get["GeologyIO`"]

Pakkinn er þróaður með því að nota Wolfram vinnubekkur. Þetta gerir þér kleift að fylgja aðalvirkni pakkans með skjölum, sem hvað varðar kynningarsnið er ekki frábrugðin skjölum Wolfram Mathematica sjálfs, og að útvega pakkanum prófunarskrár fyrir fyrstu kynni.

Wolfram Mathematica í jarðeðlisfræði

Wolfram Mathematica í jarðeðlisfræði

Slík skrá, sérstaklega, er skráin "Marmousi.segy" - þetta er tilbúið líkan af jarðfræðilegum hluta, sem var þróað af frönsku olíustofnuninni. Með því að nota þetta líkan prófa þróunaraðilar eigin reiknirit fyrir öldusviðslíkön, gagnavinnslu, skjálftasporssnúningu osfrv. Marmousi líkanið sjálft er geymt í geymslunni þar sem pakkinn sjálfur var sóttur. Til að fá skrána skaltu keyra eftirfarandi kóða:

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

Innflutningsniðurstaða - SEGYData hlutur
Wolfram Mathematica í jarðeðlisfræði

SEGY sniðið felur í sér að geyma ýmsar upplýsingar um athuganir. Í fyrsta lagi eru þetta texta athugasemdir. Þar á meðal eru upplýsingar um staðsetningu verksins, nöfn fyrirtækja sem framkvæmdu mælingar o.fl. Í okkar tilviki er þessi haus kallaður með beiðni með TextHeader lyklinum. Hér er styttur textahaus:

Short[marmousi["TextHeader"]]

"Marmousi gagnasettið var búið til á stofnuninni ... hámarkshraði 1500 m/s og að hámarki 5500 m/s)"

Þú getur sýnt raunverulegt jarðfræðilegt líkan með því að fá aðgang að jarðskjálftasporunum með því að nota „spor“ takkann (einn af eiginleikum pakkans er að lyklarnir eru ónæmir fyrir hástöfum):

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

Fyrirsætan Marmousi
Wolfram Mathematica í jarðeðlisfræði

Eins og er gerir pakkinn þér einnig kleift að hlaða gögnum í hluta úr stórum skrám, sem gerir það mögulegt að vinna úr skrám sem geta náð tugum gígabæta að stærð. Aðgerðir pakkans innihalda einnig aðgerðir til að flytja út gögn til .segy og bæta að hluta til í lok skráarinnar.

Sérstaklega er vert að taka eftir virkni pakkans þegar unnið er með flókna uppbyggingu .segy skráa. Þar sem það gerir þér ekki aðeins kleift að fá aðgang að einstökum ummerkjum og hausum með því að nota lykla og vísitölur, heldur einnig að breyta þeim og skrifa þau síðan í skrá. Margar af tæknilegum upplýsingum um útfærslu GeologyIO eru utan gildissviðs þessarar greinar og verðskulda sennilega sérstaka lýsingu.

Mikilvægi litrófsgreiningar í jarðskjálftarannsóknum

Hæfni til að flytja inn jarðskjálftagögn inn í Wolfram Mathematica gerir þér kleift að nota innbyggða merkjavinnsluvirkni fyrir tilraunagögn. Þar sem hvert jarðskjálftaspor táknar tímaröð er eitt helsta verkfærin til að rannsaka þær litrófsgreiningar. Meðal forsenda þess að greina tíðnisamsetningu jarðskjálftagagna má til dæmis nefna eftirfarandi:

  1. Mismunandi tegundir bylgna einkennast af mismunandi tíðnisamsetningu. Þetta gerir þér kleift að auðkenna gagnlegar bylgjur og bæla truflunarbylgjur.
  2. Bergeiginleikar eins og grop og mettun geta haft áhrif á tíðnisamsetningu. Þetta gerir það mögulegt að greina steina með bestu eiginleika.
  3. Lög með mismunandi þykkt valda frávikum á mismunandi tíðnisviðum.

Þriðja atriðið er það helsta í samhengi þessarar greinar. Hér að neðan er kóðabrot til að reikna út jarðskjálftaspor ef um er að ræða lag með mismunandi þykkt - fleyglíkan. Þetta líkan er jafnan rannsakað í jarðskjálftarannsóknum til að greina truflunaráhrif þegar bylgjur sem endurkastast frá mörgum lögum eru lagðar ofan á aðra.

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

Líkan af klípa-út myndun
Wolfram Mathematica í jarðeðlisfræði

Bylgjuhraði inni í fleygnum er 4500 m/s, utan fleygsins 4000 m/s og miðað er við að þéttleiki sé stöðugur 2200 g/cm³. Fyrir slíkt líkan reiknum við endurkaststuðla og jarðskjálftaspor.

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]

Jarðskjálftaspor fyrir fleyglíkanið
Wolfram Mathematica í jarðeðlisfræði

Röð skjálftaspora sem sýnd er á þessari mynd er kölluð jarðskjálftaskurður. Eins og þú sérð er einnig hægt að framkvæma túlkun þess á leiðandi stigi, þar sem rúmfræði endurspeglaða bylgjunnar samsvarar greinilega líkaninu sem var tilgreint áður. Ef þú greinir ummerkin nánar muntu taka eftir því að ummerki frá 1 til um það bil 30 eru ekki frábrugðin - endurskin frá þaki myndunar og frá botni skarast ekki hvert annað. Frá og með 31. sporinu byrja spegilmyndirnar að trufla. Og þó að endurkaststuðlarnir í líkaninu breytist ekki lárétt - skjálftasporin breyta styrkleika sínum eftir því sem þykkt myndunarinnar breytist.

Við skulum íhuga amplitude endurkasts frá efri mörkum myndunar. Frá og með 60. leiðinni fer styrkleiki endurkastsins að aukast og á 70. leiðinni verður hann hámarks. Þannig kemur fram truflun öldu frá þaki og botni laganna sem leiðir í sumum tilfellum til verulegra frávika í jarðskjálftaskránni.

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 af amplitude endurkastaðrar bylgju frá efri brún fleygsins
Wolfram Mathematica í jarðeðlisfræði

Það er rökrétt að þegar merkið er með lægri tíðni byrjar truflun að koma fram við mikla myndunarþykkt og ef um er að ræða hátíðnimerki koma truflanir fram í minni þykktum. Eftirfarandi kóðabútur býr til merki með tíðnum 35 Hz, 55 Hz og 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]

Sett af upprunamerkjum með tíðni 35 Hz, 55Hz, 85Hz
Wolfram Mathematica í jarðeðlisfræði

Með því að reikna út jarðskjálftaspor og teikna línurit af endurkastuðum bylgjusviðum getum við séð að fyrir mismunandi tíðni sést frávik við mismunandi myndunarþykkt.

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]

Gröf af amplitudum endurkastaðrar bylgju frá efri brún fleygsins fyrir mismunandi tíðni
Wolfram Mathematica í jarðeðlisfræði

Hæfni til að draga ályktanir um þykkt myndunarinnar út frá niðurstöðum jarðskjálftamælinga er afar gagnleg, því eitt helsta verkefni olíuleitar er að meta vænlegustu punkta til að leggja holu (þ.e. þau svæði þar sem myndunin er þykkari). Að auki geta í jarðfræðihlutanum verið hlutir sem tilurð þeirra veldur mikilli breytingu á þykkt myndunarinnar. Þetta gerir litrófsgreiningu að áhrifaríku tæki til að rannsaka þau. Í næsta hluta greinarinnar munum við fjalla nánar um slíka jarðfræðilega hluti.

Tilraunagögn. Hvar fékkstu þá og hvað á að leita að í þeim?

Efnin sem greind voru í greininni voru fengin í Vestur-Síberíu. Svæðið, eins og allir undantekningarlaust vita líklega, er helsta olíuframleiðslusvæði lands okkar. Virk þróun innlána hófst á svæðinu á sjöunda áratug síðustu aldar. Helsta aðferðin við að leita að olíulindum er jarðskjálftaleit. Það er áhugavert að skoða gervihnattamyndir af þessu landsvæði. Í litlum mæli er hægt að greina gífurlegan fjölda mýra og vötna; með því að stækka kortið er hægt að sjá þyrpingarborunarstaði og með því að stækka kortið til hins ítrasta er einnig hægt að greina rjóður sniðanna þar sem jarðskjálftahrina er. athuganir voru gerðar.

Gervihnattamynd af Yandex kortum - Noyabrsk borgarsvæði
Wolfram Mathematica í jarðeðlisfræði

Net af brunnapúðum við einn völlinn
Wolfram Mathematica í jarðeðlisfræði

Olíuberandi steinar í Vestur-Síberíu eru á miklu dýpi - frá 1 km til 5 km. Meginrúmmál steina sem innihalda olíu myndaðist á júra- og krítartímanum. Júratímabilið þekkja líklega margir úr samnefndri kvikmynd. Jurassic loftslag var verulega frábrugðin nútímanum. Alfræðiorðabókin Britannica hefur röð paleomaps sem einkenna hvert helgifræðilegt tímabil.

Nú á dögum
Wolfram Mathematica í jarðeðlisfræði
Jurassic tímabil
Wolfram Mathematica í jarðeðlisfræði

Vinsamlegast athugaðu að á júratímanum var yfirráðasvæði Vestur-Síberíu sjávarströnd (land sem ám og grunnsjór fara yfir). Þar sem loftslagið var þægilegt getum við gert ráð fyrir að dæmigert landslag þess tíma hafi litið svona út:

Jurassic Síbería
Wolfram Mathematica í jarðeðlisfræði

Í þessari mynd er það sem er mikilvægt fyrir okkur ekki svo mikið dýrin og fuglarnir, heldur myndin af ánni í bakgrunni. Áin er sami jarðfræðilegi hluturinn og við stoppuðum við áðan. Staðreyndin er sú að virkni áa gerir það að verkum að vel flokkaðir sandsteinar safnast fyrir sem verða síðan uppistöðulón fyrir olíu. Þessi lón geta haft furðulega, flókna lögun (eins og árfarvegur) og þau hafa breytilega þykkt - nálægt bökkum er þykktin lítil, en nær miðju sundsins eða á hlykkjóttum svæðum eykst hún. Þannig að árnar sem myndast í Jurassic eru nú á um þriggja kílómetra dýpi og eru viðfangsefni leitar að olíubirgðum.

Tilraunagögn. Úrvinnsla og sjónræn

Gerum strax fyrirvara varðandi skjálftaefnin sem sýnd eru í greininni - vegna þess að gagnamagnið sem notað er við greininguna er umtalsvert - aðeins brot af upprunalegu mengi jarðskjálftaspora er innifalið í texta greinarinnar. Þetta gerir öllum kleift að endurskapa ofangreinda útreikninga.

Þegar unnið er með jarðskjálftagögn notar jarðeðlisfræðingur venjulega sérhæfðan hugbúnað (það eru nokkrir leiðtogar í iðnaði sem eru virkir í notkun, til dæmis Petrel eða Paradigm), sem gerir þér kleift að greina mismunandi gerðir gagna og hefur þægilegt grafískt viðmót. Þrátt fyrir öll þægindin hafa þessar tegundir hugbúnaðar líka sína galla - til dæmis tekur innleiðing nútíma reiknirita í stöðugum útgáfum mikinn tíma og möguleikarnir á sjálfvirkum útreikningum eru yfirleitt takmarkaðir. Í slíkum aðstæðum verður mjög þægilegt að nota stærðfræðitölvukerfi og háþróað forritunarmál, sem gera kleift að nota breiðan reikniritgrunn og á sama tíma taka á sig mikla rútínu. Þetta er meginreglan sem notuð er til að vinna með jarðskjálftagögn í Wolfram Mathematica. Það er óviðeigandi að skrifa ríka virkni fyrir gagnvirka vinnu með gögn - það er mikilvægara að tryggja hleðslu frá almennt viðurkenndu sniði, beita þeim reikniritum sem óskað er eftir og hlaða þeim aftur á ytra snið.

Eftir fyrirhugaðri áætlun munum við hlaða upprunalegu jarðskjálftagögnunum og sýna þau inn 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]

Gögnin sem hlaðið er niður og flutt inn á þennan hátt eru leiðir sem skráðar eru á svæði sem mælist 10 sinnum 5 kílómetrar. Ef gögnin eru fengin með því að nota þrívíddar skjálftamælingaraðferð (bylgjur eru ekki skráðar eftir einstökum jarðeðlisfræðilegum sniðum, heldur yfir allt svæðið samtímis), verður hægt að fá jarðskjálftagagnakubba. Þetta eru þrívíðir hlutir, lóðréttir og láréttir hlutar sem leyfa nákvæma rannsókn á jarðfræðilegu umhverfi. Í dæminu sem skoðað er erum við að fást við þrívíddargögn. Við getum fengið einhverjar upplýsingar úr textahausnum, svona

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

C 1 ÞETTA ER DEMO SKÁL FYRIR GEOLOGYIO PAKKAPRÓF
C 2
C 3
C 4
C 5 DAGSETNING NOTANDANAFN: WOLFRAM NOTANDI
C 6 Könnunarheiti: EINHVERSTAÐAR Í SÍBERÍU
C 7 SKJAGERÐ 3D SEISMIC RÁM
C 8
C 9
C10 Z SVIÐ: FYRSTU 2200M SÍÐUSTU 2400M

Þetta gagnasafn mun nægja okkur til að sýna fram á helstu stig gagnagreiningar. Ummerkin í skránni eru skráð í röð og hver þeirra lítur eitthvað út eins og eftirfarandi mynd - þetta er dreifing amplituda endurkastaðra bylgna eftir lóðrétta ásnum (dýptás).

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]

Eitt af jarðskjálftaskaflasporunum
Wolfram Mathematica í jarðeðlisfræði

Með því að vita hversu mörg ummerki eru staðsett í hvora átt svæðisins sem rannsakað er, getur þú búið til þrívítt gagnafylki og birt það með Image3D[] aðgerðinni

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

Þrívíddarmynd af skjálftagagnakubbi. (Lóðréttur ás - dýpt)
Wolfram Mathematica í jarðeðlisfræði

Ef jarðfræðilegir eiginleikar sem vekja áhuga skapa miklar jarðskjálftafrávik, þá er hægt að nota sjónmyndunartæki með gagnsæi. „Ómikilvæg“ svæði upptökunnar geta verið ósýnileg, þannig að aðeins frávik eru sýnileg. Í Wolfram Mathematica er hægt að gera þetta með því að nota Ógegnsæi[] и 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]

Teningamynd jarðskjálftagagna með því að nota Opacity[] og Raster3D[] aðgerðir Wolfram Mathematica í jarðeðlisfræði

Eins og í gervidæminu, á köflum upprunalega teningsins er hægt að bera kennsl á nokkur jarðfræðileg mörk (lög) með breytilegum lágmynd.

Helsta tækið til litrófsgreiningar er Fourier umbreytingin. Með hjálp þess geturðu metið amplitude-tíðnisvið hvers ummerkis eða hóps spora. Hins vegar, eftir að gögnin eru flutt yfir á tíðnisviðið, tapast upplýsingar um á hvaða tímum (lesið á hvaða dýpi) tíðnin breytist. Til þess að hægt sé að staðsetja merkjabreytingar á tímaásnum (dýptarás) er notast við gluggaða Fourier umbreytingu og bylgjubrot. Þessi grein notar wavelet niðurbrot. Bylgjugreiningartækni byrjaði að vera virkan notuð í jarðskjálftarannsóknum á tíunda áratugnum. Kosturinn við Fourier umbreytinguna með glugga er talinn vera betri tímaupplausn.

Með því að nota eftirfarandi kóðabrot geturðu brotið niður eitt af jarðskjálftasporunum í einstaka hluti:

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]

Niðurbrot snefils í íhluti
Wolfram Mathematica í jarðeðlisfræði

Til að meta hvernig endurkastsorkan dreifist á mismunandi komutímum bylgjunnar eru notuð mælikvarðar (samhliða litrófsriti). Að jafnaði er engin þörf á að greina alla þætti í reynd. Venjulega eru lág-, mið- og hátíðnihlutir valdir.

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]

Skalaskrá. Niðurstaða virkni WaveletScalogram[]
Wolfram Mathematica í jarðeðlisfræði

Wolfram tungumálið notar aðgerðina fyrir bylgjubreytingar ContinuousWaveletTransform[]. Og beiting þessarar aðgerðar á allt sett af ummerkjum verður framkvæmt með því að nota aðgerðina Tafla[]. Hér er rétt að benda á einn af styrkleikum Wolfram Mathematica - hæfileikann til að nota samhliða samsetningu Samhliða tafla[]. Í ofangreindu dæmi er engin þörf á samhliða samsetningu - gagnamagnið er ekki mikið, en þegar unnið er með tilraunagagnasöfn sem innihalda hundruð þúsunda spora er þetta nauðsyn.

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

Eftir að aðgerðin hefur verið beitt ContinuousWaveletTransform[] Ný gagnasöfn birtast sem samsvara völdum tíðni. Í dæminu hér að ofan eru þessar tíðnir: 38Hz, 33Hz, 27Hz. Val á tíðnum fer oftast fram á grundvelli prófunar - þeir fá skilvirk kort fyrir mismunandi tíðnisamsetningar og velja það fróðlegasta frá sjónarhóli jarðfræðings.

Ef þú þarft að deila niðurstöðunum með samstarfsfólki eða veita viðskiptavinum þær, geturðu notað SEGYExport[] aðgerðina í GeologyIO pakkanum

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

Með þremur af þessum teningum (lágtíðni, miðtíðni og hátíðnihlutum) er RGB blanda venjulega notuð til að sjá gögnin saman. Hver hluti er úthlutað sínum eigin lit - rauður, grænn, blár. Í Wolfram Mathematica er hægt að gera þetta með aðgerðinni ColorCombine[].

Niðurstaðan eru myndir sem hægt er að gera jarðfræðilega túlkun út frá. Hlykkurnar sem skráðar eru á kaflanum gera það að verkum að hægt er að afmarka steinrásir sem eru líklegri til að vera uppistöðulón og innihalda olíubirgðir. Leit og greining á nútíma hliðstæðum slíks árkerfis gerir okkur kleift að ákvarða efnilegustu hluta hlykkjunnar. Röngin sjálf einkennast af þykkum lögum af vel flokkuðum sandsteini og eru gott lón fyrir olíu. Svæði utan "blúndu" frávikanna eru svipuð nútíma flóðaflötum. Flóðaútfellingar eru aðallega táknaðar með leirkenndu bergi og borun í þessi svæði mun vera árangurslaus.

RGB sneið af gagnateningnum. Í miðjunni (örlítið vinstra megin við miðjuna) má rekja hlykjandi ána.
Wolfram Mathematica í jarðeðlisfræði
RGB sneið af gagnateningnum. Vinstra megin má rekja hlykjandi ána.
Wolfram Mathematica í jarðeðlisfræði

Í sumum tilfellum leyfa gæði skjálftagagna verulega skýrari myndir. Þetta fer eftir aðferðafræði vettvangsvinnunnar, búnaðinum sem hávaðaminnkunaralgrímið notar. Í slíkum tilfellum eru ekki aðeins brot úr árkerfum sýnileg, heldur einnig heilar útbreiddar paleo-ár.

RGB blöndun þriggja þátta skjálftagagnakubba (lárétt sneið). Dýpi um það bil 2 km.
Wolfram Mathematica í jarðeðlisfræði
Gervihnattamynd af Volgu ánni nálægt Saratov
Wolfram Mathematica í jarðeðlisfræði

Ályktun

Wolfram Mathematica gerir þér kleift að greina jarðskjálftagögn og leysa notuð vandamál sem tengjast jarðefnaleit og GeologyIO pakkinn gerir þetta ferli þægilegra. Uppbygging jarðskjálftagagna er þannig að með því að nota innbyggðar aðferðir til að flýta útreikningum (Samhliða tafla[], ParallelDo[],...) er mjög skilvirkt og gerir þér kleift að vinna mikið magn af gögnum. Að miklu leyti er þetta auðveldað af gagnageymslueiginleikum GeologyIO pakkans. Við the vegur, pakkann er ekki aðeins hægt að nota á sviði beitt jarðskjálftarannsókna. Næstum sömu tegundir gagna eru notaðar í jarðratsjá og jarðskjálftafræði. Ef þú hefur tillögur um hvernig hægt er að bæta niðurstöðuna, hvaða merkjagreiningar reiknirit úr Wolfram Mathematica vopnabúrinu eiga við um slík gögn, eða ef þú hefur einhverjar mikilvægar athugasemdir, vinsamlegast skildu eftir athugasemd.

Heimild: www.habr.com

Bæta við athugasemd