Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
14 changes: 11 additions & 3 deletions simpeg_drivers/components/factories/directives_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,16 @@ def save_directives(self):
)
directives_list.append(save_group)

if (
isinstance(save_directive, directives.SaveModelGeoH5)
and not self.params.forward_only
):
save_model_group = directives.SaveLPModelGroup(
self.driver.inversion_mesh.entity,
self.driver.directives.update_irls_directive,
)
directives_list.append(save_model_group)

return directives_list

@property
Expand Down Expand Up @@ -438,9 +448,7 @@ def volume_normalization(val):
kwargs["transforms"] = [
lambda x: x.reshape((-1, 3), order="F"),
lambda x: np.linalg.norm(x, axis=1),
active_cells_map,
inversion_object.permutation.T,
]
] + kwargs["transforms"]

kwargs["label"] = "sensitivities"

Expand Down
18 changes: 17 additions & 1 deletion simpeg_drivers/joint/joint_cross_gradient/driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from itertools import combinations

import numpy as np
from geoh5py.groups.property_group_type import GroupTypeEnum
from geoh5py.shared.utils import fetch_active_workspace
from simpeg import directives, maps
from simpeg.objective_function import ComboObjectiveFunction
Expand Down Expand Up @@ -69,6 +70,8 @@ def validate_create_models(self):
def directives(self):
if getattr(self, "_directives", None) is None and not self.params.forward_only:
with fetch_active_workspace(self.workspace, mode="r+"):
self._directives = DirectivesFactory(self)

directives_list = []
count = 0
for driver in self.drivers:
Expand All @@ -95,6 +98,12 @@ def directives(self):
]

directives_list.append(save_model)
directives_list.append(
directives.SaveLPModelGroup(
driver.inversion_mesh.entity,
self._directives.update_irls_directive,
)
)

if driver_directives.vector_inversion_directive is not None:
directives_list.append(
Expand Down Expand Up @@ -137,11 +146,18 @@ def directives(self):
directives_list.append(
directives.SavePropertyGroup(
self.inversion_mesh.entity,
group_type=GroupTypeEnum.DIPDIR,
channels=["declination", "inclination"],
)
)

self._directives = DirectivesFactory(self)
directives_list.append(
directives.SaveLPModelGroup(
self.inversion_mesh.entity,
self._directives.update_irls_directive,
)
)

directives_list.append(self._directives.save_iteration_log_files)
self._directives.directive_list = (
self._directives.inversion_directives + directives_list
Expand Down
16 changes: 15 additions & 1 deletion simpeg_drivers/joint/joint_surveys/driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import numpy as np
from geoh5py.shared.utils import fetch_active_workspace
from simpeg import maps
from simpeg.directives import SaveLPModelGroup

from simpeg_drivers.components.factories import DirectivesFactory, SaveModelGeoh5Factory
from simpeg_drivers.joint.driver import BaseJointDriver
Expand Down Expand Up @@ -88,6 +89,7 @@ def wires(self):
@property
def directives(self):
if getattr(self, "_directives", None) is None and not self.params.forward_only:
self._directives = DirectivesFactory(self)
with fetch_active_workspace(self.workspace, mode="r+"):
directives_list = []
count = 0
Expand All @@ -104,6 +106,12 @@ def directives(self):
]

directives_list.append(save_model)
directives_list.append(
SaveLPModelGroup(
driver.inversion_mesh.entity,
self._directives.update_irls_directive,
)
)

if driver_directives.save_property_group is not None:
directives_list.append(driver_directives.save_property_group)
Expand Down Expand Up @@ -132,7 +140,13 @@ def directives(self):
name="Model",
)

self._directives = DirectivesFactory(self)
directives_list.append(
SaveLPModelGroup(
self.inversion_mesh.entity,
self._directives.update_irls_directive,
)
)

if self._directives.save_property_group is not None:
directives_list.append(self._directives.save_property_group)

Expand Down
Loading