Skip to content

Commit 20588c5

Browse files
author
Lachlan Grose
committed
chore: updating string formatting to f string
1 parent 33722f6 commit 20588c5

File tree

12 files changed

+85
-122
lines changed

12 files changed

+85
-122
lines changed

LoopStructural/modelling/core/geological_model.py

Lines changed: 34 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -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")

LoopStructural/modelling/fault/fault_builder.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def __init__(
1313
interpolators=None,
1414
model=None,
1515
fault_bounding_box_buffer=0.2,
16-
**kwargs
16+
**kwargs,
1717
):
1818
"""A specialised structural frame builder for building a fault
1919
@@ -31,9 +31,9 @@ def __init__(
3131
"""
3232

3333
StructuralFrameBuilder.__init__(self, interpolator, interpolators, **kwargs)
34-
self.model = model
35-
self.origin = np.zeros(3)#self.model.bounding_box[0, :]
36-
self.maximum = np.zeros(3)#self.model.bounding_box[1, :]
34+
self.model = model
35+
self.origin = np.zeros(3) # self.model.bounding_box[0, :]
36+
self.maximum = np.zeros(3) # self.model.bounding_box[1, :]
3737
# define a maximum area to mesh adding buffer to model
3838
# buffer = .2
3939
self.minimum_origin = self.model.bounding_box[
@@ -217,7 +217,7 @@ def create_data_from_geometry(
217217
1,
218218
w,
219219
]
220-
220+
221221
self.update_geometry(fault_depth)
222222
# TODO need to add data here
223223

LoopStructural/modelling/features/analytical_feature.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ def evaluate_value(self, xyz):
5151
xyz2 = np.zeros(xyz.shape)
5252

5353
for f in self.faults:
54-
print("applying fault")
5554
xyz2[:] = f.apply_to_points(xyz)
5655
xyz2[:] = self.model.rescale(xyz2, inplace=False)
5756
xyz2[:] = xyz2 - self.origin

LoopStructural/modelling/features/geological_feature.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def evaluate_value(self, evaluation_points):
154154
for f in self.faults:
155155
evaluation_points = f.apply_to_points(evaluation_points)
156156
if mask.dtype not in [int, bool]:
157-
logger.error("Unable to evaluate value for {}".format(self.name))
157+
logger.error(f"Unable to evaluate value for {self.name}")
158158
else:
159159
v[mask] = self.interpolator.evaluate_value(evaluation_points[mask, :])
160160
return v
@@ -187,7 +187,7 @@ def evaluate_gradient(self, evaluation_points):
187187
for f in self.faults:
188188
evaluation_points = f.apply_to_points(evaluation_points)
189189
if mask.dtype not in [int, bool]:
190-
logger.error("Unable to evaluate gradient for {}".format(self.name))
190+
logger.error(f"Unable to evaluate gradient for {self.name}")
191191
else:
192192
v[mask, :] = self.interpolator.evaluate_gradient(evaluation_points[mask, :])
193193

0 commit comments

Comments
 (0)