Skip to content

Ensemble values

Any numeric position in a profile holds either a deterministic number or an ensemble object like this one:

ensemble scalar
{
"members": 21,
"p10": 1.2,
"p25": 1.8,
"p50": 2.4,
"p75": 3.1,
"p90": 3.8
}

run.members declares how many members the run has in total. A position’s own members counts the members that contributed at that position. It can be lower when null or censored member values were left out. Do not rank an absent value at zero.

A full-dropout position has exactly this shape:

full ensemble dropout
{
"members": 0,
"p10": null,
"p25": null,
"p50": null,
"p75": null,
"p90": null
}

Full dropout means no member contributed at that position. It is different from an absent optional field, and from a position whose value is a plain null.

Reading the block

p50 is the median of the members. It is neither a preferred member nor the most likely outcome.

p25–p75 and p10–p90 describe how far the members spread at one position. They are not calibrated probability intervals for an event.

The percentiles stay in order even when several of them share a value.

ceiledMembers appears on some height positions. It counts members that hit the published column ceiling, where no physical top was resolved.

Wind direction is aggregated around the circle. Members clustered at 350° and 10° belong near north, where a plain arithmetic mean would give 180°. Use the published percentile object and the package’s scene, and do not recompute the direction as a straight average.

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.

01

Declared members

9

Run membership from the profile and the package analysis envelope.

02

Position accounting

Resolved
0
Ceiled
9
Absent
0

Ceiled values are lower bounds. Absent values never enter the ranking as zero.

03

Conditional distribution

p10
4,200 m
p50
4,200 m
p90
4,200 m

These magnitudes describe the contributing members, not a calibrated probability.

Counts and percentile values come directly from the validated ensemble scenario. @azohra/meteo.briefing/analyze supplies the declared membership context; absent member values stay absent.Units member counts · altitude m ASL

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 Meteogram comparing narrow and wide percentile bands with a separately counted column-censored case.

Declared members 9Largest usable-top IQR 240 mBL-top members at column ceiling 0
900m 2953ft 1599m 5245ft 2298m 7538ft 2996m 9831ft 3695m 12123ft 4394m 14416ft 12 13 14 15 16 17

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.

The reference scene draws the p25–p75 bands and p50 lines stored in each validated ensemble profile.Units height m MSL · percentile positions p25, p50, p75 · members count

Narrow safely in TypeScript

The profile reference has a worked example. Pick the guard that answers your question:

QuestionGuard
Does the spread band matter?isEnsembleValue
Is this the zero-member dropout shape?isEnsembleDropout
Does a numeric derivation need the median?p50 from @azohra/meteo.briefing/derive, which returns a number or null
Does the integration reject ensemble documents outright?isDeterministicProfile

The scene graph draws median lines and percentile bands wherever the document has populated values. Dropout positions render as gaps. A level or hour whose required positions all dropped out adds nothing to the scene.

The column-ceiling study records how a 700 hPa source ceiling hid spread that appeared once the same member derivation was extended to 500 hPa.