I am interested to know why ‘Flow Direction Raster’, derived from ‘Filled DEM’, generates values ranges from 1-128, with pixel depth of 8 bit unsigned integer which is readily capable to store values 0-255, As such, in the Tool’s Help, it is clearly stated that “the output of the Flow Direction tool is an integer raster whose values range from 1 to 255”. My ‘filled DEM’ carries 16bit signed integer pixel depth already, which has capacity to store values range from -32768 to 32767!
There are eight valid output directions relating to the eight adjacent cells into which flow could travel. This approach is commonly referred to as an eight-direction (D8) flow model, the direction coding is shown:
If the water will flow to the cell immediately to the right, it will be assigned a code of 1, if it flows to the top right cell then the code assigned is 128 as so on.
I believe there is one paragraph in the Tool Help stating that when there are many flow directions for a single cell, it would calculate its flow direction as the sum of all the codes for the direction (i.e, 1,2,4,8,16,32,64,128). Hence, the actual output range of 1 to 255.
Note that 255 is the sum of all the direction codes. You can also get the other possible output values by summing different combinations (combinations composed of 1,2,3,4,5,6,7 values) of the direction codes.