Программные комплексы для исследования сейсмических сигналов

На сегодняшний день выработан ряд подходов к управлению информацией и результатами геолого-геофизического моделирования. В зависимости от масштаба, традиций и накопленного опыта в различных нефтегазовых компаниях используется целый спектр решений – от разнообразных файловых архивов до самостоятельно созданных и коммерческих баз данных съемок и результатов моделирования.

На сегодняшний день существует достаточно много программных пакетов, которые можно разделить на две категории:

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 можно отнести к наиболее интересным в плане рассмотрения.

Наши рекомендации