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.html
Error 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'
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
Error 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'