Awesome
<h1> <img src="./assets/GMG_Logo_new_noText.png" alt="GeophysicalModelGenerator.jl" width="50"> GeophysicalModelGenerator.jl </h1> <p align="center"><img src="./assets/GMG_Logo_new.png" alt="GeophysicalModelGenerator.jl" width="400"></p>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.
A short summary of the package and its features are given below. For a detailed description of the package and to learn how to use it, have a look at the documentation.
Contents
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)
Usage
The best way to learn how to use this is to install the package (see below) and look at the tutorials in the manual.
Installation
First, you need to install julia on your machine. We recommend to use the binaries from https://julialang.org.
Next, start julia and switch to the julia package manager using ]
, after which you can add the package.
julia> ]
(@1.6) pkg> add GeophysicalModelGenerator
You can test whether it works on your system with
julia> ]
(@1.6) pkg> test GeophysicalModelGenerator
and use it with
julia> using GeophysicalModelGenerator
Dependencies
We rely on a number of additional packages, which are all automatically installed.
- GeoParams.jl Defines dimensional units, and makes it easy to convert for km/s to m/s, etc.
- WriteVTK.jl writes VTK files (to be opened with Paraview).
- ImageIO.jl, FileIO.jl, Colors.jl to import screenshots from papers.
- Interpolations.jl for interpolations (for example related to importing screenshots).
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.
https://seafile.rlp.net/d/22b0fb85550240758552/
If you want your data be included here as well, give us an email (or even better: send the files with julia scripts).
Contributing
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.
Citing
If you find this package useful, please cite this paper:
Kaus B.J.P., Thielmann M., Aellig P., De Montserrat A., De Siena L., Frasunkiewicz J., Fuchs L., Piccolo A., Ranocha H., Riel N., Schuler C., Spang A., Weiler T. (2024). GeophysicalModelGenerator.jl: A Julia package to visualise geoscientific data and create numerical model setups. Journal of Open Source Software. 9(102), 6763. https://doi.org/10.21105/joss.06763.
Funding
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, the DFG Emmy Noether grant TH 2076/8-1, by the European Research Council under grant ERC CoG #771143 - MAGMA and by the German Ministry of Science and Education (BMBF) as part of project DEGREE. The project was initiated at a Terrestrial Magmatic Systems - TeMaS workshop with researchers from Frankfurt and Mainz where we realized that it is way too time-consuming to collect and visualise available data of a certain region.