Skip to content

Commit 91ca0f8

Browse files
committed
Add SaveLPModelGRoup to list of directives
1 parent 2ce81d3 commit 91ca0f8

3 files changed

Lines changed: 43 additions & 5 deletions

File tree

simpeg_drivers/components/factories/directives_factory.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,16 @@ def save_directives(self):
131131
)
132132
directives_list.append(save_group)
133133

134+
if (
135+
isinstance(save_directive, directives.SaveModelGeoH5)
136+
and not self.params.forward_only
137+
):
138+
save_model_group = directives.SaveLPModelGroup(
139+
self.driver.inversion_mesh.entity,
140+
self.driver.directives.update_irls_directive,
141+
)
142+
directives_list.append(save_model_group)
143+
134144
return directives_list
135145

136146
@property
@@ -438,9 +448,7 @@ def volume_normalization(val):
438448
kwargs["transforms"] = [
439449
lambda x: x.reshape((-1, 3), order="F"),
440450
lambda x: np.linalg.norm(x, axis=1),
441-
active_cells_map,
442-
inversion_object.permutation.T,
443-
]
451+
] + kwargs["transforms"]
444452

445453
kwargs["label"] = "sensitivities"
446454

simpeg_drivers/joint/joint_cross_gradient/driver.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from itertools import combinations
1717

1818
import numpy as np
19+
from geoh5py.groups.property_group_type import GroupTypeEnum
1920
from geoh5py.shared.utils import fetch_active_workspace
2021
from simpeg import directives, maps
2122
from simpeg.objective_function import ComboObjectiveFunction
@@ -69,6 +70,8 @@ def validate_create_models(self):
6970
def directives(self):
7071
if getattr(self, "_directives", None) is None and not self.params.forward_only:
7172
with fetch_active_workspace(self.workspace, mode="r+"):
73+
self._directives = DirectivesFactory(self)
74+
7275
directives_list = []
7376
count = 0
7477
for driver in self.drivers:
@@ -95,6 +98,12 @@ def directives(self):
9598
]
9699

97100
directives_list.append(save_model)
101+
directives_list.append(
102+
directives.SaveLPModelGroup(
103+
driver.inversion_mesh.entity,
104+
self._directives.update_irls_directive,
105+
)
106+
)
98107

99108
if driver_directives.vector_inversion_directive is not None:
100109
directives_list.append(
@@ -137,11 +146,18 @@ def directives(self):
137146
directives_list.append(
138147
directives.SavePropertyGroup(
139148
self.inversion_mesh.entity,
149+
group_type=GroupTypeEnum.DIPDIR,
140150
channels=["declination", "inclination"],
141151
)
142152
)
143153

144-
self._directives = DirectivesFactory(self)
154+
directives_list.append(
155+
directives.SaveLPModelGroup(
156+
self.inversion_mesh.entity,
157+
self._directives.update_irls_directive,
158+
)
159+
)
160+
145161
directives_list.append(self._directives.save_iteration_log_files)
146162
self._directives.directive_list = (
147163
self._directives.inversion_directives + directives_list

simpeg_drivers/joint/joint_surveys/driver.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import numpy as np
1717
from geoh5py.shared.utils import fetch_active_workspace
1818
from simpeg import maps
19+
from simpeg.directives import SaveLPModelGroup
1920

2021
from simpeg_drivers.components.factories import DirectivesFactory, SaveModelGeoh5Factory
2122
from simpeg_drivers.joint.driver import BaseJointDriver
@@ -88,6 +89,7 @@ def wires(self):
8889
@property
8990
def directives(self):
9091
if getattr(self, "_directives", None) is None and not self.params.forward_only:
92+
self._directives = DirectivesFactory(self)
9193
with fetch_active_workspace(self.workspace, mode="r+"):
9294
directives_list = []
9395
count = 0
@@ -104,6 +106,12 @@ def directives(self):
104106
]
105107

106108
directives_list.append(save_model)
109+
directives_list.append(
110+
SaveLPModelGroup(
111+
driver.inversion_mesh.entity,
112+
self._directives.update_irls_directive,
113+
)
114+
)
107115

108116
if driver_directives.save_property_group is not None:
109117
directives_list.append(driver_directives.save_property_group)
@@ -132,7 +140,13 @@ def directives(self):
132140
name="Model",
133141
)
134142

135-
self._directives = DirectivesFactory(self)
143+
directives_list.append(
144+
SaveLPModelGroup(
145+
self.inversion_mesh.entity,
146+
self._directives.update_irls_directive,
147+
)
148+
)
149+
136150
if self._directives.save_property_group is not None:
137151
directives_list.append(self._directives.save_property_group)
138152

0 commit comments

Comments
 (0)