You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am evaluating Loop Structural on a well log dataset of the Williston Basin. This is a relatively uncomplicated basin structurally but the study area is large so sedimentation dynamics come into play, and some formations change dramatically in thickness across the basin.
I am trying to create a structural surfaces from a set of formation tops (so value constraints, no gradient information). The tricky bit is that I would like to treat formation thickness as a free parameter that varies across the basin. Instead, it appears that the finite difference interpolator (at least, with defaults) fairly rigidly enforces a constant gradient in the val parameter when a conformable stratigraphy is being modeled. Is there a way to relax this constraint?
Here is the result of Loop3D modeling:
If I do a naïve interpolation of each surface separately with SciPy, I get something much closer to the data, but where stratigraphic superposition is not obeyed:
I've tried using unconformities and interfaces, but I am not sure I was using them correctly in any case.
As you can see, I'm using arbitrary integer indices to track the order of surfaces; I'd expect the final interpolation to have a varying spacing between these value contours.
I apologize if I am missing some fundamentals of this package's approach, as I only just began to use it today. I'd appreciate any recommendations on the right approach to take for this particular problem.
The text was updated successfully, but these errors were encountered:
The interpolators generally will all minimise variation in thickness. If you reduce the regularisation this may be less.
We haven't really focused on modelling stratigraphic complexities as the tools for these are fairly well developed in commercial code. We have tried to add tools for incorporating more complex structural geometries e.g fault displacement informed by kinematics and folding.
Using unconformities will work, happy to have a look but won't be at a computer for 3-4 weeks.
Hi @lachlangrose thank you for the perspective. I suspect your framework could be adapted to this different style of interpolation, which might be an interesting problem in its own right (and not quite the same as going in a full stratigraphic modeling direction). But it's not urgent to solve.
I'll probably retreat to more well-supported use cases for now, but may reach back at some point if I poke more at this.
This module has been a pleasure to get familiar with overall!
I am evaluating Loop Structural on a well log dataset of the Williston Basin. This is a relatively uncomplicated basin structurally but the study area is large so sedimentation dynamics come into play, and some formations change dramatically in thickness across the basin.
I am trying to create a structural surfaces from a set of formation tops (so value constraints, no gradient information). The tricky bit is that I would like to treat formation thickness as a free parameter that varies across the basin. Instead, it appears that the finite difference interpolator (at least, with defaults) fairly rigidly enforces a constant gradient in the
val
parameter when a conformable stratigraphy is being modeled. Is there a way to relax this constraint?Here is the result of Loop3D modeling:
If I do a naïve interpolation of each surface separately with SciPy, I get something much closer to the data, but where stratigraphic superposition is not obeyed:
I've tried using unconformities and interfaces, but I am not sure I was using them correctly in any case.
My code is here for reference.
My model data frame looks like this:
and my stratigraphy has this general structure:
As you can see, I'm using arbitrary integer indices to track the order of surfaces; I'd expect the final interpolation to have a varying spacing between these value contours.
I apologize if I am missing some fundamentals of this package's approach, as I only just began to use it today. I'd appreciate any recommendations on the right approach to take for this particular problem.
The text was updated successfully, but these errors were encountered: