Contents

The following Help Topics are available:

Introduction

Starting a model

Setting up the field data file

Setting up a model file

Editing options

Inversion options

Display options

System options

Legal Business

Credits

Help on Help is available by typing F1.


INTRODUCTION

Grav2dc calculates the gravitational anomaly over up to fifty 2.5D bodies, and runs on any computer capable of running MicroSoft Windows. All editing of the model is done in as user-friendly and interactive a way as possible. Hardcopy output can be produced on any device supported by Windows..

Grav2dc uses a Talwani type algorithm to calculate the anomaly. The contribution to the anomaly from each of the bodies is stored separately, so that a change to one body does not require the whole model  to be recalculated. Each of the bodies in the model may have up to 50 corners. There may be up to 8192 observed gravity stations. Distances are measured in Km. or m. and densities are in g.cm-3, giving anomalies in mgals.

Grav2dc allows the use of inversion, wherein mathematical techniques are used to modify the shape (and other attributes) of the model to improve the fit of the calculated curves to the observed data. Whilst being a useful tool, it should be remembered that the blind usage of inversion without reference to the available geological information may result in an incorrect interpretation. The inversion uses ridge-regresssion  and singular value decomposition,  and hence is very computationally intensive.


STARTING A MODEL

Selecting 'New Model' from the menu brings up a dialog box into which information about the model must be entered. This information comprises the number of stations (up to 4096), the initial maximum depth of the model {a positive number}, the station spacing, the units in which all distances are measured {Km or m}. If the coordinate information of the profile location is in an X-Y format then this option must also be set. The density (g.cm-3) and strike lengths of the initial body must also be entered.

If there is observed data to be modelled, then click on the appropriate checkbox, and when the entry dialog is closed a file selection window will appear. The datafile can be selected from any subdirectory or disk drive on the system. See below for details on the format of the file.

The information in the file of observed data will override any details entered in the rest of the New Model entry screen Eg. if the menu screen is completed with 200 points and a station spacing of 0.5 Km, but the observed data file contains 73 points with variable spacing, then the latter information will be used.

The observed data will be displayed in a spreadsheet form, and the user must indicate which columns contain the gravity data to be used, and which contain the information about the station locations. Any 'bad' data points, ie those which contain information that Grav2dc cannot interpret as numbers, will be marked by having the row number displayde as a series of asterisks ****. If these data point values are not corrected they will be ignored.

To enter a body use the mouse and press the left button to mark the corners of the body. To close the body automatically press the right button. The corners must be entered in a clockwise manner. The locations of the corners will be displayed onscreen as they are entered.

When loading and old model for further work, just double-click on the filename in the file selection dialog, and the model will be loaded and recalculated. Note that models can be passed backwards and forwards freely between the Dos and Windows versions of Grav2dc.


SETTING UP THE FIELD DATA FILE

If there is observed data to be modelled, then this must have been stored as an ASCII file on disk prior to running Grav2dc. This file may be created with any editor, such as the Windows notepad. This may be accessed directly from within Grav2dc. The data must be in the following format :-

The	1

Comment 	2

Lines 	3

  X1 	G1 	G1'	G1''	G1'''

  X2	G2   	G2'	G2''	G2'''

  :  	 : 	 :	  :	  :

  XN	GN 	GN'	GN''	GN'''

The comment lines may be left blank, or may contain information on the survey etc. The number of comment lines is selectable by the user. The first column of data usually contains the position of the point on the profile, and the second  to the fifth columns contain the field value measured there. None of the data fields need lie in fixed columns or be justified in any fashion. Use spaces rather than Tabs to separate the columns. It is not necessary to know how many points are in the file prior to reading it in. The maximum number of points is 8192. Note that the X positions in the file must increase ie XN > X1.The file Grav.dta is provided as an example.

The data locations may also be in the form of X and Y coordinates, and the profile need not be straight. In this case one of the above columns of data will represnt the Y coordinates. If the profile was crooked or curved, it will be straightened. This is done by calculating the distance between each point and the preceding point on the profile, and adding this distance to the current profile length.


SETTING UP A MODEL FILE

If the coordinates for the initial model are already known Eg. if they have been digitised from a seismic section, then this information may be read directly into the program. Select the option from the menu and a file selection window will appear and allow the model file to be chosen. The file must be in ASCII, with the following format :-

Comment Line

*******************

* No. Bodies 	* 2

* Density 1   	* 0.2

* No. Corners	 	* 4

*      1 	* 10.0   10.0

*      2      	* 40.0   10.0

*      3      	* 40.0   20.0

*      4      	* 11.0   20.0

* Density 2   	* 0.4

* No. Corners  	* 3

*      1      	*   100.0   20.0

*      2      	*   121.0    20.0

*      3      	*   110.0    30.0

*******************

The coordinates need not lie in any fixed columns, but columns 1 to 15 are reserved for the explanatory comments. The file Model.bod is provided as an example. If a mistake is made in the file format then this should be detected, and an appropriate message will be displayed. The bodies in the file will be added to those already present in the model.


EDITING OPTIONS

Selecting a Body

Adding a Body to the Model

Keying in a Bodys Coordinates

Changing the Shape of a Body Using the Mouse

Changing the Body Shape Numerically

Link Body Corners

Unlink Body Corners

Deleting a Body from the Model

Adding Body Corners

Deleting Body Corners

Hiding a Body

Moving a Body

Copying a Body

Turning a Body

Changing the Density Contrast, Depth, Width, or the Strike Length of a Body

Abstracting Part of the Profile

Removing a Regional Field


INVERSION OPTIONS

Inversion is a mathematical technique that will try and modify various parameters of a body in such a way as to try and improve that fit between the calculated and observed data. More technically, the program uses ridge-regression  and singular value decomposition to minimise the error between the two curves in a least-squares sense. The parameters that may be inverted have been split into two groups ; those that affect the whole body (Eg. density), and those that affect only one corner of a body. Up to 10 parameters of a body may be inverted simultaneously. Obviously, the smaller the number of parameters that are being inverted, the faster the inversion will proceed. The model may contain multiple bodies, but only one body may be inverted at one time. If the starting model is far from the solution, or the parameters to be inverted are badly chosen, then inversion will probably make things worse.

Whole Body Inversion Parameters

Body Corner Inversion Parameters

Inverting the Model


MODEL DISPLAY OPTIONS

Displaying the Body Numbers

Displaying the Body Density Contrasts

Highlighting the Body Corners

Plan View of the Model

Selecting a Particular Range of Depths and Positions to Display

Zooming in to Part of the Profile

Zoom fully Back Out

Add Borehole Data

Draw a Grid and Define its Characteristics

Setting the Font Size

Choosing the Colour Scheme

Changing the way that the Observed and Calculated Gravity Curves are Displayed

Setting the Display Parameters for the Gravity Axis

Choosing the Display Parameters for the Depth Axis


SYSTEM OPTIONS

Saving the Model to Disk

Importing a Model from Mag2dc

Editing the Observed Data

Printout the Model  to Printer, Disk or Clipboard

Creating an HP-GL File

Creating a DXF File

Setting Up the Printer

Producing the HardCopy

Leaving Grav2dc


Whole Body Inversion Parameters

These parameters are the depth, the horizontal position, the density contrast, and the angle of rotation of the body. Although all of these parameters may be inverted simultaneously, this is in general not a good idea. In particular, inverting inherently ambiguous parameters like density and depth makes it hard for the software to cope. Limits may be set for each parameter, to prevent it being altered to values known to be false.


Body Corner Inversion Parameters

The position of each body corner may also be inverted individually. To mark a corner for inversion, click on it with the left button of the mouse. A double-headed horizontal arrow will be displayed on the corner. This indicates that the corner will be inverted in the horizontal plane only. Clicking on it a second time will display a vertical arrow, indicating inversion in the vertical plane only. A third click will enable both horizontal and vertical  inversion, and a fourth click will switch off inversion for that corner. When all the corners have been marked as desired, press the right button to exit. Note that selecting a corner for both horizontal and vertical inversion uses up two of the ten inversion parameters.


Inverting the Model

Once all the parameters to be inverted have been set, select this menu option to start the inversion. A dialog box will display the parameters chosen, so that they can be checked before proceeding. The number of iterations can be set here ; 10-20 should be fine for a run with one parameter set. The error in the fit between the observed and calculated curves will be displayed throughout the inversion, and the model will be updated on the screen after each iteration. The inversion may be interrupted by pressing the left mouse button ; the current iteration will complete, and then an information message will be displayed.


Selecting a Body

All editing operations Eg. changing corners or densities, are done on the currently selected body. This is drawn in a bolder outline than the other bodies. To select a body, place the cross-hair cursor somewhere inside it and press the left mouse button. The model should then be redrawn accordingly.


Adding a Body to the Model (Alt-A)

When this option is selected, a dialog window will appear allowing the entry of the new body's density and strike lengths. The body shape itself must then be entered using the mouse. Use the left button to enter each corner in turn, and the right button to close the body. The corners must be entered in a clockwise manner. The coordinates and number of each corner will be displayed as they are entered.


Key in a Body's Coordinates

         As described in 'Adding a Body to the Model' , all bodies will lie onscreen {since it is impossible to move the cursor offscreen} : however to avoid edge effects it is often useful to have a body extending offscreen, perhaps to 'infinity'. In this case the numerical values of the coordinates are entered, and the mouse is not used. Use the spinbutton to display the different body corner coordinates.


Changing the Shape of a Body Using the Mouse (Alt-C)
Changing the Shape of a Body with the Mouse (Ctrl-C)

To select a corner of the currently selected body to be edited, click on it with the left mouse button. If it was selected correctly, then it will be marked with a large dot, and the corner number and coordinates will be displayed. Mark the new position by clicking again with the left button, and the body will be recalculated. This procedure may repeated as often as desired, with the same or different corners. When the editing is finished, press the right button.

It isn't possible to add a new corner to a body without re-entering it. Be careful that you don't alter the corners of a body to such an extent that they  become ordered anticlockwise. If you are unable to find the corner you require, check that you are working with the correct body.


Changing the Body Shape Numerically

It is possible to enter the coordinates of the new position of a body corner directly, rather than indicating the location with the mouse. Selecting this option will call up a dialog box that shows the numerical position of the first corner (in the order that they were entered) of the currently selected body. To change the position, simply enter the new horizontal position or depth of the corner. To see the effect of the change upon the anomaly and upon the body shape, press the Calculate button. To move to the next corner, press the Next button. In a similar manner, the Previous button will move to the prior corner in the sequence. Press the OK button when all changes are completed.


Link Body Corners

Often it is desirable to have two bodies exactly abutting onto one another. This is possible by using the Grid option, but it can also be done by linking the two corners together. After selecting Link from the menu, mark the first corner to be linked (on the current body) by clicking on it with the left mouse button. It will be redrawn with a red dot to indicate it was successfully marked. Then click on the corner (of another body) that it is to be linked to. The first corner selected will then move to the position of the second one. Once all the desired links have been established, press the right mouse button to leave the option.

When the Link option is selected, all currently linked corners will be marked with a red cross,

In addition, any changes that are made to the position of either of the corners by the options 'Change a corner with the mouse' , 'Change a corner numerically' , 'Move a Body', or 'Turn a Body' will be reflected in both corners ie they will remain linked together. One body may be linked to several other bodies at the same time, but only two corners may be joined together at any one intersection.  If an attempt is made to link a corner to a second corner which is already linked to a third body, then the old link will be broken when the new link is established.

Linking does not function with inversion. If an attempt is made to invert any parameter of a body that has linked corners, the links will automatically be broken.

Hidden bodies may not be linked, but a body may be first linked then made hidden later. Corners may be unlinked using the 'Unlink body corners ' menu option.


Unlink Body Corners

To break a link between two body corners, use this option. Use the left mouse button to select the linked corners. Press the right mouse button when all desired corners have been unlinked.


Deleting a Body from the Model(Alt-D)
Deleting a Body from the Model(Ctrl-D)

This option will delete the currently selected body from the model. A window will appear first, asking for confirmation before the body is removed.


Adding Body Corners

After a body has been entered into the model it may be necessary to add further corners to it. This is done by selecting the menu option, then clicking on the body corner before the new corner, when the corners are looked at in a clockwise sense. Once that has been done, then simply click on the position of the new corner and it will be added to the body, and the model will be recalculated and updated. Note that there is a maximum of 50 corners available per body.


Deleting Body Corners

After choosing this option, just click on a body corner with the left mouse button to mark it for deletion. Corners that are so marked will have a red star drawn upon them. Note that all bodies must have at least 3 corners (!). To deselect a corner for deletion, click on it again. Click with the right button to recalculate the model.


Hiding a Body (Alt-H)
Hiding a Body (Ctrl-H)

Sometimes it is useful to see what effect a particular body has to the model. If it is deleted, then it cannot be re-instated without being re-entered ; if the body is complex then this is very time consuming. A body may therefore be temporarily removed, or hidden, from the model using this option. The body will be displayed with a white fill with a dotted line type, and it's contribution to the model will not be included. To re-instate it, simply toggle the hide option for that body.


Moving a Body
Moving a Body (Ctrl-M)

After this option is chosen a dialog window will appear. The distance that the body is to be moved may be entered directly by typing in the distances in the horizontal and vertical planes and pressing the calculate button, or by pressing the adjacent spinbuttons-. These will add/subtract the distance shown in the adjacent box to the body's position and recalculate the model. The distance by which the body is moved at each button press may be changed by entering a new value into the box.

The distances may also be estimated graphically. Click on the checkbox, then press the OK button. Then click and hold down the left mouse button with the cursor over the body, and drag the body to its new position. When the mouse button is released the model will be recalculated and redrawn.


Copying a Body

This feature reduces the amount of work needed to enter a series of similar bodies. It works in a similar fashion to the option for moving a body , except that when the movement vector has been entered a copy of the original body will be created. The copy will have the density contrast and strike lengths of the original body.


Turning a Body

Any body may be rotated about it's centre by using this option. This is done by pressing the buttons marked + and -, which will cause the body to be rotated clockwise/anticlockwise by the angle shown in the adjacent box. This value may be changed by simply replacing it with the desired value.

Beware of rotating bodies when the scales in the horizontal and vertical directions are very different, since the results may be unexpected ! (If the rotation of a body would cause any part of it to move above the ground surface, then these corners are clipped).


Changing the Density Contrast or the Strike Length of a Body
Changing the Density Contrast, Depth, Width or Strike Length of a Body

Either double-clicking on a body or selecting the 'Change Body Properties' option from the main menu calls up a dialog window that shows the current values of the aforementioned parameters. Enter the new values and press the Calculate button, and the model will be updated. Pressing the spinbutton next to the body number will move you forwards or backwards through the different bodies in the model, although any hidden bodies will be skipped. Pressing the spinbutton near the density contrast will increment or decrement the density by the amount shown in the adjacent entry field. This amount is initially set to 5% of the current density value, but it may be changed at any time. Similar spinbuttons operate for the depth and the width of the body.

In addition, there are Inversion buttons for the body depth and desnity contrast. Pressing these will invert the selected parameter only for 10 iterations. More sophisticated inversion is possible from the Inversion option on the main menu.

The strike lengths are the distances on each side of the profile that the body extends to. It doesn't make any difference which side of the profile is taken to be which. The profile direction is assumed to be orthogonal to the strike of the bodies.


Abstracting Part of the Profile

Sometimes it is desired to work with only a portion of the dataset. Part of the profile can therefore be abstracted for detailed study. When this option is selected, the profile will appear in a window, along with two vertical markers. The section of the profile between the markers is the part that is to be worked with. Use the left mouse button to move the left marker, and the right button to move the right marker. The exact positions of each marker is displayed near the top of the window. When the markers are correctly positioned, select the Exit option from the menu on the window.


Removing a Regional Field

If the dataset has not already had the regional field removed, then a linear regional can be generated using Grav2dc. The profile will be initially displayed in a window, and the regional is shown as a straight line through the data.

The regional field may be either a constant, an linear, or a cubic spline. If a constant is used, then its value  may be adjusted by using the adjacent spinbutton. The increment can be adjusted similarly.

The initial linear field is calculated using an L1 norm fit to the data. The gradient and intercept of this line can be adjusted using the nearby spinbuttons.

The final option for the regional field is to use a cubic spline, which allows more complex regional field shapes to be defined than the previous options. The spline is defined at the positions shown by the dashed vertical markers. Clicking with the mouse to the right of a marker will fit the regional though a point at the same vertical position as the mouse.


Displaying the Body Numbers

To find out which body is which, select this option and the body numbers will be displayed approximately in the centre of each body.


Displaying the Body Density Contrasts

To find out what the densities of the bodies are, select this option and they will be displayed approximately in the centre of each body.


Highlighting the Body Corners

If several body corners lie on or near a straight line then it can be hard to see exactly where the corners are. Selecting this option will cause all the body corners to be highlighted, enabling them to be easily found. To return the model display to normal, select this option once more.


Plan View of the Model

To view the different strike lengths of the bodies in the model, select this option and the model will be displayed as seen from above. The deeper bodies will be displayed in darker colours, to give a sense of depth to the plot. Obviously, no editing of body corners may be done with this view displayed, but changes to susceptibilities and strike lengths are still possible. Toggle the option again to return to the normal editing mode.


Selecting a Particular Range of Depths to Display
Selecting a Particular Range of Depths and Positions to Display

Both the minimum and maximum depths and horizontal positions to be displayed can be set, enabling a zoom feature. Note that even though a body isn't visible, the anomaly is still calculated and displayed. The Zoom Out  feature can be used to return the display to normal.


Zooming in to Part of the Profile(Alt-Z)
Zooming in to Part of the Profile (Ctrl-Z)

         It is possible to zoom in to part of the model to obtain a more detailed view.  Mark any corner of the desired view by clicking with the left button, then with the button still held down, move the cursor to the opposite corner. A 'rubber-band' box will be displayed, showing the area which will be zoomed into. Release the button to enable the zoom to take place.

The Zoom Out  feature can be used to return the display to normal.


Zoom fully Back Out

This undoes the effects of any previous zooms, and redisplays the whole of the model.


Add Borehole Data

If there is some borehole information to control the model, then this may also be displayed. An ASCII file with the following format must be created :-

Ranger 1	: Label for the whole hole

Test Borehole Data	: Comment line

for Grav2dc for Windows	: Comment line

Shale	: Rock type

3000.0 0.0	: Position on the profile and depth of the hole

3000.0 20.0

3100.0 40.0

Conglomerate	: Next rock type

3150.0 60.0	: etc.

3150.0 70.0

Sandstone

3200.0 80.0

3210.0 100.0

Up to three boreholes may be displayed, each containing up to 50 coordinate pairs describing the hole position. There may be a maximum of 9 changes in rock type per hole (ie. 10 rock types per hole). The file test.hol is provided on disk as an example of the format.


Draw a Grid
Draw a Grid and Set Its Characteristics

To enable more accurate placing of bodies in the model, a grid of points may be overlain upon it. This grid has every Nth point drawn more boldly as a further aid. The grid interval may be set as desired, and body corners can be made to snap to it. In this case, when a new body is entered, or a body corner position is edited, the body corners will be forced to lie on the nearest grid point. The grid option does not affect inversion at al.


Setting the Font Size

The size of the display font is adjustable to enable all text to be easily viewed on monitors of all resolutions. The larger the font size, the larger the size of the writing onscreen.


Choosing the Colour Scheme

By default all the bodies in the model are displayed in an exciting grey colour. However alternatives exist. The bodies can be coloured in a range of shades of grey, with the darkest shades representing the lowest density contrasts, and the lightest shades representing the highest density contrasts. Instead of a grey scheme, the bodies can be displayed in colour, with cold colours (blue etc) representing the lowest density contrasts, increasing through green to red, which is used for the highest density contrasts. Finally, the bodies can be given a uniform white fill, which can be useful if printouts of the model are to be sent via a fax machine.


Importing a Model From Mag2dc

A set of bodies contained in a model from Mag2dc may be imported into an existing Grav2dc model using this option. Their susceptibilities are converted to density contrasts, and all information on the profile direction and geomagnetic parameters is discarded.


Saving the Model to Disk (Alt-S)
Saving the Model to Disk (Ctrl-S)

To save the model when a session of work has been completed, select this option, and a file dialog window will appear. Any name or extension may be used, but an extension of .mod is reccomended. The saved model file is fully compatible with the DOS version of Grav2dc. Note that this file will be in binary format, and it is not possible to edit it outside of Grav2dc.


Printing out the Model  to Printer, Disk or Clipboard

To get a record of the bodies in the model and of the numerical values of the points making up the gravity curves, select this option and the information will be written out on the either the printer or to an ASCII disk file as desired. This file may be edited and read into commercial drafting packages for use in the preparation of reports etc. Note that this option does NOT save a model for future recall as an old model.

Transferring the data to the Windows clipboard enables easy transfer of the information into almost any Windows application. Note that the graphical picture of the model may be transferred to the clipboard by pressing the Print Screen key.


Creating an HP-GL File

The HP-GL plot file option will create a file containing a series of Hewlett-Packard plotter commands describing the model. This file may be imported as a figure directly into many wordprocessors, such as WordPerfect, enabling reports to be prepared more easily.


Creating a DXF File

The DXF ('Drawing eXchange File') format is compatible with AutoCad, and may be used if it is desired to prepare the diagrams for a report with that package. Many other draughting programs also support this format.


Setting Up the Printer

All printers can be configured in some fashion or another, with the exact attributes depending on which printer is being used. Common options are to set the printing resolution and the fonts. Selecting this option will bring up a window showing the settings for the currently installed Windows printer. If the printer/plotter is changed, then Windows print manager must be updated before correct printing can be achieved. Drivers for a large range of printers are supplied with Windows, and printer manufacturers generally supply drivers with their hardware.


Producing the HardCopy

Once the printer/plotter has been correctly set up , then printing can take place. If desired, information on the first three bodies in the model may be listed below the plot. If automatic scaling is used (the default), then the plot will fill the paper (of whatever size used). Alternatively, the width and height of the plot may be specified directly (in inches or cm.). Output to fixed scale is also available. Enter the horizontal and vertical scale Eg. 5000 means 1:5000, and click on the appropriate radio button. If the scale to be entered has too many digits for the dialog, use exponential notation Eg. 2.0e7 etc.


Leaving Grav2dc (Alt-X)
Leaving Grav2dc (Ctrl-X)

Choose this option to end the program. A window will appear asking for confirmation, in case it was selected accidentally. Grav2dc can also be exitted by selecting Close from the Windows system menu.


mGals

The unit of acceleration measured in gravity surveys. 1 Gal = 1 cm.s-2


Singular Value Decomposition

A method of matrix inversion, used for matrices which may be singular or nearly so. It is often used to solve linear least-squares problems.


Ridge Regression

A more stable method of inversion than the common Moore-Penrose technique :-

dP = (ATA  + kI)-1 ATdE

Where :- dP is the parameter change matrix

A is the matrix of partial differentials w.r.t. the above parameters

dE is the error between the observed and the calculated data

I is the identity matrix and k is a constant

and :-	T denotes the transpose of a matrix

-1 denotes the inversion of a matrix


Editing or Deleting the Observed Data

Double-clicking the mouse on a field data point will call up a dialog showing the values and positions of five observed data points centered on the selected point. New values can be entered, and the display can be scrolled through the other points in the profile by clicking on the spinbutton. To delete data points, mark the checkbox adjacent to the point. Note that deleted points cannot be restored later.....


Legalities

Professional Geophysical Software and G.R.J.Cooper shall not in any case be liable for incidental, consequential, or other damages arising from any claim, even if PGS or its agents have been advised on the possibility of such damages.


Changing the way that the Observed and Calculated Gravity Curves are Displayed

Selecting this menu option will call up a dialog that enables the colour and style of the curves to be set. The current colour is shown in a small square - to change it, click on the square and a colour selection dialog will appear. The other options possible are ;

1) A graph of the difference between the calculated and observed anomalies can be displayed.  The zero line is drawn horizontally across the screen, with the difference graph across it. Where the curve is above the zero line the calculated curve values are higher than the observed values.

2) The contribution from each body in the model can be displayed separately, rather than the total anomaly. If there are many bodies then the resulting display will be somewhat complex. Toggle the option again to return to the normal display.

3) The observed data can be plotted as a sequence of points * rather than as a dotted line.


Setting the Display Parameters for the Gravity Axis

Double-clicking on the gravity axis calls up a dialog which allows the labelling interval and the number of decimal places to which the labels are to be displayed to be set.


Choosing the Display Parameters for the Depth Axis

Double-clicking on the depth axis calls up a dialog which allows the minimum and maximum depths displayed, as well as the axis labelling interval, to be displayed.


Credits

Grav2dc was written by;

G.R.J.Cooper

School of Geosciences

University of the Witwatersrand

Johannesburg 2050

South Africa

Telephone : Johannesburg 717-6608, Fax Johannesburg 717-6579

cooperg@geosciences.wits.ac.za , grcooper@iafrica.com

www.wits.ac.za/science/geophysics/gc.htm