Pesticides
Overview¶
SWAT+ tracks a configurable set of pesticides as constituents. Each pesticide is described by sorption, solubility, half-lives, and (optionally) one or more daughter products. Applications are scheduled by the management table and split between the canopy and the top two soil layers. Once in the system the pesticide decays exponentially on foliage and in the soil, washes off the canopy in rain, leaches with percolation, partitions to runoff water and sediment, and may be taken up by plants. Daughter products are accumulated as the parent decays.
Process equations¶
Application¶
Per application, ground cover is
clamped to [0, 1]. Of the applied mass pest_kg:
gc * pest_kggoes to plant foliage, partitioned among plants in proportion to their LAI(1 - gc) * surf_frac * pest_kggoes to soil layer 1(1 - gc) * (1 - surf_frac) * pest_kggoes to soil layer 2
surf_frac is the surface application fraction read from chem_app.ops. Source: pest_apply.f90.
Decay¶
First-order decay in soil and on foliage:
The decay coefficients pestcp(k)%decay_s and pestcp(k)%decay_f are pre-computed once from soil_hlife and foliar_hlife in pesticide.pst. Daughter pesticides accumulate decayed mass scaled by the molecular weight ratio:
Source: pest_decay.f90.
Foliar washoff¶
Each rain day, a fraction washoff of the pesticide on each plant's foliage is washed to soil layer 1:
washoff is per pesticide in pesticide.pst. Source: pest_washp.f90.
Soil partitioning¶
In each layer, the pesticide is split between adsorbed and dissolved phases using a Kd partition computed from soil organic carbon:
koc is the organic-carbon-normalised partition coefficient. zdb1 is the effective partitioning depth in mm. The dissolved concentration available for transport is
where vf is total flow through the layer (prk + flat, plus surfq in layer 1 and qtile in the tile layer). Source: pest_lch.f90.
Surface runoff, lateral flow, tile flow, percolation¶
Surface runoff carries
Lateral and tile flow use co directly (layer 1 lateral uses csurf). Percolation moves co * prk to the next layer or out of the profile at the bottom layer. percop is the basin percolation coefficient (parameters.bsn, default 0.5). Source: pest_lch.f90.
Sediment-attached transport¶
For the top layer, sediment-attached pesticide is
The enrichment ratio er is either the channel-specific erorgn or the CREAMS-derived value from pest_enrsb.f90. Source: pest_pesty.f90.
Plant uptake¶
Daily uptake from each layer is proportional to water uptake by the plant:
pl_uptake is the per-pesticide fraction in pesticide.pst. Pesticide on the plant is removed in harvest in proportion to the harvested biomass fraction. Source: pest_pl_up.f90, mgt_harvgrain.f90.
In-channel and in-aquifer¶
Channel pesticide reactions use aquatic and benthic half-lives, settling and resuspension velocities, burial, volatilisation, and benthic decay. Source: ch_rtpest.f90, ch_pesticide_module.f90, aqu_pesticide_module.f90, pest_cha_res_read.f90.
Switches and parameters¶
| File | Field | Default | Effect |
|---|---|---|---|
parameters.bsn |
percop |
0.5 | Pesticide percolation coefficient (0-1). 0 = no pesticide in surface runoff |
pesticide.pst |
koc |
per pest | Organic-carbon-normalised partition (mL/g) |
pesticide.pst |
washoff |
per pest | Fraction washed from foliage per rain day |
pesticide.pst |
foliar_hlife |
per pest | Foliar half-life (days) |
pesticide.pst |
soil_hlife |
per pest | Soil half-life (days) |
pesticide.pst |
aq_hlife, ben_hlife |
per pest | Aquatic and benthic half-lives (days) |
pesticide.pst |
solub |
per pest | Water solubility (mg/L) |
pesticide.pst |
pl_uptake |
per pest | Fraction taken up by plant |
pesticide.pst |
aq_volat, aq_resus, aq_settle, ben_bury |
per pest | Channel kinetics |
chem_app.ops |
surf_frac |
per op | Surface application fraction (rest to layer 2) |
pest_hru_aqu.ini |
initial mass | per HRU | Initial pesticide mass per HRU and layer |
Implementation¶
Land phase: pest_apply.f90, pest_decay.f90, pest_washp.f90, pest_lch.f90, pest_pesty.f90, pest_pl_up.f90, pest_enrsb.f90, pest_soil_tot.f90.
Inputs: pest_parm_read.f90, pest_hru_aqu_read.f90, pest_metabolite_read.f90, pesticide_data_module.f90.
Constituent driver: constituent_mass_module.f90, cs_db%num_pests controls activation.
HRU output: hru_pesticide_output.f90.
Channel and aquifer: ch_rtpest.f90, ch_pesticide_module.f90, aqu_pesticide_module.f90, aqu_pest_output_init.f90, aqu_pesticide_output.f90, pest_cha_res_read.f90, cha_pesticide_output.f90.
The driver in hru_control.f90 calls (in order) pest_apply (via management), then daily: pest_washp, pest_decay, pest_lch, pest_pesty, pest_pl_up.