Геофизикадағы Wolfram Mathematica

Блог авторына рахмет Антон Екименко баяндамасы үшін

Кіріспе

Бұл жазба конференцияның қарсаңында жазылған Вольфрам атындағы ресейлік технологиялық конференция мен берген есептің қысқаша мазмұнын қамтиды. Оқиға маусым айында Санкт-Петербургте болған. Конференция сайтынан бір блок жұмыс істейтінімді ескерсек, мен бұл шараға қатыспау мүмкін емес еді. 2016 және 2017 жылдары конференция баяндамаларын тыңдасам, биыл баяндама жасадым. Біріншіден, біз әзірлеп жатқан қызықты (менің ойымша) тақырып пайда болды Кирилл Белов, екіншіден, Ресей Федерациясының санкциялық саясатқа қатысты заңнамасын ұзақ зерттегеннен кейін мен жұмыс істейтін кәсіпорында екі лицензия пайда болды. Wolfram Mathematica.

Сөзімнің тақырыбына көшпес бұрын шараның жақсы ұйымдастырылғанын атап өткім келеді. Конференцияның кіру бетінде Қазан соборының суреті пайдаланылады. Собор Санкт-Петербургтің басты көрікті жерлерінің бірі болып табылады және конференция өткен залдан өте анық көрінеді.

Геофизикадағы Wolfram Mathematica

Санкт-Петербург мемлекеттік экономикалық университетіне кіре берісте қатысушыларды студенттер арасынан көмекшілер күтіп алды - олардың адасып кетуіне жол бермеді. Тіркеу кезінде кішігірім кәдесыйлар (ойыншық – жыпылықтайтын масақ, қалам, Вольфрам таңбалары бар стикерлер) таратылды. Конференция кестесіне түскі ас пен кофе-брейктер де енгізілді. Мен топтың қабырғасында дәмді кофе мен пирогтар туралы атап өттім - аспаздар керемет. Осы кіріспе бөлімде мен оқиғаның өзі, оның форматы мен орны қазірдің өзінде жағымды эмоциялар әкелетінін атап өткім келеді.

Мен және Кирилл Белов дайындаған баяндама «Қолданбалы геофизика есептерін шешу үшін Вольфрам математикасын пайдалану. Сейсмикалық деректердің спектрлік талдауы немесе «ежелгі өзендердің ағып жатқан жері». Есептің мазмұны екі бөлімді қамтиды: біріншіден, қол жетімді алгоритмдерді пайдалану Wolfram Mathematica геофизикалық деректерді талдау үшін, екіншіден, геофизикалық деректерді Wolfram Mathematica-ға қалай енгізу керек.

Сейсмикалық барлау

Алдымен геофизикаға қысқаша экскурсия жасау керек. Геофизика – тау жыныстарының физикалық қасиеттерін зерттейтін ғылым. Жарайды, тау жыныстары әртүрлі қасиеттерге ие болғандықтан: электрлік, магниттік, серпімділік, геофизиканың сәйкес әдістері бар: электр барлау, магниттік барлау, сейсмикалық барлау... Бұл мақаланың аясында біз тек сейсмикалық барлауды толығырақ қарастырамыз. Сейсмикалық барлау – мұнай мен газды іздеудің негізгі әдісі. Әдіс серпімді тербелістерді қоздыру және зерттеу аймағын құрайтын тау жыныстарының реакциясын кейіннен тіркеуге негізделген. Тербеліс құрлықта (динамит немесе серпімді тербелістердің жарылғыш емес тербеліс көздерімен) немесе теңізде (пневматикалық қарумен) қозғалады. Серпімді тербелістер жыныс массасы арқылы таралады, әртүрлі қасиеттері бар қабаттар шекарасында сыну және шағылысу. Шағылысқан толқындар жер бетіне қайта оралып, жердегі геофондармен (әдетте катушкада ілінген магниттің қозғалысына негізделген электродинамикалық құрылғылар) немесе теңіздегі гидрофондармен (пьезоэлектрлік эффект негізінде) жазылады. Толқындардың келуіне қарай геологиялық қабаттардың тереңдігін анықтауға болады.

Сейсмикалық кемелерді сүйреу жабдығы
Геофизикадағы Wolfram Mathematica

Пневматикалық пистолет серпімді тербелістерді қоздырады
Геофизикадағы Wolfram Mathematica

Толқындар тау жыныстары арқылы өтеді және гидрофондар арқылы жазылады
Геофизикадағы Wolfram Mathematica

Санкт-Петербургтегі Благовещенский көпірінің жанындағы пирстегі «Иван Губкин» геофизикалық барлау ғылыми-зерттеу кемесі
Геофизикадағы Wolfram Mathematica

Сейсмикалық сигнал моделі

Тау жыныстары әртүрлі физикалық қасиеттерге ие. Сейсмикалық барлау үшін ең алдымен серпімді қасиеттер маңызды - серпімді тербелістер мен тығыздықтың таралу жылдамдығы. Егер екі қабат бірдей немесе ұқсас қасиеттерге ие болса, онда толқын олардың арасындағы шекараны «байқамайды». Егер қабаттардағы толқын жылдамдығы әр түрлі болса, онда қабаттардың шекарасында шағылысу пайда болады. Қасиеттердің айырмашылығы неғұрлым көп болса, шағылысу соғұрлым қарқынды болады. Оның қарқындылығы шағылысу коэффициентімен (rc) анықталады:

Геофизикадағы Wolfram Mathematica

мұндағы ρ – тау жыныстарының тығыздығы, ν – толқын жылдамдығы, 1 және 2 – жоғарғы және төменгі қабаттарды көрсетеді.

Қарапайым және жиі қолданылатын сейсмикалық сигнал үлгілерінің бірі сейсмикалық із зондты импульспен шағылысу коэффициенттерінің тізбегінің конвульсиясының нәтижесі ретінде берілген кездегі конволюция моделі болып табылады:

Геофизикадағы Wolfram Mathematica

мұндағы s(t) — сейсмикалық із, яғни. белгіленген жазу уақытында гидрофон немесе геофон арқылы жазылғанның бәрі, w(t) - пневматикалық зеңбірек шығаратын сигнал, n(t) - кездейсоқ шу.

Мысал ретінде синтетикалық сейсмикалық ізді есептейік. Біз бастапқы сигнал ретінде сейсмикалық барлауда кеңінен қолданылатын Рикер импульсін қолданамыз.

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]

Бастапқы сейсмикалық импульс
Геофизикадағы Wolfram Mathematica

Біз 300 мс және 600 мс тереңдікте екі шекараны белгілейміз, ал шағылысу коэффициенттері кездейсоқ сандар болады

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

Шағылысу коэффициенттерінің реттілігі
Геофизикадағы Wolfram Mathematica

Сейсмикалық ізді есептеп, көрсетейік. Шағылу коэффициенттері әртүрлі белгілерге ие болғандықтан, сейсмикалық ізде екі ауыспалы шағылуды аламыз.

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

Имитациялық трек
Геофизикадағы Wolfram Mathematica

Бұл мысал үшін ескертпе жасау қажет - шын мәнінде қабаттардың тереңдігі, әрине, метрмен анықталады, ал сейсмикалық ізді есептеу уақыттық домен үшін орын алады. Тереңдіктерді метрмен белгілеп, қабаттардағы жылдамдықтарды біле отырып, келу уақытын есептеген дұрысырақ болар еді. Бұл жағдайда мен бірден уақыт осіне қабаттарды орнатамын.

Егер далалық зерттеулер туралы айтатын болсақ, онда мұндай бақылаулар нәтижесінде көптеген ұқсас уақыттық қатарлар (сейсмикалық іздер) тіркеледі. Мысалы, ұзындығы 25 км және ені 15 км учаскені зерттегенде, жұмыс нәтижесінде әрбір із 25х25 метр өлшемді ұяшықты сипаттайды (мұндай ұяшықты бунка деп атайды), соңғы деректер массивінде 600000 1 із болады. Сынама алу уақыты 5 мс және жазу уақыты 11 секунд болса, соңғы деректер файлы XNUMX ГБ-тан асады, ал бастапқы «шикі» материалдың көлемі жүздеген гигабайтты құрауы мүмкін.

Олармен қалай жұмыс істеу керек Wolfram Mathematica?

Пакет ГеологияIO

Пакетті әзірлеу басталды мәселе орыс тілді қолдау тобының ВК қабырғасында. Қоғамдастықтың жауаптарының арқасында шешім өте тез табылды. Соның нәтижесінде ол күрделі дамуға айналды. Сәйкес Вольфрам қауымдастығының қабырға посты Оны тіпті модераторлар да белгіледі. Қазіргі уақытта пакет геологиялық салада белсенді қолданылатын келесі деректер түрлерімен жұмыс істеуді қолдайды:

  1. ZMAP және IRAP пішіміндегі карта деректерін импорттау
  2. LAS форматындағы ұңғымаларда өлшемдерді импорттау
  3. сейсмикалық файлдар пішімін енгізу және шығару SEGY

Буманы орнату үшін жиналған буманы жүктеу бетіндегі нұсқауларды орындау керек, яғни. кез келгенінде келесі кодты орындаңыз Математика дәптері:

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

Осыдан кейін пакет әдепкі қалтаға орнатылады, оның жолын келесідей алуға болады:

FileNameJoin[{$UserBasePacletsDirectory, "Repository"}]

Мысал ретінде біз пакеттің негізгі мүмкіндіктерін көрсетеміз. Қоңырау дәстүрлі түрде Вольфрам тіліндегі пакеттер үшін жасалады:

Get["GeologyIO`"]

Пакет қолдану арқылы әзірленген Вольфрам жұмыс үстелі. Бұл пакеттің негізгі функционалдығын ұсыну форматы бойынша Wolfram Mathematica құжаттамасынан ерекшеленбейтін құжаттамамен сүйемелдеуге және пакетті алғашқы танысу үшін сынақ файлдарымен қамтамасыз етуге мүмкіндік береді.

Геофизикадағы Wolfram Mathematica

Геофизикадағы Wolfram Mathematica

Мұндай файл, атап айтқанда, «Marmousi.segy» файлы - бұл француз мұнай институты жасаған геологиялық учаскенің синтетикалық үлгісі. Бұл модельді пайдалана отырып, әзірлеушілер толқындық өрісті модельдеуге, деректерді өңдеуге, сейсмикалық ізді инверсияға және т.б. үшін өздерінің алгоритмдерін сынақтан өткізеді. Marmousi үлгісінің өзі пакеттің өзі жүктелген репозиторийде сақталады. Файлды алу үшін келесі кодты іске қосыңыз:

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

Импорт нәтижесі - SEGYData нысаны
Геофизикадағы Wolfram Mathematica

SEGY пішімі бақылаулар туралы әртүрлі ақпаратты сақтауды қамтиды. Біріншіден, бұл мәтіндік түсініктемелер. Бұл жұмыстың орналасқан жері туралы ақпаратты, өлшемдерді орындаған компаниялардың атауларын және т.б. Біздің жағдайда бұл тақырып TextHeader кілті бар сұрау арқылы шақырылады. Міне, қысқартылған мәтін тақырыбы:

Short[marmousi["TextHeader"]]

«Мармуси деректер жинағы институтта жасалды ...ең аз жылдамдығы 1500 м/с және максимум 5500 м/с)»

Сіз «іздер» пернесін пайдаланып сейсмикалық іздерге қол жеткізу арқылы нақты геологиялық модельді көрсете аласыз (пакеттің ерекшеліктерінің бірі - пернелердің регистрді сезінбейтіндігі):

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

Модель Мармуси
Геофизикадағы Wolfram Mathematica

Қазіргі уақытта пакет үлкен файлдардан деректерді бөліктерге жүктеуге мүмкіндік береді, бұл өлшемі ондаған гигабайтқа жетуі мүмкін файлдарды өңдеуге мүмкіндік береді. Бума функцияларына деректерді .segy файлына экспорттау және файлдың соңына ішінара қосу функциялары да кіреді.

.segy файлдарының күрделі құрылымымен жұмыс істеу кезінде пакеттің функционалдығын бөлек атап өткен жөн. Өйткені ол кілттер мен индекстерді пайдаланып жеке жолдар мен тақырыптарға қол жеткізуге ғана емес, сонымен қатар оларды өзгертуге, содан кейін оларды файлға жазуға мүмкіндік береді. GeologyIO-ны іске асырудың көптеген техникалық мәліметтері осы мақаланың аясынан тыс және жеке сипаттамаға лайық болуы мүмкін.

Сейсмикалық барлаудағы спектрлік талдаудың өзектілігі

Wolfram Mathematica бағдарламасына сейсмикалық деректерді импорттау мүмкіндігі эксперименттік деректер үшін кірістірілген сигналды өңдеу функциясын пайдалануға мүмкіндік береді. Әрбір сейсмикалық із уақыттық қатарды білдіретіндіктен, оларды зерттеудің негізгі құралдарының бірі спектрлік талдау болып табылады. Сейсмикалық деректердің жиілік құрамын талдаудың алғышарттары арасында, мысалы, мыналарды атауға болады:

  1. Толқындардың әртүрлі типтері әртүрлі жиілік құрамымен сипатталады. Бұл пайдалы толқындарды бөлектеуге және кедергі толқындарын басуға мүмкіндік береді.
  2. Кеуектілік және қанықтылық сияқты тау жыныстарының қасиеттері жиілік құрамына әсер етуі мүмкін. Бұл ең жақсы қасиеттері бар тау жыныстарын анықтауға мүмкіндік береді.
  3. Әртүрлі қалыңдықтағы қабаттар әртүрлі жиілік диапазонында ауытқуларды тудырады.

Үшінші тармақ осы мақаланың контекстіндегі негізгі болып табылады. Төменде әртүрлі қалыңдықтағы қабат жағдайында сейсмикалық іздерді есептеуге арналған кодтық фрагмент – сына үлгісі берілген. Бұл модель дәстүрлі түрде сейсмикалық барлауда көптеген қабаттардан шағылысқан толқындар бір-біріне салынған кезде кедергі әсерін талдау үшін зерттеледі.

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

Шығынды түзіліс моделі
Геофизикадағы Wolfram Mathematica

Сына ішіндегі толқын жылдамдығы 4500 м/с, сына сыртында 4000 м/с, ал тығыздығы тұрақты 2200 г/см³ деп қабылданады. Мұндай модель үшін біз шағылу коэффициенттерін және сейсмикалық іздерді есептейміз.

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]

Сына үлгісі үшін сейсмикалық іздер
Геофизикадағы Wolfram Mathematica

Бұл суретте көрсетілген сейсмикалық іздердің тізбегі сейсмикалық қима деп аталады. Көріп отырғаныңыздай, оны түсіндіру интуитивті деңгейде де жүзеге асырылуы мүмкін, өйткені шағылысқан толқындардың геометриясы бұрын көрсетілген модельге анық сәйкес келеді. Егер сіз іздерді егжей-тегжейлі талдасаңыз, 1-ден шамамен 30-ға дейінгі іздердің айырмашылығы жоқ екенін байқайсыз - қабаттың төбесінен және төменгі жағынан шағылысу бір-бірін жабады. 31-ші ізден бастап шағылыстар кедергі жасай бастайды. Ал, модельде шағылысу коэффициенттері көлденеңінен өзгермегенімен – сейсмикалық іздер қабат қалыңдығының өзгеруіне қарай өзінің қарқындылығын өзгертеді.

Түзілімнің жоғарғы шекарасынан шағылу амплитудасын қарастырайық. 60-жолдан бастап шағылысу қарқындылығы арта бастайды және 70-ші маршрутта ол максимумға айналады. Қабаттардың төбесінен және түбінен толқындардың интерференциясы осылай көрінеді, кейбір жағдайларда сейсмикалық жазбада елеулі ауытқуларға әкеледі.

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]

Сынаның жоғарғы жиегінен шағылған толқынның амплитудасының графигі
Геофизикадағы Wolfram Mathematica

Сигнал төменгі жиілікте болған кезде кедергі үлкен қабат қалыңдығында пайда бола бастайды, ал жоғары жиілікті сигналда кішірек қалыңдықта кедергі пайда болады. Келесі код үзіндісі 35 Гц, 55 Гц және 85 Гц жиіліктері бар сигнал жасайды.

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]

35 Гц, 55 Гц, 85 Гц жиіліктері бар бастапқы сигналдар жиынтығы
Геофизикадағы Wolfram Mathematica

Сейсмикалық іздерді есептеу және шағылған толқын амплитудаларының графиктерін құру арқылы біз әртүрлі жиіліктер үшін әртүрлі қабат қалыңдығында аномалия байқалатынын көреміз.

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]

Әртүрлі жиіліктер үшін сынаның жоғарғы жиегінен шағылған толқынның амплитудаларының графиктері
Геофизикадағы Wolfram Mathematica

Сейсмикалық бақылаулар нәтижелері бойынша қабаттың қалыңдығы туралы қорытынды жасау мүмкіндігі өте пайдалы, өйткені мұнай барлаудағы негізгі міндеттердің бірі ұңғыма салудың ең перспективалы нүктелерін (яғни, қабат орналасқан учаскелерді) бағалау болып табылады. қалың). Сонымен қатар, геологиялық бөлімде генезисі қабат қалыңдығының күрт өзгеруіне әкелетін объектілер болуы мүмкін. Бұл спектрлік талдауды оларды зерттеудің тиімді құралына айналдырады. Мақаланың келесі бөлімінде біз мұндай геологиялық нысандарды толығырақ қарастырамыз.

Эксперименттік деректер. Сіз оларды қайдан алдыңыз және олардан не іздеу керек?

Мақалада талданған материалдар Батыс Сібірден алынған. Облыс еліміздің негізгі мұнай өндіруші өңірі екенін бәрі біледі. Өңірде кен орындарын белсенді игеру өткен ғасырдың 60-жылдары басталды. Мұнай кен орындарын іздеудің негізгі әдісі сейсмикалық барлау болып табылады. Бұл аумақтың спутниктік суреттерін қарау қызықты. Шағын масштабта көптеген батпақтар мен көлдерді атап өтуге болады, картаны үлкейту арқылы кластерлік ұңғымаларды бұрғылау учаскелерін көруге болады, ал картаны шекке дейін ұлғайту арқылы сейсмикалық әсер ететін профильдердің тазартуларын ажыратуға болады. бақылаулар жүргізілді.

Яндекс карталарының спутниктік суреті - Ноябрьск қаласының ауданы
Геофизикадағы Wolfram Mathematica

Кен орындарының біріндегі ұңғыма алаңдарының желісі
Геофизикадағы Wolfram Mathematica

Батыс Сібірдің мұнайлы жыныстары кең ауқымда – 1 км-ден 5 км-ге дейін кездеседі. Құрамында мұнайы бар тау жыныстарының негізгі көлемі юра және бор дәуірінде қалыптасқан. Юра кезеңі көбіне аттас фильмнен белгілі болса керек. Юра климаты қазіргіден айтарлықтай ерекшеленді. Британ энциклопедиясында әрбір гелогиялық дәуірді сипаттайтын бірқатар палеомаптар бар.

Қазіргі уақытта
Геофизикадағы Wolfram Mathematica
Юра кезеңі
Геофизикадағы Wolfram Mathematica

Назар аударыңыз, юра дәуірінде Батыс Сібірдің аумағы теңіз жағалауы (өзендер кесіп өтетін құрлық және таяз теңіз) болған. Климат қолайлы болғандықтан, сол кездегі типтік ландшафт келесідей болды деп болжауға болады:

Юралық Сібір
Геофизикадағы Wolfram Mathematica

Бұл суретте біз үшін аңдар мен құстар емес, фондағы өзен бейнесі маңызды. Өзен – біз бұрын тоқтаған геологиялық нысан. Өйткені, өзендердің белсенділігі жақсы сұрыпталған құмтастардың жиналуына мүмкіндік береді, олар кейіннен мұнай қоймасына айналады. Бұл су қоймалары таңқаларлық, күрделі пішінге ие болуы мүмкін (өзен арнасы сияқты) және олардың қалыңдығы өзгермелі - жағаларға жақын жерде қалыңдығы аз, бірақ арнаның ортасына жақын немесе меандрлы аймақтарда ол артады. Сонымен, юра дәуірінде пайда болған өзендер қазір шамамен үш шақырым тереңдікте және мұнай қабаттарын іздеу объектісі болып табылады.

Эксперименттік деректер. Өңдеу және визуализация

Мақалада көрсетілген сейсмикалық материалдарға қатысты бірден ескертпе жасайық – талдау үшін пайдаланылған деректер көлемі айтарлықтай болғандықтан – мақала мәтініне сейсмикалық іздердің бастапқы жиынтығының бір бөлігі ғана енгізілген. Бұл кез келген адамға жоғарыдағы есептерді шығаруға мүмкіндік береді.

Сейсмикалық деректермен жұмыс істеу кезінде геофизик әдетте мамандандырылған бағдарламалық қамтамасыз етуді пайдаланады (әзірлеулері белсенді түрде қолданылатын бірнеше сала жетекшілері бар, мысалы, Petrel немесе Paradigm), бұл әртүрлі деректер түрлерін талдауға мүмкіндік береді және ыңғайлы графикалық интерфейсі бар. Барлық ыңғайлылыққа қарамастан, бағдарламалық қамтамасыз етудің бұл түрлерінің де кемшіліктері бар - мысалы, тұрақты нұсқаларда заманауи алгоритмдерді енгізу көп уақытты алады, ал есептеулерді автоматтандыру мүмкіндіктері әдетте шектеулі. Мұндай жағдайда кең алгоритмдік базаны пайдалануға мүмкіндік беретін және сонымен бірге көптеген күнделікті жұмыстарды қабылдайтын компьютерлік математика жүйелері мен жоғары деңгейлі бағдарламалау тілдерін пайдалану өте ыңғайлы болады. Бұл Wolfram Mathematica-да сейсмикалық деректермен жұмыс істеу үшін қолданылатын принцип. Деректермен интерактивті жұмыс істеу үшін бай функционалдылықты жазу орынсыз - жалпы қабылданған пішімнен жүктеуді қамтамасыз ету, оларға қажетті алгоритмдерді қолдану және оларды сыртқы форматқа кері жүктеу маңыздырақ.

Ұсынылған схема бойынша біз бастапқы сейсмикалық деректерді жүктейміз және оларды бейнелейміз 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]

Осы жолмен жүктелген және импортталған деректер 10-нан 5 километрге дейінгі аумақта жазылған маршруттар болып табылады. Егер мәліметтер үш өлшемді сейсмикалық барлау әдісін қолдану арқылы алынса (толқындар жеке геофизикалық профильдер бойынша емес, бүкіл аумақта бір мезгілде тіркеледі), сейсмикалық деректер текшелерін алуға болады. Бұл үш өлшемді объектілер, олардың тік және көлденең қималары геологиялық ортаны егжей-тегжейлі зерттеуге мүмкіндік береді. Қарастырылған мысалда біз үш өлшемді деректермен айналысамыз. Біз мәтіннің тақырыбынан кейбір ақпаратты ала аламыз, мысалы

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

C 1 БҰЛ ГЕОЛОГИЯ ПАКЕТІНІҢ СЫНАҚ ДЕМО ФАЙЛЫ
C 2
C 3
C 4
C 5 КҮН ПАЙДАЛАНУШЫНЫҢ АТЫ: WOLFRAM ПАЙДАЛАНУШЫ
C 6 СУРЕТТІҢ АТЫ: СІБІРДІҢ БІР ЖЕРІ
C 7 ФАЙЛ ТҮРІ 3D СЕЙСМИКАЛЫҚ КӨЛЕМ
C 8
C 9
C10 Z аралығы: БІРІНШІ 2200М СОҢҒЫ 2400М

Бұл деректер жиынтығы деректерді талдаудың негізгі кезеңдерін көрсету үшін жеткілікті болады. Файлдағы іздер дәйекті түрде жазылады және олардың әрқайсысы келесі суретке ұқсайды - бұл тік ось (тереңдік осі) бойынша шағылысқан толқындардың амплитудаларының таралуы.

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]

Сейсмикалық секция іздерінің бірі
Геофизикадағы Wolfram Mathematica

Зерттелетін аумақтың әр бағытында қанша із орналасқанын біле отырып, сіз үш өлшемді деректер массивін жасай аласыз және оны 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]]

Сейсмикалық деректер текшесінің XNUMXD кескіні.(Тік ось – тереңдік)
Геофизикадағы Wolfram Mathematica

Егер қызығушылық тудыратын геологиялық ерекшеліктер қарқынды сейсмикалық ауытқуларды тудырса, мөлдірлігі бар визуализация құралдарын пайдалануға болады. Жазбаның «маңызды емес» аймақтарын көрінбейтін етіп жасауға болады, тек аномалиялар көрінеді. Wolfram Mathematica-да мұны пайдалану арқылы жасауға болады Мөлдірлік[] и 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]

Opacity[] және Raster3D[] функцияларын қолданатын сейсмикалық деректер текше кескіні Геофизикадағы Wolfram Mathematica

Синтетикалық мысалдағыдай, түпнұсқа текшенің бөліктерінде ауыспалы бедері бар кейбір геологиялық шекараларды (қабаттарды) анықтауға болады.

Спектрлік талдаудың негізгі құралы Фурье түрлендіруі болып табылады. Оның көмегімен әрбір іздің немесе іздер тобының амплитудалық-жиілік спектрін бағалауға болады. Дегенмен, деректерді жиілік доменіне тасымалдағаннан кейін жиіліктің қай уақытта (қандай тереңдікте оқылатыны) өзгеретіні туралы ақпарат жоғалады. Уақыт (тереңдік) осінде сигналдың өзгеруін локализациялау мүмкіндігі үшін терезелік Фурье түрлендіруі және толқындық ыдырауы қолданылады. Бұл мақала толқындық декомпозицияны пайдаланады. Толқынды талдау технологиясы 90-жылдары сейсмикалық барлауда белсенді түрде қолданыла бастады. Терезелік Фурье түрлендіруінен артықшылығы уақыттың жақсырақ ажыратымдылығы болып саналады.

Төмендегі код фрагментін пайдалана отырып, сейсмикалық іздердің бірін жеке құрамдас бөліктерге бөлуге болады:

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]

Іздің компоненттерге ыдырауы
Геофизикадағы Wolfram Mathematica

Толқынның әр түрлі келу уақытында шағылысу энергиясының қалай бөлінетінін бағалау үшін скалограммалар (спектрограммаға ұқсас) қолданылады. Әдетте, іс жүзінде барлық компоненттерді талдаудың қажеті жоқ. Әдетте төмен, орташа және жоғары жиілікті құрамдас бөліктер таңдалады.

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]

Скалограмма. Функция нәтижесі WaveletScalogram[]
Геофизикадағы Wolfram Mathematica

Вольфрам тілі толқындық түрлендіру функциясын пайдаланады ContinuousWaveletTransform[]. Және бұл функцияны іздердің барлық жиынына қолдану функцияның көмегімен жүзеге асырылады Кесте[]. Бұл жерде Wolfram Mathematica-ның күшті жақтарының бірі - параллелизацияны қолдану мүмкіндігін атап өткен жөн. Параллель кесте[]. Жоғарыда келтірілген мысалда параллелизацияның қажеті жоқ – деректер көлемі үлкен емес, бірақ жүздеген мың іздер бар эксперименттік деректер жиынымен жұмыс істегенде бұл қажеттілік болып табылады.

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

Функцияны қолданғаннан кейін ContinuousWaveletTransform[] Таңдалған жиіліктерге сәйкес жаңа деректер жинақтары пайда болады. Жоғарыдағы мысалда бұл жиіліктер: 38Гц, 33Гц, 27Гц. Жиіліктерді таңдау көбінесе тестілеу негізінде жүзеге асырылады - олар әртүрлі жиілік комбинациялары үшін тиімді карталарды алады және геологтың көзқарасы бойынша ең ақпараттылығын таңдайды.

Нәтижелерді әріптестермен бөлісу немесе тұтынушыға беру қажет болса, GeologyIO пакетінің SEGYExport[] функциясын пайдалануға болады.

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

Осы текшелердің үшеуімен (төмен жиілікті, орташа жиілікті және жоғары жиілікті құрамдастарды) RGB араластыру әдетте деректерді бірге визуализациялау үшін пайдаланылады. Әрбір компонентке өз түсі тағайындалады - қызыл, жасыл, көк. Wolfram Mathematica-да бұл функцияны пайдалану арқылы жасалуы мүмкін Түстерді біріктіру[].

Нәтиже – геологиялық түсіндіруге болатын суреттер. Секцияда жазылған меандрлар палеоканалдарды бөлуге мүмкіндік береді, оларда мұнай қоры бар қабаттар болуы ықтимал. Мұндай өзен жүйесінің заманауи аналогтарын іздеу және талдау меандрлардың ең перспективалы бөліктерін анықтауға мүмкіндік береді. Арналардың өздері жақсы сұрыпталған құмтастың қалың қабаттарымен сипатталады және мұнай үшін жақсы резервуар болып табылады. «Кружев» аномалиясынан тыс жерлер қазіргі су тасқыны шөгінділеріне ұқсайды. Жайма кен орындары негізінен сазды жыныстармен ұсынылған және бұл аймақтарды бұрғылау тиімсіз болады.

Деректер текшесінің RGB бөлігі. Орталықта (орталықтан сәл солға қарай) ағып жатқан өзенді байқауға болады.
Геофизикадағы Wolfram Mathematica
Деректер текшесінің RGB бөлігі. Сол жақтан ағып жатқан өзенді байқауға болады.
Геофизикадағы Wolfram Mathematica

Кейбір жағдайларда сейсмикалық деректердің сапасы айтарлықтай анық суреттерге мүмкіндік береді. Бұл далалық жұмыстың әдістемесіне, шуды азайту алгоритмі пайдаланатын жабдыққа байланысты. Мұндай жағдайларда өзен жүйелерінің фрагменттері ғана емес, сонымен қатар тұтас палео-өзендер көрінеді.

Сейсмикалық деректер текшесінің үш құрамдас бөлігінің RGB араласуы (көлденең кесінді). Тереңдігі шамамен 2 км.
Геофизикадағы Wolfram Mathematica
Саратов маңындағы Еділ өзенінің спутниктік суреті
Геофизикадағы Wolfram Mathematica

қорытынды

Wolfram Mathematica сейсмикалық деректерді талдауға және пайдалы қазбаларды барлауға қатысты қолданбалы есептерді шешуге мүмкіндік береді, ал GeologyIO пакеті бұл процесті ыңғайлы етеді. Сейсмикалық деректердің құрылымы есептеулерді жылдамдату үшін кірістірілген әдістерді пайдалану (Параллель кесте[], ParallelDo[],…) өте тиімді және үлкен көлемдегі деректерді өңдеуге мүмкіндік береді. Көбінесе бұл GeologyIO пакетінің деректерді сақтау мүмкіндіктерімен жеңілдетілген. Айтпақшы, қаптаманы қолданбалы сейсмикалық барлау саласында ғана емес қолдануға болады. Деректердің бірдей дерлік түрлері жерге енетін радар мен сейсмологияда қолданылады.Егер сізде нәтижені жақсарту бойынша ұсыныстарыңыз болса, Wolfram Mathematica арсеналындағы сигналды талдау алгоритмдері осындай деректерге жарамды немесе сыни пікірлеріңіз болса, өтінеміз. пікір қалдырыңыз.

Ақпарат көзі: www.habr.com

пікір қалдыру