Saltar a contenido

Estrategias de riego#

Una estrategia es la regla con la que la máquina decide sola cuándo y cuánto regar una zona: por la edad del cultivo, por la humedad del suelo, por la radiación... Es distinta de una receta:

Estrategia Receta
¿Quién decide cuándo riega? La máquina, cada minuto, según la regla. Tú: la lanzas o la programas en un horario.
¿Qué define? Cuánta agua y cuándo, por zona. Una secuencia de pasos: zona, duración o volumen, pH, CE, nutrientes.
¿Dosifica? No cambia consignas: usa las del cabezal. Sí: cada paso trae su pH, CE y mezcla.
¿Dónde se configura? Por zona, en la Console: Diseñador de zonas, panel de la zona. En la Console, Recetas.

Una zona puede tener estrategia, usarse en recetas, o ambas cosas.

Cómo trabaja una estrategia#

flowchart TD
  A["Cada minuto, por cada zona con estrategia"] --> B{"¿La regla dice<br/>que toca regar?"}
  B -- no --> A
  B -- sí --> C{"¿Pasan las<br/>protecciones?"}
  C -- no --> R["No riega<br/>(queda en la bitácora)"] --> A
  C -- sí --> D["Abre las válvulas de la zona<br/>y arranca las bombas"]
  D --> E["Cierra al entregar el volumen<br/>(medido por el caudalímetro)"]
  E --> A
  • El volumen se mide con el caudalímetro principal; la válvula se cierra cuando se entregó el volumen calculado.
  • Cada evento dura como máximo 30 minutos, aunque falte volumen.
  • Solo hay un evento a la vez por zona.
  • La estrategia no cambia el pH ni la CE: el cabezal dosifica con sus consignas (ver Cambiar las consignas).

Quién manda sobre la zona, de mayor a menor:

  1. Una receta en curso (lanzada a mano o por un horario).
  2. El modo manual del kiosco: mientras dura, la estrategia de esa zona queda en pausa.
  3. La estrategia.

Qué familias riegan hoy#

Familia Método Hoy
F1 Fenológica M01 Riega.
F2 Humedad de suelo M03 Riega (necesita sensor de humedad).
F3 Evapotranspiración M10, M12 Riega: reparte el volumen del día en los riegos configurados.
F4 Balance hídrico M13, M14 Riega, igual que F3.
F5 Radiación acumulada M16 Riega: usa el piranómetro de la máquina o, si no hay, la radiación en vivo del servicio de clima.
F6 Bandeja activa M19 Riega si soporte activó la función (viene apagada). Necesita piranómetro y charola de drenaje.

En máquinas con válvulas reales

Por seguridad, una máquina con válvulas o bombas reales no riega sola hasta que su red de zonas está publicada desde la Console. Y una zona sin estrategia nunca riega sola.

Las seis familias#

F1 · Fenológica (M01)#

Idea: cada planta necesita cierta agua al día según su edad (días después del trasplante, DDT). La máquina lo multiplica por el número de plantas y lo reparte en varios riegos al día.

Cuándo usarla: cultivos con curva de consumo conocida y sin sensores de humedad o radiación.

Datos que necesita:

Dato Ejemplo
Fecha de trasplante (para contar los DDT) 2026-08-11
Tabla de mL por planta al día por rango de DDT DDT 0–20: 400 · 21–45: 800 · 46–90: 1200
Plantas por m² 3
Superficie de la zona (m²) 500
Riegos al día 6

Cálculo: mL al día = mL por planta × plantas/m² × superficie.

Ejemplo: tomate, 60 días después del trasplante

  • DDT 60 cae en el rango 46–90 → 1,200 mL por planta al día.
  • 1,200 mL × 3 plantas/m² × 500 m² = 1,800,000 mL = 1,800 L al día.
  • En 6 riegos: 300 L por riego, uno cada 4 horas.
  • Con una válvula de 3,500 L/h, cada riego dura unos 5 minutos.

A tomar en cuenta: los riegos se reparten por intervalos (cada 24/6 = 4 h) a partir del último, no a horas fijas del reloj. Al reiniciar la máquina, el primer riego sale de inmediato.

F2 · Humedad de suelo o sustrato (M03)#

Idea: regar una dosis fija cuando el sensor dice que el medio está seco.

Cuándo usarla: si tienes tensiómetro o sensor de humedad volumétrica confiable en la zona.

Dato Ejemplo
Umbral de tensión (kPa) — riega si la lectura es igual o más negativa −20 kPa (valor por omisión)
Umbral de humedad volumétrica (%) — opcional 30 %
Dosis por riego (L) 50 L

Ejemplo

  • El tensiómetro marca −28 kPa (más seco que −20): riega 50 L.
  • Marca −15 kPa: no riega.
  • Si después del riego sigue seco, vuelve a regar al minuto siguiente de cerrar el evento.

F3 · Evapotranspiración (M10 o M12)#

Idea: reponer lo que el cultivo pierde por evapotranspiración: ETc = ET₀ × Kc. La ET₀ se calcula con el clima de la ubicación de la máquina.

  • M10 (radiación, FAO): usa temperatura, radiación y humedad del día. Recomendado.
  • M12 (Hargreaves): usa solo temperatura mínima y máxima. Para cuando no hay datos de radiación.
Dato Ejemplo
Coeficiente de cultivo Kc 1.15
Superficie de la zona (m²) 500
Riegos al día 4
Altitud (M10) o latitud (M12) 1,500 m / 20.7°

Ejemplo con M10

  • Día de 24 °C, radiación de 18 MJ/m², humedad de 65 %, a 1,500 m: ET₀ = 5.73 mm.
  • ETc = 5.73 × 1.15 = 6.59 mm = 6.59 L por m².
  • 6.59 L × 500 m² = 3,293 L al día → 823 L por riego en 4 riegos.

A tomar en cuenta: la radiación es la de afuera; en invernadero ajusta el Kc a la baja.

F4 · Balance hídrico (M13 o M14)#

Idea: como F3, pero corrige por la uniformidad del sistema de riego (CU) y, en M14, agrega una fracción de lavado para sacar sales según la CE del agua de riego y la tolerancia del cultivo.

Dato Ejemplo
Kc 1.1
Coeficiente de uniformidad CU (0 a 1) 0.9
CE del agua de riego (dS/m) — M14 1.0
CE umbral del cultivo (dS/m) — M14 2.5
Superficie (m²) 500

Cálculo: la lámina es ET₀ × Kc multiplicada por el mayor de dos factores: 1/CU o 1/(1 − fracción de lavado). Fracción de lavado = CE agua / (5 × CE umbral − CE agua).

Ejemplo con M14 y ET₀ de 5 mm

  • Agua de 1.0 dS/m: fracción de lavado 0.087 → factor 1.095; por uniformidad 1/0.9 = 1.111 → manda la uniformidad. Lámina 5 × 1.1 × 1.111 = 6.11 mm → 3,056 L al día.
  • Agua de 2.0 dS/m: fracción de lavado 0.19 → factor 1.235 → ahora manda el lavado. Lámina 6.79 mm → 3,397 L al día.

A tomar en cuenta: necesita la ET₀ de Open-Meteo; si no hay dato ese día, no calcula (y por lo tanto no riega).

F5 · Radiación acumulada (M16)#

Idea: sumar la energía solar que recibe el cultivo y regar una dosis fija cada vez que se acumula un umbral (típico: 50 a 150 J/cm²). Más sol, más riegos.

Dato Ejemplo
Umbral (J/cm²) 100
Dosis por riego (L) 40

Ejemplo

Con 600 W/m² de radiación se acumulan 3.6 J/cm² por minuto: el umbral de 100 se alcanza cada 28 minutos. Un día de 18 MJ/m² (1,800 J/cm²) da unos 18 riegos.

De dónde sale la radiación

Del piranómetro de la máquina si lo tiene; si no, de la radiación en vivo del servicio de clima (se actualiza cada ~15 minutos). Si la máquina se queda sin ese dato más de 45 minutos, F5 deja de acumular hasta recuperarlo: nunca riega con una radiación vieja.

F6 · Bandeja activa (M19)#

Idea: riega por radiación acumulada, como F5, pero ajusta el tamaño del pulso según el drenaje que mide la charola: si drena poco, el pulso crece; si drena de más, se achica.

Cuándo usarla: sustrato en invernadero con piranómetro y charola de drenaje en la zona.

Dato Ejemplo
Umbral de radiación (J/cm²) 80
Pulso inicial, mínimo y máximo (mL) 400 / 100 / 1,500
Drenaje objetivo (%) 22
Ganancia (mL por cada punto de diferencia) 10

Ejemplo

  • La charola mide 15 % de drenaje (objetivo 22 %): faltan 7 puntos → el pulso sube 70 mL (de 400 a 470 mL).
  • Mide 30 %: sobran 8 puntos → el pulso baja 80 mL.
  • El pulso nunca sale del rango de 100 a 1,500 mL.

A tomar en cuenta: el pulso es el volumen de toda la zona, no por planta. El ajuste se hace cada minuto mientras haya lectura de drenaje. La función viene apagada y la activa soporte.

Modificadores#

Se agregan encima de la estrategia para ajustar el volumen:

Modificador Qué hace Hoy
M27 RDI (riego deficitario controlado) Multiplica el volumen por un factor (0 a 1) según el rango de DDT, para estresar a propósito en ciertas etapas. Funciona.
M29 Pulsos Reparte el volumen del día en N pulsos. Funciona solo con F1.
M30 VRI (riego variable) Multiplica el volumen por un factor distinto por zona. Funciona.
M28 PRD (secado parcial de raíz) Alterna el lado regado. Solo lo anota; aún no mueve válvulas.
M31 Recirculación Decide si se puede recircular el drenaje según su CE y cloruros. Solo lo anota; aún no mueve válvulas.

Protecciones que siempre aplican#

Antes de abrir, la máquina revisa estas condiciones. Si alguna falla, no riega y lo deja en la bitácora:

Protección No riega si...
Sensores Las lecturas de pH o CE de entrada llevan más de 5 minutos sin llegar.
Calidad de agua El pH de entrada está fuera de 5.5–8.5 o la CE de entrada pasa de 2.0 mS/cm.
Lluvia La lluvia del día en la ubicación pasa de 2 mm. Ojo: también aplica en invernadero.
Hidráulica Abrir la zona rebasaría el tope de la bomba con lo que ya está abierto.
Modo seguro La máquina está en modo seguro.

Para ver qué decidió la estrategia en cada momento, abre la Bitácora de auditoría y activa Mostrar decisiones de riego: verás líneas como Z03: tocaba regar (M19) o Z04: riego bloqueado — ....

Asignar una estrategia a una zona#

Antes de empezar

  • Dónde: Console → detalle de la máquina → Editar zonas → → clic en la zona → panel derecho, sección Estrategia de riego.
  • Quién: solo el administrador. Los demás roles ven la estrategia de cada zona en solo lectura.
  • Ten a la mano los datos de la tabla de la familia que vas a usar (arriba) y, para F1 o el modificador RDI, la fecha de trasplante.
  • Nada llega a la máquina hasta que toques Aplicar cambios.
  1. Abre el Diseñador de zonas y haz clic en la zona en el plano.
  2. En el panel derecho captura la Fecha de trasplante si vas a usar F1 o RDI: de ahí la máquina cuenta los DDT cada día.
  3. En Estrategia de riego, elige la Familia (F1 a F6). La Console preselecciona el método recomendado; si la familia tiene dos (F3: M10 o M12; F4: M14 o M13) cámbialo en Método. Debajo aparece qué necesita ese método (sensor, charola, servicio de clima).
  4. Llena los Datos de la estrategia. La superficie se precarga con la de la zona; los campos con valor por omisión lo muestran en gris y puedes dejarlos vacíos. Un dato fuera de rango se marca en rojo con la razón: son los mismos límites con los que la máquina descartaría la estrategia en silencio, así que no se puede aplicar hasta corregirlo.
  5. Marca los Modificadores que quieras (tabla arriba) y llena sus datos. M28 PRD y M31 Recirculación solo se anotan en la bitácora; M29 Pulsos solo se puede activar con F1.
  6. Toca Aplicar cambios y espera a que la etiqueta pase a Aplicado vN (ver Publicar los cambios).
  7. Comprueba en la Bitácora de auditoría con Mostrar decisiones de riego que la zona empiece a evaluar: Z03: tocaba regar (M19) o Z03: en espera.

En el plano, cada zona con estrategia muestra debajo de su nombre un resumen como F6 · M19 o F1 · M01 + M27.

Qué pide cada familia en el panel:

Familia Captura en la zona Datos de la estrategia Además necesita
F1 M01 Fecha de trasplante Tabla de mL por planta por rango de DDT, plantas/m², superficie, riegos al día —
F2 M03 — Umbral de tensión (kPa) y/o de humedad (%), dosis por riego Sensor de humedad en la zona
F3 M10 / M12 — Kc, superficie, riegos al día; altitud (M10) o latitud (M12) Clima de la ubicación
F4 M14 / M13 — Kc, CU, superficie, riegos al día; CE del agua y CE umbral (M14) ET₀ diaria del servicio de clima
F5 M16 — Umbral (J/cm²), dosis por riego Piranómetro o radiación en vivo
F6 M19 Charola de drenaje Umbral, pulso inicial / mínimo / máximo, drenaje objetivo, ganancia Piranómetro, charola y la función activada por soporte

Quitar la estrategia: elige Sin estrategia en Familia y aplica. Los datos capturados se conservan en la zona por si la vuelves a activar. Para pausarla sin quitarla usa el modo manual del kiosco (ver Operación en el kiosco).

Si Aplicar se rechaza

La estrategia de la zona Zxx tiene datos inválidos: abre el panel de esa zona y corrige los campos en rojo. Los avisos en ámbar (charola sin asignar, F6 apagada, pulsos distintos de los riegos al día) no bloquean, pero explican por qué la zona podría no regar como esperas.

Para soporte: forma de la configuración

La estrategia vive en zones.control_pipeline y sus datos en crop_params de la zona; la Console los escribe con PATCH /machines/{id}/zones/{zone_id} y el commit de topología. El catálogo que la Console ofrece (métodos, claves y rangos) está en web/src/components/zone-designer/strategyCatalog.ts y una prueba lo compara contra los fuentes del edge. Ejemplo F6:

{
  "strategy": {"id": "M19", "params": {
    "threshold_j_cm2": 80, "pulse_ml_baseline": 400,
    "pulse_ml_min": 100, "pulse_ml_max": 1500}},
  "modifiers": []
}

con crop_params = {"threshold_j_cm2": 80, "pulse_ml_baseline": 400, "pulse_ml_min": 100, "pulse_ml_max": 1500, "target_drainage_pct": 22, "gain_ml_per_pct": 10}. El edge lee todos los datos de crop_params; para M16 y M19 la Console copia además umbral y pulsos a strategy.params, que es lo que lee el constructor (pulse_ml_baseline solo tiene efecto ahí). En F1 a F5 los datos van en crop_params (ml_per_day_table, plants_per_m2, zone_area_m2, events_per_day, kc, cu, ec_i_ds_m, ec_th_ds_m, kpa_trigger, vwc_trigger_pct, dose_l_per_event, latitude_deg, elevation_m); los modificadores leen rdi_table ([[ddt_desde, ddt_hasta, factor], ...]), pulse_n, vri_factors ({"Z04": 0.9}, por código de zona), ec_max_ds_m, chloride_max_mg_l y fresh_pct.