All the wedges
Wedges are a staple of the seismic interpreter’s diet. These simple little models show at a glance how two seismic reflections interact with each other when a rock layer thins down to — and below — the resolution limit of the data. We can also easily study how the interaction changes as we vary the wavelet’s properties, especially its frequency content.
Here’s how to make and plot a basic wedge model with Python in the latest version of bruges
, v0.4.2:
It really is that simple! This model is rather simplistic though: it contains no stratigraphy, and the numerical content of the 2D array is just a bunch of integers. Let’s instead make a P-wave velocity model, with an internal bed of faster rock inside the wedge:
We can also choose to make the internal geometry top- or bottom-conformant, mimicking onlap or an unconformity, respectively.
The killer feature of this new function might be using a log to make the stratigraphy, rather than just a few beds. This is straightforward to do with welly
, because it makes selecting depth intervals and resampling a bit easier:
Notice that the function returns to you the top and base of the wedgy part, as well as the position of the ‘reference’, in this case the well.
I’m not sure if anyone wanted this feature… but you can make clinoform models too:
Lastly, the whole point of all this was to make a synthetic — the forward model of the seismic experiment. We can make a convolutional model with just a few more lines of code:
That covers most of what the tool can do — for now. I’m working on extending the models to three dimensions, so you will be able to vary layers or rock properties in the 3rd dimension. In the meantime, take these wedges for a spin and see what you can make! Do share your models on Twitter or LinkedIn, and have fun!