Bienvenidos a "Geoscience for Dummies", un espacio dedicado a la divulgación y análisis en el campo de las geociencias, creado por estudiantes y egresados del Instituto Politécnico Nacional especializados en ingeniería geofísica con énfasis en la exploración petrolera y métodos de exploración potencial. Nuestro objetivo es desmitificar y explicar de manera accesible los conceptos clave de las geociencias.

Únete al mejor blog de divulgación sobre geociencias

14229

Entradas populares

Introducción a Seismic Unix en Ubuntu

Introducción

Seismic UNIX: La Historia y Relevancia de una Herramienta Clave en la Geofísica


El análisis y procesamiento de datos sísmicos representan el núcleo de muchas disciplinas de la geofísica moderna, particularmente en la exploración de recursos naturales como el petróleo y el gas. Entre las diversas herramientas disponibles para este propósito, Seismic UNIX (SU) ha sobresalido como una solución de código abierto, poderosa y flexible, utilizada por académicos, estudiantes e investigadores alrededor del mundo. Este artículo examina a fondo la evolución de SU, sus características técnicas, aplicaciones y su impacto en la industria y la academia.
El Contexto Histórico: Nacimiento de Seismic UNIX

A principios de los años 80, el procesamiento de datos sísmicos estaba dominado por sistemas propietarios costosos y rígidos, como SYSGEN, que dificultaban la experimentación y el acceso en entornos académicos. El procesamiento sísmico requería computadoras centrales, lo que lo hacía exclusivo de grandes corporaciones o instituciones con recursos significativos.

Fue en este contexto que el Center for Wave Phenomena (CWP) de la Universidad de Colorado en Boulder desarrolló Seismic UNIX. El equipo, liderado por John Stockwell, Norman Bleistein y otros investigadores, buscaba crear una herramienta que:

  • Fomentara la investigación y la educación al ser accesible y gratuita. 
  • Facilitara el desarrollo de nuevos algoritmos al ser modular y transparente. 
  • Aprovechara la flexibilidad de los sistemas UNIX, que ofrecían herramientas integradas como pipelines y scripting para automatizar flujos de trabajo.

El resultado fue un software que, al ser reescrito en C, ofrecía mayor portabilidad, eficiencia y modularidad que su predecesor. Este diseño innovador marcó un punto de inflexión en la manera en que se realizaba el procesamiento sísmico en ambientes académicos.
Diseño y Filosofía de Seismic UNIX

El diseño de SU se basa en la filosofía de los sistemas UNIX: “haz una sola cosa y hazla bien”. Cada programa o módulo dentro de SU está diseñado para realizar una tarea específica, como leer datos, aplicar un filtro, calcular transformadas o visualizar resultados. Esto permite a los usuarios combinar programas de manera flexible para construir flujos de trabajo personalizados.
Características Clave
 
  • Código Abierto: SU está disponible gratuitamente, y su código fuente puede ser modificado por los usuarios, fomentando la colaboración global.
  • Modularidad: Los programas individuales pueden conectarse entre sí usando pipes (|), lo que facilita la creación de procesos complejos.
  • Documentación Extensiva: Cada módulo incluye documentación detallada, lo que facilita su aprendizaje y uso.
  • Portabilidad: Compatible con sistemas UNIX y Linux, SU puede ejecutarse en una amplia variedad de plataformas, desde computadoras personales hasta supercomputadoras.

Estructura Interna y Formatos de Datos


Seismic UNIX utiliza un formato binario propietario que es una variante simplificada del estándar SEG-Y, ampliamente utilizado en la industria. Este formato facilita el almacenamiento eficiente de trazas sísmicas y metadatos asociados.
Componentes Principales del Formato
 
  • Cabecera Binaria: Contiene información sobre el levantamiento sísmico, como la ubicación de las fuentes y receptores, las velocidades de muestreo, y los intervalos de profundidad.
  • Datos de Trazas: Almacena las amplitudes de las señales registradas en formato binario.

La arquitectura modular de SU permite procesar grandes volúmenes de datos en pasos secuenciales. Por ejemplo, los datos pueden ser ordenados con susort, filtrados con sufilter y finalmente visualizados con suxwigb.
Eficiencia y Rendimiento

El uso del lenguaje C dota a SU de un rendimiento computacional superior en comparación con otros sistemas basados en lenguajes interpretados. Esto es especialmente crítico cuando se manejan conjuntos de datos sísmicos grandes, que pueden consistir en millones de trazas.
Aplicaciones Prácticas de Seismic UNIX

El alcance de SU va mucho más allá del procesamiento básico de datos sísmicos. Su flexibilidad y accesibilidad lo han convertido en una herramienta esencial para una variedad de aplicaciones.

1. Procesamiento Sísmico


El procesamiento de datos sísmicos incluye una serie de pasos diseñados para convertir las señales registradas en el subsuelo en imágenes útiles para la interpretación. SU cubre todas las etapas del procesamiento, incluyendo:

  • Preprocesamiento: Eliminación de ruido, corrección de datos perdidos y normalización de amplitudes.
  • Análisis de Velocidades: Estimación de modelos de velocidad para mejorar la precisión de las imágenes migradas.
  • Apilamiento: Combinación de múltiples trazas para aumentar la relación señal-ruido.
  • Migración: Reubicación de eventos reflejados para corregir geometrías subsuperficiales.

2. Investigación Académica

Gracias a su código abierto, SU es ampliamente utilizado por investigadores para probar y desarrollar nuevos algoritmos. Algunos ejemplos incluyen:

  • Métodos avanzados de migración, como la migración por tiempo inverso (RTM).
  • Supresión de reflexiones múltiples mediante algoritmos de deconvolución adaptativa.
  • Inversiones sísmicas para estimar propiedades petrofísicas como la porosidad y la saturación de fluidos.

3. Docencia y Capacitación

Universidades de todo el mundo utilizan SU para enseñar procesamiento sísmico. Sus módulos y su interfaz basada en línea de comandos permiten a los estudiantes comprender los fundamentos del procesamiento sísmico y experimentar con diferentes técnicas. Además, SU fomenta habilidades de programación y análisis de datos.

4. Conversión de Formatos de Datos


La interoperabilidad es crucial en la industria sísmica. SU permite convertir datos entre diferentes formatos, como SEG-Y y su propio formato binario, lo que facilita la integración con software comercial.
Fortalezas de Seismic UNIX

El éxito y la longevidad de SU se deben a una serie de fortalezas clave:

  • Accesibilidad: Como software gratuito, SU democratiza el acceso a herramientas avanzadas de procesamiento sísmico.
  • Flexibilidad y Adaptabilidad: Su diseño modular permite a los usuarios personalizar flujos de trabajo y adaptarse a necesidades específicas.
  • Compatibilidad: Su capacidad para ejecutarse en sistemas UNIX y Linux lo hace ampliamente disponible.
  • Apoyo Comunitario: Una activa comunidad de usuarios y desarrolladores mantiene SU actualizado y relevante.

Limitaciones y Desafíos

Aunque SU es una herramienta poderosa, no está exenta de limitaciones:

  • Curva de Aprendizaje Pronunciada: Los nuevos usuarios deben familiarizarse con la línea de comandos y los conceptos básicos de UNIX.
  • Herramientas de Visualización Limitadas: Aunque SU incluye programas para visualizar datos sísmicos, carece de las capacidades avanzadas de software comercial como Petrel o OpendTect.
  • Falta de GUI: La ausencia de una interfaz gráfica puede ser desalentadora para algunos usuarios.
  • Módulos Obsoletos: Algunos algoritmos no reflejan los avances recientes en procesamiento sísmico.

Impacto de Seismic UNIX en la Geofísica

El impacto de Seismic UNIX en la geofísica ha sido inmenso. Ha democratizado el acceso a herramientas avanzadas de procesamiento, permitiendo a universidades y pequeños equipos de investigación competir con las capacidades de grandes corporaciones. Además, SU ha servido como plataforma de experimentación para nuevos métodos, acelerando el desarrollo de técnicas innovadoras.
Futuro de Seismic UNIX

A medida que la geofísica evoluciona, SU enfrenta nuevos desafíos. Entre las oportunidades para su desarrollo futuro se encuentran:

  • Integración con Tecnologías Modernas: Como Python, para combinar su poder de procesamiento con herramientas de visualización modernas como Matplotlib.
  • Procesamiento Paralelo: La adaptación de SU a arquitecturas de computación de alto rendimiento (HPC) permitiría manejar volúmenes de datos aún mayores.
  • Visualización Mejorada: Desarrollar módulos interactivos que mejoren la experiencia del usuario.
  • Adopción en la Nube: La optimización para plataformas en la nube podría expandir su alcance a usuarios con recursos computacionales limitados.

Conclusión

Seismic UNIX es mucho más que un software de procesamiento sísmico: es un modelo de cómo la tecnología de código abierto puede transformar un campo académico y profesional. Su diseño modular, accesibilidad y robustez lo han convertido en una herramienta indispensable para investigadores, estudiantes y profesionales de la geofísica. A pesar de sus limitaciones, SU sigue siendo una de las plataformas más valiosas para comprender y avanzar en el análisis sísmico, y su legado probablemente continuará moldeando el futuro de la disciplina.


Instalación de Seismic Unix en Linux(Ubuntu)

Se comparte un código ejecutable (install_seismic_unix.sh) para poder instalar de una manera mucho más rápida Seismic Unix dentro de Ubuntu, el cuál es un archivo ejecutable; Antes de instalarlo, se deben cambiar los permisos para la ejecución:

Enlace del archivo: (LINK)

chmod +x 

El comando "chmod +x" en Linux se utiliza para cambiar los permisos de un archivo, específicamente para **hacerlo ejecutable**.

Desglose:

1. "chmod":

Es la abreviación de "change mode", y se usa para modificar los permisos de un archivo o directorio.

2. "+x":

Indica que se añadirá el permiso de ejecución ("execute") al archivo para los usuarios que ya tienen acceso al archivo (propietario, grupo o todos, dependiendo del caso).

3. "Archivo o ruta":

Después de "chmod +x", se especifica el nombre del archivo o su ruta.


Ejemplo:
Supongamos que tienes un archivo llamado `script.sh`:


Después de este comando:
- El archivo ahora puede ejecutarse como un programa o script.
- Podrás ejecutarlo usando:

Ahora cambiamos los permisos de nuestro archivo ejecutable:


Después, procedemos a ejecutar el archivo desde la terminal.  

Al momento de ejecutar el código, aparece un mensaje en el cuál te pide la confirmación de la instalación, le damos "Enter" y continuamos. El código ejecuta e instala todos los archivos necesarios para la instalación. Se deben leer las instrucciones en todo momento. Al llegar a la parte de instalación del software, se debe leer con detenimiento y dar "Enter" para proseguir con la instalación. Al momento nos realizará preguntas hasta llegar al 100% de la instalación.

Una vez terminada la instalación, se prosigue a comprobar la correcta instalación del software con el siguiente código:

suplane | suxwigb

El código suplane | suxwigb es un ejemplo básico en Seismic Unix (SU) que genera datos sintéticos de una onda plana y los visualiza en un gráfico de wiggle (suxwigb). 

  • suplane genera un archivo de datos sísmicos sintéticos donde las trazas tienen valores constantes (es decir, "planos").
  • Es comúnmente utilizado para pruebas y para verificar cómo funcionan otros programas en Seismic Unix.
  • Por defecto, el número de trazas y muestras, así como otros parámetros, pueden ser personalizados mediante opciones.

Ejemplo del comando suplane:

Donde:

  •     nt=64: Especifica 64 muestras por traza.
  •     ntr=32: Especifica 32 trazas.
  •     > output.su: Guarda el resultado en el archivo output.su.
Cuando no se especifican argumentos, suplane utiliza valores predeterminados.

El operador | (pipe)
  • El operador | conecta la salida de un comando como entrada para el siguiente.
  • En este caso, los datos generados por suplane son enviados directamente a suxwigb para su visualización. 

Comando suxwigb

  • suxwigb es un programa de Seismic Unix para visualizar datos sísmicos en formato wiggle.
  • Muestra las trazas sísmicas en un gráfico donde los valores positivos y negativos se representan como oscilaciones (curvas o "wiggles").

Parámetros comunes de suxwigb:

  • tlabel=: Etiqueta para el eje de tiempo.
  • xlabel=: Etiqueta para el eje de trazas.
  • title=: Título del gráfico.
  • xcur=: Posición de la ventana en la pantalla. 

Visualización del código:



Referencias Bibliográficas

[1] https://wiki.seismic-unix.org/start

Publicación realizada por Hugo Olea y Kevin García

Contactos: 

LinkedIn - Hugo Olea Kevin García

Correo - hugoolea03@gmail.com y kevingarciasce@gmail.com

No hay comentarios.:

Publicar un comentario