Закревский К. Е.
Практикум по геологическому 3D моделированию. Построение тестовой модели в Petrel 2009
К. Е. Закревс...
54 downloads
1278 Views
31MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Закревский К. Е.
Практикум по геологическому 3D моделированию. Построение тестовой модели в Petrel 2009
К. Е. Закревский
ПР А КТИК У М по геологическому 3D моделированию Построение тестовой модели в Petrel 2009
Москва 2010
УДК 553.9:551.252 ББК 26.343 З20
Консультанты – А.В. Пузин, О.Ю. Зайцев, С.А. Тятюшкин (Schlumberger).
Закревский К.Е. Практикум по геологическому 3D моделированию. Построение тестовой модели в З20 Petrel 2009. – М., 2010. – 110 с. ISBN 978-5-98422-099-6 На примере тестового проекта, подготовленного на основе геолого-геофизической информации типичного российского месторождения, рассмотрены вопросы технологии построения трехмерных компьютерных геологических моделей продуктивных пластов в программном комплексе Petrel 2009 (Schlumberger). В процессе работы рассматриваются наиболее распространенные методики построения моделей и использования программного комплекса, позволяющие познакомиться со спектром возможностей программы по анализу, визуализации и использованию геологогеофизической информации. Для молодых специалистов проектных и сервисных организаций, занимающихся построением геологических моделей нефтяных и нефтегазовых месторождений, а также для студентов и выпускников высших учебных заведений нефтегазовых и геологических специальностей. УДК 553.9:551.252 ББК 26.343
ISBN 978-5-98422-099-6 © К.Е. Закревский, 2010
Содержание 1. Загрузка и подготовка данных
1-1
2. Корреляция
2-1
3. Геометризация залежей
3-1
4. Построение каркаса и ВНК
4-1
5. Осреднение скважинных данных на сетку
5-1
6. Построение куба литологии
6-1
7. Построение куба пористости
7-1
8. Построение куба нефтенасыщенности
8-1
9. Подсчет запасов
9-1
10. Менеджер задач
10-1
11. Двумерное картопостроение
11-1
12. Картооформление
12-1
1. Загрузка и подготовка данных Загрузку
данных
начнем с импорта исходных файлов из папки INPUT. Для этого необходимо выполнить команду
Импорт
(рис.1.1.).
Все
файлов исходные
данные лежат в подпапках папки INPUT. Вначале зайдем в папку Заголовок скважины (Well Head) и загрузим текстовый файл
описания
устьев
скважин «new well head» (рис.1.2.), указав тип файла «Well heads». Укажем колонок
номера
(рис.1.3.):
скважины
–
1,
имя символ
скважины – 2, координаты устья - 3 и 4, альтитуда – 5, глубина забоя – 6. Они соответствуют номерам столбцов в файле описания устьев скважин. После закладке
загрузки
исходных
в
данных
Input должна появиться папка скважин
(рис.1.3.),
где
разведочные скважины имеют одинаковые символы. Также одинаковые
символы
эксплуатационных
у
скважин
одного куста.
1-1
Для
загрузки
данных инклинометрии зайдем в папку INCL и выберем
сразу
все
скважины,
указав
тип
файла
«well
path/deviation». Программа
(рис.1.4.),
выдаст
таблицу
соответствия
имен
скважин и имен файлов инклинометрии. Просмотрев всю таблицу, можно убедиться в их идентичности. При необходимости можно поменять соответствие файлов, если в названии скважин или файлов инклинометрии допущены ошибки. Хотя в файлах инклинометрии содержатся, в том числе, и данные по углам и азимутам с уже введенным магнитным склонением, предпочтительнее грузить инклинометрию через позиционный каротаж (MD, X, Y, Z). Это позволяет избежать расхождений в траекториях стволов скважин, вызванных различиями в алгоритмах расчета траекторий в используемой программе и, например, в программе, применяемой маркшейдерской службой. Укажем номера колонок: измеренная глубина MD – 1, X – 2, Y - 3, Z – 4. Для
загрузки
стратиграфических разбивок (рис.1.5.) по разведочным скважинам, откроем в папке Well Tops R файл «Well tops», указав тип файла «Petrel well tops». Укажем номера колонок: имя скважины (well) – 1, тип отбивки (type) – 2,
1-2
имя кровли пласта (surface) – 3, X – 4, Y - 5, Z – 6, измеренная глубина MD – 7. Остальные колонки справа от седьмой, если необходимо, просто выделим и удалим. Укажем число строк заголовка файла – 1. Затем, когда программа сообщит (рис.1.6.), что она привяжет разбивки согласно измеренной глубине и инклинометрии, согласимся и получим (рис.1.5.) в исходных данных папку Well tops.
Если бы измеренной глубины у нас не было, то программа рассчитала бы ее для каждой разбивки, определив для нее ближайшую точку на траектории скважины. Следующим шагом загрузим каротажи из папки LAS, указав тип файла «well logs (ASCII)». Проверив соответствие имен скважин и файлов, сначала на примере первой скважины укажем программе, какие данные мы загружаем с помощью опции «Specify logs to be loaded» (рис.1.7). Для этого в раскрывшейся таблице определим для каждого каротажа тип измерений, который в Petrel задается шаблоном (Template). Список шаблонов отсортирован в алфавитном порядке, поэтому для быстрого поиска удобно нажимать на клавиатуре первую букву искомого шаблона. Кривую глубины
1-3
DEPT привяжем к шаблону измеренных глубин Measured depth, кривую бокового каротажа BK – к шаблону сопротивления Resistivity, кривую гамма-каротажа GK – к шаблону гамма излучения Gamma ray, кривую индукционного каротажа IK – к шаблону проводимости Conductivity, кривую нейтронного каротажа NKT – к шаблону нейтронного излучения Neutron, кривую ПС (PS) – к шаблону потенциалов собственной поляризации Spontaneous potential, кривую нефтенасыщенности Soil – к шаблону Oil saturation, кривую пористости Kpor – к шаблону Porosity. Это все были непрерывные
кривые.
Привяжем
также
дискретные
кривые:
кривую
коллектор/неколлектор Kod_coll – к шаблону литологии Lithologies, кривую характера насыщения Kod_fluid – к шаблону флюида Fluids. После того как для каждого каротажа определен подходящий шаблон, нажимаем OK. В открывшемся во второй раз диалоговом окне на этот раз оставим включенной опцию самораспознавания (Autodetect logs) кривых и осуществим загрузку всех остальных фалов: OK for all. Такое выполнение загрузки в два этапа удобно, когда на первой скважине представлено большинство каротажей. Задав шаблоны только для одной скважины, мы разрешаем программе подобрать их для остальных скважин автоматически. Если автоматически присвоенный шаблон не устраивает, то после загрузки его можно изменить на закладке Info, зайдя в Настроки (Settings) каротажа, лежащего в папке Global well logs (рис.1.8). Но если каротаж был загружен как непрерывный, то Petrel не даст возможности привязать его к дискретному шаблону (и наоборот). Это связано с принципиальными отличиями в программе этих двух типов данных. Поэтому, если все-таки возникла необходимость поменять тип каротажа, можно в калькуляторе для глобальных каротажей создать копию каротажа с новым шаблоном. Лишнюю кривую глубины удалим из проекта (рис.1.9).
Наконец завершим загрузку исходных данных комментариями (comments) – результатами испытаний пластов для загруженных ранее вместе с кривыми ГИС 1-4
интервалами перфорации (кривая Perf). Загрузим результаты испытаний пластов из папки Сomment (рис.1.10), указав тип файла «Comment well log». Установим для каждого шаблона соответствующее число знаков после запятой, раскраску, название и рисунок (Pattern) - рис.1.11-13. Для кривых измеренных глубин, гамма-каротажа, нейтронного каротажа, проводимости и ПС выберем один знак после запятой, один и тот же цвет от минимуму да максимума. Для этого надо предварительно перейти из закладки исходных данных Input в закладку Templates.
1-5
Для пористости выберем три знака после запятой, нефтенасыщенности – два знака, цвет переменный от синего до красного. Для шаблона литологии (рис.1.13) зададим для нулевых значений название Clay, зеленый цвет, для единичных значений название Sand и желтый цвет. Остальные строки удалим. Для шаблона флюида зададим для нулевых значений название Clay, зеленый цвет, для единичных значений название Oil и коричневый цвет, для значений двойки название Water и синий цвет.
1-6
Добавим в таблицу строки и зададим для значений
двенадцать
название
Und
(неопределенный характер насыщения) и белый цвет. Подготовив, таким образом, загруженные кривые ГИС и РИГИС для дальнейшей работы, вернемся к папке стратиграфических разбивок и переименуем ее, убрав txt. Переименуем зоны в первую, вторую и третью (рис.1.14). К сожалению, на некоторых рисунках в следующих главах названия зон остались старые, непереименованные (Zone 1 – Zone_top_BC_1), за что автор приносит свои извинения. Следующим
шагом
загрузим полигон лицензии (рис.1.15), указав тип файла CPS-3 lines и тип линии – контуры.
Завершим
загрузкой
этап
структурной
сейсмической карты с именем «seismic» сейсмического
и
карту
атрибута
с
именем «seis_atribut», которые затем будем использовать в качестве трендов (формат карт CPS-3 grid ASCII). Создадим новую папку. Переименуем ее и перетащим две загруженные карты в эту папку - рис.1.16.
Сохраним проект с загруженными данными.
1-7
2. Корреляция Для создания схем корреляции предварительно необходимо визуализировать скважины с уже имеющимися стратиграфическими разбивками (опорные) и без них. Откроем новое двумерное окно, назовем его «2D plan» и установим ему серую цветовую подложку (рис.2.1).
В этом окне визуализируем все скважины проекта, указав в качестве атрибута имя скважины (рис.2.2.). В Установках для папки Скважины (Wells) укажем красный цвет папки (тот же рис.2.2). Для траекторий скважин (Path) поставим цвет «как у скважины (as well)», ширину линии 20. Для подписей символов скважин зададим размер 20 в 2D, цвет «как у папки (as folder)», а расположение – в точках пересечений сейсмической структурной поверхности с траекториями скважин (или у забоев – base). Для самих символов (значков) скважин проставим размер 50, цвет «как у скважины», а расположение – по устью. Далее визуализируем стратиграфические разбивки (well tops). Включим отбивки только по одному пласту, например, по верхнему пласту БС101 (рис.2.3), указав в качестве атрибута имя скважины.
2-1
2-2
Укажем для значков отбивок черный цвет, размер 40, а для подписей – размер 15 в 2D. В результате получим план расположения скважин, на котором черным цветом видны места расположения скважин с уже имеющимися разбивками (рис.2.4).
Для набора скважин в корреляционные схемы укрупним окно и начнем набирать скважины в первую схему корреляции так, чтобы она начиналась и заканчивалась скважинами с уже готовыми разбивками, между которыми располагались бы близрасположенные скважины без разбивок. Сформируем (рис.2.5) первую схему корреляции по двум кустам по следующим номерам скважин: 16R-15-49-17-98-22-80-75-76-73-71-66-62-65-110-74-100-15R.
2-3
Откроем первое окно корреляции (Well section 1) и включим одну за другой скважины именно в этом порядке, чтобы потом не пришлось перетаскивать скважины, задавая нужную последовательность.
Предварительно для
удобства
отсортируем
поиска скважины
(рис.2.6) по номерам (по имени).
На шаге
в
следующем первой
слева
скважине 16R включим кривые ПС, ГК, БК и НКТ (рис.2.7).
Раскроем корреляции
контейнер
(well
схемы
section
контейнер
16R
удобства
работы
каротажи.
Перетащим
1)
скважины.
и Для
сгруппируем мышкой
кривую ГК в трэк (track panel) кривой ПС, а кривую НКТ в трэк кривой БК. Работать
будем
в
измеренных
глубинах, для чего укажем MD в окошке вверху.
2-4
Теперь выставим для каротажей установки отображения. Будем поочередно заходить в Settings для каждой кривой в скважине 16R в окне корреляции. Для кривой ПС определим цвет «как свойство (as property)», ширину линии 3, а максимум и минимум выставлять не будем, так как для кривой ПС в каждой скважине они могут меняться очень значительно (рис.2.8). Для кривой ГК установим тот же цвет и ширину, а максимум и минимум от 0 до 15. Для кривой БК – от 2 до 40, для кривой НКТ – от 1 до 10. В дальнейшем при необходимости для некоторых скважин для лучшей визуализации мы будем в индивидуальном порядке менять диапазоны изменения параметров.
Укажем для скважины 16R, что будем использовать ее в качестве шаблона (template) для других скважин. Применим установки отображения этой скважины к другим скважинам схемы корреляции, отметив именно ее при выборе шаблона (template) для применения. После этого получим в схеме корреляции все скважины с раскраской и диапазонами кривых так, как мы это сделали для скважины 16R (рис.2.9). Перейдя в Настройки (Settings) схемы корреляции, выставим расстояние между скважинами постоянное 5 мм и фиксированный вертикальный масштаб 1:500. Включим сейсмическую поверхность, задав ей толщину линии 15, и прокрутим скважины, выравнивая примерно на положение сейсмического горизонта (рис.2.10). 2-5
2-6
Включим
стратиграфические
отбивки, активизировав горизонт кровли глины
(выделив
создание
и
мышкой).
Начнем
редактирование
отбивок
кровли глины (create/edit well tops), проставляя отбивки в каждой скважине слева направо (рис.2.11). Проставлять отбивку кровли глины мы будем в основном по началу падения показаний зондов нейтронного и бокового каротажа. Поскольку глины эти мягкие, то при бурении они размываются буровым раствором, образуя каверну. Кривая ПС практически не реагирует на каверну, показания гамма-каротажа могут падать или оставаться прежними. А вот показания бокового каротажа (рис.2.12) приближаются к показаниям для бурового раствора 1-3 Омм. Показания нейтронного каротажа также приближаются к показаниям в баке с водой, составляя 1-1,5. Поскольку каверна заполнена не водой, а раствором, и имеет ограниченные размеры, то показания нейтронного каротажа должны несколько превышать единицу. Мощность каверны составляет 4-5 м, ниже подошвы глины залегают песчаники пласта БС11.
2-7
После того, как отбивки кровли глины будут проставлены во всех скважинах корреляционного набора, мы сделаем выравнивание скважин на этот горизонт, указав в Настройках (Settings) корреляционной схемы «выравнивание на отбивки (flatten on well top)» и забросив стрелочкой горизонт кровли глины (рис.2.12). Теперь проставим разбивки стратиграфической пластов
БС101,
БС103.
Будем
ориентироваться
на
кровли БС102
и
начало опесчанивания в кровле каждого пласта. В песчаниках показания ПС и ГК уменьшаются влево, показания
БК
увеличиваются
и
НКТ
вправо.
Для редактирования разбивок можно использовать отмену действия (Undo), удаление или изменение глубины отбивки (рис.2.13). В контейнере глобальных каротажей включим кривую кода коллектора, которая визуализируется во всех скважинах. Пройдемся слева направо по схеме корреляции (рис.2.14), проверяя, чтобы отбивки кровли пласта совпадали или были несколько выше начала первого проницаемого пропластка по результатам интерпретации ГИС (РИГИС). Для лучшей визуализации можно увеличить толщину линий в установках для разбивок до 10.
2-8
Перейдя в двумерное окно расположения, скважин можно проконтролировать наличие разбивок у всех скважин из данной корреляционной схемы (рис.2.15) – напомним, что отбивки отображаются в виде черных кругов.
Сформируем вторую схему корреляции по двум кустам по следующим номерам скважин:
14R-10-72-69-70-31-16-26-55-342-14-202-18-4-34-108-203-205-35-15R.
Применим для этой схемы корреляции в качестве темплейта скважину 16R из первой схемы корреляции и аналогично проставим корреляционные разбивки во всех скважинах. Третью схему сформируем по скважинам: 15R-101-3-32-142-27-103-59-115-9986-97-87-116-22R. Четвертую – по скважинам: 16R-77-36-39-52-518-54-38-51-24-45-6178-20-21-63-64-79-58-15R. В пятую схему включим оставшиеся скважины: 24R119-122-23R-22R-60-53-47-43-42-41-4R-17R-44.
Проставим
корреляционные разбивки во всех скважинах. В скважинах, где отсутствует боковой или нейтронный каротаж, можно включить кривую индукционного каротажа IK. На этой кривой начало каверны отбивается резким увеличением проводимости вправо (обратно уменьшению сопротивления – рис.2.16). В шестую, и последнюю, схему включим все разведочные
скважины
и
еще
раз
их
просмотрим,
корректируя, если надо, разбивки. Для контроля проделанной работы можно загрузить разбивки из тестового проекта, находящиеся на прилагаемом диске. 2-9
Это можно сделать либо используя операции экспорта/импорта, либо открыв второй проект (Reference project tool) из меню операций с файлами и указав, что папку разбивок будем копировать (галочка Copy mode) в наш проект (рис.2.17).
Проверим количество разбивок по каждому пласту. Возможно, мы где-то не проставили разбивки или поставили их дважды. Для этого создадим специальный фильтр – «сохраненный поиск» (Saved search), отвечающий за наличие разбивок в скважинах. В папке Wells нажмем правой кномпкой мыши по подпапке «сохраненных поисков» (Saved search) и создадим новый фильтр (рис.2.18). Определим тип фильтра как «Well Tops», и рассмотрим отбивки кровли первого пласта. Чтобы искать скважины, в которых отбивки отсутствуют, инвертируем наш фильтр, отметив галочкой опцию «Invert total filter», и сохраним его, нажав OK. Включив созданный фильтр, мы увидим, что все скважины, в которых присутствовали разбивки top_BC10_1, пропали с закладки Input. Остались только две скважины – 38 и 115. В них нет каротажа (рис.2.18) в интервале расположения пласта БС101.
2-10
Проверив скважины на наличие разбивки, завершим этап предварительной корреляции (возможные корректировки могут выявиться в процессе построения модели). Не забудем отключить фильтр (Saved search), чтобы снова все скважины были представлены на закладке Input.
2-11
3. Геометризация залежей На первом этапе геометризации залежей необходимо определить положение литологических границ залежей. Для этого создадим для каждой зоны (пласта) атрибут коэффициента песчанистости по скважинам, по которому в дальнейшем построим карты и создадим полигоны зон замещения коллекторов. В папке разбивок, встанем на Attribute и, нажав правую кнопку мыши, выберем вставку нового атрибута (Insert new attribute). Появится окошко создания нового атрибута, в нем оставим тип атрибута непрерывный (continuous) и нажмем OK (рис.3.1).
Для созданного нового атрибута зайдем в Настройках атрибута на закладку операций (Attribute operations) и укажем следующие настройки операции: расчет для зон (to the zones), по каротажу (Well logs), по каротажу литологии (Kod_coll), методом расчета доли (Fraction), в абсолютных глубинах (SSTVD), для кода фаций песчаники (1 – sand). Запустим расчет (Run) и получим в папке разбивок новый атрибут Kod_coll, Переименуем его в ntg wells (песчанистость по скважинам). Аналогичным образом создадим атрибут Kod_coll, то есть фактически суммарных эффективных толщин, указав метод расчета Thickness, и привяжем его к шаблону Thickness general. 3-1
Иногда бывает так, что в некоторых скважинах проставленные стратиграфические разбивки на какие-то сантиметры залезают на каротаж другого пласта. И при вычислении атрибутов песчанистости и эффективных толщин в полностью заглинизированных скважинах вычисляются ненулевые (но очень маленькие) значения атрибутов. Чтобы избежать этого, встанем курсором на атрибут песчанистости (ntg wells) и вызовем правой кнопкой
калькулятор
для
атрибутов
разбивок.
В
калькуляторе напишем (рис.3.2) условие: если значение эффективной толщины в скважине меньше 0,2 м (один каротажный отсчет), то значение атрибута равно 0, в противном случае – самому себе. То же сделаем и с атрибутом эффективных толщин (Kod_coll).
На следующем шаге конвертируем для первой зоны значения атрибута песчанистости в точки. Для этого кликнем по атрибуту ntg wells, чтобы сделать его активным. При этом он станет жирным. Встав курсором на первую зону, нажмем правую кнопку мыши и в выпадающем меню выберем операцию конвертации активного
атрибута
в
точки
(рис.3.3).
Посмотрев
статистику в Настройках для получившихся точек, увидим, что диапазон изменения для них от 0 до 0.8.
3-2
Рис.3.4. Щелкнув два раза мышью, вызовем процесс создания карт (Make/edit surface) из процессов Утилиты (Utilities). Укажем имя карты «ntg map zone 1» (рис.3.4). Закинем в Main input первую зону и выберем атрибут ntg wells. В Boundary положим сейсмическую карту и в закладке Геометрии (Geometry) выберем опцию получения размеров выходной карты с данных Automatic (from input data/boundary), то есть – с сейсмической карты. Выберем метод картопостроения Изохорная интерполяция (Isochore interpolation). На закладке Post proc ограничим диапазон карты 0 и 0.8 (truncated, галочки в % отжаты). Кроме того, чтобы карта точно сидела на значениях, укажем в Well adjustment Глобальную подгонку с радиусом влияния точек 300 м. Сами точки песчанистости закинем стрелочкой в Input. Визуализируем полученную карту и значения атрибута песчанистости для первой зоны в двумерном окне (рис.3.5). В Настройках (Settings) для карты сделаем цвет по географической шкале от синего до красного (от 0 до 0.8), изолинии проведем через 0.1, а прозрачность поставим 30%. В Info нажмем замочек, чтобы эти установки для карты не менялись в дальнейшем, если они будут меняться для других объектов с этим же шаблоном. 3-3
Начнем создавать полигоны зон глинизации (замещения). Активизируем в Утилитах процесс Создание/редактирование полигонов, стартуем создание нового полигона (рис.3.6) и начнем ставить точки вокруг скважин с нулевыми значениями песчанистости. Последнюю точку ставим рядом с первой и два раза кликаем мышкой: при этом возникнет окно с вопросом «замыкать ли полигон?», говорим «да». Если вопрос не возник, то замкнуть полигон нужно используя операцию закрытия в правом меню или на закладке Операций (Operations) в Настройках для полигона. Можно сгладить полигон с увеличением числа точек. Границы полигонов можно провести посередине между скважинами, можно более геологично – с учетом поведения изолиний. Переименуем первый полигон в glina zona 1 и добавим в него другие полигоны, получив единый полигон (Append polygons). Для этого единого полигона сделаем красный цвет в Info, толщину линии 4, тип раскраски цветом – Specified (рис.3.7). Зайдем в статистику (Statistics) для полигона и убедимся, что число полигонов, из которых он состоит, равно числу замкнутых полигонов. Если это не так, то надо еще раз замкнуть единый полигон.
3-4
Рис.3.7.
3-5
Аналогично тому, как мы это делали для стратиграфических разбивок (рис.2.17), откроем тестовый проект на диске как вторичный (Reference project tool) и скопируем в наш проект полигон глинизации для первой зоны (галочка в copy mode включена). Отредактируем точки полигона так, чтобы он был близок к полигону с диска, используя опцию Select and Edit/Add points из правого меню внизу. В настройках полигона на закладке Calculations присвоим ему значение 0 (рис.3.7). Теперь мы будем использовать этот полигон для перестроения карты песчанистости с учетом линии глинизации. Запустим
Рис.3.8.
процесс создания карт (Make/edit surface) и добавим
созданный
единый полигон на закладку
для
дополнительных исходных
данных
(Additional
inputs),
таким образом, при построении будут
карты
учитываться
как исходные точки со
значениями
песчанистости, так и линии глинизации (рис.3.8 слева вверху). На закладке Well Adjustment изменим радиус влияния точек на 100 метров, так как линии глинизации местами проходят достаточно близко к скважинам, а при таком радиусе процесс «подсадки» на точки не затронет нулевые значения, полученные из полигона. Другим подходом к построению карт на основе нескольких разнородных типов данных является конвертирование всех данных в точки (правой кнопкой мыши, Convert to points) и объединение точек в один объект (Настройки точек, закладка Operations, операция Append poins в папке Common operations). Это позволяет использовать один и тот же объект (точки) в качестве исходных данных и точек для «подсадки» в Well Adjustment (на рисунке именно так).
3-6
Отредактируем наиболее яркое место интерполяционного эффекта (рис.3.8) картопостроения. Здесь значения песчанистости достигли 0.7, хотя по
ближайшей
скважине значения 0.6. В правом меню при включенном процессе Make/Edit surface активизируем метод Присвоение значения (Assign…) и зададим значение Z=0.6, радиус влияния 10 (слева внизу). Кликая курсором в коричневую область, присвоим там значения 0.6. Рассмотрим дополнительную возможность присвоения карте значения 0 внутри полигона. Для этого, щелкнем по карте правой кнопкой мыши, зайдем в калькулятор (Calculator) для карт и присвоим в строке операций карте значение 0 (рис.3.9). Enter пока не нажимаем. Подведя курсор к кнопке использования фильтра (Use filter) получим выпавшую синюю гиперссылку. Нажав на нее курсором, перейдем в настройки фильтра для поверхностей. В фильтре закинем полигон глинизации и нажмем OK. Обратим внимание, что обнуление должно быть внутри (Apply inside) полигона. В калькуляторе нажмем на фильтр (он подкрасится коричневым) и только после этого – на Enter. Карта закончена.
Аналогичные построения сделаем и для второго пласта (зоны), учитывая диапазон изменения песчанистости в скважинах, который отличается для каждой зоны (min, max в Post proc). Если после сглаживания полигона границы зоны глинизации сильно не совпадают с нарисованными вручную, то оставьте прежние границы, сделав откат (Undo). Для оценки качества проведения зон глинизации сравните ваши полигоны глинизации с находящимися в тестовом проекте на диске, при необходимости отредактируйте свои полигоны. Помним, что активный атрибут должен 3-7
быть жирным. Для выходной карты нужно задать новое имя, удалив (delete) объект из поля Result surface и ответив на появившийся вопрос – «нет». Для третьего пласта ситуация осложняется наличием внутри южной зоны отсутствия коллекторов маленькой залежи из одной скважины, в которой есть коллектора (рис.3.10). Здесь мы должны сделать два замкнутых полигона, окружив области наличия коллекторов, слить их в один, а в процессе обнуления карты в фильтре, выбрать опцию Apply outside, чтобы обнуление шло не внутри, а снаружи.
По завершении картопостроения создадим три папки (через Insert в верхнем меню): «ntg map», «glina poligon», «glina points», куда сложим карты, полигоны и точки. В качестве полезного упражнения построим карты эффективных толщин. Для этого будем использовать атрибут Kod_coll. Действуем аналогично песчанистости, не забывая изменять диапазон выходных значений и «подсаживать» на точки, а также редактировать вручную зоны экстраполяционных значений и обнулять карты внутри полигонов глинизации (рис.3.11). Результаты сложим в папку.
3-8
Рис.3.11.
Для структурных построений необходимо подготовить карты изохор, то есть стратиграфических толщин пластов.
В папке скважинных разбивок (Well tops)
выделим жирным отбивки кровли верхнего пласта. Щелкнув правой кнопкой мыши по кровле второго, выберем опцию Конвертирование в точки изохор (Convert to isochore points) (рис.3.12). Поскольку в фильтре для разбивок мы ничего не отжимали, то на вопрос «хотим ли мы конвертировать отфильтрованные скважины» ответим «да». Полученные точки переименуем в «isohor points 1». Визуализируем точки в двумерном окне, включив атрибут Толщины и задав черный цвет подписи с размером шрифта 12 в 2D. Методом интерполяции изохор построим карту стратиграфических толщин «isohor map 1» (рис.3.13), подав на вход (Main input) и в «подсаживание» на скважины (Well adjustment)
точки изохор. В качестве атрибута у точек укажем Толщины
(Thickness), а не Z. В постобработке (Post proc) обрежем карту по минимуму и максимуму (галочка в % отжата). Аналогично построим карты стратиграфических толщин второго и третьего пласта (меняя min и max), результаты сложим в папки для точек изохор и карт изохор. На следующем этапе работ нам необходимо будет
3-9
3-10
построить
структурные
карты.
Вначале
посмотрим,
насколько
сейсмическая
поверхность по кровле первого пласта согласуется с отбивками по скважинам. Создадим атрибут значений сейсмической поверхности в скважинах. Для этого создадим новый атрибут (рис.3.14) и в Операциях (Operations) укажем создание из поверхности (Sample from: Surface), закинем сейсмическую поверхность. Откроем Функциональное (Function) окно, в котором для первого пласта включим атрибуты отметок по скважинам Z (X) и по сейсмической поверхности seismic (Y). Видим, что сейсмическая поверхность в целом хорошо согласуется с отбивками на скважинах, но некоторые точки вылетают. Чтобы узнать, какие это скважины, скопируем сейсмическую поверхность (Copy-Paste) и перестроим ее в Make/edit surface (метод Surface resampling), сажая на отбивки, включив галочку для создания отчета (рис.3.15).
3-11
В отчете мы видим, что наибольший отскок имеют скважины 7Р и 44. В этих краевых скважинах неверная инклинометрия, поэтому мы их не будем использовать в структурных построениях. Щелкнув правой кнопкой мыши по разбивкам, откроем таблицу (Spreadsheet) для разбивок и, щелкнув два раза по заголовку столбца с именами скважин, отсортируем их по возрастанию. Найдя скважины 7Р и 44, отключим для них во всех пластах галочки для использования в модели (Used by geo mod) и преобразованиях время/глубина (Used by dep.conv.) (рис.3.16). Нажмем Apply.
Затем скопируем сейсмическую поверхность, через Surface resampling посадим на отбивки в скважинах и переименуем в «Str top bc10 1». Обратим внимание в отчете, что теперь скважин 7Р и 44 нет. Есть три скважины с большими отклонениями 79 – 10 м, 36 – 18 м, 55 – 20 м. Запомним их, чтобы вернуться к их возможным подвижкам после обоснования положения ВНК. Проанализируем полученные поверхности. Выделим курсором поверхность кровли первого пласта
и через правую кнопку
создадим для нее атрибуты углов и азимутов. Визуализируем в трехмерном окне кровлю первого пласта, отбивки пласта (рис.3.17). Включив для карты атрибут углов, мы сможем видеть карту кровли первого пласта, раскрашенную в соответствии с углами наклона этой поверхности. Видно, что большие углы наклона как раз в области 36 и 55 скважин: 55 «провалилась», а 36 «подпрыгнула».
3-12
Карту кровли второго пласта получим, вычтя из копии карты первого пласта карту изохор первого пласта в калькуляторе для самой карты (рис.3.18). Карту кровли третьего пласта получим, вычтя из копии карты второго пласта карту изохор второго пласта в калькуляторе для карт. Для разнообразия подошву третьего пласта (кровлю глины) сделаем в общем калькуляторе для карт. Следующим важным шагом является процедура посадки всех полученных карт на соответствующие стратиграфические разбивки. Поскольку скважины невертикальны, то точки изохор присваиваются не к подошве пласта, а к середине между кровлей и подошвой. Поэтому при прибавлении к кровле изохоры мы не можем получить подошву в точности и приходится «подсаживать» поверхности на точки. При «подсаживании» на точки (Surface resampling) видим, что по всем скважинам маленькое расхождение, кроме скважины 115, где расхождения в отчете нет вообще. Это произошло потому, что в скважине 115 нет каротажа вверху и, соответственно, нет отбивки кровли первого пласта. В
3-13
результате при натягивании вначале сейсмической поверхности на скважины в этом месте коррекции сейсмической поверхности на отбивку первого пласта не было.
Включив на схеме корреляции (рис.3.19) мы видим, что в этой скважине поверхность кровли первого пласта прошла существенно ниже, чем надо. Для исправления ситуации скопируем поверхность кровли второго пласта, прибавим к ней изохору первого пласта, полученную поверхность назовем кровлей первого пласта и посадим на точки (разбивки кровли первого пласта).
Эта поверхность всюду совпадает с первоначальной кровлей первого пласта, однако исправилась в районе 115 скважины. Таким образом, мы получили четыре 3-14
поверхности каркаса и складываем их в отдельную папку. Возможные корректировки последуют в процессе анализа контактов. Создадим атрибут, характеризующий в скважинах для каждого пласта долю нефтеносных коллекторов
в общей эффективной мощности (рис.3.20). Вначале
сделаем атрибут суммарных нефтенасыщенных толщин, для этого выберем при создании атрибута из каротажа «код флюида» код 1 (нефть), метод – суммирование мощности для дискретных переменных (thickness), масштаб глубин – абсолютные отметки (SSTVD). Назовем его Kod_fluid oil. Аналогично сделаем второй атрибут для водоносных коллекторов, указав код насыщения 2 - Kod_fluid water. Атрибут доли dolo_oil
сделаем
в
калькуляторе
как
dolo_oil=Kod_fluid_oil/(Kod_fluid_oil+Kod_fluid_water). Обратим внимание на наличие подчеркиваний – без них программа ругается на наличие синтаксических ошибок.
Чтобы избежать погрешностей неточной простановки разбивок, в калькуляторе присвоим значению атрибута неопределенные значения в скважинах, где Нэфф по пластам меньше 0,2 метра, как мы это уже делали для атрибутов песчанистости.
3-15
В двумерном окне включим поверхность кровли первого пласта, полигон зоны глинизации (красным) и атрибут dolo_oil (рис.3.21). Мы видим, что для чисто нефтяных скважин атрибут равен единице, для водоносных – нулю, для водонефтяных – от 0 до 1. Точки без значений находятся в зонах глинизации или там неопределенные значения кода характера насыщения. Открыв в Настройках (Settings) для каротажа кода характера насыщения (Kod_fluid) закладку гистограммы (Histogram), мы видим, что таких значений (код 12) немного. Пока будем анализировать северную залежь для первого пласта. Нефтяные скважины этого поднятия оконтуриваются замкнутой изогипсой на уровне примерно – 2260 м. Поэтому создадим по карте примерно по этой изогипсе замкнутый полигон. Скопируем поверхность кровли, назовем ее «vnk sever 1» и присвоим значение – 2260 м. Отсечем (Eliminate outside) поверхность вне созданного замкнутого полигона в Операциях (Operations). При необходимости немного расширим (Expand) или сожмем (Shrink) поверхность, чтобы размер был примерно как на рис.3.21. Перейдем ко второму пласту. Включив атрибут доли (рис.3.22) dolo_oil мы видим, в скважине 1Р имеется аномально значение 1 среди водоносных скважин с нулями. Будем считать, что мы сходили к каротажникам и они изменили характер насыщения по скважине 1Р во втором и третьем пласте с нефти на воду. Далее мы изменим каротаж в этой скважине, а пока исправим значения атрибута. Зайдем в 3-16
таблицу зон (View zone spreadsheet) для отбивок и в столбце для dolo_oil в скважине 1Р поставим нули для второго и третьего пластов. Не забудем нажать OK.
Здесь следует обратить внимание на следующее. Когда мы создали атрибуты суммарных нефтенасыщенных и водонасыщенных толщин, они располагаются в таблице для зон (Zones spreadsheet). Их можно посмотреть и отредактировать, зайдя через правую кнопку мыши с папки разбивок (рис.3.22). Однако калькулятор для отбивок может создавать только атрибуты, привязанные к горизонтам (не зонам), поэтому результат операции с ними dolo_oil находится уже не в таблице для зон, а в таблице для разбивок. Чтобы работать с калькулятором в области зон, нужно предварительно создать новый атрибут и назвать его dolo_oil (аналогично рис.3.20). Скопируем поверхность ВНК для первого пласта в районе скв.23Р, назовем ее «vnk sever 2» и присвоим значение – 2270 м. Вернемся к скважине 1Р. Чтобы не испортить исходный каротаж зайдем в Глобальные каротажи (Global well logs) (рис.3.23), выделим на любой каротаж и вызовем правой кнопкой калькулятор: создадим для всех скважин сразу рабочий каротаж флюида Kod_fluid_work=Kod_fluid, присвоив соответствующий шаблон. Визуализируем его в окне корреляции. Исправлять дискретный каротаж мы можем «кисточкой» (Paint discrete log class), рисуя интервал; или «ведром» (Flood fill discrete log class), заливая интервалы. В правом меню кликнем по иконке с «ведром» (Flood fill discrete log class), встанем курсором на каротаж и вызовем правой кнопкой в выпавшем меню код насыщения «вода» и кликнем на него курсором. Затем кликнув нефтяные интервалы, зальем их водой. 3-17
Поскольку для третьего пласта очевидно наличие двух залежей на севере, разделенных прогибом (рис.3.24), то мы сделаем две поверхности ВНК. Одну – как делали раньше через копирование, обрезание и присвоение значения – 2280 м (vnk sever 3). Другую, в районе скважины 8Р, для разнообразия сделаем немного по-другому через процесс картопостроения. Нарисуем замкнутый полигон, закинем его в Границу, снимем с него геометрию Automatic (from input data/boundary) (рис.3.24). Выберем Artificial алгоритм с постоянным значением – 2275 м и получим карту vnk sever vostok 3.
3-18
Создадим две плоские карты ВНК для центральной залежи вокруг скважины 2Р: «vnk center 1» со значением Z=-2255 м
для первого пласта и «vnk center 3» со
значением Z=-2275 м для третьего пласта (по второму пасту в скважине вода). В заключение создадим карту ВНК для южной залежи первого пласта (рис.3.25 коричневая) «vnk yug 1» со значением Z=-2246 м. Для общего обзора визуализируем все поверхности в трехмерном окне (рис.3.25) и сложим в созданную папку VNK. Теперь
будем
корректировать
предварительно созданные поверхности ВНК с учетом скважных данных. Начнем с северной залежи. Создадим профиль (схему корреляции) по скважинам 5Р24Р-9Р-119-122-23Р-3Р-29Р-26Р-27Р-8Р6Р,
переименуем
ее
в
Profil
sever
(рис.3.26). В двумерном окне включим разбивки с номерами скважин и галочку well section fence под именем корреляционной схемы на закладке Windows, чтобы визуализировать схему в окне.
3-19
Скопируем папку с поверхностями ВНК, добавим к именам поверхностей red (для редакции) и включим на профиле (рис.3.27) поверхности для северной и северовосточной залежей. При необходимости увеличим толщину линий в настройках отображения (Settings, закладка Style). Сам профиль выставим на абсолютную глубину (наберем -2000, это не принципиально). Обратим внимание, что в Настройках (Settings) для профиля тип абсолютных глубин – SSTVD. Установим фиксированный масштаб 1:250. Включим каротажи кода флюида - исходный и для работы (work), а также каротаж Комментариев для определения интервалов и результатов испытаний. В процессе работы мы будем править рабочий каротаж кода флюида. Его колонка не содержит тонких вертикальных линий, как у исходного каротажа. Проанализировав профиль мы видим, что нижняя нефть по первому пласту на северной залежи имеется в скважин 119. Учитывая, что при испытаниях было получено немного воды, примем контакт по подошве нефти в этой скважине. В скважине 23Р была получена нефть с водой, но данные контроля за притоком показали, что это вода с заколонного перетока. Поэтому мы принимаем в этой скважине по первому пласту насыщение нефть и заливаем неопределенный интервал нефтью (используя значок «ведро»). Чтобы совершенно точно узнать абсолютную отметку подошвы нефти в скважине 119 сделаем следующее. Создадим в калькуляторе глобальный каротаж с 3-20
именем ABS, равный абсолютной отметке по стволу скважины. Для этого приравняем ABS к Z – геометрической переменной, вызываемой кнопочкой Geometry. Откроем скважину 119 и включим в ней измеренную глубину MD (рис.3.28). Подведем курсор к подошве нефти и увидим, что глубина примерно 2508,2 м. Встанем на каротаж насыщения в скважине на закладке Input, откроем через правую кнопку мыши таблицу (Spreadsheet) и увидим, что в самом деле нулевые отсчеты после единицы начинаются с глубины 2508,2 м.
Откроем таблицу (Spreadsheet) для ABS и увидим, что глубине 2508,2 м соответствует абсолютная отметка – 2257, 82 м. Присвоим это значение поверхности ВНК первого пласта северной залежи и увидим, как она поднимется до подошвы нефти в скважине 119. Для поверхности ВНК второго пласта северной залежи vnk sever 2 red, аналогичным образом определив подошву нефти по скважине 23Р, присвоим значение – 2270, 8 м. Для поверхности ВНК третьего пласта северной залежи vnk sever 3 red, аналогичным образом определив подошву нефти по скважине 26Р, присвоим значение – 2279, 1 м. Зальем водой в этой скважине в рабочем каротаже характера насыщения пропластки с неопределенными значениями (Und) ниже ВНК (рис.3.29). Для поверхности ВНК третьего пласта северо-восточной залежи vnk sever vostok 3 red, аналогичным образом определив подошву нефти по скважине 8Р, присвоим значение – 2279, 62 м.
3-21
Следующим шагом проверим замыкание залежей. Зайдем в Операции (Operations) в Настройках (Settings) для карты ВНК первого пласта и сделаем Пересечение с картой кровли (Create intersection with surface), забросив карту кровли в строку со стрелкой. В двумерном окне визуализируем разбивки с номерами скважин, структурную карту кровли, поверхность ВНК, полигон глинизации
и
получившийся пересечения Видим,
полигон (рис.3.30).
что
полигон
внешнего
контура
замыкается и упирается в зону глинизации. Строго говоря, это не совсем точно внешний поскольку
контур, мы
сделали
пересечение
со
стратиграфической поверхностью,
а
не
с 3-22
кровлей коллектора. Но поскольку первый коллектор почти везде рядом с кровлей, это не существенно. Аналогично сделаем и для второго и третьего пластов (рис.3.30). Для второго пласта с принятой поверхностью ВНК мы имеем южную часть северной залежи (в районе 26Р), не охарактеризованную скважинами. Можно было бы убрать эту часть, удалив нижнюю половину поверхности ВНК. Мы же пока не будем этого делать, считая, что это у нас перспективы для бурения. Создадим другой профиль с единственной скважиной 2Р - Profil center. Присвоим поверхностям ВНК по первому и третьему пласту значения -2252 и -2271 м, чуть пониже подошвы нефти (рис.3.31). Создадим полигоны пересечения поверхностей ВНК с кровлей пласта (внешние контуры) и проверим замыкания структур (рис.3.31).
Зайдем в Настройки для скважин, в закладку Отчет (Report) и закинем туда все наши поверхности ВНК, кроме южной залежи (рис.3.31). Укажем, чтобы результаты попали в папку Others стратиграфических разбивок и запустим процесс, создав отбивки ВНК в скважинах как пересечение траекторий скважин с поверхностями ВНК. Перейдем к самому сложному – южной залежи первого пласта. Наберем серию профилей. Чтобы сэкономить время сделаем так – скопируем первую
корреляцию,
вставим
и
переименуем 3-23
в
Профиль
1.
Включим
стратиграфические разбивки (рис.3.32), рабочий каротаж флюида, комментарии по испытаниям скважин, поверхность ВНК. Обратите вниманите, что в верхнем окошке профиля должны стоять абсолютные отметки (SSTVD). Выровняем профиль на абсолютную отметку и выставим постоянное расстояние между скважинами 5 мм, чтобы профиль был более сжатым. Для этого также трэки Комментариев в тех скважинах, где они есть, переместим курсором в трэки каротажа флюида рабочего (см.рис3.32 слева внизу). Аналогично сделаем и профили со второго по пятый. В пятом профиле удалим скважины 44 и 17Р. Видим, что поверхность ВНК с рядом скважин в профилях не согласуется.
Создадим профиль для обоснования ВНК - Profil VNK yug. Перейдем в двумерное окно и включим стратиграфические разбивки, в фильтре по скважинам включив только разведочные скважины (рис.3.33). В профиле для ВНК включим скважины 14Р-1Р-16Р-15Р-22Р-4Р-19Р, стратиграфические разбивки, рабочий каротаж флюида, комментарии по испытаниям скважин, поверхность ВНК. Чтобы видеть траекторию профиля включим в двумерном окне галочку «Well section fence» в окошке профиля (рис.3.33 слева внизу).
3-24
Начнем проставлять стратиграфические отбивки ВНК с именем «vnk yug 1 red». Сначала во всех скважинах вручную (можно через Spreadsheet для отбивок) проставим на отметке – 2246 м. Затем, с учетом консультаций у каротажников и результатов испытаний (нефть с водой) в скважине 22Р передвинем отбивку на отметку -2245 м, а в скважине 4Р – на отметку – 2247 м (рис.3.34). Зальем кисточкой на каротаже Kod_fluid_work в этих скважинах коллектора первого пласта с неопределенным характером насыщения выше ВНК – на нефть, ниже ВНК – на воду. В папке разбивок сделаем активным атрибут Z (сделаем жирным) и конвертируем этот активный атрибут для проставленных отбивок ВНК в точки (нажать правой кнопкой мыши на отбивки ВНК и выбрать Convert active attribute to points). Для того, чтобы выяснить, каков у нас наклон поверхности ВНК и в какую сторону, построим по этим точкам аппроксимирующую плоскую поверхность (рис.3.35).
3-25
3-26
Используем метод Функциональной интерполяции, подгонку к плоской поверхности, с равным весом точек. Анализируя полученную поверхность видим, что наклон небольшой, допустимый для залежей данного региона. «Подсадим» плоскую поверхность на точки (Surface resampling) и проверим замыкание структуры – создав полигон пересечения поверхности с кровлей пласта. Теперь именно эту поверхность назовем «vnk yug 1 red», а старую с этим именем удалим.
При необходимости
расширим (Extend) поверхность. Включим пятый профиль (рис.3.36) и поверхность ВНК. Обратим внимание, что в скважина 53 коллектор с насыщением «вода» находится выше ВНК. Поскольку эта скважина с большим удлинением, введем поправку в инклинометрию скважины, изменив ее альтитуду в Настройках для скважины с 78 м на 74 м. При этом скважина передвинется вниз и водоносный коллектор будет ниже ВНК. В скважинах 60, 47 и 42 коллекторам с неопределенным характером насыщения с помощью инструмента «ведро» присвоим насыщение «нефть». Передвинем разбивки ВНК в скважинах на месте пересечения поверхности, которая отображается пунктиром, с траекториями скважин.
3-27
Аналогично поступим с четвертым профилем. Здесь добавим 3 м в альтитуду скважины 45 (с 80 на 83), чтобы подошва нефти была выше ВНК. В скважине 36 высокая
нефть
не
противоречит
ВНК,
но,
как
мы
помним,
она
сильно
рассогласовывалась с сейсмической картой, да и углы наклона структуры в ее окрестности аномально большие. Поэтому в ней тоже введем поправку в инклинометрию 20 м (с 77 на 57). Проставим разбивки ВНК в скважинах в месте пересечения поверхности с траекториями скважин. Перейдем к третьему профилю. В скважине 99 зальем воду ниже ВНК, а в скважинах 86 и 87 – нефть выше ВНК. Проставим разбивки ВНК в скважинах в месте пересечения поверхности с траекториями скважин. Только в скважинах 32 и 59 поставим их чуть пониже подошвы нефти (рис.3.37). Перейдем ко второму профилю. В аномально низкой скважине 55 введем поправку в инклинометрию 20 м (с 78 на 98). В 18 – 4 м (с 78 на 82). В 16 – 9 м (с 78 на 69). Проставим разбивки ВНК в скважинах в месте пересечения поверхности с траекториями скважин. Только в скважинах 31 и 16 поставим их чуть повыше кровли воды (рис.3.37). В первом профиле ничего трогать не будем, проставим разбивки, в скважине 15 – чуть выше кровли воды (рис.3.37).
3-28
Конвертируем отбивки ВНК этого пласта в точки, «подсадим» на них поверхность (рис.3.38). Отредактируем краевые эффекты прямо в трехмерном окне и окончательно «подсадим» на точки, но уже с малым радиусом. Для контроля проделанной работы будем визуализировать каротаж насыщения по скважинам и поверхность ВНК в трехмерном окне. Но перед этим, поскольку мы вводили поправки в инклинометрию и разбивки сдвинулись, обязательно «подсадим» все наши четыре поверхности структурного каркаса на соответствующие отбивки (поверхность Str top bc10 1 – на top_BC10_1 и т.д.). В скважинах, которые мы двигали, в отчете отмечается расхождение (diff. before) перед корректировкой поверхности на отбивки. Можно также еще раз проверить замыкание структуры.
3-29
Щелкнем правой кнопкой мыши по папке стратиграфических разбивок Well tops и через контекстное меню создадим Зональный каротаж (Zone log) (рис.3.39). При создании этого каротажа первая зона получает индекс 0, вторая – 1, третья – 2. Используем этот каротаж для создания в калькуляторе каротажа характера насыщения для визуализации в трехмерном окне. Мы хотим, чтобы этот каротаж существовал только для первой зоны и только для коллекторов. Для этого в калькуляторе Глобальных каротажей создадим каротаж Kod_fluid_viz=Kod_fluid_work с шаблоном Fluids и напишем для него условие Kod_fluid_viz=If( Zone_log_linked_to_Well_tops=0 And Kod_coll=1, Kod_fluid_viz, U).
В трехмерном окне визуализируем поверхность ВНК и каротаж Kod_fluid_viz. Сделаем для него следующие установки: визуализацию как 3D трубка (Draw log as 3D pipe), минимум 0, максимум 2, цвет – как свойство (As property). Просмотрим по площади все скважины, убедившись, что все нефтяные пропластки находятся выше поверхности ВНК, а водоносные – ниже.
3-30
4. Построение каркаса и ВНК В закладке Процессы откроем папку Структурного моделирования (Structural modeling) и, дважды кликнув мышкой, активизируем процесс Создания модели (Define model). Зададим имя модели – Test. В двумерном окне включим все карты ВНК, кроме северо-восточной залежи (ее моделировать не будем). Создадим вокруг них замкнутый полигон, отступая от краев 0,5-1,5 км (рис.4.1). Назовем его Poligon model. Теперь активизируем процесс создания сетки Pillar gridding и зададим размеры сетки 50 на 50 метров. Apply пока не нажимаем.
При активном процессе Pillar gridding вызываем через правую кнопку мыши, встав на полигон модели, опцию конвертации полигона в границу модели. Эта граница (Boundary) появится в модели разломов (Fault model). Отметим, что эта опция возникает только при активном процессе Pillar gridding, если просто встать на полигон, то нажав правую кнопку мыши мы ее не увидим. Теперь нажимаем Apply и потом обязательно OK, соглашаемся при вопросе о создании сетки (Sceleton), и сетка создается. Зайдя на закладку Статистики (Statistics) в Настройках (Settings) грида, можно посмотреть число созданных двумерных ячеек. Приступим к созданию горизонтов каркаса. Активизируем процесс Создания горизонтов (рис.4.2) и закинем туда в качестве исходных данных наши четыре 4-1
структурные поверхности по пластам (в столбец Input #1) и стратиграфические разбивки (в столбец Well tops). Горизонты создадутся с именами стратиграфических разбивок.
Следующим шагом произведем разбиение созданных трех зон на прослои, то есть нарезку слоев (процесс Layering). Тип нарезки возьмем пропорциональный, пласты у нас относительно простые, без размывов. Количество слоев для каждой зоны определим так. Посмотрим в Статистике для карты стратиграфических толщин (изохоры) для первой зоны среднее (около 13 м). Прибавим к нему величину стандартного отклонения (около 3,5 м) – всего будет 16,5 м. Разделим на величину 0,3 м – среднее между величиной отсчетов по каротажу 0,2 м и величиной минимальной мощности пластов 0,4 м, выделяемых при интерпретации каротажа. Полученную величину округлим в большую сторону, чтобы ячейки были потоньше, и получим 60. Аналогично для второй зоны зададим 45 слоев, а для третьей – 50. Завершив процесс нарезки слоев, посмотрим Статистику для грида – общее число трехмерных ячеек будет около 25-30 млн. Создадим несколько полезных кубов. Для этого в Процессах моделирования свойств (Property modeling) активизируем процесс Геометрического моделирования (Geometrical modeling) и создадим новое свойство (рис.4.3), то есть куб высоты ячеек, выбрав метод Высота ячейки (Cell height). Создадим также параметр объема (Cell volume) ячейки и индекса зоны (Zone index). Визуализируем куб индекса зоны в трехмерном окне и включим в правом меню 4-2
I или J сечение. Щелкая курсором по стрелочкам в правом меню, прогоним взад и вперед сечения куба индекса зоны, анализируя куб на предмет наличия неестественных увеличений или уменьшений мощности пластов. Если таковые имеют место, значит что-то неправильно было сделано при построении каркаса. Следует помнить, что правое меню с кнопочками сечений и фильтром присутствует, если активен какой-либо из процессов моделирования свойств – при редактировании, например, поверхностей правое меню будет другим. Включим фильтр для свойств, кликнув воронку из правого меню или вызвав его из Настроек (Settings) для папки Свойств (Properties) в 3D-гриде. Включим фильтр для второй зоны (рис.4.3). В Petrel параметры, по которым в текущий момент установлен фильтр, подкрашиваются пурпурным цветом. Посмотрим гистограмму высоты ячеек для второй зоны. Для этого зайдем в Настройки (Settings) куба высоты ячеек и на закладке Гистограммы (Histogram) нажмем кнопку фильтра, она подкрасится коричневым. Убедимся, что величины толщин ячеек достаточно малы, нет аномально больших значений.
Займемся созданием контактов. В первую очередь они нам будут нужны для вычисления параметра удаленности ячейки от ВНК. Встанем на какой-нибудь из горизонтов модели и через правую кнопку мыши конвертируем его в структурную поверхность (рис.4.4).
4-3
После этого присвоим этой поверхности значение 1000 м, то есть заведомо выше поверхностей ВНК, и назовем ее vnk1calk. Будем создавать из этой поверхности поверхность ВНК для первого пласта. В
Операциях
для
поверхности выберем метод Объединение поверхностей А и Б, сохраняя Б (рис.4.4). В качестве второй поверхности выберем поверхность ВНК для северной пласта,
залежи закинем
первого ее
и
объединим поверхности в одну.
Далее сделаем эту процедуру еще два раза – с
поверхностями ВНК для первого пласта для центральной и южной залежей. Для второго пласта сделаем все аналогично и получим поверхность vnk2_calk – объединенную поверхность -1000 с поверхностью ВНК для северной залежи второго пласта. Для третьего пласта поверхность vnk3_calk также получим из плоской поверхности -1000 и двух поверхностей ВНК для северной и центральной залежей, северо-восточную залежь моделировать не будем. Созданные поверхности сложим в папку. Активизируем (рис.4.5) процесс Создания контактов (Make contacts). Удалим, если надо, кнопкой с красным крестом газовый контакт. Укажем галочкой, что создаем для всех сегментов. Для каждой зоны закинем свою поверхность ВНК. Созданный набор контактов (Set) появится в папке флюидных контактов в модели (внизу).
4-4
Зайдем в Операции для этого Contact set и создадим (Make property) дискретное свойство Контакты (выше-ниже поверхностей контактов). При этом нужно следить, что программа предлагает создать над контактом и что – под ним, в случае необходимости исправить нефть на воду. Прицепим его к шаблону General discrete с коричневым цветом выше ВНК и синим – ниже ВНК. Активизировав процесс Геометрического моделирования (Geometrical modeling), создадим куб удаленности ячеек от ВНК (Above contact), закинув Oil water contact из папки Флюидных контактов в окно процесса. Сохраним проект. Визуализируем куб удаленности ячеек от ВНК Oil water contact и, включая поочередно фильтр по зонам и щелкая мышкой по ячейкам, убедимся, что положительные значения куба присутствуют только в структурах над поверхностями ВНК, а остальные значения куба равны 0. В папке Properties нашего 3D-грида создадим подпапку Dop cubes и перетащим мышкой в нее все свойства, которые мы создали в процессе Геометрического моделирования (Geometrical modeling).
4-5
5. Осреднение скважинных данных на сетку Осреднение скважинных данных на сетку начнем с того, что создадим непрерывный каротаж литологии Litho_cont из дискретного каротажа литологии (рис.5.1). Запустим процесс осреднения скважинных данных на сетку (scale up well
Рис.5.1.
logs) для этих двух каротажей и получим в модели два новых куба Kod_coll[U] и Litho_cont[U]. Наличие расширения U в названии указывает на наличие в кубе осредненных из скважинных данных ячеек. При мелких ячейках выбор метода осреднения практического значения не имеет. Непрерывную литологию прицепим к шаблону Fraction и раскрасим от зеленого до желтого. Создадим в Properties папочку ScUp и переместим дискретный и непрерывный кубы литологии по скважинам в эту папку.
5-1
Включим какую-нибудь схему корреляции, установим вертикальный масштаб покрупнее (100 или 200) и включим кубы литологии (рис.5.2). Пересечения кубов с траекториями скважин визуализируются в корреляционном окне. В правом меню включим визуализацию ячеек сетки и прокрутим схему корреляции, сравнивая каротаж
Рис.5.2.
литологии с Kod_coll[U] и Litho_cont[U] из модели. Убедимся, что ячейки у нас достаточно мелкие, чтобы тонкие пропластки не затирались при переносе на сетку.
Рис.5.3.
5-2
Перейдем к осреднению пористости и насыщенности. Зайдем в Настройки (Settings) скважин и перейдем в закладку Создание каротажей (Make logs), а в ней – создание из зон (рис.5.3). Создадим каротаж зон Zonelog for 'Test model/3D grid'. К сожалению, мы не могли воспользоваться сделанным ранее каротажем зон из стратиграфических разбивок Zone log linked to 'Well_tops', поскольку он не создался там, где некоторые разбивки отсутствовали, например в скважине 115 для верхнего пласта. А каротаж зон Zonelog for 'Test model/3D grid' создался и там. Сделаем
рабочий
каротаж
пористости
Poro=Kpor.
Затем
сделаем
его
неопределенным вне наших продуктивных пластов и в неколлекторах Poro=If( Zonelog_for_Test_model_3D_grid=U Or Kod_coll=0, U, Poro). Задание неопределенных значений в неколлекторах страхует от занижения значений пористости в ячейкахколлекторах, часть которых заезжает на каротаж неколлектора. Наконец, сделав условие Poro=If( Poro0.27, U, Poro), уберем ошибочные значения ниже и выше граничных для коллекторов. Естественно, при этом перестроится гистограмма.
Рис.5.4.
5-3
Аналогично создадим рабочий каротаж насыщенности Sat=Soil, оставим значения
только
в
продуктивных
Sat=If(Kod_fluid_work=1,
Sat,
U)
и
интервалах обрежем
скважин по
в
пределах
граничным
модели
значениям
для
нефтенасыщенных (рис.5.4) коллекторов Sat=If( Sat0.8, U, Sat). Следующим шагом запустим процесс осреднения скважинных данных на сетку (scale up) для каротажей Poro и Sat (рис.5.5).
Рис.5.5.
При осреднении используем арифметический метод и, осуществляем привязку (bias) к дискретному каротажу литологии. В целях упражнения было полезно руками удалить все значения пористости в глинах и вне модели. На самом деле именно опция bias в Petrel совместно с настройками перемасштабирования Treat log: As points и Method: Simple – без дополнительного редактирования данных обеспечивает корректное осреднение непрерывных показателей на основе литологии, без занижения значений в коллекторах. Поставим фильтр по песчаникам по Kod_coll [U]. Откроем гистограмму Poro[U], нажмем воронку фильтра и убедимся по гистограмме и статистике в корректности значений. Добавим фильтр от 0.1 и выше по параметру удаленности ячеек от ВНК (Oil water contact). Откроем гистограмму Sat[U], нажмем воронку фильтра и убедимся по гистограмме и статистике в корректности значений. Снимем все фильтры (Reset all filters) и сохраним проект.
5-4
6. Построение куба литологии Построение куба литологии начнем с создания в калькуляторе для кубов дискретного куба зон глинизации (рис.6.1) со значением 1. Запустим процесс Геометрического моделирования (Geometrical modeling) и выберем созданный куб glina_cub. Выберем метод присвоения (assign) значений и закинем полигон зон глинизации для первой зоны. Укажем, что значения 0 будут присваиваться всем ячейкам внутри полигона, а для остальный ячеек – без изменений (unchanged). Процесс присвоит всем ячейкам куба, которые находятся внутри полигона, значения 0.
Недостатком процесса Геометрического моделирования является то, что он присваивает значения сразу на всю модель, а фильтра по зонам нет. Поэтому создадим другой временный дискретный куб glina_cub2=1 и аналогичным образом обнулим его внутри полигона глинизации уже для второй зоны. Теперь, написав в калькуляторе условие glina_cub=If(Zones_hierarchy=0, glina_cub, glina_cub2), присвоим кубу зон глинизации значения для второй зоны, не трогая первую. Остается сделать третью
6-1
зону. Это можно сделать аналогично как для второй зоны, но мы сделаем это несколько по-другому. Вначале скопируем карту песчанистости для третьей зоны, переименуем ее в glina map zone 3, прицепим к дискретному темплейту General integer, присвоим ей значения 0 (обнулим) в калькуляторе. Внутри полигона зон глинизации для третьей зоны присвоим этой карте значения 1, используя фильтр, как мы это делали ранее. Помним, что выставляем фильтр внутри (Apply inside) полигона. Имеем дискретную (0 и 1) карту зон глинизации. Вызовем процесс Фациального моделирования (Facies modeling) и выберем куб зон глинизации (рис.6.1). Первую и вторую зону не трогаем, выбираем третью зону и отжимаем замочек слева. Выбираем метод Присваивания значений (Assign values) и закидываем карту glina map zone 3. Процесс создает по карте значения в кубе для третьей зоны. Визуализируем куб зон глинизации, включив фильтр по глинам. Включая поочередно фильтр по зонам, убедимся, что все сделано корректно. Заметим, что для непрерывного куба это можно было бы сделать проще, зайдя в Операции для куба и выбрав там присвоение значения по карте с учетом зоны и фильтра.
6-2
Перед началом моделирования литологии для первой зоны проанализируем вертикальную степень изменчивости свойств. Откроем процесс Анализа данных (Data analysis) и вверху выберем дискретное свойство литологии по скважинам для первой зоны (рис.6.2). Процесс Анализа данных для достаточно большой модели (26 млн. ячеек) требует существенных ресурсов оперативной памяти, поэтому на «слабых» компьютерах может помочь отключение всех окон или даже их удаление (главное – потом перезагрузить проект без сохранения). Укажем код фации песчаник (Sand), перейдем в закладку Вариограмм (Variograms), выберем вертикальную, выставим радиус поиска (Search radius) 5 метров. Хватая за синие квадратики, подгоним вариограмму к точкам. Вертикальный радиус (range) будет при этом около 4-4,5 метров. Следует помнить, что радиус вариограммы – это величина, больше которой всякая взаимосвязь между точками теряется. Достаточно сильная же корреляция свойств наблюдается на величине около 1/3 радиуса, то есть около 1,5 метров. Откроем закладку толщин (Thickness), оставим только песчаники и зададим величину бина полметра, нажмем Apply. Получим гистограмму распределения толщин пропластков, среднее около 2 метров. Запомним это число. Горизонтальные вариограммы строить не будем, обычно они плохо получаются из-за нехватки данных, скважины ведь вертикальные. Исходить будем из следующего. Измерим линейкой из правого меню (рис.6.2) расстояние от краевых скважин до границы модели – будет около 6 км. Чтобы модель получилась достаточно гладкой оценим горизонтальный радиус вдвое больше, то есть 12 км. Сделаем копию куба непрерывной литологии по скважинам и запустим процесс Петрофизического моделирования (рис.6.3). Выберем наш куб и первую зону, отожмем замочек слева, выберем метод моделирования – кригинг (Kriging). Установим горизонтальные радиусы 12 км. По поводу же ранга вертикальной вариограммы существует правило: корректное моделирование свойств возможно в модели, средняя мощность слоя которой меньше половины ранга вертикальной вариограммы. В данном случае средняя толщина ячейки в модели 0,2-0,3 м, а ранг 4 м – следовательно связность при моделировании свойств по вертикали с таким рангом сохраниться. Диапазон выходных параметров поставим от 0 до 1, в качестве вторичной переменной используем карту песчанистости для первого пласта, запустим процесс. Хотя для реальных задач корреляция 0,3 между картой и моделируемым свойством достаточно мала – в качестве примера мы все-таки ей воспользуемся. 6-3
Если у Вас устаревший или «слабый» компьютер и расчет идет очень медленно, то можно остановить процесс моделирования и попробовать уменьшить ранги вариограмм. Такие действия, конечно, могут привести к некорректному с точки зрения геостатистики моделированию свойств, но в целях получения результата для перехода к следующим упражнениям мы можем пойти на это.
Используя полученный непрерывнй куб, создадим дискретный куб литологии, применяя простую отсечку 0.5: Lito_krig1=If(ScUp\Copy_of_Litho_cont