This PR addresses two issues with _d8_flowdir_numba.
The returned flowdir array was incorrect for nonzero values of nodata_out. The loops start with pixel at index (1, 1), which means there was always a border of zeros in the returned array. This is solved by simply initializing the array to the nodata_out value at the beginning before filling the array.
Nodata cells were improperly considered when they were adjacent to a valid cell. The solution is the skip any cell neighbors that are also nodata cells. This prevents the possibility of flow being incorrectly routed because of the nodata value.
This PR addresses two issues with
_d8_flowdir_numba
.