Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions simpeg_drivers/components/factories/directives_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,25 @@ def __init__(self, driver: InversionDriver):
self._save_iteration_apparent_resistivity_directive = None
self._scale_misfits = None

@staticmethod
def configure_save_directives(directives_list):
"""
Find all SaveGeoH5 directives in the list and set their open_geoh5 and
close_geoh5 flags such that the first and last directive handles the
opening and closing of the target geoh5.

:param directives_list: List of directives to configure.
"""
save_dirs = []
for directive in directives_list:
if isinstance(directive, directives.BaseSaveGeoH5):
directive.close_geoh5 = False
directive.open_geoh5 = False
save_dirs.append(directive)

save_dirs[0].open_geoh5 = True
save_dirs[-1].close_geoh5 = True

@property
def beta_estimate_by_eigenvalues_directive(self):
""""""
Expand All @@ -79,6 +98,8 @@ def directive_list(self):
else:
self._directive_list = self.save_directives

self.configure_save_directives(self._directive_list)

return self._directive_list

@directive_list.setter
Expand Down
5 changes: 5 additions & 0 deletions simpeg_drivers/joint/driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,11 @@ def directives(self):
self._directives.directive_list = (
self._directives.inversion_directives + directives_list
)

DirectivesFactory.configure_save_directives(
self._directives.directive_list
)

return self._directives

@property
Expand Down
5 changes: 5 additions & 0 deletions simpeg_drivers/joint/joint_petrophysics/driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,11 @@ def directives(self):
self._directives.directive_list = (
self._directives.inversion_directives + directives_list
)

DirectivesFactory.configure_save_directives(
self._directives.directive_list
)

return self._directives

def get_regularization(self):
Expand Down