The 2 soil datasets
Soil sensor data is the node’s own readings at 2 depths about every 10 minutes, plus hourly and daily roll-ups built on top. The water balance is a different shape entirely, 1 row per station per day: root-zone depletion against what the soil can hold, with evapotranspiration pulled from the derived variables and rain pulled from the forecast.
Why the water balance needs 3 other datasets
Depletion is computed against total and readily available water, both of which come from the water-retention profile in the soil baseline. Evapotranspiration comes from the hourly derived variables. Forecast rain comes from the forecast dataset. Put together, the balance only exists for a station that has a location, a weather station and a soil baseline all at once, and the irrigation advisory fires off it the moment readily available water runs out with no rain in the forecast.
Soil moisture scale and calibration
A node reports moisture on its own 0 to 100 scale, not in volume percent. Field capacity and wilting point for the location, by contrast, come from the baseline in volume percent, which means a probe reading 89 against a field capacity of 34 is simply uncalibrated, and the balance marks its output as a sensor proxy rather than a real water estimate. Calibrating the probe against the baseline is the 1 step that turns that proxy into a working irrigation advisory.
Nodes and stations
Every node carries a device identifier and belongs to exactly 1 station. A key sees only the nodes approved on its own account, and nothing beyond that.