This repository contains a series of Jupyter notebooks demonstrating the integration of MODFLOW-6 groundwater energy transport modeling with PEST++ for parameter estimation and uncertainty analysis. The tutorials are based on the GMDSI Open Loop Low Temperature Geothermal System tutorials. Original materials available at: https://gmdsi.org/blog/gwe_slideshow/
The tutorial demonstrates how to:
- Set up PEST++ interfaces with unstructured grid models
- Parameterize hydraulic conductivity fields using non-stationary geostatistics informed by conceptual geological knowledge
- Perform surrogate-based data assimilation and predictive uncertainty analysis using data space inversion
The model represents a shallow, channelized alluvial deposit system near a river with the following characteristics:
- Single-layer unstructured grid model
- Historical and forecast simulation periods
- Steady-state flow model with transient heat transport
- Open loop shallow geothermal system simulation with seasonal temperature variations
00_model.ipynb- Model introduction and basic setup01_setup_pstfrom.ipynb- PEST++ interface configuration02_priomc.ipynb- Prior Monte Carlo analysis03_dsi.ipynb- Data space inversion04_dsiae.ipynb- Data space inversion with autoencoder
Create the conda environment:
conda env create -f environment.yml
conda activate gwe- Start with
00_model.ipynbto understand the base model - Progress through the numbered notebooks in sequence
- Each notebook builds on concepts from previous tutorials
Note: The initial model run takes approximately 5 minutes on a MacBook Pro. Runing the Prior Monte Carlo notebook can take a while (~60min).