Maybe this would be another possible solution:
Source and description is here: http://vterrain.org/Water/