How every class assignment is scored for reliability, what each of the 66 elements can achieve given the source chosen for it, and what would have to change to lift the ceiling.
What the score is. Every class assignment carries a number between 0 and 1 stating how much the assignment can be relied on. A cell classed C2 at 0.88 and a cell classed C2 at 0.54 are the same class but not the same finding.
What it is built from. Four components, each answering one question. They are combined into a single score, and the lowest component constrains the result.
How the value reached the database. This is the component that separates field evidence from remote sensing from inference.
conf.element_confidence.field_sample_n records how many field observations exist for each element. Where the count is zero and the method is inferred, the element is a candidate for field sampling — and the confidence model identifies which elements those are without a separate exercise.How the source pixel compares with the cell, 131.4 m across flats. Where the pixel is larger than the cell, neighbouring cells receive identical values and real variation is lost.
score = 1.00 where pixel ≤ cell width; otherwise 1 / (1 + 0.5 · log₂(pixel / cell width)), floored at 0.35. Cell width is 131.4 m, the across-flats dimension of an H3 resolution-10 hexagon. Every score in the table above is that expression evaluated at that width — none is assigned by hand. The logarithm is used because the penalty from 10 m to 100 m is more consequential than from 5 km to 9 km — both are already regional.Whether the value is far enough from a class boundary that measurement error would not change the class. This is the only component that varies cell by cell within the same source.
Worked example. Rooting depth, class C4 = 25–50 cm, source error ±6 cm. All six values below are classed C4.
d/σ < 1.0 are flagged: fragile_class = TRUE, and alt_class_id records the class it would otherwise take.How settled the class boundaries themselves are. A correct measurement compared against an unapproved threshold still produces an uncertain class.
Why a geometric mean rather than multiplying. Four multipliers averaging 0.75 multiply to 0.32, which is uninformative. The geometric mean keeps the result on the same scale as its inputs while preserving the property that a low component holds the result down.
Which element's confidence is published. The class is set by one element — the worst one. The confidence published for that class is the confidence of that same element, or the lower value where two elements tie. Averaging across all elements would report a class as reliable when the element that actually decided it was the least reliable measurement on the cell.
The exponents are not equal. Nesting SQRT inside CBRT gives acquisition method and source resolution an exponent of ⅓×½ = ⅟ each, while boundary stability and threshold maturity carry ⅓ each. Threshold maturity therefore moves the score twice as far as whether the value was field-measured or inferred. This is deliberate: method and resolution describe the same thing — how well the source sees the cell — and are paired before entering the outer mean, so that a single source characteristic is not counted twice.
Bands. high ≥ 0.80 · medium ≥ 0.65 · low ≥ 0.50 · very_low < 0.50.
Five tables in the conf schema hold the model: conf.component for the multiplier configuration, conf.element_confidence for the per-source terms, conf.cell_element for the four component values on every cell, and conf.result_confidence and conf.zone_confidence for aggregation to module and zone level.
Their column definitions are documented with every other table in the Schema module, under Tables → Confidence. They are not repeated here so that the schema has one place of record.
Two of the four components are fixed the moment a source is chosen. Acquisition method comes from how the source produces the value; source resolution comes from its native pixel against the 131.4 m cell. Neither depends on the cell, so both can be computed now, before anything is processed.
The figures below hold boundary stability at its best case — a cell far from any class edge — and threshold maturity at its current source_validated value of 0.80. They are therefore ceilings: the highest confidence each element could publish on its most favourable cell. Real cells sit below them.
operational.Three levers exist, and they are not equally worth pulling. Each figure below is the same arithmetic applied to all 59 scorable elements.
source_validated 0.80 to operational 1.00 moves 10 more elements into the high band. It requires expert calibration, not data, and it lifts every element at once because the component is shared.field_measured everywhere — a national sampling programme, and the most expensive option by a wide margin. It buys less than calibration does, because method carries an exponent of ⅟ while threshold maturity carries ⅓.Resolution is the only lever that acts per element rather than across the board. It is worth pulling exactly where a coarse source meets an element that varies over short distances.
The clearest case is frost. SQ-E-05 sits at 0.73 because ERA5-Land is 9 km. Frost forms by cold-air drainage over hundreds of metres, in the Asir and Al Bahah highlands where terrain is most broken — so the resolution is not merely coarse, it is coarser than the process being measured. NCM station records would move both the method and the resolution term at once.
The weakest case is radiation. LQ-C-03 sits at the same 0.73 from the same source, but radiation varies little over short distances. The low score is arithmetically correct and practically unimportant, and no finer source is worth acquiring for it.
Two elements, the same score, opposite conclusions. A ranked list of ceilings is not on its own a work programme.