From 382371913d86b1bc6e7b43cc0a3b02d2d977c0dd Mon Sep 17 00:00:00 2001 From: benjamink Date: Wed, 3 Dec 2025 13:18:54 -0800 Subject: [PATCH] check for MVI Simpeg groups and raise error --- simpeg_drivers/joint/joint_surveys/options.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/simpeg_drivers/joint/joint_surveys/options.py b/simpeg_drivers/joint/joint_surveys/options.py index 037c9ab2..7e0da88b 100644 --- a/simpeg_drivers/joint/joint_surveys/options.py +++ b/simpeg_drivers/joint/joint_surveys/options.py @@ -14,8 +14,7 @@ from pathlib import Path from typing import ClassVar -from geoapps_utils.utils.importing import GeoAppsError -from pydantic import model_validator +from pydantic import field_validator, model_validator from simpeg_drivers import assets_path from simpeg_drivers.joint.options import BaseJointOptions @@ -35,6 +34,19 @@ class JointSurveysOptions(BaseJointOptions): models: ConductivityModelOptions + @field_validator("group_a", "group_b", "group_c") + @classmethod + def no_mvi_groups(cls, val): + if val is None: + return val + + if "magnetic vector" in val.options.get("inversion_type", ""): + raise ValueError( + f"Joint inversion doesn't currently support MVI data as passed in " + f"the group: {val.name}." + ) + return val + @model_validator(mode="after") def all_groups_same_physical_property(self): physical_properties = [k.options["physical_property"] for k in self.groups]