Web 3D Representation of a MODFLOW Model with Hataripy, Paraview and Steno3D
/Groundwater modeling is a tool for understanding the actual condition of the groundwater flow regime and the impact of future requirements. A numerical model is in fact a tool for groundwater management and sometimes modelers / stakeholders / officials need to focus more on the model function to improve the modeling work.
On our context, we have a poor development, understanding and decision making related to hydrogeological evaluations based on numerical modeling. In the coastal part of Peru, we have more than 5 aquifers that can be considered “endangered” by over exploitation, all of these aquifers have numerical models but no derived groundwater policy has emerged. We suppose that these context is similar to other aquifers around the globe, therefore Hatarilabs is always in the search of tools that improve the quality of hydrogeological evaluations and the understanding of the groundwater resources that will lead to better assessments and further sustainable management policies.
Groundwater can’t be seen (because its on the ground, obviously) and groundwater flow is extremely hard to understand unless we have a bigger scope of the theory and main features of the hydrogeological flow regime. One of the limitations for the understanding is the lack of interactive tools that provides user friendly environments for the representation of recharge zones, discharge zones, wells, wetlands, and other hydrogeological features.
We have developed a tutorial for the web representation of a MODFLOW model main features and head results in a combined process with the use of the Hataripy library, Paraview, Python and Steno3D.
Model online visualization
This the resulting web visualization for a regional groundwater model in MODFLOW.
Tutorial
Useful links
Coding
Python code to upload the Object files (*.obj) to Steno3D:
Import the required packages and login
import steno3d
import steno3d_obj
steno3d.login()
>> Welcome to the Python client library for Steno3D!
Credentials file found: /home/saul/.steno3d_client/credentials
Accessing API developer key for @saulmontoya
Welcome to Steno3D! You are logged in as @saulmontoya
Definition of a Steno3D project
myProj = steno3d.Project(
title='MODFLOW 3D Representation',
description='Example of Modflow model 3D web representation',
public=True
)
Parse Object (*.obj) files and add them to the project
wTparser = steno3d.parsers.obj('../Obj/waterTable.obj')
wTparser.parse(project=myProj)
Parsing file: /home/saul/Documents/Web3DRepresentationMODFLOWModel/Obj/waterTable.obj
(<steno3d.project.Project at 0x7f7e2fd997f0>,)
mMparser = steno3d.parsers.obj('../Obj/modelMesh.obj')
mMparser.parse(project=myProj)
Parsing file: /home/saul/Documents/Web3DRepresentationMODFLOWModel/Obj/modelMesh.obj
(<steno3d.project.Project at 0x7f7e2fd997f0>,)
hCparser = steno3d.parsers.obj('../Obj/headContour.obj')
hCparser.parse(project=myProj)
Parsing file: /home/saul/Documents/Web3DRepresentationMODFLOWModel/Obj/headContour.obj
Unsupported feature: Normals
If you are interested in contributing to unsupported features, please visit
https://github.com/seequent/steno3d-obj
(<steno3d.project.Project at 0x7f7e2fd997f0>,)
dCparser = steno3d.parsers.obj('../Obj/drainCells.obj')
dCparser.parse(project=myProj)
Parsing file: /home/saul/Documents/Web3DRepresentationMODFLOWModel/Obj/drainCells.obj
(<steno3d.project.Project at 0x7f7e2fd997f0>,)
Validate the data and upload to Steno3D
myProj.validate()
True
myProj.upload()
Verifying your quota for public projects...
This PUBLIC project will be viewable by everyone.
Total progress: 100% - Uploading: project MODFLOW 3D Representation
Complete!
https://steno3d.com/app/XihLJZc9nLbxpjHQVLHi
'XihLJZc9nLbxpjHQVLHi'
Input data
You can download the input data for this tutorial from this link.