From station reading to disease risk
| Step | Dataset | Cadence | What it gives |
|---|---|---|---|
| 1 | Weather station data | ~10 min, hourly, daily | Readings as sent, and hourly and daily means for charts over a week or a season |
| 2 | Derived variables | hourly | Dew point, vapour-pressure deficit, evapotranspiration, delta-T, spray quality with its limiting factor, inversion risk, leaf wetness, pest degree-days |
| 3 | Disease and pest risk | hourly, per threat | Risk percent and level for each threat in the crop’s model set, with the hours and the data completeness behind the score |
Where spray windows live
The spray-quality index, its label and whatever factor is limiting it all sit as fields on the derived variables dataset, recomputed every hour straight from the station’s own readings. A spray-window advisory only goes out when a sprayable disease is elevated in the risk dataset and the hours ahead are suitable; soil-borne threats never trigger spray advice at all. Whether it fires or not, that advisory gets recorded in Farm records either way.
Calibration tiers
Every derived field carries 1 of 5 tiers: measured, physics, validated, literature or proxy. A dew point counts as physics, built off 2 measured inputs. A leaf-wetness hour inferred from dew-point depression and humidity stays a proxy until an actual leaf-wetness sensor sits on the station. The tier travels with the field itself, so an integrator can decide on the spot how much weight to put on it.
Which crop’s risk models run
A station’s crop, whether set on the farm profile or read straight off a sensor’s own crop label, picks the model set: 11 potato threats, 6 onion threats or 5 coffee threats. Potato is the calibrated set, built at 1,900 m in Naivasha; onion and coffee still run on literature defaults until they’re tuned the same way. A crop with no matching models gets logged and skipped, never guessed at.
Access
Readings, and everything computed from them, go only to keys on the account that owns the station. A new station arrives as pending and only answers over the API once it’s approved. Stations NuaSense didn’t install itself join through Sensor Ingest instead, and get the exact same derived variables and risk models once they’re in.