Table of Contents

Class SurfaceCurrentCoverage

Namespace
EncDotNet.S100.Datasets.S111
Assembly
EncDotNet.S100.Datasets.S111.dll

Represents a single surface current coverage grid at a specific time within an S-111 dataset.

public sealed class SurfaceCurrentCoverage
Inheritance
SurfaceCurrentCoverage
Inherited Members

Properties

GroupPath

The HDF5 instance-group path this coverage was read from, e.g. "/SurfaceCurrent/SurfaceCurrent.01". Populated by S111DatasetReader; 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

Values

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

public SurfaceCurrentValue[] Values { get; init; }

Property Value

SurfaceCurrentValue[]

Remarks

May be supplied eagerly (the init setter, used by synthetic fixtures and the file-independent ReadAny(IHdf5File) path) or lazily via EncDotNet.S100.Datasets.S111.SurfaceCurrentCoverage.ValuesFactory. When backed by a factory the per-time-step values compound is read from the underlying HDF5 file on first access and then cached, so opening a dataset with hundreds of time steps does not decode every step up front (S-111 Edition 2.0.0 §10.2.6; one Group_NNN/values dataset per time step). Access is thread-safe.