Skip to content

Commit 1cf8dc3

Browse files
committed
alias plate_property and overburden_property
1 parent 6160b7f commit 1cf8dc3

6 files changed

Lines changed: 44 additions & 38 deletions

File tree

simpeg_drivers/plate_simulation/driver.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -131,17 +131,17 @@ def plates(self) -> list[Plate]:
131131
"""Generate sequence of plates."""
132132
if self._plates is None:
133133
offset = (
134-
self.params.model.overburden.thickness
135-
if self.params.model.plate.reference_surface == "overburden"
134+
self.params.model.overburden_options.thickness
135+
if self.params.model.plate_options.reference_surface == "overburden"
136136
else 0.0
137137
)
138-
center = self.params.model.plate.center(
138+
center = self.params.model.plate_options.center(
139139
self.survey,
140140
self.topography,
141141
depth_offset=-1 * offset,
142142
)
143143
plate = Plate(
144-
self.params.model.plate.geometry.model_copy(
144+
self.params.model.plate_options.geometry.model_copy(
145145
update={
146146
"easting": center[0],
147147
"northing": center[1],
@@ -151,9 +151,9 @@ def plates(self) -> list[Plate]:
151151
)
152152
self._plates = self.replicate(
153153
plate,
154-
self.params.model.plate.number,
155-
self.params.model.plate.spacing,
156-
self.params.model.plate.geometry.direction,
154+
self.params.model.plate_options.number,
155+
self.params.model.plate_options.spacing,
156+
self.params.model.plate_options.geometry.direction,
157157
)
158158
return self._plates
159159

@@ -206,13 +206,13 @@ def make_model(self) -> FloatData:
206206

207207
overburden = Overburden(
208208
topography=self.simulation_parameters.active_cells.topography_object,
209-
thickness=self.params.model.overburden.thickness,
210-
value=self.params.model.overburden.overburden_property,
209+
thickness=self.params.model.overburden_options.thickness,
210+
value=self.params.model.overburden_options.overburden_property,
211211
)
212212

213213
dikes = DikeSwarm(
214214
[
215-
Anomaly(plate, self.params.model.plate.plate_property)
215+
Anomaly(plate, self.params.model.plate_options.plate_property)
216216
for plate in self.plates
217217
],
218218
name="plates",

simpeg_drivers/plate_simulation/match/driver.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,8 @@ def _create_plate_from_parameters(
192192
"""
193193
center = self.params.survey.vertices[index_center]
194194
center[2] = (
195-
self._drape_heights[index_center] - model_options.overburden.thickness
195+
self._drape_heights[index_center]
196+
- model_options.overburden_options.thickness
196197
)
197198
indices = self.params.survey.get_segment_indices(
198199
index_center, self.params.max_distance
@@ -208,10 +209,10 @@ def _create_plate_from_parameters(
208209
"y": center[1],
209210
"z": center[2],
210211
},
211-
"width": model_options.plate.geometry.dip_length,
212-
"thickness": model_options.plate.geometry.width,
213-
"length": model_options.plate.geometry.strike_length,
214-
"dip": model_options.plate.geometry.dip,
212+
"width": model_options.plate_options.geometry.dip_length,
213+
"thickness": model_options.plate_options.geometry.width,
214+
"length": model_options.plate_options.geometry.strike_length,
215+
"dip": model_options.plate_options.geometry.dip,
215216
"dip_direction": (azimuth + strike_angle) % 360,
216217
}
217218
)

simpeg_drivers/plate_simulation/models/options.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from geoapps_utils.modelling.plates import PlateModel
1515
from geoh5py.objects import Points
1616
from pydantic import (
17+
AliasChoices,
1718
BaseModel,
1819
ConfigDict,
1920
Field,
@@ -47,7 +48,9 @@ class PlateOptions(BaseModel):
4748
model_config = ConfigDict(arbitrary_types_allowed=True)
4849

4950
name: str = "Plate"
50-
plate_property: float
51+
plate_property: float = Field(
52+
validation_alias=AliasChoices("plate_property", "plate")
53+
)
5154
geometry: PlateModel
5255
number: int = 1
5356
spacing: float = 0.0
@@ -125,7 +128,9 @@ class OverburdenOptions(BaseModel):
125128
"""
126129

127130
thickness: float
128-
overburden_property: float
131+
overburden_property: float = Field(
132+
validation_alias=AliasChoices("overburden_property", "overburden")
133+
)
129134

130135

131136
class ModelOptions(BaseModel):
@@ -140,5 +145,5 @@ class ModelOptions(BaseModel):
140145
model_config = ConfigDict(arbitrary_types_allowed=True)
141146

142147
background: float
143-
overburden: OverburdenOptions
144-
plate: PlateOptions
148+
overburden_options: OverburdenOptions
149+
plate_options: PlateOptions

tests/plate_simulation/runtest/driver_test.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -117,20 +117,20 @@ def test_plate_simulation_params_from_input_file(tmp_path):
117117
assert not params.mesh.diagonal_balance
118118

119119
assert isinstance(params.model, ModelOptions)
120-
assert params.model.plate.name == "test_gravity_plate_simulation"
120+
assert params.model.plate_options.name == "test_gravity_plate_simulation"
121121
assert params.model.background == 1000.0
122-
assert params.model.overburden.thickness == 50.0
123-
assert params.model.overburden.overburden_property == 5.0
124-
assert params.model.plate.plate_property == 2.0
125-
assert params.model.plate.geometry.width == 100.0
126-
assert params.model.plate.geometry.strike_length == 100.0
127-
assert params.model.plate.geometry.dip_length == 100.0
128-
assert params.model.plate.geometry.dip == 0.0
129-
assert params.model.plate.geometry.direction == 0.0
122+
assert params.model.overburden_options.thickness == 50.0
123+
assert params.model.overburden_options.overburden_property == 5.0
124+
assert params.model.plate_options.plate_property == 2.0
125+
assert params.model.plate_options.geometry.width == 100.0
126+
assert params.model.plate_options.geometry.strike_length == 100.0
127+
assert params.model.plate_options.geometry.dip_length == 100.0
128+
assert params.model.plate_options.geometry.dip == 0.0
129+
assert params.model.plate_options.geometry.direction == 0.0
130130

131-
assert params.model.plate.number == 9
132-
assert params.model.plate.spacing == 10.0
133-
assert params.model.plate.relative_locations
134-
assert params.model.plate.geometry.easting == 10.0
135-
assert params.model.plate.geometry.northing == 10.0
136-
assert params.model.plate.geometry.elevation == -250.0
131+
assert params.model.plate_options.number == 9
132+
assert params.model.plate_options.spacing == 10.0
133+
assert params.model.plate_options.relative_locations
134+
assert params.model.plate_options.geometry.easting == 10.0
135+
assert params.model.plate_options.geometry.northing == 10.0
136+
assert params.model.plate_options.geometry.elevation == -250.0

tests/plate_simulation/runtest/gravity_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ def test_gravity_plate_simulation(tmp_path):
7676
model_params = ModelOptions(
7777
name="density",
7878
background=0.0,
79-
overburden=overburden_params,
80-
plate=plate_params,
79+
overburden_options=overburden_params,
80+
plate_options=plate_params,
8181
)
8282

8383
options = GravityForwardOptions.build(

tests/plate_simulation/runtest/match_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ def test_matching_driver(tmp_path: Path):
142142
ifile.data["simulation"] = fwr_driver.out_group
143143

144144
plate_options = PlateSimulationOptions.build(ifile.data)
145-
plate_options.model.overburden.thickness = 40.0
146-
plate_options.model.plate.geometry.dip_length = 300.0
145+
plate_options.model.overburden_options.thickness = 40.0
146+
plate_options.model.plate_options.geometry.dip_length = 300.0
147147
driver = PlateSimulationDriver(plate_options)
148148
driver.run()
149149

0 commit comments

Comments
 (0)