Published using Google Docs
Tutorial 9.5 Volume Visualisation
Updated automatically every 5 minutes

3D Volume Visualisation - Importing and Visualising 3D Scalar Fields in GPlates


Authors: Lena O’Toole, Sabin Zahirovic, John Cannon and Samantha Ross

It has been updated by Behnam Sadeghi, using the latest Muller et al. (2019) plate reconstructions and GPlates 2.2 interface!

EarthByte Research Group, School of Geosciences, The University of Sydney, Australia

3D Volume Visualisation - Importing and Visualising 3D Scalar Fields in GPlates

Aim

Background

Included Files:

Exercise 1 - Importing 3D Scalar Field Data

Exercise 2 - Basic Manipulation of the 3D Scalar Field

References

Aim


This tutorial describes how to use the 3D scalar field functionality of GPlates 2.2.  This includes how to open GPlates so that the necessary features are enabled, how to load the sample data and some basic manipulation of the data.

Background


GPlates 2.2 has a feature that allows the user to display their data or model output as 3D volumes within the mantle.  This is currently a beta function with additional features to be added with the next version of GPlates.

To display your own data in 3D in GPlates, essentially you just need a number of depth slices of your data (z variable, such as temperature). Each depth slice is a geographic grid (either –180 to 180 longitude and –90 to 90 latitude, OR 0 to 360 longitude and –90 to 90 in latitude) where each grid cell represents a LON, LAT and its contents are the z variable (i.e. Temperature). GPlates 2.0 now supports and reads the following file formats .nc, .grd, .tiff, .img and .ers.

NetCDF grids usually have the “.nc” or “.grd” file extension. We have previously always worked with “.grd” - essentially it’s the same thing, but may actually be a legacy feature. For example, the “.grd” we deal with are created using GMT, and they were usually created using GMT 4 which uses netCDF v3.x and only has one depth layer per file. GMT 5 uses netCDF v4.x and typically has the “.nc” extension. But it doesn’t really matter – if you ever have problems loading netCDF grids, please let us know – as I have workarounds (I sometimes use “nccopy” to convert between different netCDF formats). 

 

Anyway, your depth grids need to have a name something like “ModelOutput-2508.grd” where the “-“ is actually important (‘-‘ or ‘_’ are supported) kilometers. GPlates will use this to figure out the depth of the values. In the steps below, is outlined how you can do this on the sample data provided.

Included Files:


Click here to download the files for this tutorial (note that the file is ~ 16.1 MB while compressed)

The tutorial dataset (9.5-Volume_Visualisation.zip) includes the following files:

MIT P-wave tomography model (Li et al., 2008) for the purposes of this tutorial only the Southeast Asia region has been extracted. The region extracted is (Top: 30°, Bottom: -20°, Left: 80° and Right 130°.

Colour Palette File: GS_Tomo.cpt

Plate Topologies: Muller_etal_2019_PlateBoundaries_DeformingNetworks.gpml

PLEASE NOTE: It is recommended that the files for this tutorial are saved to the hard drive of the computer as attempting to load the dataset from a USB or external hard drive may greatly increase the load time or cause GPlates to become unresponsive.

Exercise 1 - Importing 3D Scalar Field Data


In the first exercise, we will import the 3D Scalar Fields into GPlates as follows:

1. In the GPlates main window, go to File > Import > Import 3D Scalar Field (Figure 1).

Image 

Figure 1:  Import 3D Scalar field function can be located from the File > Import directory.

2. To select a directory of grid files, click the ‘Add Directory’ button. If you want to select individual files, then click ‘Add Files’. Select your files or directory and click ‘Open’ (Figure 2). You will notice that GPlates has assigned a depth to each depth slice, assuming that the names of your input files were “x-y.grd” or “x-y.nc” where x is any string and y is the integer depth in kilometres.

Figure 2: The ‘Add directory...’ button (top left corner) allows for the entire folder of data to be loaded into GPlates in one go - this can take time depending on the computer.  When the data appears in the table then it has been successfully loaded.

3. GPlates will use georeferencing (and spatial reference system (SRS), e.g., projection) in the first depth layer raster (if present), otherwise the user will be asked for georeferencing in this dialog page (and assume WGS84 SRS) where the geographic extent of your grids can be specified. The extent can be global (0 to 360 or –180 to 180 longitude) or regional (Figure 3). As with time-dependent rasters, it assumes all remaining rasters in (time or depth) sequence have the same georeferencing/SRS.

Image

Figure 3: Georeferencing screen.

4. The final window is the Feature Collection Window.  As there are no features currently loaded into GPlates the only option there should be the ‘Create a new feature collection’ option (Figure 4). Click that and then click ‘Finish’.

Figure 4: Feature Collection Screen.

5. GPlates may take quite some time to generate the accessory files and a progress bar displays as the depth layer sequence is being cached, which can also take up lots of disk space. For example, the 23 km MIT-P grid is converted to GPlates-specific files (Figure 5).

Image

Figure 5: Cached Files being generated.

The ‘.cache’ files are now removed when the import is finished. However any cache files that existed prior to the import are not removed (since users might be viewing one or more depth layers as rasters in GPlates (and the cache files are needed for that). Otherwise cache files only exist during the import process.

In addition, GPlates generates a .GPML and .GPSF file. The GPSF file is the GPlates Scalar Field, and the GPML file contains some information on how to display it. The next time you want to display the 3D data, you do not need to import the grids all over again. Just open the GPML (File > Open Feature Collection…). Depending on the resolution of your grids, the GPSF file can be very large (Figure 6).

Figure 6: GPlates generated .GPML and .GPSF files.

Exercise 2 - Basic Manipulation of the 3D Scalar Field


Once your scalar field is generated, GPlates will display the output. Initially, it is hard to see what is being displayed, as the contour value needs to be set. This exercise will show basic manipulation of the 3D scalar field in order to improve visualisation.

1. Open the Layer Dialog window and maximise the 3D Scalar Field layer (MIT-P08-regional) (Figure 7).

Here you have all the options that allow you to control the visualisation. You can display iso-surfaces or create cross-sections in the Render Mode section. Iso-surfaces require the user to input the contour values. The cross-sections require the user to link a polyline or polygon to the 3D scalar layer, along whose path the cross-section will be drawn. For the first three parts of this exercise we will visualise Isosurfaces.

Image

Figure 7: Open the layer dialog window and maximise the 3D Scalar Field Layer.

Part 1: Depth Range

It may be useful to also restrict the depth range. The depth here is in non-dimensional radial values. For example, 0.55 is the core-mantle boundary and 1.00 is the surface. When looking at 3D tomography of slabs, it may be necessary to have the maximum depth set to ~0.98 so that the lithosphere does not obscure your view.

For the MIT-P tomography case used in this tutorial, if you want to look at slab features with a 0.2% positive seismic velocity anomaly, you must type in the isovalue to be 0.2 in the Isovalue1 field (Figure 8). Then restrict the depth to 0.98. You will now be able to see fast seismic anomalies, coloured by their depth (as default).

Figure 8: Moving through the 3D data - the depth is set to 0.98, the Isovalue1 is set to 0.2 and the Sampling rate set to 200 and Bisection Iteration to 10.

Please Note: At any point the depth can be reset by clicking the ‘Restore actual depth range’ button below the ‘Depth Restriction (Radius)’

Another application that may be useful is showing slabs and upwelling features from numerical mantle convection models. In such cases, you will need to import the layers twice. One of your 3D scalar fields will have an isovalue set to represent the slabs (cold), and the other layer will represent the upwelling (hot) (Figure 9).

Image

Figure 9: Slabs and Upwelling Features from numerical mantle convection models can be visualised as 3D Scalar Fields in GPlates.

You can then export the snapshots using the Export functionality of GPlates. The frames can then be stitched together (such as using FFMPEG) to create an animation.

Part 2: Sampling Rate

Depending on your graphics card, it would be recommended to set the Sampling rate to 200 and the Bisection iteration value to 10 in order to increase the display quality of the 3D volumes (Figure 8). You can then re-orient the globe as usual, and load up any other data. You can experiment with the single and double deviation windows to highlight certain features of your data.  

 

Part 3: Colouring

The colouring can be controlled by the depth value, the scalar value or the gradient. To make full use of this feature, a colour palette file (such as GMT CPT) must be loaded. To load a colour palette file click on the  symbol beside the Palette option and select the file you wish to use. The colouring differences between GPlates default palette (Figure 10) and having a colour palette file (GMT CPT) loaded (Figure 11) are shown below.

Figure 10: Gradient Colouring without any palette open - using the default palette.

Figure 11: Gradient Colouring with the GMT CTP age palette loaded.

Part 4: Cross Sections

Under Render Mode select the cross sections option instead of Isosurface. As previously mentioned cross-sections require the user to link a polyline or polygon to the 3D scalar layer, along whose path the cross-section will be drawn.

1. Firstly, you must load this new file in GPlates. The file used during this tutorial is ‘Muller_etal_2019_PlateBoundaries_DeformingNetworks’ which can be found with the GPlates Sample Data → Feature Collections → Dynamic Polygons.

2. Once the file is loaded, open the Layer Dialog window and maximise the 3D Scalar Field layer (MIT-P08-regional).

3. Under inputs  → cross sections, click on add new connection and add this new layer as the connection (Figure 12).

Figure 12: Cross-sections require the user to link a polyline or polygon to the 3D scalar layer, along whose path the cross-section will be drawn.

4. Under Render Mode click the cross sections option and a cross section instead of an Isosurface is now visually displayed in GPlates (Figure 13).

Figure 13: Cross-section with gradient colouring (standard deviation, not original min/max).

5. In order to visualise a particular area in cross section view you first need to digitise a new polyline geometry (Figure 14) and add this line as a new connection as described in step 3. Digitise a polyline by clicking on  in the main GPlates window and then click on this icon in the sub menu and create the new feature as described in previous tutorials.

Figure 14: Digitised Polyline in GPlates (shown by the white line) which will be visualised in cross section view.

6. Once the polyline is added as a new connection (step 3) it will be displayed as a cross section. Rotate the globe in order to achieve the required view of your cross section as shown in Figure 15.

Figure 15: Cross-section with gradient colouring and default colour palette selected. The original polyline is displayed above the cross section.

7. You can play around with the cross section colour modes and Palette options in order to customise the preferred cross section display (Figure 16).

Figure 16: Cross-section with scalar colouring, GMT CTP colour palette without the remapped colour range.

References


Li, C., R. van der Hilst, E. Engdahl, and S. Burdick (2008), A new global model for P wave speed variations in Earth's mantle, Geochemistry, Geophysics, Geosystems, 9(5), 21, Q05018, doi: 10.1029/2007GC001806.

Müller, R. D., Zahirovic, S., Williams, S. E., Cannon, J., Seton, M., Bower, D. J., Tetley, M. G., Heine, C., Le Breton, E., Liu, S., Russell, S. H. J., Yang, T., Leonard, J., and Gurnis, M., 2019, A Global Plate Model Including Lithospheric Deformation Along Major Rifts and Orogens Since the Triassic: Tectonics, v. 38, no. 6, p. 1884-1907. doi: 10.1029/2018tc005462.