Rolf;
You have handled the weir instability correctly. I have heard of others who had some success with reduced time steps but that never worked for me, if 1 sec didn't help going to 0.1 sec wouldn't solve it either.
One trick I have often had limited success with is massaging the slope of the pipe runs - just minor slope adjustments generally to a straight line slope for the entire run. This sometime solves instabilities which don't occur until the step into surcharge which doesn't seem logical but it works. Probably because it impacts the timing of the number of nodes stepping into surcharge simultaneously. The problem with this trick is that it is fragile - a small change in the model will cause new instability.
The reason that weirs are unstable is because they transfer flow according to the head raised to the exponent 1.5 while the pipes delivering or accepting the flow have capacity according to the square root of the head. Thus weirs transfer much more water in a time step than can be delivered or accepted by adjoining pipes. This causes water levels to fluctuate. Thus your tank trick dampens down the fluctuations and restores stability. If the damper volume is not large then accuracy should be acceptable. In an old version of SWMM I coded weirs to have a maximum flow within a certain percent of the incoming pipe which was very stable but not available in the new versions. Also only works for single connecting pipe.
Another option that works only if the weir doesn't experience any backwater is to manually compute a rating curve for the weir and enter it as a Type 4 pump. I used this twice and once it was perfectly stable and the other time it was unstable - the stable simulation had a large trunk pipe connecting to it and perhaps the storage helped.
I haven't tried this but - orifices have a damper built in called ORATE which allows the user to set the time from closed to open. Perhaps you could try a rectangular orifice and experiment with ORATE. Here you must have a rating curve to compare results and ensure accuracy.
Reinhard Sprenger
rsprenger@UMAGROUP.COM
Winnipeg, Manitoba
Canada