Pulso — Agrupamiento y Atribución de Forma de Curvas Diagnósticas de Well-Test
Un catálogo no supervisado de clases de comportamiento de flujo ("GeoTypes") para reservorios fracturados: agrupa la FORMA de curvas de derivada de Bourdet de transitorios de presión con DTW k-medoids, atribuye cada clase a los descriptores de la red de fracturas que la controlan (Random Forest + SHAP), y entrega un banco de trabajo en el navegador que clasifica una curva del usuario contra los medoides precalculados con predicción conforme. Reproduce y extiende Kamel Targhi et al. 2026 (Comp. Geosciences 30, 57) sobre un corpus real de 4TU (~4768 curvas), y luego transfiere el mismo diagnóstico de forma a dos sitios reales de pruebas de bombeo en acuíferos, con la advertencia explícita de que la forma transfiere pero la física no.
Contexto de Negocio
La interpretación de pruebas de pozo es donde se acota la incertidumbre del subsuelo antes de decisiones caras (dónde perforar, si una red de fracturas está lo bastante conectada para producir). El valor de un catálogo de formas es que convierte una interpretación puntual en un vocabulario reutilizable: una curva nueva se ubica contra clases de comportamiento conocidas, y la capa de atribución dice qué propiedad de la red de fracturas probablemente impulsa ese comportamiento, lo que a su vez indica qué dato reduciría más la ambigüedad. La misma idea de diagnóstico por forma se lleva a pruebas de bombeo en acuíferos, pero Pulso es explícito en que solo la forma transfiere: las pruebas en acuíferos son un sistema físico distinto, la transmisividad y el almacenamiento son desconocidos, así que esas curvas se agrupan por forma, no por una respuesta adimensional referenciada a la física.
Valor Estratégico
El diferenciador honesto son corpus reales licenciados más resultados nulos y de límite publicados. Sobre las curvas reales de 4TU el agrupamiento es genuinamente bueno (silhouette 0.72 en baja permeabilidad, 0.86 en media), y está anclado contra un control de régimen único en 0.137 (el nulo que muestra que el método no inventa estructura en ruido) y una familia ruidosa en 0.172 (degradación correcta). Una compuerta de validación analítica DARTS pasa sobre un ancla homogénea (L2 relativo 0.0108 contra una tolerancia de 0.05). Cuatro modelos ONNX corren inferencia en el navegador. Pero Pulso es cuidadoso con lo que no afirma: la fuerte accuracy de los modelos aprendidos (InceptionTime, PatchTST) es contra las etiquetas del propio k-medoids del pipeline, no contra una verdad externa, así que mide qué tan bien la red reproduce el agrupamiento, no clasificación contra la realidad; ahí el silhouette de entrenamiento es débil (0.190). La transferencia a acuíferos es una prueba de diagnóstico por forma sobre muestras pequeñas, con la atribución de campo omitida donde solo hay ocho curvas. Reproduce un paper de Computational Geosciences de 2026 y lo extiende, con los resultados negativos incluidos.
El Desafío
Una prueba de pozo registra cómo responde la presión cuando un pozo se produce o se cierra, y la derivada diagnóstica de Bourdet de esa respuesta tiene una forma que codifica los regímenes de flujo por los que pasó el fluido. En un reservorio fracturado, los mismos descriptores que dan forma a la curva (densidad de fracturas, conectividad, apertura) son justo las incógnitas geológicas que un operador quiere acotar. Lo difícil es que estas curvas no están etiquetadas: no hay una "clase" de verdad contra la cual entrenar, los tipos de comportamiento recurrentes hay que descubrirlos desde las formas mismas, y cualquier afirmación de que un método encontró estructura real tiene que sobrevivir a un control donde no hay estructura que encontrar.
Nuestro Enfoque
Pulso es un catálogo no supervisado que parte de la forma. Calcula la derivada de Bourdet de cada respuesta de transitorio de presión y agrupa las curvas por forma con DTW k-medoids, eligiendo k con silhouette y una tabla de k, con embedding por MDS. Cada clase de comportamiento se atribuye luego a los descriptores de la red de fracturas que la controlan mediante un Random Forest con SHAP, importancia por permutación y concordancia de rangos, registrado por caso detrás de una compuerta. Las curvas vienen de tres fuentes: ensembles de redes de fracturas discretas GeoDFN y una vía de simulación DFM con open-DARTS, un corpus real de well-test de 4TU (~4768 curvas de derivada de Bourdet adimensionales más ~5000 filas de descriptores DFN), y dos sitios reales de pruebas de bombeo en acuíferos (welltestpy: Horkheimer Insel y Lauswiesen). El núcleo físico clásico es una derivada de Bourdet más un modelo de doble porosidad de Warren-Root vía inversión de Stehfest, que es también el motor de la vía en vivo con Pyodide. Cuatro modelos aprendidos (InceptionTime, PatchTST, un autoencoder de curvas y un modelo de embedding) se exportan a ONNX y corren en el navegador; un usuario pega una curva y se clasifica contra los medoides precalculados con un conjunto de predicción conforme.
Indicadores Clave de Rendimiento
| KPI | Línea Base | Resultado | Impacto |
|---|---|---|---|
| Estructura encontrada, y controlada | Un puntaje de agrupamiento sin nulo contra el cual comparar | Silhouette 0.72 (baja perm real) y 0.86 (media perm real) contra un control de régimen único en 0.137 | El nulo prueba que las clases son estructura de forma real, no ruido |
| Dato real, no planificado | Un método demostrado solo en simulación | ~4768 curvas reales de derivada de Bourdet + ~5000 filas de descriptores DFN (4TU) + 2 sitios reales de acuífero (welltestpy) | Reproduce y extiende un paper de Computational Geosciences de 2026 |
| Compuerta de validación | Confiar en el simulador sin un chequeo de respuesta conocida | El ancla analítica DARTS pasa: L2 relativo 0.0108 contra una tolerancia de 0.05 en un caso homogéneo | La vía de simulación se contrasta contra una respuesta cerrada |
| Clasificación en el navegador | Un servicio de inferencia en servidor | 4 modelos ONNX (InceptionTime, PatchTST, autoencoder, embedding) corren en el navegador; una curva del usuario se clasifica contra medoides precalculados con predicción conforme | La accuracy es contra las propias etiquetas de cluster del pipeline, no una verdad externa |
Arquitectura
pulso pipeline
A shape vocabulary for pressure-transient curves
Pulso is an unsupervised catalogue of flow-behaviour classes (“GeoTypes”) for fractured reservoirs. It takes the diagnostic Bourdet derivative of a pressure-transient (well-test) response, clusters curves by shape with DTW k-medoids, and attributes each behaviour class to the fracture-network descriptors that control it. It reproduces and extends Kamel Targhi et al. 2026 (Computational Geosciences 30, 57). Live at pulso.fasl-work.com.
Real curves, a physics core, and a browser lane
The corpus is real and licensed: a 4TU well-test corpus (~4768 dimensionless Bourdet-derivative curves plus ~5000 DFN descriptor rows, GPL-3, vault-only) alongside simulated GeoDFN and open-DARTS ensembles, for 22 baked case studies. The classical physics core (Bourdet derivative plus a Warren-Root dual-porosity model via Stehfest inversion) is also the Pyodide live-lane engine, and four ONNX models (InceptionTime, PatchTST, a curve autoencoder, an embedding model) classify a user-pasted curve against the baked medoids in the browser with conformal prediction.
The nulls are the point
On the real 4TU curves the clustering is genuinely good: silhouette 0.72 on low-perm and 0.86 on mid-perm. What makes that trustworthy is the control next to it, a single-regime case at 0.137: when there is no structure, the method correctly does not find any, and a noisy family degrades to 0.172 as it should. A DARTS analytic validation gate passes on a homogeneous anchor (relative L2 0.0108 against a 0.05 tolerance), checking the simulation lane against a closed-form answer.
Honest about the limits
Two limits stay on the card. First, the aquifer generalization is a shape-diagnostic transfer only: aquifer pumping tests are a different physical system, transmissivity and storativity are unknown, so those curves are clustered by shape, not by a physically referenced response, and where a field site has only eight curves the attribution is skipped (a proof-of-transfer, not a study). Second, the learned models’ strong test accuracy (InceptionTime 0.911, PatchTST 0.902) is measured against the pipeline own k-medoids cluster labels, not an external ground truth, and the training-set silhouette there is a weak 0.190, so those nets reproduce a weakly-separated clustering rather than classify against reality. The real 4TU low-perm case is k=2 with one rare class, described as two behaviour classes (one rare) rather than a rich catalogue.
Stack Tecnológico
En acción
Un recorrido corto por la app en vivo: la interfaz real, grabada desde el sitio desplegado.

Capturas de la Aplicación

