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 30Calculator 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