diff --git a/src/mdio/builder/schemas/v1/variable.py b/src/mdio/builder/schemas/v1/variable.py index ed317f8b..bf0a9dcd 100644 --- a/src/mdio/builder/schemas/v1/variable.py +++ b/src/mdio/builder/schemas/v1/variable.py @@ -44,6 +44,21 @@ class VariableMetadata(CoordinateMetadata): description="Minimal summary statistics.", ) + crs: str | None = Field( + default=None, + description="Coordinate Reference System as an EPSG code (e.g., 'EPSG:4326').", + ) + + bin_inl: float | None = Field( + default=None, + description="Inline bin size in grid units.", + ) + + bin_xl: float | None = Field( + default=None, + description="Crossline bin size in grid units.", + ) + class Coordinate(NamedArray): """A simple MDIO Coordinate array with metadata. diff --git a/tests/unit/v1/test_dataset_builder_add_variable.py b/tests/unit/v1/test_dataset_builder_add_variable.py index 359ad29f..4a1a75f0 100644 --- a/tests/unit/v1/test_dataset_builder_add_variable.py +++ b/tests/unit/v1/test_dataset_builder_add_variable.py @@ -178,6 +178,9 @@ def test_add_variable_full_parameters() -> None: attributes={"MGA": 51, "UnitSystem": "Imperial"}, chunk_grid=RegularChunkGrid(configuration=RegularChunkShape(chunk_shape=(20,))), stats_v1=stats, + crs="EPSG:32610", + bin_inl=12.5, + bin_xl=25.0, ) builder.add_variable( "ampl", @@ -214,3 +217,6 @@ def test_add_variable_full_parameters() -> None: assert v.metadata.stats_v1.max == 10.84 assert v.metadata.stats_v1.histogram.bin_centers == [1, 2] assert v.metadata.stats_v1.histogram.counts == [10, 15] + assert v.metadata.crs == "EPSG:32610" + assert v.metadata.bin_inl == 12.5 + assert v.metadata.bin_xl == 25.0