Apariencia
0042. Guía de alimentación: unidades del factor de la curva (kg = c/m² × ha × factor)
Estado
Aceptada
Contexto
El socio entregó Guia de campo ab LA.xlsx (hoja "Guia de campo ab.") con la tabla de alimentación teórica que la tarea 04-alimentacion-flow.md marcaba como pendiente. La hoja "Hoja2 — Factores de Alimentacion" tiene 4 curvas (teórica Verano/Invierno + reales Balao 2024 V/I) con un punto por peso de camarón (1–42 g), bajo el encabezado "KG/100 MIL - V" / "KG/100 MIL - I".
Esa etiqueta sugiere "kg por cada 100 mil animales", pero la fórmula real de la celda F (kg sugeridos) del Excel es:
F = VLOOKUP(peso, tabla, 3, TRUE) × cantidad_viva_por_m² × hectáreasEs decir, el factor se multiplica directo por c/m² × ha — no por (cantidad_sembrada / 100000) × ha como diría el nombre de la columna. Verificado contra la fila real de la piscina 1 del Excel (c/m² 24.2, ha 12.09, peso 15.22 g → factor 6.5): el resultado 24.2 × 12.09 × 6.5 = 1901.757 coincide exactamente con el valor de la celda F3, mientras que la lectura literal del nombre ("cada 100 mil") habría dado un valor ~10× menor.
Decisión
Se adopta la semántica de la fórmula, no la del nombre de columna: el factor de una curva se define y usa como
kgSugeridos = factor(peso) × cM2 × hectareas(equivalente a "kg por cada 10 000 animales/ha", no por cada 100 mil). Esto se implementó en feeding-guide.calc.ts (computeGuide) y se verificó con un test de regresión (feeding-guide.calc.spec.ts, feeding-guide.e2e-spec.ts) que reproduce la fila real del Excel. El seed de curvas (feeding-curves.constants.ts / prisma/seed.ts) conserva los valores de factor tal cual están en el Excel — no se reescalan.
La UI (admin) mantiene la etiqueta que usa el socio ("factor", sin más aclaración) para no introducir un término nuevo que él no reconozca; esta ADR es la referencia técnica de qué significa el número.
Consecuencias
- Cualquier curva nueva que se cargue a mano (vía "Gestionar curvas") debe seguir esta misma convención: el factor multiplica directo por
cM2 × ha, no por una densidad normalizada a 100 mil. Si en el futuro el socio entrega una tabla en otra unidad, hay que reescalar sus valores antes de cargarlos (o versionar explícitamente la unidad por curva — no se modeló esa flexibilidad, se asumió una única convención para todas). - El test de regresión contra el Excel real es la salvaguarda: un cambio que reintroduzca la lectura "cada 100 mil" fallaría inmediatamente contra el valor esperado (1901.757).
Referencias
- Tarea
alimentacion-teorica(2026-07-16). camaroneras_backend/src/modules/alimentacion/feeding-guide/feeding-guide.calc.ts.camaroneras_docs/modulos/04-alimentacion-flow.md.camaroneras_docs/referencia/guia-campo-ab.md(fórmulas completas de la guía).