From the model conceptualization point of view, contamination sources imposed as a process variable (e.g. Initial Condition) differs from contamination sources assigned as Boundary Conditions (BCs).
In the first case, the contamination source is initially assigned with a concentration. As soon as the simulation starts the initial concentration at this location mitigates triggered by several possible processes (e.g. advection, dispersion, diffusion, reaction etc.). In contrast, if you represent the contamination source by means of BCs (e.g. type Dirichlet) you a priori impose the contamination source for the duration you take into account. For this duration you assume a continuous replenishment of the contamination.
Apart from that, deactivating the contamination source by switching the contamination concentration of the Dirichlet BC to 0 mg/l (fresh water) is critical, because you inevitably introduce a wrong contamination gradient. Instead of switching the value to freshwater, I suggest to assign a [b]modulation function[/b] on the Dirichlet-mass BC. The values of the time series used for the modulation function are multiplied with the values of the boundary condition at each time step of the simulation. This can mainly serve for two purposes:
[list]
[li]Turning the BC on and off by using gaps in the modulation function[/li]
[li]Modifying the value of a BC by multiplication, e.g., for calibration purposes, seasonal distribution, distribution of a total value onto a number of nodes, ...[/li]
[/list]
Modulation functions can be easily used to turn BCs on and off, and only one modulation function may turn on and off a large number of BCs with different values or different time series attached. As a multiplication with a 'NAN' (not a number) value used for gaps in time series also results in 'NAN', a gap in a modulation function leads to a deactivation of the BC within the corresponding time interval, just as a gap in the original time series applied to the BC would.