gempy-project / gempy

GemPy is an open-source, Python-based 3-D structural geological modeling software, which allows the implicit (i.e. automatic) creation of complex geological models from interface and orientation data. It also offers support for stochastic modeling to address parameter and model uncertainties.
https://gempy.org
European Union Public License 1.2
979 stars 233 forks source link

Introducing labels for uncertainty quantification for assigning custom distributions #438

Closed AlexanderJuestel closed 6 months ago

AlexanderJuestel commented 4 years ago

Is your feature request related to a problem? Please describe. As I am working with data from different sources (orientations: collected from literature, collected my own in the field or added manually based on larger geological trends, similar things account for interfaces), it will be very difficult to filter each set of data and attribute a probability distribution to it as data from different sources has different uncertainties.

Describe the solution you'd like A label/column could be introduced when loading the interfaces/orientations to label the different data sets. All interfaces/orientations belonging to one label could then be attributed a probability distribution together instead of attributing a distribution to a single point as shown in the tutorials.

Describe alternatives you've considered None so far as this just came into my mind. If there is a solution for it already implemented I will have to look for it ;)

AlexanderJuestel commented 4 years ago

After some hacking, I managed to add another column to the dataframe called attribute. This contains an identifier for the source of the data. This way, the data can be filtered later on and custom uncertainties can be added for each source of data. In the example below, I have data coming from wells, my digital geological map (ISGK) and my uncovered map (UCM).

image

AlexanderJuestel commented 4 years ago

The provided label can now be used to select data from a particular source. Converting the indicies of the resultant table to a list, uncertainty ranges can directly be applied to this subset.

image

Japhiolite commented 4 years ago

Copying my text from the duplicate issue #458

Is your feature request related to a problem? Please describe. From experience, input data for geological models ranges from true observations (e.g. interfaces from borehole stratigraphy) over inferred interface points to data points, which are necessary for model construction. An additional column could help differentiating between these points, and enable to, for example, easily modify subsets of input data.

Describe the solution you'd like Add an additional column to input interface and orientation data with prescribed options of different strings (e.g. "observed", "inferred", "model-construction") or other identifiers.

Describe alternatives you've considered An alternative could be using indices in the surface-points dataframe. However, this can get quite complex to keep track of (the more data points you have).

Additional context Add any other context or screenshots about the feature request here.

mariuspischke commented 3 years ago

Hey, Is there any update about this issue, yet? I am facing the same problem in the framework of my work. Cheers, Marius

Japhiolite commented 3 years ago

Hi @mariuspischke not to my knowledge. I am, however - to my shame, not up to date with the latest developments. I'll dig a bit around and maybe start on an implementation.

Leguark commented 6 months ago

GemPy v3 is more robust changing arrays of each individual structural_element. Hopefully this feature is not necessary anymore