Posts filed under TutorialPython

Acoplamiento de datos geológicos locales en Model Muse con Python y Aquifer App - Tutorial

Hay muchos temas a tener en cuenta cuando creamos un modelo de flujo de agua subterránea. Uno de los más importantes es representar la información geológica disponible en la distribución de los parámetros hidráulicos. Hemos investigado un flujo de trabajo simple y reproducible para crear un modelo geológico a partir de un shapefile de puntos e insertar las unidades geológicas modeladas en Model Muse con los valores K correspondientes. Este tutorial cubre todo el procedimiento para crear un modelo geológico con Gempy y Aquifer App y los códigos necesarios para crear un archivo de forma xyz que luego se importa en Model Muse con el valor Kx extraído de la tabla de atributos.

Posted on August 28, 2024 and filed under TutorialPython, TutorialModflow, Modelamiento.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Como crear un modelo geológico de un shapefile de puntos con Gemgis, Gempy y AquiferApp - Tutorial

Este es un caso aplicado en el que construimos un modelo geológico solo con información litológica almacenada como un archivo shapefile de puntos. El tutorial cubre todos los pasos desde la generación de ráster (como array de Numpy) para todas las superficies junto con el muestreo de orientación y el formateo de las superficies/orientaciones como archivos de entrada de Gempy. Los datos generados se insertaron en la aplicación Aquifer App que implementa una interfaz para crear modelos de Gempy. Finalmente, la litología y la geometría de la superficie de la capa se exportaron como Vtk para ser representadas en Paraview con los datos iniciales para evaluar la precisión de la simulación.

Posted on August 15, 2024 and filed under TutorialPython, Tecnologia Web, Modelamiento.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Modelamiento geológico de sistemas petroleros con Gempy, Gemgis y Aquifer App - Tutorial

La aplicación Aquifer App ofrece una forma amigable, limpia y poderosa de crear scripts de Gempy para el modelamiento geológico. Hemos desarrollado un caso aplicado de un modelo de sistemas petroleros 3D para una parte de la Cuenca Williston, EE. UU., que contiene el Anticlinal de Nesson. La información de la capa superior se proporcionó en formato ráster donde la elevación y la orientación de puntos aleatorios se extrajeron con códigos Python utilizando el paquete Gemgis y se exportaron en formato de archivo de entrada Gempy. En la aplicación Aquifer App se insertaron los archivos CSV procesados ​​y se configuró el modelo geológico con la secuencia geológica correspondiente.

Posted on July 30, 2024 and filed under TutorialPython, Modelamiento.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Exportar unidades geológicas 3D como formato Vtk con Gempy y Aquifer App - Tutorial

La aplicación Aquifer ofrece una forma amigable, limpia y poderosa de crear scripts Gempy para modelado geológico. La plataforma también permite a los usuarios ejecutar los scripts y descargar todo el proyecto de modelado que tiene la geometría 3D de las unidades geológicas y fallas en formato Vtk. Este tutorial muestra un caso aplicado de visualización de datos geológicos, creación de modelos, ejecución de modelos, exportación y representación de archivos Vtk en Paraview.

Posted on July 17, 2024 and filed under TutorialPython, Tutorial, Modelamiento.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Modelamiento geológico regional con topografía de superficie con Gempy y Aquifer App - Tutorial

El acoplamiento de scripts Python con la plataforma Aquifer App nos permite generar modelos geológicos con una versatilidad nunca antes vista. Este es un ejemplo básico de modelado geológico regional en Aquifer App con topografía de superficie a partir de un modelo de elevación digital en formato TIF. El tutorial también realiza una representación 3D de los contactos y orientaciones de la geología de una capa en un cuaderno Jupyter para un mejor análisis de la secuencia geológica.

Posted on July 12, 2024 and filed under TutorialPython, Tutorial, Modelamiento.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Modelamiento geológico de un anticlinal con Gempy y Aquifer App - Tutorial

La combinación de scripts de Python con la plataforma Aquifer App nos permite generar modelos geológicos con una versatilidad no vista antes. Este es un ejemplo básico de modelado geológico de un anticlinal en Aquifer App que puede crear modelos utilizando Gempy. El tutorial también realiza una representación 3D de los contactos y orientaciones de las capas en un cuaderno de Jupyter para un mejor análisis de la secuencia geológica.

Posted on June 28, 2024 and filed under TutorialPython, Tutorial, Modelamiento.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Simplificar / densificar la red hídrica online con Hatari Utils - Tutorial

La delimitación de cuencas hidrográficas y la determinación de redes hídricas son tareas comunes en el análisis hidrológico para cualquier área de interés. Existe un parámetro en la determinación de la red de arroyos que nos permite tener redes hídricas simples que se asemejan a los principales cursos de agua o redes hídricas densas que mapean todos los arroyos permanentes/temporales. Este es un ejemplo aplicado de determinación de red de flujo en nuestra plataforma en línea Hatari Utils, donde puede especificar la cantidad de upstream cells y revisar interactivamente el resultado.

Posted on June 17, 2024 and filed under TutorialPython, TutorialHidrologia, Tecnologia Web.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Delineación de cuencas hidrográficas que contienen lagos/embalses internos con Hatari Utils - Tutorial

Las cuencas hidrológicas pueden tener diversidad de formas debido a la morfología y es un desafío tener un proceso que pueda delimitar cuencas con diferentes características en un corto período de tiempo. Hatari Utils es una plataforma online de análisis hidrogeológico que cuenta con una herramienta para la delimitación de cuencas, en este tutorial hemos probado las capacidades de Hatari Utils para delinear una cuenca que tiene un lago interno.

Posted on June 4, 2024 and filed under TutorialPython, TutorialQGIS, TutorialHidrologia.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Ejemplo básico de modelamiento geológico con Gempy y Aquifer App - Tutorial

Gempy es una biblioteca de código abierto para el modelamiento geologico escrita en Python. La biblioteca es capaz de crear modelos geológicos 3D complejos que incluyen estructuras, redes de fallas y discordancias y puede combinarse con análisis de incertidumbre.

Hatarilabs / Gidahatari ha desarrollado una plataforma online para crear modelos geológicos con Gempy con el mínimo esfuerzo. La herramienta en línea se llama GempyApp y se ejecuta bajo AquiferApp (aquifer.hatarilabs.com). Este tutorial muestra un ejemplo aplicado de modelado geológico de 4 capas con una falla. El tutorial cubre los pasos de entrada de archivos de puntos y orientación, definición de fallas/estratos y secuencia geológica, muestra estadísticas y tablas de datos, ejecuta la interpolación del modelo geológico y representa los resultados.

Posted on May 28, 2024 and filed under TutorialPython, Modelamiento, TutorialModflow.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Ejemplo simple de disolución cinética de calcita con Phreeqc y Aquifer Lab - Tutorial

This is an example of calcite dissolution with kinetics where a simplified rate and initial molality are defined. The tutorial covers creation of an input file for Phreeqc, database selection, Phreeqc simulation in Aquifer App and analysis of processed output data on a Jupyter notebook. Finally the molality of Calcium and pH are plotted with time.

Posted on March 18, 2024 and filed under TutorialHidrologia, TutorialPython, Modelamiento.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Ejercicio simple de especiación del agua en Phreeqc con Aquifer App - Tutorial

Ejemplo muy sencillo para la construcción de un archivo de ingreso de Phreeqc de una solución acuosa con Calcio y Fluor. El archivo es ingresado dentro de Aquifer App, se selecciona la base de datos y se simula el modelo geoquímico obteniendo resultados crudos y procesados en la plataforma.

Posted on March 4, 2024 and filed under TutorialPython, Tutorial, TutorialHidrologia.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Como importar un modelo geológico de Leapfrog a Model Muse con Python - Tutorial

Tener un modelo geológico puede mejorar los modelos numéricos, ya que permite representar con mayor precisión la distribución potencial de parámetros hidráulicos en dirección horizontal y vertical. El proceso de implementar/incorporar un modelo geológico en un modelo Modflow es un desafío debido a las restricciones en software propietario y herramientas espaciales.

Posted on January 18, 2024 and filed under TutorialModflow, TutorialPython.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Como georeferenciar un raster con Python y Rasterio - Tutorial

Georeferenciar una imagen / raster es el proceso de localizar espacialmente una imagen para que cada pixel este asociado a una posición. Este proceso es ampliamente conocido en QGIS con su complemento de Georeferenciación pero tambien puede ser realizado por Python y Rasterio.

El proceso de georeferenciar en Python tiene la ventaja que puede realizar el proceso repetidas veces sin necesidad de definir los puntos de control cada vez; también te permite añadir / quitar puntos de control y ver el impacto en el arreglo de transformación. Este tutorial muestra el proceso completo de georeferenciación de un mapa nacional sobre 3 puntos cuyas coordinadas de pixel han sido extraídas del utilitario Paint de Windows, el tutorial también exporta el raster asignando un sistema de referencia.


Tutorial

Datos de ingreso

Puede descargar los datos de ingreso desde este enlace.

Código

#import required libraries
import rasterio
import matplotlib.pyplot as plt
from rasterio.plot import show
#open ungeoreferenced raster
unRefRaster = rasterio.open('data/Peligros_Geologicos.jpg')
unRefRaster
C:\Users\saulm\anaconda3\Lib\site-packages\rasterio\__init__.py:317: NotGeoreferencedWarning: Dataset has no geotransform, gcps, or rpcs. The identity matrix will be returned.
  dataset = DatasetReader(path, driver=driver, sharing=sharing, **kwargs)


<open DatasetReader name='data/Peligros_Geologicos.jpg' mode='r'>
#show raster band values
unRefRaster.read(1)
array([[255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       ...,
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255],
       [255, 255, 255, ..., 255, 255, 255]], dtype=uint8)
#show raster
show(unRefRaster)
#show raster shape
unRefRaster.read(1).shape
(4133, 2922)

Insert control points from coordinates captured in paint

Control point 1

point1 = rasterio.control.GroundControlPoint(row=368, col=190, x=-81, y=-1)
point1
GroundControlPoint(row=368, col=190, x=-81, y=-1, id='5a920799-66fd-469b-b8f5-8ad0f50194dd')

Control point 2

point2 = rasterio.control.GroundControlPoint(row=3497, col=239, x=-81, y=-16)
point2
GroundControlPoint(row=3497, col=239, x=-81, y=-16, id='e74eee05-5a73-4632-a863-cf80dd0150b3')

Control point 3

point3 = rasterio.control.GroundControlPoint(row=3706, col=2645, x=-69, y=-17)
point3
GroundControlPoint(row=3706, col=2645, x=-69, y=-17, id='75f9378c-a918-4a45-a7f8-7f662578e132')
#list of selected gcps
points = [point1, point2, point3]
points
[GroundControlPoint(row=368, col=190, x=-81, y=-1, id='5a920799-66fd-469b-b8f5-8ad0f50194dd'),
 GroundControlPoint(row=3497, col=239, x=-81, y=-16, id='e74eee05-5a73-4632-a863-cf80dd0150b3'),
 GroundControlPoint(row=3706, col=2645, x=-69, y=-17, id='75f9378c-a918-4a45-a7f8-7f662578e132')]
#get transformation array from points
transformation = rasterio.transform.from_gcps(points)
transformation
Affine(0.004994325053839821, -7.821090688339848e-05, -81.92014014649648,
       7.980704784024951e-07, -0.00479387635201452, 0.7639948641504404)
#define output raster
outputPath = 'data/georefRaster.tif'
#create raster and write bands
with rasterio.open(
    outputPath,
    'w',
    driver='GTiff',
    height=unRefRaster.read(1).shape[0],
    width=unRefRaster.read(1).shape[1],
    count=3,
    dtype=unRefRaster.read(1).dtype,
    crs=rasterio.crs.CRS.from_epsg(4326),
    transform=transformation,
) as dst:
    dst.write(unRefRaster.read(1), 1)
    dst.write(unRefRaster.read(2), 2)
    dst.write(unRefRaster.read(3), 3)
#show georeferenced raster
geoRaster = rasterio.open(outputPath)
show(geoRaster)
 
Posted on January 10, 2024 and filed under TutorialQGIS, TutorialPython.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Una clase de Python para exportar un modelo en Modflow 6 a archivos Vtk - Tutorial

Generar visualizaciones 3D de modelos es esencial para analizar el sistema de flujo, realizar comprobaciones de calidad y ver la interacción del régimen de aguas subterráneas con las condiciones de contorno. La librería Flopy tiene herramientas para exportar los parámetros, condiciones de borde y resultados que los hemos modificado y alterado dentro de una clase de Python (Python class). El uso de esta clase permite la generación de archivos Vtk de una manera dinámica y en pocos pasos. El tutorial también incluye una representación de los parámetros generados en ParaView.

Posted on December 29, 2023 and filed under TutorialModflow, TutorialPython.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Como hacer una rosa de vientos online con Hatari Utils - Tutorial

Este es un tutorial aplicado para la generación online de una rosa de vientos con Hatari Utils a partir de la velocidad y dirección del viento almacenada en un archivo CSV o insertada en un formulario en línea. El tutorial explora las opciones en línea de Hatari Utils para representar rosas de vientos como barras, cajas, polígonos o contornos.

Posted on August 7, 2023 and filed under TutorialPython, Tutorial.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Bitácora de instalación de un sensor online en una Raspberry Pi bajo un framework Istsos (SOS Standard)

No llamamos a este artículo un tutorial ya que no se explicarán todos los pasos de la configuración del sensor. Puede ser la idea de este artículo mostrar el panorama general de la instalación de sensores en una Raspberry Pi bajo el framework Istsos que implementa el estándar SOS.

Posted on June 2, 2023 and filed under TutorialPython, Tecnologia Web.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Modelamiento de flujo de agua subterránea usando la aproximación de Dupuit con Python y Landlab - Tutorial

Este tutorial cubre un ejemplo de simulación de flujo de agua subterránea y descarga de agua subterránea con el componente GroundwaterDupuitPercolator de Landlab. La simulación se ejecuta en régimen uniforme sobre un acuífero de una capa y los resultados se representan en gráficos y mapas.

Posted on May 15, 2023 and filed under TutorialQGIS, TutorialPython.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Delimitación de redes hídricas a partir de un DEM raster con Python y Landlab - Tutorial

En función de los diversos componentes de Landlab junto con otros paquetes de Python se pueden establecer algunos procedimientos para extraer redes de flujo únicas o múltiples de un ráster de modelo de elevación digital (DEM) y exportarlas como formatos de datos espaciales vectoriales como ESRI shapefiles o representarlos en Jupyter Lab .

Posted on May 10, 2023 and filed under TutorialPython, TutorialQGIS, Hidrología.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Análisis de Cambio de Cobertura Terrestre con Python y Rasterio - Tutorial

Este tutorial cubre el procedimiento completo para crear un ráster de cambio de cobertura terrestre a partir de una comparación de rásteres de índice de vegetación generado (NDVI) mediante el uso de Python y las bibliotecas Numpy y Rasterio. Los resultados del NDVI para años determinados y el cambio de NDVI se representan en Jupyter Lab como cuadrícula de color y cuadrícula de contorno; las matrices de resultado son exportados como raster geoespaciales en formato TIFF.

Posted on May 8, 2023 and filed under TutorialPython, TutorialQGIS.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.

 

Cálculo de la dispersión de mayor pendiente con área de drenaje con Python y Landlab - Tutorial

El análisis de superficies a nivel regional requiere un mayor grado de cálculo para evaluar varios temas de gestión del terreno. Por lo general, esos tipos de análisis sobre archivos ráster se limitaban al software de escritorio GIS con resultados para un solo ráster y con opciones limitadas para crear gráficos de valores de píxeles.

Python, Rasterio, Landlab y otros paquetes de alto rendimiento nos permiten tener otra vista de la elevación de nuestra superficie y evaluar diferentes variables que eran impensables con el software GIS tradicional. Este tutorial muestra el procedimiento completo para abrir un archivo raster con Rasterio, importar como model grid de Landlab, llenar sumideros y calcular el área de drenaje. Finalmente, a partir de los resultados de Landlab, se construyó un Pandas dataframe y las áreas de drenaje se clasificaron en intervalos para trazarse en un diagrama de caja con la pendiente más pronunciada.

Posted on May 4, 2023 and filed under TutorialPython, TutorialHidrologia.

 

Suscríbete a nuestro boletín electrónico

Suscríbase a nuestro boletín gratuito para recibir noticias, datos interesantes y fechas de nuestros cursos en recursos hídricos.