This documentation describes an exemplified workflow to create a groundwater flow model based on available data of a digital elevation model (here SRTM data) and bathymetry data (here GPDN). As tools, it uses a GIS (here QGIS), the OGS DataExplorer and several OGS tools, as well as the meshing tool Gmsh and visualization tool ParaView. The first part of this documentation deals with the GIS work, the second with the OGS model setup.
This part will prepare the DGM and bathymetry data as input for the model setup. For all the QGIS editing steps, you may additionally define an output file (but this is no requirement); if this is not defined, QGIS will load the results into the active project.
.tif
files) of the study area and load them into QGIS.
Raster -> Miscellaneous ->
Merge...; select the Input Layers.
New Shapefile Layer... from
the toolbar and enter a File name and a projection.
Toggle Editing in toolbar), add points, and save the layer edits.
Raster -> Extraction ->
Clip Raster by Mask Layer...; define Input Layer and Mask layer,
and assign the Nodata value.
Raster -> Projections ->
Warp (Reproject); select the Input Layer and the Target CRS.
Vector -> Data Management Tools -> Reproject Layer; select
Input Layer and the Target CRS.
Raster -> Conversion -> Rasterize (Vector to Raster);
define Input Layer, the z-value (burn-in value), the resolutions, and the
nodata value.
Raster -> Raster Calculator and define the
Output layer, the Output format and the
Raster Calculator Expression (shown formula only inverts the sign).
.asc file with Raster -> Conversion ->
Translate (Convert Format); define the Input Layer and the
Converted output file.
0.01 m with Extraction ->
Contour...; select the Input Layer, set the
Interval between contour lines to a high value and set the Offset from zero.
0.01 m contour is present in the new shape file, remove the not required
contours by right-clicking the new shape file and Open Attribute Table; click
Select features using an expression and define the contours based on your liking that you
want to exclude (here, anything with an elevation larger than 1 is removed).
Toggle Editing) and clicking Delete Selected; save the changes.
Vector -> Geometry Tools -> Simplify..., and select an
Input Layer as well as the Simplification method with an appropriate
Tolerance.
Toggle Editing of the simplified shape and select and remove vertices.
Vector -> Geometry Tools -> Polygons to Lines; select the
Input Layer.
Attribute Table; select everything and click Delete field.
Vector ->
Data Management Tools -> Merge Vector Layers; select
Input Layers.
The next steps will use the OGS DataExplorer, GMSH, and ParaView to prepare the model input files. A 2D mesh will be generated from the merged shape file containing the study area boundary and the coastline; the elevation data will be used to define the surface of the model and subsurface layer information will be used to define the aquifer structure.
File ->
Import -> Shape Files). Creation of the 2D mesh can be done in two ways:
a) Either use GMSH: Save the geometry as a .geo file for usage in GMSH by choosing the tab
Geometry and clicking the save icon. Afterwards, use GMSH to generate a 2D mesh to your
liking and import it with File -> Import Files ->
GMSH files....
b) Or use the DataExplorer interface for GMSH: Use Tools ->
Create Mesh From Input Data....
From the dialogue, select the geometry which should be used and let it show up on the right side
(Employed information).
Select the Advanced tab, choose Adaptive meshing, and remove the tick at
Delete GMSH geo-file after generating mesh (in case you still want to manipulate the
.geo file); click OK.
Meshes, right-click the newly
created (or imported) mesh, and choose Edit mesh...
Specify the number of layers to add (here 10), click
Add layers based on raster files, and load all .asc files that define the
different layers into the interface. Also, define a Minimum thickness of layers (here 5
height units).
For the creation of the boundary conditions, use the following workflow.
.vtu file by selecting the 3D mesh in the
Meshes tab and clicking the save icon. In the new dialogue, choose a output directory,
filename, and the Data mode.
ExtractSurface. The
following command is an example:
ExtractSurface -i SubsurfaceMesh.vtu -o exSurf.vtu -x 0 -y 0 -z -1 -a 30
Calculator with the operation coordsZ to get a new parameter field
with elevation data.
b) Apply a Threshold and define the value range from the lowest to the water level (here
-35 to 0.01 height units); this will be the input file for the Dirichlet boundary condition.
c) Apply a Calculator with the operation -9810*coordsZ (i.e. fluid density
multiplied by gravity by elevation) to get a pressure gradient.
d) repeat b) and c) on the Calculator from a) but with the value range water level to
highest value (in the Threshold), and define the recharge value for the land area (in the
Calculator).
e) Save the “land” and “water” meshes as .vtu files.
.prj file of your setup, including the 3D mesh and boundary condition meshes
and run the simulation.
This article was written by Marc Walther. If you are missing something or you find an error please let us know.
Generated with Hugo 0.147.9
in CI job 639840
|
Last revision: September 27, 2025
Commit: [cmake] Remove linker warnings when building mpmetis. 852270d
| Edit
this page on