Skip to content

Commit 87fbd89

Browse files
authored
Merge pull request #153 from MiraGeoscience/GEOPY-2032
GEOPY-2032: Cleanup constant files and data classes
2 parents 8a0cc67 + 27e50e7 commit 87fbd89

17 files changed

Lines changed: 21 additions & 2231 deletions

File tree

simpeg_drivers/driver.py

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ def out_group(self):
277277

278278
self._out_group = SimPEGGroup.create(self.params.geoh5, name=name)
279279
self.params.out_group = self._out_group
280-
self.params.update_group_options()
280+
self.params.update_out_group_options()
281281

282282
return self._out_group
283283

@@ -505,25 +505,33 @@ def start(cls, filepath: str | Path, driver_class=None):
505505
forward_only = ifile.data["forward_only"]
506506
inversion_type = ifile.ui_json.get("inversion_type", None)
507507

508-
driver_name = (inversion_type + "driver").capitalize()
509-
if inversion_type not in DRIVER_MAP:
510-
msg = f"Inversion type {inversion_type} is not supported."
508+
driver_class = cls.driver_class_from_name(
509+
inversion_type, forward_only=forward_only
510+
)
511+
512+
with ifile.data["geoh5"].open(mode="r+"):
513+
params = driver_class._params_class.build(ifile)
514+
driver = driver_class(params)
515+
516+
driver.run()
517+
return driver
518+
519+
@staticmethod
520+
def driver_class_from_name(
521+
name: str, forward_only: bool = False
522+
) -> InversionDriver:
523+
if name not in DRIVER_MAP:
524+
msg = f"Inversion type {name} is not supported."
511525
msg += f" Valid inversions are: {(*list(DRIVER_MAP),)}."
512526
raise NotImplementedError(msg)
513527

514-
mod_name, classes = DRIVER_MAP.get(inversion_type)
528+
mod_name, classes = DRIVER_MAP.get(name)
515529
if forward_only:
516530
class_name = classes.get("forward", classes["inversion"])
517531
else:
518532
class_name = classes.get("inversion")
519533
module = __import__(mod_name, fromlist=[class_name])
520-
driver_class = getattr(module, class_name)
521-
with ifile.data["geoh5"].open(mode="r+"):
522-
params = driver_class._params_class.build(ifile)
523-
driver = driver_class(params)
524-
525-
driver.run()
526-
return driver
534+
return getattr(module, class_name)
527535

528536

529537
class InversionLogger:

simpeg_drivers/electricals/direct_current/pseudo_three_dimensions/constants.py

Lines changed: 0 additions & 155 deletions
This file was deleted.

simpeg_drivers/electricals/direct_current/three_dimensions/constants.py

Lines changed: 0 additions & 144 deletions
This file was deleted.

0 commit comments

Comments
 (0)