Agromind — Status navodnjavanja parcele

Transparentan FAO-56 / CROPWAT model bilansa vode u zemljištu, obogaćen prognozom vremena, satelitskim indeksima i fenološkim stadijumom useva za praktične preporuke na nivou parcele.

Verzija dokumenta: 1.0 Datum: 23. maj 2026. Endpoint: GET /parcels/{id}/irrigation-status Publika: stakeholderi, agronomi, produktni tim

01 Šta Agromind računa

Agromind koristi FAO-56 / CROPWAT matematiku za bilans vode u zoni korena kao transparentnu osnovu. Dodaje sloj satelitskih indeksa (NDVI, NDMI), prognozu vremena (Open-Meteo), profil zemljišta (SoilGrids) i fenologiju useva kako bi pretvorio brojeve u praktičnu preporuku po parceli.

Potreba useva za vodom

ETc = Kc × ET₀

Koliko vode usev troši zavisno od stadijuma i prognoze.

Deficit u zoni korena

Dr (mm) trenutno + projekcija na 7 dana

Koliko nedostaje do polja-kapaciteta (FC) sada i na kraju nedelje.

Preporuka navodnjavanja

Indeks 0–100 + doza (mm)

Kada navodnjavati, koliko mm i u kojoj fazi nivo postaje kritičan.

Rizik od suše

Composite 0–100 sa 5 komponenti

Zemljište + VPD + dani bez kiše + toplotni stres + verovatnoća padavina.
Princip: jedan izvor istine Iste brojke kojima korisnik vidi „status“ idu i u alert engine, AI agronoma i recommendations engine. Backend računa jednom, svi konzumiraju istu vrednost.

02 Izvori podataka

Četiri spoljna izvora + interna baza, sve keširano na backend strani da bi browser/mobilni klijent ne udarali eksterne servise direktno.

Izvor Šta uzima Frekvencija Kesiranje
Open-Meteo
open-meteo.com
Tmax/Tmin, padavine, vlažnost, vetar, ET₀ (FAO Penman-Monteith), solarno zračenje, vlažnost zemljišta po 5 dubina (0–1, 1–3, 3–9, 9–27, 27–81 cm), temperatura zemljišta po 4 dubine (0, 6, 18, 54 cm). Prošlih 7 dana + 7 dana prognoze. Po zahtevu 1 sat (response cache)
ISRIC SoilGrids 2.0
rest.isric.org
Polje-kapacitet (FC, wv0033), tačka venenja (WP, wv1500), tekstura (glina/pesak/prah), pH, organski ugljenik, azot, bulk density, CEC. Po 5 dubinskih horizonata (0–5, 5–15, 15–30, 30–60, 60–100 cm). Po lokaciji parcele 30 dana (zemljište se ne menja brzo)
Sentinel Hub
Copernicus / S-2
NDVI (vitalnost), NDMI (vlažnost lista), kompoziti za vizuelni pregled na mapi. Svakih 3–5 dana (S-2 prolazak) Per-pixel; kratko (latencija pristupa)
Interna baza (Prisma) Geometrija parcele (koordinate poligona), kultura (16 podržanih ključeva), datum setve, sorta, beleške. Trenutno (CRUD)
Zašto cachiramo SoilGrids 30 dana Zemljište je „decadal“ — promene su sporije od koraka klijenta. Ključ keša je (lat3dec, lng3dec) što odgovara prirodnoj 250 m rezoluciji SoilGrids grida. Susedne parcele dele isti unos.

03 Tok podataka

Kako jedan zahtev sa portala („koliko da navodnjavam ovu parcelu?“) prolazi kroz sistem.

Open-Meteo ET₀, padavine, T, RH θ + Tsoil po dubinama ISRIC SoilGrids 2.0 FC, WP, tekstura po 5 horizonata Sentinel Hub NDVI, NDMI (odvojen endpoint) Parcele + agronomija kultura, datum setve poligon (interna DB) Agromind backend — irrigation-status servis 1. Priprema ulaza • centar parcele (bbox) • GDD od setve • BBCH stadijum • Kc + efektivna dubina korena • horizont zemljišta (30 ili 100 cm) 2. Bilans vode (FAO-56) • ETc = Kc · ET₀ • Ks (stress coefficient) • ETa = Ks · ETc • Pᵉff (FAO Annex 4) • dnevna evolucija Dr 3. Suša + zemljište • VPD (FAO Eq. 11–13) • composite 5 komponenti • klasifikacija θ vs FC/WP • T zemljišta (germinacija!) • zone: optimalno / hladno / vruće 4. Izlazni paket • indeks 0–100 • preporučena doza (mm) • dan kad nastupa stres • raščlanjeni doprinosi • izvori + timestamp Portal (web app) „Zemljište“ tab brojevi + grafici Admin app pregled portfolija parcele u stresu Alert engine push / e-mail prag = critical AI agronom chat odgovori osnovani na istim brojevima Kesiranje: • Open-Meteo response — 1 sat • SoilGrids profil — 30 dana po (lat, lng) zaokruženom na 3 decimale • Sastavljeni odgovor — 1 sat po (parcelId, windowDays) Jedan izvor istine Isti brojevi → portal, admin, alerti, AI agronom. Bez „drift“-a između modula.

04 Proračuni korak po korak

Sve formule su iz FAO Irrigation & Drainage Paper 56 (Allen et al. 1998). Ovo nije „crna kutija“ — svaki korak može da se proveri ručno.

4.1 — Referentna evapotranspiracija ET₀

ET₀ (mm/dan) je koliko bi referentna travnata površina trošila u datim uslovima. Konzumiramo direktno iz Open-Meteo (računa FAO-56 Penman-Monteith, jednačina 6). Inputi: solarno zračenje, vetar (korigovan na 2 m visine, FAO Eq. 47), Tmax/Tmin, RH.

4.2 — Stvarna potreba useva ETc

ETc = Kc · ET₀

Kc (crop coefficient) zavisi od kulture i fenološkog stadijuma. Tabele iz FAO-56 Tables 12, 17, 22. Pšenica u fazi cvetanja Kc ≈ 1.15, pri klijanju Kc ≈ 0.3.

4.3 — Korekcija za vodni stres Ks (FAO Eq. 84)

if Dr ≤ RAW → Ks = 1 (nema stresa)
if Dr ≥ TAW → Ks = 0 (potpuni stres)
otherwise → Ks = (TAW − Dr) / (TAW − RAW)

Gde je Dr = trenutna iscrpljenost zone korena, TAW = ukupna dostupna voda, RAW = lako dostupna voda. Stvarna ET je ETa = Ks · ETc — manja kad zemljište presuši.

4.4 — Efektivne padavine Pᵉff (FAO Annex 4, daily piecewise)

P < 2.5 mm → Pᵉff = 0 (sve ispari/intercepcija)
2.5–5 mm → Pᵉff = 0.5 · P
5–25 mm → Pᵉff = 0.8 · P
25–75 mm → Pᵉff = P − 5 (odlazi u runoff)
≥ 75 mm → Pᵉff = 0.7 · P

4.5 — Profil zemljišta: TAW i RAW

TAW = (FCWP) · rootDepth · 1000 // mm
RAW = MAD · TAW // mm

FC i WP iz SoilGrids (volumetrijska vlažnost u m³/m³). MAD (Management Allowed Depletion) je dozvoljeni gubitak pre nego što biljka oseti stres — FAO-56 Table 22; za pšenicu 0.55, za suncokret 0.45.

4.6 — Dnevni bilans vode

Za svaki dan i (0..windowDays):
  ETc_i = Kc · ET₀_i
  Ks_i = computeKs(Dr, TAW, RAW)
  ETa_i = Ks_i · ETc_i
  net_i = ETa_i − Pᵉff_i
  Dr = clamp(0..TAW, Dr + net_i)

Na kraju prozora dobijamo projectedDepletionMm — koliko zemljište neće biti od FC. Indeks navodnjavanja je min(100, Dr/RAW × 100).

4.7 — Klasifikacija statusa vode

Odnos Dr/RAWStatusBoja UIDoza
< 0.5comfortablezelena0 mm
0.5 – 1.0borderlinežuta0 mm (osmotriti)
≥ 1.0criticalcrvenamin(50, projectedDepletionMm) mm

Doza je ograničena na 50 mm po prolazu (praktični maksimum za površinsko/sistemsko navodnjavanje — Brouwer/Prins/Heibloem 1989). Veći deficit se rešava ponovnim prolazima.

05 Fenološki stadijumi i Kc

Kalibrisano za 5 kultura (pšenica, ječam, kukuruz, soja, suncokret). Ostale kulture trenutno koriste generičke parametre (Kc=1.0, dubina=0.6 m, MAD=0.5) — pogledati „sledeće korake“.

5.1 — Akumulacija toplote (GDD) i BBCH stadijum

GDD_dan = max(0, (Tmax + Tmin) / 2 − T_base)
// T_base = 0 °C za pšenicu/ječam, 10 °C za kukuruz/soju, 6 °C za suncokret

Od datuma setve sabiramo dnevne GDD. Pragovi po stadijumu (npr. pšenica: 0/150/400/700/950/1150/1350/1550/1800/2100 GDD) određuju trenutni BBCH (germination, leaf, tillering, stem, booting, heading, flowering, fruit, ripening, senescence).

5.2 — Efektivna dubina korena po stadijumu

Ovo je nedavno ispravljeno. Ranije se zrela maksimalna dubina (npr. 1.5 m za pšenicu) koristila u svim fazama, što je nadimavalo iscrpljenost u fazi klijanja oko 10×.

BBCH stadijumFrakcija max dubinePšenica (max 1.5 m)
germination0.10 (pod 0.10 m)0.15 m
leaf0.200.30 m
tillering0.400.60 m
stem0.701.05 m
booting0.951.43 m
heading i kasnije1.00 (max)1.50 m

Sva ostala matematika (TAW, depletion, horizont vlažnosti) koristi ovu efektivnu dubinu, ne maksimalnu.

5.3 — Temperatura zemljišta — stadijumski-svesna dubina očitavanja

U fazi klijanja i lista, temperatura se očitava na dubini setve (~3 cm), ne u zoni mature korena. Inače bi pšenica u klijanju prikazivala 54 cm dubinu, što nema agronomsko značenje za nicanje.

06 Indeks suše — pet komponenti

Composite 0–100 sa težinski raspoređenim doprinosima. Korisniku se prikazuje rezultat i raščlanjeni doprinosi za transparentnost.

KomponentaTežinaŠta meriFormula
Iscrpljenost zemljišta 0.40 Najvažnija — direktan deficit u zoni korena. clamp(0..1, projectedDepletion / TAW) · 100
VPD (vapor pressure deficit) 0.25 Atmosferski „suvi pritisak“ koji vuče vodu iz biljke. clamp(0..1, meanVPD / 3 kPa) · 100
VPD = es(Tmax) − es(Tmax)·RH/100
Suvi periodi 0.15 Najduži niz uzastopnih dana sa P<1 mm. min(maxRun/7, 1) · 100
Toplotni stres 0.10 Broj dana sa Tmax ≥ 30 °C u prozoru. min(heatDays/7, 1) · 100
Verovatnoća bez kiše 0.10 Prosečna prognozirana verovatnoća padavina, invertovana. (100 − meanPp) // „Bez kiše X%“
Napomena o težinama Težine su trenutno heuristika (WMO 2016 preporučuje multi-index pristup ali ne propisuje konkretne težine). Plan za V3 je kalibracija pomoću EDO (European Drought Observatory) CDI tile-ova za 3 istorijske suve godine — pogledati sekciju „Sledeći koraci“.

07 Šta korisnik vidi na ekranu

Mapiranje backend brojeva na elemente „Zemljište“ taba u portalu.

UI elementBackend poljeŠta znači
Indeks navodnjavanja (0–100, badge) irrigation.index + waterStatus Brzi pokazatelj. ≥100 = mora se navodnjavati.
Preporučena doza irrigation.recommendedDoseMm 0 mm ako ne treba; inače min(50, projectedDepletion).
„Trenutni deficit“ water.currentDepletionMm Sada: koliko mm fali do FC u zoni korena.
„Prognoza deficita 7d“ water.deficitMm Kumulativno: ETc − Pᵉff za sledećih 7 dana.
Sparkline grafik dnevnog Dr water.dailyBalance[].drEndMm Evolucija zone korena dan-po-dan.
Vlažnost zemljišta (chip) moisture.fillPctOfPaw NOVO % napunjenosti dostupne vode (100% = FC, 0% = WP). Mnogo razumljivije od sirovog θ.
Vlažnost po dubini moisture.byDepth[] Profil 0–81 cm u 5 traka.
Temperatura zemljišta + zona soilTemp.valueC + zone Frost / tooCold / marginal / optimal / warm / heatStress.
Bedž stadijuma BBCH cropParams.stage Germinacija / list / bokorenje / klasanje / cvetanje / …
Composite suše + 5 komponenti drought.composite + components[] Sa raščlanjenim doprinosima radi transparentnosti.

08 Granice modela i pretpostavke

Transparentnost o tome šta model ne radi:

Heuristike, ne kalibracija

Težine drought composite-a, prag toplote 30 °C, sush-prag P<1 mm — sve su konvencije bez kalibracije na lokalne uslove Vojvodine/Šumadije.

5 kultura kalibrisano

Pšenica, ječam, kukuruz, soja, suncokret imaju per-stage Kc/dubinu. Šećerna repa, krompir, vinograd, voćnjak — generički fallback (Kc=1.0). Treba ih dodati.

Centar parcele = bbox sredina

Za nepravilne (L-oblik) parcele tačka može pasti van poligona. Prihvatljivo pri 250 m SoilGrids rezoluciji, ali ne za uzorkovanje unutar parcele.

Bez senzora na terenu

Vlažnost je modelovana iz Open-Meteo, ne merena. Sa TDR sondom (METER TEROS-12) bismo dobili kalibraciju i confidence interval.

Daily piecewise efektivne padavine

FAO-56 zvanično koristi mesečni USDA SCS metod. Naša dnevna varijanta gubi tačnost na višednevnim olujama.

Bez istorijske klimatologije

Nema SPI/SPEI indeksa jer nemamo dugu istoriju po parceli. Drought composite je trenutno „forward-looking“ samo na 7 dana prognoze.

09 Sledeći koraci za poboljšanje

Prioritizovani backlog. Stavke V1–V12 vode se u docs/future-plans/parcel-irrigation-status-validation.md.

Faza 1 — pre nego što „upalimo“ za sve klijente

  1. V1 — Parity test sa CROPWAT 8.0
    Jedna parcela (PEJICEVI) × 4 sezone istorijskog vremena → uporediti naš bilans sa FAO CROPWAT 8.0. Cilj: nedeljni cumETc unutar ±5%; klase indeksa identične. Blokira uključivanje VITE_USE_BACKEND_AGRO=true kao default-a.
  2. V6 — Dodati nedostajuće kulture
    Šećerna repa (visoka vrednost u Vojvodini) i vinograd (visoka ekonomska vrednost) — FAO-56 Tabele 12+17+22 ulazi. Trenutno koriste generičke parametre.
  3. V10 — Bounded eviction na keševima
    Trenutno Map-ovi rastu zauvek. Swap na LRU+TTL (e.g. lru-cache). 24h soak test → memorija mora stabilna.
  4. V9 — Backend feature flag
    Dodati FEATURE_KEYS.IRRIGATION_STATUS da bismo per-org mogli ugasiti tokom pilot perioda.

Faza 2 — kalibracija pomoću terenskih merenja

  1. V2 — Postaviti TDR sonde
    1–2 METER TEROS-12 sonde (~€500 svaka) na pilot parceli za jednu sezonu. Cilj: Pearson r ≥ 0.7 sa našim currentDepletionMm. Ovo je jedini način da znamo koliko je model tačan na terenu.
  2. V3 — Kalibrisati težine drought composite-a
    Uzeti EDO (European Drought Observatory) Combined Drought Indicator tiles za Srbiju + 3 istorijske suvi godine (2017, 2022, 2024). Grid-search težine da minimizuju neslaganje. Cilj: Spearman ≥ 0.6 sa EDO CDI.
  3. V7 — Per-kultura toplotni prag
    Generičkih 30 °C ignoriše činjenicu da pšenica trpi već na 25 °C u cvetanju, dok kukuruz toleriše 32+. Dodati heatThresholdC po kulturi (Sánchez et al. 2014 pregled).

Faza 3 — infrastruktura

  1. V4 — Provera efektivnih padavina vs NRCS
    Za jednu vlažnu sezonu, uporediti naš dnevni FAO-56 piecewise vs (a) FAO-56 Annex 4 mesečni USDA SCS, (b) USDA NRCS dnevni runoff curve number. Ako odstupanje > 30%, preći na NRCS CN metod.
  2. V5 — Pravi centroid poligona
    Za sve aktivne parcele, izračunati shoelace centroid + porediti sa bbox centrom. Ako neka parcela ima > 50 m razliku ili bbox tačka pada van poligona, zameniti.
  3. V11 — Deljeni infra helperi
    Izdvojiti TtlCache, fetchJson, parseAreaCoordinates u src/common/utils/. Trenutno svaki modul ima svoju varijantu — drift rizik.
  4. V8 — Citat za microbial activity
    Generička 5–35 °C iz Brady & Weil treba zamenu sa Pietikäinen et al. 2005 (Q10 mikrobne respiracije zemljišta) + reference.
  5. V12 — Lift sliceForecast u shared helper
    Kad parcel-recommendations module zatreba isti pastDays-aware slice, izdvojiti u src/weather/utils/forecast.ts.

Faza 4 — produktivna proširenja

Predloženi sledeći konkretan korak Pokrenuti V1 (CROPWAT parity) na PEJICEVI parceli pre nego što se feature uključi za drugog tenanta. Trošak: ~1 dan posla. Vrednost: prva eksterna validacija — sada znamo samo da matematika je „self-consistent“, ne i da je tačna prema agronomskoj literaturi.