А как определяется уровень воды? Насосы включаются автоматически, то есть там должна быть какая-то система, с поплавком (как в унитазном бачке), или с трубками, или с электро-датчиками (погружен в воду - сопротивление меньше бесконечного, не погружен - цепь разомкнута). При включении насоса автоматически также должна быть система аварийного слива воды - если уровень поднимается выше, то надо не только перекрыть трубы - но и слить что-то куда-то, и желательно аккуратно, а не через край куда попало. А еще может быть накопительный бак с резервуаром давления. То есть не просто емкость, а герметически закрытая емкость с воздушным шариком. Больше воды - сильнее сжатие в шарике... У вас какой вариант?
Чаще используют гидростатические: трубка с герметичной мембраной, за мембраной либо пьезопреобразователь, или емкостной, или индуктивный, бывает и резистивный. Чем выше столб жикости, тем сильней прогибается мембрана. Но. Высота столба зависит и от геометрии бака. На нефтехранилищах хорошо известен эффект: когда закачиваешь нефть в резервуар, он приобретает форму конуса - т.е. диаметр дна становится чуть-чуть шире диаметра горла. В итоге алгоритм расчета объема жидкости, основанный на измерении уровня, всегда немного врет - приходится вводить поправки. Но это 1-2%, а тут целых 20%.
Выяснилось все, дело было в человеческом факторе. Часть воды регулярно тратилась на промывку насосов, но человек не счел нужным никого об этом уведомить. Так что задачу можно считать решенной
Мне - нискоко Я там не работаю, просто знакомый обрисовал ситуацию и попросил проанализировать и подумать, что может быть. Изначально было подозрение, что просто какая-то алгоритмическая ошибка. Или неправильно считается что-то, или не в нужные моменты показания снимаются, или счетчики криво подключены. И параллельно проводилось внутреннее расследование. А когда истинная причина выяснилась - то во мне необходимость отпала и думать уже незачем, дальше они сами разберутся со своими раздолбаями.