Automated Flow Control Logic
Rather than assuming constant, static water deliveries, IAMDD models farms and municipalities as perfectly managed, automated systems. Once the simulation begins, the overarching Python engine continuously evaluates every area's Soil Water Balance (swb) and available hydraulic pressure to make hour-by-hour operational decisions.
1. Basic Moisture Triggers
The engine relies on three dynamically calculated soil thresholds to dictate the core watering cycle:
- Turn-On Threshold: The delivery node is triggered to open exactly when the crop depletes its root zone to the Management Allowable Depletion limit (
turn_on = FC - RAW). - Turn-Off Threshold: Once triggered, the delivery node remains open (injecting the hardware's specific target flow rate into the system) until the soil profile is completely refilled back to Field Capacity (
turn_off = FC). - Severe Stress Warning: If the hydraulic infrastructure fails to deliver enough water and the
swbdrops to within 10% of the Permanent Wilting Point (turn_urgent), the engine flags the area in red to indicate critical crop stress.
2. Hardware and Pressure Constraints
The engine does not blindly deliver water just because a crop is thirsty. It must verify that the hydraulic network is physically capable of supporting the irrigation hardware.
- Required Operating Pressure: Every irrigation method (e.g., Center Pivots, Drip Tape) has a minimum required pressure threshold. Before the engine allows an area to turn on, it checks the static pressure at the delivery node. If the pressure is too low, the irrigation cycle is denied.
- Pressure Collapse Shut-Off: If a field is currently irrigating, but a sudden system event (like a pump failure or another large field turning on) causes the local pressure to drop below the hardware's minimum requirement, the engine immediately abandons the run and forces the field to turn off.
3. Operational Deadbands (Anti-Short-Cycling)
In the real world, farmers do not turn a massive center pivot on for 15 minutes, turn it off, and then turn it back on an hour later. They run deep, sustained watering cycles.
To mimic realistic operations, IAMDD employs a strict Automation Deadband (defaulting to 72 hours).
- Whenever a field finishes an irrigation cycle (or is forced off due to a pressure collapse), the engine logs the
last_off_time. - The field is subsequently "locked out" for the duration of the deadband. Even if extreme heat causes the soil moisture to crash back down to the Turn-On Threshold the very next day, the engine will stubbornly refuse to restart the system until the 72-hour lockout period expires.
4. Daylight Restrictions (Municipal)
For municipal areas, users can enable global "Daylight Irrigation Restrictions". When activated, the engine intercepts the hourly loop and forcefully suppresses any residential lawn watering demands between the hours of 8:00 AM and 8:00 PM.
Any evapotranspiration debt accumulated during the day is deferred and delivered exclusively during the nighttime hours, allowing engineers to simulate the hydraulic benefits of municipal conservation policies.