Applied insecticide mass decays in the soil by first-order kinetics and a fraction is mobilised into the stream by rain-driven runoff:
dM_soil/dt = -k·M_soil - r(t)·M_soil
k = ln(2) / t½ (degradation rate)
r(t) = runoff coefficient × rainfall intensity
Stream concentration mixes the runoff load into a fixed water volume and, if the treatment wetland/GAC filter is switched on, removes a further fixed fraction each pass (activated-carbon adsorption is modelled as first-order removal too):
C_stream = M_runoff / V_stream
C_treated = C_stream · (1 − η_GAC), η_GAC ≈ 0.85
Bioaccumulation up the food chain uses a steady-state bioconcentration factor (BCF) — the ratio of tissue concentration to ambient water concentration at equilibrium, tracking toward it with a simple uptake/depuration lag per trophic level:
dC_organism/dt = k_uptake·(BCF·C_water − C_organism)
- Compound class — sets the degradation half-life and soil binding (Koc), matching neonicotinoids (persistent, water-soluble), pyrethroids (short-lived, strongly soil-bound) and organophosphates (intermediate).
- Application rate — total mass deposited on the field at t=0 of each application.
- Rainfall intensity — drives the runoff coefficient that moves soil-bound insecticide into the stream.
- Treatment toggle — simulates a granular-activated-carbon (GAC) filter or constructed wetland removing a fixed fraction of the stream load before it reaches downstream biota.
Real-world relevance: this is the same fate-and-transport logic environmental agencies use (via models like PRZM/EXAMS) to set buffer-strip widths, justify GAC upgrades at drinking-water plants, and explain why persistent, water-soluble compounds like neonicotinoids show up far downstream while soil-bound pyrethroids mostly stay local.