r.watershed with MFD
I open a new ticket for easier tracking of all the bug reports to come...
With the attached patch I want to submit the last (for the time being) modifications to r.watershed. This patch fixes a bug in flag initialization, also present in the original (pre-MFD and pre-faster-search) version. Further on, streams and basins are now reasonably well (IMO) determined for MFD.
Flow accumulation with SFD (single flow direction) is unchanged apart from flow accumulation output now being DCELL instead of CELL.
Flow accumulation with MFD (multiple flow direction) is supported and enabled by default to keep the user interface similar to r.terraflow.
For easy DEMs, e.g. <elevation> in the North Carolina dataset, the results are similar. Differences emerge where MFD kicks in and the flow diverges. Generally, more smaller basins are created with MFD than with SFD keeping the same basin threshold, because diverging flow leads to more cells with flow accumulation above the given threshold.
For difficult DEMs, e.g. <elev_lid972_1m> in the North Carolina dataset, the results are very different. MFD output seems to be more realistic. Here, more smaller basins with unnaturally straight borders are created with SFD. Basins created with MFD seem more realistic and have naturally looking borders, some small basins are created, but no sliver basins like in SFD. Stream segments describe the center of broad streams pretty well, without branching off inside a broad stream.
The results are not perfect, but usable, I think. These are my personal assessments and other people, you, should have a close look at the MFD results and please report any bugs.
Have fun playing around with the convergence factor!