Table of Contents

Class IceEggCode

Namespace
EncDotNet.S100.Datasets.Pipelines
Assembly
EncDotNet.S100.Core.dll

A render-ready projection of an S-411 sea-ice / lake-ice feature's WMO / SIGRID-3 "egg code": the up-to-four stacked rows of the oval plus the special values that convention reports outside the oval.

public sealed record IceEggCode : IEquatable<IceEggCode>
Inheritance
IceEggCode
Implements
Inherited Members

Remarks

The egg carries at most three ice types in the oval, ordered by decreasing thickness. Thinner fourth / fifth classes (when present) are not drawn inside the oval; each row's fourth / fifth stage, partial concentration and floe size surface through TrailingStagesOfDevelopment, TrailingPartialConcentrations and TrailingFormsOfIce instead — rendered outside the oval to the right of their row (S-411 Edition 1.2.1 Annex A; WMO No. 259 / SIGRID-3 egg-code conventions).

Special cases the model represents: a single ice type folds the partial-concentration row away (ConcentrationRowFolded); undetermined values pass through verbatim (e.g. "9+", "X", ranges); and open water / no ice omits the oval entirely (HasOval is false with only a TotalConcentration of "0").

Properties

Annotations

Values reported outside the oval by convention (snow depth). Ordered for display below the egg.

public ImmutableArray<IceEggValue> Annotations { get; init; }

Property Value

ImmutableArray<IceEggValue>

ConcentrationRowFolded

true when only a single ice type is present and the partial-concentration row has been folded away (it would merely repeat TotalConcentration).

public bool ConcentrationRowFolded { get; init; }

Property Value

bool

FormsOfIce

Forms of ice / floe sizes (Fa Fb Fc), at most three.

public ImmutableArray<IceEggValue> FormsOfIce { get; init; }

Property Value

ImmutableArray<IceEggValue>

HasOval

When false the oval is omitted entirely and only the TotalConcentration is shown — the WMO convention for open water / ice-free or radar-only observations.

public bool HasOval { get; init; }

Property Value

bool

IsEmpty

true when the egg carries no drawable value at all — used by the projection to elide an empty bundle.

public bool IsEmpty { get; }

Property Value

bool

PartialConcentrations

Partial concentrations (Ca Cb Cc), at most three. Empty when the concentration row is folded for a single ice type (ConcentrationRowFolded) or when the source carried none.

public ImmutableArray<IceEggValue> PartialConcentrations { get; init; }

Property Value

ImmutableArray<IceEggValue>

StagesOfDevelopment

Stages of development (Sa Sb Sc), at most three.

public ImmutableArray<IceEggValue> StagesOfDevelopment { get; init; }

Property Value

ImmutableArray<IceEggValue>

TotalConcentration

The top-row total concentration (Ct), or null when the source carried none.

public IceEggValue? TotalConcentration { get; init; }

Property Value

IceEggValue

TrailingFormsOfIce

Forms of ice / floe sizes of the thinner fourth / fifth ice classes (Fd Fe), rendered outside the oval to the right of the FormsOfIce row.

public ImmutableArray<IceEggValue> TrailingFormsOfIce { get; init; }

Property Value

ImmutableArray<IceEggValue>

TrailingPartialConcentrations

Partial concentrations of the thinner fourth / fifth ice classes (Cd Ce) that do not fit the oval. Rendered outside the oval to the right of the PartialConcentrations row (S-411 Ed 1.2.1 Annex A; WMO No. 259 egg-code convention).

public ImmutableArray<IceEggValue> TrailingPartialConcentrations { get; init; }

Property Value

ImmutableArray<IceEggValue>

TrailingStagesOfDevelopment

Stages of development of the thinner fourth / fifth ice classes (Sd Se), rendered outside the oval to the right of the StagesOfDevelopment row.

public ImmutableArray<IceEggValue> TrailingStagesOfDevelopment { get; init; }

Property Value

ImmutableArray<IceEggValue>