diff --git a/simpeg_drivers/potential_fields/gravity/uijson.py b/simpeg_drivers/potential_fields/gravity/uijson.py index 482dd8d2..aaa050d0 100644 --- a/simpeg_drivers/potential_fields/gravity/uijson.py +++ b/simpeg_drivers/potential_fields/gravity/uijson.py @@ -16,6 +16,7 @@ BoolForm, ChoiceForm, DataForm, + DataOrValueForm, FloatForm, GroupForm, IntegerForm, @@ -46,7 +47,7 @@ class GravityForwardUIJson(SimPEGDriversUIJson): gxz_channel_bool: BoolForm gyz_channel_bool: BoolForm mesh: ObjectForm - starting_model: DataForm + starting_model: DataOrValueForm topography_object: ObjectForm topography: DataForm active_model: DataForm @@ -77,42 +78,42 @@ class GravityInversionUIJson(SimPEGDriversUIJson): forward_only: bool data_object: ObjectForm gz_channel: DataForm - gz_uncertainty: DataForm + gz_uncertainty: DataOrValueForm gx_channel: DataForm - gx_uncertainty: DataForm + gx_uncertainty: DataOrValueForm gy_channel: DataForm - gy_uncertainty: DataForm + gy_uncertainty: DataOrValueForm guv_channel: DataForm - guv_uncertainty: DataForm + guv_uncertainty: DataOrValueForm gxy_channel: DataForm - gxy_uncertainty: DataForm + gxy_uncertainty: DataOrValueForm gxx_channel: DataForm - gxx_uncertainty: DataForm + gxx_uncertainty: DataOrValueForm gyy_channel: DataForm - gyy_uncertainty: DataForm + gyy_uncertainty: DataOrValueForm gzz_channel: DataForm - gzz_uncertainty: DataForm + gzz_uncertainty: DataOrValueForm gxz_channel: DataForm - gxz_uncertainty: DataForm + gxz_uncertainty: DataOrValueForm gyz_channel: DataForm - gyz_uncertainty: DataForm + gyz_uncertainty: DataOrValueForm mesh: ObjectForm - starting_model: DataForm - reference_model: DataForm - lower_bound: DataForm - upper_bound: DataForm + starting_model: DataOrValueForm + reference_model: DataOrValueForm + lower_bound: DataOrValueForm + upper_bound: DataOrValueForm topography_object: ObjectForm topography: DataForm active_model: DataForm - alpha_s: DataForm - length_scale_x: DataForm - length_scale_y: DataForm - length_scale_z: DataForm + alpha_s: DataOrValueForm + length_scale_x: DataOrValueForm + length_scale_y: DataOrValueForm + length_scale_z: DataOrValueForm gradient_rotation: DataForm - s_norm: DataForm - x_norm: DataForm - y_norm: DataForm - z_norm: DataForm + s_norm: DataOrValueForm + x_norm: DataOrValueForm + y_norm: DataOrValueForm + z_norm: DataOrValueForm gradient_type: ChoiceForm max_irls_iterations: IntegerForm starting_chi_factor: FloatForm @@ -142,7 +143,7 @@ class GravityInversionUIJson(SimPEGDriversUIJson): every_iteration_bool: BoolForm save_sensitivities: BoolForm n_cpu: IntegerForm - tile_spatial: DataForm + tile_spatial: DataOrValueForm store_sensitivities: ChoiceForm max_chunk_size: IntegerForm diff --git a/tests/uijson_test.py b/tests/uijson_test.py index c20caa0f..db58145a 100644 --- a/tests/uijson_test.py +++ b/tests/uijson_test.py @@ -285,21 +285,7 @@ def test_gravity_uijson(tmp_path): with open(uijson_path, encoding="utf-8") as f: uijson_data = json.load(f) - params_data_nobraces = {} - for param, data in params_data.items(): - if isinstance(data, dict): - field_data_nobraces = {} - for field, value in data.items(): - if isinstance(value, str): - value = value.removeprefix("{").removesuffix("}") - if isinstance(value, list): - value = [v.removeprefix("{").removesuffix("}") for v in value] - field_data_nobraces[field] = value - else: - field_data_nobraces = data - params_data_nobraces[param] = field_data_nobraces - - assert uijson_data == params_data_nobraces + assert uijson_data == params_data CHANNEL_NAME = {