Skip to content

Commit 763c5c0

Browse files
committed
Add crs and bin size metadata fields to VariableMetadata
Add crs, bin_inl, and bin_xl optional fields to support coordinate reference system and bin size metadata for seismic data variables. Made-with: Cursor
1 parent 735d7f7 commit 763c5c0

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

src/mdio/builder/schemas/v1/variable.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,21 @@ class VariableMetadata(CoordinateMetadata):
4444
description="Minimal summary statistics.",
4545
)
4646

47+
crs: str | None = Field(
48+
default=None,
49+
description="Coordinate Reference System as an EPSG code (e.g., 'EPSG:4326').",
50+
)
51+
52+
bin_inl: float | None = Field(
53+
default=None,
54+
description="Inline bin size in grid units.",
55+
)
56+
57+
bin_xl: float | None = Field(
58+
default=None,
59+
description="Crossline bin size in grid units.",
60+
)
61+
4762

4863
class Coordinate(NamedArray):
4964
"""A simple MDIO Coordinate array with metadata.

tests/unit/v1/test_dataset_builder_add_variable.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,9 @@ def test_add_variable_full_parameters() -> None:
178178
attributes={"MGA": 51, "UnitSystem": "Imperial"},
179179
chunk_grid=RegularChunkGrid(configuration=RegularChunkShape(chunk_shape=(20,))),
180180
stats_v1=stats,
181+
crs="EPSG:32610",
182+
bin_inl=12.5,
183+
bin_xl=25.0,
181184
)
182185
builder.add_variable(
183186
"ampl",
@@ -214,3 +217,6 @@ def test_add_variable_full_parameters() -> None:
214217
assert v.metadata.stats_v1.max == 10.84
215218
assert v.metadata.stats_v1.histogram.bin_centers == [1, 2]
216219
assert v.metadata.stats_v1.histogram.counts == [10, 15]
220+
assert v.metadata.crs == "EPSG:32610"
221+
assert v.metadata.bin_inl == 12.5
222+
assert v.metadata.bin_xl == 25.0

0 commit comments

Comments
 (0)