Hello SWAT+ Group members,
I would like to ask for confirmation regarding the structural capability of SWAT+ to handle time-varying external loads at the channel level, specifically for nonpoint source (NPS) phosphorus (TP).
BackgroundIn my study, I am working with already-estimated nonpoint source TP loads at the administrative level (읍·면·동), based on official total maximum load (TMDL) data.
Because these loads are already defined, my intention is:
NOT to re-calculate TP generation using HRU management (fertilizer, manure, soil P cycling),
but to use SWAT+ only for routing, attenuation, and storage processes after generation.
Using the Korean TMDL technical guideline, I applied a rainfall delivery ratio concept to split annual TP loads into:
baseflow (constant daily load), and
rainfall-driven load (applied only on rainy days).
This resulted in subbasin-level daily TP loads (kg/day) that vary by day, with higher values on rainfall days and near-zero values on dry days.
My original plan was:
Allocate administrative-level TP loads to HRUs by area,
Aggregate HRU loads to subbasin level,
Input the resulting daily TP loads (kg/day) as external loads to the corresponding channels, and
Let SWAT+ simulate downstream routing and attenuation.
After inspecting the SWAT+ SQLite database structure, I found that channel external loads are defined through:
dr_path_del
dr_path_val
These tables define one constant value per path, and do not include any time dimension (no year, day, or timestep fields).
As a result, it appears that:
Channel external loads are applied as constant daily values over the entire simulation period, and
Daily time-varying external loads (e.g., rainfall-only NPS loads) cannot be represented at the channel level using this structure.
This limitation seems to persist even if the loads are defined at the subbasin scale and routed through channels.
Could you please confirm whether the following understanding is correct?
In SWAT+, time-varying (daily) external nutrient loads cannot be applied at the channel level using the dr_path_del / dr_path_val structure, and channel external loads are inherently constant over time unless nutrients are generated internally at the HRU level.
If there is any supported method (e.g., alternative routing structures, time-series external paths, or project settings) that allows daily varying channel external loads for nonpoint sources, I would greatly appreciate any guidance or references.
Thank you very much for your time and help.