Contents — find the section you need

Change parameters and verify

Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.

Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.

The experiment controls are in English.

Open experiment panel in a new tab

Download reproduction source

Pruebe el experimento de área proyectada en su navegador

El panel superior ejecuta el experimento sintético de imagen sin necesidad de instalar Python. Elija la escena limpia, con etiqueta verde, tenue o recortada; cambie el brillo mínimo V, la región de interés y los mm/píxel. Nueve ajustes predefinidos incluyen las siete condiciones publicadas, una ROI insuficiente y una selección vacía. Los ajustes predefinidos reinician cada entrada; cambiar el umbral manualmente también modifica el caso tenue recuperado.

Inspeccione la entrada, la referencia dentro del cuadro, la máscara extraída y la superposición de error. El rojo marca falsos positivos y el azul marca falsos negativos. Un contorno marrón marca una ROI seleccionada sobre la entrada. Guarde un resultado como A y cambie una entrada para comparar imágenes y métricas a la misma escala de visualización. La tabla de datos entrega series horizontales de píxeles (x/y en base cero y longitud); reconstruyen exactamente cada región de la imagen, sin submuestreo. Comparta condiciones o descargue el resultado en JSON para conservar el experimento.

Las imágenes siguen siendo las escenas geométricas originales de 320×240, sin carga de fotografías reales ni entrada de cámara. Se reutilizan sin cambios las funciones originales de geometría y medición en NumPy. El navegador reemplaza únicamente la conversión/selección de rango de OpenCV por una búsqueda verificada de sus tres colores RGB fijos: fondo (235,235,235), objetivo (50,160,65) y objetivo tenue (20,60,25). Sus valores HSV uint8 en OpenCV 4.6.0 son (0,0,235), (64,175,160) y (64,170,60). Esto no es un conversor HSV de propósito general. H 35–85 y S 80–255 se mantienen fijos; el mínimo de V es ajustable de 0 a 255, ambos inclusive. No se aplica morfología.

La ROI fija que excluye la etiqueta es (50,20,230,190); la ROI pequeña es (140,60,20,30), en píxeles x/y/ancho/alto. Ninguna se adapta a la planta. La escala varía de 0,1 a 1,0 mm/píxel como una conversión de plano de referencia asumida, no una calibración. La imagen no cambia cuando cambia la escala. touches_frame aparece como 1 para sí y 0 para no; una selección vacía tiene precisión indefinida (—). Un IoU perfecto para una escena recortada no dice nada sobre las porciones fuera de la imagen. Estas salidas no miden biomasa, crecimiento, estrés ni área foliar real.

Las descargas originales y las líneas de base guardadas permanecen sin cambios. Las instrucciones de reproducción local que siguen a continuación son opcionales. El adaptador del navegador usa NumPy sin OpenCV; guarde su punto de entrada, núcleo y paleta juntos para ejecutarlo localmente con NumPy instalado.

leaf: experiment.py

leaf: leaf_kernel.py

leaf: palette.json

leaf: original.py

Detección y caudal en ACE — dónde medir el CO₂ y la solución nutritiva

Igualdad de lecturas puede referirse a lugares y momentos distintos

El OD del depósito difiere del OD a la salida de un canal de cultivo. Antes de atribuir la diferencia al consumo de oxígeno por las raíces, verifique si los sensores observan momentos comparables, si la calibración es consistente y si la muestra cambia durante el tránsito.

La guía de zona radicular separó CE, pH, OD y balance de agua. Este artículo pregunta dónde y cómo compararlos. Reutiliza los conceptos de retardo y calibración de la guía de sensores de temperatura/humedad, añadiendo cuestiones propias del CO₂, la solución nutritiva y el caudal.

La tabla de ubicaciones y el procedimiento de investigación que siguen son nuestro enfoque de diseño propuesto. No son mediciones de una instalación, cantidades de sensores obligatorias ni umbrales de alarma universales para el cultivo.

Decida qué diferencias necesita observar

Objetivo Puntos de comparación de ejemplo Registros complementarios
CO₂ en la zona de cultivo Cerca del dosel, aire de suministro, escape o retorno Altura, dosificación, ventilación, puertas, temperatura y HR
CE, pH y temperatura del agua Depósito mezclado, entrada y salida del canal de cultivo Agua de origen, adiciones, volumen y circulación
OD Depósito, cerca de las raíces, salida del canal Temperatura, aireación y tecnología del sensor
Caudal líquido Reposición, ramales seleccionados, descarga Caudal, ubicación y estado de la válvula
Nivel y presión Depósito, aguas arriba/abajo de un filtro Relación nivel-volumen, referencia de presión y elevación
Movimiento de aire Frente/fondo de los estantes y distintas alturas Orientación de la sonda, duración del promedio y estado del ventilador

Use puntos permanentes para el monitoreo y mediciones portátiles para el mapeo. Conserve una referencia fija para distinguir la variación temporal durante un relevamiento móvil. Asigne ID de ubicación independientes de los ID de sensor para que los reemplazos no rompan el historial de ubicación.

¿Se ajusta la autocalibración de CO₂ a las condiciones de cultivo?

Una medición inmediatamente junto a una salida de CO₂ no debería representar automáticamente todo el dosel. Registre las relaciones con la inyección, el aire de suministro/escape y la respiración humana. Un punto que diagnostica el equipo de dosificación cumple un propósito distinto de uno que evalúa las condiciones del cultivo.

Verifique el algoritmo de calibración. La nota de calibración de campo del Sensirion SCD30 de 2018 describe el ASC usando una concentración mínima correspondiente a 400 ppm y que requiere exposición regular a esa concentración.

Nuestra inferencia es que las salas enriquecidas de forma continua pueden no satisfacer este supuesto. Esto concierne al algoritmo documentado, no a todos los sensores de CO₂. Siga las instrucciones del modelo y firmware seleccionados y planifique la comparación con gas de referencia o un instrumento calibrado. El supuesto histórico de 400 ppm no es un valor de calibración exterior garantizado en la actualidad.

Las salidas de temperatura/HR integradas en un dispositivo de CO₂ pueden describir su recinto en lugar del aire representativo del dosel. Distinga las entradas de compensación ambiental de las mediciones usadas para evaluar el entorno del cultivo.

CE, pH y OD necesitan verificaciones distintas

El manual de instrumentos multiparamétricos del USGS conecta el almacenamiento, el mantenimiento, la calibración, la medición y el reporte. Su alcance en aguas naturales no establece puntos de ajuste de cultivo ni idoneidad para una solución nutritiva en particular.

La siguiente lista de verificación propuesta aplica ese enfoque general; los procedimientos y soluciones reales deben ajustarse a la documentación del instrumento.

Parámetro Elementos a verificar
CE Estándar de conductividad y temperatura, rango esperado, constante de celda y compensación de temperatura
pH Buffers apropiados al rango, temperatura, estado del electrodo/unión y almacenamiento
OD Método óptico o electroquímico, condiciones de calibración, compensación de presión/salinidad, estado de la membrana o cápsula
Todos Error antes del ajuste, resultados tras la limpieza/ajuste, identidad del estándar, fecha y tiempo de estabilización

La concordancia con un estándar no establece lecturas representativas tras la instalación. Investigue burbujas, depósitos, líquido estancado y diferencias locales de concentración inmediatamente después de las adiciones.

La tecnología de OD importa. Las indicaciones de medición de YSI explican que los sensores ópticos no consumen oxígeno y no tienen requisito de agitación por principio de medición, aunque el caudal puede mejorar el tiempo de respuesta. No asuma requisitos de caudal idénticos para dispositivos electroquímicos y ópticos. Incluso un sensor óptico necesita muestrear líquido representativo del entorno radicular previsto.

Una línea de muestreo lleva líquido más antiguo al sensor

Una celda de flujo remota separa el momento de visualización de las condiciones en el punto de muestreo. Para un volumen de línea sintético de 0,50 L y un caudal constante de 0,25 L/min, asuma desplazamiento ideal sin mezcla ni dispersión:

t_{transport}=V_{line}/Q=0.50/0.25=2.0\ \mathrm{min}
Diagram 1 · Use the button to switch views
Secuencia conceptual que separa el transporte de la muestra, la respuesta del sensor y la recepción del registro, con un tiempo de transporte sintético de dos minutos.

Los dos minutos describen únicamente el transporte ideal de la línea. La mezcla en la celda, la respuesta del sensor y el retardo de comunicación son efectos adicionales.

Duplicar el caudal a 0,50 L/min reduce este tiempo ideal a un minuto. Las líneas y celdas reales se mezclan; la temperatura y el intercambio gaseoso también pueden cambiar la muestra. Desplazar las marcas de tiempo dos minutos no necesariamente reconstruye las condiciones originales.

Registre por separado la ubicación de muestreo, la configuración de línea/celda, el caudal, el momento de medición del instrumento y el momento de recepción. Al cambiar entre puntos de muestreo, verifique también el arrastre de la muestra anterior.

Compare el comando de bomba, el caudal, el nivel y la presión

Bomba encendida no es una medición de caudal. La entrega total y la entrega a cada ramal son observaciones distintas. Siga los requisitos del caudalímetro elegido para tramos rectos, tuberías llenas, rango y burbujas.

Convierta nivel a volumen usando la geometría del depósito. Para una sección transversal constante, el cambio de volumen es igual al área multiplicada por el cambio de nivel; esa conversión no es universal para recipientes de fondo inclinado. La medición de nivel basada en presión también requiere considerar la densidad y la presión de referencia.

La presión diferencial del filtro puede respaldar comparaciones, pero también depende del caudal. Un aumento no prueba por sí solo la obstrucción cuando las condiciones de operación difieren. Registre las elevaciones de medición, la presión manométrica frente a absoluta y las unidades.

Use un residuo de balance de agua para encontrar inconsistencias

Aquí el límite es solo el depósito. Q_{in} incluye cada corriente entrante y Q_{out} cada corriente saliente, incluidos el suministro y el retorno de circulación. Esto difiere del límite de todo el sistema del artículo anterior. El ejemplo sintético fija en cero otros términos, como la evaporación.

r=(V_1-V_0)-\sum_i(Q_{in,i}-Q_{out,i})\Delta t_i

Usando L/min y minutos, el residuo r resulta en L. En nuestro ejemplo original, el flujo de entrada es 1,0 L/min y el de salida 0,2 L/min durante cinco minutos. La ganancia prevista es 4 L, mientras que el volumen inferido del nivel solo sube de 100 L a 101 L. El residuo es −3 L.

Esto motiva investigar corrientes no registradas, sesgo de caudal/nivel, diferencias de sincronización o pérdidas omitidas. No es prueba de fuga.

from math import isfinite


def transport_minutes(line_l, flow_l_min):
    if not all(isfinite(x) for x in (line_l, flow_l_min)):
        raise ValueError("finite values required")
    if line_l < 0 or flow_l_min <= 0:
        raise ValueError("nonnegative volume and positive flow required")
    return line_l / flow_l_min


def residual_l(v0, v1, intervals):
    if not all(isfinite(v) and v >= 0 for v in (v0, v1)):
        raise ValueError("invalid tank volume")
    if not intervals:
        raise ValueError("intervals required")
    predicted = 0.0
    for minutes, inflow, outflow in intervals:
        if not all(isfinite(x) for x in (minutes, inflow, outflow)):
            raise ValueError("finite interval values required")
        if minutes <= 0 or min(inflow, outflow) < 0:
            raise ValueError("invalid interval")
        predicted += (inflow - outflow) * minutes
    return (v1 - v0) - predicted


print(f"transport: {transport_minutes(0.50, 0.25):.1f} min")
print(f"residual: {residual_l(100, 101, [(5, 1.0, 0.2)]):.1f} L")

Guarde el código como measurement_check.py y ejecute python3 measurement_check.py para obtener 2.0 min y -3.0 L. Los caudales son constantes dentro de cada intervalo, y se asume que los intervalos cubren todo el periodo de observación sin huecos ni superposiciones. Este pequeño ejemplo no acepta marcas de tiempo, por lo que no puede verificar ese supuesto automáticamente.

Cambie el volumen final a 104 L y el residuo se vuelve cero. Dividir cinco minutos en dos y tres minutos con los mismos caudales deja el resultado sin cambios. Para datos medidos, invalide una integral incompleta en lugar de tratar un caudal faltante como cero.

Suponga que cada volumen en los extremos tiene un margen de error de 0,5 L, cada caudal tiene un margen de error de 0,1 L/min y la duración es exacta. La contribución de peor caso al error del residuo en cinco minutos es 0.5+0.5+5(0.1+0.1)=2.0 L. Esos supuestos por sí solos no pueden explicar una discrepancia de 3 L. Este es un límite ilustrativo, no la precisión de un producto ni un intervalo de confianza estadístico. Valide los límites y los términos omitidos antes de diagnosticar una falla.

Separe la circulación de la ventilación

La circulación mueve y mezcla el aire interior; la ventilación intercambia aire con el exterior. La guía de invernaderos de NC State las trata por separado. No incluya el caudal nominal de un ventilador de circulación en un balance de CO₂ como intercambio exterior.

Para los relevamientos de velocidad del aire en el dosel, registre la orientación de la sonda, la ubicación, la duración del promedio, la iluminación y el estado de los ventiladores. El flujo en el frente de un estante no establece el flujo en su parte trasera. Conserve las diferencias espaciales y las fluctuaciones además de los promedios, y repita el relevamiento cuando el crecimiento del cultivo modifique las trayectorias de flujo. Una sola velocidad del aire no predice directamente la transpiración ni la enfermedad.

Ponga en marcha la cadena de medición

  1. Defina el propósito de observación y el límite; alinee ID de ubicación, unidades y tiempo.
  2. Compare con estándares o instrumentos de referencia y conserve los resultados antes/después del ajuste.
  3. Investigue las diferencias entre instrumentos mediante mediciones colocalizadas, por separado de los relevamientos espaciales.
  4. Compare los registros de operación con las observaciones, distinguiendo los retardos de transporte, respuesta y comunicación.
  5. Use el balance de agua y mediciones múltiples para encontrar inconsistencias, y luego investigue causas alternativas.

Esto establece las observaciones para el control y la estimación posteriores. La estimación por imagen de la planta necesita la misma disciplina: conserve el momento, la iluminación y el punto de vista de la imagen antes de interpretar los cambios aparentes como crecimiento.

Imágenes de plantas en ACE — medir el área proyectada, distinguir el área foliar

¿Más verde en una fotografía significa más follaje?

La misma planta puede ocupar una región visible distinta cuando cambian la orientación de las hojas, el solapamiento, la iluminación o la posición de la cámara. Nuestra primera tarea de estimación se limita, por lo tanto, al área proyectada de una región seleccionada en una imagen. No estima directamente el área foliar, la masa, el rendimiento ni el estrés.

La guía de detección anterior separó las diferencias espaciales, de instrumento y de sincronización. Las imágenes también necesitan registros de adquisición y procesamiento. Aquí, elipses superpuestas forman entradas sintéticas; no hay fotografías reales de plantas ni modelos entrenados. Los ejemplos controlados exponen las causas de error antes de diseñar la evaluación sobre plantas reales.

Defina primero la magnitud

Para una máscara binaria M(u,v) con los píxeles objetivo iguales a uno, el conteo de píxeles es N=\sum_{u,v}M(u,v). Dada una escala isotrópica asumida s [mm/píxel], el área equivalente de plano de referencia es:

A_{proj}=Ns^2

Nuestra línea de base sintética contiene 14 738 píxeles. A 0,5 mm/píxel, esto equivale a 3684,50 mm². La escala se suministra a modo ilustrativo, no medida automáticamente.

Magnitud Qué mide esta página Qué no es
Conteo de píxeles de la máscara Número de píxeles seleccionados Área geométrica encerrada por un contorno
Área proyectada de plano de referencia Conteo de píxeles por escala al cuadrado Área de superficie real de hojas curvas
Unión visible Región objetivo visible desde arriba Suma del área de cada hoja superpuesta
Región verde Candidatos seleccionados por color Identificación semántica garantizada de hojas

El análisis de tamaño de PlantCV calcula de manera similar propiedades a partir de regiones etiquetadas y admite la conversión mediante dimensiones de píxel. Mantenga la extracción de la región separada de la conversión de unidades. Nuestro código cuenta píxeles directamente y no llama a PlantCV.

Mantenga la adquisición y la escala consistentes

Registre la posición y orientación de la cámara, la distancia focal, las dimensiones de la imagen, la exposición, el balance de blancos, la iluminación, el ID de la planta y la marca de tiempo. Si la exposición o el balance de blancos son automáticos, registre ese estado. Un umbral fijo aplicado a condiciones de imagen cambiantes puede convertir cambios de color en aparentes cambios de área.

Una longitud conocida de 100 mm que abarca 200 píxeles da 0,5 mm/píxel en esa ubicación. Coloque la referencia en el plano de medición y alinee la cámara lo más perpendicular posible. Si la distorsión o la perspectiva importan, use la calibración de cámara y la corrección plana apropiada. Escalas horizontal y vertical distintas requieren Ns_xs_y.

Una referencia en el suelo no necesariamente comparte la escala de las hojas que crecen por encima de ella. La corrección plana no vuelve coplanar un dosel tridimensional. Cuando estos supuestos no se cumplen, reporte los conteos de píxeles bajo adquisición fija o el área equivalente de plano de referencia, en lugar de afirmar un área foliar física.

Usar 0,6 en lugar de 0,5 mm/píxel multiplica el área de la misma máscara por 1,44: un aumento del 44 %. Una extracción correcta puede coexistir con una conversión de unidades incorrecta.

Seleccione candidatos por color

El tutorial de OpenCV demuestra la conversión a HSV y la selección de rango de color con inRange. Seleccionar verde no es lo mismo que reconocer una hoja.

Las entradas son de 320×240 píxeles. En la representación HSV de 8 bits de OpenCV, este ejemplo selecciona H 35–85, S 80–255 y V 100–255. H no se ingresa directamente como un ángulo de 0–360. Nuestros arreglos generados son RGB, por lo que la conversión usa COLOR_RGB2HSV; no reutilice ciegamente esa conversión en imágenes BGR devueltas por imread.

El núcleo son tres líneas. La generación de imágenes, la comparación de condiciones y la verificación están en la descarga completa.

hsv = cv2.cvtColor(rgb, cv2.COLOR_RGB2HSV)
mask = cv2.inRange(hsv, (35, 80, min_v), (85, 255, 255)) != 0
pixels = int(np.count_nonzero(mask))

No se aplica relleno morfológico ni eliminación de componentes pequeños. Si añade dicho procesamiento, verifique si cambia las hojas estrechas o los huecos entre hojas frente a las máscaras de referencia.

Compare los fallos con la misma geometría

La referencia generada es la unión visible dentro del cuadro de tres elipses. El solapamiento se cuenta una sola vez, y las porciones fuera del cuadro se excluyen.

Línea de base sintética, etiqueta verde de fondo y lado izquierdo atenuado, con falsos positivos marcados en rojo y falsos negativos en azul.

El rojo marca fondo seleccionado como objetivo; el azul marca píxeles objetivo omitidos. Las regiones verdes conservan sus colores de entrada. Estas son formas sintéticas, no fotografías de plantas.

Condición Píxeles seleccionados Área equivalente de plano [mm²] IoU Interpretación
clean 14.738 3.684,50 1,000 Coincide con la referencia sintética
green_tag 15.538 3.884,50 0,949 Añade 800 píxeles de fondo
green_tag_roi 14.738 3.684,50 1,000 Excluye la etiqueta en este diseño
dim 7.428 1.857,00 0,504 Pierde casi la mitad sin cambiar la forma
dim_lower_v 14.738 3.684,50 1,000 Un mínimo de V de 40 recupera esta región oscura
wrong_scale 14.738 5.305,68 1,000 Máscara correcta, conversión 44 % mayor
clipped 13.016 3.254,00 1,000 Coincide con la referencia dentro del cuadro, pero no con el objeto completo

La green_tag_roi fija comienza en (50,20), con 230 de ancho y 190 de alto en píxeles. Se eligió para evitar esta etiqueta sintética, no como una región de interés independiente del cultivo. El crecimiento más allá de la ROI excluiría píxeles objetivo genuinos.

Reducir el V mínimo no es una solución universal. Recupera el objetivo tenue aquí, pero puede admitir fondo verde oscuro en escenas reales. No ajuste los umbrales contra las respuestas de cada imagen ni reporte la exactitud solo sobre esas mismas imágenes.

Evalúe el área y la ubicación por separado

Para la predicción P y la referencia G, la intersección sobre la unión mide el solapamiento espacial:

IoU=\frac{|P\cap G|}{|P\cup G|}

Un número igual de píxeles adicionales y omitidos produce un error de área cero pese a ubicaciones incorrectas. Una referencia [0,1,1,0] y una predicción [1,1,0,0] contienen cada una dos píxeles seleccionados, pero su IoU es 1/3.

Las salidas también incluyen la precisión, la fracción correcta de píxeles seleccionados, y la exhaustividad (recall), la fracción recuperada de píxeles de referencia. mask_area_error_percent es el error de conteo de píxeles frente a la referencia, no un error físico por calibración de escala. Permanece en cero para wrong_scale. Las proporciones indefinidas, incluido el IoU de dos máscaras vacías, son null en JSON en lugar de una puntuación perfecta asumida.

touches_frame marca los píxeles seleccionados que tocan un borde de la imagen. Es verdadero para clipped. No detecta todo objeto incompleto: la segmentación podría omitir los píxeles del borde, o una ROI interna podría eliminar parte del objetivo. Inspeccione la imagen y la ROI incluso cuando la marca sea falsa.

Descargue y reproduzca

Descargue el ZIP completo, el código fuente en Python, los resultados esperados, el README y el manifiesto. El ZIP incluye entradas, referencias, máscaras extraídas y superposiciones de error, todo regenerable a partir de la misma fuente.

Entorno probado: Linux x86_64, Python 3.12.3, NumPy 1.26.4 y OpenCV 4.6.0. Las versiones de dependencias están fijadas para la reproducción, no como una certificación de otros sistemas operativos o versiones de Python.

Tras extraer el ZIP, ejecute:

python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python experiment.py --self-test
.venv/bin/python experiment.py --verify expected.json --out reproduced

En Windows, reemplace .venv/bin/python por .venv\Scripts\python.exe. El directorio de salida no debe existir; las salidas existentes no se sobrescriben. Se guardan el JSON de resultados y los archivos PNG de cada condición. Las salidas de referencia se incluyen en samples/.

Cambie el V mínimo con:

.venv/bin/python experiment.py --min-v 40 --out lower-v

Solo dim_lower_v usa siempre 40; las demás condiciones usan el valor suministrado. Los resultados modificados fallan intencionalmente la comparación con la línea base expected.json. No espere que la verificación de línea base pase tras cambiar el experimento.

Siete pruebas cubren un rectángulo conocido, máscaras de igual área/ubicación distinta, máscaras vacías, relaciones entre los siete casos, entradas inválidas, resultados esperados modificados y omisiones de ROI. La descarga original no tiene función de ingesta de fotografías reales; el adaptador del navegador está disponible más arriba.

Evalúe en plantas medidas antes de hacer afirmaciones biológicas

Lo siguiente es una propuesta de evaluación para la siguiente etapa, no un trabajo completado por este ejemplo sintético.

  1. Conserve los ID de planta, fechas, iluminación, geometría de cámara e imágenes originales.
  2. Defina la pertenencia del objetivo, incluido si tallos u hojas senescentes cuentan, y cree máscaras de referencia humanas.
  3. Separe las imágenes de desarrollo del umbral de las imágenes de evaluación. Considere divisiones por planta o fecha de adquisición en lugar de simplemente separar cuadros de video adyacentes.
  4. Reporte los errores por iluminación, fondo, solapamiento y recorte, conservando las métricas de área, el IoU y las superposiciones de error.
  5. Para estimar el área foliar real o la masa seca, recopile mediciones de referencia independientes correspondientes y valide ese mapeo como un modelo separado.

Los cambios de área proyectada en series temporales pueden deberse a la postura o al solapamiento. Producir una métrica de imagen no establece la tasa de crecimiento ni el estrés. Primero haga reproducible la observación, luego use datos de referencia para comprobar qué representa.

Zona radicular en ACE — separando CE, pH, oxígeno y balance de agua

Cuando baja el nivel de agua, ¿qué debe reponerse?

Una solución nutritiva baja de 100 L a 90 L. Esa observación por sí sola no puede distinguir evaporación, absorción de agua por la planta, fuga o drenaje. Tampoco establece la absorción de nutrientes. Restablecer el volumen y restablecer la composición de nutrientes son decisiones separadas.

Siguiendo la guía de ambiente lumínico, este artículo examina el entorno radicular. Introduce un sistema de solución recirculante; no es una receta de cultivo ni una implementación de dosificación automática. Todos los ejemplos numéricos son sintéticos.

La zona radicular es la región donde las raíces intercambian agua, nutrientes y gases con su entorno. Una lectura del depósito es útil, pero no necesariamente describe la superficie radicular, el extremo de un canal o el interior de un sustrato.

Mantenga distintas cinco mediciones

Medición Significado y unidades Qué no establece por sí sola
CE Conductividad eléctrica, por ejemplo mS/cm Concentraciones individuales de nitrato, potasio o calcio
pH Magnitud logarítmica relacionada con la actividad de iones de hidrógeno Ácido o base necesarios para alcanzar un pH objetivo
Oxígeno disuelto (OD) mg/L o porcentaje de saturación Tasa de entrega de oxígeno a la superficie radicular
Temperatura del agua °C en el punto de medición Temperatura del aire o la distribución completa de temperatura radicular
Volumen y caudal L y L/min, por ejemplo Absorción de nutrientes individuales

Esta es una tabla de planificación de mediciones. Las condiciones aceptables dependen del cultivo, la etapa de crecimiento y el sistema de producción.

La CE no puede reconstruir la composición

1 mS/cm = 1000 µS/cm = 1 dS/m. Registre las unidades. La conductividad también cambia con la temperatura del líquido: conserve la temperatura medida, los ajustes de compensación y la temperatura de referencia, y distinga las lecturas compensadas de las no compensadas.

La CE no revela concentraciones de sales individuales, como explica la guía de análisis de agua de riego de la Universidad Estatal de Oklahoma. Una sola lectura no puede distinguir el agotamiento de un nutriente de la acumulación de otro ion.

Una pantalla de “ppm” derivada de la CE tampoco es una medición de nutrientes individuales. Registre su factor de conversión y distíngalo de un resultado de concentración de laboratorio. Use el análisis del agua de origen y de la solución cuando se necesite la composición.

La guía de gestión de nutrientes de OSU identifica como relevantes las pruebas de agua de origen, la concentración de sales, el pH, la alcalinidad y las proporciones de nutrientes. Nuestra inferencia operativa es evitar tratar el retorno al punto de ajuste de CE como prueba de que se ha restablecido la formulación original.

Registre el pH y la alcalinidad por separado

El pH describe la acidez o basicidad actual. Debido a que es logarítmico, un promedio ponderado por volumen de dos lecturas de pH generalmente no da el pH de la solución mezclada. USGS: pH y agua

La alcalinidad mide la capacidad de neutralizar ácidos. Dos aguas con el mismo pH inicial pueden responder de manera distinta a la misma adición de ácido cuando su alcalinidad difiere. USGS: alcalinidad y agua

Una regla que siempre añade la misma dosis para un error de pH de 0,5 unidades confunde estas magnitudes. Para evaluar una intervención, registre el agua de origen, el volumen del depósito, la sustancia y la cantidad añadida, y el momento de la medición tras la mezcla. El balance de agua a continuación no puede calcular la dosis requerida.

El oxígeno necesita una vía de entrega

La solubilidad del oxígeno en equilibrio depende de la temperatura del agua, la presión atmosférica y la salinidad. USGS DOTABLES usa estas condiciones para calcular la solubilidad. A igual presión y salinidad, el agua más caliente generalmente retiene menos oxígeno disuelto en equilibrio. Verifique las condiciones de conversión al comparar mg/L y porcentaje de saturación.

Las raíces requieren oxígeno para la respiración. La guía de Cornell para hortalizas de hoja en hidroponía trata el suministro de oxígeno a las raíces y la temperatura del agua. Una lectura de OD del depósito aparentemente adecuada no establece las mismas condiciones dentro de una masa radicular densa. Registre la circulación, la aireación y la ubicación de muestreo, incluidas las diferencias entre la entrada y la salida del canal de cultivo.

Diagram 2 · Use the button to switch views
Sistema recirculante conceptual con entradas y pérdidas externas, circulación interna y observaciones separadas de depósito y zona radicular.

Para un límite que encierra todo el sistema, la circulación interna no es una entrada de agua externa. El diagrama no implica mezcla completa ni oxígeno uniforme.

Con un sustrato, la retención de agua y las vías de aire también importan. El OD del depósito por sí solo no establece la aireación del sustrato. No aplique directamente el cálculo de compartimento líquido único que sigue al interior de un sustrato.

Mantenga cuentas separadas de agua y solutos

Elija un límite que encierre todo el sistema recirculante, incluidos el depósito, las tuberías y los canales de cultivo. Durante un intervalo, sean las adiciones externas V_{in}, la descarga de líquido V_{out}, y la evaporación más el agua transferida a las plantas V_w, todo en L.

V_1=V_0+V_{in}-V_{out}-V_w

No añada la circulación interna de la bomba como agua de reposición. Un límite que abarque solo el depósito, en cambio, contabilizaría explícitamente sus flujos salientes y entrantes.

Para un soluto rastreado, la masa es M [mg] y la concentración es C=M/V [mg/L]:

M_1=M_0+M_{in}-M_{out}-U-R

U es la transferencia a las plantas; R es la remoción neta de la fase líquida, como la precipitación. La remoción del líquido no significa destrucción de materia. La descarga de líquido transporta tanto agua como soluto, a diferencia de la evaporación. Para una descarga continua, use M_{out}=\int C_{out}(t)Q_{out}(t)dt para tener en cuenta la concentración cambiante.

El siguiente ejemplo aritmético original verifica esta contabilidad. No es una tasa de absorción real de la planta, una receta de fertilizante ni una predicción de CE. Comience con 100 L que contienen 10 000 mg de un componente: 100 mg/L. Asuma que no hay adiciones ni precipitación.

Caso sintético Volumen final Masa final de soluto Concentración final
A: se pierden 10 L de agua; el soluto permanece 90 L 10.000 mg 111,11 mg/L
B: se transfieren 10 L de agua y 2000 mg a las plantas 90 L 8.000 mg 88,89 mg/L
C: se descargan 10 L de solución uniforme 90 L 9.000 mg 100,00 mg/L

La misma disminución de volumen puede acompañar una concentración creciente, decreciente o sin cambios. Añadir 10 L de agua sin el soluto rastreado restablece A a 100 mg/L, pero B solo alcanza 80 mg/L. Restablecer el volumen no restablece la masa de soluto.

Reproduzca la comparación en Python

Guarde lo siguiente como root_zone.py y ejecute python3 root_zone.py. Solo se necesita la biblioteca estándar de Python.

from math import isfinite


def concentration(volume_l, mass_mg):
    if not (isfinite(volume_l) and isfinite(mass_mg)):
        raise ValueError("finite values required")
    if volume_l <= 0 or mass_mg < 0:
        raise ValueError("positive volume and nonnegative mass required")
    return mass_mg / volume_l


initial_v, initial_m = 100.0, 10000.0
initial_c = concentration(initial_v, initial_m)
cases = {
    "A": (initial_v - 10, initial_m),
    "B": (initial_v - 10, initial_m - 2000),
    "C": (initial_v - 10, initial_m - 10 * initial_c),
}
for name, (volume, mass) in cases.items():
    print(f"{name}: {concentration(volume, mass):.2f} mg/L")
print(f"B + water: {concentration(cases['B'][0] + 10, cases['B'][1]):.2f} mg/L")

Las salidas son 111.11, 88.89, 100.00 y 80.00 mg/L. Cambie la remoción de 2000 mg en B a 1000 mg: tras la pérdida de volumen, la concentración se vuelve 100 mg/L. La absorción puede ocurrir incluso cuando la concentración no cambia. Un volumen cero y una masa restante negativa generan errores.

Este código no calcula CE, pH ni OD. Una contabilidad correcta para un componente no valida el equilibrio químico multicomponente ni la respuesta del cultivo.

Decida qué observar a continuación

Estas son combinaciones de observación propuestas, no reglas de dosificación automática.

Observación Verificaciones siguientes
La CE sube mientras el volumen baja Historial de reposición y descarga, temperatura del líquido y compensación, composición del agua y la solución
La CE es estable mientras cambia la condición de la planta Componentes individuales, OD y temperatura de la zona radicular, caudal, historial de luz y aire
El pH vuelve a cambiar tras el ajuste Momentos de mezcla y medición, alcalinidad del agua de origen, historial de adiciones
El OD del depósito y de la salida difieren Lecturas sincronizadas, estado del sensor, circulación, aireación y distribución de raíces

Asocie tiempo, ubicación, unidades y calibración con el volumen de agua, la reposición, la descarga y las adiciones. La ubicación detallada de sensores, la gestión de nutrientes individuales y el control de dosificación son pasos posteriores. La base aquí es distinguir una concentración observada de la masa que permanece en el sistema.

What to read next

Revisar los cambios que se pierden por el muestreo.Muestreo y aliasing: por qué un sondeo más rápido no es suficiente.Review the backgroundControl climático en ACE — temperatura, humedad, sensores, respuesta y acoplamientoContinue the seriesDosificación de nutrientes en ACE: contabilidad del tanque, calibración de bombas y control de estados