Программные комплексы для исследования сейсмических сигналов
На сегодняшний день выработан ряд подходов к управлению информацией и результатами геолого-геофизического моделирования. В зависимости от масштаба, традиций и накопленного опыта в различных нефтегазовых компаниях используется целый спектр решений – от разнообразных файловых архивов до самостоятельно созданных и коммерческих баз данных съемок и результатов моделирования.
На сегодняшний день существует достаточно много программных пакетов, которые можно разделить на две категории:
1. простые программы для решения отдельных задач геофизического исследования и анализа сейсмических данных;
2. программные комплексы, осуществляющие полный цикл решения геолого-геофизических задач.
Существует много свободного и открытого программного обеспечения для отдельных задач обработки и интерпретации геофизических данных. Перечень их разделен на широкие категории, в зависимости от предполагаемого использования программного обеспечения и его объема функций.
Следует отметить, что "свободный и открытый источник" требует, чтобы исходный код был доступен. Данный код легкодоступен в интернете, однако он не способен удовлетворить большинство потребностей геофизиков.
Все эти пакеты обработки сейсмологии включают элементы моделирования, визуализации и инверсии. Они относительно низкого уровня, а в некоторых случаях имеют свои собственные форматы данных и включают в себя обучение, имеющее обширный синтаксис или метаязык. Наиболее известные программы представлены в списках (таблицы 2.1-2.3).
Таблица 2.1. – Свободное программное обеспечение для сейсмической обработки
Имя | Описание | Разработчик | Лицензия | Платформа | Язык программирования | Замечания |
Продолжение таблицы 2.1
Madagascar | Многомерный анализ данных, включая сейсмическую обработку | Sergey Fomel and others | GPL | Cross-platform | C, C++, Python | Использует сложное интегрирование с пакетами Fortran 77, Fortran 90, Python, Java, MATLAB, что приводит к ограничению по размеру обрабатываемых данных и долгим вычислениям |
FreeUSP | Сейсмическая обработка | Amoco, BP | Custom | Unix, Linux | Fortran 77, C | Реализовано только для персональных компьютеров. Вычисления не оптимизированы |
FreeDDS | Сейсмическая обработка | Amoco, BP | Custom | Unix, Linux | Fortran 77, C | Чтение и запись форматов (SEGY, SU, SEPlib, USP) |
PSEIS-OSS | Сейсмическая обработка | Randy Selzler | GPL | Unix, Linux | Fortran 77, C | Работает с форматами (SEGY, SU, SEPlib, USP, Madagascar), однако ориентирован только для работы с ПК. Но может использоваться как образец для разработки новых модулей. |
CWP/SU (Seismic Un*x) | Сейсмическая обработка | Stanford, Colorado School of Mines | BSD-style | Unix, Linux, OS X, Cygwin 32 | C, some Fortran 77 | Реализовано только для персональных компьютеров. Вычисления не оптимизированы, Однако часто используется в университетских разработках (его используют более 69 университетов). |
CPSeis | Сейсмическая обработка | ConocoPhillips | MIT | Cross-platform | Fortran 90, C++ | Фильтрация. Есть ограничения по доступу и лицензии |
Продолжение таблицы 2.1
SPARC | Сейсмическая обработка | ARCO | GPL | Cray | Fortran | Реализация методов на основе отраженных волн, решение задачи миграции |
SEPlib | Сейсмическая обработка | Stanford University | Custom | Cross-platform | Fortran, C | Экспериментальная платформа для работы университетских команд. |
GeBR | Сейсмическая обработка | Various contributors, Brazil | GPL | Linux | C | Дополнительные интерфейсы для работы на платформе Madagascar, etc. |
OpenSeaSeis[10] | Сейсмическая обработка | Bjorn Olofsson, Colorado School of Mines | BSD-style | Linux, Windows, OS X | C, C++, Java | Интерфейсы с данными формата SU. Читает наиболее распространенных SEGY и подмножество форматов SEGD. Предназначен для морской сейсморазведки |
Таблица 2.2. – Утилиты обработки методом отраженных волн
Имя | Описание | Разработчик | Лицензия | Платформа | Язык программирования | Замечания |
BotoSeis | Сейсмическая обработка | Williams Lima, Brazil | GPL | Cross-platform | Java | Управляющие интерфейсы для пакета Madagascar. |
Delivery | Байесовская инверсия | CSIRO | GPL, BSD-style | Cross-platform | Java | Решения обратной сейсмической задачи, есть проблемы с доступом к программному коду |
Продолжение таблицы 2.2
GSEGYView | отображение SEG-Y файлов | Vladimir Bashkardin | GPL | Cross-platform | Fortran, C | Простой просмотр сейсмограмм | |
GPLib++ | Сейсмическая и магнитотеллурическая обработка | Max Moorkamp, Dublin Inst. Adv. Studies | GPL | Unix, Linux | C++ | Сложная установка, работа только на ПК | |
JavaSeis | Предварительная обработка данных сейсмического ввода / вывода | ARCO | CPL | Cross-platform | Java | Не оптимизированы вычисления, ограничены функции обработки | |
kogeo | Геофизический анализ и визуализация | University of Hamburg | GPL | Windows | C++ | Не оптимизированы вычисления, ограничены функции обработки | |
Mines JTK | Обработка сигналов | Dave Hale, Colorado School of Mines | CPL | Cross-platform | Java | Не оптимизированы вычисления, ограничены функции обработки | |
JRG | Моделирование и базовая обработка | John Louie, University of Nevada | Custom | Cross-platform | Java | Базовый пакет обработки и отражения форматов SEG-Y, SAC, и акустических файлов ввода / вывода. | |
Jive3D | Моделирование и топографическая инверсия | James Hobro, University of Cambridge | Custom | Unix, Linux | Fortran | Устаревшая библиотека | |
Продолжение таблицы 2.2
PySIT | Отображение и инверсия | Russell Hewett & Laurent Demanet, MIT | BSD 3-clause | Unix, Linux | Python | Неоптимизированные скрипты, которые можно адаптировать для работы на разных платформах |
SegDSee | Просмотрщик SEG-D и SEG-B файлов | Sergey Pavlukhin | Custom | Cross-platform | C++, Qt | Только просмотрщик, без функционала. |
Segpy | Чтение и запись SEG-Y файлов | Rob Smallshire, Thomas Mejer Hansen | LGPL | Cross-platform | Python | Только просмотрщик, без функционала |
segy-py | Чтение и запись SEG-Y файлов | Kurt Schwehr, Google | Custom | Cross-platform | Python | Пилотный проект анализа SEG-Y файлов |
SIOSEIS | Сейсмическая отражение и обработка преломления | Paul Henkart, SIO | BSD | Linux and CYGWIN | gfortran, gcc | Пилотный проект, включающий несколько исполняемых модулей с разной нагрузкой |
SLIMpy | Предварительная обработка | Felix Herrmann, Univ. of British Columbia | LGPL | Cross-platform | Python | Управляющие интерфейсы для пакета Madagascar. |
WaveletExtractor | Каротажные связи | CSIRO | GPL, BSD-style | Cross-platform | Java | Плохо организован доступ к исходным кодам |
Таблица 2.3. – Пакеты визуализации и интерпретации
Имя | Описание | Разработчик | Лицензия | Платформа | Язык программирова-ния | Замечания |
OpendTect | Интерпретация и визуализация | dGB Earth Sciences | GPL or custom | Cross-platform | C++ | Interfaces with Petrel, Madagascar, GMT, Google Earth/Maps |
GeoTriple for Oil&Gas Exploration | Измерения, отображение, анализ | Geoforge project | LGPL | Cross-platform | Java | Интерфейсы пакета WorldWind, которые не оптимизированы по вычислениям |
GeoCraft | Анализ и визуализация | ConocoPhillips | MIT | Cross-platform | Java | |
qiWorkBench | Геофизическая интерпретация и визуализация | BHP Billiton Petroleum | GPL, BSD | Cross-platform | Java | |
Generic Mapping Tools | Генерация карт | Lamont-Doherty and University of Hawaii | GPL | Cross-platform | C | Для манипулирования географическими и декартовыми наборами данных (включая фильтрацию, тенденцию установку, гриддинг, проектирование и т.д.) и построение PostScript иллюстрации, начиная от простых X-Y участков через контурные карты до искусственно оперяемых поверхностей и 3D перспектив |
Продолжение таблицы 2.3
ParaViewGeo | расширение ParaView | Kitware ParaView, MIRARCO | BSD | Cross-platform | C++, Python | Ориентирован на добычу и привязан к коммерческому пакету |
GI | Геофизическая интерпретация и визуализация | GPL | Cross-platform | C++, Qt | Удобный инструмент визуализации каротажных данных, легко портируется в другие программные пакеты путем небольшой доработки по адресации программных данных |
На основании выполненного анализа следует обратить внимание на пакеты GI, Generic Mapping Tools, как наиболее перспективные для встраивания в собственное программное обеспечение. Пакеты Segpy, segy-py, PySIT включают в себя наборы скриптов, которые также могут быть использованы в разработке, а пакеты на основе ГеоПоиск, Paradigm, ESRI и Schlumberger можно отнести к наиболее интересным в плане рассмотрения.