Para comprender y predecir el comportamiento de un yacimiento es necesario describir, con el mayor detalle posible, la distribución espacial de sus propiedades. La permeabilidad, la porosidad, el espesor y la presión se conocen normalmente en ubicaciones puntuales, como los pozos, pero para construir mapas necesitamos estimar sus valores entre esos puntos.
En este ejemplo generaremos un mapa de permeabilidad en Python mediante el método de distancia inversa. Primero reproduciremos el procedimiento utilizado en el video y después construiremos una versión interactiva con Plotly.
Video
Datos del ejemplo
El archivo Datos_Perm.csv contiene el nombre de cada pozo, sus coordenadas \(X\) y \(Y\), la producción acumulada y la permeabilidad \(K\).
Ver código
import pandas as pdimport numpy as npdata = pd.read_csv("Datos_Perm.csv")data
El método supone que los puntos cercanos al lugar que queremos estimar tienen mayor influencia que los puntos alejados. El peso asignado a cada dato se calcula como:
En este ejemplo usamos \(p=1\), igual que en el procedimiento mostrado en el video. Un valor mayor de \(p\) aumenta la influencia de los pozos más cercanos.
Creación de la cuadrícula
Primero generamos vectores de coordenadas dentro del área cubierta por los pozos. Se agrega un margen de 500 ft alrededor de los datos y se utiliza un espaciamiento de 100 ft.
La matriz MATZ contiene la permeabilidad estimada en cada nodo. Con contourf() podemos representarla como un mapa de contornos y superponer las ubicaciones de los pozos.
<matplotlib.legend.Legend object at 0x000001AA4703D6A0>
Ver código
plt.tight_layout()plt.show()
Figure 1: Mapa de permeabilidad interpolado mediante distancia inversa. Los triángulos representan la ubicación de los pozos.
Ver código
fig.show()
<string>:2: UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown
El mapa permite identificar las regiones de mayor y menor permeabilidad. Como ocurre con otros métodos determinísticos, la forma de los contornos depende de la ubicación de los pozos, del espaciamiento de la cuadrícula y del exponente utilizado en los pesos.
Mapa interactivo con Plotly
Plotly permite explorar el mapa de forma interactiva. Al desplazar el cursor podemos consultar las coordenadas y la permeabilidad estimada; también es posible ampliar zonas específicas del área.
En este ejemplo construimos un mapa de permeabilidad a partir de datos puntuales de pozos mediante un procedimiento directo:
Leímos las coordenadas y la permeabilidad desde un archivo CSV.
Creamos una cuadrícula para representar el área del yacimiento.
Estimamos la permeabilidad de cada nodo mediante distancia inversa.
Generamos un mapa estático con Matplotlib.
Creamos una versión interactiva con Plotly.
El método es sencillo y útil para visualizar rápidamente una propiedad. Sin embargo, el resultado no debe interpretarse como una caracterización geoestadística completa: no incorpora un variograma ni cuantifica la incertidumbre espacial. Su principal utilidad en este ejemplo es mostrar con claridad cómo pasar de datos puntuales a una superficie interpolada utilizando Python.