Large conduit seepage rates can generate a high continuity error and potentially create a situation where total seepage is greater than the total inflow volume. SWMM5.1.007 does have a check to ensure total losses are less than the available conduit storage, but it doesn’t seem to trigger.
In conduit_getLossRate() in link.c:
// --- total loss rate cannot exceed volume stored in conduit
if ( totalLossRate > 0.0 )
{
maxLossRate = 0.5 * (Link[j].oldVolume + Link[j].newVolume) / tStep;
if ( totalLossRate > maxLossRate )
{
evapLossRate = evapLossRate * maxLossRate / totalLossRate;
seepLossRate = seepLossRate * maxLossRate / totalLossRate;
totalLossRate = maxLossRate;
}
Relatedly, when a conduit is dry, SWMM5 adds a minimum depth of 0.0001 ft. As a result, if conduit seepage is non-zero, this minimum depth could be contributing to seepage at every routing time step, resulting in a non-trivial contribution to continuity error (a 5 s time step would contribute 0.86 in/hr to seepage).