Case study: Visualisation Earth Mantle Core data

Written by Paul Bourke
Jan 2011

The following presents some of the initial outcomes from a project to visualise Earth mantle data. The approach taken, the data sources and manipulation required will be discussed with the view to assisting others undertaking similar projects and to give an idea of the processes involved that are common across many visualisation exercises.

Mantle data

The Earth Mantle data is sourced from EAPS (Earth, Atmospheric, and Planetary Sciences). The file is a plain text file with 4 columns, namely latitude, longitude, depth, and scalar value (dVp). For example the first few lines are as follows:

   Lat   Long  Depth    dVp
-89.65   0.35   22.6   1.46
-88.95   0.35   22.6   1.39
-88.24   0.35   22.6   1.31
-87.54   0.35   22.6   1.23
-86.84   0.35   22.6   1.20
-86.13   0.35   22.6   1.21
-85.43   0.35   22.6   1.22
-84.73   0.35   22.6   1.23
-84.02   0.35   22.6   1.24
-83.32   0.35   22.6   1.25
-82.62   0.35   22.6   1.26
-81.91   0.35   22.6   1.26
-81.21   0.35   22.6   1.28
-80.51   0.35   22.6   1.30
-79.80   0.35   22.6   1.32
-79.10   0.35   22.6   1.34
-78.40   0.35   22.6   1.37
-77.70   0.35   22.6   1.39

While this is essentially point data it does have a precise organisation. The data is structured in an onion peel like arrangement, data spheres of different radius. In total there are 64 different spheres ranging in depth range from 22.6km to 2868.9km (Earth radius is taken to be on average 6371km, global variation is not considered here). Each sphere is defined by 512 samples in longitude and 256 samples in latitude. Four of these spheres are shown below and the scalar value mapped to a hot-cold colour map (Note these are not all from the same view point).

Spherical slice 1, radius = 6348km.

Spherical slice 24, radius = 5264km.

Spherical slice 48, radius = 4180km.

Spherical slice 64, radius = 3502km.

Vector coastline data

In order to provide a reference to familiar structures, a coastline dataset is optionally overlaid on the volumetric data. The particular data used is from NGDC (National Geophysical Data Centre), the main reason for using this particular source was that the data is provided in an easy to parse ASCII file. The exact data is referred to as WCL (World Coast Line), the first few lines from the 1:5,000,000 dataset is as follows:

 0.192440 5.669954
-0.114995 5.515063
-0.391921 5.360171
-0.657114 5.195893
-0.887104 5.151303
-1.262597 5.062123
-1.417488 5.008146
-1.560645 4.874377
-1.736658 4.775809
-2.771612 4.951822
-2.860792 4.963556
-3.003949 4.97529
-3.301997 5.052736
-3.611779 5.106713
-3.832382 5.184159
-4.238384 5.163037

These are just polylines, the start of each is indicated by a ">" symbol, and the vertices are given in longitude and latitude. This is relatively straightforward to parse and output line segments in other formats, for example the format required by the volume visualisation software used. Note that for some reason long curve sections are often broken up into shorter pieces. The translator detects these and combines them, this assists with the subsampling in order to present a smaller more efficient series of coastal outlines to the rendering software.

Volume rendering

The intended means of visualising this data was though volume rendering. The software used is Drishti developed at the ANU (Australia National University). The point sample data provided for the mantle needs to be converted into a volumetric dataset. The approach taken here is to consider each voxel in the volume and determine its value as a weighted average (Gaussian weights) of the points in the neighbourhood. Stepping though each voxel and then considering each point in the mantle data (512*256*64 = 8388608 points) is clearly inefficient. Rather each point is considered in turn, its position in the volume coordinate system is determined, and then its contribution to voxels in that vicinity is calculated. Gaussian weighting is used and contributions are only made to voxels +- 3 standard deviations (user selectable parameter) away from the central voxel. The sum of the weights is also recorded and used at the end of the process to normalise the value at each voxel.

Pn is the point in voxel space of the n'th mantle data point. Voxels within 3 standard deviations are contributed to by this point weighted by a Gaussian distribution.

For this to be successful there is a balancing act between the resolution of the volume and the chosen standard deviation. One needs to ensure that each voxel is at least being contributed to and at the same time it is desirable if voxels are not being contributed to by too many points.




Inevitably there are aliasing and moire artefacts arising from a sphere being sampled by a square Cartesian grid. Examples of this are quite clear from the image on the last and left hand cell above. These are only reduced by increasingly higher resolution volumes.