@@ -133,9 +133,7 @@ def __init__(
133133 # we want to rescale the model area so that the maximum length is
134134 # 1
135135 self .origin = np .array (origin ).astype (float )
136- originstr = "Model origin: {} {} {}" .format (
137- self .origin [0 ], self .origin [1 ], self .origin [2 ]
138- )
136+ originstr = f"Model origin: { self .origin [0 ]} { self .origin [1 ]} { self .origin [2 ]} "
139137 logger .info (originstr )
140138 self .maximum = np .array (maximum ).astype (float )
141139 maximumstr = "Model maximum: {} {} {}" .format (
@@ -206,7 +204,7 @@ def from_map2loop_directory(
206204 use_thickness = True ,
207205 vector_scale = 1 ,
208206 gradient = False ,
209- ** kwargs
207+ ** kwargs ,
210208 ):
211209 """Alternate constructor for a geological model using m2l output
212210
@@ -263,14 +261,12 @@ def from_processor(cls, processor):
263261 model .create_and_add_fault (
264262 i ,
265263 ** processor .fault_properties .to_dict ("index" )[i ],
266- faultfunction = "BaseFault"
264+ faultfunction = "BaseFault" ,
267265 )
268266 for edge , properties in processor .fault_network .fault_edge_properties .items ():
269267 if model [edge [1 ]] is None or model [edge [0 ]] is None :
270268 logger .warning (
271- "cannot add splay {} or {} are not in the model" .format (
272- edge [1 ], edge [0 ]
273- )
269+ f"Cannot add splay { edge [1 ]} or { edge [0 ]} are not in the model"
274270 )
275271 continue
276272 splay = False
@@ -338,7 +334,7 @@ def from_file(cls, file):
338334 logger .info ("GeologicalModel initialised from file" )
339335 return model
340336 else :
341- logger .error ("{ } does not contain a geological model". format ( file ) )
337+ logger .error (f" { file } does not contain a geological model" )
342338 return None
343339
344340 def __getitem__ (self , feature_name ):
@@ -416,7 +412,7 @@ def to_file(self, file):
416412 )
417413 return
418414 try :
419- logger .info ("Writing GeologicalModel to: {}" . format ( file ) )
415+ logger .info (f "Writing GeologicalModel to: { file } " )
420416 pickle .dump (self , open (file , "wb" ))
421417 except pickle .PicklingError :
422418 logger .error ("Error saving file" )
@@ -434,15 +430,14 @@ def _add_feature(self, feature):
434430
435431 if feature .name in self .feature_name_index :
436432 logger .info (
437- "Feature %s already exists at %i, overwriting"
438- % (feature .name , self .feature_name_index [feature .name ])
433+ f"Feature { feature .name } already exists at { self .feature_name_index [feature .name ]} , overwriting"
439434 )
440435 self .features [self .feature_name_index [feature .name ]] = feature
441436 else :
442437 self .features .append (feature )
443438 self .feature_name_index [feature .name ] = len (self .features ) - 1
444439 logger .info (
445- "Adding %s to model at location %i" % ( feature . name , len (self .features ))
440+ f "Adding { feature . name } to model at location { len (self .features )} "
446441 )
447442 self ._add_domain_fault_above (feature )
448443 self ._add_unconformity_above (feature )
@@ -486,9 +481,7 @@ def data(self, data):
486481 except :
487482 logger .error ("Could not load pandas data frame from data" )
488483 raise BaseException ("Cannot load data" )
489- logger .info (
490- "Adding data to GeologicalModel with {} data points" .format (len (data ))
491- )
484+ logger .info (f"Adding data to GeologicalModel with { len (data )} data points" )
492485 self ._data = data .copy ()
493486 self ._data ["X" ] -= self .origin [0 ]
494487 self ._data ["Y" ] -= self .origin [1 ]
@@ -626,7 +619,7 @@ def get_interpolator(
626619 nelements = 1e4 ,
627620 buffer = 0.2 ,
628621 element_volume = None ,
629- ** kwargs
622+ ** kwargs ,
630623 ):
631624 """
632625 Returns an interpolator given the arguments, also constructs a
@@ -673,15 +666,13 @@ def get_interpolator(
673666 for i in range (3 ):
674667 if nsteps [i ] < 3 :
675668 logger .error (
676- "Number of steps in direction {} is too small, try increasing nelements" .format (
677- axis_labels [i ]
678- )
669+ f"Number of steps in direction { axis_labels [i ]} is too small, try increasing nelements"
679670 )
680671 logger .error ("Cannot create interpolator: number of steps is too small" )
681672 raise ValueError ("Number of steps too small cannot create interpolator" )
682673 # create a structured grid using the origin and number of steps
683674 if self .reuse_supports :
684- mesh_id = "mesh_{}" . format ( nelements )
675+ mesh_id = f "mesh_{ nelements } "
685676 mesh = self .support .get (
686677 mesh_id ,
687678 TetMesh (origin = bb [0 , :], nsteps = nsteps , step_vector = step_vector ),
@@ -696,8 +687,8 @@ def get_interpolator(
696687 origin = bb [0 , :], nsteps = nsteps , step_vector = step_vector
697688 )
698689 logger .info (
699- "Creating regular tetrahedron mesh with %i elements \n "
700- "for modelling using PLI" % ( mesh . ntetra )
690+ f "Creating regular tetrahedron mesh with { mesh . ntetra } elements \n "
691+ "for modelling using PLI"
701692 )
702693
703694 return PLI (mesh )
@@ -718,9 +709,7 @@ def get_interpolator(
718709 for i in range (3 ):
719710 if nsteps [i ] < 3 :
720711 logger .error (
721- "Number of steps in direction {} is too small, try increasing nelements" .format (
722- axis_labels [i ]
723- )
712+ f"Number of steps in direction { axis_labels [i ]} is too small, try increasing nelements"
724713 )
725714 raise ValueError ("Number of steps too small cannot create interpolator" )
726715 # create a structured grid using the origin and number of steps
@@ -739,8 +728,8 @@ def get_interpolator(
739728 origin = bb [0 , :], nsteps = nsteps , step_vector = step_vector
740729 )
741730 logger .info (
742- "Creating regular grid with %i elements \n "
743- "for modelling using FDI" % grid . n_elements
731+ f "Creating regular grid with { grid . n_elements } elements \n "
732+ "for modelling using FDI"
744733 )
745734 return FDI (grid )
746735
@@ -762,8 +751,8 @@ def get_interpolator(
762751 TetMesh (origin = bb [0 , :], nsteps = nsteps , step_vector = step_vector ),
763752 )
764753 logger .info (
765- "Creating regular tetrahedron mesh with %i elements \n "
766- "for modelling using DFI" % mesh . ntetra
754+ f "Creating regular tetrahedron mesh with { mesh . ntetra } elements \n "
755+ "for modelling using DFI"
767756 )
768757 return DFI (mesh , kwargs ["fold" ])
769758 if interpolatortype == "Surfe" or interpolatortype == "surfe" :
@@ -816,7 +805,7 @@ def create_and_add_foliation(
816805 # add data
817806 series_data = self .data [self .data ["feature_name" ] == series_surface_data ]
818807 if series_data .shape [0 ] == 0 :
819- logger .warning ("No data for %s , skipping" % series_surface_data )
808+ logger .warning ("No data for {series_surface_data} , skipping" )
820809 return
821810 series_builder .add_data_from_data_frame (series_data )
822811 self ._add_faults (series_builder , features = faults )
@@ -857,7 +846,7 @@ def create_and_add_dtm(self, series_surface_data, **kwargs):
857846 # add data
858847 series_data = self .data [self .data ["feature_name" ] == series_surface_data ]
859848 if series_data .shape [0 ] == 0 :
860- logger .warning ("No data for %s , skipping" % series_surface_data )
849+ logger .warning ("No data for {series_surface_data} , skipping" )
861850 return
862851 series_builder .add_data_from_data_frame (series_data )
863852 # self._add_faults(series_builder)
@@ -953,7 +942,7 @@ def create_and_add_folded_foliation(
953942 logger .info ("Using last feature as fold frame" )
954943 fold_frame = self .features [- 1 ]
955944 assert type (fold_frame ) == FoldFrame , "Please specify a FoldFrame"
956- fold = FoldEvent (fold_frame , name = "Fold_{}" . format ( foliation_data ) )
945+ fold = FoldEvent (fold_frame , name = f "Fold_{ foliation_data } " )
957946 fold_interpolator = self .get_interpolator ("DFI" , fold = fold , ** kwargs )
958947 if "fold_weights" not in kwargs :
959948 kwargs ["fold_weights" ] = {}
@@ -1019,7 +1008,7 @@ def create_and_add_folded_fold_frame(
10191008 logger .info ("Using last feature as fold frame" )
10201009 fold_frame = self .features [- 1 ]
10211010 assert type (fold_frame ) == FoldFrame , "Please specify a FoldFrame"
1022- fold = FoldEvent (fold_frame , name = "Fold_{}" . format ( fold_frame_data ) )
1011+ fold = FoldEvent (fold_frame , name = f "Fold_{ fold_frame_data } " )
10231012 fold_interpolator = self .get_interpolator ("DFI" , fold = fold , ** kwargs )
10241013 gy_fold_interpolator = self .get_interpolator ("DFI" , fold = fold , ** kwargs )
10251014
@@ -1034,7 +1023,7 @@ def create_and_add_folded_fold_frame(
10341023 name = fold_frame_data ,
10351024 fold = fold ,
10361025 frame = FoldFrame ,
1037- ** kwargs
1026+ ** kwargs ,
10381027 )
10391028 fold_frame_builder .add_data_from_data_frame (
10401029 self .data [self .data ["feature_name" ] == fold_frame_data ]
@@ -1325,7 +1314,7 @@ def create_and_add_fault(
13251314 minor_axis = None ,
13261315 intermediate_axis = None ,
13271316 faultfunction = "BaseFault" ,
1328- ** kwargs
1317+ ** kwargs ,
13291318 ):
13301319 """
13311320 Parameters
@@ -1367,9 +1356,8 @@ def create_and_add_fault(
13671356 logger .error (
13681357 "Change interpolator to a discrete interpolation algorithm FDI/PLI"
13691358 )
1370- raise InterpolatorError (
1371- "Faults not supported for {}" .format (kwargs ["interpolatortype" ])
1372- )
1359+ interpolatortype = kwargs ["interpolatortype" ]
1360+ raise InterpolatorError (f"Faults not supported for { interpolatortype } " )
13731361 fault_frame_builder = FaultBuilder (
13741362 interpolator , name = fault_surface_data , model = self , ** kwargs
13751363 )
@@ -1460,9 +1448,7 @@ def create_and_add_fault(
14601448 # fault_frame_builder.maximum = self.bounding_box[1,:]
14611449 if "force_mesh_geometry" not in kwargs :
14621450
1463- fault_frame_builder .set_mesh_geometry (
1464- kwargs .get ("fault_buffer" , 0.2 ), 0
1465- )
1451+ fault_frame_builder .set_mesh_geometry (kwargs .get ("fault_buffer" , 0.2 ), 0 )
14661452 if "splay" in kwargs and "splayregion" in kwargs :
14671453 fault_frame_builder .add_splay (kwargs ["splay" ], kwargs ["splayregion" ])
14681454
@@ -1474,7 +1460,7 @@ def create_and_add_fault(
14741460 fault_frame ,
14751461 displacement = displacement_scaled ,
14761462 faultfunction = faultfunction ,
1477- ** kwargs
1463+ ** kwargs ,
14781464 )
14791465 fault .builder = fault_frame_builder
14801466 for f in reversed (self .features ):
@@ -1631,7 +1617,7 @@ def evaluate_model(self, xyz, scale=True):
16311617 )
16321618 ] = series ["id" ]
16331619 if feature_id == - 1 :
1634- logger .error ("Model does not contain {}" . format ( group ) )
1620+ logger .error (f "Model does not contain { group } " )
16351621 return strat_id
16361622
16371623 def evaluate_fault_displacements (self , points , scale = True ):
@@ -1682,7 +1668,7 @@ def get_feature_by_name(self, feature_name):
16821668 if feature_index > - 1 :
16831669 return self .features [feature_index ]
16841670 else :
1685- logger .error ("{ } does not exist!". format ( feature_name ) )
1671+ logger .error (f" { feature_name } does not exist!" )
16861672 return None
16871673
16881674 def evaluate_feature_value (self , feature_name , xyz , scale = True ):
@@ -1772,10 +1758,7 @@ def update(self, verbose=False, progressbar=True):
17721758 total_dof += f .interpolator .nx
17731759 if verbose == True :
17741760 print (
1775- "Updating geological model. There are: \n "
1776- "{} geological features that need to be interpolated\n " .format (
1777- nfeatures
1778- )
1761+ f"Updating geological model. There are: \n { nfeatures } geological features that need to be interpolated\n "
17791762 )
17801763
17811764 from tqdm .auto import tqdm
@@ -1788,8 +1771,8 @@ def update(self, verbose=False, progressbar=True):
17881771 with tqdm (total = nfeatures ) as pbar :
17891772 buf = 0
17901773 for f in self .features :
1791- pbar .set_description ("Interpolating {}" . format ( f .name ) )
1774+ pbar .set_description (f "Interpolating { f .name } " )
17921775 f .builder .up_to_date (callback = pbar .update )
17931776
17941777 if verbose :
1795- print ("Model update took: {} seconds" . format ( time .time () - start ) )
1778+ print (f "Model update took: { time .time ()- start } seconds" )
0 commit comments