AI-мониторинг качества воды в аквакультуре
Качество воды — основополагающий параметр продуктивности и здоровья рыбы. Отклонения от оптимального диапазона по растворённому кислороду, pH, температуре или концентрации аммиака приводят к стрессу, замедлению роста и гибели поголовья. ML-система обеспечивает непрерывный мониторинг, раннее предупреждение и прогнозирование деградации качества воды.
Ключевые параметры качества воды
water_quality_parameters = {
# Критические (немедленное воздействие)
'dissolved_oxygen_mg_L': {'optimal': (7, 12), 'critical_low': 5, 'units': 'mg/L'},
'temperature_c': {'optimal': (8, 22), 'species': 'salmo_salar', 'units': '°C'},
'ammonia_unionized_mg_L': {'critical': 0.02, 'toxic': 0.05, 'units': 'mg/L NH3-N'},
# Важные (среднесрочное воздействие)
'ph': {'optimal': (6.5, 8.5), 'critical_low': 6.0, 'critical_high': 9.0},
'co2_mg_L': {'optimal': (0, 10), 'problematic': 20, 'units': 'mg/L'},
'salinity_ppt': {'optimal': (28, 35), 'species': 'atlantic_salmon'},
'turbidity_ntu': {'threshold': 50, 'units': 'NTU'},
# Мониторинговые
'nitrite_mg_L': {'critical': 0.1, 'units': 'mg/L NO2-N'},
'nitrate_mg_L': {'threshold': 100, 'units': 'mg/L NO3-N'},
'alkalinity_mg_L': {'optimal': (100, 200), 'units': 'mg/L CaCO3'}
}
Химические взаимосвязи:
- Токсичность аммиака зависит от pH и температуры: NH4⁺ ↔ NH3 — только NH3 токсичен
- CO₂ снижает pH: CO₂ + H₂O → H₂CO₃ → снижение аппетита, интерференция с O₂ транспортом
IoT-инфраструктура мониторинга
Мультипараметрический зонд:
water_sensor_config = {
# Оборудование: YSI, In-Situ, Hach, Aanderaa
'do_sensor': {'type': 'optical_luminescent', 'accuracy': '±0.1 mg/L'},
'ph_sensor': {'type': 'glass_electrode', 'calibration': 'weekly'},
'temperature': {'type': 'thermistor', 'accuracy': '±0.1°C'},
'conductivity_salinity': {'type': '4-electrode', 'accuracy': '±1 ppt'},
'turbidity': {'type': 'optical_back_scatter', 'units': 'NTU'},
'co2': {'type': 'membrane_electrode_or_IR', 'response_time': '60s'},
# Частота измерений
'sampling_interval': '5 minutes',
'transmission': 'MQTT over 4G/LoRaWAN'
}
Пространственное распределение: В большом садке (50-100м диаметр, 10-15м глубина) параметры неоднородны. Стратегия размещения:
- Поверхностный зонд: DO, температура, pH
- Средний горизонт (5м): основная зона обитания рыбы
- Придонный (10м): O₂ дефицит, аккумуляция отходов
ML-прогнозирование качества воды
Прогноз DO на 2-6 часов:
import pandas as pd
from sklearn.ensemble import GradientBoostingRegressor
def build_do_forecast_model(historical_data, forecast_horizon_hours=4):
"""
Прогноз DO: важен для профилактического аэрирования
Ночное снижение: фотосинтез останавливается, дыхание продолжается
"""
features = {
'do_lag_1h': historical_data['do'].shift(1),
'do_lag_2h': historical_data['do'].shift(2),
'do_trend_3h': historical_data['do'].diff(3),
'temperature': historical_data['temperature'],
'hour_sin': np.sin(2 * np.pi * historical_data.index.hour / 24),
'hour_cos': np.cos(2 * np.pi * historical_data.index.hour / 24),
'feeding_load': historical_data['feed_kg_last_2h'], # потребление O₂ после кормления
'biomass_density': historical_data['estimated_biomass'] / cage_volume,
'water_inflow_rate': historical_data['inlet_flow_m3h'],
'cloud_cover': weather_forecast['cloud_cover'] # облачность → меньше фотосинтеза
}
return GradientBoostingRegressor().fit(features, historical_data['do'].shift(-forecast_horizon_hours))
Прогноз pH и CO₂: После кормления → активное дыхание рыбы → рост CO₂ → снижение pH. LSTM на окне 2-4 часа предсказывает пиковые значения для включения аэрации заблаговременно.
Algal Bloom Prediction: Пресноводные и морские хозяйства уязвимы для цветения водорослей:
bloom_risk_features = {
'temperature_trend_7d': temp_7day_trend,
'nutrient_load': estimated_nitrogen_phosphorus, # из кормления и метаболизма
'light_intensity': solar_radiation_daily,
'wind_speed': wind_mixing_effect,
'chlorophyll_a': satellite_or_inline_sensor, # ранний признак
'historical_bloom_dates': bloom_seasonality_factor
}
algal_bloom_risk = random_forest_bloom.predict_proba([bloom_risk_features])[0][1]
При высоком риске → превентивные меры: усиление обменного тока воды, профилактическое снижение кормления.
Автоматизированный контроль качества
Управление аэрацией:
def aeration_control_loop(current_do, predicted_do_2h, biomass_kg, max_stocking_density):
"""
Пропорциональный контроль: включение аэратора при падении DO
Упреждающее управление: включение ДО падения на основе прогноза
"""
critical_threshold = 5.0 # mg/L
if current_do < critical_threshold:
# Экстренное: полная мощность аэрации
return 'max_aeration', 'emergency'
elif predicted_do_2h < critical_threshold + 1.0:
# Профилактическое: частичная аэрация
aeration_power = (critical_threshold + 2.0 - predicted_do_2h) / 3.0
return f'{aeration_power*100:.0f}%', 'preventive'
return 'off', 'normal'
Управление водообменом: В RAS (Recirculating Aquaculture Systems): прогноз накопления аммиака → регулировка скорости биофильтрации и водообмена.
def predict_ammonia_accumulation(feeding_rate_kg, fish_biomass_kg, water_volume_m3,
biofiltration_rate, water_exchange_rate):
"""
Аммиак = 3% от потреблённого белка
Protein_consumed = feed × protein_content × digestibility
NH3_production = protein × 0.16 (N content) × degradation_factor
"""
protein_consumed = feeding_rate_kg * 0.45 * 0.85 # 45% белок, 85% усвояемость
nh3_production = protein_consumed * 0.16 * 3.0 # г N/час
nh3_removal = (biofiltration_rate + water_exchange_rate) * current_nh3_concentration
delta_nh3 = (nh3_production - nh3_removal) / water_volume_m3 # мг/л/час
return delta_nh3
Интеграция и данные
Remote Monitoring Platform: AquaCloud, Aquabyte, Pentair Intellivibe — облачные платформы со стандартными API. Кастомная ML-модель: интеграция через API или self-hosted.
Satellites для открытых хозяйств:
- Sentinel-2, Planet Labs: хлорофилл-а, мутность, цветение водорослей для открытых морских хозяйств
- Частота: 5-10 дней для конкретного участка
Дашборд:
- Онлайн статус всех параметров по каждому садку
- Trend charts за 7/30 дней
- Алерты с приоритетами (критический/предупредительный/информационный)
- Прогноз качества на 6/12/24 часа
Сроки: мультисенсорный коннектор, базовые алерты, DO прогноз — 3-4 недели. Algal bloom prediction, аммиак-прогноз, автоматическое управление аэрацией, интеграция с FMS — 2-3 месяца.







