Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
mferrera committed Dec 19, 2024
1 parent 1e167eb commit 5d4c9aa
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 1 deletion.
24 changes: 24 additions & 0 deletions src/fmu/dataio/export/_enums.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,35 @@ def index_columns() -> list[str]:
"""Returns a list of the index columns."""
return [k.value for k in InplaceVolumes.TableIndexColumns]

@staticmethod
def required_index_columns() -> list[str]:
return [
InplaceVolumes.TableIndexColumns.FLUID.value,
InplaceVolumes.TableIndexColumns.ZONE.value,
]

@staticmethod
def value_columns() -> list[str]:
"""Returns a list of the value columns."""
return [k.value for k in InplaceVolumes.VolumetricColumns]

@staticmethod
def required_value_columns() -> list[str]:
"""Returns a list of the value columns."""
return [
InplaceVolumes.VolumetricColumns.BULK.value,
InplaceVolumes.VolumetricColumns.PORV.value,
InplaceVolumes.VolumetricColumns.HCPV.value,
]

@staticmethod
def required_columns() -> list[str]:
"""Returns a list of the columns required at export."""
return (
InplaceVolumes.required_index_columns()
+ InplaceVolumes.required_value_columns()
)

@staticmethod
def table_columns() -> list[str]:
"""Returns a list of all table columns."""
Expand Down
2 changes: 1 addition & 1 deletion src/fmu/dataio/export/rms/inplace_volumes.py
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ def _validate_table(self) -> None:

# create list of missing or non-defined required columns
missing_calculations = []
for col in ["BULK", "PORV", "HCPV"]:
for col in _enums.InplaceVolumes.required_value_columns():
if self._is_column_missing_in_table(col):
missing_calculations.append(col)

Expand Down
9 changes: 9 additions & 0 deletions tests/test_export_rms/test_export_rms_volumetrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -375,3 +375,12 @@ def test_inplace_volumes_export_and_result_columns_are_the_same(
assert _enums.InplaceVolumes.table_columns() == list(
InplaceVolumesResultRow.model_fields.keys()
)


def test_that_required_columns_one_to_one_in_enum_and_schema() -> None:
schema_required_fields = [
name
for name, field in InplaceVolumesResultRow.__fields__.items()
if field.required
]
assert _enums.InplaceVolumes.required_columns == schema_required_fields

0 comments on commit 5d4c9aa

Please sign in to comment.