Interface ITimeAwareDatasetProcessor
Capability implemented by dataset processors whose portrayal varies over a discrete set of forecast / observation time steps (S-104 water levels, S-111 surface currents, and S-411 sea ice). Lets callers (e.g. the CLI) map a user-supplied time-step index to a concrete DateTime without reflecting over concrete processor types.
public interface ITimeAwareDatasetProcessor
Remarks
A static product may implement it with an empty AvailableTimes just to report IssueTime (S-102); callers treat a dataset with no time steps as untimed.
Properties
AvailableTimes
The ordered, distinct set of time steps available in the dataset. Empty when the dataset carries no temporal dimension.
IReadOnlyList<DateTime> AvailableTimes { get; }
Property Value
ForecastRun
The model run this dataset belongs to, or null (the default) when it is not a forecast run. A host uses it to name the run and to treat the timeline as a forecast.
DatasetForecastRun? ForecastRun { get; }
Property Value
IssueTime
When the producer issued the dataset (UTC), from its issueDate and
issueTime (see S100IssueTime); null
when the dataset does not say. For a forecast this is usually some time
after the model run it carries.
DateTime? IssueTime { get; }
Property Value
TimeSemantics
What the time steps are, which one is drawn between steps, and how long a step stays valid. Defaults to Default: forecast steps, nearest within the typical step.
TimeSemantics TimeSemantics { get; }