Ensemble values
Any numeric profile position can be a deterministic number or an ensemble object:
{ "members": 21, "p10": 1.2, "p25": 1.8, "p50": 2.4, "p75": 3.1, "p90": 3.8}run.members declares total run membership. A position’s own members
counts contributors at that position and can be lower when null or censored
member values were excluded. Do not rank an absent value at zero.
A full-dropout position has exactly this shape:
{ "members": 0, "p10": null, "p25": null, "p50": null, "p75": null, "p90": null}Full dropout means no member contributed at that position. It differs from an
absent optional field and from a scalar null forecast position.
Reading the block
Section titled “Reading the block”p50is the median, not the preferred or most likely member.p25–p75andp10–p90describe member spread at one position; they are not calibrated event-probability intervals.- Percentiles remain ordered even when several collapse to the same value.
ceiledMembers, when present on a supported height position, counts members capped at the published column ceiling rather than resolving a physical top.
Wind direction is aggregated circularly. A cluster around 350° and 10° belongs near north, not near the arithmetic mean of 180°. Consumers use the published percentile object and package scene rather than recomputing it linearly.
Count contributors before reading a percentile
A percentile block says how many members contributed and how many reached the published column ceiling.
9 ensemble members contribute to the selected boundary-layer value; 9 are column-ceiled and 0 are absent. The published p10, p50, and p90 are 4,200, 4,200, and 4,200 metres.
Declared members
Run membership from the profile and the package analysis envelope.
Position accounting
- Resolved
- 0
- Ceiled
- 9
- Absent
- 0
Ceiled values are lower bounds. Absent values never enter the ranking as zero.
Conditional distribution
- p10
- 4,200 m
- p50
- 4,200 m
- p90
- 4,200 m
These magnitudes describe the contributing members, not a calibrated probability.
Spread and censoring are different signals
Switch among controlled ensembles that are tightly grouped, widely grouped, or capped by the published column.
An interactive ensemble windgram comparing narrow and wide percentile bands with a separately counted column-censored case.
Conclusion. Percentile-band width describes the retained positions, while column censoring is separate member-accounting metadata; a narrow line at the column ceiling is not evidence of a resolved top.
Narrow safely in TypeScript
Section titled “Narrow safely in TypeScript”Use isEnsembleValue when the band matters, isEnsembleDropout for the
zero-member shape, and p50 from windgram/derive when a numeric derivation
explicitly chooses the median. p50 returns number | null. Use
isDeterministicProfile only when an integration genuinely rejects ensemble
documents.
The scene graph builds median lines and percentile band geometry wherever the document supplies populated values. Dropout positions render as gaps; a level or hour whose required positions all dropped out contributes no scene element.
The column-ceiling study records how a 700 hPa source ceiling concealed spread that appeared when the same member derivation extended to 500 hPa.