-
Notifications
You must be signed in to change notification settings - Fork 49
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe your issue
Working with LoopStructural v1.6.16, I get the AttributeError: 'NoneType' object has no attribute 'copy'
when running the provided example notebook (3b. Modelling a fault network in LoopStructural)
Minimal reproducing code example
https://loop3d.org/LoopStructural/_auto_examples/3_fault/fault_network.htmlError message
WARNING: 2025-08-01 10:22:18,254: process_data.py:136 -- No stratigraphic order provided
WARNING: 2025-08-01 10:22:18,279: process_data.py:361 -- Fault displacement not provided, setting to 0.
This will result in only a fault surface, no displacement on older features
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In[5], line 10
1 processor = ProcessInputData(
2 fault_orientations=ori,
3 fault_locations=df,
(...)
7 fault_edge_properties=[{"angle": 10}],
8 )
---> 10 model = GeologicalModel.from_processor(processor)
11 model.update()
13 view = Loop3DView(model)
File ~\Anaconda3\envs\loop2025\lib\site-packages\LoopStructural\modelling\core\geological_model.py:238, in GeologicalModel.from_processor(cls, processor)
236 logger.info("Creating model from processor")
237 model = GeologicalModel(processor.origin, processor.maximum)
--> 238 model.data = processor.data
239 if processor.fault_properties is not None:
240 for i in processor.fault_network.faults:
File ~\Anaconda3\envs\loop2025\lib\site-packages\LoopStructural\modelling\input\process_data.py:401, in ProcessInputData.data(self)
397 """This is the main function that does all the work, should be called
398 before any of the calculated attributes are accessed
399 """
400 dataframes = []
--> 401 if self.contacts is not None:
402 dataframes.append(self.contacts)
403 if self.contact_orientations is not None:
File ~\Anaconda3\envs\loop2025\lib\site-packages\LoopStructural\modelling\input\process_data.py:489, in ProcessInputData.contacts(self)
487 @property
488 def contacts(self):
--> 489 contacts = self._contacts.copy()
490 if self._use_thickness:
491 contacts["val"] = np.nan
AttributeError: 'NoneType' object has no attribute 'copy'Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working