-
-
Notifications
You must be signed in to change notification settings - Fork 240
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Directional drilling 3D visualization modeling #973
Comments
A little help would be greatly appreciated. |
Hi @xiaohua00921, if you look through all the examples at the gempy page and on the way input data is loaded (e.g from csv files), you will see that data for surface points is added using xyz coordinates. This does mean that you cann add surface boundary information any way you like, there is no restriction to follow a vertical drillhole. Let me know if this answers your question. Cheers, |
Hello, javoha. |
Also, I would like to ask you, when you say that the vertical drill holes are unrestricted, do you mean that based on these corresponding drill hole data, according to your gempy algorithm, it is possible to successfully connect them into such a directional trajectory (a line with direction)? My research direction is 3D modeling of coal mining, mainly based on the existing borehole data, interpolating each layer of lithology according to your corresponding method (if the data volume is large enough), and then updating this model according to my subsequent data afterwards, I wonder if gempy can be used in my direction, do you think it can be? |
Addendum To the first reply, I'll show you the borehole data in your example, it's in this graph, can you please elaborate on the meaning of this,altitude,base,formation,top,_top_abs,md, for example his altitude, is this altitude the z-value of the borehole, and base is based on who? base is an altitude based on who? The meaning of these data and so on. Thanks again if you can answer my questions. |
Dear @xiaohua00921,
Regarding the model input: Gempy might treat input data differently from modelling software you might be familiar with, where the collar data alone is sufficient to describe the entire input. You will want to transform the input for each surfaces into the "xyz" format, not "collar+borehole meter" (line with direction) format. In your example, I am not sure, what columns "7", "8", and "9" should represent. Gempy will look for specific names for the columns in the input files: here is how surface input should look like (and columns should be named) (https://github.com/gempy-project/gempy/blob/main/examples/data/input_data/jan_models/model5_surface_points.csv). And here is an example for orientation data (https://github.com/gempy-project/gempy/blob/main/examples/data/input_data/jan_models/model5_orientations.csv), although you can add orientations as either gradient vector (G_x, G_y, G_z) or dip, azimuth and polarity. I recommend that you check out the video series, Jan and I did, where we are going into this in a bit more detail. https://www.youtube.com/watch?v=yYwJVYy8ilw Regarding your overall modelling goal, of adding more points to the model: Sounds like a fairly common usecase for Gempy. You will recompute the model after adding new points, but you could use the function "add_surface_points()" (https://gempy-project.github.io/temp_gp3_docs/tutorials/a_getting_started/get_started.html#surfaces) to do this step by step and comprehensibly. |
Dear NilsChudalla , Also, I would like to ask you, when you say that the vertical boreholes are unrestricted, do you mean that based on these corresponding borehole data, according to your gempy algorithm, you can successfully connect them into such a directional trajectory (a directional line)? My research direction is 3D modeling of coal mining, mainly based on the existing borehole data, interpolating each layer of lithology according to your corresponding method (if the amount of data is large enough), and later updating this model based on my subsequent data, I don't know if gempy can be used in my direction, do you think it's possible? |
Hi @xiaohua00921, This also means Gempy does not care if your data follows a borehole trajectory, is randomly somapled over space from outcrops, was picked from a seismic or is fully synthetic - as long as you pass x,y,z coordinates and formation. Does this answer your question? |
Unnamed: 0,0,x,y,name,num,z,year,7,8,9,altitude,base,formation,top,_top_abs,md |
I have a new question about the xyz axis in this data, for example, the point with index 0, this xyz data is completely unchanged, why, after visualization, the point is the z value is changed? (I'll provide you with a graph below) |
Hi @xiaohua00921, |
hi. |
Hi, |
Hi! |
Hi! |
Hi, |
Hi, |
Hi, de la Varga, M., Schaaf, A., and Wellmann, F. (2019). GemPy 1.0: open-source stochastic geological modeling and inversion, Geosci. Model Dev., 12, 1-32. Wellmann, F., & Caumon, G. (2018). 3-D Structural geological models: Concepts, methods, and uncertainties. In Advances in Geophysics (Vol. 59, pp. 1-121). Elsevier. Calcagno, P., Chilès, J. P., Courrioux, G., & Guillen, A. (2008). Geological modelling from field data and geological knowledge: Part I. Modelling method coupling 3D potential-field interpolation and geological rules. Physics of the Earth and Planetary Interiors, 171(1-4), 147-157. Lajaunie, C., Courrioux, G., & Manuel, L. (1997). Foliation fields and 3D cartography in geology: principles of a method based on potential interpolation. Mathematical Geology, 29(4), 571-584. If you are interested in the code, it is located in the gempy-core repositpry. |
Doesn't gempy have a lot of interpolation algorithms? |
At the current state gempy only uses universal co-kriging. |
What does it mean in its current state? |
Yes, but maybe in the future we/someone ill develop the code to integrate other interpolation options. |
Okay, I would like to know the accuracy of the generalized synergistic kriging algorithm first are you clear on that? |
I would like to ask again, do you mean subsurface he gives example data with open source gempy source code gives an example on gempy's official website, so? |
Anyway, I'm just getting into this. |
Hi,
Good luck and have fun learning gempy. |
Hi, The reason I asked you about the algorithm is because initially I looked it up. |
So what you're saying is that gempy won't work for my data at all? You said this. |
That is not what I said. Gempy might absolutely work for your problem. But you need to transform your data to a format that gempy can read. |
So now I am just asking you what kind of data format is supported by gempy? I don't know, if you have understood my question so far, if so, please give a useful reply. |
@xiaohua00921 GemPy needs csv files containing interface points (stratrigraphic boundaries) and orientations. You can find sample files from the documentation here. Your data needs to be converted to the same format then if necessary: https://github.com/cgre-aachen/gempy_data/tree/master/data/input_data/getting_started I hope that helps |
I don't understand what this directional data is, in response to this directional drill data that I have, mine is an azimuth and inclination for each point, what specifically is this directional data that you are referring to? |
It is explained in this video roughly around 0:50. You might not have this data availabele from your drilling data, but you can add orientations manually for testing. |
What kind of input?
(*) I asked ChatGPT for help for this and slightly modified the reply and it works:
(**) If you have no orientational information for the surfaces, there are alternatives, but I do not want to cause more confusion now, than there already is. |
Your "directional" data is actually the data source required for surface points, because the inclined borehole contains the locations where the interfaces between layers are found. Do you have any dip measurements of the layers themselves (NOT the borehole) somewhere in 3D? |
In your reply, it means that each stratigraphic sequence must have a direction, where stratigraphic sequence presumably means lithology, do I understand correctly?
|
My stratigraphic sequence aka lithology in space that I interpolated out must be unknown because that's what I need to rely on known borehole data from directional drilling to interpolate out lithology in space, so first you need me to provide an underlying sequence direction, and that's not going to happen. The known data I have is some columns of points in azimuth, dip, xyz and all that. |
This is about understanding gempy now: A SERIES is a stack of surfaces that are behaving similarly. In a geological context, those would have deposited in a similar setting, with tectonic events affecting all surfaces similarly. If an unconformity occured, this would result in a new series. You will have to define at least one series, which contains your surfaces. Orientation data must be given with atleast one data point for one surface in each series. This is, why it is important to start with a simple model and add more surfaces as you go, especially if you are not familiar with the theory behind it.
So you have no logging data of those boreholes, only lithology observed?
I got that. But your "azimuth" and "dip" refers to the inclination of the borehole, if I understood the data you showed correctly. Overall, I feel like you should run the simple GemPy examples. Then you should create a simple model without your real data next. Then, if you understand, what kind of data you require, try to model your region with your data. If you try to skip the previous steps, I am afraid, we will run into more mutual misunderstandings. |
What do you mean by logging data from drilled holes? |
I got that. But your "azimuth" and "dip" refers to the inclination of the borehole, if I understood the data you showed correctly. Yes, your understanding is correct, my azimuth and inclination of each point is again referring to the azimuth and inclination of the points measured at intervals of a few meters while drilling this way, I wonder if you can understand what is being said in this way? |
In geological modelling, you might have additional observations available from borehole logs. Image logs, core data, ... Or maybe outcrop observations. Do you have such data available?
Yes, then I understood correctly. That means, that this "directional data" is not the kind of "orientation data" that gempy needs. I gave you the code to transform the borehole data with dip and azimuth to cartesian coordinates (x,y,z). This way, you can use your data for gempy as surface points. You will have to adapt the example your data and save the dataframe as a csv file.
Stratigraphic sequence does not directly translate to series. Series is surfaces that look similar in their geometry. You can have multiple stratigraphic sequences in a single series. We also talk about that in the gempy youtube series. Important question: Did you start with simple models already or are you only trying to build a model from your data? |
Here again, I reiterate exactly what I mean by the data I have. |
You provided me with this code for the Cartesian coordinate system. |
Let's say the borehole logging data is from 0 to 10 meters and in between is a lithology like coal. |
I didn't start with a simple model, I just wanted to make some changes based on this example to accomplish my needs. |
As to why I used the example, that would be the first thing to ask if you are clear on the example? |
I do know this example and my evaluation of it is, that it requires a solid understanding of gempy, python, and overall programming, because it uses a bunch of other packages. It uses quite advanced code and concepts. Are you a new python user? If you would follow these steps precisely, you will have create a succesful model. In the example, the "directional borehole data" is used to define surface points, not orientation points. Orientations are only introduced here. If you need help transforming your data, this is NOT a gempy issue, as @javoha has correctly pointed out. The example uses functions from this module to read the data and this is not gempy.
I explained, that "stratigraphic sequences" are not the same as "series" in gempy. Gempy can do something like: "series 1" contains surfaces from "stratigraphic sequence 1", "coal seam 1", and "stratigraphic sequence 2" and more, if you want it. This should get clear, if you try to understand the basics of gempy (for example in our videos or other simple examples!). |
I have some knowledge of python and the packages used, and I have run the results, but just so you are clear, the results of this example he is not the results of a directional drill, he is running what could be a 3D modeling of a vertically drilled hole, and it doesn't involve these azimuths and inclinations of the directional drill at all. That's why I came to ask about the data format for directional drilling, once there is a format I can run it out following gempy's various packages and methods. But now is the time to consult you on what this is exactly like, but I have not been able to get a result or an idea for the reason that maybe my understanding is not very clear. |
你好,我觉得可能你搞混了GemPy和subsurface(https://github.com/softwareunderground/subsurface)。 对于您想使用的钻孔数据,在这个例子里(https://docs.gempy.org/examples/real/mik.html#sphx-glr-examples-real-mik-py),需要用subsurface包进行预处理,把钻孔数据转化为GemPy可用的输入数据。具体的用法需要去subsurface的API中查看。 |
你好,方便详细聊一下吗?可以的话,可以加您微信或者qq嘛,您有这方面的研究吗? |
你可以留下邮箱,我把联系方式发过去 |
我等您的邮箱回复。 |
Hello, first of all, I would like to say that I might not be using the best translation software, which could have caused my tone to sound awkward. However, I want to emphasize that I am truly grateful for the time you have taken to help answer my questions, and I absolutely did not intend to come across as rude—this must be a misunderstanding. Secondly, our approach to research is often very goal-oriented, which might reflect some differences in our learning styles. Therefore, I would like to take this opportunity to apologize for anything that might have sounded impolite and to express my sincere gratitude to you. |
Hello, first of all, I would like to say that I might not be using the best translation software, which could have caused my tone to sound awkward. However, I want to emphasize that I am truly grateful for the time you have taken to help answer my questions, and I absolutely did not intend to come across as rude—this must be a misunderstanding. Secondly, our approach to research is often very goal-oriented, which might reflect some differences in our learning styles. Therefore, I would like to take this opportunity to apologize for anything that might have sounded impolite and to express my sincere gratitude to you. |
Hello, first of all, I would like to say that I might not be using the best translation software, which could have caused my tone to sound awkward. However, I want to emphasize that I am truly grateful for the time you have taken to help answer my questions, and I absolutely did not intend to come across as rude—this must be a misunderstanding. Secondly, our approach to research is often very goal-oriented, which might reflect some differences in our learning styles. Therefore, I would like to take this opportunity to apologize for anything that might have sounded impolite and to express my sincere gratitude to you. |
Hi @xiaohua00921, thank you for your message. It got clear, we had some communication issue. That can happen. Maybe, you find a way to use GemPy for your project. I think, we are trying our best, to help the community doing cool stuff with GemPy and that got clear by the activity of several members in this issue. So, also thank you to all of you from my side :) |
What is your question?
Hello, in your example, the unknown model is imported into the drilling data visualization 3D modeling, your data are all vertical drilling data, I wonder if you could provide some data like directional drilling and be able to visualize an example of modeling? Because as you know directional drilling data is oriented by inclination and azimuth.
The text was updated successfully, but these errors were encountered: