Proyecto Procesamiento sismico

130
Universidad Simón Bolívar Departamento de Ciencias de la Tierra Procesamiento Sísmico MODELADO Y PROCESAMIENTO SÍSMICO DE UNA ESTRUCTURA DE CORRIMIENTO Y ESTRUCTURA TIPO FLOR POSITIVA UTILIZANDO EL PAQUETE SEISMIC UNIX Profesor: Realizado por: Ilich García Ada Zamora #06-40493 Carla Barbara #06-39202 Sartenejas, marzo de 2011

Transcript of Proyecto Procesamiento sismico

Page 1: Proyecto Procesamiento sismico

Universidad Simón Bolívar

Departamento de Ciencias de la Tierra

Procesamiento Sísmico

MODELADO Y PROCESAMIENTO SÍSMICO DE UNA

ESTRUCTURA DE CORRIMIENTO Y ESTRUCTURA TIPO

FLOR POSITIVA UTILIZANDO EL

PAQUETE SEISMIC UNIX

Profesor: Realizado por:

Ilich García Ada Zamora #06-40493

Carla Barbara #06-39202

Sartenejas, marzo de 2011

Page 2: Proyecto Procesamiento sismico

RESUMEN

El siguiente trabajo trata sobre el modelado y procesamiento básico de una data sísmica no

real de una estructura compleja utilizando el programa Seismic Unix (SU), para evaluar la

capacidad y utilidad de dicho programa para modelar y aplicar una secuencia de procesamiento

básica a una zona geológica de interés.

El modelo estructural elegido fue una zona que presenta una estructura tipo flor positiva

junto a una estructura de corrimiento, dicho modelo se graficó en papel milimetrado para calcular

coordenadas ficticias para su modelado sísmico en el programa SU. Luego se procedió a realizar el

trazado de rayos, el diseño sintético de adquisición sísmica, el análisis de velocidades, la

corrección NMO, y la migración post-apilamiento, todo esto utilizando dicho programa.

En el informe se señalan varias definiciones para la mayor comprensión de proyecto y una

explicación detallada del programa a utilizar y los pasos realizados para la obtención del los

resultados.

Page 3: Proyecto Procesamiento sismico

TABLA DE CONTENIDO

- Introducción

- Marco Teórico

- Marco Metodológico

Generación del modelo geológico del subsuelo

Generación del trazado de rayos

Modelado de Propagación de ondas acústicas

Análisis de Velocidad, Corrección NMO y Sección Apilada

Mute y Migración de la Data Sísmica

- Resultados y Análisis

Modelo Geológico en 2D generado con Seismic Unix

Trazado de Rayos y Propagación del frente de ondas a través del modelo

Trazado de Rayos y Frentes de Ondas

Sismogramas Sintéticos

Propagación de ondas acústicas en diferencias finitas para el modelo generado

Shots Gathers

Ordenamiento por CMP

Análisis de Velocidad, Corrección NMO y Sección Apilada

Mute y Migración de la Data Sísmica

Conclusiones

Referencias

Apéndice 1: 2_perfil_tri.sh

Apéndice 2: 6_varios_shots_rayos.ah

Page 4: Proyecto Procesamiento sismico

Apéndice 3: 8_varios_shots_acusticas.sh

Apéndice 4: 9_nmo.sh

Apéndice 5: 10_miga.sh

Page 5: Proyecto Procesamiento sismico

TABLA DE IMÁGENES

• Figura 1: Pasos básicos del procesamiento sísmico (Ilich García, 2008)

Figura2: Estructuras tipo flor negativa (A) y flor positiva (B).

Figura3: Modelo geológico asignado

Figura4: Merfil de Lentitud Cuadrática

Figura5: Perfil de Velocidad

Figura6: Modelo Triangular

Figura7: Trazado de Rayos en 2km para la interfaz 2

Figura8: Frente de Ondas en 2km para la interfaz 2

Figura9: Trazado de Rayos en 2km para la interfaz 3

Figura10: Frente de Ondas en 2km para la interfaz 3

Figura11: Trazado de Rayos en 2km para la interfaz 6

Figura12: Frente de Ondas en 2km para la interfaz 6

Figura13: Trazado de Rayos en 3km para la interfaz 3

Figura14: Frente de Ondas en 3km para la interfaz 3

Figura15: Trazado de Rayos en 3km para la interfaz 4

Figura16: Frente de Ondas en 3km para la interfaz 4

Figura17: Trazado de Rayos en 4km para la interfaz 8

Figura18: Frente de Ondas en 4km para la interfaz 8

Figura19: Trazado de Rayos en 2km para la interfaz 12

Page 6: Proyecto Procesamiento sismico

Figura20: Frente de Ondas en 2km para la interfaz 12

Figura21: Sismograma sintético en 2km para la interfaz 2

Figura22: Sismograma sintético en 2km para la interfaz 3

Figura23: Sismograma sintético en 2km para la interfaz 6

Figura24: Sismograma sintético en 3km para la interfaz 3

Figura25: Sismograma sintético en 3km para la interfaz 4

Figura26: Sismograma sintético en 4km para la interfaz 8

Figura27: Sismograma sintético en 2km para la interfaz 12

Figura28: Secuencia de imágenes de la película generada

Figura29: Shots Gathers correspondientes a un disparo en posición 2000m

Figura30: Shots Gathers correspondientes a un disparo en posición 3200m

Figura31: Shots Gathers correspondientes a un disparo en posición 4000m

Figura32: Shots Gathers correspondientes a un disparo en posición 5200m

Figura33: CMP Gathers

Figura35: CMP gather antes de la corrección (izquierda) y CMP gather después de la

corrección NMO

Figura36: Mapa de Semblanza para CMP=4000m

Figura37: CMP gather antes de la corrección (izquierda) y CMP gather después de la

corrección NMO

Figura38: Mapa de Semblanza para CMP=5000m

Figura39: CMP gather antes de la corrección (izquierda) y CMP gather después de la

corrección NMO

Page 7: Proyecto Procesamiento sismico

Figura 40: Sección apilada

Figura 41: Sección apilada sin migrar (izquierda) y sección apilada migrada (derecha)

Figura 41: Sección apilada sin migrar (izquierda) y sección apilada migrada (derecha)

Page 8: Proyecto Procesamiento sismico

INTRODUCCIÓN

Como estudiantes de las Geociencias, sabemos que lo que se encuentra en el subsuelo es un

misterio que continuamente tratamos de revelar. Por esta razón, se han ideado una gran cantidad

de métodos para tratar de obtener información del subsuelo.

El paquete Seismic Unix, constituye una herramienta valiosa para poder realizar simulaciones

de modelos estructurales, así como de los resultados obtenidos en caso de hacer una adquisición

sísmica. Y además de los resultados, ofrece la opción de poder procesarlos, todo ello para tener

interpretaciones más acertadas de nuestra eterna incógnita.

En este trabajo, se trabajará con SU con el propósito de analizar los resultados obtenidos y

ampliar nuestros conocimientos sobre el procesamiento sísmico.

Page 9: Proyecto Procesamiento sismico

MARCO TEÓRICO

El procesamiento sísmico tiene como objetivo principal transformar las observaciones sísmicas

adquiridas en campo en secciones o volúmenes de datos para poder realizar interpretaciones que

conlleven a la elaboración de un modelo del subsuelo y ver si es rentable la exploración y/o

producción de hidrocarburos. Durante el procesamiento de la data se obtienen parámetros

importantes como velocidades, amplitudes y fase.

Figura 1: Pasos básicos del procesamiento sísmico (Ilich García, 2008)

Para la realización de este trabajo se utilizó el programa Seismic Unix, el cual se operó en el

sistema operativo Ubuntu

Seismic Unix (SU), es un paquete de software libre y de fuente abierta, que realiza modelado y

procesamiento de una data sísmica. Fue desarrollado en el Centro de onda Fenómenos (CWP) en

la Escuela de Minas de Colorado (CSM) en 1987 por los científicos Jack K. Cohen y Shuki Ronen,

entre varios más. Seismic Unix fue programado en lenguaje C y trabaja con base en sistemas

operativo UNIX.

SU contiene herramientas para el modelado, procesamiento, transformadas de Fourier,

filtrado de señales, transformadas de ondículas, entre otras funciones.

Al utilizar la herramienta de modelado, se pueden crear perfiles de propiedades del subsuelo,

formando: modelos uniformemente muestreados y modelos triangulares. También, SU genera la

data sísmica mediante el trazado de rayos y la propagación de ondas acústicas.

Page 10: Proyecto Procesamiento sismico

Con la herramienta de procesamiento sísmico podemos visualizar y ajustar el header, hacer

ordenamiento por CMP, análisis de velocidad, corrección NMO, apilamiento y migración.

Para poder utilizar este programa y correr los códigos para modelar, es necesario tener claro

ciertos conceptos enunciados a continuación:

- Rayo: Cada una de las líneas, generalmente rectas, que parten del punto en que se

produce una determinada forma de energía y señalan la dirección en que esta se propaga.

Línea de luz que procede de un cuerpo luminoso

- Frente de Ondas: Se denomina frente de onda al lugar geométrico en que los puntos del

medio son alcanzados en un mismo instante por una determinada onda. Dada una onda

propagándose en el espacio o sobre una superficie, los frentes de onda pueden

visualizarse como superficies o líneas que se desplazan a lo largo del tiempo alejándose de

la fuente sin tocarse.

- Shot Gather: Conjunto de trazas que representan la respuesta de una serie de detectores

desde un mismo disparo.

- Common Midpoint (CMP): Es el punto situado en el centro de los diferentes pares fuente-

receptor que corresponden a reflexiones de un mismo punto del subsuelo

- Offset: Es la distancia entre la fuente y el receptor

- Velocidad NMO: Es la velocidad empleada para la corrección de “Normal Move Out” cuando la distancia fuente receptor es pequeña.

- Migración: Es el proceso de reubicación de lo estratos a su posición original.

Modelo geológico generado: Estructuras en flor

La presencia de inflexiones y saltos a lo largo de una falla promueve la formación de

estructuras denominadas duplexes). Las rocas que se encuentran dentro de la zona de influencia

de una inflexión o salto se pueden fallar progresivamente, generando sistemas imbricados en

relación a la falla principal.

El análisis del proceso de formación de duplexes puede realizarse a través de dos

mecanismos: Deformación planar y Deformación no planar.

La formación de duplexes por deformación no planar se encuentra en la compensación

volumétrica por hundimientos y levantamientos. Así en duplexes extensionales se formaran

hundimientos, y en los compresionales, levantamientos. Unas de las estructuras más notables

derivadas de la deformación no planar son las denominadas flores positivas (positive flowers) y

flores negativas (negative flowers) (Woodcock y Fischer, 1986), que a su vez se corresponden con

Page 11: Proyecto Procesamiento sismico

los casos de duplex compresional y extensional, respectivamente. La geometría interior de las

fallas secundarias en un duplex muestra que estas convergen en profundidad hacia una zona de

falla única. En el caso de una estructura en flor negativa (fig.A), las fallas secundarias dentro del

duplex tendrán un comportamiento mixto, transcurrente-normal, por lo cual podemos decir que la

zona interior está en extensión y sometida a hundimiento. Por el contrario, en una estructura tipo

flor positiva (fig.B), las fallas interiores se comportarán como transcurrentes-inversas, por lo cual

podemos decir que la zona está en compresión y por lo tanto sometida a levantamiento. Esta

estructura tiende a crecer con el aumento del desplazamiento experimentado por las fallas que la

confeccionan.

Figura 2: Estructuras tipo flor negativa (A) y flor positiva (B). Note la subsidencia y alzamiento respectivo en A y B, así mismo como el carácter mixto (transcurrente-normal y transcurrente-inverso) del fallamiento asociado.

Page 12: Proyecto Procesamiento sismico

MARCO METODOLOGICO

Generación del modelo geológico del subsuelo

El modelo asignado para realizarle el procesamiento fue el de una estructura debido a inversión tectónica positiva, generando una estructura en flor con dos fallas inversas en corrimiento.

Las dimensiones tomadas para el modelo son de 8km de longitud y 5 km de profundidad, tomando como referencia el tamaño real de la estructura. Para poder graficarlo, lo dibujamos sobre papel milimetrado y obtuvimos las coordenadas de cada segmento.

Figura3: modelo geológico asignado.

Ya que el modelo presenta 3 estratos, se le asignaron velocidades a cada uno. Esto se hizo

tomando como referencia velocidades características de litologías comunes. La primera capa tiene

una velocidad de 1500m/s, la segunda una de 2000m/s y la tercera 3000m/s.

En Seismic Unix, el comando Trimodel es utilizado para generar la representación del subsuelo

con las coordenadas y velocidades dadas.

Una vez obtenidas las coordenadas y velocidades del modelo, estas se insertaron en el código

22_perfil_tri.sh. Además, en el código se colocaron los valores de lentitud cuadrática, la cual viene

dada por la relación L=1/V2

Page 13: Proyecto Procesamiento sismico

Generación del trazado de rayos

Para la generación del trazado de rayos, simulando un arreglo Split spread para varios disparos, se utilizo el comando TRIRAY para el modelo construido con el comando TRIMODEL.

Luego de introducir los valores de nuestro modelo, se introdujeron los siguientes parámetros: interf= 13 Número de interfaces, incluyendo los bordes superior e inferior nangle= 20 Número de ángulos de despegue fangle= -60 Primer ángulo de despegue langle= 60 Último ángulo de despegue nxz= 500 Número de (x,z) en el archivo rayfile fpeak= 10 Frecuencia pico de la ondícula Ricker en Hz offset_max=1 Offset máximo (debe ser un entero) ID=1 Intervalo entre puntos de disparos (debe ser un entero) n1=1000 Número de muestras en z d1=0.005 Intervalo de muestreo en z

Modelado de Propagación de ondas acústicas

Para el modelado de propagación de ondas acústicas en diferencias finitas de nuestro modelo, se utilizó el comando SUFDMOD2, simulando varios disparos para un arreglo split spread.

En este código, los parámetros introducidos debían estar en metros, por lo que transformamos los valores del modelo y de las velocidades a esta unidad

Estos parámetros fueron:

offset_max=2000 Offset máximo

IR=20 Intervalo entre grupos de receptores

fmax= 20 Frecuencia máxima de la ondícula fuente

Page 14: Proyecto Procesamiento sismico

tmax= 5 Tiempo máximo de grabación

zs= 0 Coordenada z de la fuente

hsz= 0 Coordenada z de la linea horizontal del sismograma (profundidad

de los receptores)

ID=400 Intervalo entre puntos de disparos

Longitud=8000 Longitud del modelo en metros

Profundidad=5000 Profundidad del modelo en metros

fz= 0 Coordenada z de la primera muestra

min_shot=1500 Valor mínimo del shot que se desea graficar

max_shot=6500 Valor máximo del shot que se desea graficar

min_cmp=1500 Valor mínimo del cmp que se desea graficar

max_cmp=6500 Valor máximo del cmp que se desea graficar

clip= 0.49 Valor máximo de la amplitud de la traza en la gráfica de los shots

gathers formato wigle trace display

Análisis de Velocidad, Corrección NMO y Sección Apilada

Para realizar el análisis de velocidades y la corrección NMO se utilizó el archivo CMP arrojado

por el modelado de la propagación de ondas acústicas, para utilizar los CMP Gathers

correspondientes a nuestro modelo. Adicionalmente, se proporcionaron ciertos parámetros que

permitieran generar los mapas de semblanza en función de los cuales se seleccionan las

velocidades para la corrección NMO.

ND= 10 Número de disparos de la adquisición sísmica

cdpmin= 2000 Primer CMP

cdpmax= 6000 Último CMP

dcdp= 500 Intervalo entre CMP

nv= 500 Número de velocidades

dv= 10 Intervalo entre las velocidades

Page 15: Proyecto Procesamiento sismico

fv= 500 Primera velocidad

vf = fv + ((nv*dv) - dv) = 10990

Las velocidades de corrección para cada CMP Gather se seleccionaban a partir del mapa de

semblanza correspondiente, oprimiendo la tecla “s” con el cursor encima de los puntos de mayor

semblanza que estuvieran dentro del rango de tiempo abarcado por las hipérbolas de las

reflexiones.

Una vez seleccionadas todas las velocidades y horizontalizados los CMP Gathers, se genera

una sección apilada de los mismos.

Mute y Migración de la Data Sísmica

La migración y el mute se realizaron para la sección apilada generada previamente. Para realizar el mute, se selecciona el área escogida pulsando la tecla “s” y colocando el cursor

en dos puntos que unen la línea por encima de la cual se desea eliminar las amplitudes.

En el caso de la migración deben ser escogidos los parámetros siguientes: v = velocidad de migración (debe corresponder a un aproximado de la velocidad de la capa a migrar, aunque no necesariamente debe ser igual)

t = tiempo para el cual se realiza la migración.

Page 16: Proyecto Procesamiento sismico

RESULTADOS Y ANALISIS

Modelo Geológico en 2D generado con Seismic Unix

El modelo tectónico a generar corresponde a una estructura de flor de dos capas que muestra

inversión tectónica.

El modelado se hizo utilizando Seismic Unix (SU) a través del comando Trimodel. Luego de correr el código 2_perfil_tri.sh, se obtuvieron los perfiles de lentitud cuadrática y velocidad:

Figura4: Perfil de Lentitud Cuadrática

Page 17: Proyecto Procesamiento sismico

Figura5: Perfil de Velocidad

Se obtuvo también, el modelo triangular:

Figura6: Modelo Triangular

Page 18: Proyecto Procesamiento sismico

En este modelo, se pueden apreciar los triángulos generados para crear el perfil por medio del método de Triangulación de Delaunay, que corresponden a las líneas grises que atraviesan todo el modelo.

Se aprecia la diferencia en las velocidades de cada capa, con velocidades distintas en cada una.

Las diferentes velocidades se presentan con los colores blanco, gris y negro.

Trazado de Rayos y Propagación del frente de ondas a través del modelo

Una vez creado el modelo triangular, para generar el trazado de rayos es necesario convertirlo en un modelo uniforme. Esto se logra utilizando el código de 6_varios_shots_rayos.sh.

En el modelo generado no se presentan las líneas que definen el perfil, sólo se aprecian las

interfaces de los tres estratos que presentan velocidades distintas. Trazado de Rayos y Frentes de Ondas Para simular el trazado de rayos sobre el modelo creado anteriormente, se asignaron ciertos

parámetros de adquisición, considerando un arreglo Split Spread. Con el propósito de poder abarcar gran parte del perfil, se escogió el rango de ángulos para los

rayos entre -60° y 60° y un offset máximo de 1km. A continuación, se presentan algunas imágenes de los rayos y los frentes de ondas generados

en las interfaces del modelo.

Figura7: Trazado de Rayos en 2km para la interfaz 2

Figura8: Frente de Ondas en 2km para la interfaz 2

Page 19: Proyecto Procesamiento sismico

Figura9: Trazado de Rayos en 2km para la interfaz 3

Figura10: Frente de Ondas en 2km para la interfaz 3

Figura11: Trazado de Rayos en 2km para la interfaz 6

Figura12: Frente de Ondas en 2km para la interfaz 6

Figura13: Trazado de Rayos en 3km para la interfaz 3

Figura14: Frente de Ondas en 3km para la interfaz 3

Page 20: Proyecto Procesamiento sismico

Figura15: Trazado de Rayos en 3km para la interfaz 4

Figura16: Frente de Ondas en 3km para la interfaz 4

Figura17: Trazado de Rayos en 4km para la interfaz 8

Figura18: Frente de Ondas en 4km para la interfaz 8

Figura19: Trazado de Rayos en 2km para la interfaz 12

Figura20: Frente de Ondas en 2km para la interfaz 12

Page 21: Proyecto Procesamiento sismico

En las imágenes anteriores se puede observar la reflexión y la refracción del rayo al conseguirse

con las distintas interfaces, así como también los frentes de onda generados.

Sismogramas Sintéticos

En la práctica, las ondas reflejadas al llegar a la superficie son detectadas por los receptores y con

esta información se puede generar un sismograma sintético. Experimentalmente, para este modelo,

el sismograma sintético se puede obtener mediante las simulaciones en SU.

Los sismogramas generados a través de estas simulaciones representan sismogramas del tipo

Beam Gaussiano, por lo que es necesario definir una frecuencia pico (10Hz), así como el intervalo de

muestreo (0.005s) y el número de muestras (1000). Esto con el propósito de definir la longitud del eje

vertical del sismograma.

Figura21: Sismograma sintético en 2km para la interfaz 2

Page 22: Proyecto Procesamiento sismico

Figura22: Sismograma sintético en 2km para la interfaz 3

Figura23: Sismograma sintético en 2km para la interfaz 6

Page 23: Proyecto Procesamiento sismico

Figura24: Sismograma sintético en 3km para la interfaz 3

Figura25: Sismograma sintético en 3km para la interfaz 4

Page 24: Proyecto Procesamiento sismico

Figura26: Sismograma sintético en 4km para la interfaz 8

Figura27: Sismograma sintético en 2km para la interfaz 12

Page 25: Proyecto Procesamiento sismico

Podemos observar que para algunas interfaces, la información recibida en lo geófonos es casi nula,

como es el caso de la figura XX, esto se debe a que las ondas reflejadas no llegan hasta los geófonos

en la superficie, o perdieron mucha energía en el camino y su llegada es muy débil para ser

detectada.

Propagación de ondas acústicas en diferencias finitas para el modelo generado

Más allá del trazado de rayos y de la propagación de los frentes de onda, SU permite crear una

propagación de ondas acústicas y de esta manera generar tanto los shot gathers correspondientes,

como realizar el ordenamiento por CMP gathers y crear un película que muestra la trayectoria de

la onda desde su generación hasta sus reflexiones y refracciones. Para lograr esto, se establecieron

parámetros de adquisición específicos.

En figura siguiente podemos observar 8 snapshots de la película que simula la propagación de

ondas acústicas en el medio, para el disparo ubicado en 4000m. En ella se puede apreciar el punto

donde se genera la onda y como esta se va propagando y reflejando en cada una de las interfaces.

Page 26: Proyecto Procesamiento sismico

Figura28: Secuencia de imágenes de la película generada

Page 27: Proyecto Procesamiento sismico

Shots Gathers

Los Shot Gathers obtenidos para esta simulación fueron generados en formato Gray en en

formato Wigle, ello para ver de dos formas los resultados obtenidos. A continuación se presentan

los Shots Gathers para los disparos a 2000m, 3200m, 4000m y 5200m

En esta figura se pueden observar en los Shots gathers la onda directa, (aprox entre 0 y 1.2

segundos) y una primera reflexión al conseguir una interfaz (a los 2 segundos)

Figura29: Shots Gathers correspondientes a un disparo en posición 2000m

Page 28: Proyecto Procesamiento sismico

En este caso, se puede observar la onda directa (entre 0 y 1.5seg), una primera reflexión

aproximadamente a los 2seg y una tenue segunda reflexión a los 3 seg.

Figura30: Shots Gathers correspondientes a un disparo en posición 3200m

Page 29: Proyecto Procesamiento sismico

Aquí se puede observar nuevamente la onda directa (0 a 1.5seg), una primera reflexión (1.7 a 2.2

seg), una segunda reflexión (3seg.) y hasta una tercera reflexión (4 a 5seg).

Figura31: Shots Gathers correspondientes a un disparo en posición 4000m

Page 30: Proyecto Procesamiento sismico

En este caso se observa igualmente la onda directa (0 a 1.5seg), se aprecia una primera

reflexión aproximadamente entre 1.6 y 2 seg., una segunda reflexión a los 3 seg. y una tercera

reflexión a los 4 seg.

Figura32: Shots Gathers correspondientes a un disparo en posición 5200m

Page 31: Proyecto Procesamiento sismico

En todos los Shot Gathers mostrados, se observa que los que presentan mejor resolución

son los que se encuentran en formato Gray, por los que resulta más conveniente estudiar estos

shots gathers, ya que podemos obtener una interpretación más precisa.

Ordenamiento por CMP

Luego de generar los shots gathers, estos se ordenan en el dominio de los CMP gathers

para poder realizar el procesamiento de los mismos. En este ordenamiento de pueden apreciar

todas las trazas generadas de acuerdo a su CMP.

Figura33: CMP Gathers

Análisis de Velocidad, Corrección NMO y Sección Apliada

Luego de ordenar las trazas de acuerdo a los CMP, el siguiente paso en el procesamiento es el

análisis de velocidades y la corrección NMO. Con SU, es posible realizar estas secuencias de

procesamiento para la simulación realizada del modelo de inversión tectónica.

Para realizar el análisis de velocidades, podemos usar el espectro de velocidades. El atributo

utilizado para generar estos espectros en este caso, es la semblanza.

La semblanza se define como una medida de la coherencia de las velocidades. En este caso, se

puede representar con escala de colores. El color azul, representa semblanza 1, lo cual indica que

el valor de velocidad es muy coherente y por lo tanto confiable, a medida que la semblanza toma

colores más cálidos, va perdiendo coherencia.

Page 32: Proyecto Procesamiento sismico

A continuación se presentan algunos mapas de semblanza y las correcciones NMO hechas

Figura34: Mapa de Semblanza para CMP=3000m

Figura35: CMP gather antes de la corrección (izquierda) y CMP gather después de la corrección NMO

Page 33: Proyecto Procesamiento sismico

Figura36: Mapa de Semblanza para CMP=4000m

Figura37: CMP gather antes de la corrección (izquierda) y CMP gather después de la corrección NMO

Page 34: Proyecto Procesamiento sismico

Figura38: Mapa de Semblanza para CMP=5000m

Figura39: CMP gather antes de la corrección (izquierda) y CMP gather después de la corrección NMO

Page 35: Proyecto Procesamiento sismico

El hecho de que los eventos se hayan podido horizontalizar indica que la sección ha sido bien

corregida. En las figuras anteriores, se observa la diferencia entre las secciones corregidas y sin

corregir.

Esto indica que el método de corrección NMO basado en mapas de semblanza es realmente

útil a la hora de procesar datos sísmicos. Esto se evidencia con los ejemplos dados.

Al aplicar esta corrección a todos los CMP se genera una sección apilada de la data sísmica.

Esta sección es:

Figura 40: Sección apilada

Page 36: Proyecto Procesamiento sismico

Mute y Migración de la Data Sísmica

Estos representan los últimos pasos en el procesamiento sísmico. El mute se realiza con el

propósito de eliminar amplitudes no deseadas en la sección, aquellas que no aportan información

relevante, como es el caso se las primeras llegadas.

La migración se realiza para mover los eventos buzantes a sus posiciones correctas.

La migración se obtuvo tomando en cuenta la velocidad y el tiempo. Esta sección comprende

a los resultados obtenidos al realizar la migración con un tiempo de 1.5seg y una velocidad de

1000m/s.

Figura 41: Sección apilada sin migrar (izquierda) y sección apilada migrada (derecha)

Page 37: Proyecto Procesamiento sismico

Migración para un tiempo de 1.5 seg, y una velocidad de 2000m/s:

Figura 42: Sección apilada sin migrar (izquierda) y sección apilada migrada (derecha)

Page 38: Proyecto Procesamiento sismico

CONCLUSIONES

Mediante el uso de las herramientas de SU, se pueden generar modelos geológicos de

estructuras y realizar simulaciones con los mismos. Sin embargo, al momento de realizar el

modelo, se debe tener el mayor cuidado posible, suministrando al programa las

coordenadas a graficar, ya que un pequeño error en esta etapa, evita que podamos

obtener el modelo respectivo.

Al momento de interpretar los shots gahters generados, las reflexiones se pueden ver

mejor en el shot gather de formato Gray que en el formato Wigle.

Gracias a la utilización de gráfico de espectro de velocidad, se escogieron valores con

mayor coherencia para aplicar la corrección NMO a las trazas, pudiéndose así

horizontalizar los eventos para corregir por NMO.

Los resultados obtenidos fueron certeros. Esto demuestra el alto grado de confiabilidad

que posee esta simulación.

Los códigos utilizados (suministrados por la ayudante docente) para generar las

simulaciones, fueron de gran ayuda para obtener resultados adecuados.

Page 39: Proyecto Procesamiento sismico

REFERENCIAS

Regueiro, José. Sísmica para Ingenieros y Geólogos. El Método Sísmico de Reflexión.

Universidad Simón Bolívar. (2007).

Judson L. Ahern . Seismic Reflection Method (2007)

Excess Geophysics . Migration in practice (1999)

Pérez, Verónica. Utilización del paquete Seismic Unix para la enseñanza de la sísmica.

Universidad Simón Bolívar. Departamento de Ciencias de la Tierra. (2008).

Vieira, Adelo. Modelado básico de datos sísmicos preapilados y su correspondiente

secuencia de procesamiento utilizando los programas del paquere Seismic Unix.

Universidad Simón Bolívar. Departamento de Ciencias de la Tierra. (2007).

García, Illich. Procesamiento Sísmico. Fundamentos del procesamiento de senales (2009)

Urdaneta, Vanessa. Procesamiento Sísmico. Análisis de velocidad (2011)

http://faculty.kfupm.edu.sa/ES/ashuhail/Undergraduate/GEOP315/Notes/Chapter6/Ch6-

2010.pdf 31/03/2011

Yilmaz Ö. Seismic Data Analysis. Soceity of Exploration Geophysicists. (2001).

Page 40: Proyecto Procesamiento sismico

Apéndice 1: 2_perfil_tri.sh

Page 41: Proyecto Procesamiento sismico

#! /bin/bash

#/////////////////////////////////////////////////////////////////////////#

# #

# PERFILES TRIANGULARIZADOS DE LENTITUD CUADRÁTICA Y VELOCIDAD #

# #

# COMANDO TRIMODEL #

#/////////////////////////////////////////////////////////////////////////#

#---------------------------------------#

#---------------------------------------#

# PARÁMETROS DEFINIDOS POR EL USUARIO #

#---------------------------------------#

#---------------------------------------#

hbox=3 # hbox: alto de la ventana en pixels para los modelos en formato

Post Script

wbox=3 # wbox: ancho de la ventana en pixels para los modelos en formato Post

Script

gtri=2 # escala de grises para los bordes de los triángulos, valores fuera de (0,1)

no los dbujan

#*****************************#

# Perfil de Lentitud #

#*****************************#

Page 42: Proyecto Procesamiento sismico

### trimodel: construye un modelo triangular de lentitud cuadrática (1/v^2)

# xmin: coordenada x mínima

# xmax: coordenada x máxima

# zmin: coordenada z mínima

# zmax: coordenada z máxima

# xedge: coordenadas x de un borde

# zedge: coordenadas z de un borde

# sedge: lentitud cuadrática (1/v^2) o velocidad a lo largo de un borde

# sfill: valores de lentitud cuadrática (1/v^2) o velocidad para cada espacio cerrado por los bordes

# sfill=x,z,x0,z0,s00,dsdx,dsdz donde:

# * (x,y): es un punto cualquiera en el espacio cerrado deseado

# * s00: lentitud cuadrática (1/v^2)

# * dsdx: variación de la lentitud en x (ds/dx)

# * dsdz: variación de la lentitud en z (ds/dz)

# * (x0,z0): es un punto (x,z) del espacio cerrado donde se conoce la variación de la

# lentitud cuadrática o de la velocidad

# kedge: arreglo de índices para identificar cada borde

trimodel xmin=0 xmax=8 zmin=0 zmax=5 \

1 xedge=0,8 \

zedge=0,0 \

sedge=0,0 \

2 xedge=0,0.5,0.75,1.25,1.45 \

zedge=1.5,1.5,1.5,1.5,1.45 \

sedge=0,0,0,0,0 \

3 xedge=1.15,2,2.5,2.75,3.25 \

Page 43: Proyecto Procesamiento sismico

zedge=1,1,0.9,0.75,0.65 \

sedge=0,0,0,0,0 \

4 xedge=3.1,3.65,4,4.75,5.5,6.75 \

zedge=1.05,1.05,0.9,0.6,0.5,0.5 \

sedge=0,0,0,0,0,0 \

5 xedge=6.6,7.25,8 \

zedge=1.5,1.5,1.5 \

sedge=0,0,0 \

6 xedge=0,1,1.5,1.75 \

zedge=2,2,2.1,2.2 \

sedge=0,0,0,0 \

7 xedge=1.95,2.3,2.75 \

zedge=2.5,2.4,2.5 \

sedge=0,0,0 \

8 xedge=2.75,3.35,4,4.9,5.6 \

zedge=2.2,2.25,2.45,2.75,3.25 \

sedge=0,0,0,0,0 \

9 xedge=6.35,7,8 \

zedge=2,2,2 \

sedge=0,0,0 \

10 xedge=1.15,1.3,1.45,1.6,1.75,1.95,2.2,2.4,2.55,2.75 \

zedge=1,1.25,1.45,1.75,2.2,2.5,3,3.5,4,4.5 \

sedge=0,0,0,0,0,0,0,0,0,0 \

11 xedge=3.25,3.1,3,2.9,2.8,2.75,2.75,2.65,2.64,2.7,2.75 \

zedge=0.65,1.05,1.25,1.5,1.9,2.2,2.5,3,3.5,4,4.5 \

sedge=0,0,0,0,0,0,0,0,0,0,0 \

Page 44: Proyecto Procesamiento sismico

12 xedge=0,1.25,2.25,2.75,3.25,3.75,4.25,4.75,5.25,5.6,5.8,6.1,6.35,6.6,6.7,6.75 \

zedge=4.5,4.5,4.5,4.5,4.5,4.45,4.25,4,3.65,3.25,3,2.5,2,1.5,1,0.5 \

sedge=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 \

13 xedge=0,8 \

zedge=5,5 \

sedge=0,0 \

sfill=2,0.5,0,0,0.44,0,0 \

sfill=0.5,1.75,0,0,0.25,0,0 \

sfill=2,2,0,0,0.25,0,0 \

sfill=5,1,0,0,0.25,0,0 \

sfill=7,1.75,0,0,0.25,0,0 \

sfill=1,3,0,0,0.11,0,0 \

sfill=4,4,0,0,0.11,0,0 \

sfill=7,5.5,0,0,0.11,0,0 \

sfill=2.5,3,0,0,0.11,0,0 \

kedge=1,2,3,4,5,6,7,8,9,10,11,12,13 > lentitud

#*****************************#

# Perfil de Velocidad #

#*****************************#

### trimodel: construye un modelo triangular de lentitud cuadrática (1/v^2)

# xmin: coordenada x mínima

# xmax: coordenada x máxima

# zmin: coordenada z mínima

# zmax: coordenada z máxima

Page 45: Proyecto Procesamiento sismico

# xedge: coordenadas x de un borde

# zedge: coordenadas z de un borde

# sedge: lentitud cuadrática (1/v^2) o velocidad a lo largo de un borde

# sfill: valores de lentitud cuadrática (1/v^2) o velocidad para cada espacio cerrado por los bordes

# sfill=x,z,x0,z0,s00,dsdx,dsdz donde:

# * (x,y): es un punto cualquiera en el espacio cerrado deseado

# * s00: lentitud cuadrática (1/v^2)

# * dsdx: variación de la lentitud en x (ds/dx)

# * dsdz: variación de la lentitud en z (ds/dz)

# * (x0,z0): es un punto (x,z) del espacio cerrado donde se conoce la variación de la

# lentitud cuadrática o de la velocidad

# kedge: arreglo de índices para identificar cada borde

trimodel xmin=0 xmax=8 zmin=0 zmax=5 \

1 xedge=0,8 \

zedge=0,0 \

sedge=0,0 \

2 xedge=0,0.5,0.75,1.25,1.45 \

zedge=1.5,1.5,1.5,1.5,1.45 \

sedge=0,0,0,0,0 \

3 xedge=1.15,2,2.5,2.75,3.25 \

zedge=1,1,0.9,0.75,0.65 \

sedge=0,0,0,0,0 \

4 xedge=3.1,3.65,4,4.75,5.5,6.75 \

zedge=1.05,1.05,0.9,0.6,0.5,0.5 \

sedge=0,0,0,0,0,0 \

Page 46: Proyecto Procesamiento sismico

5 xedge=6.6,7.25,8 \

zedge=1.5,1.5,1.5 \

sedge=0,0,0 \

6 xedge=0,1,1.5,1.75 \

zedge=2,2,2.1,2.2 \

sedge=0,0,0,0 \

7 xedge=1.95,2.3,2.75 \

zedge=2.5,2.4,2.5 \

sedge=0,0,0 \

8 xedge=2.75,3.35,4,4.9,5.6 \

zedge=2.2,2.25,2.45,2.75,3.25 \

sedge=0,0,0,0,0 \

9 xedge=6.35,7,8 \

zedge=2,2,2 \

sedge=0,0,0 \

10 xedge=1.15,1.3,1.45,1.6,1.75,1.95,2.2,2.4,2.55,2.75 \

zedge=1,1.25,1.45,1.75,2.2,2.5,3,3.5,4,4.5 \

sedge=0,0,0,0,0,0,0,0,0,0 \

11 xedge=3.25,3.1,3,2.9,2.8,2.75,2.75,2.65,2.64,2.7,2.75 \

zedge=0.65,1.05,1.25,1.5,1.9,2.2,2.5,3,3.5,4,4.5 \

sedge=0,0,0,0,0,0,0,0,0,0,0 \

12 xedge=0,1.25,2.25,2.75,3.25,3.75,4.25,4.75,5.25,5.6,5.8,6.1,6.35,6.6,6.7,6.75 \

zedge=4.5,4.5,4.5,4.5,4.5,4.45,4.25,4,3.65,3.25,3,2.5,2,1.5,1,0.5 \

sedge=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 \

13 xedge=0,8 \

zedge=5,5 \

Page 47: Proyecto Procesamiento sismico

sedge=0,0 \

sfill=2,0.5,0,0,1.5,0,0 \

sfill=0.5,1.75,0,0,2,0,0 \

sfill=2,2,0,0,2,0,0 \

sfill=5,1,0,0,2,0,0 \

sfill=7,1.75,0,0,2,0,0 \

sfill=1,3,0,0,3,0,0 \

sfill=4,4,0,0,3,0,0 \

sfill=7,5.5,0,0,3,0,0 \

sfill=2.5,3,0,0,3,0,0 \

kedge=1,2,3,4,5,6,7,8,9,10,11,12,13 > velocidad

#_______________________________________________________________________________

____________#

# Construcción de los Perfiles #

#_______________________________________________________________________________

____________#

#*****************************#

# Perfil de Lentitud #

#*****************************#

#### Graficación del modelo triangular en formato Post Script ####

### spsplot: plotea una función triangular de lentitud cuadrática (1/v^2) s(x,z), en formato

PostScript

Page 48: Proyecto Procesamiento sismico

# gtri: escala de grises para los bordes de los triámgulos, valores fuera de (0,1) no los dbujan

# title: título de la gráfica

# labelz: etiqueta del eje z

# labelx: etiqueta del eje x

# dznum: intervalo de muestreo en el eje z

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

spsplot <lentitud gtri=$gtri title="Perfil de lentitud cuadratica" \

labelz="Profundidad (km)" labelx="Distancia (km)" dznum=1 hbox=$hbox wbox=$wbox >

lentitud.ps

#### Graficación del modelo triangular en formato x-window ####

### spsplot: plotea una función triangular de lentitud cuadrática (1/v^2) s(x,z), en formato x-

window

# title: título de la gráfica

# label1: etiqueta del eje z

# label2: etiqueta del eje x

sxplot < lentitud label1="Profundidad (km)" label2="Distancia lentitud (km)" tricolor=none

sxplot < lentitud label1="Profundidad (km)" label2="Distancia lentitud (km)" \

title="las lineas amarillas son los triagulos de la interpolacion"

Page 49: Proyecto Procesamiento sismico

#*****************************#

# Perfil de Velocidad #

#*****************************#

#### Graficación del modelo triangular en formato Post Script ####

### spsplot: plotea una función triangular de lentitud cuadrática (1/v^2) s(x,z), en formato

PostScript

# gtri: escala de grises para los bordes de los triámgulos, valores fuera de (0,1) no los dbujan

# title: título de la gráfica

# labelz: etiqueta del eje z

# labelx: etiqueta del eje x

# dznum: intervalo de muestreo en el eje z

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

spsplot <velocidad gtri=$gtri title="Perfil de Velocidad" \

labelz="Profundidad (km)" labelx="Distancia (km)" dznum=1000 hbox=$hbox

wbox=$wbox > velocidad.ps

sxplot < velocidad label1="Profundidad (km)" label2="Distancia velocidad (km)" tricolor=none

sxplot < velocidad label1="Profundidad (km)" label2="Distancia velocidad (km)" \

title="las lineas amarillas son los triagulos de la interpolacion"

Page 50: Proyecto Procesamiento sismico

Apéndice2:

6_varios_shots_rayos.sh

Page 51: Proyecto Procesamiento sismico

#!/bin/bash

#///////////////////////////////////////////////////////////////#

# #

# TRAZADO DE RAYOS CON EL COMANDO TRIRAY #

# PARA MODELOS TRIANGULARES CONSTRUIDOS CON EL COMANDO TRIMODEL #

# ARREGLO SPLIT SPREAD #

# VARIOS DISPAROS #

# #

#///////////////////////////////////////////////////////////////#

#---------------------------------------#

#---------------------------------------#

# PARÁMETROS DEFINIDOS POR EL USUARIO #

#---------------------------------------#

#---------------------------------------#

#*************************************#

# Perfil de lentitud cuadrática #

#*************************************#

#### Perfil de lentitud cuadrática (1/v^2) ####

Page 52: Proyecto Procesamiento sismico

### trimodel: construye un modelo triangular de lentitud cuadrática (1/v^2)

## xmin: coordenada x mínima

## xmax: coordenada x máxima

## zmin: coordenada z mínima

## zmax: coordenada z máxima

## xedge: coordenadas x de un borde

## zedge: coordenadas z de un borde

## sedge: lentitud cuadrática (1/v^2) a lo largo de un borde

## sfill: valores de lentitud cuadrática (1/v^2) para cada espacio cerrado por los bordes

## sfill=x,z,x0,z0,s00,dsdx,dsdz donde:

## * (x,y): es un punto cualquiera en el espacio cerrado deseado

## * s00: lentitud cuadrática (1/v^2)

## * dsdx: variación de la lentitud en x (ds/dx)

## * dsdz: variación de la lentitud en z (ds/dz)

## * (x0,z0): es un punto del espacio cerrado donde conozco la variación de la lentitud en x y

z

## kedge: arreglo de índices para identificar cada borde

xmin=0

xmax=8

zmin=0

zmax=5

trimodel xmin=0 xmax=8 zmin=0 zmax=5 \

1 xedge=0,8 \

zedge=0,0 \

Page 53: Proyecto Procesamiento sismico

sedge=0,0 \

2 xedge=0,0.5,0.75,1.25,1.45 \

zedge=1.5,1.5,1.5,1.5,1.45 \

sedge=0,0,0,0,0 \

3 xedge=1.15,2,2.5,2.75,3.25 \

zedge=1,1,0.9,0.75,0.65 \

sedge=0,0,0,0,0 \

4 xedge=3.1,3.65,4,4.75,5.5,6.75 \

zedge=1.05,1.05,0.9,0.6,0.5,0.5 \

sedge=0,0,0,0,0,0 \

5 xedge=6.6,7.25,8 \

zedge=1.5,1.5,1.5 \

sedge=0,0,0 \

6 xedge=0,1,1.5,1.75 \

zedge=2,2,2.1,2.2 \

sedge=0,0,0,0 \

7 xedge=1.95,2.3,2.75 \

zedge=2.5,2.4,2.5 \

sedge=0,0,0 \

8 xedge=2.75,3.35,4,4.9,5.6 \

zedge=2.2,2.25,2.45,2.75,3.25 \

sedge=0,0,0,0,0 \

9 xedge=6.35,7,8 \

zedge=2,2,2 \

sedge=0,0,0 \

10 xedge=1.15,1.3,1.45,1.6,1.75,1.95,2.2,2.4,2.55,2.75 \

Page 54: Proyecto Procesamiento sismico

zedge=1,1.25,1.45,1.75,2.2,2.5,3,3.5,4,4.5 \

sedge=0,0,0,0,0,0,0,0,0,0 \

11 xedge=3.25,3.1,3,2.9,2.8,2.75,2.75,2.65,2.64,2.7,2.75 \

zedge=0.65,1.05,1.25,1.5,1.9,2.2,2.5,3,3.5,4,4.5 \

sedge=0,0,0,0,0,0,0,0,0,0,0 \

12 xedge=0,1.25,2.25,2.75,3.25,3.75,4.25,4.75,5.25,5.6,5.8,6.1,6.35,6.6,6.7,6.75 \

zedge=4.5,4.5,4.5,4.5,4.5,4.45,4.25,4,3.65,3.25,3,2.5,2,1.5,1,0.5 \

sedge=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 \

13 xedge=0,8 \

zedge=5,5 \

sedge=0,0 \

sfill=2,0.5,0,0,0.44,0,0 \

sfill=0.5,1.75,0,0,0.25,0,0 \

sfill=2,2,0,0,0.25,0,0 \

sfill=5,1,0,0,0.25,0,0 \

sfill=7,1.75,0,0,0.25,0,0 \

sfill=1,3,0,0,0.11,0,0 \

sfill=4,4,0,0,0.11,0,0 \

sfill=7,5.5,0,0,0.11,0,0 \

sfill=2.5,3,0,0,0.11,0,0 \

kedge=1,2,3,4,5,6,7,8,9,10,11,12,13 > lentitud

#***************************#

# Parámetros de adquisición #

#***************************#

Page 55: Proyecto Procesamiento sismico

interf=13 # número de interfaces, incluyendo los bordes superior e inferior (kedge

máximo)

nangle=20 # número de ángulos de despegue

fangle=-60 # primer ángulo de despegue

langle=60 # último ángulo de despegue

nxz=500 # número de (x,z) en el archivo rayfile, debe ser mayor que dos

veces el número

# de triángulos intersección por el rayos

fpeak=10 # fpeak: frecuencia (hz) pico de la ondícula ricker (fpeak=0.1/dt)

offset_max=1 # Offset máximo (debe ser un entero)

ID=1 # Intervalo entre puntos de disparos (debe ser un entero)

n1=1000 # Número de muestras en z

d1=0.005 # Intervalo de muestreo en z

# n1*d1=longitud max del eje del vertical del sismograma=dt*nt

hbox=5.0 # hbox: alto de la ventana en pixels para los modelos en formato Post

Script

wbox=8.0 # wbox: ancho de la ventana en pixels para los modelos en formato Post

Script

Page 56: Proyecto Procesamiento sismico

#_______________________________________________________________________________

____________#

# Trazado de Rayos y Frente de Ondas #

#_______________________________________________________________________________

____________#

#------------------------#

#------------------------#

# PERFILES #

#------------------------#

#------------------------#

#### Graficación del modelo triangular en formato PostScript ####

## spsplot: plotea una función triangular de lentitud cuadrática (1/v^2) s(x,z), en formato Post

Script

# gtri: escala de grises para los bordes de los triángulos

# title: título de la gráfica

# labelz: etiqueta del eje z

# labelx: etiqueta del eje x

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

spsplot < lentitud gtri=0.2 title="Modelo triangular" \

labelz="Profundidad (km)" labelx="Distancia (km)" hbox=$hbox wbox=$wbox > lentitud.ps

#### Graficación del modelo triangular en formato x-window ####

Page 57: Proyecto Procesamiento sismico

## sxplot: plotea una función triangular de lentitud cuadrática (1/v^2) s(x,z), en formato x-

windows

# gtri: escala de grises para los bordes de los triángulos

# title: título de la gráfica

# label1: etiqueta del eje z

# label2: etiqueta del eje x

# tricolor: color de los bordes de los triángulos

sxplot <lentitud label1="Profundidad (km)" label2="Distancia (km)" \

title="Modelo triangular" tricolor=none &

#--------------------------------------#

#--------------------------------------#

# CICLO DE DISPAROS POR CADA INTERFACE #

#--------------------------------------#

#--------------------------------------#

LT=$(echo "scale=5; 2*$offset_max" | bc -l) # Longitud del tendido

j=2 # Primera interface en la que se efectuará el trazado de rayos para

cada shot

xs=$offset_max # Poscición del primer disparo

Page 58: Proyecto Procesamiento sismico

shotf=$((xmax - offset_max)) # Poscición del último disparo

while [ "$xs" -le "$shotf" ]

do

for ((i=$j; i<$interf; ++i))

do

# CÁLCULO DE LOS PARÁMETROS NECESARIOS PARA CONSTRUIR EL TENDIDO #

fx=$(echo "scale=3; $xs - $offset_max" | bc -l) # Coordenada x de la primera muestra

xf=$(echo "scale=3; $LT + $fx" | bc -l) # Coordenada x de la última muestra

a=100

b=$(echo "scale=3; $LT/$a" | bc -l) # Calculo de d2=IR

Page 59: Proyecto Procesamiento sismico

d2=$b # Intervalo de muestreo en x

IR=$b # Intervalo entre grupos de receptores

e=$(echo "scale=3; $LT/$IR" | bc -l)

ng=$(echo "scale=3; $e + 1" | bc -l) # ng: número de geófonos distribuidos

uniformemente

#### Paŕametros para convertir el modelo triangular en un modelo uniforme

nx=$(echo "scale=2; $LT/$IR + 1" | bc -l) # Número de muestras en x

dx=$IR # Intervalo de muestreo en x (segunda dimensión)

nz=$(echo "scale=2; $zmax/$IR + 1" | bc -l) # Número de muestras en z

dz=$IR # Intervalo de muestreo en z (primera dimensión)

echo i=$i xs=$xs

#********************#

# Trazado de Rayos #

#********************#

Page 60: Proyecto Procesamiento sismico

## triray: trazado de rayos dinámico para un modelo triangular de lentitud cuadrática (1/v^2).

Parámetros:

# rayendsfile: archivo que contiene los parámetros de rayo

# wavefile: archivo que contiene las coordenadas x,z de los rayos uniformemente muestreadas en

tiempo, este archivo

# nos permite graficar el frente de ondas

# nt: número de pares x,z en el archivo wavefile

# xs: coordenada x de la fuente

# zs: coordenada z de la fuente

# rayfile: archivo con las coordenadas (x,z) de las intersecciones rayo-borde

# nxz número de pares (x,z) en el archivo rayfile, debe ser mayor al doble de el

# número de triángulos intersectados por el rayo

# infofile: archivo ASCII con la infomación de rayos

# nangle: número de ángulos de despeque

# fangle: primer ángulo de despegue

# langle: último ángulo de despegue

# refseq: índice del reflector, seguido de una secuencia de reflexión (1), transmisión (0) o final del

rayo (-1)

# krecord: si se especifica, sólo los rayos incidentes en la interface con ese índice se muestran

triray <lentitud >rayendsfile_$xs$i wavefile=waves_$xs$i nt=10 xs=$xs zs=0 \

rayfile=rayfile_$xs$i nxz=$nxz infofile=rayos_$xs$i\

nangle=$nangle fangle=$fangle langle=$langle \

refseq=$i,1 refseq=1,-1

##krecord=1

Page 61: Proyecto Procesamiento sismico

## xgraph: plotea n[i] coordenadas de pares (x,y)en formato X-Windows. Parámetros:

# nplot: número de diagramas, es calculado por triray

# n: número de puntos por gráfica

# x1beg: valor donde comienza el eje z

# x1end: valor donde termina el eje z

# x1beg: valor donde comienza el eje x

# x2end: valor donde termina el eje x

# style: seismic= eje1 horizontal, eje2 vertical

# normal= eje1 vertical, eje2 horizontal

# linecolor: color de línea

# label1: etiqueta del eje z

# label2: etiqueta del eje x

# title: título de la gráfica

xgraph <rayfile_$xs$i -geom 650x300+650+330 nplot=`cat outpar` n=$nxz \

x1beg=$zmin x1end=$zmax x2beg=$fx x2end=$xf f2=$fx style=seismic linecolor=4 \

label1="Profundidad (km)" label2="Distancia (km)" title="Raypaths_$xs$i" &

## psgraph: plotea n[i] coordenadas de pares (x,y). Parámetros:

# nplot: número de diagramas, es calculado por triray

# n: número de puntos por gráfica

# wbox: ancho de la ventana en pixels

Page 62: Proyecto Procesamiento sismico

# hbox: alto de la ventana en pixels

# x1beg: valor donde comienza el eje z

# x1end: valor donde termina el eje z

# x1beg: valor donde comienza el eje x

# x2end: valor donde termina el eje x

# f2: Coordenada x de la primera muestra

# style: seismic= eje1 horizontal, eje2 vertical

# normal= eje1 vertical, eje2 horizontal

# linecolor: color de línea

# label1: etiqueta del eje z

# label2: etiqueta del eje x

# title: título de la gráfica

# d1num: intervalo de muestreo en el primer eje (z)

# d2num: intervalo de muestreo en el segundo eje (x)

psgraph <rayfile_$xs$i nplot=`cat outpar` n=$nxz hbox=$hbox wbox=$wbox \

x1beg=$zmin x1end=$zmax x2beg=$fx x2end=$xf f2=$fx style=seismic linecolor=blue \

d1num=0.5 d2num=1.0 >rayos_$xs$i.ps

#*******************************#

# Sismograma Sintético Gauseano #

#*******************************#

Page 63: Proyecto Procesamiento sismico

## gbbeam: sismograma sintético gauseano para un modelo de lentitud cuadrática. Parámetros

# rayendsfile: archivo que contiene los parámetros de rayo, es calculado por triray

# bw: amplitud de rayo en la frecuencia máxima

# xg: coordenadas máxima y mínima de los geófonos en la superficie

# zg: coordenada z de los geófonos

# ng: número de geófonos distribuidos uniformemente

# lscale: restringe el rango de extrapolación

# krecord: índice del borde donde se encuentran los geófonos

# fpeak: frecuencia (hz) pico de la ondícula ricker (fpeak=0.1/dt)

# nt: Número de muestras en tiempo

# dt: Intervalo de muestreo en tiempo

# nt*dt=tiempo max del eje del sismograma=n1*d1

# ft: primera muestra en tiempo

# infofile: archivo ASCII con la infomación de rayos

gbbeam<rayendsfile_$xs$i \

bw=0 xg=$fx,$xf zg=0,0 ng=$ng lscale=0.5 \

krecord=1 fpeak=$fpeak nt=$n1 dt=$d1 ft=0 infofile=sismograma_$xs$i >sintetico_$xs$i

## xwigb: genera una imagen X-Windows en formato wigle trace display. Parámetros:

# n1: número de muestras en la primera dimensión (z)

# d1: intervalo de muestras en la primera dimensión (z)

Page 64: Proyecto Procesamiento sismico

# n2: número de muestras en la segunda dimensión (x)

# d2: intervalo de muestras en la segunda dimensión (x)

# xcur: valor máximo de la amplitud de la traza en la gráfica

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# f2: Coordenada x de la primera muestra

# f1: Coordenada z de la primera muestra

xwigb <sintetico_$xs$i n1=$n1 d1=$d1 n2=$n2 d2=$d2 xcur=3.0 title="sintetico_$xs$i" xbox=670

ybox=660\

perc=100 hbox=300 wbox=650 f1=0 f2=$fx &

## pswigb: genera una imagen Post Script en formato wigle trace display. Parámetros:

# n1: número de muestras en la primera dimensión (z)

# d1: intervalo de muestras en la primera dimensión (z)

# n2: número de muestras en la segunda dimensión (x)

# d2: intervalo de muestras en la segunda dimensión (x)

# xcur: valor máximo de la amplitud de la traza en la gráfica

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# f2: Coordenada x de la primera muestra

# f1: Coordenada z de la primera muestra

Page 65: Proyecto Procesamiento sismico

pswigb <sintetico_$xs$i n1=$n1 d1=$d1 n2=$n2 d2=$d2 xcur=3.0 title="sintetico_$xs$i"\

perc=100 hbox=4.0 wbox=6.0 f1=0 f2=$fx >sintetico_$xs$i.ps

#******************#

# Frente de Ondas #

#******************#

## transp: trasnpuesta de los elementos de una matrix. Parámetros

# n1: número de elementos de de la primera dimensión de la matrix

# n2: número de elementos de de la segunda dimensión de la matrix

# nbpe: número de bytes por elemento de la matriz

transp< waves_$xs$i > wavestransp_$xs$i n1=10 n2=$nangle nbpe=8

## xgraph: plotea n[i] coordenadas de pares (x,y)en formato X-Windows. Parámetros:

# nplot: número de diagramas

# n: número de puntos por gráfica

# x1beg: valor donde comienza el eje z

# x1end: valor donde termina el eje z

# x1beg: valor donde comienza el eje x

# x2end: valor donde termina el eje x

Page 66: Proyecto Procesamiento sismico

# f2: Coordenada x de la primera muestra

# style: seismic= eje1 horizontal, eje2 vertical

# normal= eje1 vertical, eje2 horizontal

# linecolor: color de línea

# label1: etiqueta del eje z

# label2: etiqueta del eje x

# title: título de la gráfica

# d1num: intervalo de muestreo en el primer eje (z)

# d2num: intervalo de muestreo en el segundo eje (x)

# linewidth: ancho de la linea en pixels (cero para no dibujar la linea)

# mark: tipo de punto utilizado en el diagrama

# marksize: tamaño del punto utilizado en pixels

xgraph <wavestransp_$xs$i -geom 650x300+670+0 nplot=10 n=$nangle hbox=2.0 wbox=6.0 \

x1beg=$zmin x1end=$zmax x2beg=$fx x2end=$xf f2=$fx style=seismic linecolor=2 \

label1="Profundidad (km)" label2="Distancia (km)" title="wavefronts_$xs$i" \

d1num=0.5 d2num=1.0 linewidth=0.0 mark=7 marksize=2

## psgraph: plotea n[i] coordenadas de pares (x,y). Parámetros:

# nplot: número de diagramas

# n: número de puntos por gráfica

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# x1beg: valor donde comienza el eje z

# x1end: valor donde termina el eje z

Page 67: Proyecto Procesamiento sismico

# x1beg: valor donde comienza el eje x

# x2end: valor donde termina el eje x

# f2: Coordenada x de la primera muestra

# style: seismic= eje1 horizontal, eje2 vertical

# normal= eje1 vertical, eje2 horizontal

# linecolor: color de línea

# label1: etiqueta del eje z

# label2: etiqueta del eje x

# title: título de la gráfica

# d1num: intervalo de muestreo en el primer eje (z)

# d2num: intervalo de muestreo en el segundo eje (x)

# linewidth: ancho de la linea en pixels (cero para no dibujar la linea)

# mark: tipo de punto utilizado en el diagrama

# marksize: tamaño del punto utilizado en pixels

psgraph <wavestransp_$xs$i nplot=10 n=$nangle hbox=$hbox wbox=$wbox \

x1beg=$zmin x1end=$zmax x2beg=$fx x2end=$xf f2=$fx style=seismic linecolor=red \

d1num=0.5 d2num=1.0 linewidth=0.0 mark=7 marksize=2 >wavefronts_$xs$i.ps

#******************************************************#

# Fusión del modelo, los rayos y frente de ondas en PS #

#******************************************************#

Page 68: Proyecto Procesamiento sismico

## Construcción del modelo uniforme

### tri2uni: convierte un modelo triangular en un modelo uniformemente muestreado.

Parámetros:

# n1: número de muestras en la primera dimensión (z)

# n2: número de muestras en la segunda dimensión (x)

# d1: intervalo de muestras en la primera dimensión (z)

# d2: intervalo de muestras en la segunda dimensión (x)

# f2: Coordenada x de la primera muestra

tri2uni < lentitud > lentitud_uni \

n1=$nz n2=$nx d1=$dz d2=$dx f2=$fx

### psimage: genera una imagen en formato postscrip. Parámetros:

# n1: número de muestras en la primera dimensión (z)

# n2: número de muestras en la segunda dimensión (x)

# d1: intervalo de muestras en la primera dimensión (z)

# d2: intervalo de muestras en la segunda dimensión (x)

# f2: Coordenada x de la primera muestra

# legend: despliega la escala de colores

# units: unidades de la escala de colores

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# lx: posición de la escala de colores en pixels

# d1num: intervalo de muestreo en el primer eje (z)

Page 69: Proyecto Procesamiento sismico

# d2num: intervalo de muestreo en el segundo eje (x)

psimage < lentitud_uni x1beg=$zmin x1end=$zmax x2beg=$fx x2end=$xf \

n1=$nz n2=$nx d1=$dz d2=$dx f2=$fx \

d1num=0.5 d2num=1.0 hbox=$hbox wbox=$wbox \

legend=1 units='lentitud cuadratica (seg^2/m^2)' >modelo.ps

#Fusión del modelo y los rayos

## psmerge: fusiona archivos Post Script

# in: archivo Post Script a fusionar

psmerge in=modelo.ps in=rayos_$xs$i.ps >rayosmodel_$xs$i.ps

#Fusión del modelo y el frente de ondas

## psmerge: fusiona archivos Post Script

# in: archivo Post Script a fusionar

psmerge in=modelo.ps in=wavefronts_$xs$i.ps >wavesmodel_$xs$i.ps

#Fusión del modelo,los rayos y el frente de ondas

Page 70: Proyecto Procesamiento sismico

## psmerge: fusiona archivos Post Script

# in: archivo Post Script a fusionar

psmerge in=modelo.ps in=rayos_$xs$i.ps in=wavefronts_$xs$i.ps >rayosmodelwaves_$xs$i.ps

pause

echo | tr -d "\012" >/dev/tty

done

# Siguiente shot (shot actual más 1 km)

xs=$((xs + ID))

done

Page 71: Proyecto Procesamiento sismico

Apéndice 3:

8_varios_shots_acusticas.sh

Page 72: Proyecto Procesamiento sismico

#! /bin/bash

#///////////////////////////////////////////////////////////////#

# #

# MODELADO DE PROPAGACIÓN DE ONDAS ACÚSTICAS #

# EN DIFERENCIAS FINITAS CON EL COMANDO SUFDMOD2 #

# PARA MODELOS TRIANGULARES CONSTRUIDOS CON EL COMANDO TRIMODEL #

# ARREGLO SPLIT SPREAD. #

# VARIOS DISPAROS #

# #

#///////////////////////////////////////////////////////////////#

#---------------------------------------#

#---------------------------------------#

# PARÁMETROS DEFINIDOS POR EL USUARIO #

#---------------------------------------#

#---------------------------------------#

#***************************#

# Parámetros de adquisición #

#***************************#

Page 73: Proyecto Procesamiento sismico

#### La unidad selecionada es el metro

offset_max=2000 # Offset máximo

IR=20 # Intervalo entre grupos de receptores

fmax=20 # Frecuencia máxima de la ondícula fuente

tmax=5 # Tiempo máximo de grabación

zs=0 # Coordenada z de la fuente

hsz=0 # Coordenada z de la linea horizontal del sismograma

(profundidad de los receptores)

ID=400 # Intervalo entre puntos de disparos

#************************************#

# Parámetros del modelo del subsuelo #

#************************************#

Longitud=8000 # Longitud del modelo en metros

Profundidad=5000 # Profundidad del modelo en metros

fz=0 # Coordenada z de la primera muestra

Page 74: Proyecto Procesamiento sismico

min_shot=1500 # Valor mínimo del shot que se desea graficar

max_shot=6500 # Valor máximo del shot que se desea graficar

min_cmp=1500 # Valor mínimo del cmp que se desea graficar

max_cmp=6500 # Valor máximo del cmp que se desea graficar

clip=0.49 # Valor máximo de la amplitud de la traza en la gráfica de los shots

gathers formato

# wigle trace display

hbox=5 # hbox: alto de la ventana en pixels para los modelos en formato

Post Script

wbox=8 # wbox: ancho de la ventana en pixels para los modelos en

formato Post Script

#*****************************#

# Perfil de Velocidad #

#*****************************#

### trimodel: construye un modelo triangular de velocidad (m/s). Parámetros

## xmin: coordenada x mínima

## xmax: coordenada x máxima

## zmin: coordenada z mínima

## zmax: coordenada z máxima

Page 75: Proyecto Procesamiento sismico

## xedge: coordenadas x de un borde

## zedge: coordenadas z de un borde

## sedge: velocidad (m/s) a lo largo de un borde

## sfill: valores de velocidad (m/s) para cada espacio cerrado por los bordes

## sfill=x,z,x0,z0,s00,dsdx,dsdz donde:

## * (x,y): es un punto cualquiera en el espacio cerrado deseado

## * s00: velocidad (m/s)

## * dsdx: variación de la lentitud en x (ds/dx)

## * dsdz: variación de la lentitud en z (ds/dz)

## * (x0,z0): es un punto del espacio cerrado donde conozco la variación de la velocidad (m/s)

en x y z

## kedge: arreglo de índices para identificar cada borde

trimodel xmin=0 xmax=8000 zmin=0 zmax=5000 \

1 xedge=0,8000 \

zedge=0,0 \

sedge=0,0 \

2 xedge=0,500,750,1250,1450 \

zedge=1500,1500,1500,1500,1450 \

sedge=0,0,0,0,0 \

3 xedge=1150,2000,2500,2750,3250 \

zedge=1000,1000,900,750,650 \

sedge=0,0,0,0,0 \

4 xedge=3100,3650,4000,4750,5500,6750 \

zedge=1050,1050,900,600,500,500 \

sedge=0,0,0,0,0,0 \

Page 76: Proyecto Procesamiento sismico

5 xedge=6600,7250,8000 \

zedge=1500,1500,1500 \

sedge=0,0,0 \

6 xedge=0,1000,1500,1750 \

zedge=2000,2000,2100,2200 \

sedge=0,0,0,0 \

7 xedge=1950,2300,2750 \

zedge=2500,2400,2500 \

sedge=0,0,0 \

8 xedge=2750,3350,4000,4900,5600 \

zedge=2200,2250,2450,2750,3250 \

sedge=0,0,0,0,0 \

9 xedge=6350,7000,8000 \

zedge=2000,2000,2000 \

sedge=0,0,0 \

10 xedge=1150,1300,1450,1600,1750,1950,2200,2400,2550,2750 \

zedge=1000,1250,1450,1750,2200,2500,3000,3500,4000,4500 \

sedge=0,0,0,0,0,0,0,0,0,0 \

11 xedge=3250,3100,3000,2900,2800,2750,2750,2650,2640,2700,2750 \

zedge=650,1050,1250,1500,1900,2200,2500,3000,3500,4000,4500 \

sedge=0,0,0,0,0,0,0,0,0,0,0 \

12

xedge=0,1250,2250,2750,3250,3750,4250,4750,5250,5600,5800,6100,6350,6600,6700,67

50 \

zedge=4500,4500,4500,4500,4500,4450,4250,4000,3650,3250,3000,2500,2000,1500,1000

,500 \

Page 77: Proyecto Procesamiento sismico

sedge=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 \

13 xedge=0,8000 \

zedge=5000,5000 \

sedge=0,0 \

sfill=2000,500,0,0,1500,0,0 \

sfill=500,1750,0,0,2000,0,0 \

sfill=2000,2000,0,0,2000,0,0 \

sfill=5000,1000,0,0,2000,0,0 \

sfill=7000,1750,0,0,2000,0,0 \

sfill=1000,3000,0,0,3000,0,0 \

sfill=4000,4000,0,0,3000,0,0 \

sfill=7000,5500,0,0,3000,0,0 \

sfill=2500,3000,0,0,3000,0,0 \

kedge=1,2,3,4,5,6,7,8,9,10,11,12,13 > velocidad

#_______________________________________________________________________________

____________#

# Modelado #

#_______________________________________________________________________________

____________#

#### Graficación del modelo triangular en formato Post Script ####

Page 78: Proyecto Procesamiento sismico

### spsplot: plotea una función triangular en formato Post Script

## gtri: gray to draw non-fixed edges of triangles (pone más grises o menos grises los bordes)

## title: título de la gráfica

## labelz: etiqueta del eje z

## labelx: etiqueta del eje x

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

spsplot < velocidad gtri=0.5 title="modelo triangular" \

labelz="Profundidad (km)" labelx="Distancia (km)" hbox=$hbox wbox=$wbox >

velocidad_tri.ps

#### Graficación del modelo triangular en formato x-windows ####

### spsplot: plotea una función triangular de lentitud cuadrática (1/v^2) s(x,z), en formato x-

windows

## gtri: gray to draw non-fixed edges of triangles (pone más grises o menos griese los bordes)

## title: título de la gráfica

## label1: etiqueta del eje z

## label2: etiqueta del eje x

sxplot <velocidad label1="Profundidad (km)" label2="DIstancia (km)" \

title="modelo triangular"

#--------------------------------------#

Page 79: Proyecto Procesamiento sismico

#--------------------------------------#

# CONSTRUCCIÓN DEl PERFIL UNIFORME #

#--------------------------------------#

#--------------------------------------#

LT=$((2*offset_max)) # Longitud del tendido

NR=$((LT/IR+1)) # Número de grupos de receptores

ND=$(((Longitud-LT)/ID)) # Número de disparos

nx=$((LT/IR+1)) # Número de muestras en x

dx=$IR # Intervalo de muestreo en x (segunda dimensión)

nz=$((Profundidad/IR+1)) # Número de muestras en z

dz=$IR # Intervalo de muestreo en z (primera dimensión)

fpeak=$((fmax/2)) # Frecuencia (hz) pico de la ondícula ricker (fpeak=0.5*fmax)

LIMIT=$((ND*ID-ID)) # LIMIT es el límite del tendido para el arreglo seleccionado

# LIMIT= número de disparos*intervalo entre disparos-intervalo

entre disparos

for ((fx=0 ; fx <=LIMIT ; fx=$((fx+ID)) )) # fx: Coordenada x de la primera muestra

do

Page 80: Proyecto Procesamiento sismico

#**************************************#

# Modelo Uniforme: Perfil de Velocidad #

#**************************************#

### tri2uni: convierte un modelo triangular en un modelo uniformemente muestreado.

Parámetros:

# n1: número de muestras en la primera dimensión (z)

# n2: número de muestras en la segunda dimensión (x)

# d1: intervalo de muestras en la primera dimensión (z)

# d2: intervalo de muestras en la segunda dimensión (x)

tri2uni < velocidad > velocidad_uni\

f1=$fz f2=$fx n1=$nz n2=$nx d1=$dz d2=$dx

#### Graficación del perfil de velocidad (Formato X-Windows) ####

### ximage: genera una imagen en formato x-windows. Parámetros:

# n1: número de muestras en la primera dimensión (z)

# n2: número de muestras en la segunda dimensión (x)

# d1: intervalo de muestras en la primera dimensión (z)

# d2: intervalo de muestras en la segunda dimensión (x)

# f2: Coordenada x de la primera muestra

# f1: Coordenada z de la primera muestra

Page 81: Proyecto Procesamiento sismico

# legend: despliega la escala de colores

# units: unidades de la escala de colores

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# lx: posición de la escala de colores en pixels

# xbox: x en pixels de la esquina superior izquierdo de la ventana

# ybox: y en pixels de la esquina superior izquierdo de la ventana

# title: título de la gráfica

ximage < velocidad_uni n1=$nz n2=$nx d1=$dz d2=$dx f2=$fx f1=$fz \

title="perfil de velocidad shot $((fx+offset_max))m" label1='Profundidad (m)'

label2='Distancia (m)'\

legend=1 xbox=10 ybox=10 lx=0.0 units='Velocidad (m/seg)' &

#### Graficación del perfil de velocidad (Formato PostScript) ####

### psimage: genera una imagen en formato postscrip. Parámetros:

# n1: número de muestras en la primera dimensión (z)

# n2: número de muestras en la segunda dimensión (x)

# d1: intervalo de muestras en la primera dimensión (z)

# d2: intervalo de muestras en la segunda dimensión (x)

# f2: Coordenada x de la primera muestra

# f1: Coordenada z de la primera muestra

# legend: despliega la escala de colores

Page 82: Proyecto Procesamiento sismico

# units: unidades de la escala de colores

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# lx: posición de la escala de colores en pixels

# d1num: intervalo de muestreo en el primer eje (z)

# d2num: intervalo de muestreo en el segundo eje (x)

# title: título de la gráfica

# legendfont: tipo de letra para el título

# labelsize: tamaño de letra para las etiquetas de los ejes

# titlesize: tamaño de letra para el título

psimage < velocidad_uni n1=$nz n2=$nx d1=$dz d2=$dx f2=$fx f1=$fz \

title="Perfil de Velocidad correspondiente a un disparo en la posicion $((fx+offset_max))" \

label1='Profundidad (m)' label2='Distancia (m)' \

legend=1 units='Velocidad (m/seg)'hbox=$hbox wbox=$wbox \

lx=0 d1num=500 d2num=1000 \

legendfont=times_roman8 labelsize=12 titlesize=18 >velocidad{$((fx+offset_max))}.ps

#psimage < velocidad_uni n1=$nz n2=$nx d1=$dz d2=$dx f2=$fx f1=$fz \

# title="Perfil de Velocidad" label1='Profundidad (m)' label2='Distancia (m)' \

# legend=1 units='Velocidad (m/seg)'hbox=$hbox wbox=$wbox \

# lx=0 d1num=500 d2num=1000 \

Page 83: Proyecto Procesamiento sismico

# legendfont=times_roman8 labelsize=12 titlesize=18 \

# wrgb=1.0,.5,0 grgb=0,.7,1.0 brgb=0,1.0,0 >velocidad_color.ps

#---------------------------------------------#

#---------------------------------------------#

# MODELADO DE PROPAGACIÓN DE ONDAS ACÚSTICAS #

#---------------------------------------------#

#---------------------------------------------#

### sufdmod2:realiza un modelado en diferencias finitas de segundo orden de la

### ecuación de ondas acústicas, en un modelo uniforme del subsuelo. Parámetros:

# dfile: archivo que contiene la densidad d(x,z)

# nx: Número de muestras en x

# nz: Número de muestras en z

# dx: Intervalo de muestreo en x (segunda dimensión)

# dz: Intervalo de muestreo en z (primera dimensión)

# fx: Coordenada x de la primera muestra

# fz: Coordenada z de la primera muestra

# zs: Coordenada z de la fuente

# xs: Coordenada x de la fuente

Page 84: Proyecto Procesamiento sismico

# fpeak: Frecuencia (hz) pico de la ondícula ricker (fpeak=0.5*fmax)

# fmax: Frecuencia máxima de la ondícula fuente

# hsz: Coordenada z de la linea horizontal del sismograma (profundidad de los receptores)

# tmax: Tiempo máximo de grabación

# abs=1,1,1,1: absorbe las condiciones de borde en los lados

# superior,izquierdo,inferior y derecho del modelo

# mt: número de pasos en tiempo (dt) para el archivo de salida

# hsfile: archivo de salida para la linea horizontal del sismograma [nx][nt]

sufdmod2 < velocidad_uni \

nz=$nz dz=$dz nx=$nx dx=$dx fx=$fx fz=$fz \

zs=$zs xs=$((fx+offset_max)) fpeak=$fpeak fmax=$fmax \

hsz=$hsz tmax=$tmax abs=1,1,1,1 mt=2 \

hsfile=Shotgather{$((fx+offset_max))} >ONDAS

#### Película de propagación de ondas (Formato PostScript) ####

### supsmovie: genera una película de datos segy en formato PostScript. Parámetros:

# n1: número de muestras en la primera dimensión (z)

# n2: número de muestras en la segunda dimensión (x)

# d1: intervalo de muestras en la primera dimensión (z)

# d2: intervalo de muestras en la segunda dimensión (x)

# f2: Coordenada x de la primera muestra

# f1: Coordenada z de la primera muestra

# clip: Valor máximo de la amplitud de la traza en la gráfica

Page 85: Proyecto Procesamiento sismico

# title: título de la gráfica

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# d1num: intervalo de muestreo en el primer eje (z)

# d2num: intervalo de muestreo en el segundo eje (x)

# lx: posición de la escala de colores en pixel

# labelsize: tamaño de letra para las etiquetas de los ejes

# titlesize: tamaño de letra para el título

supsmovie < ONDAS \

n1=$nz d1=$dz n2=$nx d2=$dx f2=$fx f1=$fz clip=0.3\

title="Propagacion de ondas acusticas correspondiente a un disparo en la posicion

$((fx+offset_max))" \

label1='Pofundidad (m)' label2='Distancia (m)' \

hbox=5 wbox=5 d1num=500 d2num=500 lx=0 labelsize=17 titlesize=12 >

ondas{$((fx+offset_max))}.ps

#### Película de propagación de ondas (Formato X-Windows) ####

#### suxmovie:genera una película de datos segy en formato X-Window. Parámetros:

# n1: número de muestras en la primera dimensión (z)

# n2: número de muestras en la segunda dimensión (x)

# d1: intervalo de muestras en la primera dimensión (z)

Page 86: Proyecto Procesamiento sismico

# d2: intervalo de muestras en la segunda dimensión (x)

# f2: Coordenada x de la primera muestra

# f1: Coordenada z de la primera muestra

# clip: Valor máximo de la amplitud de la traza en la gráfica

# title: título de la gráfica

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# loop=1 la película se repite constantemente, loop=0 la película sólo aparece una vez

suxmovie < ONDAS n1=$nz d1=$dz n2=$nx d2=$dx f2=$fx f1=$fz \

title="Propagacion de ondas acusticas correspondiente a un disparo en la posicion

$((fx+offset_max))" \

label1='Pofundidad (m)' label2='Distancia (m)'\

clip=0.3 loop=1

#### Graficación del Shot Gathers (Formato PostScript) ####

### supswigb: genera una imagen Post Script de un conjunto de datos segy en

### formato wigle trace display. Parámetros:

# clip: Valor máximo de la amplitud de la traza en la gráfica

# title: título de la gráfica

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

Page 87: Proyecto Procesamiento sismico

# labelsize: tamaño de letra para las etiquetas de los ejes

# titlesize: tamaño de letra para el título

# d2num: intervalo de muestreo en el segundo eje (x)

supswigb < Shotgather{$((fx+offset_max))} clip=$clip f2=$fx f1=$fz \

title="Shot Gather correspondiente a un disparo en la posicion $((fx+offset_max))" \

label1='tiempo (seg)' label2='Distancia (m)' \

wbox=8.5 hbox=8.5 titlesize=14 labelsize=18 d2num=500 >

Shotgather_wigle{$((fx+offset_max))}.ps

### supsimage: genera una imagen Post Script de un conjunto de datos segy en

### escala de grises. Parámetros:

# perc: porcentaje para determinar el clip

# title: título de la gráfica

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# labelsize: tamaño de letra para las etiquetas de los ejes

# titlesize: tamaño de letra para el título

# d2num: intervalo de muestreo en el segundo eje (x)

supsimage < Shotgather{$((fx+offset_max))} clip=0.25 f2=$fx f1=$fz \

title="Shot Gather correspondiente a un disparo en la posicion $((fx+offset_max))" \

label1='tiempo (seg)' label2='Distancia (m)' \

Page 88: Proyecto Procesamiento sismico

wbox=8.5 hbox=8.5 titlesize=14 labelsize=18 d2num=500 >

Shotgather_gray{$((fx+offset_max))}.ps

### Graficación del Shot Gathers (Formato X-Windows)###

### suxwigb: genera una imagen X-Window de un conjunto de datos segy en

### formato wigle trace display. Parámetros:

# clip: Valor máximo de la amplitud de la traza en la gráfica

# title: título de la gráfica

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

suxwigb < Shotgather{$((fx+offset_max))} clip=$clip f2=$fx f1=$fz \

title="Shot Gather correspondiente a la posicion $((fx+offset_max))" \

label1='Tiempo (seg)' label2='Distancia (m)'

### suximage: genera una imagen X-Windows de un conjunto de datos segy en

### escala de grises. Parámetros:

# perc: porcentaje para determinar el clip

# title: título de la gráfica

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

Page 89: Proyecto Procesamiento sismico

suximage < Shotgather{$((fx+offset_max))} clip=0.25 f2=$fx f1=$fz \

title="Shot Gather correspondiente a la posicion $((fx+offset_max))" \

label1='Tiempo (seg)' label2='Distancia (m)'

done

#------------------------------------------------------------------------------------------#

#------------------------------------------------------------------------------------------#

# SORTING CMP #

#------------------------------------------------------------------------------------------#

#------------------------------------------------------------------------------------------#

#**************************************************************#

# Concanetación de los Shot Gathers obtenidos #

#**************************************************************#

# cat: concatena un conjunto de archivos

cat Shotgather* > SHOTS

Page 90: Proyecto Procesamiento sismico

## Ajuste del Header del archivo SHOTS

# sushw: ajusta los parámetros del header de un archivo con formato SU

# Parámetros de sushw:

# key:

# gx:coordenada x de los receptores

# tracl: secuencia numérica de las trazas de un archivo sísmico

# tracr: secuencia numérica entre carriles

# tracf: secuencia de las trazas para cada Shot Gather

# sx: ubicación x de la fuente

# fldr: número de archivo

# offset: distancia fuente-receptor.

# a: valor(s) en la primera traza

# b: incremento dentro del grupo (s)

# c: incremento del grupo(s)

# j: número de elementos en un grupo

sushw < SHOTS key=gx a=0 b=$IR c=$ID j=$NR > SHOTS.HEA

sushw <SHOTS.HEA key=tracl,tracr,tracf,sx,fldr,offset a=1,1,1,$(($LT/2)),1,-$(($LT/2))

b=1,1,1,0,0,$IR c=0,0,0,$ID,1,0 j=$(($NR*$ND)),$(($NR*$ND)),$NR,$NR,$NR,$NR > SHOTS.HEADER

# suchw: cambia los parámetros del header de un archivo con formato su

Page 91: Proyecto Procesamiento sismico

# Parámetros de sushw:

# b: escala del primer parámetro key

# c: escala del segundo parámetro key

# d: escala total

# gx: coordenada x de los receptores

# sx: ubicación x de la fuente

# cdp: punto medio común

suchw < SHOTS.HEADER key1=cdp key2=gx key3=sx b=1 c=1 d=2 > SHOTS.CMP

#### Gráfica de los Shots Gathers obtenidos y concatenados

# suwind: permite seleccionar trazas por medio de un campo específico del header

# min: valor minimo del key

# max: valor max del key

# sx: ubicación x de la fuente

# suxwigb:genera una imagen (wiggle) de un conjunto de datos segy en formato x-windows

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# clip:Valor máximo de la amplitud de la traza en la gráfica

Page 92: Proyecto Procesamiento sismico

suwind <SHOTS.CMP key=sx min=$min_shot max=$max_shot|

suxwigb clip=0.3 title="Shots gathers" label1='tiempo (seg)' label2='distancia (m)'

# suximage:genera una imagen de un conjunto de datos segy en formato x-windows

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# perc: porcentaje para determinar el clip

suwind <SHOTS.CMP key=sx min=$min_shot max=$max_shot|

suximage perc=90 title="Shots gathers" label1='tiempo (seg)' label2='distancia (m)'

#### Gráfica de los Shots Gathers obtenidos en formato PostScript

## supswigb: genera una imagen (wiggle) de un conjunto de datos segy en formato Post Script

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# clip: Valor máximo de la amplitud de la traza en la gráfica

# legendfont: tipo de letra para el título

# labelsize: tamaño de letra para las etiquetas de los ejes

# titlesize: tamaño de letra para el título

# d2num: intervalo de muestreo en el segundo eje (x)

Page 93: Proyecto Procesamiento sismico

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

suwind <SHOTS.CMP key=sx min=$min_shot max=$max_shot|

supswigb clip=0.3 title="Shots gathers" label1='tiempo (seg)' label2='distancia (m)'\

wbox=8.5 hbox=8.5 titlesize=10 labelsize=18 d2num=500 > wshotsgathers.ps

## supsimage: genera una imagen de un conjunto de datos segy en formato Post Script

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# clip:Valor máximo de la amplitud de la traza en la gráfica

# title: título de la gráfica

# legendfont: tipo de letra para el título

# labelsize: tamaño de letra para las etiquetas de los ejes

# titlesize: tamaño de letra para el título

# d2num: intervalo de muestreo en el segundo eje (x)

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

suwind <SHOTS.CMP key=sx min=$min_shot max=$max_shot|

supsimage clip=0.3 title="Shots gathers" label1='tiempo (seg)' label2='distancia (m)'\

wbox=8.5 hbox=8.5 titlesize=10 labelsize=18 d2num=500 > shotsgathers.ps

Page 94: Proyecto Procesamiento sismico

#*************************#

# Orden CMP #

#*************************#

## Ordenamiento por CMP

# susort: clasifica los headers de datos segy basandose en key

susort < SHOTS.CMP > CMP cdp

## Graficación de los CMP Gathers formato X-Windows

# suwind: permite al usuario establecer los valores de un campo específico del header

# min: valor minimo del key

# max: valor max del key

# key=cdp: Número de conjunto de CMP

# f2: primera muestra en x

# d2: intervalo de muestreo en x

# d2num: intervalo en los valores del eje x

# suxwigb:genera una imagen (wiggle) de un conjunto de datos segy en formato x-window

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# clip:Valor máximo de la amplitud de la traza en la gráfica

Page 95: Proyecto Procesamiento sismico

suwind < CMP key=cdp min=$min_cmp max=$max_cmp |

suxwigb clip=0.3 f2=1994 d2=0.3125 d2num=12.5 \

title="CMP Gather" \

windowtitle="CMP" \

label1='Tiempo (seg)' label2='Distancia (m)'

# suximage:genera una imagen de un conjunto de datos segy en formato x-windows

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# perc: porcentaje para determinar el clip

suwind < CMP key=cdp min=$min_cmp max=$max_cmp |

suximage perc=90 f2=1994 d2=0.3125 d2num=12.5 \

title="CMP Gather" \

windowtitle="CMP" \

label1='Tiempo (seg)' label2='Distancia (m)'

### Gráfica de los CMP Gathers obtenidos en formato PostScript

Page 96: Proyecto Procesamiento sismico

# suwind: permite al usuario establecer los valores de un campo específico del header

# min: valor minimo del key

# max: valor max del key

# key=cdp: Número de conjunto de CMP

# f2: primera muestra en x

# d2: intervalo de muestreo en x

# d2num: intervalo en los valores del eje x

## supswigb: genera una imagen (wiggle) de un conjunto de datos segy en formato Post Script

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# clip:Valor máximo de la amplitud de la traza en la gráfica

# legendfont: tipo de letra para el título

# labelsize: tamaño de letra para las etiquetas de los ejes

# titlesize: tamaño de letra para el título

# d2num: intervalo de muestreo en el segundo eje (x)

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

suwind < CMP key=cdp min=$min_cmp max=$max_cmp |

supswigb clip=0.3 f2=1994 d2=0.3125 d2num=12.5 \

title="CMP Gather" \

windowtitle="CMP" \

label1='Tiempo (seg)' label2='Distancia (m)' \

Page 97: Proyecto Procesamiento sismico

wbox=8.5 hbox=8.5 titlesize=10 labelsize=18 d2num=500 > W_CMP.ps

## supsimage: genera una imagen de un conjunto de datos segy en formato Post Script

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# clip:Valor máximo de la amplitud de la traza en la gráfica

# title: título de la gráfica

# legendfont: tipo de letra para el título

# labelsize: tamaño de letra para las etiquetas de los ejes

# titlesize: tamaño de letra para el título

# d2num: intervalo de muestreo en el segundo eje (x)

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

suwind < CMP key=cdp min=$min_cmp max=$max_cmp |

supsimage clip=0.3 f2=1994 d2=0.3125 d2num=12.5 \

title="CMP Gather" \

windowtitle="CMP" \

label1='Tiempo (seg)' label2='Distancia (m)' \

wbox=8.5 hbox=8.5 titlesize=10 labelsize=18 d2num=500 > CMP.ps

Page 98: Proyecto Procesamiento sismico

Apéndice 4:

9_nmo.sh

Page 99: Proyecto Procesamiento sismico

#!/bin/bash

#///////////////////////////////////////////////////////////////#

# #

# ANALISIS DE VELOCIDAD, CORRECCIÓN NMO #

# Y SECCIÓN APILADA #

# #

#///////////////////////////////////////////////////////////////#

#---------------------------------------#

#---------------------------------------#

# PARÁMETROS DEFINIDOS POR EL USUARIO #

#---------------------------------------#

#---------------------------------------#

ND=10 # Número de disparos de la adquisición sísmica

#*****************************************#

# Seleccion de los CMP para la corrección #

#*****************************************#

Page 100: Proyecto Procesamiento sismico

cdpmin=2000 # Primer CMP

cdpmax=6000 # Último CMP

dcdp=500 # Intervalo entre CMP

#**************************************************************#

# Seleccion del intervalo de velocidades del mapa de sembñanza #

#**************************************************************#

### La velocidad final es vf=fv+((nv*dv)-dv)

nv=500 # Número de velocidades

dv=10 # Intervalo entre las velocidades

fv=500 # Primera velocidad

#***********************************#

# Parámetros de graficación #

#***********************************#

Page 101: Proyecto Procesamiento sismico

clip=0.5 # Valor máximo de la amplitud de la traza en la gráfica de los cmp

gather; formato

# wigle trace display

clipsem=0.25 # Valor mínimo de la amplitud de la traza en el mapa de semblanza de la

escala de

# colores (el máximo es 1)

clipnmo1=0.25 # Valor máximo de la amplitud de la traza en la gráfica de la corrección

NMO de cada cmp # gather corregido; formato wigle trace display

clipnmo2=0.25 # Valor máximo de la amplitud de la traza en la gráfica de la corrección

NMO de toda # la data corregida; formato wigle trace display

mincmp=0.25 # Valor mínimo del cmp corregido por nmo que desee graficar en

formato Post Script

maxcmp=0.25 # Valor máximo del cmp corregido por nmo que desee graficar en

formato Post Script

clipstack=0.5 # Valor máximo de la amplitud de la traza en la gráfica de la sección

apilada # en formato wigle trace display

Page 102: Proyecto Procesamiento sismico

#_______________________________________________________________________________

____________#

# Analisis de velocidad y correccion NMO #

#_______________________________________________________________________________

____________#

# Archivo de entrada (Data sísmica ordenada por CMP)

infile=CMP

# Archivo de salida

outfile=stkvel.p1

# ### Análisis de velocidad

cdp=$cdpmin

while [ $cdp -le $cdpmax ]

do

ok=false

while [ $ok = false ]

do

Page 103: Proyecto Procesamiento sismico

#*****************************************#

# Selección de los CMP para la corrección #

#*****************************************#

# suwind: permite seleccionar trazas por medio de un campo específico del header

# key=cdp: Número de conjunto de CMP

# min: valor minimo del key

# max: valor max del key

# count=ND: número de trazas máximas en un CMP Gather

suwind < $infile key=cdp min=$cdp max=$cdp count=$ND > panel.$cdp

#### Grafica del CMP seleccionado en formato x-windows ####

# suxwigb:genera una imagen (wiggle) de un conjunto de datos segy en formato x-window

# title: título de la gráfica

# clip:Valor máximo de la amplitud de la traza en la gráfica

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# label1: etiqueta del primer eje (z)

suxwigb < panel.$cdp title="CMP gather para CMP=$cdp" clip=$clip xbox=600 wbox=504 \

label1="Tiempo (seg)" mpicks=mpicks.$cdp &

#### Grafica del CMP seleccionado en formato Post Script ####

Page 104: Proyecto Procesamiento sismico

# supswigb:genera una imagen (wiggle) de un conjunto de datos segy en formato Post Script

# title: título de la gráfica

# clip:Valor máximo de la amplitud de la traza en la gráfica

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# label1: etiqueta del primer eje (z)

#supswigb < panel.$cdp title="CMP gather para CMP $cmp" clip=$clip wbox=500 hbox=700 \

# label1="Tiempo (seg)" > cmp$cdp.ps

### suximage: genera una imagen X-Windows de un conjunto de datos segy en

### escala de colores. Parámetros:

# title: título de la gráfica

# clip:Valor máximo de la amplitud de la traza en la gráfica

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# label1: etiqueta del primer eje (z)

# cmap: selección de la escala de colores

suximage < panel.$cdp title="CMP gather para CMP=$cdp" clip=0.1 xbox=600 wbox=504 \

label1="Tiempo (seg)" cmap=hsv1 mpicks=mpicks.$cdp &

Page 105: Proyecto Procesamiento sismico

#************************************#

# Mapas de semblanza para cada cmp #

#************************************#

# # Selección de los valores del filtro

# Valores de frecuencia

f=1,10,100,120

# Valores de amplitud

amps=0,1,1,0

sugain tpow=2 < panel.$cdp |

sufilter f=$f amps=$amps > panel_gan.$cdp

### suvelan: calcula el mapa de semblanza para un cmp gather

# nv: Número de velocidades

# dv: Intervalo entre las velocidades

# fv: Primera velocidad

suvelan < panel_gan.$cdp nv=$nv dv=$dv fv=$fv > semblanza

##### Mapa en escala de colores #####

# Formato X-Windows #

Page 106: Proyecto Procesamiento sismico

### suximage: genera una imagen X-Windows de un conjunto de datos segy en

### escala de colores. Parámetros:

# bclip,wclip: a la data entre (bclip,wclip) se le aplicara clip. Valores máximos

# y mínimos en el mapa de semblanza

# f2: Coordenada x de la primera muestra

# d2: intervalo de muestreo en la segunda dimensión (x)

# cmap: selección de la escala de colores

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# units: unidades de la escala de colores

# legend=1: despliega la escala de colores

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# mpicks: archivo donde se guardan los valores seleccionados con el raton

suximage < semblanza wclip=$clipsem bclip=1 f2=$fv d2=$dv cmap=hsv1 xbox=0 wbox=504 \

units="Semblanza" legend=1 \

label1="Tiempo (seg)" label2="Velocidad (m/seg)" \

title="Mapa de Semblanza para CMP=$cdp" mpicks=mpicks.$cdp &

# formato Post Script #

Page 107: Proyecto Procesamiento sismico

### supsimage: genera una imagen Post Script de un conjunto de datos segy en

### escala de colores. Parámetros:

# bclip,wclip: a la data entre (bclip,wclip) se le aplicara clip. Valores máximos

# y mínimos en el mapa de semblanza

# f2: Coordenada x de la primera muestra

# d2: intervalo de muestreo en la segunda dimensión (x)

# cmap: selección de la escala de colores

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# units: unidades de la escala de colores

# legend=1: despliega la escala de colores

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# mpicks: archivo donde se guardan los valores seleccionados con el raton

#supsimage < semblanza wclip=$clipsem bclip=1 f2=$fv d2=$dv cmap=hsv1 wbox=500 hbox=700 \

# units="Semblanza" legend=1 \

# label1="Tiempo (seg)" label2="Velocidad (m/seg)" \

# title="Mapa de Semblanza para CMP $cmp" mpicks=mpicks.$cdp > semblanza$cdp.ps

##### Mapa de contorno #####

# f2: Coordenada x de la primera muestra

# d2: intervalo de muestreo en la segunda dimensión (x)

Page 108: Proyecto Procesamiento sismico

# nc: Número de valores de contorno para el mapa de semblanza

# fc: Primer valor del mapa de contorno

# ccolor: arreglo de colores en el mapa de contorno

# units: unidades de la escala de colores

# legend=1: despliega la escala de colores

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# mpicks: archivo donde se guardan los valores seleccionados con el raton

nc=35 # this number should be at least 25

fc=.05 # This number should be between .05 to .15 for real data

ccolor=black,grey,green,black,grey,cyan,black,grey,blue,black,grey,blue,red,red,red

suxcontour < semblanza nc=$nc f2=$fv d2=$dv xbox=0 wbox=504 legend=1 \

units="Semblaza" fc=$fc ccolor=$ccolor \

label1="Tiempo (seg)" label2="Velocidad (m/seg)" \

title="Mapa de Semblanza para CMP=$cdp" \

mpicks=mpicks.$cdp

#********************************#

# Construcción del archivo par #

#********************************#

Page 109: Proyecto Procesamiento sismico

## sort: ordena lineas de texto

# -n: ordena por valor numérico

## mkparfile: convierte archivos ascii a formato par

# string1: primsera secuencia del archivo par

# string2: segunda secuencia del archivo par

sort <mpicks.$cdp -n |

mkparfile string1=tnmo string2=vnmo >par.$cdp

#********************************************************************#

# Construcción de la gráfica de funcion de velocidad de apilamiento #

#********************************************************************#

##### Transfomación del archivo par a un archivo binario #####

# sed: editor de texto. Se cambia tnmo por xin y vnmo por yin

# s: sustituye

sed <par.$cdp '

s/tnmo/xin/

s/vnmo/yin/

' >unisam.p

Page 110: Proyecto Procesamiento sismico

### unisam: muestrea uniformemente una funcion y(x) especificada como pares x,y (archivo

binario)

# nout: número de valores de y que tendra el archivo de salida

# fxout: primer x del archivo de salida

# dxout: intervalo de muestreo de x del archivo de salida

# par: archivo par

# method: método de interpolacion

## Tomando los valores de nout y dxout del header del archivo CMP

# sugethw: muestra los valores indicados por el key

# ns: número de muestras en la traza

# dt: intervalo de muestreo en micro segundos

# sed: editor de texto.

# 1q: 1 imprime la linea y q finaliza el sed

# s: sustituye

# bc: lenguaje de calculo

# -l: define la libreria de matemática estándar

nout=`sugethw ns <$infile | sed 1q | sed 's/.*ns=//'`

dt=`sugethw dt <$infile | sed 1q | sed 's/.*dt=//'`

dxout=`bc -l <<END

$dt / 1000000

END`

Page 111: Proyecto Procesamiento sismico

unisam nout=$nout fxout=0.0 dxout=$dxout \

par=unisam.p method=spline > varias.u

### xgraph: plotea n[i] coordenadas de pares (x,y)en formato X-Windows. Parámetros:

# n: número de puntos por gráfica

# nplot: número de diagramas

# f1: Coordenada z de la primera muestra

# d1: intervalo de muestreo en z

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# grid1: tipo de linea en el eje 1

# grid2: tipo de linea en el eje 1

# linecolor: color de línea

# style: seismic= eje1 horizontal, eje2 vertical

# normal= eje1 vertical, eje2 horizontal

xgraph < varias.u n=$nout nplot=1 d1=$dxout f1=0.0 width=504 height=700 \

label1="Tiempo (seg)" label2="Velocidad (m/seg)" \

title="Funcion de velocidad de apilamiento: CMP $cdp" \

grid1=solid grid2=solid \

linecolor=2 style=seismic

Page 112: Proyecto Procesamiento sismico

### psgraph: plotea n[i] coordenadas de pares (x,y)en formato Post Script

# n: número de puntos por gráfica

# nplot: número de diagramas

# f1: Coordenada z de la primera muestra

# d1: intervalo de muestreo en z

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# title: título de la gráfica

# grid1: tipo de linea en el eje 1

# grid2: tipo de linea en el eje 1

# linecolor: color de línea

# style: seismic= eje1 horizontal, eje2 vertical

# normal= eje1 vertical, eje2 horizontal

#psgraph < varias.u n=$nout nplot=1 d1=$dxout f1=0.0 wbox=500 hbox=700 \

# label1="Tiempo (seg)" label2="Velocidad (m/seg)" \

# title="Funcion de velocidad de apilamiento: CMP $cmp" \

# grid1=solid grid2=solid \

# linecolor=2 style=seismic > funcion_velocidad_$cdp.ps

#******************************************#

# Corrección NMO para cada CMP analizado #

#******************************************#

Page 113: Proyecto Procesamiento sismico

### sunmo: corrección nmo para una funcion de velocidad arbitraria en tiempo y cmp

# par: archivo par que contiene Vnmo y Tnmo

### suxwigb: genera una imagen X-Window de un conjunto de datos segy en

### formato wigle trace display. Parámetros:

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# clip: Valor máximo de la amplitud de la traza en la gráfica

sunmo < panel_gan.$cdp par=par.$cdp |

suxwigb title="Correccion NMO para cdp=$cdp" xbox=0 wbox=504 xcur=$xcur \

label1="Tiempo (seg)" perc=$perc xcur=$xcur clip=$clipnmo1 &

### supswigb: genera una imagen Post Script de un conjunto de datos segy en

### formato wigle trace display. Parámetros:

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

Page 114: Proyecto Procesamiento sismico

# clip: Valor máximo de la amplitud de la traza en la gráfica

#sunmo < panel_gan.$cdp par=par.$cdp |

#supswigb title="Correccion NMO para cdp=$cdp" xbox=0 wbox=504 xcur=$xcur \

# label1="Tiempo (seg)" perc=$perc xcur=$xcur clip=$clipnmo1 > nmo$cdp.ps

#************************#

# Consulta al usuario #

#************************#

# pause: detiene el programa hasta que se presione enter

# echo: despliega una cadena de caracteres en el terminal

# tr -d "\012" elimina del bufer la informacion obtenida al presionar enter (012= octal value of

enter)

# read: la informacion contenida en el bufer se le asigna a esta variable

# case: utiliza la informacion contenida en la variable asignada a read para definir varias opciones

# bc: lenguaje de calculo

# -l: define la libreria de matemática estándar

# set +x: imprime por pantalla cada comando y sus argumentos

pause

Page 115: Proyecto Procesamiento sismico

echo "La selección es correcta? (s/n) " | tr -d "\012" >/dev/tty

read response

case $response in

n*) ok=false ;;

*) ok=true ;;

esac

done </dev/tty

cdp=`bc -l <<END

$cdp + $dcdp

END`

done

set +x

#****************************************#

# Construcción del archivo par único #

#****************************************#

# echo: despliega una cadena de caracteres en el terminal

# tr -d "\012" elimina del bufer la informacion obtenida al presionar enter (012= octal value of

enter)

# bc: lenguaje de calculo

# -l: define la libreria de matemática estándar

# cat: concatena archivos

Page 116: Proyecto Procesamiento sismico

## construcción del vector con los valores de cmp analizados en el archivo de salida

>$outfile

echo "cdp=" | tr -d "\012" >>$outfile

cdp=$cdpmin

echo "$cdp" | tr -d "\012" >>$outfile

cdp=`bc -l <<END

$cdp + $dcdp

END`

while [ $cdp -le $cdpmax ]

do

echo ",$cdp" | tr -d "\012" >>$outfile

cdp=`bc -l <<END

$cdp + $dcdp

END`

done

echo >>$outfile

## concanetación de los archivos par en el archivo de salida

cdp=$cdpmin

while [ $cdp -le $cdpmax ]

do

cat par.$cdp >>$outfile

Page 117: Proyecto Procesamiento sismico

cdp=`bc -l <<END

$cdp + $dcdp

END`

done

echo "El archivo .par que será ingresado al comando SUNMO: $outfile fue creado"

### Limpieza del directorio

cdp=$cdpmin

while [ $cdp -le $cdpmax ]

do

rm mpicks.$cdp par.$cdp

cdp=`bc -l <<END

$cdp + $dcdp

END`

done

rm unisam.p

# ---------------------------

#---------------------------#

#---------------------------#

# CORRECIÓN NMO #

#---------------------------#

Page 118: Proyecto Procesamiento sismico

#---------------------------#

### sunmo: corrección nmo para una funcion de velocidad arbitraria en tiempo y cmp

# par: archivo par que contiene Vnmo y Tnmo

sunmo < $infile par=stkvel.p1 > nmodata

#### Despliegue de la data corregida por NMO en formato X-window

# suwind: permite al usuario establecer los valores de un campo específico del header

# j: intervalo entre trazas

suwind < nmodata j=1 > NMO

sugain < NMO tpow=2 gpow=0.5 > NMO_sugain

### suxwigb: genera una imagen X-Window de un conjunto de datos segy en

### formato wigle trace display. Parámetros:

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

# xbox: x en pixels de la esquina superior izquierda de la ventana

# label1: etiqueta del primer eje (z)

Page 119: Proyecto Procesamiento sismico

# label2: etiqueta del segundo eje (x)

# windowtitle: título de la ventana

# clip: Valor máximo de la amplitud de la traza en la gráfica

suxwigb < NMO clip=$clipnmo2 xbox=0 wbox=2000 \

title="Data corregida por NMO" \

windowtitle="NMO" \

label1="Tiempo (seg)" label2="Distancia (km)" &

#### Despliegue de la data corregida por NMO en formato Post Script

# suwind: permite al usuario establecer los valores de un campo específico del header

# min: valor minimo del key

# max: valor max del key

# cdp: punto medio común

suwind < nmodata key=cdp min=$mincmp max=$cmp > NMO2

### supswigb: genera una imagen Post Script de un conjunto de datos segy en

### formato wigle trace display. Parámetros:

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

# xbox: x en pixels de la esquina superior izquierda de la ventana

Page 120: Proyecto Procesamiento sismico

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# windowtitle: título de la ventana

# clip: Valor máximo de la amplitud de la traza en la gráfica

#supswigb < NMO2 clip=$clipnmo2 xbox=0 wbox=500 \

# title="Data corregida por NMO 2" \

# windowtitle="NMO" \

# label1="Tiempo (seg)" label2="Distancia (km)" > NMO.ps

#---------------------------#

#---------------------------#

# SECCIÓN APILADA #

#---------------------------#

#---------------------------#

### sustack: apila trazas adyacentes

sustack < nmodata normpow=1.0 > stackdata

###### Despliegue de la sección apilada en formato X-Windows

Page 121: Proyecto Procesamiento sismico

# suwind: permite al usuario establecer los valores de un campo específico del header

# j: intervalo entre trazas

### suxwigb: genera una imagen X-Window de un conjunto de datos segy en

### formato wigle trace display. Parámetros:

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

# xbox: x en pixels de la esquina superior izquierda de la ventana

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# windowtitle: título de la ventana

# clip: Valor máximo de la amplitud de la traza en la gráfica

suwind < stackdata j=1 |

suxwigb title="Seccion apilada" clip=$clipstack wbox=720 xbox=140 \

windowtitle="Stack" \

label1="Tiempo (seg)" label2="Distancia (km)" &

# suwind: permite al usuario establecer los valores de un campo específico del header

# j: intervalo entre trazas

### suximage: genera una imagen X-Window de un conjunto de datos segy en

### escala de grises. Parámetros:

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

Page 122: Proyecto Procesamiento sismico

# xbox: x en pixels de la esquina superior izquierda de la ventana

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# windowtitle: título de la ventana

# clip: Valor máximo de la amplitud de la traza en la gráfica

suwind < stackdata j=1 |

suximage title="Seccion apilada" clip=0.3 wbox=720 xbox=140 \

windowtitle="Stack" \

label1="Tiempo (seg)" label2="Distancia (km)" &

###### Despliegue de la sección apilada en formato Post Script

# suwind: permite al usuario establecer los valores de un campo específico del header

# j: intervalo entre trazas

### supswigb: genera una imagen X-Window de un conjunto de datos segy en

### formato wigle trace display. Parámetros:

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

# xbox: x en pixels de la esquina superior izquierda de la ventana

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# windowtitle: título de la ventana

Page 123: Proyecto Procesamiento sismico

# clip: Valor máximo de la amplitud de la traza en la gráfica

suwind < stackdata j=1 |

supswigb title="Seccion apilada" clip=$clipstack wbox=720 xbox=140 \

windowtitle="Stack" \

label1="Tiempo (seg)" label2="Distancia (km)" > stack_w.ps

# suwind: permite al usuario establecer los valores de un campo específico del header

# j: intervalo entre trazas

### supsimage: genera una imagen Post Script de un conjunto de datos segy en

### escala de grises. Parámetros:

# title: título de la gráfica

# wbox: ancho de la ventana en pixels

# xbox: x en pixels de la esquina superior izquierda de la ventana

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

# windowtitle: título de la ventana

# clip: Valor máximo de la amplitud de la traza en la gráfica

suwind < stackdata j=1 |

supsimage title="Seccion apilada" clip=0.3 \

windowtitle="Stack" \

label1="Tiempo (seg)" label2="Distancia (m)" > stack.ps

Page 124: Proyecto Procesamiento sismico

# Limpieza del directorio

rm NMO* panel* semblanza varias.u stackdata_gan

Page 125: Proyecto Procesamiento sismico

Apéndice 5:

10_migra.sh

Page 126: Proyecto Procesamiento sismico

#!/bin/bash

#////////////////////////////////////////////////////////////#

# #

# MUTE Y MIGRACIÓN DE DATA SISMICA EN D=2+1 #

# #

#////////////////////////////////////////////////////////////#

#---------------------------------------#

#---------------------------------------#

# PARÁMETROS DEFINIDOS POR EL USUARIO #

#---------------------------------------#

#---------------------------------------#

v=4000 # Velocidad de Migración

t=1.5 # tiempo de migración

Page 127: Proyecto Procesamiento sismico

#*****************************#

# Mute #

#*****************************#

data=stackdata # sección apilada

mutepicks=mutepicks.$data # data del mute

parfile=par.$data #

key=tracl # secuencia numérica de las trazas

### suximage: genera una imagen X-Windows de un conjunto de datos segy en

### escala de grises. Parámetros:

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

suximage < $data mpicks=$mutepicks wbox=1000 hbox=500

### sort: reordena lineas de texto

# n: orden numérico

## mkparfile: convierte archivos ascii a formato par

Page 128: Proyecto Procesamiento sismico

# string1: primera secuencia a convertir

# string2: segunda secuencia a convertir

sort < $mutepicks -n |

mkparfile string1=tmute string2=xmute > $parfile

### sumute: realiza un mute por encima (o por debajo) de una curva poligonal definida por el

usuario

### la distancia de la curva es especificada por un key del header

sumute < $data par=$parfile key=$key > mute.$data

### suximage: genera una imagen X-Windows de un conjunto de datos segy en

### escala de grises. Paráme### supsimage: genera una imagen Post Script de un conjunto de

datos segy en

### escala de grises. Parámetros: tros:

# perc: porcentaje para determinar el clip

suximage < mute.$data perc=90 &

#*****************************#

# Migración #

#*****************************#

Page 129: Proyecto Procesamiento sismico

### sumigps: migración por cambio de fase

# tmig: tiempo de migración

# vmig: velocidad de migración

sumigps <mute.$data tmig=$t vmig=$v >stack_mig

### Graficación de la sección migrada

### suximage: genera una imagen X-Windows de un conjunto de datos segy en

### escala de grises. Parámetros:

# perc: porcentaje para determinar el clip

# wbox: ancho de la ventana en pixels

# hbox: alto de la ventana en pixels

# title: título de la gráfica

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

suximage < stack_mig title='seccion apilada y migrada' perc=80 \

wbox=720 xbox=140 label1='Tiempo (seg)' label2='Distancia (m)'

### supsimage: genera una imagen Post Script de un conjunto de datos segy en

### escala de grises. Parámetros:

# perc: porcentaje para determinar el clip

# wbox: ancho de la ventana en pixels

Page 130: Proyecto Procesamiento sismico

# hbox: alto de la ventana en pixels

# title: título de la gráfica

# label1: etiqueta del primer eje (z)

# label2: etiqueta del segundo eje (x)

supsimage <stack_mig title='seccion apilada y migrada' perc=80 \

wbox=720 xbox=140 label1='Tiempo (seg)' label2='Distancia (m)' > stack_migrada.ps