eoio.readers.sentinel3_olci.layout module#

eoio.readers.sentinel3_olci.layout - Sentinel-3 OLCI product file structure and path logic.

exception eoio.readers.sentinel3_olci.layout.S3LayoutError[source]#

Bases: ValueError

Raised when a SEN3 folder is missing expected files/structure.

class eoio.readers.sentinel3_olci.layout.S3OLCILayout(path: str)[source]#

Bases: object

Representation of a Sentinel-3 OLCI SEN3 product layout.

This class encapsulates filesystem layout logic for a SEN3 directory (extracted product). It provides helpers to discover radiance and uncertainty files, optional auxiliary files (geo coordinates, tie geometries, removed pixels) and basic product metadata locations.

Parameters:

path (str | pathlib.Path) – Filesystem path to the SEN3 directory (string or Path-like).

default_meas() List[str][source]#

Return the default set of measurement variables for this product.

Currently this returns the set of available band tokens discovered from filenames in the SEN3 directory.

Returns:

List of default measurement variable tokens.

geo_coordinates_path()[source]#

Return the path to geo_coordinates.nc if it exists, else None.

Returns:

Path to the geo coordinates file or None when missing.

instrument_data_path()[source]#

Return the path to instrument data file, or None if absent.

Returns:

Path to the instrument data file or None.

manifest_path() Path | None[source]#

Locate product-level metadata at the SEN3 root.

Example candidates include xfdumanifest.xml.

Returns:

Path to the product metadata XML file if present, else None.

path: str#
property proc_version: int#

Parse and return the processing version embedded in the SEN3 directory name.

The implementation extracts a numeric token from the final part of the directory name and converts it to an integer. This is used by higher-level code to decide behaviour that depends on processing baseline (e.g. uncertainty handling).

Returns:

Processing version parsed from the SEN3 directory name.

quality_flags_path()[source]#

Return the path to qualityFlags.nc if it exists, else None.

Returns:

Path to the quality flags file or None when missing.

radiance_paths(bands=None)[source]#

Return mapping of band name to radiance file path.

If bands is None, all available ‘*_radiance.nc’ files under the SEN3 directory are discovered and returned. When bands is a sequence, only the requested band names are considered.

Parameters:

bands – Optional list of band tokens to filter by.

Returns:

Mapping from band token (e.g. ‘Oa01’) to absolute file path.

removed_pixels_path()[source]#

Return the path to a removed-pixels mask file, or None.

Returns:

Path to the removed-pixels mask file or None.

requested_aux_paths(aux_names)[source]#

Return paths for requested auxiliary data.

Scans for expected auxiliary files (geo_coordinates.nc, tie_geometries.nc, removed_pixels.nc, tie_meteo.nc) and returns paths for those that exist and are requested.

Parameters:

aux_names – Iterable of auxiliary names to look up.

Returns:

Mapping of requested auxiliary names to their file paths.

requested_uncertainty_paths(bands)[source]#

Return uncertainty file paths for requested bands.

Scans for files matching ‘*_unc.nc’ and filters by the supplied band list.

Parameters:

bands – List of band tokens to filter by.

Returns:

Mapping of band token to uncertainty file path for those bands present in the SEN3 directory.

tie_geo_coordinates_path()[source]#

Return the path to the tie point geo coordinates file, or None.

Tie point files are optional; callers should handle None.

Returns:

Path to the tie point geo coordinates file or None.

tie_geometries_path()[source]#

Return the path to the tie geometries file, or None.

Returns:

Path to the tie geometries file or None.

tie_meteo_path()[source]#

Return the path to tie meteo file, or None if absent.

Returns:

Path to the tie meteo file or None.