Skip to content

Commit 33f98ca

Browse files
committed
Adds ORSO validation tests
1 parent 051b4ba commit 33f98ca

File tree

12 files changed

+8641
-4
lines changed

12 files changed

+8641
-4
lines changed

RATapi/inputs.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,16 @@ def make_problem(project: RATapi.Project) -> ProblemDefinition:
193193
# Get details of defined layers
194194
layer_details = []
195195
for layer in project.layers:
196-
layer_params = [
197-
project.parameters.index(getattr(layer, attribute), True)
198-
for attribute in list(RATapi.models.Layer.model_fields.keys())[1:-2]
199-
]
196+
if project.absorption:
197+
layer_params = [
198+
project.parameters.index(getattr(layer, attribute), True)
199+
for attribute in list(RATapi.models.AbsorptionLayer.model_fields.keys())[1:-2]
200+
]
201+
else:
202+
layer_params = [
203+
project.parameters.index(getattr(layer, attribute), True)
204+
for attribute in list(RATapi.models.Layer.model_fields.keys())[1:-2]
205+
]
200206
layer_params.append(project.parameters.index(layer.hydration, True) if layer.hydration else float("NaN"))
201207
layer_params.append(hydrate_id[layer.hydrate_with])
202208

RATapi/models.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,20 @@ class Parameter(RATModel):
557557

558558
show_priors: bool = False
559559

560+
def model_post_init(self, __context: Any) -> None:
561+
"""Apply parameter value to limits if they are not set."""
562+
if "value" in self.model_fields_set:
563+
if self.value > 0.0:
564+
if "max" not in self.model_fields_set:
565+
self.max = self.value
566+
if "min" not in self.model_fields_set:
567+
self.min = self.value
568+
elif self.value < 0.0:
569+
if "min" not in self.model_fields_set:
570+
self.min = self.value
571+
if "max" not in self.model_fields_set:
572+
self.max = self.value
573+
560574
@model_validator(mode="after")
561575
def check_min_max(self) -> "Parameter":
562576
"""Ensure the maximum value of a parameter is greater than the minimum."""

tests/test_data/ORSO_data/test_0.dat

Lines changed: 1001 additions & 0 deletions
Large diffs are not rendered by default.

tests/test_data/ORSO_data/test_1.dat

Lines changed: 1998 additions & 0 deletions
Large diffs are not rendered by default.

tests/test_data/ORSO_data/test_2.dat

Lines changed: 1001 additions & 0 deletions
Large diffs are not rendered by default.

tests/test_data/ORSO_data/test_3.dat

Lines changed: 1001 additions & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)