Class IceEggCode
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
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
FormsOfIce
Forms of ice / floe sizes (Fa Fb Fc), at most three.
public ImmutableArray<IceEggValue> FormsOfIce { get; init; }
Property Value
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
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
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
StagesOfDevelopment
Stages of development (Sa Sb Sc), at most three.
public ImmutableArray<IceEggValue> StagesOfDevelopment { get; init; }
Property Value
TotalConcentration
The top-row total concentration (Ct), or null when the source carried none.
public IceEggValue? TotalConcentration { get; init; }
Property Value
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
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
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; }