Eifel Volcanic Area¶
This example is devoted to demonstration on how IGMAS+ can be used to construct a detailed model of the Eifel Volcanic Area (EVA) using working sections.
Description¶
Goal
The goal of this modelling example is to show the typical modelling workflow using working sections from scratch: define model dimensions, create sections, modify vertices and bodies, import stations, calculate anomalies, visualize results.
Area of interest¶
The Eifel Volcanic Area (EVA) is located in the western part of Germany, near the border with Belgium and Luxembourg. It is a region characterized by volcanic activity, including numerous volcanic craters, lava flows, and other volcanic features. The area is part of the larger Eifel region, which is known for its unique geological formations, rich volcanic history and seismological activity (see, e.g., Dahm et al. (2020)1).
There are several volcanic craters in the EVA, including the famous Laacher See, which is a large crater lake and Dauner Maare, which is a group of maar craters formed by explosive volcanic eruptions less than 13000 years ago.

Model¶
The EVA model is under ongoing development and is not yet published. It is based on the available geological and geophysical data, including seismic profiles, gravity data, and geological maps.

Gravity data¶
The evaluation of the resulting density model in this example is done by comparing the gravity calculations with the gravity data provided by The Leibniz Institute for Applied Geophysics (LIAG).
Modelling¶
In this example, we will see how a crustal-scale model of the Eifel Volcanic Area (EVA) can be constructed in IGMAS+ using working sections.
Start a new project¶
In the Menu Bar select File → New Project
This is the wizard to create a new project:
There are two possible ways of creating a project:
-
New Model: the approach of building a model with working sections described in this example - see also the Model Creation chapter.
-
Irregular/Regular Horizon(XY-Plane) Import: the approach of building a model by importing layer surfaces (horizons) - explained in the Molasse Basin example (see also Import horizons chapter).
Set up a new model¶
To build a new model, choose New Model. The New Project Settings window will open:
Set the origin (X, Y), the horizontal size (width in X and Y denoted as Distance in both cases) and the vertical size (Depth).
Don't forget to choose the units (meters m or kilometers km).
Default values are 0 for X and Y, 10 for Distance, and 5 for Depth with m as units.
We change the values according to our needs, taking into account the size of the model and the area of interest. The values are:
and click on Next.
Set up the distribution of working sections¶
Here you can set the distribution of working sections:
- To set the Azimuth enter the direction of the model sections in relation to true north: here it is 40 degrees (clockwise from the north)
- To set the number of sections (count) to 1 (we will create only one section); Spacing here is the distance between the sections, and it will change to 0 meters if there is only one working section.
Click Preview now:
To set the coordinates of the section move the green dot to the point where the section (its northern end point) should begin:
If you click Right Button on the green dot, you can enter the coordinates (X and Y) of the edge of the box manually:
Then click Preview again (important!) to see the updated section position:
and then Finish. The result is a new project with a new model consisting of a single working section:
Import stations¶
Import stations with File → Import → Stations:
Switch file type to [csv | xyz] - Comma Separated Values, select the gravity data file EVA_Measured_Gravity.csv, and proceed with Open:
Here you can see the columns imported from the CSV file. If all looks good, finalize the importing with Finish.
The measured gravity field will show up on top of the model as a color-coded surface, and stations are visualized as red dots:
Visualize data¶
Now select 2D View under Add View and you will see the entire section that now needs to be edited:
Select Add View then 2D Maps View. Click Right Button on the map and select Show Sections.
This will show the section lines on the map:
Manage model bodies¶
In order to define and manage model bodies, you need to select the 2D View.
A body in a working section is defined by polygons and vertices.
Manage vertices¶
You can manage the vertices of the model in the 2D View: Add View → 2D View.
The following actions are possible:
-
To insert (add) a vertex:
- press and hold i (the potential new vertex will be shown as a blue dot)
- place the cursor in the desired position
- click lbutton to insert a vertex
-
To move a vertex:
- press and hold Shift
- place the cursor on the vertex to be moved
- click and hold lbutton to select the vertex (the selected cursor will become a red dot)
- drag the cursor to move the vertex to the new position
- release both lbutton and Shift to keep the vertex in the new position
-
To delete a vertex:
- press and hold i (the blue dot will appear)
- place the blue dot cursor on the vertex to be deleted (make sure to point the cursor on the vertex)
- click lbutton to remove the selected vertex
-
To check or to edit the coordinates of any vertex, use the Alpha numeric function:
- place the cursor on the vertex
- click rbutton on the vertex
- select Alpha numeric in the context menu
- you can edit the new coordinates in the window that appears:
Note
If you have made a mistake, you can undo the last action by pressing Ctrl+Z or using the Undo icon
in the Tool Bar.
More examples on how to manage the vertices can be found in the Model geometry workflow and in the Simple Basin example.
Divide polygons¶
Bodies in the model are defined by polygons, i.e. by vertices connected with lines.
It is possible to divide a polygon into two separate parts by connecting its vertices with a line.
To connect vertices and divide a polygon:
- press and hold d
- place the cursor on the polygon vertex to be connected
- click and hold lbutton to select this vertex
- drag cursor to the target polygon vertex (the dashed line will appear connecting the cursor to the initial vertex)
-
place the cursor on the target vertex to be connected
- release both lbutton and d to connect the two vertices (a solid black line will appear)
-
this black line will divide the body into two separate parts
Warning
It is not possible to undo the last action of connecting vertices and dividing a polygon, so be careful when doing this.
See more information in the Polygons and vertices chapter.
Name bodies¶
After inserting vertices and dividing polygons to design the bodies, their names can be chosen individually, e.g, here the proposed names are "A", "B", "C", "D", "E", "F", "G":
To rename a body, open Body Manager Tab, double click Left Button on the body name and enter the new name:
Note
Naming bodies is not mandatory, but it is highly recommended to do so, as it helps to identify the bodies in the model and to assign them to the polygons later.
It is also possible to rename the bodies later, and use more logical names, e.g. "Upper_Crust", "Lower_Crust", "Mantle", etc.
Add bodies¶
Now we need to add the bodies to the model so that they can be assigned to the prepared polygons.
To add a new body:
- Open the Body Manager Tab and click on Add Body:
- Enter the name of the body here (in the example above "E") and click OK
- Repeat the step for all bodies you want to add.
Assign polygons to bodies¶
Now we need to assign the existing polygons to the newly created bodies.
Double click Left Button on the desired polygon in the working section to select it.
The polygon will be highlighted in red:
Then right-click on it again to open the context menu and select Set Body(s) and choose the desired body name (here "B"):
Once the body is assigned, the body change its color according to the Body Manager Tab:
Important
Always double-click on the polygon again to deselect it (so that the red contour disappears).
Repeat the steps for all bodies:
Assign body properties¶
To assign a new parameter (e.g. density) to the new body, first you need to add this parameter in the Body Manager Tab.
To do this, click on Add parameter in the Body Manager Tab:
Then:
- click on the desired body in the Body Manager Tab (here we take body "A") and look for the column with the parameter to be assigned (here "Density")
- click on the value (by default 0.0) to insert a new density (here 2.65 t/m):
Repeat the steps for all bodies except the reference body:
Set up section mirrors¶
Note
This is an intermediate step, which is not necessary for the final model, but it is useful to prepare a pseudo-3D model which we can visualize in the 3D View and to test the 2D gravity representation.
In order to create a proper 3D model, you need to create several working sections as explained in the next sections.
At this stage it is possible to use Section Mirrors functionality. With this, you can create a pseudo-3D model with the geometry of the existing 2D working section by mirroring the section in the third dimension.
For example, in Section Mirrors set "mirror +" and "mirror -" to a position that is far enough to the left and right of the plane (in figure below 200 000 meters):
Setting up mirrors only makes sense:
- if you want to test a 2D gravity representation
or - if different independent partial geometries are to be "united" in the model.
See more information on the 2D gravity representation in the Simple Basin example.
Triangulate the model¶
Now triangulate the model, click on Triangulate Sections icon
or use Edit → Model - Triangulation:
Simply proceed with Finish. IGMAS+ will show the triangulated model domain:
Click on the Clip to model icon
to clip the view to the model bounds:
Calculate anomalies¶
Once the project has a triangulated model, stations are imported (or created) and parameters are assigned, it is possible to calculate the anomalies.
Just use the Calculate Anomalies icon
or Tools → Calculate Anomalies.
Here we are interested in the default vertical () component, "calc Gz". Check it and click Finish to start calculations.
Note
Warning message "Susceptibilities not defined" can be ignored, as we are not using magnetic data in this example.
The calculated field can be visualized in the 3D View instead of the measured field:
- in the Object Tree find the Fields section
- find the Calculated field, e.g.
calc Gz - click Right Button on it and select Show in 3D in the context menu:
The calculated field shown in the 3D View will look like this:
Note
The measured and calculated fields share the same color scale, so when the range is different, the colors look very different.
Extend the model¶
In order to extend the model, we have to create additional working sections that will be used in a proper triangulation of the model.
It is important that the topology of the neighboring sections must be consistent, i.e. the bodies in the neighboring sections must have the same names and body part indices.
This can be simply achieved by copying the existing working section and shifting it to a new position, as explained in the next section.
If topology is not consistent, you have to use section mirrors.
Copy and shift sections¶
The quick and easy way to extend the model is to copy the working section and move it to a new position, e.g. to extend the model in the direction perpendicular to the working section plane.
For that you can use the Copy and Shift functionality:
- Select the working section in the Object Tree
-
Click Right Button on the section object and select Copy and Shift in the context menu:
-
In the Copy and Shift dialogue, set the shift values in the model units (here in meters) to the desired value, e.g. 15000:
The working section will be copied and moved to the new position, which is 15 000 meters away from the original section in the direction of the azimuth (here 40 degrees clockwise from the north):
For a deeper understanding, we will now continue with an extended model that already consists of 5 working sections obtained by copy-and-shift of the original working section.
The model has a rather complicated structure of layers and bodies:
Note
Make sure to check that names and densities are properly assigned to the bodies.
Check body part indices¶
It has to be checked whether bodies with the same color can also be distinguished with regard to the model topology; this is of decisive importance for the subsequent triangulation and is the cause of many potential errors.
Body part indices are used to assign the same body definition to geometrically separated bodies.
For example, we check the body "Upper_Crust_1" (violet color on the figure above):
- Select the section (here section "2") in the Object Tree
- Click Right Button on the section object and select View Section/2D in the context menu
-
In the 2D View, double click Left Button on the corresponding polygon (here "Upper_Crust_1") to select it (red contour will appear around the polygon):
-
a window appears where you can type in the body part index (here it is already set to "NW" as North-West):
- if the body part index was not set, it would have to be inserted here and now
- click OK to accept the changes
- repeat this step for all bodies.
Use section mirrors¶
The model with the several already existing cross sections can now be "artificially" extended into the northeast and southwest direction e.g. to avoid edge effects, by applying section mirrors similar to how it was introduced earlier:
-
Click on the south-westernmost working section (section "1" here) and switch to Property Editor Tab:
The options "mirror + = 0.0" and "mirror - = 100 000" (in meters) means that Section 1 is mirrored by 100 000 meters in the "negative" direction.
No mirror is set in the positive direction, as nothing needs to be mirrored (remember the definition of the model area in this figure).
- For the very same reason, accordingly, select "mirror + = 100 000" and "mirror - = 0.0" for the last working section (section "5" here).
The intermediate result of the model extension in 3D view is shown below:
Re-calculate anomalies¶
In order to recalculate the anomalies, click Re-Calculate Anomaly icon
or use Tools → Re-Calculate Anomaly.
As a result of the model extension by adding section mirrors to the outer vertical cross sections in the "2D Maps View" (here shown without the "residual map") we see the 2D (pseudo-3D) model gravity field on the right side:
The outer cross sections in the southwest and northeast are not present in the above figure.
Extend the model in the south-west direction¶
In the next step we show how to extend the model to the south-west of the study area.
The existing model here is extended by 3 vertical planes but with a different geometry compared to south-westernmost working section "1". Similarly, we can also extend the existing model in the northeast direction.
Copy working section "1" by moving its copy 15 000 m in a south-east direction:
- Select the section in the Object Tree
- Click Right Button on the section object and select Copy and Shift in the context menu:
- In the Copy and Shift dialogue, set the shift values to -15000 (in meters)
The working section "6" appears (here renamed to "South1-new"), in the 2D Maps View it looks like this:
Note that the mirrors were set between the "South1-new" and "Central1" working sections.
The new geometry is implemented on it, which is also used for the later working sections "South2-new" and "South3-new". In this example, we change only the 5 bodies of the lower crust (LC):
- With Add Body in the Body Manager Tab the 5 new bodies are first defined
- Then the bodies are named: "South-LC1" , "South-LC2", "South-LC3", "South-LC4" and "South-LC5"
- Densities can also be added at the same time. Here, the density was set to 2.9 t/m.
The resulting extended model in the 3D View looks like this:
The similar procedure must be used in order to extend the model also into the north-east direction. Note that the bodies must have different names.
The final result of the modelling with 18 working sections created in a similar fashion is shown in the figure in the beginning of this example.
References¶
-
T. Dahm, M. Stiller, J. Mechie, S. Heimann, M. Hensch, H. Woith, B. Schmidt, G. Gabriel, and M. Weber. Seismological and geophysical signatures of the deep crustal magma systems of the cenozoic volcanic fields beneath the Eifel, Germany. Geochemistry, Geophysics, Geosystems, August 2020. doi:10.1029/2020gc009062. ↩


















































