@@ -120,21 +120,24 @@ def update_fault_points(
120120 # sample fault trace
121121 self .faults .clear () # Clear existing faults
122122 fault_points = sampler (fault_trace , self .dem_function , use_z_coordinate )
123+ cols = ['X' , 'Y' , 'Z' ]
123124 if fault_name_field is not None and fault_name_field in fault_points .columns :
124125 fault_points ['fault_name' ] = fault_points [fault_name_field ]
125126 else :
126127 fault_points ['fault_name' ] = fault_points ['feature_id' ].astype (str )
127128 if fault_dip_field is not None and fault_dip_field in fault_points .columns :
128129 fault_points ['dip' ] = fault_points [fault_dip_field ]
130+ cols .append ('dip' )
129131 if (
130132 fault_displacement_field is not None
131133 and fault_displacement_field in fault_points .columns
132134 ):
133135 fault_points ['displacement' ] = fault_points [fault_displacement_field ]
136+ cols .append ('displacement' )
134137 existing_faults = set (self .fault_topology .faults )
135138 for fault_name in fault_points ['fault_name' ].unique ():
136139 self .faults [fault_name ]['data' ] = fault_points .loc [
137- fault_points ['fault_name' ] == fault_name , [ 'X' , 'Y' , 'Z' ]
140+ fault_points ['fault_name' ] == fault_name , cols
138141 ]
139142 if fault_name not in existing_faults :
140143 self .fault_topology .add_fault (fault_name )
@@ -260,7 +263,28 @@ def update_fault_features(self):
260263 data ['val' ] = 0
261264 # need to have a way of specifying the displacement from the trace
262265 # or maybe the model should calculate it
263- self .model .create_and_add_fault (fault_name , displacement = 10 , fault_data = data )
266+ if 'displacement' in fault_data ['data' ]:
267+ displacement = fault_data ['data' ]['displacement' ].mean ()
268+ else :
269+ displacement = 10
270+ if 'dip' in fault_data ['data' ]:
271+ dip = fault_data ['data' ]['dip' ].mean ()
272+ else :
273+ dip = 90
274+ print (f"Fault { fault_name } dip: { dip } " )
275+
276+ if 'pitch' in fault_data ['data' ]:
277+ pitch = fault_data ['data' ]['pitch' ].mean ()
278+ else :
279+ pitch = 0
280+
281+ self .model .create_and_add_fault (
282+ fault_name ,
283+ displacement = displacement ,
284+ fault_dip = dip ,
285+ fault_pitch = pitch ,
286+ fault_data = data ,
287+ )
264288 print ("Faults in model:" )
265289 for f in self .fault_topology .faults :
266290 print (f"Fault { f } relationships:" )
0 commit comments