Case study · Olive · Belsh, Elbasan county
Forty degrees, and no irrigation
On 18 July 2026 the air over a two hectare Koroneiki grove hit 40.2°C. GreenLab sent the farmer a heat warning within the hour. It did not tell him to water, because the soil said he did not need to. This is the year of data behind that decision.
371
consecutive days of daily agronomic metrics
no gaps
1,023
satellite images across 12 index layers
Sentinel-2
8,889
weather observations for this field
hourly
98/100
days carrying soil readings, start to finish
every 2 hours
23
recommendations issued, 7 pulled before delivery
platform total
17 min
from heat alert to farmer acknowledgement
18 July
The grove
Just under two hectares of Koroneiki olives in Belsh, Elbasan county. Open field, rainfed, no irrigation system. The season opens at harvest on 14 September 2025 and the record runs unbroken to 19 September 2026.
The phenology for the year, as recorded: harvest on 14 September 2025, dormancy on 4 December, bud break on 15 March 2026, flowering on 5 May, fruit set on 20 May, pit hardening on 20 June. The 18 July heat wave lands squarely in pit hardening, which matters, and the system knew it did.
What is measured, and how
Six sources feed one picture of the grove. No single one of them would be enough.
- Soil probe
- Moisture, temperature and electrical conductivity at root depth, reported around every two hours, in the root zone rather than at a weather station.
- Air sensor
- Temperature and humidity in the canopy, reported around every two hours. Not the nearest weather station, the grove itself.
- Sentinel-2
- 1,023 images across 12 index layers including NDVI, NDMI, NDRE and EVI, on the satellite's revisit cycle.
- Weather model
- 8,889 hourly observations and a rolling seven day forecast for the grove's coordinates.
- Laboratory
- A full soil analysis sampled 14 January 2026: texture, pH, organic matter, CEC, carbonates, macro and micronutrients.
- Crop reference
- Optimal and critical bands per parameter for Koroneiki olives, plus 44 growth stages and the phenology for this season.
All timestamps are Europe/Tirana, which is the clock the farm and the nightly jobs both run on. Readings are stored at source resolution and never interpolated. A gap stays a gap.
The reference the readings are judged against
A number on its own means nothing. Every measurement is read against an optimal and a critical band held for Koroneiki olives. Here are the four soil bands, and what this grove actually read during the July heat wave.
| Parameter | Optimal | Critical | Observed | Verdict |
|---|---|---|---|---|
| Soil moisture % | 20 to 40 | 10 to 60 | 27.8 to 28.8 | in band |
| Soil temperature °C | 12 to 25 | 5 to 35 | 26.9 to 28.7 | above optimal |
| Soil EC dS/m | 0.8 to 1.8 | 0.3 to 3 | 0.22 to 0.25 | below optimal |
| Soil pH | 6.5 to 8 | 5.5 to 8.5 | 8.22 | above optimal |
Read that middle row again. Through the hottest week of the year, soil moisture sat at 28%, comfortably inside the optimal band of 20 to 40%. The heat was in the air, not in the root zone. That single fact is why the grove got a heat warning and not an irrigation instruction.
Why the soil had water in July
Because it had been filling since October. The water balance is the running account of what the soil gained from rain and lost to evaporation, and across the year it looks like this.
It starts at -2.4 mm at the dry end of the previous summer. Autumn and winter rain refill it to 851 mm by May. Then summer draws it down to 471 mm, with no irrigation and no refill. By mid July the grove still had well over half its reserve, and the probe confirmed it at root depth.
The same year in three other lines. Chilling hours climb from November, reach 1,093 by May and stop, because the dormancy requirement had been met. Heat stress hours are the mirror image: zero for nine months, then 18, 82, 214 and 236. Five frost days, all between December and January.
18 July, hour by hour
The crop reference puts the olive heat stress threshold at 35°C. Air temperature crossed it on 14 July and stayed above it for nine days.
| July | Air max °C | Soil °C | Moisture % | EC dS/m |
|---|---|---|---|---|
| 14 | 35.3 | 26.9 | 28.8 | 0.250 |
| 15 | 37.6 | 27.1 | 28.7 | 0.248 |
| 16 | 38.2 | 27.5 | 28.6 | 0.244 |
| 17 | 38.8 | 27.8 | 28.5 | 0.240 |
| 18 | 40.2 | 28.2 | 28.5 | 0.240 |
| 19 | 38.6 | 28.4 | 28.4 | 0.236 |
| 20 | 39.8 | 28.5 | 28.3 | 0.230 |
| 21 | 39.5 | 28.6 | 28.3 | 0.230 |
| 22 | 35.1 | 28.7 | 28.2 | 0.228 |
| 23 | 33.3 | 28.3 | 28.1 | 0.224 |
| 24 | 29.2 | 27.7 | 28 | 0.220 |
| 25 | 31 | 26.7 | 27.8 | 0.220 |
Soil temperature tracks the air but lags it, climbing from 26.9 to 28.7°C and peaking two days after the air did. Soil moisture falls slowly and without interruption, 28.8% down to 27.8%. There is no sharp rise anywhere in that column, which is what irrigation would look like. The grove was not watered, and did not need to be.
What the farmer received on 18 July, in Albanian, marked urgent for that day:
Valë e fortë të nxehti, mbroni ullishten (deri 41°C)
Referenca e kulturës vendos pragun e stresit termik në 35°C. Parashikimi 7-ditor tregon 4 ditë radhazi mbi prag... Faza aktuale është 'pit_hardening'... Shënim: ujitja trajtohet nga një domen tjetër, koordinoni për të mos aplikuar në mesditë.
"The crop reference sets the heat stress threshold at 35°C. The seven day forecast shows four consecutive days above it... The current stage is pit hardening... Note: irrigation is handled by another domain, coordinate so nothing is applied at midday."
Written at 15:31. Reviewed and signed off at 15:32. Acknowledged by the farmer at 15:48, seventeen minutes later, on the hottest afternoon of the year.
The recommendation that was not sent
The same day, the system looked at pore water electrical conductivity reading about 3.1 dS/m, above its nominal threshold. On most rules engines that fires a salt flush instruction, which on a rainfed grove in July means trucking in water. It did not fire:
Shënim: EC i ujit të poreve është mbi pragun nominal (~3.1 dS/m) por është i pakalibruar dhe në rënie të qëndrueshme, ndaj nuk kërkohet larje/shpëlarje kripërash.
"Note: pore water EC is above the nominal threshold, about 3.1 dS/m, but it is uncalibrated and falling steadily, so no salt flushing is required."
An uncalibrated probe, on a soil with 41% carbonates, reading just over a threshold on a falling trend. The system judged the number not yet trustworthy and the direction reassuring, and left the farmer alone. The next three months proved it right: 3.94, then 3.31, then 3.01, then 3.00 dS/m.
Knowing when not to send something is harder than knowing when to send it, and it is the difference between a tool a farmer keeps and one he mutes.
The midnight rewrite
Not everything the system writes is good enough. Twelve recommendations carry the date of 9 September: six first drafts written between 23:10 and 23:21, and six replacements written between 23:54 and 00:02.
In the half hour in between, all six drafts were read back and pulled. The agronomy was right. The Albanian read like a translation rather than like something a person would say. All six were replaced before morning, before anyone would have opened the app to read them.
Pulled
Pas ftohjes së fundjavës, nisni kontrollin e mizës së ullirit
Miza e ullirit (Bactrocera oleae) e ndal vendosjen e vezëve në vapë mbi 32-33 °C dhe riaktivizohet kur temperaturat bien në 20-28 °C me lagështi të lartë...
"The olive fruit fly (Bactrocera oleae) stops laying in heat above 32-33°C and resumes when temperatures fall to 20-28°C with high humidity..."
Sent
Kur të bjerë vapa, kontrollo për mizën e ullirit
Në vapë të madhe miza rri e qetë. Kur temperaturat bien dhe vjen lagështia, ajo fillon të lërë vezë te kokrra. Java që vjen është koha kur ia vlen t'i shikoni nga afër.
"In heavy heat the fly stays quiet. When temperatures drop and the damp comes, it starts laying eggs in the fruit. Next week is when it is worth looking closely."
Same advice. Same timing. No Latin binomial, no degree ranges. That one was signed off three minutes after it was written, and the farmer acknowledged it on 12 September.
Across the platform, 23 recommendations have been issued and 7 pulled. Six of the seven went for how they were written. One went on the agronomy: an irrigation notice on another farm, with the note "seems too much water quantity to be used". A model that reasons correctly about a pest and then explains it in a register no farmer will read has not done the job.
The full year, month by month
Chilling hours, growing degree days, heat stress hours, frost days and leaf wetness are cumulative, shown at month end. Reference evapotranspiration is a daily value, shown as the monthly total.
| Month | Chill h | GDD | Heat h | Frost d | Wet h | Water mm | ET₀ mm |
|---|---|---|---|---|---|---|---|
| Sep 2025 | 0 | 207 | 0 | 0 | 13 | -2.4 | 61 |
| Oct 2025 | 0 | 389 | 0 | 0 | 35 | 79.4 | 67.6 |
| Nov 2025 | 52 | 504 | 0 | 0 | 91 | 383.1 | 40.4 |
| Dec 2025 | 383 | 524 | 0 | 1 | 105 | 398.1 | 33 |
| Jan 2026 | 725 | 540 | 0 | 5 | 115 | 602.2 | 33.1 |
| Feb 2026 | 895 | 559 | 0 | 5 | 128 | 822.4 | 43.8 |
| Mar 2026 | 1064 | 603 | 0 | 5 | 141 | 823.6 | 74.9 |
| Apr 2026 | 1090 | 771 | 0 | 5 | 145 | 834.4 | 109.9 |
| May 2026 | 1093 | 1035 | 0 | 5 | 166 | 851.3 | 144.5 |
| Jun 2026 | 1093 | 1461 | 18 | 5 | 175 | 813.8 | 186.5 |
| Jul 2026 | 1093 | 1947 | 82 | 5 | 175 | 715.2 | 195.1 |
| Aug 2026 | 1093 | 2467 | 214 | 5 | 175 | 590.9 | 186.3 |
| Sep 2026 | 1093 | 2755 | 236 | 5 | 175 | 471.3 | 85.5 |