@@ -163,7 +163,7 @@ def _build_and_check_grid(segy_dimensions: list[Dimension], segy_file: SegyFile,
163163
164164
165165def _get_coordinates (
166- segy_dimensions : list [ Dimension ] ,
166+ grid : Grid ,
167167 segy_headers : SegyHeaderArray ,
168168 mdio_template : AbstractDatasetTemplate ,
169169) -> tuple [list [Dimension ], dict [str , SegyHeaderArray ]]:
@@ -174,7 +174,7 @@ def _get_coordinates(
174174 The last dimension is always the vertical domain dimension
175175
176176 Args:
177- segy_dimensions: List of of all SEG-Y dimensions .
177+ grid: Inferred MDIO grid for SEG-Y file .
178178 segy_headers: Headers read in from SEG-Y file.
179179 mdio_template: The MDIO template to use for the conversion.
180180
@@ -188,19 +188,15 @@ def _get_coordinates(
188188 - A dict of non-dimension coordinates (str: N-D arrays).
189189 """
190190 dimensions_coords = []
191- dim_names = [dim .name for dim in segy_dimensions ]
192191 for dim_name in mdio_template .dimension_names :
193- try :
194- dim_index = dim_names .index (dim_name )
195- except ValueError :
192+ if dim_name not in grid .dim_names :
196193 err = f"Dimension '{ dim_name } ' was not found in SEG-Y dimensions."
197- raise ValueError (err ) from err
198- dimensions_coords .append (segy_dimensions [ dim_index ] )
194+ raise ValueError (err )
195+ dimensions_coords .append (grid . select_dim ( dim_name ) )
199196
200197 non_dim_coords : dict [str , SegyHeaderArray ] = {}
201- available_headers = segy_headers .dtype .names
202198 for coord_name in mdio_template .coordinate_names :
203- if coord_name not in available_headers :
199+ if coord_name not in segy_headers . dtype . names :
204200 err = f"Coordinate '{ coord_name } ' not found in SEG-Y dimensions."
205201 raise ValueError (err )
206202 non_dim_coords [coord_name ] = segy_headers [coord_name ]
0 commit comments