Integration of HEC-RAS with MODFLOW using mf6Voronoi Studio and Model Muse - Tutorial

In this tutorial on the integration of HEC-RAS with MODFLOW using mf6Voronoi Studio and Model Muse, we will develop a complete step-by-step practical example, starting from an already built unsteady model in HEC-RAS from which we will export key depth and hydraulic elevation data for a specific datetime, information from which we will generate the optimized simulation voronoi mesh that we will later import into ModelMuse to structure our groundwater model incorporating River and General Head Boundary (GHB) boundary conditions, concluding with a detailed analysis of the distribution of hydraulic heads and the evaluation of the dynamic interaction between the different sections of the river and the aquifer system.

Read More

Infrastructure Tunnel Impact Modeling on Groundwater Flow System with MODFLOW6 & Model Muse - Tutorial

This tutorial demonstrates how to model the hydrogeological impact of an infrastructure tunnel on a regional groundwater flow system using MODFLOW 6 and Model Muse. The exercise simulates a four-year tunnel excavation process through a mountainous terrain bounded by two creeks, evaluating how gradual underground construction affects local water table levels and regional flow dynamics. The model uses an unstructured discretization grid (DISV) with Quadtree refinement along the river and tunnel paths, also the model incorporates local geology, dynamic drain boundaries, and transient stress periods to capture the groundwater system's response over time.

Read More

Smart analysis of online temperature sensor data with SensorThingsAPI and Python - Tutorial

This tutorial demonstrates how to connect to a SensorThings API FROST server using Python to retrieve, inspect, and visualize IoT sensor datastreams. After setting up the server connection and querying datastream details such as units and observation counts, the notebook extracts time-series observations using paginated REST requests and loads them into a Pandas DataFrame. Following the data preparation phase, the script produces a series of continuous time-series line charts using Matplotlib and Seaborn, displaying the chronological trend of air temperature measurements recorded over time.

Read More

River Aquifer Groundwater Flow Model with mf6Voronoi Studio and Model Muse - Tutorial

This tutorial demonstrates how to build and simulate a groundwater model focused on river-aquifer interactions using open-source software. The workflow begins in mf6Voronoi Studio, where a Voronoi grid mesh is generated to capture complex spatial geometries efficiently. The mesh is then imported into ModelMuse, where key aquifer properties and essential boundary conditions—including general head, river, well, recharge, and evapotranspiration—are configured. After running the model, the simulated results are evaluated through an analysis of the water balance and head distribution.

Read More

Mesh Generation of Regional MODFLOW 6 Groundwater Flow Models with mf6Voronoi - Tutorial

In this tutorial we introduce mf6Voronoi, a specialized tool for generating optimized Voronoi meshes for regional groundwater models capable of spanning thousand of square kilometers. The video demonstrates how to set up and run a Python script using Anaconda Prompt, leveraging Dask parallel processing to refine mesh resolution along key rivers and riparian ecosystems while maintaining a coarse discretization elsewhere. By utilizing multi-core computing, the workflow reduces total mesh generation time by approximately 40–45%, delivering a high-resolution, multi-scale MODFLOW 6 mesh consisting of over 150,000 cells in just a few minutes.

Read More

Introduction to Online Sensor Analysis with SensorThings API and Python - Tutorial

In this Hatarilabs tutorial, viewers learn how to access and query live environmental sensor data using Python and the OGC SensorThings API standard. The video walks through setting up a Jupyter Notebook environment to interact with a FROST-Server, explaining key SensorThings API concepts—including Things, Sensors, Observed Properties, and DataStreams. Using packages such as requests, pandas, and datetime, the session demonstrates how to apply API parameters like $top, $skip, $orderby, and $expand to efficiently filter and retrieve time-series observations, culminating in a data frame visualization of temperature readings from a live outdoor sensor.

Read More

Regional groundwater flow modeling with mf6Voronoi Studio and Model Muse - Tutorial

In this tutorial, we demonstrate how to build a regional groundwater flow model of an Andean basin using MF6Voronoi Studio and ModelMuse.

Generating flexible, non-rectangular meshes has historically been one of the most challenging steps in Modflow 6 modeling. MF6Voronoi Studio addresses this by providing a graphical interface for Python-based Voronoi mesh generation (DISV), allowing high-resolution cell refinement along river networks while maintaining a coarse mesh across the broader basin.

Read More

Benchmarking mf6Voronoi v0.0.38: Parallel Performance, Scaling Limits, and Mesh Refinement Dynamics

With the upcoming release of mf6Voronoi v0.0.38, optimizing mesh generation workflows remains a top priority. Constructing complex unstructured Voronoi grids for MODFLOW 6 can become computationally intensive as spatial resolution increases. To address this challenge, parallel execution capabilities were introduced into mf6Voronoi leveraging dask-geopandas.

Read More

Geopandas tools for the representation and analysis of water chemistry data - Tutorial

This tutorial explores a powerful interactive GeoPandas tool that facilitates the visual analysis and representation of water chemistry data. Through this Python workflow, you can display sampling points over satellite imagery and various basemaps, map concentrations using automatic color scales, and adjust marker sizes based on analyzed parameters. This direct integration allows you to customize the variables displayed on hover, streamlining data evaluation for baseline studies or water pollution diagnostics.

Read More

How to Interpolate Over 2 Million Points Quickly and Without Freezing - Tutorial

Interpolating large volumes of spatial data through the QGIS graphical interface is often a headache: the process takes too long or, even worse, the program freezes while consuming all system resources. In this tutorial, we will show you how to interpolate nearly 2 million points in less than two minutes using the OSGeo4W Shell and GDAL commands with the IDW method. By creating a virtual layer file (.vrt), you will learn a highly efficient, reliable, and lightweight workflow that enables you to work with millions of data points without being constrained by the limits of the GUI.

Read More

Plotting Water Surface Elevation from a 2D HEC-RAS Model using Python - Tutorial

This tutorial demonstrates how to accurately and efficiently extract the water surface elevation at a specific point from a HEC-RAS 2D unsteady flow model using Python in Jupyter Lab. Since water levels vary across the mesh and native software tools can limit automation, the author teaches how to open HDF5 output files (.hdf), load a point shapefile using GeoPandas, and apply a geospatial index K-d tree to locate the nearest computational cell. Finally, the time series data is processed to generate a water level hydrograph, which is essential for hydrogeological model calibration.

Read More

Advanced Crop Water Demand Modeling: Simulating ETo, ETc, and ETa with Python and pyfao56 - Tutorial

estimations of crop water requirements. This applied case offers a deep dive into modeling crop evapotranspiration using the standardized FAO-56 Dual Crop Coefficient methodology, implemented programmatically through Python.

Using a real-world case study of olive cultivation (Olea europaea) in the hyper-arid coastal desert of Bella Unión (Arequipa, Peru), we will demonstrate how to build an end-to-end hydrological data pipeline. Participants will learn how to integrate spatial data, process satellite-derived and weather station climate parameters, define soil-water-crop constraints, and simulate complex deficit drip-irrigation schedules.

Read More

Unsteady / transient 2D river flow modeling with HECRAS - Tutorial

This applied example demonstrates the simulation of unsteady flow around a river island, guiding you through the complete numerical modeling workflow. It begins with pre-processing, covering spatial data import, boundary condition definition, and computational mesh generation. Next, the setup details importing hydraulic loading data from DSS files and optimizing the computational time step based on the Courant condition to ensure strict numerical stability and convergence. Finally, the example features a comprehensive post-processing review of the simulation results, analyzing velocity fields, water surface profiles (stages), particle tracking, and immersive 3D visualizations.

Read More

Automatic calibration of pumping test data with MODFLOW6, Model Muse and Pest - Tutorial

This tutorial walks hydrogeologists through the full workflow of automatic calibration of pumping test data using MODFLOW 6, ModelMuse, and PEST. A real pumping test scenario — comprising a 6-hour pumping phase and an 18-hour recovery phase — is set up in ModelMuse, where the well is conceptualized as a Multinode Aquifer Well (MAW) boundary condition to accurately represent multilayer aquifer interactions. PEST is then implemented to automatically estimate key hydraulic parameters including hydraulic conductivity, specific storage, and specific yield, eliminating tedious manual calibration and delivering reproducible, optimized results. Whether you're new to parameter estimation or looking to streamline your existing workflow, this tutorial offers a practical, hands-on guide to modern groundwater model calibration.

Read More

Regional example of seawater intrusion modeling with MODFLOW6 and mf6Voronoi - Tutorial

This is an applied example of seawater intrusion modeling using MODFLOW6 and the BUY package. The model is fully geospatial and works with ESRI Shapefiles and rasters (*.tif) as inputs. The model grid is based on Voronoi meshes generated with the Python package mf6Voronoi. Since there are so many concepts involved in the conceptualization of a variable density groundwater flow simulation with MODFLOW6 and Flopy, these cases use a code template from mf6Voronoi that simplifies the model construction and simulation. The applied case also gives us the chance to discuss the main parts of model setup.

Read More

Machine learning based interpolation for regional water table w. Python and Scikit Learn - Tutorial

Having a reasonable spatial distribution of the water table with few observation points is a challenge because the water table can't be above the surface. We wanted to develop a method where the computer learns not only about the position but also the surface to calculate the water table.

This is an applied example of water level interpolation based on a machine learning algorithm in Python with Scikit Learn. The code covers all steps from data compilation, regression formulation, accuracy testing and raster generation.

Read More

How to import and simulate a MODFLOW6 with Voronoi mesh model into Model Muse - Tutorial

Did you know that you can import a Voronoi mesh MODFLOW 6 model created with mf6Voronoi into Model Muse. And you can not only import it, but also apply boundary conditions, solver parameters, review datasets, and simulate groundwater flow.

This tutorial shows a complete applied case for the import of the geometry and hydraulic parameters created with mf6Voronoi into Model Muse. The model is set up with boundary conditions, and simulated with different solver parameters.

Read More