Import, process and interpret geophysical data sets to be used in numerical models.
Author JuliaGeodynamics
25 Stars
Updated Last
5 Months Ago
Started In
May 2021

Geophysical Model Generator

Stable Dev Build Status

Creating consistent 3D images of geophysical and geological datasets and turning that into an input model for geodynamic simulations is often challenging. The aim of this package is to help with this, by providing a number of routines to easily import data and create a consistent 3D visualisation from it in the VTK-toolkit format, which can for example be viewed with Paraview. In addition, we provide a range of tools that helps to generate input models to perform geodynamic simulations and import the results of such simulations back into julia.



Main features

Some of the key features are:

  • Create 3D volumes of seismic tomography models.
  • Handle 2D data (e.g., along a cross-section), including surfaces such as the Moho depth.
  • Plot data along lines (e.g., drillholes) or at points (e.g., earthquake locations, GPS velocities).
  • Handle both scalar and vector data sets.
  • Grab screenshots of cross-sections or maps in published papers and view them in 3D (together with other data).
  • Create a consistent overview that includes all available data of a certain region.
  • Create initial model setups for the 3D geodynamic code LaMEM.
  • Import LaMEM timesteps.

All data is transformed into either a GeoData or a UTMData structure which contains info about longitude/latitude/depth, ew/ns/depth coordinates along with an arbitrary number of scalar/vector datasets, respectively. All data can be exported to Paraview with the Write_Paraview routine, which transfers the data to a ParaviewData structure (that contains Cartesian Earth-Centered-Earth-Fixed (ECEF) x/y/z coordinates, used for plotting)


The best way to learn how to use this is to install the package (see below) and look at the tutorials in the manual.


First, you need to install julia on your machine. We recommend to use the binaries from Next, start julia and switch to the julia package manager using ], after which you can add the package.

julia> ]
(@v1.6) pkg> add GeophysicalModelGenerator

You can test whether it works on your system with

julia> ]
(@v1.6) pkg> test GeophysicalModelGenerator

and use it with

julia> using GeophysicalModelGenerator


We rely on a number of additional packages, which are all automatically installed.

Visualising Alpine data

We have used this package to interpret various data sets of the Alps (mostly openly available, sometimes derived from published papers). You can download the resulting paraview files here (using the *.vts format), where we also included the julia scripts to do the work (some of which are also described in more detail in the tutorials). Just unzip the files and open the corresponding *.vts in Paraview.

If you want your data be included here as well, give us an email (or even better: send the files with julia scripts).


You are very welcome to request new features and point out bugs by opening an issue. You can also help by adding features and creating a pull request.

Development roadmap

In the pipeline:

  • More tutorials
  • Add more import tools.
  • Compute gravity anomalies for lon/lat datasets, rather than just x/y/z.
  • Provide an interface to geomIO (currently being translated from MATLAB to python) in order to allow creating 3D geometric model setups by drawing in Inkscape.
  • Provide tools to create and export 3D geodynamic model setups.


Development of this software package was funded by the German Research Foundation (DFG grants TH2076/7-1 and KA3367/10-1), which are part of the SPP 2017 4DMB project project as well as by the European Research Council under grant ERC CoG #771143 - MAGMA. The project was initiated at a TeMaS workshop with researchers from Frankfurt and Mainz where we realized that it is way too timeconsuming to collect available data of a certain region.