Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 23 additions & 14 deletions 00_model.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,12 @@
"source": [
"# Background\n",
"\n",
"This series of tutorials are based on the is based on the GMDSI Open Loop Low Temperature Geothermal System (non-python) tutorials, which can be found here: https://gmdsi.org/blog/gwe_slideshow/\n",
"This series of tutorials are based on the GMDSI Open Loop Low Temperature Geothermal System (non-python) tutorials, which can be found here:\n",
"\n",
"The purpose of these `notebooks` is to demonstrate how to:\n",
"https://gmdsi.org/blog/gwe_slideshow/\n",
"\n",
" - go about programatically settting up a `PEST++` interface with an unstructured grid model;\n",
"The purpose of these `notebooks` is to demonstrate how to:\n",
" - go about programmatically setting up a `PEST++` interface with an unstructured grid model;\n",
" - parameterize parameter fields with non-stationary geostatistics informed by conceptual knowledge; and\n",
" - undertake surrogate-based data assimilation and predictive uncertainty analysis using data space inversion"
]
Expand Down Expand Up @@ -43,9 +44,9 @@
"\n",
"The image below is extracted from the [slideshow](https://gmdsi.org/wp-content/uploads/2025/04/gwf_gwe_model.pptx) file that accompanies the original GMDSI tutorial. It shows the model grid and boundary conditions.\n",
"\n",
"The model represents a shallow, channelized alluviual deposits close to a river (North boundary), which pinch out where bedrock outcrops to the South. The system is represented using a single layer model. North boundary is simulated using the RIV package. East and Western boundaries are specified as general head boundaries. \n",
"The model represents a shallow, channelized alluvial deposits close to a river (North boundary), which pinch out where bedrock outcrops to the South. The system is represented using a single layer model. North boundary is simulated using the RIV package. East and Western boundaries are specified as general head boundaries. \n",
"\n",
"The model is used to simulate a (past) historical period and a (future) forecast period. In the forecast period an open loop shalow geothermal system is active. The flow model is simulated as steady-state for both historical and forecast periods. The heat transport model is transient. In the foreacst period it simulates periods of seasonaly varying injection temperature. The background temperature is 16°C.\n",
"The model is used to simulate a (past) historical period and a (future) forecast period. In the forecast period an open loop shallow geothermal system is active. The flow model is simulated as steady-state for both historical and forecast periods. The heat transport model is transient. The forecast period simulates periods of seasonally varying injection temperature. The background temperature is 16°C.\n",
"\n",
"\n",
"![image info](./data/Pmodel.png)\n"
Expand Down Expand Up @@ -74,7 +75,7 @@
"id": "ae9cdc79",
"metadata": {},
"source": [
"Run the next cell to call a helper function we have prepared, just to amke sure the correct `modflow6` and `pest` executables are in the model filder:"
"Run the next cell to call a helper function we have prepared, just to make sure the correct `modflow6` and `pest` executables are in the model folder:"
]
},
{
Expand All @@ -93,7 +94,7 @@
"metadata": {},
"source": [
"## Run the model once\n",
"Unusualy for our tutorials, this model actualy takes a while to run. We need to run it once to make sure all the model output files are generated.\n",
"Unusually for our tutorials, this model actually takes a while to run. We need to run it once to make sure all the model output files are generated.\n",
"\n",
"### Warning: this might take a few minutes. \n",
"For context, it takes ~5min on a MacBook Pro.\n"
Expand Down Expand Up @@ -251,7 +252,7 @@
"id": "2d371601",
"metadata": {},
"source": [
"A look at everyones favourite paramter..."
"A look at everyone's favorite parameter..."
]
},
{
Expand All @@ -261,7 +262,7 @@
"metadata": {},
"outputs": [],
"source": [
"gwf.npf.k.plot()"
"gwf.npf.k.plot(colorbar=True)"
]
},
{
Expand All @@ -271,13 +272,13 @@
"source": [
"# Conceptual model\n",
"\n",
"A key aspect of this case is that, we have some conceptual knowledge about the geostatistics of the hydraulic conducvitiy. \n",
"A key aspect of this case is that, we have some conceptual knowledge about the geostatistics of the hydraulic conductivity. \n",
"\n",
"We sat down with the project geologist and translated their conceptual knowledge on \"how K is expected to vary in space\" into a set of hyperparameters assigned to pilot points. These include:\n",
"\n",
" - mean K value\n",
" - variance\n",
" - spatial correlatin length\n",
" - spatial correlation length\n",
" - anisotropy ratio\n",
" - bearing\n",
"\n",
Expand All @@ -301,9 +302,9 @@
"id": "8de5b284",
"metadata": {},
"source": [
"In the plot below, at each pilot point, we have plotted the mean K value (color of the point), the line of bearing, the length of which reflects the correlation length (longer lines means greater correlation), and the perpendicular line showing the transversal bearing&correlation length.\n",
"In the plot below, at each pilot point, we have plotted the mean K value (color of the point), the line of bearing, the length of which reflects the correlation length (longer lines means greater correlation), and the perpendicular line showing the transversal bearing and correlation length.\n",
"\n",
"Thi sinformation will be used later to generate random feilds of K which respect these patterns of heterogeinty. Strap in!"
"This information will be used later to generate random fields of K which respect these patterns of heterogeneity. Strap in!"
]
},
{
Expand Down Expand Up @@ -353,11 +354,19 @@
"\n",
"fig.tight_layout();"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "52fb9a67-d853-46a3-8f33-d088a5591243",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "gwe",
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
Expand Down
Loading