Ранее в статьях мы уже обсудили доступные данные (результаты наземных и спутниковых гравитационных и магнитных измерений, ортофото и космические снимки, цифровые модели рельефа), теоретические подходы и методы обработки (интерферометрия, построение обратных геофизических моделей), обработку данных в ParaView (выделение изоповерхностей) и Blender (высококачественная визуализация и анимация подготовленных в ParaView данных) и даже посмотрели Python Jupyter notebook с вычислениями и визуализацией моделей (включая выделение изоповерхностей средствами библиотеки VTK). Осталось построенные геотермальные изоповерхности конвертировать в формат модели дополненной реальности и получить геотермальную модель в дополненной реальности (AR). Как всегда, модель доступна на GitHub в репозитории ParaView-Blender — в виде исходных STL/PLY файлов и проектов Blender, плюс там же лежат скрипты Google Earth Engine (GEE) для получения композитных снимков Landsat 8 и Sentinel-2 и скрипты для конвертации AR моделей.



AR Модель геотермального резервуара Лахендонг, полуостров Минахаса, Северный Сулавеси, Индонезия Замеры температуры по скважинам обозначены цветными дисками — синим 0-150°C (далеко от резервуара), белым 150-250°C (переходная область вблизи от резервуара), красным 250-350°C (внутри геотермального резервуара).


Вместо введения, или зачем все это нужно


Первое, с чем я столкнулся в геологоразведывательных проектах — все доступные исходные данные не полные и не достоверные, а зачастую, сфальсифицированы или не имеют отношения к делу. Как же это получается? Дело в том, что чаще всего нам доступны косвенные наблюдения, а не прямые наблюдения, и эти данные очень разнородны и требуют привлечения инструментов и специалистов из разных наук. Ниже мы рассмотрим эти проблемы подробнее.


К примеру, мы не можем пробурить скважину до центра Земли и собрать образцы, поэтому приходится придумывать другие способы исследования — скажем, регистрировать волны мощных землетрясений и прочих геологических событий в разных местах планеты и сопоставлять, пытаясь определить, прошла ли волна напрямую (по хорде) через толщу земли или отклонилась, как волна замедлилась и так далее. В результате, когда была пробурена Кольская сверхглубокая скважина, вся наша устоявшаяся геологическая картина оказалась ошибочной — неведомым образом температуры в глубине вдвое выше ожидаемых (к потоку тепла из глубинных слоев еще столько же добавляется в результате нагрева от радиоктивного распада), породы не плотные, а очень трещиноватые и заполненные водой (притом, на поверхности начали бурить сплошной и прочный Балтийский щит возрастом миллиарды лет), отсутствует ожидаемый переход между гранитами и базальтами на глубине около 7км (этот переход отлично виден на сейсмограммах и не было сомнений в его существовании),… При этом, образцы пород (керн) удавалось получить в виде грязи или пыли, в зависимости от влагонасыщенности пород (то есть даже простое, на первый взгляд, измерение плотности пород задача весьма непростая). Почему я говорю именно про эту скважину? Потому, что это проект мирового масштаба и призванный (в свое время) показать всю силу советской науки, то есть выполнялся на "высшем уровне", в то время как результаты коммерческого бурения очень далеки от него по качеству сбора образцов и их анализа, и все подробности и неточности сбора и обработки данных не регистрируются.


Про фальсификации это отдельная увлекательная история. Помнится, я очень удивился, когда узнал о существовании геологов-детективов, которые ищут полезные ископаемые… в архивах. В частности, в США по закону необходимо сдавать геологические отчеты в правительственный архив, и государство очень не любит там фальсификаций, хотя просто ошибки, конечно, простительны. Так вот, не редки случаи, когда при бурении, скажем, на нефть, вопреки всем ожиданиям, скважина оказывается сухой. В этом случае отчет сдается в архив и геологи выбирают место для новой скважины. Но далеко не всегда такая скважина действительно сухая! Если геолог или буровики допустили ошибку и пробили нефтеносный горизонт, они могут отчитаться о пустой скважине и избежать обвинений и ответственности за потерю скважины. В таком случае, скважина попадает в общедоступную базу данных как сухая и рядом обычно скважины никто не бурит. А вот в сданных в архив геологических отчетах можно найти правду или ее часть и восстановить истинную ситуацию, а потенциал погубленной скважины может оказаться превосходным. Такие находки потом продаются нефтедобытчикам — нужно лишь пробурить новую скважину с практически гарантированным результатом, притом, что земля с пустой скважиной стоит дешевле, чем с действующими или поблизости от них.


Еще есть совпадения и ошибки интерпретации. Поскольку геологоразведка состоит из многих этапов (и никогда не заканчивается), зачастую интерпретацию данных каждого этапа используют на последующих без пересмотра и анализа всех собранных данных совместно. Рассмотрим на примере нефтяного участка в России, уже зарегистрированного с отличным ресурсным потенциалом (извлекаемыми запасами нефти). Дело было примерно так: разведка, как полагается, началась весной, пара пробуренных скважин оказались рабочими и показали отличное давление нефтяного пласта. Геологи проанализировали данные сейсмики и бурения и нарисовали модель мощной нефтяной линзы, посчитали извлекаемый объем (много!), с этими результатами зарегистрировали месторождение и участок был продан компании, занимающейся добычей нефти. Но вскоре что-то пошло не так и давление в скважинах упало. Не беда, главное, это отличное новое месторождение. У скважин попробовали менять режим работы, возможно, попробовали еще немного пробурить и так далее — и на следующую весну они снова фонтанировали нефтью. Все бы хорошо, но через пару месяцев давление снова упало… Проверка всех данных показала, что найденный "нефтяной пласт" не был проанализирован и оказался водным (что, кстати, подсказывал рельеф местности и водотоки), а нефть (более легкая, чем вода) находилась лишь в тонкой прослойке, и мало того, хорошее давление в пласте создавалось лишь весной за счет грунтовых вод (достаточно сравнить подъем поверхности по данным спутниковой интерферометрии, совпадающий с периодами высокого давления в скважинах). Почему не пробурили саму потенциальную нефтяную линзу для проверки? Все просто — ее центр находится за пределами данного участка и принадлежит другому владельцу, так что там бурить не было возможности. Что ж, бывает, именно поэтому многие компании, занимающиеся разведкой полезных ископаемых, не занимаются их промышленной добычей.


Хотел еще про золото на примерах рассказать, но как-то много получается, так что как-нибудь в другой раз. Вкратце — для поиска золота (и не только для него) может потребоваться восстанавливать древний рельеф (палеорельеф) и водотоки, изучать пути переноса и тогда, может быть, удастся построить карту расположения как россыпного, так и коренного (рудного) золота. Первое намного легче найти — из названия понятно, что оно как бы рассыпано на поверхности… или под ней, образуется при разрушении (выветривании, размытии) выходов коренных месторождений на поверхность и постепенно вымываются оттуда (древние водотоки, помните) и накапливаются где-то в низинах (вот почему важен палеорельеф). Второе найти намного сложнее, так как выходы на поверхность могут быть точечными и неведомо где расположенными вдали от россыпного золота, зато и золота там больше. Для тех, кто не хочет рисковать, но хочет манить — есть довольно беспроигрышный вариант с повторной добычей на выбранных в прошлые века россыпных месторождениях, так как с современной техникой там еще можно добыть золота… а в свободное время погулять вокруг, присмотреться, можно и коренное найти (примерно этим там геолог и занимается в свободное от текущих задач время, конечно, ходит не просто так, но походить придется). При этом приходится сталкиваться с так называемыми ураганными пробами (специалистам по данным известны как outliers), которые правдивы технически (в самом деле, в отдельной низинке может лежать горсть самородков) но совершенно не информативны в целом (вся территория гарантированно не будет покрыта слоем самородков!). А еще геолог, как правило, вовсе не стремится делать бесполезную работу и будет брать пробы там, где, по его мнению, есть надежда найти золото и игнорировать всю ту территорию, которую считает бесперспективной — таким образом, подавляющая часть территории окажется вовсе не проанализированной, так что выборка получается очень смещенной.


Наконец, очень много допускается просто ошибок — при конвертировании данных из разных систем координат, при копировании между разными документами и, особенно, при оцифровке бумажных отчетов (в том числе потому, что там часто просто не удается разобрать написанного, а перенести надо всю информацию, хоть как-нибудь и без отметок о достоверности полученного пересказа). Классическая проблема — нулевые координаты скважин (0,0), географически это дно океана около Африки и совпадающие ширина и долгота (зная координаты участка, легко определить, что именно напутано, вопрос лишь, где взять недостающую координату).


Таким образом, из вышесказаного становится ясно, что никаким данным априори доверять нельзя, а нужно все проверять и сопоставлять, а при получении геологического результата снова перепроверять те данные, которые к нему привели. Именно поэтому нейросети и прочие недетерминированные методы применяются, в основном, для прикидки — как правило, это далеко не лучшая идея засунуть в "черный ящик" мусорные данные ("мусор на входе — мусор на выходе"). Спасают во всем этом калейдоскопе методы анализа и очистки данных (data science) и качественная визуализация, которой никогда не бывает много -на ней геолог видит намного больше, чем специалист по данным, который эту визуализацию и сделал. Вряд ли нам удастся выбрать идеальный ракурс для статичной модели с точки зрения геолога (притом, как вы уже догадались, три геолога попросят три разных ракурса). Возможности дополненой или виртуальной реальности позволяют легко и быстро масштабировать и перемещать модель, просматривать с любый ракурсов и делать скриншоты для их сверки с данными — получается виртуальное геологическое исследование. Все это в общем-то понятно и очевидно, а действительно актуальным стало лишь с появлением широко распространенных стандартов, поддерживаемых во множестве смартфонов, которые сегодня есть почти у всех.


Технические подробности


Как говорится, все развивается по спирали, и с технологией виртуальной реальности с моделями формата VRML я столкнулся полтора десятка лет назад. Увы, это было практически бесполезно, поскольку ресурсов обычного десктопного компьютера не хватало на комфортную работу с моделью, а через несколько минут вынужденно медленного просмотра приходилось перезапускать программу просмотра, поскольку она выходила за пределы доступной оперативной памяти и дальнейшая работа становилась невозможной. Это уж не говоря о необходимости ставить какой-то сомнительный софт для просмотра таких моделей, причем программ просмотрщиков было много и они были несовместимы между собой… Сегодня многое изменилось — каждый более-менее современный MacOS компьютер и iOS/iPadOS устройство имеют поддержку просмотра моделей дополненной реальности, причем это очень удобно делать именно с мобильного устройства, которое при этом даже не грееется на ощупь и позволяет очень плавно и со всех сторон осматривать модель и с ней взаимодействовать (масштабировать, перемещать, вращать). Также возможно добавлять в модели различные триггеры событий и ссылки на веб-адреса, делать анимации и так далее. Все это и послужило причиной, почему я, после обновения на MacOS Catalina (мне и с предыдущей хорошо было, так что обычно я жду года после выхода, прежде чем обновляться на новую, уже стабильную систему) решил попробовать сделать такую модель в дополненной реальности. Чтобы упростить себе задачу, начал со статической модели, вдобавок, которая у меня уже готова в виде проекта Blender.


Apple предлагает набор средств разработки AR Creation Tools, из которых мне пока потребовался только консольный Python модуль USDZ Tools, а рекомендуемый Reality Composer потребовал установки среды разработки XCode (внимание: сразу после инсталляции занимает 30ГБ места на диске) и еще не пригодился. Отдельно устанавливаемый Reality Convertor умеет шуметь вентилятором и делает то же самое, что и Python модуль, а еще в нем можно красивый скриншот модели сделать (смотрите картинку в начале статьи).


Смотрите на GitHub модель и инструкции для переноса данных из ParaView в Blender и в AR модель (или сделанных с помощью библиотеки VTK в Jupyter notebook, как описано в моей предыдущей статье): ParaView-Blender В поддиректории "export" кратко приведены подробности переноса и подготовки данных. Сами исходные данные модели и проект Blender доступны в поддиректории "Minahasa". Там же доступны "сырые" данные в виде скриптов Google Earth Engine (GEE), GeoJSON, TIFF, NetCDF файлов обратной геофизической модели для исходного проекта ParaView. Вот как выглядит нужный нам резервуар:



Рендеринг из проекта Blender на GitHub — для AR упростим проект


Формат экспорта gITF 2.0 позволяет разом перенести множество объектов из Blender, команда конвертации приведена на гитхабе по ссылке выше. При этом, необходимые текстуры требуется предварительно подготавливать и сохранять в отдельные файлы с помощью их "прожига" (Bake). Для переноса в формат модели AR пришлось обойтись диффузным шейдером и "прожигом" (Bake) только диффузного света согласно цветам узлов модели как показано ниже:



Проект Blender с готовой для экспорта в AR моделью — за основу взят проект из репозитория ParaView-Blender


Также есть интересный нюанс с незамкнутыми поверхностями, например, с рельефом в рассматриваемой модели — для отображения приходится дублировать поверхность с инвертированными нормалями, тогда все выглядит как требуется.


Заключение


Что же мы получили в итоге? На полученной модели резервуар выделен по данным решения обратной геофизической модели независимо от проб температур по скважинам. Здесь стало явно видно, почему часть скважин холодные, а другие горячие, хотя все они расположены очень близко. В обычной 3D модели очень сложно все это показать, поскольку форма резервуара сложная, а если ее упростить для визуализации — потеряется весь смысл модели. Для упрощения, здесь мы удалили поверхность, отображающую переходную зону, в нее попадают «белые» пробы температур по скважинам. Можно ее добавить, ценой соответствующего увеличения размера файла (зачастую размер моделей составляет 50-100МБ), равно как добавить и другие данные.


Получилось много текста, и даже без формул, что для меня несколько странно. В связи с приближением полевого сезона, коллега геолог занят золотыми месторождениями в Сибири и мой текст еще не проверял, поэтому возможны ошибки в геологических терминах, буду благодарен читателям за сообщения об этом. Стоит ли продолжать тематику и о чем рассказать? Мне кажется, мы уже кратко рассмотрели полный цикл работы — от подготовки данных и теории до программирования и визуализации моделей, теперь можно о чем-то подробнее поговорить, если будет интерес. Может быть, вы хотите видеть больше готовых моделей? Часть наших моделей уже доступны на YouTube канале, возможно, дальше будем параллельно выкладывать AR модели. Конечно, рабочих участков здесь нет, все эти модели сделаны для апробации технологии и территорий — хоть это и трудоемко, но стоит того, на наш взгляд. Подробнее и чаще мы публикуемся на LinkedIn для открытого обсуждения — там можно модель по любой территории обсудить с геологами, работавшими в данной местности, попросить у сообщества геологические карты или другие данные и так далее.