Geophysical Surveys - Introduction
Introduction
Geophysics has to do with physics of the earth. There are academic reasons for studying the shape and behavior of the earth, as well as commercial ones. The US Geological Survey USGS, and the Geological Survey of Canada GSC, as well as mapping agencies related to both of them are involved in geophysical surveys. A lot of data is available from these agencies for use by the public. We shall see later how to obtain gravity network control points and GPS survey control points from the GSC. Similar data is available in many other countries.
My experience is mainly in the oil & gas and mining exploration. The techiques I am most familiar with are gravity and ground-based magnetic surveys.
I will be covering several aspects of the geophysical survey in future articles:
- data collection instrumentation
- survey techniques
- gridlayout
- positional survey techniques
- gravity data processing
- magnetic data processing
- mapping
- gravity interpretation
Detecting subsurface resources depends on characteristics that differentiate them from the surrounding rock. These characteristics go hand in hand with the techniques used:
- elastic properties - seismic
- electrical conductivity - resistivity, EM, EM Pulse
- rates of decay of artificial potential differences - Induced Polarization (IP)
- local changes in material density - gravity survey mapping
- local changes in magnetism - magnetic survey mapping
- radioactivity - radiometric surveys
All of these provide different ways to investigate the nature of structures below the surface. Geophysics is not limited to Earth. The same techniques have been applied to the Moon, by both manned and unmanned spacecraft; and to other planets and asteroids in the solar system. The same basic instruments are used to collect the same basic data, perhaps with a higher degree of precision and the need to operate under much different conditions.
Of the many geophysical techniques listed, I will concentrate on gravity and ground magnetics surveys. I will describe in detail all of the data collection and processing required, including source code written in C++, Python, Go, Lua, and Zig, maybe even Scheme.
Gravity Surveys
Gravity surveying involves measuring the variations in the gravitational field of the earth over a prescribed area. Hopefully, the variations that are detected correspond to geologic structures of interest. Surveys can be carried out on the surface, underground, underwater, or more recently, from the air. I will limit my discussion to ground surveys by means of a handheld gravity meter.
How does it work
Local variations in the density of the rocks cause small but detectable changes in the gravity field. Gravity and magnetics are often described as potential methods because both behaviors are based on potential fields.
We all know the average value of g, the acceleration of gravity on the earth, as
Another unit of measure typically used in gravity surveying is the milligal (mgal), where
$$1\ Gal = 1\ cm/s^2, \ \ \ \ 1\ mGal = 10^{-5} m/s^2$$Therefore, g in mgals would be $ 981,000\ mGal $
Handheld gravity meters are capable of readings with a precision of 0.01 and 0.001 mGals depending on the make and model. Therefore, it is capable of reading 1 part in 10 million to 100 million. Is this good enough to detect ore bodies and other geological structures? Let’s find out.
For more background, check out this textbook by Telford.
Let’s look at a couple of examples from Telford:
Sphere Example
A sphere of radius a and density ρ is buried to a depth of z measured to the center. The closed form solution (Telford) to the vertical gravity component is
Units and powers of 10 are a confusing issue and needs to be addressed right here and now! I struggled with this for a time in order to get my computer programs to work correctly. The textbooks gloss over this because they were generally written when you needed to do the calculations by hand or with a calculator at most. I’m going to try and explain this and then we’ll see an example program written in Python.
The above equation is standard except for the mGal unit at the end. Without specifying the units of any of the terms, and using the default metric units, then g would be in $m/s^2$. That sounds pretty obvious, but let’s dig a little deeper.
where $ k = 4 \pi \gamma /3 = 0.027957 $ when a,x,z are measured in meters, and ρ is the differential density (ie. $1.0 = 1000 kg/m^3$ between the ore body and surrounding rock. ($ \gamma $ is the gravitational constant, = 6.6743e-11) (see NIST) In order to work in units of mGal, we have to convert from $m/s^2$ to mGal by multiplying by a factor of $10^5$. So $\gamma$ is really 0.0066743
When x = 0 m, the maximum gravity anomaly becomes
$$ g_{max} = 0.0279 * \frac{\rho a^3}{z^2}$$Using values z = 500m, R = 100m, and ρ = 1.0, we get a maximum response of 0.112 mGal directly above the sphere.


An invariant property of the profile gives the depth to the center of the sphere:
$$ g = g_{max}/2, \ z = 1.3x_{1/2} $$where $ x_{1/2} $ is the half width of the profile at $ g_{max}/2 $. Simply multiply the half-width, here it is 385 m, by 1.3 to get the correct depth of z = 500 m. This works for any set of parameters for the sphere model.
Imagine a gravity crew taking readings along a line from a distance of 1 kilometer on the left. As they approach the anomaly, the readings get higher. The minimum reading is 0.010 mGal and the peak reading is 0.112 mGals. Once the crew passes the center, the readings drop back down. These readings are well within the detection range of the meter; and, the magnitude of the anomaly is of significant size that it would be hard to miss. This is, of course, assuming the profile runs directly over the sphere. Other survey lines parallel and to the side of this one would show smaller peaks.
The distance x in the above equation could be any distance, not necessarily along one line, it could be radial. So in fact, each x defines a circle around the center where all values of g are equal. Imagine rotating the above profile around the z axis at x,y = 0,0 and you produce a 3-D map of the gravity anomaly.
Telford covers other geometric objects with relatively simple solutions:
- horizontal rod (picture a wire coming out of the page)
- thin dipping sheet with infinite strike length (y-direction)
- horizontal sheets mimicing slabs, dykes, and faults
- modelling complex shapes by combining polygons
All of these equations are based on 2-D geometry where the strike length is assumed to extend a long way relative to the other dimensions. This can be extended to finite strike lengths, and is called $2 {1 \over 2} -D$ modelling.
Conclusions
This was a small taste of what gravity can show. Interpretation is a whole other topic. Modelling normally involves building a cross sectional 2D or 3D model and iteratively adjusting it to reproduce the observed data.
Over the next several posts, I will cover setting up a survey, discuss best practices, and code up gravity data reduction tools in the Go language.