How Geologists Build Structural Models of the Subsurface
When we talk about structural models in geological modeling, we are concerned with the overall structure of the geology. By that we mean:
- Where are the boundaries between different rock strata (layers of rock of one type)?
- What is their shape?
- Where are faults and how are they shaped? Faults are areas where the ground has shifted up or down, creating a discontinuity between horizons (surface describing the interface between two different rock strata).
We don’t care about what type of rocks the layers are made up of or what they physical properties are.
The main objects we deal with in structural geology are:
- Horizons. The the surface representing a boundary between two rock layers.
- Faults. Surfaces describing how horizons have been shifted relative to each other due to earth quakes, creating a discontinuity.
- Isochores. The thickness between two horizons. This does not need to be between consecutive horizons but could be between anyone.
Other Auxiliary Data Objects
To complicate this picture further all these data objects can be in depth or time. Remember these objects tend to derive from seismic interpretations where x and y coordinates are in meters but depth is in time.
We also use a number of supporting object to help create these objects:
- Trends describing the overall global shape of a horizon or isochore.
- Residuals giving local variations.
- Wellpicks which are used to adjust the position of horizons or faults. These are marks made along a well trajectory by a geologist by looking at well log data to guess where a horizon intersect the well trajectory.
- Well trajectories and zone logs. Zone logs are discrete logs that have value indicating what zone a particular section of the well trajectory is supposed to be within.
This may seem like a lot of objects without a clear relationship between them. Don’t worry I’ll get to how they are related and how they are used to build the structural model.
First lets take a step back and take a birds eye perspective to understand the approach we are taking towards building a structural model. It is to give you a sense of how you should think about all of this.
You need to consider that all the rock layers have been deposited over time one layer on top of the other. A layer could have been formed by lava from a volcanic eruption cooling. It could have been sediments deposited by waves on beaches, rivers, deltas etc.
Whatever happened, one layer will be influence by the layer below it. If a lower layer tilts downwards it is likely the new layer on top will tilt in the same direction. If a fault has shifted one layer down. It has likely shifted all the other layers below down as well.
The Purpose of Isochores
This all means that the shape of a higher up layer likely says something about the shape of layers below. This is important to point out because it helps understand the purpose of isochores.
For the longest time that I have been in this business I thought faults and horizons were easy enough to grasp. But I could not understand why we needed isochores. They were implicitly defined by the horizons anyway in my opinion.
They way to get this is to realize what I just explained about depositions as well as understanding that building geological models is a highly iterative process. There is a lot you don’t know initially. You start with a coarse model with lots of guesses. As you gain more knowledge you must adjust your model of the subsurface.
A useful insight is to realize that any given horizon can be derived by adding up all the isochores above it. The top isochore from mean sea level (MSL) to the sea bottom, would be no different from sea bottom horizon, since all z values on the horizons are given relative to mean sea level (MSL).
Anyway at some point I may realize that I had not specified the thickness of one layer (zone) accurately. I can then adjust the isochore. Keep in mind this thickness is not a single value. It is a whole surface of thicknesses. We adjust this thickness surface.
That means we will also have to update the horizons below. Adjusting the thickness of one isochore causes that change to ripple through downwards to all horizons below since they are the sum of all preceding isochores.
Adjusting a horizon on the other hand does not have the same rippling effect. But it will naturally adjust the isochore below it. But that is not the kind of isochore adjustment we would want to ripple downwards. It does not have to because the model is consistent since the horizon above was adjusted.
Seismic Reflectors vs Calculated Horizons
A time surface is basically the same as a seismic reflector. The difference is that anything could have created a time surface, but a seismic reflector refers specifically to the interface between two rock layers with different acoustic impedance. Difference in acoustic impedance causes a reflection of the seismic signal (sound wave or acoustic signal). This is similar to how a wave of light is reflected according to Snell’s law when light passes through different media. Impedance could be thought of resistance to change. Acoustic impedance is thus resistance towards sound waves.
Anyway this means a seismic reflector is a good starting point to describe a horizon. Because we create this horizon by interpreting the seismic cube, we call these horizons interpreted horizons.
However it is not the only possible type of horizons. Not all change in rock layers causes a noticeable change in acoustic impedance. Geologists can identify locations of other horizons by looking a well logs. Rapid changes in log values can indicate a transition from one zone to another. The geologists mark these location along the well trajectory. These become well markers, also called well picks and well tops.
These are different from time surfaces made from seismic reflectors in that they will be marked at a depth given in time. We can interpolate between wellpicks found on different wells to create calculated horizons.
Velocity Models and Time Intervals
To turn time surfaces into depth surfaces we need to know the velocity of sound at different rock layers. If you know the time it took for a seismic signal to reach each point on a time surface as well as the velocity down to this point then we can create a depth surface.
Our approach to this is based on the assumption that within one zone (area between two horizons) the velocity is more or less constant. That is because a zone should represent a rock formation with more or less homogenous properties.
That means we can represent each zone with a time interval that gives just one velocity for each point.
Velocity models are a bit more iffy to work with because they are like 3D volumes where each point has velocity. We have to find the location of pairs of horizons in the velocity model to extract velocity intervals.
That is much more practical to work with since we can modify the velocity of an interval independent of the other intervals as we develop more knowledge about our model.
Dealing with Uncertainty
There is a lot of uncertainty with all the data we collect. Especially the seismic data has a lot of uncertainty. The data can be noisy. We may have interpreted the location of the seismic reflectors wrong. Then we might have gotten the velocity wrong displacing the location of the depth horizons even further.
Well trajectories are a lot more accurate, and we consider them more trustworthy when modeling. However these are not 100% accurate either, especially when a well is deviated rather than completely vertical. Then the position of the sampled survey points along the trajectory is determined by adding up lots of little straight line segments between the survey points. Basically we treat the distance between each survey point as a vector. The magnitude (length) is known. The direction is measured by reading of gyroscopes giving us the azimuth and dip angles for the drill string at the survey point. Gyroscopes are never perfect so there are some errors in measurement.
These errors accumulate the further down we go. Thus we can imagine the uncertainty in the actual location of the drilled trajectory as a funnel that expands downwards.
This uncertainty get inherited by the well markers picked along the well trajectory. Thus each wellpick can be thought of as existing somewhere within an uncertainty ellipsoid.
The challenge is to take all this all these clues to what the subsurface looks like and combine it in a way that doesn’t make the data inconsistent. We create algorithms to do a lot of this job automatically.
One of the things we provide to these algorithms are trends and residuals for the thicknesses. With both we provide a deviation indicating how many meters of uncertainty there are for both objects. However this uncertainty is treated differently in algorithms trying to fit the data.
A trend represents the overall global shape of a thickness. It is a kind of smooth surface without local irregularities. The residual represent small local variations on top of this smooth surface to create the actual isochore.
When the algorithm discovers that one or more wellpicks don’t intersect the horizons we create by adding up isochores, it has two choices:
- If there is just a lone wellpick that does not match but all the other ones match, then this is probably the result of a local variation. So we adjust the residual for that isochore.
- If several wellpicks don’t match, it suggest that there is a more global mismatch. Hence we likely get best result by adjusting the trend.
In both cases we should avoid moving up or down more than the uncertainty. If the wellpick is 10 meters above the horizon, but the trend has an uncertainty of 5 meters, then we should move it up maximum 5 meters and make the remaining adjustment as a local variation (residual).
The final stage is to do manual quality control. A geologist would inspect the result of an algorithm by looking and seeing how well wellpicks were fitted to the horizons, if trajectories had to be moved to make everything fit and if the new well trajectories look good.
As I’ve alluded to before I am just a software developer and not a geologists. The point for me to write about this is this perhaps would be useful for other developers working in the same domain, and who want a kind of dummy introduction to the domain without having years of geology study from university to help understand the material.
And even if you are not working in this field I think it is an interesting topic to explore for anybody interested in science in general. It gives a good example of how a scientist will explore something that isn’t fully known by combining measured data with theory and statistics. It shows the detective aspect of scientific work. How you need to piece together all sorts of related clues to figure out what happened at the crime scene.
This is written largely from memory and I hope to refine this with better illustrations in the future. Please let me know if you want more detailed discussions of geological modeling.