Spray window, leaf wetness, evapotranspiration and degree-days computed hourly from your own weather station

29 variables computed every hour from the station's own readings: dew point, vapour-pressure deficit, evapotranspiration, delta-T, spray quality with its limiting factor, inversion risk, leaf wetness and degree-days for the crop and 9 pests. Every field carries a calibration tier.

Catalogue entry: Derived weather variables. Hourly physics-derived variables computed from the station's own readings (Risk Models v2). Every field carries a calibration tier — measured, physics, validated, literature or proxy.

Questions this data answers

  • Can the crop be sprayed this afternoon, and if not, is it wind, delta-T, an inversion or rain that rules it out?
  • How many hours was the canopy wet last night at what temperature, the number every foliar-disease model starts from?
  • How much water did the crop use yesterday, for scheduling the next irrigation?
  • Where is the aphid or tuber-moth population in its generation, from degree-days since planting?
  • When are the usable spray windows over the next 2 days at this station?
  • Is vapour-pressure deficit high enough this week to stress the crop, before the leaves show it?

The layer everything else is built on

Neither the risk models, the water balance, nor the advisories ever read a station directly; all 3 read this dataset instead. 29 variables get computed every hour from the station’s own readings through 1 shared set of formulas, which is exactly why the dashboard tile showing a spray window and the model deciding whether an infection period has started are always looking at the same number.

Field by field

6 fields carry the hourly means that make a row complete on its own. Dew point is the temperature at which the air’s own water would condense; dew-point depression is air temperature minus dew point, and the smaller that gap runs, the closer the canopy sits to wetting. Vapour-pressure deficit, in kilopascals, is the drying power of the air itself, the quantity plants respond to directly. The 6-hour pressure trend flags a front approaching or already passing through. Reference evapotranspiration for the hour, in millimetres, is the water a reference crop lost in that hour, and the water balance subtracts exactly that from the root zone.

Delta-T is dry-bulb minus wet-bulb temperature, the number sprayer operators work from: below 2 °C droplets don’t dry and drift, above 8 °C they evaporate before they ever land. The spray-quality index runs 0 to 100 for the hour, with a label from ideal to unsuitable and the single factor that limited it named alongside: wind, delta-T, inversion or rain. Inversion risk reads low, moderate or high, since a night-time inversion can carry fine droplets sideways for kilometres. The leaf-wetness hour reads 1 the moment the canopy is judged wet, with the reason and the length of the current wet run attached; the fungal models count these wet hours at given temperatures straight into disease severity. 10 degree-day fields give the hour’s own contribution above each organism’s base temperature, 1 for the crop and 9 for named pests: aphid, whitefly, potato tuber moth, fall armyworm, armyworm, diamondback moth, Tuta absoluta, thrips and coffee berry borer.

Calibration tiers

Every field carries 1 of 5 tiers: measured straight from a sensor, physics from a closed formula on measured inputs, validated against an instrument on this exact station type, literature for a published model applied without local validation yet, or proxy for an inference standing in for a sensor the station simply doesn’t have. Leaf wetness on a station without a wetness sensor stays a proxy, built from dew-point depression and humidity, until an actual sensor gets fitted, at which point it becomes measured.

Reading the derived weather variables samples

48 hours at Naivasha: nights ruled out by inversion risk, afternoons limited by delta-T once humidity drops below 40 %, and usable windows confined to the 2 or 3 hours after sunrise and before sunset. The same 48 hours at a coffee station in Uasin Gishu read poor right through the afternoon, with delta-T above 10 °C at a drier, lower-altitude site, and its degree-day column tracks coffee berry borer rather than potato entirely.

Sample data

48 hours of spray quality, the potato station at Naivasha, 2,490 m

ideal good marginal poor unsuitable
One cell per hour from 10-17 11:00 to 10-19 10:00 UTC. The limiting factor for each hour is in the table: inversion at night, delta-T through the afternoon, wind where the station measures it.
Delta-T above 8 °C means droplets evaporate before they land; below 2 °C means they do not dry. Both are read from the same air temperature and humidity that the station reports.
Hour°CRH %Dew ptVPD kPaΔT °CET₀ mm/hSprayLimitInversionLWDWet run hDD potato
01:1511.110011.100.16015 unsuitableinversionhighwet (dpd)120.1688
02:00111001100.16015 unsuitableinversionhighwet (dpd)120.1652
02:1510.810010.800.16015 unsuitableinversionhighwet (dpd)130.16
03:0010.710010.700.16015 unsuitableinversionhighwet (dpd)130.1546
03:1510.510010.500.16015 unsuitableinversionhighwet (dpd)140.1437
04:0010.510010.500.16015 unsuitableinversionhighwet (dpd)140.1463
04:1511.510011.500.160.003215 unsuitableinversionhighwet (dpd)150.1854
05:0012.910012.900.150.005415 unsuitableinversionhighwet (dpd)150.2458
05:1514.210014.200.140.008415 unsuitableinversionhighwet (dpd)160.2988
06:001590.713.50.161.080.008115 unsuitableinversionhighwet (night_condensation)160.3347
07:001874.813.40.51830.010715 unsuitableinversionhighdry00.4567
08:0021.263.914.10.914.60.129155 marginalwindlowdry00.5916
09:0023.652.613.41.3836.430.161355 marginalwindlowdry00.6928
10:0022.85112.11.3586.550.055155 marginalwindmoderatedry00.657

The last 14 hourly rows. LWD is the leaf-wetness hour with its reason; the wet run is the input to the fungal infection models. DD potato is this hour's degree-day contribution above the crop's base temperature.

The same hours at the coffee station, Uasin Gishu

Hour°CRH %VPD kPaΔT °CSprayLimitDD coffee berry borer
06:1524.148.91.5347.0455 marginalwind0.3833
07:0024.7471.6467.4285 ideal—0.4064
08:0025.943.51.8848.1885 ideal—0.4564
08:1527.139.82.169.0574 gooddelta_t0.5087
09:0027.3382.2579.4265 marginaldelta_t0.5185
09:1528.129.72.67611.2335 poordelta_t0.5508
10:0029.529.12.92911.7328 unsuitabledelta_t0.6094
10:1527.337.42.2799.5462 marginaldelta_t0.5183

A drier, lower station: delta-T above 10 °C in the afternoon, so the limiting factor is evaporation rather than inversion. The degree-day column changes with the crop: coffee berry borer here, potato and its pests at Naivasha.

Dataset idfarm.derived.hourly
Cadencehourly
EndpointGET /farm/derived
Key scopefarm:read
Declared fields29
History2026-06 to today
Coverageyour own stations
StatusOwn sensors, own account

Narrowed to your own gateways and to devices approved for API exposure.

Only for the account that owns the hardware. Readings and everything computed from them are served to keys on the owning account and to nobody else. The way to get this dataset is a station on your own field, or your own sensors sent in through Sensor Ingest. A NuaSense station on the field is what produces these rows; the hardware is described at nuasense.com/products.

Fields

FieldUnitNote
temperature°C
humidity%
pressurehPa
rainfallmm
solar_radiationW/m²
wind_speedm/s
dew_point°C
dew_point_depression°C
vpdkPa
pressure_trend_6hhPa/6h
et0_hourmm/hFAO-56 hourly
delta_t°Cdry- minus wet-bulb
spray_quality_index0-100
spray_quality_label—ideal…unsuitable
spray_limiting_factor—wind/delta_t/inversion/rain
inversion_risk—low/moderate/high
lwd_hour0/1
lwd_reason—
lwd_consecutive_hoursh
dd_potato_hour°C·hdegree-day contribution for potato
dd_aphid_hour°C·hdegree-day contribution for aphid
dd_whitefly_hour°C·hdegree-day contribution for whitefly
dd_ptm_hour°C·hdegree-day contribution for ptm
dd_faw_hour°C·hdegree-day contribution for faw
dd_armyworm_hour°C·hdegree-day contribution for armyworm
dd_dbm_hour°C·hdegree-day contribution for dbm
dd_tuta_hour°C·hdegree-day contribution for tuta
dd_thrips_hour°C·hdegree-day contribution for thrips
dd_cbb_hour°C·hdegree-day contribution for cbb

Filters

gateway_id

The same call, three ways

curl -G https://api.nuasense.com/api/nuasense/v1/farm/derived \
  -H "Authorization: Bearer nua_live_…" \
  -d start=-30d -d start=-48h -d fields=spray_quality_index,spray_quality_label,spray_limiting_factor,lwd_hour,et0_hour

Through the MCP connector the same read is the platform_dataset tool with dataset=farm.derived.hourly. Through a scheduled export it is one job with the same filters, delivered as a file. Every dataset takes the same arguments: start and end, every with agg, fields, limit up to 5,000, order, and the tags it declares.