-
Notifications
You must be signed in to change notification settings - Fork 14
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
Question: How to add a fault in Resqml model with grid. #808
Comments
@andy-beer I would to add a fault in epc model with grid and one single property. Could help me to find a solution for the error? |
"I have a problem with create_reciprocal_relationship" Hello, The
|
Hi @andy-beer, thanks for your help. I did the change, there is no error again. But I can't see the fault when I import the EPC File in petrel. I see the grid with the property. Do have some examples (code with resqpy) on how to add a fault in epc model with grid and a property ?? Kind regards, |
Hi @andy-beer, thanks for your help. I did the change, there is no error again. But I can't see the fault when I import the EPC File in petrel. I see the grid with the property. Do have some examples (code with resqpy) on how to add a fault in epc model with grid and a property ?? Kind regards, |
Hi @emmanesbit and @cflynn3 , I hope you're well !!! Please, do you have some examples (code with resqpy) on adding a fault in epc model with grid and a property ?? Kind regards, |
Hi @AbdrahamaneBerete. Thanks for reaching out. Looking at your post above, I wonder if the issue might be around Petrel RESQML import capability, rather than anything missing in your code. In the Petrel version I am using, Petrel is able to import RESQML grids and associated properties, but does not import many other object types (though I am able to import these objects in other packages). I can't say for sure whether this is the same for your data, but if you have the option to load into other RESQML-enabled software, it might be worth a check. |
Hi @emmanesbit , thanks for your answer. I tried to import some original EPC file with fault in my Petrel version and I can see the fault. The fault folder in the model is activated. have you tried to generate an EPC file with fault ?? |
Hello @AbdrahamaneBerete, So, there are various classes of RESQML objects that have to do with geological faults, including:
Your code as it stands does not work on those last two points. As your grid has a regular geometry, I will assume that you do not want to represent the fault with a throw by explicit (irregular) geometry, so I won't comment more on the last point here. To get a grid connection set, you can use functions in the resqpy That function (which is computationally intensive) will be much more efficient if it 'knows' that your grid is a One other small point: your 'soft' relationship between the fault surface and the interpretation might not be recognised by all software. That particular relationship can be embedded in the main xml for the surface (which is better) by:
Those enhancements should improve your RESQML dataset. However, Petrel only has very limited RESQML import capabilitiies. As a personal comment, I recommend you don't use Petrel. |
Thank you so much @andy-beer. |
I will try to follow your instructions. @andy-beer Please , I have two more questions:
Kind regards, |
Hi @andy-beer , I've followed your instructions with this code below: def save_grid_to_resqml1(x, y, z, properties, fault_data, resqml_file_path):
I've visualized the generated EPC file in ResQML editor tool : I have this error with GridConnection set object : !ENTRY EPC.editor 2 0 2024-08-08 14:32:20.718 |
Hello, I'm trying to add a fault epc model with grid and one single. Here is my code:
def save_grid_to_resqml(x, y, z, properties, fault_data, resqml_file_path):
"""
Saves a grid with fault and additional properties to RESQML format using resqpy.
"""
model = rq.Model(epc_file=resqml_file_path, new_epc=True, create_basics=True, create_hdf5_ext=True)
I have a problem with create_reciprocal_relationship: PS C:\Users\ABerete\Documents\code\3DGeoContext.Computation.Utils> & c:/Users/ABerete/Documents/code/3DGeoContext.Computation.Utils/.venv/Scripts/python.exe c:/Users/ABerete/Documents/code/3DGeoContext.Computation.Utils/mss3_utils/scripting/adding_fault_resqml_.py
Traceback (most recent call last):
File "c:\Users\ABerete\Documents\code\3DGeoContext.Computation.Utils\mss3_utils\scripting\adding_fault_resqml_.py", line 142, in
main(input_file_path, fault_file_path, resqml_file_path)
File "c:\Users\ABerete\Documents\code\3DGeoContext.Computation.Utils\mss3_utils\scripting\adding_fault_resqml_.py", line 135, in main
model, grid = save_grid_to_resqml(x, y, z, properties, fault_data, resqml_file_path)
File "c:\Users\ABerete\Documents\code\3DGeoContext.Computation.Utils\mss3_utils\scripting\adding_fault_resqml_.py", line 121, in save_grid_to_resqml
model.create_reciprocal_relationship(fault_interp, 'destinationObject', fault_surface, 'sourceObject')
File "C:\Users\ABerete\Documents\code\3DGeoContext.Computation.Utils.venv\lib\site-packages\resqpy\model_model.py", line 1867, in create_reciprocal_relationship
return m_x._create_reciprocal_relationship(self,
File "C:\Users\ABerete\Documents\code\3DGeoContext.Computation.Utils.venv\lib\site-packages\resqpy\model_xml.py", line 555, in _create_reciprocal_relationship
uuid_a = node_a.attrib['uuid']
AttributeError: 'FaultInterpretation' object has no attribute 'attrib'
The text was updated successfully, but these errors were encountered: