Wolfram Mathematica in Geophysics

Merci un den Auteur vum Blog Anton Ekimenko fir säi Rapport

Aféierung

Dës Notiz gouf no der Konferenz geschriwwen Wolfram russesch Technologie Konferenz an enthält e Resumé vum Rapport ech ginn. D'Evenement huet am Juni zu St. Bedenkt datt ech e Block vun der Konferenzplaz schaffen, konnt ech net hëllefen, dëst Evenement deelzehuelen. 2016 an 2017 hunn ech Konferenzberichter nogelauschtert, an dëst Joer hunn ech eng Presentatioun gemaach. Als éischt ass en interessant (schéngt mir) Thema opgetaucht, mat deem mir entwéckelen Kirill Belov, an zweetens, no enger laanger Etude vun der Gesetzgebung vun der russescher Federatioun iwwer Sanktioune Politik, an der Entreprise wou ech schaffen, sou vill wéi zwou Lizenzen opgetaucht Wolfram Mathematica.

Ier ech op d'Thema vu menger Ried goen, wëll ech op déi gutt Organisatioun vum Event notéieren. D'Besuchssäit vun der Konferenz benotzt e Bild vun der Kazan Kathedral. D'Kathedral ass eng vun den Haaptattraktiounen vu Sankt Petersburg an ass ganz kloer aus dem Sall ze gesinn, an deem d'Konferenz stattfonnt huet.

Wolfram Mathematica in Geophysics

Bei der Entrée zu St. Wärend der Aschreiwung goufe kleng Souveniren erausginn (e Spillsaach - e Blëtzspike, e Pen, Stickere mat Wolfram Symboler). Mëttegiessen a Kaffispaus waren och am Konferenz Zäitplang abegraff. Ech hu schonn iwwer leckere Kaffi a Pies op der Mauer vun der Grupp bemierkt - d'Käch si super. Mat dësem Aféierungs-Deel wëll ech ënnersträichen, datt d'Evenement selwer, säi Format an d'Location scho positiv Emotiounen bréngen.

De Bericht, dee vu mir a vum Kirill Belov virbereet gouf, heescht "Using Wolfram Mathematica to solve problems in application geophysics. Spektral Analyse vu seismeschen Donnéeën oder "wou antike Flëss lafen." Den Inhalt vum Bericht deckt zwee Deeler: éischtens d'Benotzung vun Algorithmen déi verfügbar sinn an Wolfram Mathematica fir geophysesch Donnéeën ze analyséieren, an zweetens, dëst ass wéi geophysesch Donnéeën an Wolfram Mathematica gesat ginn.

Seismesch Exploratioun

Als éischt musst Dir e kuerzen Ausfluch an d'Geophysik maachen. Geophysik ass d'Wëssenschaft déi kierperlech Eegeschafte vu Fielsen studéiert. Well, well Fielsen verschidden Eegeschaften hunn: elektresch, magnetesch, elastesch, ginn et entspriechend Methoden vun der Geophysik: elektresch Prospektioun, magnetesch Prospektioun, Seismesch Prospektioun ... Am Kontext vun dësem Artikel wäerte mir nëmmen d'seismesch Prospektioun méi detailléiert diskutéieren. Seismesch Exploratioun ass d'Haaptmethod fir no Ueleg a Gas ze sichen. D'Method baséiert op der Excitatioun vun elastesche Schwéngungen a spéider Opnam vun der Äntwert vun de Fielsen, déi d'Studieberäich ausmaachen. Vibratiounen ginn op Land opgereegt (mat Dynamit oder net explosive Schwéngungsquellen vun elastesche Schwéngungen) oder um Mier (mat Loftwaffen). Elastesch Schwéngungen propagéieren duerch d'Fielsmass, briechen a reflektéiert op d'Grenze vu Schichten mat verschiddenen Eegeschaften. Reflexéiert Wellen ginn zréck op d'Uewerfläch a gi vu Geophon um Land opgeholl (normalerweis elektrodynamesch Apparater baséiert op der Bewegung vun engem Magnéit, deen an enger Spule suspendéiert ass) oder Hydrophonen am Mier (baséiert op dem piezoelektreschen Effekt). No der Arrivée vu Wellen kann een d'Tiefe vun de geologesche Schichten beurteelen.

Seismesch Schiff Ausrüstung
Wolfram Mathematica in Geophysics

D'Loftgewier begeeschtert elastesch Schwéngungen
Wolfram Mathematica in Geophysics

D'Wellen passéieren duerch d'Fielsmass a ginn duerch Hydrophonen opgeholl
Wolfram Mathematica in Geophysics

Geophysikalesch Ëmfro Fuerschung Schëff "Ivan Gubkin" um Pier bei der Blagoveshchensky Bréck zu St.
Wolfram Mathematica in Geophysics

Seismesch Signalmodell

Fielsen hu verschidde kierperlech Eegeschaften. Fir seismesch Exploratioun sinn elastesch Eegeschafte virun allem wichteg - d'Vitesse vun der Verbreedung vun elastesche Schwéngungen an Dicht. Wann zwou Schichten déiselwecht oder ähnlech Eegeschaften hunn, da wäert d'Welle "net bemierken" d'Grenz tëscht hinnen. Wann d'Wellengeschwindegkeet an de Schichten ënnerscheeden, da wäert Reflexioun op der Grenz vun de Schichten optrieden. Wat den Ënnerscheed an de Properties méi grouss ass, wat méi intensiv d'Reflexioun ass. Seng Intensitéit gëtt vum Reflexiounskoeffizient (rc) bestëmmt:

Wolfram Mathematica in Geophysics

wou ρ d'Fielsdicht ass, ν d'Wellegeschwindegkeet ass, 1 an 2 weisen déi iewescht an déi ënnescht Schichten un.

Ee vun den einfachsten an dacks benotzte seismesche Signalmodeller ass de Konvolutiounsmodell, wann déi opgeholl seismesch Spuer als Resultat vun der Konvolutioun vun enger Sequenz vu Reflexiounskoeffizienten mat engem Sondimpuls duergestallt gëtt:

Wolfram Mathematica in Geophysics

wou s(t) - seismesch Spuer, d.h. alles wat vun engem Hydrophone oder Geophon während enger fixer Opnamzäit opgeholl gouf, w(t) - d'Signal generéiert vun der Loftpistoul, n(t) - zoufälleg Kaméidi.

Loosst eis eng synthetesch seismesch Spuer als Beispill berechnen. Mir wäerten de Ricker Puls benotzen, wäit an der seismescher Exploratioun benotzt, als initial Signal.

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]

Éischt seismesch Impuls
Wolfram Mathematica in Geophysics

Mir setzen zwou Grenzen op Tiefen vun 300 ms a 600 ms, an d'Reflexiounskoeffizienten wäerten zoufälleg Zuelen sinn

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

Sequenz vun Reflexiounskoeffizienten
Wolfram Mathematica in Geophysics

Loosst eis d'seismesch Spur berechnen a weisen. Well d'Reflexiounskoeffizienten ënnerschiddlech Schëlder hunn, kréie mir zwee ofwiesselnd Reflexiounen op déi seismesch Spur.

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

Simuléiert Streck
Wolfram Mathematica in Geophysics

Fir dëst Beispill ass et néideg eng Reservatioun ze maachen - an der Realitéit gëtt d'Tiefe vun de Schichten bestëmmt, natierlech a Meter, an d'Berechnung vun der seismesche Spuer geschitt fir d'Zäitberäich. Et wier méi richteg, d'Déiften a Meter ze setzen an d'Arrivéezäiten ze berechnen, d'Vitesse an de Schichten ze kennen. An dësem Fall setzen ech direkt d'Schichten op der Zäitachs.

Wa mir iwwer Feldfuerschung schwätzen, da ginn als Resultat vun esou Observatiounen eng grouss Zuel vun ähnlechen Zäitreihen (seismesch Spuren) opgeholl. Zum Beispill, wann Dir e Site studéiert 25 km laang a 15 km breet, wou, als Resultat vun der Aarbecht, all Spuer eng Zell charakteriséiert, déi 25x25 Meter moosst (sou eng Zell gëtt e Bin genannt), wäert de finalen Datearray 600000 Spuren enthalen. Mat enger Samplingzäit vun 1 ms an enger Opnamzäit vu 5 Sekonnen, wäert d'final Datedatei méi wéi 11 GB sinn, an de Volume vum ursprénglechen "Rohmaterial" kann Honnerte vu Gigabyte sinn.

Wéi mat hinnen ze schaffen Wolfram Mathematica?

Package Geologie IO

D'Entwécklung vum Package huet ugefaang Thema op der VK Mauer vun der russesch-allgemengen Ënnerstëtzung Grupp. Dank den Äntwerte vun der Gemeng gouf eng Léisung ganz séier fonnt. An als Resultat ass et an eng sérieux Entwécklung gewuess. Korrespondéiert Wolfram Gemeinschaft Mauer Post Et war souguer vun Moderatoren markéiert. De Moment ënnerstëtzt de Package mat de folgenden Datentypen ze schaffen, déi aktiv an der geologescher Industrie benotzt ginn:

  1. Import vun Kaartdaten an ZMAP an IRAP Formater
  2. Import vun Miessunge am LAS Format Wells
  3. Input an Output vu seismesche Dateiformat SEGY

Fir de Package z'installéieren, musst Dir d'Instruktioune befollegen op der Download Säit vum zesummegesate Package, d.h. ausféieren de folgende Code an all Mathematica Notizbuch:

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

Duerno gëtt de Package am Standarddopper installéiert, de Wee zu deem kann wéi follegt kritt ginn:

FileNameJoin[{$UserBasePacletsDirectory, "Repository"}]

Als Beispill wäerte mir d'Haaptfäegkeeten vum Package weisen. Den Uruff gëtt traditionell fir Packagen an der Wolfram Sprooch gemaach:

Get["GeologyIO`"]

De Package ass entwéckelt mat Wolfram Workbench. Dëst erlaabt Iech d'Haaptfunktionalitéit vum Package mat Dokumentatioun ze begleeden, déi a punkto Presentatiounsformat net vun der Dokumentatioun vu Wolfram Mathematica selwer ënnerscheet, an de Package mat Testdateien fir déi éischt Bekannten ze bidden.

Wolfram Mathematica in Geophysics

Wolfram Mathematica in Geophysics

Esou e Fichier, besonnesch, ass de Fichier "Marmousi.segy" - dat ass e syntheteschen Modell vun der geologescher Sektioun, déi vum franséische Petroleum Institut entwéckelt gouf. Mat dësem Modell testen d'Entwéckler hir eege Algorithmen fir Wellefeldmodelléierung, Datenveraarbechtung, seismesch Spuerinversioun, etc. De Marmousi Modell selwer gëtt am Repository gespäichert vu wou de Package selwer erofgeluede gouf. Fir d'Datei ze kréien, fuert de folgende Code:

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

Import Resultat - SEGYData Objet
Wolfram Mathematica in Geophysics

De SEGY Format beinhalt d'Späichere vun verschidden Informatioun iwwer Observatiounen. Als éischt sinn dat Textkommentarer. Dëst beinhalt Informatiounen iwwer d'Plaz vun der Aarbecht, d'Nimm vun de Firmen, déi d'Miessunge gemaach hunn, asw. An eisem Fall gëtt dësen Header vun enger Ufro mam TextHeader Schlëssel genannt. Hei ass e verkierzte Text Header:

Short[marmousi["TextHeader"]]

"De Marmousi-Datenset gouf am Institut generéiert ... Minimum Geschwindegkeet vun 1500 m/s a maximal 5500 m/s)"

Dir kënnt den aktuellen geologesche Modell affichéieren andeems Dir op d'seismesch Spure mat der "Spure" Schlëssel zougitt (eng vun de Feature vum Package ass datt d'Schlësselen case-onsensitiv sinn):

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

Modell Marmousi
Wolfram Mathematica in Geophysics

De Moment erlaabt de Package Iech och Daten an Deeler vu grousse Dateien ze lueden, sou datt et méiglech ass Dateien ze veraarbechten deenen hir Gréisst Zénger vu Gigabytes erreechen kann. D'Funktioune vum Package enthalen och Funktiounen fir Daten op .segy ze exportéieren an deelweis um Enn vun der Datei ze addéieren.

Separat ass et derwäert ze notéieren d'Funktionalitéit vum Package wann Dir mat der komplexer Struktur vun .segy Dateien schafft. Well et erlaabt Iech net nëmmen Zougang zu eenzel Spuren an Header mat Schlësselen an Indexen ze benotzen, awer och fir se z'änneren an dann op eng Datei ze schreiwen. Vill vun den techneschen Detailer vun der GeologyIO Ëmsetzung sinn iwwer den Ëmfang vun dësem Artikel a verdéngen wahrscheinlech eng separat Beschreiwung.

D'Relevanz vun der Spektralanalyse bei der seismescher Exploratioun

D'Kapazitéit fir seismesch Donnéeën an Wolfram Mathematica z'importéieren erlaabt Iech eng agebaute Signalveraarbechtungsfunktionalitéit fir experimentell Daten ze benotzen. Well all seismesch Spuer eng Zäitserie duerstellt, ass ee vun den Haaptinstrumenter fir se ze studéieren Spektralanalyse. Ënnert de Viraussetzunge fir d'Analyse vun der Frequenzkompositioun vu seismesche Donnéeën, kënne mir zum Beispill déi folgend nennen:

  1. Verschidde Typen vu Wellen si charakteriséiert duerch ënnerschiddlech Frequenzkompositioun. Dëst erlaabt Iech nëtzlech Wellen ze markéieren an Interferenzwellen z'ënnerdrécken.
  2. Rock Eegeschafte wéi Porositéit a Sättigung kënnen d'Frequenzkompositioun beaflossen. Dëst mécht et méiglech Fielsen mat de beschten Eegeschaften z'identifizéieren.
  3. Schichten mat verschiddenen Dicken verursaachen Anomalien a verschiddene Frequenzbereich.

Den drëtte Punkt ass den Haaptpunkt am Kontext vun dësem Artikel. Drënner ass e Code Fragment fir d'Berechnung vun seismesche Spuren am Fall vun enger Schicht mat ënnerschiddlecher Dicke - e Keilmodell. Dëse Modell gëtt traditionell an der seismescher Exploratioun studéiert fir Interferenzeffekter ze analyséieren wann Wellen, déi vu ville Schichten reflektéiert ginn, openeen iwwerlagert ginn.

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

Modell vun enger Prise-eraus Formatioun
Wolfram Mathematica in Geophysics

D'Wellegeschwindegkeet am Keil ass 4500 m/s, ausserhalb vum Keil 4000 m/s, an d'Dicht gëtt ugeholl konstant 2200 g/cm³ ze sinn. Fir esou e Modell berechene mir Reflexiounskoeffizienten a seismesch Spuren.

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]

Seismesch Spure fir de Keilmodell
Wolfram Mathematica in Geophysics

D'Sequenz vun de seismesche Spuren, déi an dëser Figur gewisen gëtt, gëtt e seismesche Sektioun genannt. Wéi Dir kënnt gesinn, kann seng Interpretatioun och op engem intuitiven Niveau duerchgefouert ginn, well d'Geometrie vun de reflektéierte Wellen kloer dem Modell entsprécht dee virdru spezifizéiert gouf. Wann Dir d'Spure méi detailléiert analyséiert, mierkt Dir datt d'Spure vun 1 bis ongeféier 30 net ënnerscheeden - d'Reflexioun vum Daach vun der Formatioun a vun ënnen iwwerlappt sech net. Vun der 31. Spuer fänken d'Reflexiounen un ze stéieren. An, obwuel am Modell d'Reflexiounskoeffizienten net horizontal änneren - d'seismesch Spuren änneren hir Intensitéit wéi d'Dicke vun der Formation ännert.

Loosst eis d'Amplitude vun der Reflexioun vun der ieweschter Grenz vun der Formatioun betruechten. Vun der 60. Streck un, fänkt d'Intensitéit vun der Reflexioun un ze erhéijen an um 70. Wee gëtt se maximal. Dëst ass wéi d'Interferenz vu Wellen vum Daach an ënnen vun de Schichten manifestéiert, wat an e puer Fäll zu bedeitende Anomalien am seismesche Rekord féiert.

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 vun der Amplitude vun der reflektéierter Welle vun der ieweschter Rand vum Keil
Wolfram Mathematica in Geophysics

Et ass logesch datt wann d'Signal manner Frequenz ass, fänkt d'Interferenz bei grousser Formationdicke op, an am Fall vun engem Héichfrequenz Signal geschitt d'Interferenz bei méi klengen Dicken. Déi folgend Code Snippet erstellt e Signal mat Frequenzen vun 35 Hz, 55 Hz an 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]

Eng Rei vu Quellsignaler mat Frequenzen vun 35 Hz, 55Hz, 85Hz
Wolfram Mathematica in Geophysics

Duerch d'Berechnung vu seismesche Spuren a Plott Grafike vu reflektéierte Wellenamplituden, kënne mir gesinn datt fir verschidden Frequenzen eng Anomalie bei verschiddene Formationsdecken observéiert gëtt.

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]

Grafike vun den Amplituden vun der reflektéierter Welle vun der ieweschter Rand vum Keil fir verschidden Frequenzen
Wolfram Mathematica in Geophysics

D'Kapazitéit fir Conclusiounen iwwer d'Dicke vun der Formation aus de Resultater vun de seismeschen Observatiounen ze zéien ass extrem nëtzlech, well eng vun den Haaptaufgaben an der Uelegfuerschung ass déi villverspriechendste Punkte fir eng Brunn ze leeën (dh déi Beräicher wou d'Formatioun ass) méi déck). Ausserdeem, an der geologescher Sektioun kann et Objeten sinn, deenen hir Genesis eng scharf Verännerung vun der Dicke vun der Formation verursaacht. Dëst mécht d'Spektralanalyse en effektiv Instrument fir se ze studéieren. Am nächsten Deel vum Artikel wäerte mir esou geologesch Objete méi detailléiert betruechten.

Experimentell Donnéeën. Wou hues de se kritt a wat soll een dohinner sichen?

D'Materialien, déi am Artikel analyséiert goufen, goufen a Westsibirien kritt. D'Regioun, wéi jiddereen ouni Ausnam wahrscheinlech weess, ass d'Haaptrei Ueleg-produzéierend Regioun vun eisem Land. Aktiv Entwécklung vun Dépôten ugefaang an der Regioun an de 60er vum leschte Joerhonnert. D'Haaptmethod fir no Uelegablagerungen ze sichen ass seismesch Exploratioun. Et ass interessant Satellittebilder vun dësem Territoire ze kucken. Op enger klenger Skala kënnt Dir eng riesech Unzuel vu Sumpf a Séien notéieren; andeems Dir d'Kaart vergréissert, kënnt Dir Clusterbrunn Buerplazen gesinn, a andeems Dir d'Kaart op d'Limite vergréissert, kënnt Dir och d'Clearings vun de Profiler ënnerscheeden, laanscht déi seismesch Observatioune goufen duerchgefouert.

Satellit Bild vun Yandex Kaarten - Noyabrsk Stad Beräich
Wolfram Mathematica in Geophysics

En Netzwierk vu Wellpads op engem vun de Felder
Wolfram Mathematica in Geophysics

Ueleg-Träger Fielsen vun Western Sibirien geschéien an enger breet Palette vun Déiften - vun 1 km bis 5 km. Den Haaptvolumen vu Fielsen mat Ueleg gouf an der Jurassic a Kräidzäit geformt. D'Jurassic Period ass wahrscheinlech fir vill bekannt aus dem Film mam selwechten Numm. Jurassic Klima war wesentlech anescht wéi déi modern. D'Encyclopedia Britannica huet eng Serie vu Paleompen déi all helogesch Ära charakteriséieren.

Presentéiert
Wolfram Mathematica in Geophysics
Jurassic Period
Wolfram Mathematica in Geophysics

Notéiert w.e.g. datt an der Jurassic Zäit den Territoire vu Western Sibirien eng Mierküst war (Land duerch Flëss an e flaache Mier gekräizt). Well d'Klima bequem war, kënne mir dovun ausgoen datt eng typesch Landschaft vun där Zäit esou ausgesinn huet:

Jurassic Sibirien
Wolfram Mathematica in Geophysics

Op dësem Bild ass wat fir eis wichteg ass net esou vill Déieren a Villercher, mee d'Bild vum Floss am Hannergrond. De Floss ass dee selwechte geologeschen Objet op deem mir virdru gestoppt hunn. D'Tatsaach ass datt d'Aktivitéit vu Flëss erlaabt gutt sortéiert Sandsteen ze sammelen, déi dann e Reservoir fir Ueleg ginn. Dës Reservoir kënnen eng bizarre, komplex Form hunn (wéi e Flossbett) a si hu variabel Dicke - no bei de Banken ass d'Dicke kleng, awer méi no beim Zentrum vum Kanal oder a meandergebidder erop. Also, d'Flëss, déi am Jurassic geformt sinn, sinn elo an enger Déift vu ronn dräi Kilometer a sinn den Objet vun enger Sich no Uelegreservoiren.

Experimentell Donnéeën. Veraarbechtung a Visualiséierung

Loosst eis direkt eng Reservatioun iwwer d'seismesch Materialien am Artikel maachen - wéinst der Tatsaach, datt d'Quantitéit vun den Daten, déi fir d'Analyse benotzt ginn, bedeitend ass - nëmmen e Fragment vun der ursprénglecher Set vu seismesche Spuren ass am Text vum Artikel abegraff. Dëst erlaabt jidderengem déi uewe genannte Berechnungen ze reproduzéieren.

Wann Dir mat seismesche Daten schafft, benotzt e Geophysiker normalerweis spezialiséiert Software (et gi verschidde Industrieleit, deenen hir Entwécklungen aktiv benotzt ginn, zum Beispill Petrel oder Paradigma), wat Iech erlaabt verschidden Zorte vun Daten ze analyséieren an eng praktesch grafesch Interface ze hunn. Trotz der Komfort hunn dës Zorte vu Software och hir Nodeeler - zum Beispill d'Ëmsetzung vun modernen Algorithmen a stabile Versiounen hëlt vill Zäit, an d'Méiglechkeeten fir d'Berechnungen ze automatiséieren sinn normalerweis limitéiert. An esou enger Situatioun gëtt et ganz bequem Computer Mathematik Systemer an héich-Niveau programméiere Sproochen ze benotzen, déi d'Benotzung vun enger breeder algorithmescher Basis erlaben a gläichzäiteg vill Routine iwwerhuelen. Dëst ass de Prinzip, dee benotzt gëtt fir mat seismeschen Daten an der Wolfram Mathematica ze schaffen. Et ass onpassend fir räich Funktionalitéit fir interaktiv Aarbecht mat Daten ze schreiwen - et ass méi wichteg fir d'Luede vun engem allgemeng akzeptéierten Format ze garantéieren, déi gewënschte Algorithmen op hinnen z'applizéieren an se an en externt Format eropzelueden.

No dem proposéierte Schema lueden mir déi ursprénglech seismesch Donnéeën a weisen se an 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]

D'Daten, déi op dës Manéier erofgelueden an importéiert sinn, sinn d'Strecken, déi op engem Gebitt vun 10x5 Kilometer opgeholl goufen. Wann d'Daten mat enger dreidimensionaler seismescher Ëmfromethod kritt ginn (Wellen ginn net laanscht eenzel geophysikalesch Profiler opgeholl, mee iwwer de ganze Gebitt gläichzäiteg), gëtt et méiglech, seismesch Datewierfelen ze kréien. Dëst sinn dräi-zweedimensional Objete, vertikal an horizontal Rubriken vun deenen erlaben eng detailléiert Etude vun der geologesch Ëmwelt. Am betruecht Beispill hu mir mat dreidimensionalen Donnéeën ze dinn. Mir kënnen e puer Informatiounen aus dem Text Header kréien, wéi dëst

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

C 1 DAT ASS DEMO FILE FIR GEOLOGYIO PACKAGE TEST
C 2
C 3
C 4
C 5 DATUM BENOTZERNUMM: WOLFRAM BENOTZER
C 6 Ëmfro Numm: Irgendwou an Sibirien
C 7 FILE TYPE 3D SEISMIC VOLUME
C 8
C 9
C10 Z RANGE: Éischt 2200M LESCHT 2400M

Dësen Dateset wäert genuch sinn fir eis d'Haaptstadien vun der Datenanalyse ze demonstréieren. D'Spure an der Datei ginn sequenziell opgeholl a jidderee vun hinnen gesäit eppes aus wéi déi folgend Figur - dat ass d'Verdeelung vun den Amplituden vu reflektéierte Wellen op der vertikaler Achs (Déiftachs).

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]

Ee vun de seismesche Sektiounsspuren
Wolfram Mathematica in Geophysics

Wësse wéivill Spuren an all Richtung vum studéierte Gebitt lokaliséiert sinn, kënnt Dir en dreidimensionalen Datearray generéieren an se mat der Image3D[] Funktioun weisen.

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

XNUMXD Bild vun engem seismesche Datekubus. (Vertikal Achs - Déift)
Wolfram Mathematica in Geophysics

Wann d'geologesch Fonctiounen vun Interesse intensiv seismesch Anomalie erstellen, da kënne Visualiséierungsinstrumenter mat Transparenz benotzt ginn. "Onwichteg" Gebidder vun der Opnam kënnen onsichtbar gemaach ginn, sou datt nëmmen Anomalien siichtbar sinn. An Wolfram Mathematica kann dëst gemaach ginn mat Opazitéit[] и 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]

Seismesch Datenwürfelbild mat Opazitéit [] a Raster3D [] Funktiounen Wolfram Mathematica in Geophysics

Wéi am syntheteschen Beispill kënnen e puer geologesch Grenzen (Schichten) mat variabelen Relief op de Sektiounen vum urspréngleche Kubus identifizéiert ginn.

D'Haaptinstrument fir Spektralanalyse ass de Fourier Transform. Mat senger Hëllef kënnt Dir den Amplitude-Frequenz Spektrum vun all Spuer oder Grupp vu Spuren evaluéieren. Wéi och ëmmer, nodeems d'Donnéeën an d'Frequenzdomain transferéiert goufen, gëtt Informatioun verluer iwwer zu wéi enger Zäit (liest a wéi enger Déift) d'Frequenz ännert. Fir Signalverännerungen op der Zäit- (Déift) Achs ze lokaliséieren, ginn d'Fënstere Fourier-Transformatioun a Wavelet-Zersetzung benotzt. Dësen Artikel benotzt Wavelet Zersetzung. Wavelet Analyse Technologie huet ugefaang aktiv an der seismescher Exploratioun an den 90er Joren benotzt ze ginn. De Virdeel iwwer de windowed Fourier-Transformatioun gëtt als besser Zäitopléisung ugesinn.

Mat dem folgenden Codefragment kënnt Dir ee vun de seismesche Spuren an eenzel Komponenten ofsetzen:

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]

Zersetzung vun enger Spuer a Komponenten
Wolfram Mathematica in Geophysics

Fir ze bewäerten wéi d'Reflexiounsenergie bei verschiddene Wellenankunftszäiten verdeelt gëtt, gi Scalogramme (analog zu engem Spektrogramm) benotzt. Als Regel, an der Praxis ass et net néideg all Komponente ze analyséieren. Typesch, niddereg, Mëtt an héich Frequenz Komponente sinn ausgewielt.

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]

Scalogramm. Funktioun Resultat WaveletScalogram[]
Wolfram Mathematica in Geophysics

D'Wolfram Sprooch benotzt d'Funktioun fir Wavelet Transformatioun ContinuousWaveletTransform[]. An d'Applikatioun vun dëser Funktioun op de ganze Set vu Spuren gëtt mat der Funktioun duerchgefouert Dësch []. Hei ass et derwäert opgeschriwwen ee vun de Stäerkten vun Wolfram Mathematica - d'Fähegkeet parallelization ze benotzen Paralleltabelle[]. Am uewe genannte Beispill ass et net néideg fir Paralleliséierung - de Volume vun den Donnéeën ass net grouss, awer wann Dir mat experimentellen Datesets schafft, déi Honnerte vun Dausende vu Spuren enthalen, ass dat eng Noutwennegkeet.

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

No der Uwendung vun der Funktioun ContinuousWaveletTransform[] Nei Datesets erschéngen entspriechend de gewielte Frequenzen. Am Beispill hei uewen sinn dës Frequenzen: 38Hz, 33Hz, 27Hz. D'Wiel vun de Frequenzen gëtt meeschtens op Basis vun Tester duerchgefouert - si kréien effektiv Kaarten fir verschidde Frequenzkombinatiounen a wielt déi informativst aus der Siicht vun engem Geolog.

Wann Dir d'Resultater mat Kollegen deele musst oder se dem Client ubidden, kënnt Dir d'SEGYExport[] Funktioun vum GeologyIO Package benotzen

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

Mat dräi vun dëse Cubes (Niddereg-Frequenz, Mëtt-Frequenz, an Héich-Frequenz Komponente), RGB Mëschung gëtt typesch benotzt fir d'Daten zesummen ze visualiséieren. All Komponent gëtt seng eege Faarf zougewisen - rout, gréng, blo. An Wolfram Mathematica kann dëst mat der Funktioun gemaach ginn Faarfkombinéieren[].

D'Resultat ass Biller aus deenen eng geologesch Interpretatioun ka gemaach ginn. D'Meanderen, déi op der Sektioun opgeholl ginn, maachen et méiglech Paleokanale ze delineéieren, déi méi wahrscheinlech Reservoir sinn an Uelegreserven enthalen. D'Sich an d'Analyse vun modernen Analoga vun esou engem Flosssystem erlaabt eis déi villverspriechendst Deeler vun de Meander ze bestëmmen. D'Kanäl selwer zeechent sech duerch décke Schichten vu gutt zortéierte Sandsteen a sinn e gudde Reservoir fir Ueleg. Gebidder ausserhalb vun de "Spëtze" Anomalien sinn ähnlech wéi modern Iwwerschwemmungsdepositioune. Iwwerschwemmungsdepositioune sinn haaptsächlech duerch clayey Fielsen duergestallt an Bueraarbechten an dës Zonen wäert net effikass ginn.

RGB Slice vum Datekubus. Am Zentrum (liicht lénks vun der Mëtt) kënnt Dir de meanderende Floss verfollegen.
Wolfram Mathematica in Geophysics
RGB Slice vum Datekubus. Op der lénker Säit kënnt Dir de meanderende Floss verfollegen.
Wolfram Mathematica in Geophysics

A verschiddene Fäll erlaabt d'Qualitéit vun de seismesche Donnéeën däitlech méi kloer Biller. Dëst hänkt vun der Feldaarbechtsmethodologie of, der Ausrüstung déi vum Geräischerreduktiounsalgorithmus benotzt gëtt. An esou Fäll sinn net nëmme Fragmenter vu Flosssystemer ze gesinn, awer och ganz verlängert Paleo-Flëss.

RGB Vermëschung vun dräi Komponente vun engem seismesche Datekubus (horizontal Slice). Déift ongeféier 2 km.
Wolfram Mathematica in Geophysics
Satellitebild vum Wolga River bei Saratov
Wolfram Mathematica in Geophysics

Konklusioun

Wolfram Mathematica erlaabt Iech seismesch Donnéeën ze analyséieren an applizéiert Problemer am Zesummenhang mat der Mineralfuerschung ze léisen, an de GeologyIO Package mécht dëse Prozess méi bequem. D'Struktur vu seismesche Donnéeën ass sou datt d'Benotzung vu agebaute Methoden fir d'Berechnungen ze beschleunegen (Paralleltabelle[], ParallelDo[],...) ass ganz effizient an erlaabt Iech grouss Quantitéiten un Daten ze veraarbecht. Zu engem groussen Deel gëtt dëst duerch d'Datespeicherfunktioune vum GeologyIO Package erliichtert. Iwwregens, kann de Pak benotzt ginn net nëmmen am Beräich vun applizéiert seismesch Exploratioun. Bal déiselwecht Aarte vun Date ginn an de Buedempenetréierende Radar a Seismologie benotzt. Wann Dir Suggestioune hutt fir d'Resultat ze verbesseren, wéi eng Signalanalysealgorithmen aus dem Wolfram Mathematica Arsenal op esou Donnéeën applicabel sinn, oder wann Dir kritesch Kommentarer hutt, w.e.g. loosst e Kommentar.

Source: will.com

Setzt e Commentaire