We (HR Wallingford) have been working on an English translation of the TELEMAC source source code, which will hopefully be made available soon.
In the meantime, I had a look at the DIFSOU subroutine, and even keeping to the French version the comments are misleading.
The key part is the comment before the example that Christophe refers to:
C EXAMPLE WHERE WE ADD -0.0001 T IN THE RIGHT HAND-SIDE
C OF THE TRACER EQUATION THAT BEGINS WITH dT/dt=...
C (T12=SMI WILL BE DIVIDED BY HPROP IN CVDFTR, THE EQUATION IS:
C dT/dt=...+SMI*T(N+1)/H
What's misleading is the use of SMI here. This stands for (I think) "Second Member Implicit", but means the implicit part of the RHS of the tracer equation. In fact, the RHS is really SMI*T/H, where T is evaluated at the next timestep (hence 'implicit'). To add to the confusion, SMI is passed to DIFSOU, but with the name TIMP.
To define a global source(/decay) term, you need to modify TIMP, as is done in the example commented out in the DIFSOU code. Remember that whatever you put in TIMP will be multiplied by T and divided by H to give the actual source term in the tracer equation.
I hope that makes sense. I'm happy to try to explain it again in a different way if not.