Class IceEggCodeBuilder
Builds a render-ready IceEggCode from the raw S-411 sea-ice /
lake-ice WMO attributes (iceact, iceapc, icesod,
iceflz, snowDepth).
public static class IceEggCodeBuilder
- Inheritance
-
IceEggCodeBuilder
- Inherited Members
Remarks
Real-world JCOMM producers (e.g. Canadian Ice Service feeds) serialise the
list-valued attributes as Python-list-style strings such as
"[30, 30, 10, 4, 4]"; this builder tolerates that shape as well as
bare comma- or space-separated tokens and single scalars. Token text is
preserved verbatim so undetermined values ("9+", "X", ranges
like "4-6") survive into the diagram unchanged.
The oval carries at most three ice types (ordered by decreasing thickness as
supplied); thinner fourth and fifth classes surface as trailing values
rendered outside the oval, to the right of their row
(TrailingPartialConcentrations,
TrailingStagesOfDevelopment,
TrailingFormsOfIce) with WMO subscripts
d/e, matching WMO / SIGRID-3 egg-code conventions
(S-411 Edition 1.2.1 Annex A).
Methods
Build(string?, string?, string?, string?, double?, string)
Projects the raw S-411 egg-code attributes into an IceEggCode,
or null when no drawable value is present.
public static IceEggCode? Build(string? totalConcentrationRaw, string? partialConcentrationsRaw, string? stagesOfDevelopmentRaw, string? formsOfIceRaw, double? snowDepthCm = null, string totalConcentrationSourceCode = "iceact")
Parameters
totalConcentrationRawstringRaw
iceact/totalConcentrationvalue (e.g."70","9+","0").partialConcentrationsRawstringRaw
iceapcvalue (list-style or scalar).stagesOfDevelopmentRawstringRaw
icesodvalue (list-style or scalar).formsOfIceRawstringRaw
iceflzvalue (list-style or scalar).snowDepthCmdouble?Optional snow depth in centimetres (
snowDepth).totalConcentrationSourceCodestringSource attribute code for
totalConcentrationRaw.
Returns
- IceEggCode
The projected egg code, or
nullunless at least one core egg value (Ct, partial concentration, stage, or form) is present; snow depth alone does not produce an egg.