Skip to content

Data access

subsurfaceio.cross_section.data_access

Depth/elevation mapping and test data helpers for cross-section export.

Functions:

Name Description
depth_to_section_y

Convert a sample depth to section Y.

finite_values

Extract finite numeric values, skipping null and NaN entries.

get_merged_data

Return raw and interpretation fields as column-oriented lists.

get_test_strata

Return strata intervals attached to test, if any.

get_y_values

Map each data row depth to section vertical coordinates.

surface_elevation_for_test

Return test surface elevation, defaulting to 0 when unset.

depth_to_section_y

depth_to_section_y(
    depth: float | None,
    test: InSituTest,
    vertical: VerticalAxis,
) -> float | None

Convert a sample depth to section Y.

In elevation mode Y is surface - depth. In depth mode Y is -depth.

Parameters:

Name Type Description Default
depth float | None

Sample depth in meters, or None.

required
test InSituTest

Test providing surface elevation for elevation mode.

required
vertical VerticalAxis

Vertical axis; depth or elevation.

required

Returns:

Type Description
float | None

Section Y, or None when depth is None.

finite_values

finite_values(values: list[Any]) -> list[float]

Extract finite numeric values, skipping null and NaN entries.

Parameters:

Name Type Description Default
values list[Any]

Mixed sequence that may include None and NaN.

required

Returns:

Type Description
list[float]

Finite floats, in input order.

get_merged_data

get_merged_data(test: InSituTest) -> MergedTestData

Return raw and interpretation fields as column-oriented lists.

Parameters:

Name Type Description Default
test InSituTest

In-situ test whose data (and interpretation, when present) are merged.

required

Returns:

Type Description
MergedTestData

Column-oriented field lists suitable for plot-column rendering.

get_test_strata

get_test_strata(test: InSituTest) -> list[StrataData]

Return strata intervals attached to test, if any.

Parameters:

Name Type Description Default
test InSituTest

In-situ test that may carry a strata list.

required

Returns:

Type Description
list[StrataData]

Strata intervals, or an empty list when none are attached.

get_y_values

get_y_values(
    test: InSituTest, vertical: VerticalAxis
) -> list[float]

Map each data row depth to section vertical coordinates.

Parameters:

Name Type Description Default
test InSituTest

In-situ test whose data rows have depth.

required
vertical VerticalAxis

Vertical axis; depth or elevation.

required

Returns:

Type Description
list[float]

Section Y for each row with a non-null depth.

surface_elevation_for_test

surface_elevation_for_test(test: InSituTest) -> float

Return test surface elevation, defaulting to 0 when unset.

Parameters:

Name Type Description Default
test InSituTest

In-situ test whose metadata may include surface_elevation.

required

Returns:

Type Description
float

Surface elevation in meters, or 0.0 when unset.