Table of Contents

Class WaterLevelCoverage

Namespace
EncDotNet.S100.Datasets.S104
Assembly
EncDotNet.S100.Datasets.S104.dll

Represents a single water level coverage grid at a specific time within an S-104 dataset.

public sealed class WaterLevelCoverage
Inheritance
WaterLevelCoverage
Inherited Members

Fields

UncertaintyFillValue

The S-104 uncertainty fill value, −1.0 (S-104 Ed 2.0.0 Table 10-3).

public const float UncertaintyFillValue = -1

Field Value

float

Properties

GroupPath

The HDF5 instance-group path this coverage was read from, e.g. "/WaterLevel/WaterLevel.01". Populated by S104DatasetReader; nullable so synthetic test fixtures may omit it. Validation rules surface this on per-coverage findings via RelatedFeatureId, and append #timePoint on per-time-step findings (per docs/design/non-gml-validation.md §4.3). Multiple time-step coverages share an instance path; the TimePoint disambiguates them in finding messages.

public string? GroupPath { get; init; }

Property Value

string

NumPointsLatitudinal

Number of grid points in the latitudinal direction (rows).

public required int NumPointsLatitudinal { get; init; }

Property Value

int

NumPointsLongitudinal

Number of grid points in the longitudinal direction (columns).

public required int NumPointsLongitudinal { get; init; }

Property Value

int

OriginLatitude

Latitude of the grid origin in decimal degrees.

public required double OriginLatitude { get; init; }

Property Value

double

OriginLongitude

Longitude of the grid origin in decimal degrees.

public required double OriginLongitude { get; init; }

Property Value

double

SpacingLatitudinal

Grid spacing in the latitudinal direction in decimal degrees.

public required double SpacingLatitudinal { get; init; }

Property Value

double

SpacingLongitudinal

Grid spacing in the longitudinal direction in decimal degrees.

public required double SpacingLongitudinal { get; init; }

Property Value

double

StartSequence

Start sequence describing the origin corner of the grid (e.g. "0,0").

public string? StartSequence { get; init; }

Property Value

string

TimePoint

The time point for this coverage, parsed from the HDF5 group's timePoint attribute.

public required DateTime TimePoint { get; init; }

Property Value

DateTime

Uncertainties

The uncertainty of each value's height in metres (a ± value), row-major like Values, or null when the dataset carries none. A node's value is the uncertainty member of its values record when that isn't the fill value, otherwise the instance's uncertainty dataset (S-104 Ed 2.0.0 §10.2.2.4, §10.2.2.5 and Table 10-3). UncertaintyFillValue marks a node with neither.

public float[]? Uncertainties { get; init; }

Property Value

float[]

Values

Flat array of water level values, ordered row-major. Index a cell at (row, col) as Values[row * NumPointsLongitudinal + col].

public required WaterLevelValue[] Values { get; init; }

Property Value

WaterLevelValue[]

Methods

UncertaintyAt(int)

The uncertainty at a node in metres, or null when none is given.

public double? UncertaintyAt(int index)

Parameters

index int

The row-major node index.

Returns

double?

The uncertainty, or null.