Glossary

In short: one fixed meaning for cell, bin, second, boundary, non-zero and counts, plus the four nested denominators an agreement figure can be computed over. A percentage means nothing until you know which one it used.

See also Validation, which uses every term defined here.

This page is the single definition. The paper's number registry carries the same definitions under validation.vocabulary, and the manuscript restates them; if the three disagree, this page and the registry are right.

Two terms are easy to confuse in a way that changes a headline: the share of cells where both files record zero and the share of particles in the excluded bins are different quantities over different populations, and both land near the same number.

The grid

A flight product is a two-dimensional grid of numbers, plus its axes.

TermDefinition
secondOne row. One second of flight time — the product's native time step. A flight has ~30,000 of them.
binOne column. One particle-size interval. The 2D-S grid has 128, smallest first.
cellOne row–column pair: a single number. One second, one size bin. A flight grid holds ~3.8 million cells.
countsThe Counts variable: whole particles recorded in that cell. An integer — which is why agreement can be exact equality rather than a tolerance.
size distributionThe Size Distribution cm-3 variable: the same grid, as a concentration. Both are compared; both give the same headline.

Which cells get counted

Four populations, each a strict subset of the one before. Numbers are from one 2D-S flight of a field campaign (20 September 2016) in the validation set.

PopulationCellsWhat it is
grid3,846,656every second × every bin
both-present3,202,944both files hold a value rather than fill (NaN)
non-zero55,017both-present, and at least one side is non-zero
used-bin non-zero13,039the same, restricted to bins 6 and above

The two are never mixed, and both are always printed. A check prints both every time and names what the looser one is made of.

The boundary

Bins 1–5 are excluded from every headline figure. They sit at the diode-pitch noise floor and the science does not use them — the field's convention, not a threshold tuned here. Boundary, unqualified, always means the line between bin 5 and bin 6.

Bins 1–5 also hold 99.4–99.8 % of all particles by count, which is what makes the headline denominator small. That is not the ~98 % zero-equals-zero share above; the two are different populations, each measured on its own.

QuantityValuePopulation
share of particles in bins 1–599.4–99.8 %all particles in the archived product
share of cells that are zero==zero95.8–98.8 %both-present cells

Agreement

TermDefinition
agreeing cellBoth files hold the same value. Exact equality, not within a tolerance.
differing cellBoth files hold a value and the values differ.
uncovered secondA second present in one file and absent from the other. Invisible to any cell-wise percentage, so coverage is always reported separately.
used-bin residualThe differing cells that survive into bins 6+. Across the six validated 2D-S flights of the validation set: 48 cells, of which none has both sides non-zero — the two implementations differ only on whether a second has particles, never on how many. This is a 2D-S result and does not transfer: on the HVPS most differing cells are the other kind, both sides non-zero and disagreeing, and bins 6+ is not a usable HVPS range, since it puts almost nothing there.

Files

TermDefinition
archived productThe archived MATLAB output the published science was written from. For the validated 2D-S flights these are base*.combined.H.2DS_2.cdf. All 29 held products carry the _2 suffix, hardcoded in the validation tool so nothing else can be compared against by accident.
proc filePer-particle output of stage 3 (framing): one row per particle, ~40 variables.
sd filePer-second size distribution, stage 4: one file per raw file.
combined productThe combine stage: one flight's sd files stitched into the single product a paper cites, and what validation compares.
.call sidecarA text file beside every output recording exactly how the stage was invoked, because no UIOOPS output records which call produced it and two reachable calls give a 58 % difference in accepted particles.

Pipeline stages and test terms

TermDefinition
goldenA stored file of expected output, written by running the original's own code on a fixed input — the UIOOPS .m sources under GNU Octave, or SODA-2's IDL .pro sources under GDL — that a test compares the port's output against. Most are committed and run on a fresh clone; goldens cut from real campaign data are not distributed, so the checks that need them report as skipped. Octave and GDL are needed only to regenerate goldens (Installation).
iQCA v3.5 imgProc_sm switch, default 0. iQC=1 runs a denoise pass on each particle image (imgProc_sm.m:801-846, ported as arrayprobe_uiops.qc.qc_image) before any measurement is taken from it, and adds the subparticle_num and subparticle_mindist variables to the proc file. The value is recorded in the .call sidecar; the v3.5 engine refuses --chunks when it is 1.
S2The decode stage (2 in the stages setting of arrayprobe run): turns a raw probe file into a decoded image file plus its .tas.csv true-air-speed sidecar. The driver's log lines for it begin S2.
S3The framing stage (3 in stages): frames particles out of the decoded images and writes the per-particle proc file.
S4The size-distribution stage (4 in stages): computes one-second size distributions and writes the sd file. The combine step that follows is c in stages and has no S number.

Evidence

TermDefinition
archived productThe strongest layer: output written by the original MATLAB. Limited to the configurations one campaign used.
differential oracleThe original's own .m files run unmodified under Octave. Reaches configurations no product covers, including inputs that crash the original.
documented semanticsThe weakest layer: a reading of the source plus a pinned test, labelled as such wherever it carries a claim, because both sides come from the same reading.
measured / derived / readHow a finding was established. Measured: run on real data; derived: computed from measured quantities; read: established by reading the source and flagged for the reader's own check, never asserted.

Probe and microphysics terms

Definitions as used in How a size distribution is built.

TermDefinition
optical array probeAn airborne instrument that records particle shadows on a row of photodiodes across the airflow; its raw file holds images, not sizes or concentrations.
diodeOne photodiode in the probe's array; the number of diodes times the resolution is the width the array images (Probes).
sliceOne clock of the array: the record of which diodes were shadowed at that instant. A particle passing through becomes a stack of slices.
habitA particle's shape class, assigned after Holroyd (1987) and written per particle to the proc file.
reject codeThe per-particle code that decides whether a particle is accepted into the size distribution.
inter-arrival timeThe time between one particle and the next; the shattering test and the live time are both built from it.
shatteringAn ice crystal striking the probe tips breaks into fragments that arrive in a burst; particles whose inter-arrival time is shorter than a threshold are removed as fragments.
sample areaThe effective area over which a particle of a given size is counted, set by sa_method: centre-in, entire-in, or the reconstruction correction that widens the array.
true air speed (TAS)The aircraft's speed through the air, from the probe's own record in the decode's .tas.csv sidecar.
live timeThe part of each second the probe could record: the sum of inter-arrival times less the time lost to overloads; written as sum_IntArr.
sample volumeSample area × true air speed × live time, per bin; it turns a count into a concentration and is written as sample_vol.